{"version":3,"file":"chat.js","names":["define","_exports","_rest","Object","defineProperty","value","default","ChatMessage","pathFor","store","type","findArgs","targetMessageId","channelId","path","pageSize","messageId","direction","apiNameFor","resource","map","this","route","_component","_tracking","_helper","_object","_didInsert","_routing","_runloop","_service","_truthHelpers","_emptyState","_filterInput","_debounce","_environment","_discourseI18n","_list","_newMessage","_chatChannelCard","_component2","_templateFactory","ARCHIVED","TABS","BrowseChannels","static","dt7948","g","prototype","service","chatApi","i","modal","siteSettings","tracked","filter","currentTab","args","channelsCollection","channels","status","n","cached","tabs","chat_allow_archiving_channels","removeObject","showChatNewMessageModal","show","action","setFilter","event","target","debouncedLoad","INPUT_DELAY","load","limit","focusFilterInput","input","schedule","focus","setComponentTemplate","createTemplateFactory","id","block","moduleName","scope","concat","LinkTo","eq","i18n","hash","isStrictMode","_template","_dIcon","_chatUserAvatar","ChatChannelIcon","firstUser","channel","chatable","users","groupDirectMessage","isDirectMessageChannel","group","channelColorStyle","htmlSafe","color","isThreadsList","thread","_pluginOutlet","_userStatusMessage","_lazyHash","_replaceEmoji","_chatChannelUnreadIndicator","ChatChannelName","currentUser","unreadIndicator","prefersName","enable_names","display_name_on_posts","prioritize_username_in_ux","directMessageTitle","length","name","username","user","join","mapBy","showUserStatus","channelTitle","title","showPluginOutlet","get","_concatClass","_channelIcon","_channelName","_templateOnly","ChatChannelTitle","undefined","_modifier","_dButton","_chatChannelRow","_chatZero","ChannelsListDirect","chat","chatChannelsManager","chatStateManager","site","inSidebar","createDirectMessageChannelLabel","canCreateDirectMessageChannel","showDirectMessageChannels","directMessageChannelsEmpty","userCanDirectMessage","directMessageChannels","toggleChannelSection","section","toggleSection","openNewMessageModal","and","or","not","on","fn","ChannelsListPublic","chatTrackingStateManager","router","hasUnreadThreads","hasThreadedChannels","channelList","publicMessageChannelsByActivity","openBrowseChannels","transitionTo","_channelsListDirect","_channelsListPublic","ChannelsList","_utils","_ajaxError","_getUrl","ChatChannelArchiveStatus","shouldRender","admin","isPresent","archive","channelArchiveFailedMessage","translationKey","topicId","completed","messages","total","totalMessages","topic_url","topicUrl","channelArchiveCompletedMessage","retryArchive","createChannelArchive","catch","popupAjaxError","_borderColor","_toggleChannelMembershipButton","ChatChannelCard","gt","_comboBoxHeader","_channelTitle","ChatChannelChooserHeader","_selectKitRow","ChatChannelChooserRow","c","classNames","_comboBox","_selectKit","_chatChannelChooserHeader","_chatChannelChooserRow","ChatChannelChooser","modifyComponentForRow","pluginApiIdentifiers","selectKitOptions","headerComponent","ChatChannelLeaveBtn","desktopView","leaveChatTitleKey","ChatChannelMetadata","lastMessageFormattedDate","createdAt","lastMessage","lastMessageDate","showThreadUnreadDate","lastUnreadThreadDate","moment","calendar","sameDay","lastDay","lastWeek","sameElse","ChatChannelPreviewCard","showJoinButton","isOpen","canJoin","hasDescription","isEmpty","description","_willDestroy","_emberModifier","_decorators","_chatChannelMetadata","ChatChannelRow","api","capabilities","isAtThreshold","shouldRemoveChannel","showRemoveButton","swipableRow","shouldReset","diff","rowStyle","canSwipe","registerSwipableRow","modifier","element","onReset","handler","addEventListener","once","removeEventListener","onRemoveChannel","unfollowChannel","classList","add","handleSwipe","onSwipeStart","passive","onSwipe","onSwipeEnd","_initialX","changedTouches","screenX","bind","threshold","window","innerWidth","touchX","shouldHandleSwipe","touch","leaveDirectMessageLabel","leaveChannelLabel","channelHasUnread","tracking","unreadCount","unreadThreadsCountSinceLastViewed","shouldRenderLastMessage","mobileView","firstDirectMessageUser","firstObject","startTrackingStatus","statusManager","trackStatus","stopTrackingStatus","_chatChannel","_chatChannelArchiveStatus","ChatChannelStatus","LONG_FORMAT","SHORT_FORMAT","VALID_FORMATS","format","includes","channelStatusIcon","CHANNEL_STATUSES","open","channelStatusMessage","longStatusMessage","shortStatusMessage","archived","closed","readOnly","OldChatChannelTitle","ChatChannelUnreadIndicator","showUnreadIndicator","mentionCount","publicUrgentCount","watchedThreadsUnreadCount","directUrgentCount","urgentCount","isUrgent","urgentBadgeCount","totalCount","_owner","_didUpdate","_url","_userPresence","_chatChannelStatus","_firstVisibleMessageId","_chatChannelSubscriptionManager","_chatConstants","_chatMessagesLoader","_checkMessageVisibility","_datesSeparatorsPositioner","_extractCurrentTopicInfo","_scrollHelpers","_chatMessage","_chatIosHacks","_channel","_scrollToBottomArrow","_selectionManager","_chatChannelPreviewCard","_chatMentionWarnings","_chatMessage2","_chatMessagesContainer","_chatMessagesScroller","_chatNotices","_chatSkeleton","_chatUploadDropZone","ChatChannel","appEvents","chatDraftsManager","chatChannelScrollPositions","composer","pane","dialog","messageBus","sending","showChatQuoteSuccess","includeHeader","needsArrow","atBottom","uploadDropZone","isScrolling","scroller","_mentionWarningsSeen","_unreachableGroupMentions","_overMembersLimitGroupMentions","messagesLoader","getOwner","messagesManager","currentUserMembership","hasSavedScrollPosition","registerScroller","teardown","document","_autoFocus","cancelHandlers","removeOnPresenceChange","onPresenceChangeCallback","subscriptionManager","updateLastReadMessage","didResizePane","debounceFillPaneAttempt","debouncedUpdateLastReadMessage","apply","setup","onPresenceChange","callback","clear","isFollowing","follow","draft","createDraftMessage","loadMessages","updateLastViewedAt","onNewMessage","debounceHighlightOrFetchMessage","fetchMessages","fetch_from_last_read","message","canLoadMoreFuture","stackingContextFix","addMessages","present","arguments","loading","result","processMessages","target_message_id","scrollToMessageId","highlight","position","lastReadMessageId","target_date","meta","_ignoreNextScroll","scrollToBottom","fetchMoreMessages","_ref","opts","loadMore","lastObject","FUTURE","noScroll","forceAuto","scrollListToBottom","options","findMessage","scrollListToMessage","_debouncedFillPaneAttemptHandler","fillPaneAttempt","fetchMessagesByDate","date","findFirstMessageOfDay","Date","firstOfResults","canLoadMorePast","highlightOrFetchMessage","fetchedOnce","firstMessageId","messageContainer","querySelector","checkMessageTopVisibility","PAST","foundFirstNew","newestMessage","forEach","messageData","index","ignored_users","hidden","requestedTargetMessageId","expanded","deleted_at","create","manager","preloadThreadTrackingState","thread_tracking","push","_debouncedHighlightOrFetchMessageHandler","assign","autoExpand","behavior","isIOS","_debouncedUpdateLastReadMessageHandler","READ_INTERVAL_MS","firstFullyVisibleMessageId","firstMessage","lastReadId","markChannelAsRead","scrollToLatestMessage","onScroll","state","next","flushIgnoreNextScroll","distanceToBottom","pixels","atTop","up","distanceToTop","percentage","onScrollEnd","delete","set","firstVisibleId","onSendMessage","chat_maximum_message_length","alert","count","cook","editing","sendEditMessage","sendNewMessage","resetComposerMessage","resetDraft","data","upload_ids","uploads","upload","async","editMessage","e","stageMessage","sendMessage","in_reply_to_id","inReplyTo","staged_id","extractCurrentTopicInfo","error","_onSendError","stagedMessage","findStagedMessage","jqXHR","responseJSON","errors","cooked","markNetworkAsUnreliable","resendStagedMessage","then","markNetworkAsReliable","finally","onCloseFullScreen","prefersDrawer","routeTo","lastKnownAppURL","lastKnownChatURL","isDrawerActive","key","metaKey","ctrlKey","code","test","tagName","closest","preventDefault","addText","cancel","threadTracking","unread_count","mention_count","watched_threads_unread_count","prev","_dMenu","ChatComposerDropdown","onButtonClick","button","closeFn","doubleClick","uploadButton","buttons","disabled","array","ChatComposerMessageDetails","_uploads","ChatComposerUpload","isImage","original_filename","fileName","isDone","_pickFilesButton","_object2","_uppyUpload","_uppyMediaOptimizationPlugin","_utilities","_chatComposerUpload","ChatComposerUploads","mediaOptimizationWorker","uppyUpload","useMultipartUploadsIfAvailable","uppyReady","composer_media_optimization_image_enabled","uppyWrapper","useUploadPlugin","optimizeFn","optimizeImage","runParallel","isMobileDevice","onPreProcessProgress","file","inProgressUpload","inProgressUploads","findBy","processing","onPreProcessComplete","uploadDone","pushObject","_triggerUploadsChanged","uploadDropTargetOptions","body","onProgressUploadsChanged","inProgressUploadsCount","existingUploads","didReceiveAttrs","super","uppyInstance","cancelAll","cloneJSON","didInsertElement","composerInputEl","_pasteEventListener","willDestroyElement","showUploadsContainer","cancelUploading","cancelSingleUpload","fileId","removeUpload","activeElement","canUpload","canPasteHtml","types","clipboardHelpers","clipboardData","files","addFiles","pasted","onUploadChanged","_jquery","_emoji","_data","_rsvp","_dTextarea","_detached","_upsertHyperlink","_autocomplete","_emoji2","_user","_hashtagAutocomplete","_loadEmojiSearchAliases","_optionalService","_text","_userSearch","_userStatusOnAutocomplete","_virtualElementFromTextRange","_waitForKeyboard","_button","_chatComposerDropdown","_chatComposerMessageDetails","_chatComposerUploads","_chatReplyingIndicator","_chatComposerButtons","_chatMessageInteractor","_textareaInteractor","ChatComposer","chatComposerWarningsTracker","emojiStore","menu","composerPresenceManager","isFocused","presenceChannelName","shouldRenderMessageDetails","context","inlineButtons","chatComposerButtons","dropdownButtons","fileUploadElementId","canAttachUploads","chat_allow_uploads","persistDraft","setupAutocomplete","textarea","$textarea","applyUserAutocomplete","applyEmojiAutocomplete","applyCategoryHashtagAutocomplete","setupTextareaInteractor","autofocus","ensureAtEnd","refreshHeight","didUpdateMessage","cancelPersistDraft","captureMentions","skipDebounce","didUpdateInReplyTo","_persistHandler","handleInlineButtonAction","buttonAction","stopPropagation","hasContent","minLength","chat_minimum_message_length","hasUploads","sendEnabled","off","insertDiscourseLocalDate","LocalDatesCreateModal","require","model","insertDate","markup","getSelected","uploadClicked","click","computeIsFocused","onInput","draftSaved","reportReplyingPresence","trapMouseDown","onSend","reactingToLastMessage","deleteEmptyMessage","trim","reactionCode","startsWith","reaction","substring","replacements","emojiCode","normalizeEmoji","interactor","react","notifyState","modifySelection","sel","lineVal","applySurround","onTextareaFocusOut","onTextareaFocusIn","style","transform","requestAnimationFrame","onKeyDown","altKey","isAutocompleteDisplayed","shiftKey","handleEscape","user_option","chat_send_shortcut","replyable","replyTo","editableMessage","lastUserMessage","editable","edit","openUpsertLinkModal","selected","linkText","toolbarEvent","text","onSelectEmoji","emoji","emojiSelected","trackMentions","reset","addMentionedUser","userData","createRecord","mentionedUsers","enable_mentions","autocomplete","template","width","treatAsTextarea","autoSelectFirstSuggestion","transformComplete","obj","isUser","dataSource","term","destroyUserStatuses","includeGroups","presentUserNames","presenceChannel","cssClasses","initUserStatusHtml","onRender","renderUserStatusHtml","afterComplete","onClose","setupHashtagAutocomplete","hashtag_configurations","enable_emoji","onKeyUp","cp","matches","exec","v","menuOptions","identifier","groupIdentifier","component","modalForMobile","didSelectEmoji","waitForClosedKeyboard","virtualElement","menuInstance","Promise","resolve","full","toLowerCase","Math","max","emoji_autocomplete_min_chars","SKIP","match","favorites","favoritesForContext","slice","emojiTranslation","custom_emoji_translation","allTranslations","translations","emojiDenied","denied_emojis","scale","isSkinTonableEmoji","x","searchAliases","emojiSearch","maxResults","diversity","exclude","list","src","emojiUrlFor","label","_bodyClass","_htmlClass","_resizableNode","ChatDrawer","chatDrawerSize","chatDrawerRouter","sizeTimer","rafTimer","hasUnreadMessages","drawerStyle","userCanChat","_checkSize","computeDrawerStyle","cancelAnimationFrame","_fireHiddenAppEvents","trigger","observes","height","size","escapeExpression","toString","drawerActions","openInFullPage","close","toggleExpand","_dynamicCheckSize","_performCheckSize","_startDynamicCheckSize","_clearDynamicCheckSize","remove","throttle","isDestroying","isDestroyed","drawerContainer","getElementById","composerIsClosed","contains","setProperty","offsetLeft","openURL","url","activeChannel","stateFor","_routeFromURL","didOpenDrawer","recognize","localName","parent","storeAppURL","prefersFullPage","didToggleDrawer","isDrawerExpanded","didCloseDrawer","didResize","ChatEmojiAvatar","_unreadIndicator","ChatFooter","chatHistory","includeThreads","chat_threads_enabled","directMessagesEnabled","userCanAccessDirectMessages","currentRouteName","routeName","currentRoute","enabledRouteCount","enable_public_channels","Boolean","shouldRenderFooter","hasPreloadedChannels","UnreadChannelsIndicator","UnreadDirectMessagesIndicator","UnreadThreadsIndicator","ChatHeader","previousURL","heading","constructor","updatePreviousURL","willDestroy","chat_enabled","isChatOpen","currentURL","forumLink","rootURL","ChatMentionWarnings","unreachableGroupMentions","overMembersLimitGroupMentions","hasTooManyMentions","tooManyMentions","channelWideMentionDisallowed","mentionsCount","unreachableGroupMentionsCount","overMembersLimitMentionsCount","hasUnreachableGroupMentions","hasOverMembersLimitGroupMentions","warningsCount","listStyleClass","warningHeaderText","tooManyMentionsBody","max_mentions_per_chat_message","siteSettingUrl","unreachableBody","group1","group2","overMembersLimitBody","messageFormat","groupCount","isAdmin","notificationLimit","max_users_notified_per_group_mention","_core","_bookmarkIcon","_dropdownSelectBox","_chatMessageReaction","_chatMessageContainer","FULL","ChatMessageActionsDesktop","popper","activeMessage","messageInteractor","shouldRenderFavoriteReactions","openEmojiPicker","_","destroy","viewport","clientWidth","createPopper","placement","strategy","modifiers","enabled","boundary","fallbackPlacements","scroll","offset","redirectScroll","targetElement","scrollTop","deltaY","_dModal","ChatMessageActionsMobile","hasExpandedReply","vibrate","userHasBeenActive","canVibrate","navigator","expandReply","collapseMenu","closeModal","actAndCloseMenu","fnId","operation","selectReaction","_decoratedHtml","_domFromString","_chatUpload","_collapser","_lightbox","isCollapsible","elements","Array","call","hasLazyVideo","hasImageOnebox","hasImage","hasGallery","ChatMessageCollapser","lightbox","querySelectorAll","uploadsHeader","cookedBodies","lazyVideoCooked","imageOneboxCooked","imageCooked","galleryCooked","lazyVideoComponent","has","reduce","acc","lazy_videos_enabled","lazyVideoPredicate","videoAttributes","getVideoAttributes","requirejs","providerName","link","header","outerHTML","needsCollapser","imageOneboxPredicate","animatedImagePredicate","firstChild","firstElementChild","href","imagePredicate","alt","galleryPredicate","textContent","removeChild","some","nodeName","externalImageOnebox","_chatEmojiAvatar","ChatMessageInReplyToIndicator","hasThread","routeModels","threadingEnabled","_getReactionText","ChatMessageReaction","tooltip","registerTooltip","disableTooltip","popoverContent","instance","register","content","animated","triggers","showCount","emojiString","emojiUrl","handleClick","onReaction","reacted","emojiUnescape","getReactionText","IS_PINNED_CLASS","ChatMessageSeparator","track","intersectionObserver","IntersectionObserver","entry","isIntersecting","intersectionRatio","boundingClientRect","y","intersectionRect","observe","disconnect","onDateClick","firstMessageOfTheDayAt","previousMessage","areDatesOnSameDay","startOfDay","formattedFirstMessageDate","calendarDate","isNewestMessage","a","b","getFullYear","getMonth","getDate","startOf","_chatMessageCollapser","ChatMessageText","isEdited","edited","_formatDate","_chatThreadParticipants","ChatMessageThreadIndicator","interactiveUser","threadMessageRoute","preview","lastReplyId","_emojiPicker","_later","_transformer","_updateUserStatusOnMention","_zoomCheck","_avatar","_error","_info","_leftGutter","_blocks","_chatMessageActionsMobile","_chatMessageInReplyToIndicator","_chatMessageSeparator","_chatMessageText","_chatMessageThreadIndicator","_onLongPress","MESSAGE_CONTEXT_THREAD","MENTION_KEYWORDS","addChatMessageDecorator","decorator","_chatMessageDecorators","resetChatMessageDecorators","chatChannelPane","chatThreadPane","toasts","interactedChatMessage","isActive","toggleCheckIfPossible","addedListener","selectingMessages","bulkSelect","select","threadContext","deletedAndCollapsed","deletedAt","collapsed","hiddenAndCollapsed","deletedMessageLabel","recursiveCount","nextMessage","shouldRenderOpenEmojiPickerButton","userCanInteractWithChat","secondaryActionsIsExpanded","expand","recursiveExpand","refreshStatusOnMentions","toggleChecked","checked","willDestroyMessage","_invitationSentTimer","_disableMessageActionsHandler","_makeMessageActiveHandler","teardownMentionedUsers","mention","updateUserStatusOnMention","initMentionedUsers","isTrackingStatus","decorateMentions","allowChannelWideMentions","wideMentions","keyword","mentions","node","classes","applyValueTransformer","decorateCookedMessage","helper","staff","canModerate","onMouseEnter","emojiPickerOpen","_onMouseEnterMessageDebouncedHandler","_debouncedOnHoverMessage","onMouseMove","_setActiveMessage","onMouseLeave","toElement","relatedTarget","disableMouseEvents","onLongPressStart","persisted","onLongPressCancel","documentElement","onLongPressEnd","blur","hasActiveState","hasReply","hideReplyToInfo","hideUserInfo","chatWebhookEvent","abs","force","showThreadIndicator","replyCount","shouldRenderStopMessageStreamingButton","streaming","onEmojiPickerClose","onEmojiPickerShow","stopMessageStreaming","lt","Input","_element","Actions","_actions","Block","blockForType","definition","Error","Element","elementForType","Button","interacting","createInteraction","action_id","_block","Blocks","interaction","_onResize","ChatMessagesContainer","_scrollableList","ChatMessagesScroller","_mention_without_membership","COMPONENT_DICT","mention_without_membership","ChatNotices","noticesManager","clearNotice","notice","_chatNotice","_chatRetentionReminder","noticesForChannel","notices","ChatReplyingIndicator","presence","updateSubscription","unsubscribe","subscribe","getChannel","subscribed","u","usernames","lastUsername","commaSeparatedUsernames","ChatRetentionReminderText","countForChannelType","chat_dm_retention_days","chat_channel_retention_days","_ajax","_chatRetentionReminderText","ChatRetentionReminder","isCategoryChannel","dismiss","ajax","method","chatable_type","chatableType","field","ChatSidePanelResizer","_keyValueStore","_chatSidePanelResizer","MIN_PANEL_WIDTH","ChatSidePanel","setupSize","isFullPageActive","validWidth","min","getObject","mainContainerWidth","animate","duration","fill","storeWidth","mainPanelWidth","setObject","ChatSkeleton","placeholders","from","image","randomIntFromInterval","rows","reactions","floor","random","ChatThreadHeading","showHeading","_conditionalLoadingSpinner","_isElementInViewport","_item","_trackMessage","ChatThreadList","noThreadsLabel","onMessageBus","channelMessageBusLastId","resizeObserver","ResizeObserver","loadThreads","threadsCollection","threads","handleLoadedThreads","threadsManager","sortedThreads","originalMessage","lastMessageId","sort","threadA","threadB","lastReplyCreatedAt","lastThread","busData","handleDeleteMessage","handleRestoreMessage","deletedOriginalMessageThread","deleted_id","restoredOriginalMessageThread","chat_message","threadModel","replace","setupChannelThreadState","ChatThreadParticipants","showParticipants","includeOriginalMessageUser","participantsUsers","participantUsers","otherCountLabel","otherParticipantCount","_threadSettings","_userChatThreadMembership","ChatThreadTitlePrompt","toastText","dismissLabel","primaryLabel","canShowToast","updateThreadTitlePrompt","membership","updateCurrentUserThreadTitlePrompt","console","log","threadTitlePromptSeen","disableFutureThreadTitlePrompts","save","titleNotSet","hasReplies","THREAD_TITLE_PROMPT_THRESHOLD","showPrompts","show_thread_title_prompts","promptNotSeen","showProgressBar","class","actions","toast","_notificationLevels","_chatThreadTitlePrompt","_chatChannelThreadSubscriptionManager","_thread","_chatThreadHeading","ChatThread","chatThreadComposer","showChannelPreview","handleKeydown","_debounceUpdateLastReadMessageHandler","debounceUpdateLastReadMessage","markThreadAsRead","details","scrollToTop","visible","response","thread_id","notification_level","NotificationLevels","TRACKING","last_read_message_id","message_id","onSendError","scrollListToTop","stagedId","_computed","_chooseTopic","_radioButton","_textField","_categoryChooser","_tagChooser","NEW_TOPIC_SELECTION","NEW_MESSAGE_SELECTION","EXISTING_TOPIC_SELECTION","ChatToTopicSelector","newTopicSelection","existingTopicSelection","newMessageSelection","selection","equal","newTopic","existingTopic","newMessage","alias","canAddTags","canTagMessages","topicTitle","categoryId","tags","selectedTopicId","chatMessageIds","chatChannelId","newTopicInstruction","instructionLabels","existingTopicInstruction","newMessageInstruction","_chatThread","ChatUploadDropZone","isThread","ChatUpload","loaded","IMAGE_TYPE","VIDEO_TYPE","AUDIO_TYPE","ATTACHMENT_TYPE","isVideo","isAudio","ratio","max_image_width","max_image_height","imageUrl","thumbnail","imageStyle","dominant_color","videoSourceUrl","baseUrl","isSafari","imageLoaded","_userAvatar","ChatUserAvatar","avatar","renderAvatar","imageSize","avatarSize","interactive","showPresence","isOnline","find","userPath","ChatUserDisplayName","shouldPrioritizeNameInUx","hasValidName","formattedUsername","formatUsername","shouldShowNameFirst","shouldShowNameLast","_chatUserDisplayName","ChatUserInfo","trackUserStatus","showStatus","showStatusDescription","ChatComposerButton","_chatComposer","ChatComposerChannel","composerId","debounce","destroyDraft","canModifyMessages","findLastMessage","findLastUserMessage","placeholder","messageRecipients","directMessageRecipients","commaSeparatedNames","channelName","ChatComposerSeparator","ChatComposerThread","channelComposer","ChatDirectMessageButton","can_send_private_message_to_user","startChatting","upsertDmChannel","_browseChannels","_navbar","ChatDrawerRoutesBrowse","_channelInfoMembers","_channelInfoNav","ChatDrawerRoutesMembers","backButton","models","_channelInfoSettings","ChatDrawerRoutesSettings","ChatDrawerRoutesChannelThread","previousRoute","threadTitle","activeThread","_chatThreadList","ChatDrawerRoutesChannelThreads","backLinkTitle","ChatDrawerRoutesChannel","backBtnRoute","_chatFooter","ChatDrawerRoutesChannels","ChatDrawerRoutesDirectMessages","_userThreads","ChatDrawerRoutesThreads","CHANNELS_TAB","THREADS_TAB","FooterUnreadIndicator","badgeType","publicChannelMentionCount","directMessageUnreadCount","directMessageMentionCount","publicChannelUnreadCount","showUrgent","showUnread","_section","ChatForm","yieldableArgs","ChatFormRow","_row","ChatFormSection","row","_getUserChatSeparateSidebarMode","ChatHeaderIcon","currentUserInDnD","isInDoNotDisturb","chatSeparateSidebarMode","getUserChatSeparateSidebarMode","never","icon","_preferencesChat","ChatHeaderIconUnreadIndicator","allChannelUrgentCount","allChannelMentionCount","hasUnreads","indicatorPreference","chat_header_indicator_preference","showUrgentIndicator","onlyMentions","hasAnyIndicatorPreference","HEADER_INDICATOR_PREFERENCE_ALL_NEW","HEADER_INDICATOR_PREFERENCE_DM_AND_MENTIONS","urgentCountLabel","HEADER_INDICATOR_PREFERENCE_ONLY_MENTIONS","preferences","HEADER_INDICATOR_PREFERENCE_NEVER","EmptyState","List","loadCollection","itemComponent","debouncedLoadCollection","collection","Item","_membersCount","_membersSelector","AddMembers","loadingSlider","membersCount","userCount","members","member","chat_enabled_user_count","membershipsCount","maxMembers","chat_max_direct_message_users","saveGroupMembers","transitionStarted","groups","addMembersToChannel","success","transitionEnded","gte","Channel","item","hasUrgent","unread_thread_count","showIndicator","MODES","search","new_group","add_members","ChatableGroup","group_with_too_many_members","isDisabled","_addMembers","_constants","_newGroup","_search","ChatMessageCreator","mode","componentForMode","changeMode","changeMembers","cancelAction","onCancel","_chatChatable","ChatablesLoader","setOwner","includeUsers","includeCategoryChannels","includeDirectMessageChannels","excludedUserIds","preloadChannels","request","abort","preloadedChannels","include_users","include_category_channels","include_direct_message_channels","excluded_memberships_channel_id","excludedMembershipsChannelId","results","direct_message_channels","category_channels","findChannel","allChannels","createUser","createChannel","_ref2","getNext","current","filterBy","currentIndex","indexOf","objectAt","getPrevious","ListAction","_iterateList","ListHandler","onHighlight","items","highlightedItem","onShifSelect","onSelect","_group","_listAction","cantAddMoreMembersLabel","componentForItem","handleEnter","onShiftSelect","Member","MembersCount","countLabel","_chatablesLoader","_listHandler","_members","MembersSelector","chatables","highlightedMember","highlightedChatable","highlightedMemberIds","highlightMember","highlightChatable","selectChatable","chatableMembers","unselectMember","onChange","focusFilterAction","registerFocusFilterAction","actionFn","onFilter","searchHandler","fetch","loader","removedMember","_member","Members","addMoreMembersLabel","handleKeypress","onSelectMember","onHighlightMember","NewGroup","newGroupTitle","createGroup","createDmChannel","ChatMessageCreatorSearchInput","filterPlaceholder","_searchInput","ChatMessageCreatorSearch","prefillAddMembers","onChangeMode","startOneToOneChannel","startGroupChannel","_userStatus","ChatableUser","disabledUserLabel","isUnread","Avatar","_settings","_formatChatDate","ChatMessageInfo","usernameClasses","prioritizeName","moderator","new_user","primary_group_name","isFlagged","reviewableId","userFlagStatus","prioritizeNameInUx","ChatMessageLeftGutter","_chatToTopicSelector","ChatModalArchiveChannel","saving","flash","flashType","buttonDisabled","min_topic_title_length","max_topic_title_length","labels","instructionsText","escapedTitle","category_id","topic_id","archiveChannel","newTopicSelected","topic","_withEventValue","_category3","_dTooltip","DEFAULT_HINT","category","ChatModalCreateChannel","autoGeneratedSlug","categoryPermissionsHint","autoJoinWarning","loadingPermissionHint","generateSlugHandler","autoJoinAvailable","max_chat_auto_joined_users","categorySelected","createDisabled","isBlank","categoryName","onShow","onCategoryChange","findById","updatePermissionsHint","debouncedGenerateSlug","onNameChange","onSave","formData","FormData","currentTarget","fromEntries","entries","auto_join_users","slug","threading_enabled","yesNoConfirm","didConfirm","extractError","buildCategorySlug","parentCategory","updateAutoJoinConfirmWarning","catPermissions","allowedGroups","allowed_groups","warning","private","members_count","groupName","fullSlug","categoryPermissions","settingLink","hint","generateSlug","ChatModalDeleteChannel","channelNameConfirmation","deleting","confirmed","deleteChannel","destroyChannel","_dModalCancel","DeleteMessagesConfirm","trashMessages","sourceChannel","selectedMessageIds","_charCounter","ChatModalEditChannelDescription","editedDescription","isSaveDisabled","descriptionMaxLength","onSaveChatChannelDescription","updateChannel","onChangeChatChannelDescription","_slugifyChannel","ChatModalEditChannelName","editedName","editedSlug","replaceWith","onChangeChatChannelName","onChangeChatChannelSlug","_chatChannelChooser","ChatModalMoveMessageToChannel","destinationChannelId","selectedMessageCount","disableMoveButton","availableChannels","publicMessageChannels","rejectBy","moveMessages","moveChannelMessages","message_ids","destination_channel_id","first_moved_message_id","_messageCreator","ChatModalNewMessage","ChatModalThreadSettings","editedTitle","threadTitleLength","saveThread","editThread","ChatModalToggleChannelStatus","buttonLabel","isClosed","instructions","modalTitle","onStatusChange","updateChannelStatus","_browseChannelsButton","_closeDrawerButton","_closeThreadButton","_closeThreadsButton","_fullPageButton","_newChannelButton","_newDirectMessageButton","_openDrawerButton","_threadSettingsButton","_threadTrackingDropdown","_threadsListButton","_toggleDrawerButton","ChatNavbarActions","ChatNavbarBackButton","targetRoute","showBackButton","ChatNavbarBrowseChannelsButton","browseChannelsLabel","showBrowseChannelsButton","ChatNavbarChannelTitle","shouldLinkToSettings","ChatNavbarCloseDrawerButton","closeDrawer","ChatNavbarCloseThreadButton","ChatNavbarCloseThreadsButton","closeButtonTitle","ChatNavbarFullPageButton","_noop","_backButton","_title","ChatNavbar","handleResize","clientHeight","_createChannel2","ChatNavbarNewChannelButton","ChatNavbarNewDirectMessageButton","showButtonComponent","ChatNavbarOpenDrawerButton","openDrawer","ChatNavbarSubTitle","ChatNavbarThreadSettingsButton","canChangeThreadSettings","openThreadSettings","_threadNotificationsTracking","ChatNavbarThreadTrackingDropdown","persistedNotificationLevel","threadNotificationLevel","notificationLevel","REGULAR","updateThreadNotificationLevel","newNotificationLevel","currentNotificationLevel","updateCurrentUserThreadNotificationsSettings","_headerUnreadIndicator","ChatNavbarThreadsListButton","threadsListLabel","showThreadsListButton","_subTitle","ChatNavbarTitle","ChatNavbarToggleDrawerButton","_laterFn","MentionWithoutMembership","invitationsSent","userIds","user_ids","sendInvitations","invite","_chatUserInfo","ChatRouteChannelInfoMembers","now","updatedAt","showAddMembers","addMemberLabel","noMembershipsFoundLabel","noMembershipsLabel","onEnter","noResults","params","listChannelMemberships","mutFilter","addMember","hideAddMember","openMemberCard","username_lower","removeMember","removeMemberFromChannel","canRemoveMember","canRemoveMembers","addMembersMode","canAddMembers","ChatRoutesChannelInfoNav","showTabs","_dToggleSwitch","_categoryBadge","_form","_archiveChannel","_deleteChannel","_editChannelDescription","_editChannelName","_toggleChannelStatus","NOTIFICATION_LEVELS","ChatRouteChannelInfoSettings","chatGuardian","notificationLevels","settingsSectionTitle","channelInfoSectionTitle","categoryLabel","historyLabel","adminSectionTitle","membersLabel","descriptionSectionTitle","titleSectionTitle","descriptionPlaceholder","toggleThreadingLabel","toggleThreadingDescription","muteSectionLabel","channelWideMentionsLabel","autoJoinLabel","notificationsLevelLabel","canEditChannel","canEditChatChannel","shouldRenderDescriptionSection","shouldRenderStatusSection","shouldRenderArchiveRow","canArchiveChannel","toggleChannelWideMentionsAvailable","toggleThreadingCategoryChannel","toggleThreadingDirectMessage","channelWideMentionsDescription","isChannelMuted","muted","shouldRenderChannelWideMentionsAvailable","shouldRenderNotificationsLevelSection","shouldRenderAdminSection","onToggleChannelWideMentions","newValue","_updateChannelProperty","allow_channel_wide_mentions","onToggleAutoJoinUsers","autoJoinUsers","onDisableAutoJoinUsers","onEnableAutoJoinUsers","confirm","onToggleMuted","saveNotificationSettings","frontendKey","backendKey","settings","updateCurrentUserChannelNotificationsSettings","property","onToggleThreadingEnabled","onToggleChannelState","onArchiveChannel","onDeleteChannel","onEditChannelTitle","onLeaveChannel","onEditChannelDescription","ChatRoutesChannelInfo","chatChannelInfoRouteOriginManager","editChannelTitle","_header","ChatRoutesChannelThread","showfullTitle","setFullTitle","ChatRoutesChannelThreads","_chatSidePanel","_fullPageChat","ChatRoutesChannel","getChannelsRoute","ChatRoutesChannels","ChatRoutesDirectMessages","ChatRoutesThreads","ScrollToBottomArrow","_deleteMessagesConfirm","_moveMessageToChannel","ChatSelectionManager","topicComposer","enableMove","anyMessagesSelected","deleteCountLimitReached","canDeleteMessages","every","canDeleteMessage","canDeleteSelf","canDeleteOthers","deleteButtonTitle","selectionCount","generateQuote","markdown","Blob","openMoveMessageModal","openDeleteMessagesModal","quoteMessages","quoteMarkdown","quoteMarkdownBlob","openOpts","chatableId","chatableUrl","focusComposer","fallbackToNewTopic","insertText","lookup","copyMessages","isTesting","clipboardCopyAsync","ChatThreadListHeader","threadListTitle","_threadUnreadIndicator","ChatThreadListItem","openThread","ThreadHeaderUnreadIndicator","unreadCountLabel","cappedUnreadCount","unreadThreadCount","ChatThreadHeader","backLink","prevPage","headerTitle","showThreadUnreadIndicator","openThreadTitleModal","Collapser","onToggle","FullPageChat","_reviewableCreatedBy","_reviewablePostHeader","ReviewableChatMessage","reviewable","chat_channel","_fabricators","StyleguideComponent","optionalRequire","Controls","Row","StyleguideExample","ChatStyleguideChatComposerMessageDetails","session","keyValueStore","toggleMode","ChatStyleguideChatComposer","chatChannelComposer","toggleDisabled","toggleSending","_icon","ChatStyleguideChatHeaderIcon","indicatorPreferences","toggleIsActive","toggleCurrentUserInDnD","updateUnreadCount","updateUrgentCount","updateIndicatorPreference","_chatMessagesManager","ChatStyleguideChatMessage","toggleDeleted","toggleBookmarked","bookmark","toggleHighlighted","highlighted","toggleEdited","toggleThread","updateMessage","toggleReaction","toggleUpload","ChatStyleguideChatModalArchiveChannel","openModal","_createChannel","ChatStyleguideChatModalCreateChannel","ChatStyleguideChatModalDeleteChannel","ChatStyleguideChatModalEditChannelDescription","ChatStyleguideChatModalEditChannelName","ChatStyleguideChatModalMoveMessageToChannel","ChatStyleguideChatModalNewMessage","ChatStyleguideChatModalThreadSettings","ChatStyleguideChatModalToggleChannelStatus","ChatStyleguideChatThreadListItem","_chatHeaderIcon","_chatModalArchiveChannel","_chatModalCreateChannel","_chatModalDeleteChannel","_chatModalEditChannelDescription","_chatModalEditChannelName","_chatModalMoveMessageToChannel","_chatModalNewMessage","_chatModalThreadSettings","_chatModalToggleChannelStatus","_chatThreadListItem","ChatOrganism","SvgChatZero","_notificationsTracking","_chatNotificationLevels","ThreadNotificationsTracking","threadNotificationButtonLevels","ChatThreadTitle","excerpt","ChatThreadUnreadIndicator","ToggleChannelMembershipButton","isLoading","labelType","joinTitle","joinIcon","joinClass","leaveTitle","leaveIcon","leaveClass","following","onJoinChannel","followChannel","onJoin","leaveChannel","onLeave","_htmlSafe","ChatNotificationsListEmptyState","_notificationsList","UserMenuChatNotificationsList","dismissTypes","filterByTypes","emptyStateComponent","_threadTitle","_preview","_chatThreadPreview","UserThreads","trackedChannels","keys","onMessage","userThreads","threadObject","trackChannel","channel_id","t","ThreadPreview","lastReplyDate","leaveAgo","ChatBodyClass","_chatDrawer","ChatDrawerOutlet","_chatMessageActionsDesktop","ChatMessageActionsDesktopOutlet","_separator","ChatEmojiPicker","_chatHeader","enumerable","_directMessageButton","ChatButton","ChatPreferences","can_chat","_controller","ChatChannelIndexController","ChatChannelThreadController","ChatChannelController","queryParams","ChatDraftChannelController","ChatIndexController","ChatNewMessageController","ChatController","shouldUseChatSidebar","shouldUseCoreSidebar","publicMessageChannelsEmpty","navigation_menu","shouldUseChatFooter","FOOTER_NAV_ROUTES","mainOutletModifierClasses","modifierClasses","isSidePanelExpanded","_keyboardShortcuts","_chatAudioManager3","CHAT_QUICK_REACTIONS_CUSTOM_DEFAULT","CHAT_ATTRS","PreferencesChatController","chatAudioManager","subpageTitle","chatQuickReactionTypes","chatSendShortcutOptions","meta_key","translateModKey","PLATFORM_KEY_MODIFIER","emailFrequencyOptions","headerIndicatorOptions","chatSeparateSidebarModeOptions","chat_separate_sidebar_mode","chatSendShortcut","chatQuickReactionsCustom","split","chatSounds","CHAT_SOUNDS","onChangeChatSound","sound","play","onChangeQuickReactionType","location","reload","_string","ChatGuardianHelper","compute","inputs","camelize","container","_found","checkMessageBottomVisibility","dataset","parseInt","tz","timezone","guess","display","staged","_pluginApi","CHAT_NOTIFICATION_TYPES","initialize","canPlaySound","isPrimaryTab","withPluginApi","registerDesktopNotificationHandler","indicatorType","isMention","notification_type","chat_sound","INDICATOR_PREFERENCES","only_mentions","dm_and_mentions","is_direct_message_channel","_oneboxDecorators","_hashtagDecorator","_highlightSyntax","initializeWithPluginApi","decorateChatMessage","decorateGithubOneboxBody","line","scrollingElement","_getScrollParent","scrollBarWidth","offsetHeight","top","offsetTop","renderChatTranscriptDates","forceLinksToOpenNewTab","decorateHashtags","maxParentSelector","scrollHeight","parentNode","transcriptEl","dateTimeRaw","dateTimeLinkEl","innerText","links","linkIndex","isInternal","samePrefix","setAttribute","chatService","chatThreadListPane","openQuickChannelSelector","isInputSelection","isChatComposer","handleMoveUpShortcut","switchChannelUpOrDown","handleMoveDownShortcut","handleMoveUpUnreadShortcut","handleMoveDownUnreadShortcut","el","elementTagName","modifyComposerSelection","chatComposerContext","addKeyboardShortcut","global","help","keys1","keysDelimiter","keys2","shortcutsDelimiter","openInsertLinkModal","openChatDrawer","srcElement","isOpened","closeChat","markAllChannelsRead","_localDates","applyLocalDates","spoiler_enabled","applySpoiler","spoiler","_formatter","_getOwner","_iconLibrary","_richEditorExtension","_chat","_lastForcedRefreshAt","replaceIcon","ChatSetupInit","owner","addAboutPageActivity","periods","activityText","formatted_number","number","period","onPageChange","visit","registerHashtagType","registerChatComposerButton","displayed","dependentKeys","discourse_local_dates_enabled","decorateCookedElement","elem","getOwnerWithFallback","currentUserTimezone","dateTimeEl","dateFormatted","loadChannels","start","_registeredDocumentTitleCountCallback","addDocumentTitleCounter","documentTitleCountCallback","addCardClickListenerSelector","headerIcons","after","before","addStyleguideSection","registerRichEditorExtension","getDocumentTitleCount","clearChatComposerButtons","_handleFocusChanged","hasFocus","_decorateUsernameSelector","_avatarUtils","_initSidebarState","addSidebarPanel","BaseCustomSidebarPanel","CHAT_PANEL","switchButtonLabel","switchButtonIcon","switchButtonDefaultUrl","initSidebarState","getCurrentUser","addSidebarSection","BaseCustomSidebarSection","BaseCustomSidebarSectionLink","SidebarChatMyThreadsSectionLink","prefixType","prefixValue","suffixType","suffixValue","unreadThreadsCount","suffixCSSClass","hideSectionHeader","displaySection","SidebarChatChannelsSectionLink","dasherize","slugifiedTitle","prefixColor","escapedDescription","prefixBadge","read_restricted","SidebarChatChannelsSection","has_joinable_public_channels","currentUserCanJoinPublicChannels","sectionLinks","actionsIcon","SidebarChatDirectMessagesSectionLink","hoverType","hoverValue","hoverTitle","oneOnOneMessage","contentComponentArgs","contentComponent","replaceAll","decorateUsername","iconUploadUrl","avatarUrl","avatar_template","prefixCSSClass","activeUsers","hoverAction","SidebarChatDirectMessagesSection","truncatedDirectMessageChannels","registerNotificationTypeRenderer","NotificationItemBase","linkTitle","linkHref","notification","chat_channel_title","chat_channel_slug","chat_channel_id","chat_message_id","invited_by_username","notificationRoute","chat_thread_id","mentioned_by_username","i18nPrefix","i18nSuffix","username2","registerUserMenuTab","UserMenuTab","panelComponent","getUnreadCountForType","notificationTypes","addSaveableUserOptionField","ChatChannelSubscriptionManager","chatChannelNoticesManager","messageBusChannel","handleSentMessage","handleReactionMessage","handleProcessedMessage","handleEditMessage","handleRefreshMessage","handleBulkDeleteMessage","handleSelfFlaggedMessage","handleFlaggedMessage","handleNewThreadCreated","handleThreadOriginalMessageUpdate","handleNotice","handleStagedMessage","created_at","processed","incrementVersion","deleted_ids","deletedId","targetMsg","deletedById","deleted_by_id","removeMessage","latest_not_deleted_message_id","user_flag_status","reviewable_id","fetchIfNotFound","channelOriginalMessage","original_message_id","update","ChatChannelThreadSubscriptionManager","threadMessageBusLastId","__","lastMessageBusId","values","valid","computeButton","ariaLabel","translatedAriaLabel","priority","isFunction","actionName","chatComposerButtonsDependentKeys","normalizedButton","translatedTitle","translatedLabel","descriptor","DEFAULT_MESSAGE_PAGE_SIZE","all_new","_capabilities","scrollable","currentScroll","selector","ChatMessageFlag","customSubmitLabel","submitLabel","targetsTopic","_rewriteFlagDescriptions","flags","flag","name_key","basePath","defaultValue","flagsAvailable","flagModal","flagTypes","flagModel","availableFlags","applies_to","notifyUserIndex","notifyUser","splice","flagMessage","flag_type_id","is_warning","isWarning","take_action","takeAction","queue_for_review","_bookmark","_flag2","_bookmarkFormData","_bookmark2","_emojiStore3","_chatMessageFlag","removeChatComposerSecondaryActions","actionIds","removedSecondaryActions","resetRemovedChatComposerSecondaryActions","Set","ChatemojiReactions","emojiReactions","userQuickReactionsCustom","chat_quick_reaction_type","chat_quick_reactions_custom","frequentReactions","defaultReactions","default_emoji_reactions","DEFAULT_DIVERSITY","allReactionsInOrder","canEdit","canInteractWithMessage","canRestoreMessage","canBookmark","canReply","canReact","canFlagMessage","canFlag","canRebakeMessage","canDelete","secondaryActions","reject","onSelectMessage","sortedIndices","findIndexOfMessage","lastSelectedMessage","copyText","clipboardCopy","copyLink","protocol","host","threadId","reactAction","reacting","publishReaction","errResult","REACTIONS","toggleBookmark","BookmarkFormData","createFor","afterSave","bookmarkFormData","saveData","attachedTo","afterDelete","user_id","flagTarget","setHidden","trashMessage","restore","restoreMessage","rebake","rebakeMessage","reply","closeEmojiPicker","handleSecondaryActions","ChatMessagesLoader","loadedPast","nextTargetMessage","computeNextTargetMessage","page_size","cleanArgs","apiFunction","can_load_more_future","can_load_more_past","channelMessages","channelThreadMessages","k","findLast","ChatMessagesManager","stagedMessages","selectedMessages","clearSelectedMessages","uniqBy","stagedMessageId","findIndex","m","WATCHING","buttonDetails","_trackedBuiltIns","ChatThreadsManager","TrackedObject","_cached","TrackedMap","_unreadThreadOverview","unreadThreadOverview","markThreadUnread","existingThread","getFromCache","fetchFromServer","cache","message_bus_last_ids","thread_message_bus_last_id","hasChatIndicator","pref","ALL_NEW","DM_AND_MENTIONS","ONLY_MENTIONS","NEVER","pageYOffset","getBoundingClientRect","bottom","Collection","resourceURL","_resourceURL","_handler","_params","_fetchedAll","loadMoreURL","load_more_url","totalRows","total_rows","Symbol","iterator","done","endpoint","filteredQueryParams","queryString","URLSearchParams","dates","reverse","nextElementSibling","prevLine","info","context_topic_id","currentPostNumber","currentPost","posts","postStream","post","post_number","previousPost","nextPost","context_post_ids","_instance","_category","_chatDirectMessage","coreFabricators","incrementSequence","CHATABLE_TYPES","categoryChannel","directMessageChannel","chatable_id","can_delete_self","archive_failed","memberships_count","directMessage","original_message","threadPreview","last_reply_id","last_reply_created_at","last_reply_excerpt","participant_count","participant_users","MAX_DISPLAYED_USERNAMES","filterUsernames","pop","unnamedUserCount","joinUsernames","reactionIncludingCurrentUser","reactionText","always","fullscreen","_base","ChannelHashtagType","preloadedData","generateColorCssClasses","channelOrHashtag","colors","generateIconHTML","hashtag","onLoad","iconHTML","isLoaded","_panels","setCombinedSidebarMode","showSidebarSwitchPanelButtons","setSeparatedSidebarMode","hideSidebarSwitchPanelButtons","getSidebarPanel","MAIN_PANEL","setSidebarPanel","_loadingSpinner","_loadScript","images","magnificPopup","closeOnContentClick","mainClass","tClose","tLoading","spinnerHTML","verticalFit","gallery","callbacks","elementParse","largeSrc","touchActionValue","touchAction","scrollTo","messageEl","scrollIntoView","slugify","resolvedSlug","_destroyable","_textareaTextManipulation","TextareaInteractor","textManipulation","eventPrefix","paste","registerDestructor","Event","bubbles","cancelable","dispatchEvent","ensureCaretAtEnd","isIpadOS","blurAndFocus","setSelectionRange","isInside","html","domParser","parseFromString","mentionSpan","mentionLink","createElement","mentionText","createTextNode","appendChild","transformMentions","hashtagSpan","generatePlaceholderHashtagHTML","relative_url","transformHashtags","innerHTML","DOMParser","ChatChannelArchive","failed","archive_completed","archived_messages","archive_topic_id","total_messages","_tracking3","_guid","_chatThreadsManager","_chatChannelArchive","_chatTrackingState","_userChatChannelMembership","channelStatus","STAFF_READONLY_STATUSES","READONLY_STATUSES","_currentUserMembership","_lastMessage","chatable_url","unicodeTitle","unicode_title","current_user_membership","last_message","icon_upload_url","getURLWithCDN","initChatable","lastViewedAt","can_delete_others","can_flag","userSilenced","user_silenced","can_moderate","can_remove_members","isReadOnly","isArchived","isJoinable","can_join_chat_channel","hasUnread","ChatChatable","has_chat_enabled","isGroup","isCategory","ChatDirectMessage","initUsers","initUsersModels","TrackedArray","_bookmark3","_user3","_transformAutoLinks","version","mentionWarning","_deletedAt","_cooked","draft_saved","first_of_results","available_flags","chat_webhook_event","in_reply_to","replyToMsg","initChatMessageReactionModel","initUserModel","mentioned_users","blocks","newCooked","ensureCookFunctionInitialized","cookFunction","read","isOriginalThreadMessage","parseMentions","markdownOptions","toJSONDraft","JSON","stringify","actor","currentUserId","selfReaction","existingReaction","existingUserReaction","generateCookFunction","raw","featuresOverride","markdown_additional_options","limited_pretty_text_features","markdownItRules","limited_pretty_text_markdown_rules","hashtagTypesInPriorityOrder","hashtagIcons","hashtag_icons","Map","ChatNotice","text_content","notice_type","ChatThreadPreview","lastReplyExcerpt","lastReplyUser","participantCount","reply_count","last_reply_user","THREAD_STATUSES","last_message_id","ChatTrackingState","_unreadCount","_mentionCount","_watchedThreadsUnreadCount","triggerNotificationsChanged","UserChatChannelMembership","last_viewed_at","UserChatThreadMembership","thread_title_prompt_seen","isQuiet","MUTED","ChatLaterFn","cleanup","modify","delay","ChatOnAnimationEnd","handleAnimationEnd","cancelEvent","ChatOnLongPress","handleTouchStart","timeout","touches","ChatOnScroll","throttledCallback","throttledHandler","immediate","ResizableNode","resizerSelector","didResizeContainer","_originalWidth","_originalHeight","_originalX","_originalY","_originalPageX","_originalPageY","vertical","horizontal","mutate","resetOnWindowResize","_startResize","_resizeWindow","_throttledResizeHandler","_minimumWidth","parseFloat","getComputedStyle","getPropertyValue","_minimumHeight","left","_eventValueForProperty","_resize","_stopResize","diffWidth","ceil","newStyle","containerStyle","containerWidth","containerHeight","DOWN","ChatScrollableList","lastScrollTop","computeInitialScrollTop","handleScroll","handleWheel","throttleComputeScroll","computeScroll","computeState","scrollTimer","throttleTimer","computeScrollDirection","computeDistanceToBottom","computeDistanceToTop","down","computeScrollTop","round","ChatTrackMessageSeparatorDate","ChatTrackMessage","didEnterViewport","didLeaveViewport","_intersectionObserverCallback","root","_chatStateManager","apiPrototype","getPrototypeOf","hasOwnProperty","addChatDrawerStateCallback","post_ids","postIds","_len","_key","_discourse","ChatBrowseIndexRoute","afterModel","beforeModel","defaultHomepage","activate","extendedClass","titleToken","currentModel","paramsFor","threadMessageId","controllerFor","ChatChannelInfoIndexRoute","ChatChannelInfoMembersRoute","_chatChannelInfoRouteOriginManager","_chatChannelDecorator","ChatChannelInfoRoute","transition","origin","ORIGINS","browse","deactivate","ChatChannelLegacyRoute","redirect","ChatChannelNearMessageWithThread","modelFor","ChatChannelNearMessage","ChatChannelThreadNearMessage","ChatChannelThread","redirectToChannel","closeSidePanel","openSidePanel","ChatChannelThreads","ChatChannelRoute","ChatChannelsRoute","custom_fields","last_chat_channel_id","ChatDirectMessagesRoute","ChatDraftChannelRoute","ChatIndexRoute","hasThreads","hasDirectMessages","isPublicChannelsEnabled","chat_preferred_index","ChatNewMessageRoute","recipients","_scrollTop","ChatRoute","isDrawerPreferred","canHandleRoute","to","intent","targetName","urlFor","contexts","updatePresence","RegExp","storeChatURL","_restrictedUser","PreferencesChatRoute","showFooter","setupController","controller","ChatAdminApi","exportMessages","_collection","ChatApi","getRequest","postRequest","move","deleteRequest","ignoreUnsent","messageIds","putRequest","createThread","originalMessageId","memberships","listCurrentUserChannels","notifications_settings","saveDraft","react_action","markAllChannelsAsRead","targets","userId","bell","ding","ChatAudioManager","canPlay","tryPlay","setTimeout","audio","Audio","_bodyScrollLock","ChatChannelComposer","threadComposer","init","disableBodyScroll","INFO_ROUTE_NAMESPACE","BACK_KEY","ChatChannelInfoRouteOriginManager","isBrowse","isChannel","ChatChannelNoticesManager","ChatChannelPane","cancelSelecting","ChatChannelScrollPositions","positions","ChatChannelsManager","chatSubscriptionsManager","existingChannel","findStale","channelObject","channel_message_bus_last_id","startChannelSubscription","unfollow","stopChannelSubscription","localeCompare","publicMessageChannelsWithActivity","sortChannelsByActivity","sortDirectMessageChannels","directMessageChannelsWithActivity","displayPublicChannels","stats","urgent","unread","aUrgent","bUrgent","aUnread","bUnread","MENTION_RESULT","ChatComposerWarningsTracker","mentionsTimer","resetMentionStats","currentMessage","_trackMentions","newMentions","recordNewWarnings","rebuildWarnings","newWarnings","unreachable","over_members_limit","invalid","memo","ChatDraftsManager","drafts","persist","_browse","_channelThread","_channelThreads","_channels","_directMessages","_threads","ROUTES","extractParams","r","ChatDrawerRouter","drawerRoute","routeNames","forceParentRouteForIndex","activeChannelId","redirectedRoute","routeFromURL","ChatDrawerSize","STORE_NAMESPACE","MIN_HEIGHT","MIN_WIDTH","ChatGuardian","canUseChat","ChatHistory","history","_desktopNotifications","ChatNotificationManager","shouldRun","alertChannel","onNotification","chatDrawerStateCallbacks","resetChatDrawerStateCallbacks","PREFERRED_MODE_KEY","FULL_PAGE_CHAT","DRAWER_CHAT","ChatStateManager","_chatURL","_appURL","_store","publishStateChange","didExpandDrawer","didCollapseDrawer","isFullPagePreferred","hasNoPreferredMode","ChatSubscriptionsManager","_channelSubscriptions","_startChannelMentionsSubscription","_startKickFromChannelSubscription","_startChannelNewMessagesSubscription","_onNewMessages","_onNewMentions","_onKickFromChannel","startChannelsSubscriptions","messageBusIds","_startNewChannelSubscription","new_channel","_startChannelArchiveStatusSubscription","archive_status","_startUserTrackingStateSubscription","user_tracking_state","_startChannelsEditsSubscription","channel_edits","_startChannelsStatusChangesSubscription","channel_status","_startChannelsMetadataChangesSubscription","channel_metadata","stopChannelsSubscriptions","_stopNewChannelSubscription","_stopChannelArchiveStatusSubscription","_stopUserTrackingStateSubscription","_stopChannelsEditsSubscription","_stopChannelsStatusChangesSubscription","_stopChannelsMetadataChangesSubscription","lastId","_onChannelArchiveStatusUpdate","new_mentions","kick","firstChannel","new_messages","_onNewChannelMessage","_onNewThreadMessage","_updateActiveLastViewedAt","force_thread","_onUserTrackingStateUpdate","_onBulkUserTrackingStateUpdate","_updateChannelTrackingData","unread_thread_overview","_onNewChannelSubscription","_onChannelMetadata","_onChannelEdits","_onChannelStatus","ChatThreadComposer","ChatThreadListPane","_chatChannelPane","ChatThreadPane","ChatTrackingStateManager","_onTriggerNotificationDebounceHandler","setupWithPreloadedState","channel_tracking","setState","publicChannels","dmMentionCount","_deprecated","CHAT_ONLINE_OPTIONS","userUnseenTime","browserHiddenTime","Chat","chatNotificationManager","isNetworkUnreliable","_activeMessage","_activeChannel","can_direct_message","computed","userHasDirectMessages","channelsView","public_channels","_networkCheckHandler","loadingChannels","setupWithPreloadedChannels","global_presence_channel_state","storedChannel","chat_drafts","storedDraft","parse","hide_presence","enter","activeOptions","leave","unreadOnly","directChannels","currentList","otherList","checkChannelIndex","unreadChannelIndex","directionUp","currentChannelIndex","nextChannelInSameList","nextList","nextChannel","_fireOpenFloatAppEvent","upsertDmChannelForUser","uniq","upsert","target_usernames","target_groups","getDmChannelForUsernames","addToolbarButton","toggleDrawer","InteractedChatMessage","secondaryOptionsOpen","_emberRouteTemplate","_channelInfo","_channelsList","_saveControls","registerPlugin","md","discourse","features","inline","ruler","chatHtmlInlineRule","patterns","HTML_TAG_RE","silent","ch","token","pos","posMax","charCodeAt","lc","isLetter","str","linkLevel","isLinkClose","customMarkdownCookFn","allowList","registerOptions","bbcode","chatTranscriptRule","buildCookFunction","additionalOptions","chatAdditionalOpts","hashtagLookup","customCookFn","tag","tagInfo","messageIdStart","messageTimeStart","attrs","quote","multiQuote","noLink","channelLink","getURL","wrapperDivToken","unescapedChannelName","performEmojiUnescape","emojiSet","emojiCDNUrl","enableEmojiShortcuts","inlineEmoji","lazy","threadSvgHeader","threadUseSvg","threadTitleToken","unescapedThreadTitle","wrapperClasses","chained","avatarImg","lookupAvatar","displayName","spanToken","channelLinkToken","linkToken","emojiHtmlCache","emojiToken","extension","nodeSpec","datetime","rawContent","threadHtml","isolating","selectable","parseDOM","toDOM","wrapperElement","metaElement","channelLinkElement","userElement","formattedDateTime","messagesElement","threadDetailsElement","threadSummaryElement","threadElement","threadHeaderElement","threadTitleElement","serializeNode","utils","buildBBCodeAttrs","bbCodeAttrs","skipAttrs","write","div_chat_transcript_wrap_open","tokens","nextHtmlRaw","nesting","messagesHtml","threadHtmlRaw","attrGet","openNode","schema","nodes","div_chat_transcript_wrap_close","closeNode","div_chat_transcript_user","ignore","div_chat_transcript_user_avatar","div_chat_transcript_username","div_chat_transcript_datetime","div_chat_transcript_messages","div_chat_transcript_reaction","div_chat_transcript_reactions","div_chat_transcript_meta","details_chat_transcript_wrap","summary_chat_transcript","div_thread","div_thread_header","svg_thread_header","use_svg_thread","span_thread_title","html_raw","noCloseToken","span_open","span_close"],"sources":["discourse/plugins/chat/discourse/adapters/chat-message.js","discourse/plugins/chat/discourse/admin-chat-route-map.js","discourse/plugins/chat/discourse/chat-route-map.js","discourse/plugins/chat/discourse/components/browse-channels.js","discourse/plugins/chat/discourse/components/channel-icon/index.js","discourse/plugins/chat/discourse/components/channel-name/index.js","discourse/plugins/chat/discourse/components/channel-title/index.js","discourse/plugins/chat/discourse/components/channels-list-direct.js","discourse/plugins/chat/discourse/components/channels-list-public.js","discourse/plugins/chat/discourse/components/channels-list.js","discourse/plugins/chat/discourse/components/chat-channel-archive-status.js","discourse/plugins/chat/discourse/components/chat-channel-card.js","discourse/plugins/chat/discourse/components/chat-channel-chooser-header.js","discourse/plugins/chat/discourse/components/chat-channel-chooser-row.js","discourse/plugins/chat/discourse/components/chat-channel-chooser.js","discourse/plugins/chat/discourse/components/chat-channel-leave-btn.js","discourse/plugins/chat/discourse/components/chat-channel-metadata.js","discourse/plugins/chat/discourse/components/chat-channel-preview-card.js","discourse/plugins/chat/discourse/components/chat-channel-row.js","discourse/plugins/chat/discourse/components/chat-channel-status.js","discourse/plugins/chat/discourse/components/chat-channel-title.js","discourse/plugins/chat/discourse/components/chat-channel-unread-indicator.js","discourse/plugins/chat/discourse/components/chat-channel.js","discourse/plugins/chat/discourse/components/chat-composer-dropdown.js","discourse/plugins/chat/discourse/components/chat-composer-message-details.js","discourse/plugins/chat/discourse/components/chat-composer-upload.js","discourse/plugins/chat/discourse/components/chat-composer-uploads.js","discourse/plugins/chat/discourse/components/chat-composer.js","discourse/plugins/chat/discourse/components/chat-drawer.js","discourse/plugins/chat/discourse/components/chat-emoji-avatar.js","discourse/plugins/chat/discourse/components/chat-footer.js","discourse/plugins/chat/discourse/components/chat-header.js","discourse/plugins/chat/discourse/components/chat-mention-warnings.js","discourse/plugins/chat/discourse/components/chat-message-actions-desktop.js","discourse/plugins/chat/discourse/components/chat-message-actions-mobile.js","discourse/plugins/chat/discourse/components/chat-message-collapser.js","discourse/plugins/chat/discourse/components/chat-message-in-reply-to-indicator.js","discourse/plugins/chat/discourse/components/chat-message-reaction.js","discourse/plugins/chat/discourse/components/chat-message-separator.js","discourse/plugins/chat/discourse/components/chat-message-text.js","discourse/plugins/chat/discourse/components/chat-message-thread-indicator.js","discourse/plugins/chat/discourse/components/chat-message.js","discourse/plugins/chat/discourse/components/chat-message/blocks/actions.js","discourse/plugins/chat/discourse/components/chat-message/blocks/block.js","discourse/plugins/chat/discourse/components/chat-message/blocks/element.js","discourse/plugins/chat/discourse/components/chat-message/blocks/elements/button.js","discourse/plugins/chat/discourse/components/chat-message/blocks/index.js","discourse/plugins/chat/discourse/components/chat-messages-container.js","discourse/plugins/chat/discourse/components/chat-messages-scroller.js","discourse/plugins/chat/discourse/components/chat-notice.js","discourse/plugins/chat/discourse/components/chat-notices.js","discourse/plugins/chat/discourse/components/chat-replying-indicator.js","discourse/plugins/chat/discourse/components/chat-retention-reminder-text.js","discourse/plugins/chat/discourse/components/chat-retention-reminder.js","discourse/plugins/chat/discourse/components/chat-side-panel-resizer.js","discourse/plugins/chat/discourse/components/chat-side-panel.js","discourse/plugins/chat/discourse/components/chat-skeleton.js","discourse/plugins/chat/discourse/components/chat-thread-heading.js","discourse/plugins/chat/discourse/components/chat-thread-list.js","discourse/plugins/chat/discourse/components/chat-thread-participants.js","discourse/plugins/chat/discourse/components/chat-thread-title-prompt.js","discourse/plugins/chat/discourse/components/chat-thread.js","discourse/plugins/chat/discourse/components/chat-to-topic-selector.js","discourse/plugins/chat/discourse/components/chat-upload-drop-zone.js","discourse/plugins/chat/discourse/components/chat-upload.js","discourse/plugins/chat/discourse/components/chat-user-avatar.js","discourse/plugins/chat/discourse/components/chat-user-display-name.js","discourse/plugins/chat/discourse/components/chat-user-info.js","discourse/plugins/chat/discourse/components/chat/composer/button.js","discourse/plugins/chat/discourse/components/chat/composer/channel.js","discourse/plugins/chat/discourse/components/chat/composer/separator.js","discourse/plugins/chat/discourse/components/chat/composer/thread.js","discourse/plugins/chat/discourse/components/chat/direct-message-button.js","discourse/plugins/chat/discourse/components/chat/drawer-routes/browse.js","discourse/plugins/chat/discourse/components/chat/drawer-routes/channel-info-members.js","discourse/plugins/chat/discourse/components/chat/drawer-routes/channel-info-settings.js","discourse/plugins/chat/discourse/components/chat/drawer-routes/channel-thread.js","discourse/plugins/chat/discourse/components/chat/drawer-routes/channel-threads.js","discourse/plugins/chat/discourse/components/chat/drawer-routes/channel.js","discourse/plugins/chat/discourse/components/chat/drawer-routes/channels.js","discourse/plugins/chat/discourse/components/chat/drawer-routes/direct-messages.js","discourse/plugins/chat/discourse/components/chat/drawer-routes/threads.js","discourse/plugins/chat/discourse/components/chat/footer/unread-indicator.js","discourse/plugins/chat/discourse/components/chat/form.js","discourse/plugins/chat/discourse/components/chat/form/row.js","discourse/plugins/chat/discourse/components/chat/form/section.js","discourse/plugins/chat/discourse/components/chat/header/icon.js","discourse/plugins/chat/discourse/components/chat/header/icon/unread-indicator.js","discourse/plugins/chat/discourse/components/chat/list/empty-state.js","discourse/plugins/chat/discourse/components/chat/list/index.js","discourse/plugins/chat/discourse/components/chat/list/item.js","discourse/plugins/chat/discourse/components/chat/message-creator/add-members.js","discourse/plugins/chat/discourse/components/chat/message-creator/channel.js","discourse/plugins/chat/discourse/components/chat/message-creator/constants.js","discourse/plugins/chat/discourse/components/chat/message-creator/group.js","discourse/plugins/chat/discourse/components/chat/message-creator/index.js","discourse/plugins/chat/discourse/components/chat/message-creator/lib/chatables-loader.js","discourse/plugins/chat/discourse/components/chat/message-creator/lib/iterate-list.js","discourse/plugins/chat/discourse/components/chat/message-creator/list-action.js","discourse/plugins/chat/discourse/components/chat/message-creator/list-handler.js","discourse/plugins/chat/discourse/components/chat/message-creator/list.js","discourse/plugins/chat/discourse/components/chat/message-creator/member.js","discourse/plugins/chat/discourse/components/chat/message-creator/members-count.js","discourse/plugins/chat/discourse/components/chat/message-creator/members-selector.js","discourse/plugins/chat/discourse/components/chat/message-creator/members.js","discourse/plugins/chat/discourse/components/chat/message-creator/new-group.js","discourse/plugins/chat/discourse/components/chat/message-creator/search-input.js","discourse/plugins/chat/discourse/components/chat/message-creator/search.js","discourse/plugins/chat/discourse/components/chat/message-creator/user.js","discourse/plugins/chat/discourse/components/chat/message/avatar.js","discourse/plugins/chat/discourse/components/chat/message/error.js","discourse/plugins/chat/discourse/components/chat/message/info.js","discourse/plugins/chat/discourse/components/chat/message/left-gutter.js","discourse/plugins/chat/discourse/components/chat/modal/archive-channel.js","discourse/plugins/chat/discourse/components/chat/modal/create-channel.js","discourse/plugins/chat/discourse/components/chat/modal/delete-channel.js","discourse/plugins/chat/discourse/components/chat/modal/delete-messages-confirm.js","discourse/plugins/chat/discourse/components/chat/modal/edit-channel-description.js","discourse/plugins/chat/discourse/components/chat/modal/edit-channel-name.js","discourse/plugins/chat/discourse/components/chat/modal/move-message-to-channel.js","discourse/plugins/chat/discourse/components/chat/modal/new-message.js","discourse/plugins/chat/discourse/components/chat/modal/thread-settings.js","discourse/plugins/chat/discourse/components/chat/modal/toggle-channel-status.js","discourse/plugins/chat/discourse/components/chat/navbar/actions.js","discourse/plugins/chat/discourse/components/chat/navbar/back-button.js","discourse/plugins/chat/discourse/components/chat/navbar/browse-channels-button.js","discourse/plugins/chat/discourse/components/chat/navbar/channel-title.js","discourse/plugins/chat/discourse/components/chat/navbar/close-drawer-button.js","discourse/plugins/chat/discourse/components/chat/navbar/close-thread-button.js","discourse/plugins/chat/discourse/components/chat/navbar/close-threads-button.js","discourse/plugins/chat/discourse/components/chat/navbar/full-page-button.js","discourse/plugins/chat/discourse/components/chat/navbar/index.js","discourse/plugins/chat/discourse/components/chat/navbar/new-channel-button.js","discourse/plugins/chat/discourse/components/chat/navbar/new-direct-message-button.js","discourse/plugins/chat/discourse/components/chat/navbar/open-drawer-button.js","discourse/plugins/chat/discourse/components/chat/navbar/sub-title.js","discourse/plugins/chat/discourse/components/chat/navbar/thread-settings-button.js","discourse/plugins/chat/discourse/components/chat/navbar/thread-tracking-dropdown.js","discourse/plugins/chat/discourse/components/chat/navbar/threads-list-button.js","discourse/plugins/chat/discourse/components/chat/navbar/title.js","discourse/plugins/chat/discourse/components/chat/navbar/toggle-drawer-button.js","discourse/plugins/chat/discourse/components/chat/notices/mention_without_membership.js","discourse/plugins/chat/discourse/components/chat/routes/channel-info-members.js","discourse/plugins/chat/discourse/components/chat/routes/channel-info-nav.js","discourse/plugins/chat/discourse/components/chat/routes/channel-info-settings.js","discourse/plugins/chat/discourse/components/chat/routes/channel-info.js","discourse/plugins/chat/discourse/components/chat/routes/channel-thread.js","discourse/plugins/chat/discourse/components/chat/routes/channel-threads.js","discourse/plugins/chat/discourse/components/chat/routes/channel.js","discourse/plugins/chat/discourse/components/chat/routes/channels.js","discourse/plugins/chat/discourse/components/chat/routes/direct-messages.js","discourse/plugins/chat/discourse/components/chat/routes/threads.js","discourse/plugins/chat/discourse/components/chat/scroll-to-bottom-arrow.js","discourse/plugins/chat/discourse/components/chat/selection-manager.js","discourse/plugins/chat/discourse/components/chat/thread-list/header.js","discourse/plugins/chat/discourse/components/chat/thread-list/item.js","discourse/plugins/chat/discourse/components/chat/thread/header-unread-indicator.js","discourse/plugins/chat/discourse/components/chat/thread/header.js","discourse/plugins/chat/discourse/components/collapser.js","discourse/plugins/chat/discourse/components/full-page-chat.js","discourse/plugins/chat/discourse/components/reviewable-chat-message.js","discourse/plugins/chat/discourse/components/styleguide/chat-composer-message-details.js","discourse/plugins/chat/discourse/components/styleguide/chat-composer.js","discourse/plugins/chat/discourse/components/styleguide/chat-header-icon.js","discourse/plugins/chat/discourse/components/styleguide/chat-message.js","discourse/plugins/chat/discourse/components/styleguide/chat-modal-archive-channel.js","discourse/plugins/chat/discourse/components/styleguide/chat-modal-create-channel.js","discourse/plugins/chat/discourse/components/styleguide/chat-modal-delete-channel.js","discourse/plugins/chat/discourse/components/styleguide/chat-modal-edit-channel-description.js","discourse/plugins/chat/discourse/components/styleguide/chat-modal-edit-channel-name.js","discourse/plugins/chat/discourse/components/styleguide/chat-modal-move-message-to-channel.js","discourse/plugins/chat/discourse/components/styleguide/chat-modal-new-message.js","discourse/plugins/chat/discourse/components/styleguide/chat-modal-thread-settings.js","discourse/plugins/chat/discourse/components/styleguide/chat-modal-toggle-channel-status.js","discourse/plugins/chat/discourse/components/styleguide/chat-thread-list-item.js","discourse/plugins/chat/discourse/components/styleguide/organisms/chat.js","discourse/plugins/chat/discourse/components/svg/chat-zero.js","discourse/plugins/chat/discourse/components/thread-notifications-tracking.js","discourse/plugins/chat/discourse/components/thread-title/index.js","discourse/plugins/chat/discourse/components/thread-unread-indicator/index.js","discourse/plugins/chat/discourse/components/toggle-channel-membership-button.js","discourse/plugins/chat/discourse/components/user-menu/chat-notifications-list-empty-state.js","discourse/plugins/chat/discourse/components/user-menu/chat-notifications-list.js","discourse/plugins/chat/discourse/components/user-threads/index.js","discourse/plugins/chat/discourse/components/user-threads/preview.js","discourse/plugins/chat/discourse/connectors/above-site-header/chat-body-class.js","discourse/plugins/chat/discourse/connectors/below-footer/chat-drawer-outlet.js","discourse/plugins/chat/discourse/connectors/below-footer/chat-message-actions-desktop-outlet.js","discourse/plugins/chat/discourse/connectors/chat-composer-inline-buttons/emoji-picker.js","discourse/plugins/chat/discourse/connectors/home-logo-wrapper/chat-header-connector.js","discourse/plugins/chat/discourse/connectors/user-card-below-message-button/chat-button.js","discourse/plugins/chat/discourse/connectors/user-preferences-nav/chat-preferences.js","discourse/plugins/chat/discourse/connectors/user-profile-controls/chat-button.js","discourse/plugins/chat/discourse/controllers/chat-channel-index.js","discourse/plugins/chat/discourse/controllers/chat-channel-thread.js","discourse/plugins/chat/discourse/controllers/chat-channel.js","discourse/plugins/chat/discourse/controllers/chat-draft-channel.js","discourse/plugins/chat/discourse/controllers/chat-index.js","discourse/plugins/chat/discourse/controllers/chat-new-message.js","discourse/plugins/chat/discourse/controllers/chat.js","discourse/plugins/chat/discourse/controllers/preferences-chat.js","discourse/plugins/chat/discourse/helpers/chat-guardian.js","discourse/plugins/chat/discourse/helpers/first-visible-message-id.js","discourse/plugins/chat/discourse/helpers/format-chat-date.js","discourse/plugins/chat/discourse/initializers/chat-audio.js","discourse/plugins/chat/discourse/initializers/chat-decorators.js","discourse/plugins/chat/discourse/initializers/chat-keyboard-shortcuts.js","discourse/plugins/chat/discourse/initializers/chat-plugin-decorators.js","discourse/plugins/chat/discourse/initializers/chat-setup.js","discourse/plugins/chat/discourse/initializers/chat-sidebar.js","discourse/plugins/chat/discourse/initializers/chat-user-menu.js","discourse/plugins/chat/discourse/initializers/chat-user-options.js","discourse/plugins/chat/discourse/lib/chat-channel-subscription-manager.js","discourse/plugins/chat/discourse/lib/chat-channel-thread-subscription-manager.js","discourse/plugins/chat/discourse/lib/chat-composer-buttons.js","discourse/plugins/chat/discourse/lib/chat-constants.js","discourse/plugins/chat/discourse/lib/chat-ios-hacks.js","discourse/plugins/chat/discourse/lib/chat-message-container.js","discourse/plugins/chat/discourse/lib/chat-message-flag.js","discourse/plugins/chat/discourse/lib/chat-message-interactor.js","discourse/plugins/chat/discourse/lib/chat-messages-loader.js","discourse/plugins/chat/discourse/lib/chat-messages-manager.js","discourse/plugins/chat/discourse/lib/chat-notification-levels.js","discourse/plugins/chat/discourse/lib/chat-threads-manager.js","discourse/plugins/chat/discourse/lib/chat-user-preferences.js","discourse/plugins/chat/discourse/lib/check-message-visibility.js","discourse/plugins/chat/discourse/lib/collection.js","discourse/plugins/chat/discourse/lib/dates-separators-positioner.js","discourse/plugins/chat/discourse/lib/extract-current-topic-info.js","discourse/plugins/chat/discourse/lib/fabricators.js","discourse/plugins/chat/discourse/lib/get-reaction-text.js","discourse/plugins/chat/discourse/lib/get-user-chat-separate-sidebar-mode.js","discourse/plugins/chat/discourse/lib/hashtag-types/channel.js","discourse/plugins/chat/discourse/lib/init-sidebar-state.js","discourse/plugins/chat/discourse/lib/lightbox.js","discourse/plugins/chat/discourse/lib/scroll-helpers.js","discourse/plugins/chat/discourse/lib/slugify-channel.js","discourse/plugins/chat/discourse/lib/textarea-interactor.js","discourse/plugins/chat/discourse/lib/transform-auto-links.js","discourse/plugins/chat/discourse/models/chat-channel-archive.js","discourse/plugins/chat/discourse/models/chat-channel.js","discourse/plugins/chat/discourse/models/chat-chatable.js","discourse/plugins/chat/discourse/models/chat-direct-message.js","discourse/plugins/chat/discourse/models/chat-message-reaction.js","discourse/plugins/chat/discourse/models/chat-message.js","discourse/plugins/chat/discourse/models/chat-notice.js","discourse/plugins/chat/discourse/models/chat-thread-preview.js","discourse/plugins/chat/discourse/models/chat-thread.js","discourse/plugins/chat/discourse/models/chat-tracking-state.js","discourse/plugins/chat/discourse/models/user-chat-channel-membership.js","discourse/plugins/chat/discourse/models/user-chat-thread-membership.js","discourse/plugins/chat/discourse/modifiers/chat/later-fn.js","discourse/plugins/chat/discourse/modifiers/chat/on-animation-end.js","discourse/plugins/chat/discourse/modifiers/chat/on-long-press.js","discourse/plugins/chat/discourse/modifiers/chat/on-scroll.js","discourse/plugins/chat/discourse/modifiers/chat/resizable-node.js","discourse/plugins/chat/discourse/modifiers/chat/scrollable-list.js","discourse/plugins/chat/discourse/modifiers/chat/track-message-separator-date.js","discourse/plugins/chat/discourse/modifiers/chat/track-message.js","discourse/plugins/chat/discourse/pre-initializers/chat-plugin-api.js","discourse/plugins/chat/discourse/preferences-chat-route-map.js","discourse/plugins/chat/discourse/routes/chat-browse-archived.js","discourse/plugins/chat/discourse/routes/chat-browse-index.js","discourse/plugins/chat/discourse/routes/chat-channel-decorator.js","discourse/plugins/chat/discourse/routes/chat-channel-info-index.js","discourse/plugins/chat/discourse/routes/chat-channel-info-members.js","discourse/plugins/chat/discourse/routes/chat-channel-info.js","discourse/plugins/chat/discourse/routes/chat-channel-legacy.js","discourse/plugins/chat/discourse/routes/chat-channel-near-message-with-thread.js","discourse/plugins/chat/discourse/routes/chat-channel-near-message.js","discourse/plugins/chat/discourse/routes/chat-channel-thread-near-message.js","discourse/plugins/chat/discourse/routes/chat-channel-thread.js","discourse/plugins/chat/discourse/routes/chat-channel-threads.js","discourse/plugins/chat/discourse/routes/chat-channel.js","discourse/plugins/chat/discourse/routes/chat-channels.js","discourse/plugins/chat/discourse/routes/chat-direct-messages.js","discourse/plugins/chat/discourse/routes/chat-draft-channel.js","discourse/plugins/chat/discourse/routes/chat-index.js","discourse/plugins/chat/discourse/routes/chat-new-message.js","discourse/plugins/chat/discourse/routes/chat-threads.js","discourse/plugins/chat/discourse/routes/chat.js","discourse/plugins/chat/discourse/routes/preferences-chat.js","discourse/plugins/chat/discourse/services/chat-admin-api.js","discourse/plugins/chat/discourse/services/chat-api.js","discourse/plugins/chat/discourse/services/chat-audio-manager.js","discourse/plugins/chat/discourse/services/chat-channel-composer.js","discourse/plugins/chat/discourse/services/chat-channel-info-route-origin-manager.js","discourse/plugins/chat/discourse/services/chat-channel-notices-manager.js","discourse/plugins/chat/discourse/services/chat-channel-pane.js","discourse/plugins/chat/discourse/services/chat-channel-scroll-positions.js","discourse/plugins/chat/discourse/services/chat-channels-manager.js","discourse/plugins/chat/discourse/services/chat-composer-warnings-tracker.js","discourse/plugins/chat/discourse/services/chat-drafts-manager.js","discourse/plugins/chat/discourse/services/chat-drawer-router.js","discourse/plugins/chat/discourse/services/chat-drawer-size.js","discourse/plugins/chat/discourse/services/chat-guardian.js","discourse/plugins/chat/discourse/services/chat-history.js","discourse/plugins/chat/discourse/services/chat-notification-manager.js","discourse/plugins/chat/discourse/services/chat-state-manager.js","discourse/plugins/chat/discourse/services/chat-subscriptions-manager.js","discourse/plugins/chat/discourse/services/chat-thread-composer.js","discourse/plugins/chat/discourse/services/chat-thread-list-pane.js","discourse/plugins/chat/discourse/services/chat-thread-pane.js","discourse/plugins/chat/discourse/services/chat-tracking-state-manager.js","discourse/plugins/chat/discourse/services/chat.js","discourse/plugins/chat/discourse/services/interacted-chat-message.js","discourse/plugins/chat/discourse/templates/chat-browse-all.js","discourse/plugins/chat/discourse/templates/chat-browse-archived.js","discourse/plugins/chat/discourse/templates/chat-browse-closed.js","discourse/plugins/chat/discourse/templates/chat-browse-open.js","discourse/plugins/chat/discourse/templates/chat-browse.js","discourse/plugins/chat/discourse/templates/chat-channel-info-members.js","discourse/plugins/chat/discourse/templates/chat-channel-info-settings.js","discourse/plugins/chat/discourse/templates/chat-channel-info.js","discourse/plugins/chat/discourse/templates/chat-channel-thread.js","discourse/plugins/chat/discourse/templates/chat-channel-threads.js","discourse/plugins/chat/discourse/templates/chat-channel.js","discourse/plugins/chat/discourse/templates/chat-channels.js","discourse/plugins/chat/discourse/templates/chat-direct-messages.js","discourse/plugins/chat/discourse/templates/chat-index.js","discourse/plugins/chat/discourse/templates/chat-threads.js","discourse/plugins/chat/discourse/templates/chat.js","discourse/plugins/chat/discourse/templates/preferences/chat.js","discourse/plugins/chat/lib/discourse-markdown/chat-html-inline.js","discourse/plugins/chat/lib/discourse-markdown/chat-transcript.js","discourse/plugins/chat/lib/rich-editor-extension.js"],"sourcesContent":["define(\"discourse/plugins/chat/discourse/adapters/chat-message\", [\"exports\", \"discourse/adapters/rest\"], function (_exports, _rest) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatMessage extends _rest.default {\n pathFor(store, type, findArgs) {\n if (findArgs.targetMessageId) {\n return `/chat/lookup/${findArgs.targetMessageId}.json?chat_channel_id=${findArgs.channelId}`;\n }\n let path = `/chat/${findArgs.channelId}/messages.json?page_size=${findArgs.pageSize}`;\n if (findArgs.messageId) {\n path += `&message_id=${findArgs.messageId}`;\n }\n if (findArgs.direction) {\n path += `&direction=${findArgs.direction}`;\n }\n return path;\n }\n apiNameFor() {\n return \"chat-message\";\n }\n }\n _exports.default = ChatMessage;\n});","define(\"discourse/plugins/chat/discourse/admin-chat-route-map\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = _exports.default = {\n resource: \"admin.adminPlugins.show\",\n path: \"/plugins\",\n map() {\n this.route(\"discourse-chat-incoming-webhooks\", {\n path: \"hooks\"\n }, function () {\n this.route(\"new\");\n this.route(\"edit\", {\n path: \"/:id/edit\"\n });\n });\n }\n };\n});","define(\"discourse/plugins/chat/discourse/chat-route-map\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = _default;\n function _default() {\n this.route(\"chat\", function () {\n this.route(\"channel\", {\n path: \"/c/:channelTitle/:channelId\"\n }, function () {\n this.route(\"near-message\", {\n path: \"/:messageId\"\n });\n this.route(\"near-message-with-thread\", {\n path: \"/:messageId/t/:threadId\"\n });\n this.route(\"threads\", {\n path: \"/t\"\n });\n this.route(\"thread\", {\n path: \"/t/:threadId\"\n }, function () {\n this.route(\"near-message\", {\n path: \"/:messageId\"\n });\n });\n });\n this.route(\"direct-messages\");\n this.route(\"channels\");\n this.route(\"threads\");\n this.route(\"new-message\");\n this.route(\"channel.info\", {\n path: \"/c/:channelTitle/:channelId/info\"\n }, function () {\n this.route(\"members\");\n this.route(\"settings\");\n });\n this.route(\"browse\", function () {\n this.route(\"all\");\n this.route(\"closed\");\n this.route(\"open\");\n this.route(\"archived\");\n });\n this.route(\"message\", {\n path: \"/message/:messageId\"\n });\n });\n }\n});","define(\"discourse/plugins/chat/discourse/components/browse-channels\", [\"exports\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/helper\", \"@ember/object\", \"@ember/render-modifiers/modifiers/did-insert\", \"@ember/routing\", \"@ember/runloop\", \"@ember/service\", \"truth-helpers\", \"discourse/components/empty-state\", \"discourse/components/filter-input\", \"discourse/lib/debounce\", \"discourse/lib/environment\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/chat/list\", \"discourse/plugins/chat/discourse/components/chat/modal/new-message\", \"discourse/plugins/chat/discourse/components/chat-channel-card\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _tracking, _helper, _object, _didInsert, _routing, _runloop, _service, _truthHelpers, _emptyState, _filterInput, _debounce, _environment, _discourseI18n, _list, _newMessage, _chatChannelCard, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const ARCHIVED = \"archived\";\n const ALL = \"all\";\n const OPEN = \"open\";\n const CLOSED = \"closed\";\n const TABS = [ALL, OPEN, CLOSED, ARCHIVED];\n class BrowseChannels extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chatApi\", [_service.service]))();\n #chatApi = (() => (dt7948.i(this, \"chatApi\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"modal\", [_service.service]))();\n #modal = (() => (dt7948.i(this, \"modal\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"filter\", [_tracking.tracked], function () {\n return \"\";\n }))();\n #filter = (() => (dt7948.i(this, \"filter\"), void 0))();\n get currentTab() {\n return this.args.currentTab ?? ALL;\n }\n get channelsCollection() {\n return this.chatApi.channels({\n filter: this.filter,\n status: this.currentTab\n });\n }\n static #_5 = (() => dt7948.n(this.prototype, \"channelsCollection\", [_tracking.cached]))();\n get tabs() {\n if (this.siteSettings.chat_allow_archiving_channels) {\n return TABS;\n } else {\n return [...TABS].removeObject(ARCHIVED);\n }\n }\n showChatNewMessageModal() {\n this.modal.show(_newMessage.default);\n }\n static #_6 = (() => dt7948.n(this.prototype, \"showChatNewMessageModal\", [_object.action]))();\n setFilter(event) {\n this.filter = event.target.value;\n (0, _debounce.default)(this.debouncedLoad, _environment.INPUT_DELAY);\n }\n static #_7 = (() => dt7948.n(this.prototype, \"setFilter\", [_object.action]))();\n debouncedLoad() {\n this.channelsCollection.load({\n limit: 10\n });\n }\n static #_8 = (() => dt7948.n(this.prototype, \"debouncedLoad\", [_object.action]))();\n focusFilterInput(input) {\n (0, _runloop.schedule)(\"afterRender\", () => input?.focus());\n }\n static #_9 = (() => dt7948.n(this.prototype, \"focusFilterInput\", [_object.action]))();\n static #_10 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
\n
\n \n \n \n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n
\n
\n
\n \n */\n {\n \"id\": \"PcinPsMg\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-browse-view\\\"],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-browse-view__actions\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"nav\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"ul\\\"],[14,0,\\\"nav-pills chat-browse-view__filters\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[31,1],[[28,[31,1],[[30,0,[\\\"tabs\\\"]]],null]],null],null,[[[1,\\\" \\\"],[10,\\\"li\\\"],[15,0,[28,[32,0],[\\\"chat-browse-view__filter -\\\",[30,1]],null]],[12],[1,\\\"\\\\n \\\"],[8,[32,1],[[16,0,[28,[32,0],[\\\"chat-browse-view__filter-link -\\\",[30,1]],null]]],[[\\\"@route\\\",\\\"@current-when\\\"],[[28,[32,0],[\\\"chat.browse.\\\",[30,1]],null],[28,[32,2],[[30,1],[30,0,[\\\"currentTab\\\"]]],null]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[1,[28,[32,3],[[28,[32,0],[\\\"chat.browse.filter_\\\",[30,1]],null]],null]],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[1]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\\n \\\"],[8,[32,4],[[16,\\\"placeholder\\\",[28,[32,3],[\\\"chat.browse.filter_input_placeholder\\\"],null]],[4,[32,6],[[30,0,[\\\"focusFilterInput\\\"]]],null]],[[\\\"@filterAction\\\",\\\"@icons\\\"],[[30,0,[\\\"setFilter\\\"]],[28,[32,5],null,[[\\\"right\\\"],[\\\"magnifying-glass\\\"]]]]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\\n \\\"],[10,0],[14,0,\\\"chat-browse-view__content_wrapper\\\"],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-browse-view__content\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,7],[[24,0,\\\"chat-browse-view__cards\\\"]],[[\\\"@collection\\\"],[[30,0,[\\\"channelsCollection\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[30,2,[\\\"Item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,8],null,[[\\\"@channel\\\"],[[30,3]]],null],[1,\\\"\\\\n \\\"]],[3]]]]],[1,\\\"\\\\n\\\\n \\\"],[8,[30,2,[\\\"EmptyState\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,9],null,[[\\\"@title\\\",\\\"@body\\\",\\\"@ctaLabel\\\",\\\"@ctaAction\\\"],[[28,[32,3],[\\\"chat.empty_state.title\\\"],null],[28,[32,3],[\\\"chat.empty_state.direct_message\\\"],null],[28,[32,3],[\\\"chat.empty_state.direct_message_cta\\\"],null],[30,0,[\\\"showChatNewMessageModal\\\"]]]],null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[2]]]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"tab\\\",\\\"list\\\",\\\"channel\\\"],false,[\\\"each\\\",\\\"-track-array\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/browse-channels.js\",\n \"scope\": () => [_helper.concat, _routing.LinkTo, _truthHelpers.eq, _discourseI18n.i18n, _filterInput.default, _helper.hash, _didInsert.default, _list.default, _chatChannelCard.default, _emptyState.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = BrowseChannels;\n});","define(\"discourse/plugins/chat/discourse/components/channel-icon/index\", [\"exports\", \"@glimmer/component\", \"@ember/template\", \"discourse/helpers/d-icon\", \"discourse/plugins/chat/discourse/components/chat-user-avatar\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _template, _dIcon, _chatUserAvatar, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatChannelIcon extends _component.default {\n get firstUser() {\n return this.args.channel.chatable.users[0];\n }\n get groupDirectMessage() {\n return this.args.channel.isDirectMessageChannel && this.args.channel.chatable.group;\n }\n get channelColorStyle() {\n return (0, _template.htmlSafe)(`color: #${this.args.channel.chatable.color}`);\n }\n get isThreadsList() {\n return this.args.thread ?? false;\n }\n static #_ = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if @channel.isDirectMessageChannel}}\n
\n {{#if @channel.iconUploadUrl}}\n \n \n \n {{else if this.groupDirectMessage}}\n \n {{@channel.membershipsCount}}\n \n {{else}}\n
\n \n
\n {{/if}}\n
\n {{else if @channel.isCategoryChannel}}\n
\n \n {{icon \"d-chat\"}}\n {{#if @channel.chatable.read_restricted}}\n {{icon \"lock\" class=\"chat-channel-icon__restricted-category-icon\"}}\n {{/if}}\n \n
\n {{else if this.isThreadsList}}\n
\n
\n \n
\n {{icon \"discourse-threads\"}}\n
\n
\n
\n {{/if}}\n \n */\n {\n \"id\": \"a97XNhFv\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"isDirectMessageChannel\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-channel-icon\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"iconUploadUrl\\\"]],[[[1,\\\" \\\"],[10,1],[14,0,\\\"chat-channel-icon --avatar --custom-icon\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"img\\\"],[15,\\\"src\\\",[30,1,[\\\"iconUploadUrl\\\"]]],[12],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[41,[30,0,[\\\"groupDirectMessage\\\"]],[[[1,\\\" \\\"],[10,1],[14,0,\\\"chat-channel-icon --users-count\\\"],[12],[1,\\\"\\\\n \\\"],[1,[30,1,[\\\"membershipsCount\\\"]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-channel-icon --avatar\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,0],null,[[\\\"@user\\\",\\\"@interactive\\\"],[[30,0,[\\\"firstUser\\\"]],false]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[]]]],[]]],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[41,[30,1,[\\\"isCategoryChannel\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-channel-icon\\\"],[12],[1,\\\"\\\\n \\\"],[10,1],[14,0,\\\"chat-channel-icon --category-badge\\\"],[15,5,[30,0,[\\\"channelColorStyle\\\"]]],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,1],[\\\"d-chat\\\"],null]],[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"chatable\\\",\\\"read_restricted\\\"]],[[[1,\\\" \\\"],[1,[28,[32,1],[\\\"lock\\\"],[[\\\"class\\\"],[\\\"chat-channel-icon__restricted-category-icon\\\"]]]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[41,[30,0,[\\\"isThreadsList\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-channel-icon\\\"],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-channel-icon --avatar\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,0],null,[[\\\"@user\\\",\\\"@interactive\\\",\\\"@showPresence\\\"],[[30,2,[\\\"preview\\\",\\\"lastReplyUser\\\"]],true,false]],null],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"avatar-flair --threads\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,1],[\\\"discourse-threads\\\"],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[]],null]],[]]]],[]]],[1,\\\" \\\"]],[\\\"@channel\\\",\\\"@thread\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/channel-icon/index.js\",\n \"scope\": () => [_chatUserAvatar.default, _dIcon.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatChannelIcon;\n});","define(\"discourse/plugins/chat/discourse/components/channel-name/index\", [\"exports\", \"@glimmer/component\", \"@ember/helper\", \"@ember/service\", \"@ember/template\", \"discourse/components/plugin-outlet\", \"discourse/components/user-status-message\", \"discourse/helpers/lazy-hash\", \"discourse/helpers/replace-emoji\", \"discourse/plugins/chat/discourse/components/chat-channel-unread-indicator\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _helper, _service, _template, _pluginOutlet, _userStatusMessage, _lazyHash, _replaceEmoji, _chatChannelUnreadIndicator, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatChannelName extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n get unreadIndicator() {\n return this.args.unreadIndicator ?? false;\n }\n get users() {\n return this.args.channel.chatable.users;\n }\n get prefersName() {\n return this.siteSettings.enable_names && this.siteSettings.display_name_on_posts && !this.siteSettings.prioritize_username_in_ux;\n }\n get directMessageTitle() {\n if (this.users.length === 0) {\n return this.prefersName ? this.currentUser.name || this.currentUser.username : this.currentUser.username;\n }\n return this.prefersName ? this.users.map(user => user.name || user.username).join(\", \") : this.users.mapBy(\"username\").join(\", \");\n }\n get channelColorStyle() {\n return (0, _template.htmlSafe)(`color: #${this.args.channel.chatable.color}`);\n }\n get showUserStatus() {\n if (!this.args.channel.isDirectMessageChannel) {\n return false;\n }\n return !!(this.users.length === 1 && this.users[0].status);\n }\n get channelTitle() {\n if (this.args.channel.isDirectMessageChannel) {\n return this.args.channel.title ?? this.directMessageTitle;\n }\n return this.args.channel.title;\n }\n get showPluginOutlet() {\n return this.args.channel.isDirectMessageChannel && !this.args.channel.chatable.group;\n }\n static #_3 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
\n
\n {{replaceEmoji this.channelTitle}}\n \n {{#if this.showUserStatus}}\n \n {{/if}}\n \n {{#if this.showPluginOutlet}}\n \n {{/if}}\n \n {{#if (has-block)}}\n {{yield}}\n {{/if}}\n
\n \n {{#if this.unreadIndicator}}\n \n {{/if}}\n
\n \n */\n {\n \"id\": \"xDEEWMYa\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-channel-name\\\"],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-channel-name__label\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,0],[[30,0,[\\\"channelTitle\\\"]]],null]],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"showUserStatus\\\"]],[[[1,\\\" \\\"],[8,[32,1],[[24,0,\\\"chat-channel__user-status-message\\\"]],[[\\\"@status\\\",\\\"@showDescription\\\"],[[28,[32,2],[[30,0,[\\\"users\\\"]],\\\"0.status\\\"],null],[52,[30,0,[\\\"site\\\",\\\"mobileView\\\"]],\\\"true\\\"]]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"showPluginOutlet\\\"]],[[[1,\\\" \\\"],[8,[32,3],null,[[\\\"@name\\\",\\\"@outletArgs\\\",\\\"@tagName\\\",\\\"@connectorTagName\\\"],[\\\"after-chat-channel-username\\\",[28,[32,4],null,[[\\\"user\\\"],[[30,1]]]],\\\"\\\",\\\"\\\"]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[48,[30,3]],[[[1,\\\" \\\"],[18,3,null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"unreadIndicator\\\"]],[[[1,\\\" \\\"],[8,[32,5],null,[[\\\"@channel\\\"],[[30,2]]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"@user\\\",\\\"@channel\\\",\\\"&default\\\"],false,[\\\"if\\\",\\\"has-block\\\",\\\"yield\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/channel-name/index.js\",\n \"scope\": () => [_replaceEmoji.default, _userStatusMessage.default, _helper.get, _pluginOutlet.default, _lazyHash.default, _chatChannelUnreadIndicator.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatChannelName;\n});","define(\"discourse/plugins/chat/discourse/components/channel-title/index\", [\"exports\", \"discourse/helpers/concat-class\", \"discourse/plugins/chat/discourse/components/channel-icon\", \"discourse/plugins/chat/discourse/components/channel-name\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _concatClass, _channelIcon, _channelName, _component, _templateFactory, _templateOnly) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const ChatChannelTitle = (0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n \n \n \n {{#if @isUnread}}\n
\n {{/if}}\n \n {{#if (has-block)}}\n {{yield}}\n {{/if}}\n \n \n */\n {\n \"id\": \"iYBpNouA\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[15,0,[28,[32,0],[\\\"chat-channel-title\\\",[52,[30,1,[\\\"isDirectMessageChannel\\\"]],\\\"is-dm\\\",\\\"is-category\\\"]],null]],[12],[1,\\\"\\\\n \\\"],[8,[32,1],null,[[\\\"@channel\\\"],[[30,1]]],null],[1,\\\"\\\\n \\\"],[8,[32,2],null,[[\\\"@channel\\\"],[[30,1]]],null],[1,\\\"\\\\n\\\\n\\\"],[41,[30,2],[[[1,\\\" \\\"],[10,0],[15,0,[29,[\\\"unread-indicator \\\",[52,[30,3],\\\"-urgent\\\"]]]],[12],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[48,[30,4]],[[[1,\\\" \\\"],[18,4,null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\"]],[\\\"@channel\\\",\\\"@isUnread\\\",\\\"@isUrgent\\\",\\\"&default\\\"],false,[\\\"if\\\",\\\"has-block\\\",\\\"yield\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/channel-title/index.js\",\n \"scope\": () => [_concatClass.default, _channelIcon.default, _channelName.default],\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, \"channel-title:ChatChannelTitle\"));\n var _default = _exports.default = ChatChannelTitle;\n});","define(\"discourse/plugins/chat/discourse/components/channels-list-direct\", [\"exports\", \"@glimmer/component\", \"@ember/helper\", \"@ember/modifier\", \"@ember/object\", \"@ember/service\", \"truth-helpers\", \"discourse/components/d-button\", \"discourse/components/empty-state\", \"discourse/components/plugin-outlet\", \"discourse/helpers/concat-class\", \"discourse/helpers/d-icon\", \"discourse/helpers/lazy-hash\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/chat/modal/new-message\", \"discourse/plugins/chat/discourse/components/chat-channel-row\", \"discourse/plugins/chat/discourse/components/svg/chat-zero\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _helper, _modifier, _object, _service, _truthHelpers, _dButton, _emptyState, _pluginOutlet, _concatClass, _dIcon, _lazyHash, _discourseI18n, _newMessage, _chatChannelRow, _chatZero, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChannelsListDirect extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"chatChannelsManager\", [_service.service]))();\n #chatChannelsManager = (() => (dt7948.i(this, \"chatChannelsManager\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"chatStateManager\", [_service.service]))();\n #chatStateManager = (() => (dt7948.i(this, \"chatStateManager\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n static #_6 = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n static #_7 = (() => dt7948.g(this.prototype, \"modal\", [_service.service]))();\n #modal = (() => (dt7948.i(this, \"modal\"), void 0))();\n get inSidebar() {\n return this.args.inSidebar ?? false;\n }\n get createDirectMessageChannelLabel() {\n if (!this.canCreateDirectMessageChannel) {\n return \"chat.direct_messages.cannot_create\";\n }\n return \"chat.direct_messages.new\";\n }\n get showDirectMessageChannels() {\n return this.canCreateDirectMessageChannel || !this.directMessageChannelsEmpty;\n }\n get canCreateDirectMessageChannel() {\n return this.chat.userCanDirectMessage;\n }\n get directMessageChannelsEmpty() {\n return this.chatChannelsManager.directMessageChannels?.length === 0;\n }\n toggleChannelSection(section) {\n this.args.toggleSection(section);\n }\n static #_8 = (() => dt7948.n(this.prototype, \"toggleChannelSection\", [_object.action]))();\n openNewMessageModal() {\n this.modal.show(_newMessage.default);\n }\n static #_9 = (() => dt7948.n(this.prototype, \"openNewMessageModal\", [_object.action]))();\n static #_10 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if\n (and\n this.showDirectMessageChannels\n (or\n this.site.desktopView\n (not this.chatChannelsManager.displayPublicChannels)\n )\n )\n }}\n
\n {{#if this.inSidebar}}\n \n {{icon \"angle-up\"}}\n \n {{/if}}\n \n {{i18n \"chat.direct_messages.title\"}}\n \n {{#if this.canCreateDirectMessageChannel}}\n \n {{/if}}\n
\n {{/if}}\n \n \n {{#if this.directMessageChannelsEmpty}}\n \n {{else}}\n {{#each\n this.chatChannelsManager.truncatedDirectMessageChannels\n as |channel|\n }}\n \n {{/each}}\n {{/if}}\n \n \n \n \n */\n {\n \"id\": \"N8iBmETM\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[28,[32,0],[[30,0,[\\\"showDirectMessageChannels\\\"]],[28,[32,1],[[30,0,[\\\"site\\\",\\\"desktopView\\\"]],[28,[32,2],[[30,0,[\\\"chatChannelsManager\\\",\\\"displayPublicChannels\\\"]]],null]],null]],null],[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-channel-divider direct-message-channels-section\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"inSidebar\\\"]],[[[1,\\\" \\\"],[11,1],[24,0,\\\"title-caret\\\"],[24,1,\\\"direct-message-channels-caret\\\"],[24,\\\"role\\\",\\\"button\\\"],[24,\\\"title\\\",\\\"toggle nav list\\\"],[24,\\\"data-toggleable\\\",\\\"direct-message-channels\\\"],[4,[32,3],[\\\"click\\\",[28,[32,4],[[30,0,[\\\"toggleChannelSection\\\"]],\\\"direct-message-channels\\\"],null]],null],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,5],[\\\"angle-up\\\"],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n \\\"],[10,1],[14,0,\\\"channel-title\\\"],[12],[1,[28,[32,6],[\\\"chat.direct_messages.title\\\"],null]],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"canCreateDirectMessageChannel\\\"]],[[[1,\\\" \\\"],[8,[32,7],[[24,0,\\\"no-text btn-flat open-new-message-btn\\\"],[16,\\\"title\\\",[28,[32,6],[[30,0,[\\\"createDirectMessageChannelLabel\\\"]]],null]]],[[\\\"@icon\\\",\\\"@action\\\"],[\\\"plus\\\",[30,0,[\\\"openNewMessageModal\\\"]]]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n \\\"],[10,0],[14,1,\\\"direct-message-channels\\\"],[15,0,[28,[32,8],[\\\"channels-list-container\\\",\\\"direct-message-channels\\\",[52,[30,0,[\\\"inSidebar\\\"]],\\\"collapsible-sidebar-section\\\"],[52,[30,0,[\\\"directMessageChannelsEmpty\\\"]],\\\"center-empty-channels-list\\\"]],null]],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"directMessageChannelsEmpty\\\"]],[[[1,\\\" \\\"],[8,[32,9],null,[[\\\"@identifier\\\",\\\"@svgContent\\\",\\\"@title\\\",\\\"@ctaLabel\\\",\\\"@ctaAction\\\"],[\\\"empty-channels-list\\\",[32,10],[28,[32,6],[\\\"chat.no_direct_message_channels\\\"],null],[52,[30,0,[\\\"canCreateDirectMessageChannel\\\"]],[28,[32,6],[\\\"chat.no_direct_message_channels_cta\\\"],null]],[30,0,[\\\"openNewMessageModal\\\"]]]],null],[1,\\\"\\\\n\\\"]],[]],[[[42,[28,[31,2],[[28,[31,2],[[30,0,[\\\"chatChannelsManager\\\",\\\"truncatedDirectMessageChannels\\\"]]],null]],null],null,[[[1,\\\" \\\"],[8,[32,11],null,[[\\\"@channel\\\",\\\"@options\\\"],[[30,1],[28,[32,12],null,[[\\\"leaveButton\\\"],[true]]]]],null],[1,\\\"\\\\n\\\"]],[1]],null]],[]]],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\\n \\\"],[8,[32,13],null,[[\\\"@name\\\",\\\"@tagName\\\",\\\"@outletArgs\\\"],[\\\"below-direct-chat-channels\\\",\\\"\\\",[28,[32,14],null,[[\\\"inSidebar\\\"],[[30,0,[\\\"inSidebar\\\"]]]]]]],null],[1,\\\"\\\\n \\\"]],[\\\"channel\\\"],false,[\\\"if\\\",\\\"each\\\",\\\"-track-array\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/channels-list-direct.js\",\n \"scope\": () => [_truthHelpers.and, _truthHelpers.or, _truthHelpers.not, _modifier.on, _helper.fn, _dIcon.default, _discourseI18n.i18n, _dButton.default, _concatClass.default, _emptyState.default, _chatZero.default, _chatChannelRow.default, _helper.hash, _pluginOutlet.default, _lazyHash.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChannelsListDirect;\n});","define(\"discourse/plugins/chat/discourse/components/channels-list-public\", [\"exports\", \"@glimmer/component\", \"@ember/helper\", \"@ember/modifier\", \"@ember/object\", \"@ember/routing\", \"@ember/service\", \"truth-helpers\", \"discourse/components/empty-state\", \"discourse/components/plugin-outlet\", \"discourse/helpers/concat-class\", \"discourse/helpers/d-icon\", \"discourse/helpers/lazy-hash\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/chat-channel-row\", \"discourse/plugins/chat/discourse/components/svg/chat-zero\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _helper, _modifier, _object, _routing, _service, _truthHelpers, _emptyState, _pluginOutlet, _concatClass, _dIcon, _lazyHash, _discourseI18n, _chatChannelRow, _chatZero, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChannelsListPublic extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chatChannelsManager\", [_service.service]))();\n #chatChannelsManager = (() => (dt7948.i(this, \"chatChannelsManager\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"chatStateManager\", [_service.service]))();\n #chatStateManager = (() => (dt7948.i(this, \"chatStateManager\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"chatTrackingStateManager\", [_service.service]))();\n #chatTrackingStateManager = (() => (dt7948.i(this, \"chatTrackingStateManager\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n static #_6 = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n static #_7 = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n get inSidebar() {\n return this.args.inSidebar ?? false;\n }\n get hasUnreadThreads() {\n return this.chatTrackingStateManager.hasUnreadThreads;\n }\n get hasThreadedChannels() {\n return this.chatChannelsManager.hasThreadedChannels;\n }\n get channelList() {\n return this.chatChannelsManager.publicMessageChannelsByActivity;\n }\n toggleChannelSection(section) {\n this.args.toggleSection(section);\n }\n static #_8 = (() => dt7948.n(this.prototype, \"toggleChannelSection\", [_object.action]))();\n openBrowseChannels() {\n this.router.transitionTo(\"chat.browse\");\n }\n static #_9 = (() => dt7948.n(this.prototype, \"openBrowseChannels\", [_object.action]))();\n static #_10 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if (and this.site.desktopView this.inSidebar this.hasThreadedChannels)}}\n \n \n {{icon \"discourse-threads\" class=\"chat-user-threads__icon\"}}\n {{i18n \"chat.my_threads.title\"}}\n \n {{#if this.hasUnreadThreads}}\n
\n
 
\n
\n {{/if}}\n
\n {{/if}}\n \n {{#if\n (and this.chatChannelsManager.displayPublicChannels this.site.desktopView)\n }}\n
\n {{#if this.inSidebar}}\n \n {{icon \"angle-up\"}}\n \n {{/if}}\n \n {{i18n \"chat.chat_channels\"}}\n \n \n {{icon \"pencil\"}}\n \n
\n {{/if}}\n \n \n {{#if this.chatChannelsManager.publicMessageChannelsEmpty}}\n \n {{else}}\n {{#each this.channelList as |channel|}}\n \n {{/each}}\n {{/if}}\n \n \n \n \n */\n {\n \"id\": \"re2epCby\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[28,[32,0],[[30,0,[\\\"site\\\",\\\"desktopView\\\"]],[30,0,[\\\"inSidebar\\\"]],[30,0,[\\\"hasThreadedChannels\\\"]]],null],[[[1,\\\" \\\"],[8,[32,1],[[24,0,\\\"chat-channel-row --threads\\\"]],[[\\\"@route\\\"],[\\\"chat.threads\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[10,1],[14,0,\\\"chat-channel-title\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,2],[\\\"discourse-threads\\\"],[[\\\"class\\\"],[\\\"chat-user-threads__icon\\\"]]]],[1,\\\"\\\\n \\\"],[1,[28,[32,3],[\\\"chat.my_threads.title\\\"],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"hasUnreadThreads\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"c-unread-indicator\\\"],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"c-unread-indicator__number\\\"],[12],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[28,[32,0],[[30,0,[\\\"chatChannelsManager\\\",\\\"displayPublicChannels\\\"]],[30,0,[\\\"site\\\",\\\"desktopView\\\"]]],null],[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-channel-divider public-channels-section\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"inSidebar\\\"]],[[[1,\\\" \\\"],[11,1],[24,0,\\\"title-caret\\\"],[24,1,\\\"public-channels-caret\\\"],[24,\\\"role\\\",\\\"button\\\"],[24,\\\"title\\\",\\\"toggle nav list\\\"],[24,\\\"data-toggleable\\\",\\\"public-channels\\\"],[4,[32,4],[\\\"click\\\",[28,[32,5],[[30,0,[\\\"toggleChannelSection\\\"]],\\\"public-channels\\\"],null]],null],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,2],[\\\"angle-up\\\"],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n \\\"],[10,1],[14,0,\\\"channel-title\\\"],[12],[1,[28,[32,3],[\\\"chat.chat_channels\\\"],null]],[13],[1,\\\"\\\\n\\\\n \\\"],[8,[32,1],[[24,0,\\\"btn no-text btn-flat open-browse-page-btn title-action\\\"],[16,\\\"title\\\",[28,[32,3],[\\\"chat.channels_list_popup.browse\\\"],null]]],[[\\\"@route\\\"],[\\\"chat.browse\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[1,[28,[32,2],[\\\"pencil\\\"],null]],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n \\\"],[10,0],[14,1,\\\"public-channels\\\"],[15,0,[28,[32,6],[\\\"channels-list-container\\\",\\\"public-channels\\\",[52,[30,0,[\\\"inSidebar\\\"]],\\\"collapsible-sidebar-section\\\"]],null]],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"chatChannelsManager\\\",\\\"publicMessageChannelsEmpty\\\"]],[[[1,\\\" \\\"],[8,[32,7],null,[[\\\"@identifier\\\",\\\"@svgContent\\\",\\\"@title\\\",\\\"@ctaLabel\\\",\\\"@ctaAction\\\"],[\\\"empty-channels-list\\\",[32,8],[28,[32,3],[\\\"chat.no_public_channels\\\"],null],[52,[30,0,[\\\"chatChannelsManager\\\",\\\"displayPublicChannels\\\"]],[28,[32,3],[\\\"chat.no_public_channels_cta\\\"],null]],[30,0,[\\\"openBrowseChannels\\\"]]]],null],[1,\\\"\\\\n\\\"]],[]],[[[42,[28,[31,2],[[28,[31,2],[[30,0,[\\\"channelList\\\"]]],null]],null],null,[[[1,\\\" \\\"],[8,[32,9],null,[[\\\"@channel\\\",\\\"@options\\\"],[[30,1],[28,[32,10],null,[[\\\"settingsButton\\\"],[true]]]]],null],[1,\\\"\\\\n\\\"]],[1]],null]],[]]],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\\n \\\"],[8,[32,11],null,[[\\\"@name\\\",\\\"@tagName\\\",\\\"@outletArgs\\\"],[\\\"below-public-chat-channels\\\",\\\"\\\",[28,[32,12],null,[[\\\"inSidebar\\\"],[[30,0,[\\\"inSidebar\\\"]]]]]]],null],[1,\\\"\\\\n \\\"]],[\\\"channel\\\"],false,[\\\"if\\\",\\\"each\\\",\\\"-track-array\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/channels-list-public.js\",\n \"scope\": () => [_truthHelpers.and, _routing.LinkTo, _dIcon.default, _discourseI18n.i18n, _modifier.on, _helper.fn, _concatClass.default, _emptyState.default, _chatZero.default, _chatChannelRow.default, _helper.hash, _pluginOutlet.default, _lazyHash.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChannelsListPublic;\n});","define(\"discourse/plugins/chat/discourse/components/channels-list\", [\"exports\", \"@glimmer/component\", \"@ember/service\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/channels-list-direct\", \"discourse/plugins/chat/discourse/components/channels-list-public\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _service, _discourseI18n, _channelsListDirect, _channelsListPublic, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChannelsList extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n \n \n {{#if this.chat.userCanAccessDirectMessages}}\n \n {{/if}}\n \n \n */\n {\n \"id\": \"zeAt9L8I\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,\\\"role\\\",\\\"region\\\"],[15,\\\"aria-label\\\",[28,[32,0],[\\\"chat.aria_roles.channels_list\\\"],null]],[14,0,\\\"channels-list\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,1],null,null,null],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"chat\\\",\\\"userCanAccessDirectMessages\\\"]],[[[1,\\\" \\\"],[8,[32,2],null,null,null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"]],[],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/channels-list.js\",\n \"scope\": () => [_discourseI18n.i18n, _channelsListPublic.default, _channelsListDirect.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChannelsList;\n});","define(\"discourse/plugins/chat/discourse/components/chat-channel-archive-status\", [\"exports\", \"@glimmer/component\", \"@ember/object\", \"@ember/service\", \"@ember/template\", \"@ember/utils\", \"discourse/components/d-button\", \"discourse/helpers/concat-class\", \"discourse/lib/ajax-error\", \"discourse/lib/get-url\", \"discourse-i18n\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _object, _service, _template, _utils, _dButton, _concatClass, _ajaxError, _getUrl, _discourseI18n, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatChannelArchiveStatus extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chatApi\", [_service.service]))();\n #chatApi = (() => (dt7948.i(this, \"chatApi\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n get shouldRender() {\n return this.currentUser.admin && (0, _utils.isPresent)(this.args.channel.archive);\n }\n get channelArchiveFailedMessage() {\n const archive = this.args.channel.archive;\n const translationKey = !archive.topicId ? \"chat.channel_status.archive_failed_no_topic\" : \"chat.channel_status.archive_failed\";\n return (0, _template.htmlSafe)((0, _discourseI18n.i18n)(translationKey, {\n completed: archive.messages,\n total: archive.totalMessages,\n topic_url: this.topicUrl\n }));\n }\n get channelArchiveCompletedMessage() {\n return (0, _template.htmlSafe)((0, _discourseI18n.i18n)(\"chat.channel_status.archive_completed\", {\n topic_url: this.topicUrl\n }));\n }\n retryArchive() {\n return this.chatApi.createChannelArchive(this.args.channel.id).catch(_ajaxError.popupAjaxError);\n }\n static #_3 = (() => dt7948.n(this.prototype, \"retryArchive\", [_object.action]))();\n get topicUrl() {\n if (!this.args.channel.archive.topicId) {\n return \"\";\n }\n return (0, _getUrl.default)(`/t/-/${this.args.channel.archive.topicId}`);\n }\n static #_4 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if this.shouldRender}}\n {{#if @channel.archive.failed}}\n \n
\n {{this.channelArchiveFailedMessage}}\n
\n \n
\n \n
\n \n {{else if @channel.archive.completed}}\n \n {{this.channelArchiveCompletedMessage}}\n \n {{/if}}\n {{/if}}\n \n */\n {\n \"id\": \"WUzspRR4\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"shouldRender\\\"]],[[[41,[30,1,[\\\"archive\\\",\\\"failed\\\"]],[[[1,\\\" \\\"],[10,0],[15,0,[28,[32,0],[\\\"alert alert-warn chat-channel-retry-archive\\\",[30,1,[\\\"status\\\"]]],null]],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-channel-archive-failed-message\\\"],[12],[1,\\\"\\\\n \\\"],[1,[30,0,[\\\"channelArchiveFailedMessage\\\"]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\\n \\\"],[10,0],[14,0,\\\"chat-channel-archive-failed-retry\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,1],null,[[\\\"@action\\\",\\\"@label\\\"],[[30,0,[\\\"retryArchive\\\"]],\\\"chat.channel_archive.retry\\\"]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[41,[30,1,[\\\"archive\\\",\\\"completed\\\"]],[[[1,\\\" \\\"],[10,0],[15,0,[28,[32,0],[\\\"chat-channel-archive-status\\\",[30,1,[\\\"status\\\"]]],null]],[12],[1,\\\"\\\\n \\\"],[1,[30,0,[\\\"channelArchiveCompletedMessage\\\"]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[]],null]],[]]]],[]],null],[1,\\\" \\\"]],[\\\"@channel\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-channel-archive-status.js\",\n \"scope\": () => [_concatClass.default, _dButton.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatChannelArchiveStatus;\n});","define(\"discourse/plugins/chat/discourse/components/chat-channel-card\", [\"exports\", \"@glimmer/component\", \"@ember/helper\", \"@ember/routing\", \"@ember/service\", \"truth-helpers\", \"discourse/helpers/border-color\", \"discourse/helpers/concat-class\", \"discourse/helpers/d-icon\", \"discourse/helpers/replace-emoji\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/toggle-channel-membership-button\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _helper, _routing, _service, _truthHelpers, _borderColor, _concatClass, _dIcon, _replaceEmoji, _discourseI18n, _toggleChannelMembershipButton, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatChannelCard extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if @channel}}\n \n
\n \n \n {{replaceEmoji @channel.title}}\n \n {{#if @channel.chatable.read_restricted}}\n {{icon \"lock\" class=\"chat-channel-card__read-restricted\"}}\n {{/if}}\n {{#if @channel.currentUserMembership.muted}}\n {{icon \"d-muted\"}}\n {{/if}}\n \n \n
\n \n
\n {{#if @channel.isFollowing}}\n \n \n \n {{else if @channel.isJoinable}}\n \n {{/if}}\n
\n \n {{#if (gt @channel.membershipsCount 0)}}\n \n {{i18n\n \"chat.channel.memberships_count\"\n count=@channel.membershipsCount\n }}\n \n {{/if}}\n \n {{#if @channel.description}}\n
\n {{replaceEmoji @channel.description}}\n
\n {{/if}}\n \n \n {{/if}}\n \n */\n {\n \"id\": \"iK6BVq+f\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,1],[[[1,\\\" \\\"],[10,0],[15,0,[28,[32,0],[\\\"chat-channel-card\\\",[52,[30,1,[\\\"isClosed\\\"]],\\\"--closed\\\"],[52,[30,1,[\\\"isArchived\\\"]],\\\"--archived\\\"]],null]],[15,5,[28,[32,1],[[30,1,[\\\"chatable\\\",\\\"color\\\"]]],null]],[15,\\\"data-channel-id\\\",[30,1,[\\\"id\\\"]]],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-channel-card__header\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,2],[[24,0,\\\"chat-channel-card__name-container\\\"]],[[\\\"@route\\\",\\\"@models\\\"],[\\\"chat.channel\\\",[30,1,[\\\"routeModels\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[10,1],[14,0,\\\"chat-channel-card__name\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,3],[[30,1,[\\\"title\\\"]]],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"chatable\\\",\\\"read_restricted\\\"]],[[[1,\\\" \\\"],[1,[28,[32,4],[\\\"lock\\\"],[[\\\"class\\\"],[\\\"chat-channel-card__read-restricted\\\"]]]],[1,\\\"\\\\n\\\"]],[]],null],[41,[30,1,[\\\"currentUserMembership\\\",\\\"muted\\\"]],[[[1,\\\" \\\"],[10,1],[14,0,\\\"chat-channel-card__muted\\\"],[15,\\\"aria-label\\\",[28,[32,5],[\\\"chat.muted\\\"],null]],[15,\\\"title\\\",[28,[32,5],[\\\"chat.muted\\\"],null]],[12],[1,[28,[32,4],[\\\"d-muted\\\"],null]],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[]]]]],[1,\\\"\\\\n\\\\n \\\"],[13],[1,\\\"\\\\n\\\\n \\\"],[10,0],[14,0,\\\"chat-channel-card__cta\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"isFollowing\\\"]],[[[1,\\\"\\\\n \\\"],[8,[32,6],null,[[\\\"@channel\\\",\\\"@options\\\"],[[30,1],[28,[32,7],null,[[\\\"leaveClass\\\",\\\"labelType\\\"],[\\\"btn-transparent btn-danger chat-channel-card__leave-btn\\\",\\\"short\\\"]]]]],null],[1,\\\"\\\\n\\\\n\\\"]],[]],[[[41,[30,1,[\\\"isJoinable\\\"]],[[[1,\\\" \\\"],[8,[32,6],null,[[\\\"@channel\\\",\\\"@options\\\"],[[30,1],[28,[32,7],null,[[\\\"joinClass\\\",\\\"labelType\\\"],[\\\"btn-primary btn-small chat-channel-card__join-btn\\\",\\\"short\\\"]]]]],null],[1,\\\"\\\\n \\\"]],[]],null]],[]]],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[28,[32,8],[[30,1,[\\\"membershipsCount\\\"]],0],null],[[[1,\\\" \\\"],[8,[32,2],[[24,0,\\\"chat-channel-card__members\\\"]],[[\\\"@route\\\",\\\"@models\\\"],[\\\"chat.channel.info.members\\\",[30,1,[\\\"routeModels\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[1,[28,[32,5],[\\\"chat.channel.memberships_count\\\"],[[\\\"count\\\"],[[30,1,[\\\"membershipsCount\\\"]]]]]],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"description\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-channel-card__description\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,3],[[30,1,[\\\"description\\\"]]],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[\\\"@channel\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-channel-card.js\",\n \"scope\": () => [_concatClass.default, _borderColor.default, _routing.LinkTo, _replaceEmoji.default, _dIcon.default, _discourseI18n.i18n, _toggleChannelMembershipButton.default, _helper.hash, _truthHelpers.gt],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatChannelCard;\n});","define(\"discourse/plugins/chat/discourse/components/chat-channel-chooser-header\", [\"exports\", \"discourse/helpers/d-icon\", \"discourse-i18n\", \"select-kit/components/combo-box/combo-box-header\", \"discourse/plugins/chat/discourse/components/channel-title\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _dIcon, _discourseI18n, _comboBoxHeader, _channelTitle, _component, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatChannelChooserHeader extends _comboBoxHeader.default {\n static #_ = (() => (0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
\n {{#if this.selectedContent}}\n \n {{else}}\n {{i18n \"chat.incoming_webhooks.channel_placeholder\"}}\n {{/if}}\n \n {{icon this.caretIcon class=\"caret-icon\"}}\n
\n \n */\n {\n \"id\": \"V2js1mZV\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"select-kit-header-wrapper\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"selectedContent\\\"]],[[[1,\\\" \\\"],[8,[32,0],null,[[\\\"@channel\\\"],[[30,0,[\\\"selectedContent\\\"]]]],null],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[1,[28,[32,1],[\\\"chat.incoming_webhooks.channel_placeholder\\\"],null]],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"\\\\n \\\"],[1,[28,[32,2],[[30,0,[\\\"caretIcon\\\"]]],[[\\\"class\\\"],[\\\"caret-icon\\\"]]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-channel-chooser-header.js\",\n \"scope\": () => [_channelTitle.default, _discourseI18n.i18n, _dIcon.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatChannelChooserHeader;\n});","define(\"discourse/plugins/chat/discourse/components/chat-channel-chooser-row\", [\"exports\", \"@ember-decorators/component\", \"select-kit/components/select-kit/select-kit-row\", \"discourse/plugins/chat/discourse/components/channel-title\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _selectKitRow, _channelTitle, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const ChatChannelChooserRow = dt7948.c(class ChatChannelChooserRow extends _selectKitRow.default {\n static #_ = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n */\n {\n \"id\": \"3Qsb8CtV\",\n \"block\": \"[[[8,[32,0],null,[[\\\"@channel\\\"],[[30,0,[\\\"item\\\"]]]],null]],[],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-channel-chooser-row.js\",\n \"scope\": () => [_channelTitle.default],\n \"isStrictMode\": true\n }), this))();\n }, [(0, _component.classNames)(\"chat-channel-chooser-row\")]);\n var _default = _exports.default = ChatChannelChooserRow;\n});","define(\"discourse/plugins/chat/discourse/components/chat-channel-chooser\", [\"exports\", \"@ember-decorators/component\", \"select-kit/components/combo-box\", \"select-kit/components/select-kit\", \"discourse/plugins/chat/discourse/components/chat-channel-chooser-header\", \"discourse/plugins/chat/discourse/components/chat-channel-chooser-row\"], function (_exports, _component, _comboBox, _selectKit, _chatChannelChooserHeader, _chatChannelChooserRow) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const ChatChannelChooser = dt7948.c(class ChatChannelChooser extends _comboBox.default {\n modifyComponentForRow() {\n return _chatChannelChooserRow.default;\n }\n }, [(0, _selectKit.pluginApiIdentifiers)(\"chat-channel-chooser\"), (0, _selectKit.selectKitOptions)({\n headerComponent: _chatChannelChooserHeader.default\n }), (0, _component.classNames)(\"chat-channel-chooser\")]);\n var _default = _exports.default = ChatChannelChooser;\n});","define(\"discourse/plugins/chat/discourse/components/chat-channel-leave-btn\", [\"exports\", \"@glimmer/component\", \"@ember/service\", \"@ember/utils\", \"discourse/components/d-button\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _service, _utils, _dButton, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatChannelLeaveBtn extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n get shouldRender() {\n return this.site.desktopView && (0, _utils.isPresent)(this.args.channel);\n }\n get leaveChatTitleKey() {\n if (this.args.channel.isDirectMessageChannel) {\n return \"chat.direct_messages.leave\";\n } else {\n return \"chat.leave\";\n }\n }\n static #_3 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if this.shouldRender}}\n \n {{/if}}\n \n */\n {\n \"id\": \"i/jTa6Vf\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"shouldRender\\\"]],[[[1,\\\" \\\"],[8,[32,0],[[24,0,\\\"btn-flat chat-channel-leave-btn\\\"]],[[\\\"@icon\\\",\\\"@action\\\",\\\"@title\\\"],[\\\"xmark\\\",[30,1],[30,0,[\\\"leaveChatTitleKey\\\"]]]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[\\\"@onLeaveChannel\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-channel-leave-btn.js\",\n \"scope\": () => [_dButton.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatChannelLeaveBtn;\n});","define(\"discourse/plugins/chat/discourse/components/chat-channel-metadata\", [\"exports\", \"@glimmer/component\", \"discourse-i18n\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _discourseI18n, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatChannelMetadata extends _component.default {\n get lastMessageFormattedDate() {\n const {\n createdAt,\n id\n } = this.args.channel.lastMessage || {};\n if (!id) {\n return \"–\";\n } else {\n const lastMessageDate = this.showThreadUnreadDate ? this.args.channel.lastUnreadThreadDate : createdAt;\n return moment(lastMessageDate).calendar(null, {\n sameDay: \"LT\",\n lastDay: `[${(0, _discourseI18n.i18n)(\"chat.dates.yesterday\")}]`,\n lastWeek: \"dddd\",\n sameElse: \"l\"\n });\n }\n }\n get showThreadUnreadDate() {\n return this.args.channel.lastUnreadThreadDate > this.args.channel.lastMessage.createdAt;\n }\n static #_ = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
\n {{#if @channel.lastMessage}}\n \n {{/if}}\n
\n \n */\n {\n \"id\": \"DaiHO6Vo\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-channel__metadata\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"lastMessage\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-channel__metadata-date\\\"],[12],[1,\\\"\\\\n \\\"],[1,[30,0,[\\\"lastMessageFormattedDate\\\"]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"@channel\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-channel-metadata.js\",\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatChannelMetadata;\n});","define(\"discourse/plugins/chat/discourse/components/chat-channel-preview-card\", [\"exports\", \"@glimmer/component\", \"@ember/helper\", \"@ember/routing\", \"@ember/service\", \"@ember/utils\", \"discourse/helpers/concat-class\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/channel-title\", \"discourse/plugins/chat/discourse/components/toggle-channel-membership-button\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _helper, _routing, _service, _utils, _concatClass, _discourseI18n, _channelTitle, _toggleChannelMembershipButton, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatChannelPreviewCard extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n get showJoinButton() {\n return this.args.channel?.isOpen && this.args.channel?.canJoin;\n }\n get hasDescription() {\n return !(0, _utils.isEmpty)(this.args.channel?.description);\n }\n static #_2 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n \n {{#if this.hasDescription}}\n

\n {{@channel.description}}\n

\n {{/if}}\n {{#if this.showJoinButton}}\n \n {{/if}}\n \n {{i18n \"chat.browse_all_channels\"}}\n \n \n \n */\n {\n \"id\": \"11noQeda\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[15,0,[28,[32,0],[\\\"chat-channel-preview-card\\\",[52,[51,[30,0,[\\\"hasDescription\\\"]]],\\\"-no-description\\\"],[52,[51,[30,0,[\\\"showJoinButton\\\"]]],\\\"-no-button\\\"]],null]],[12],[1,\\\"\\\\n \\\"],[8,[32,1],null,[[\\\"@channel\\\"],[[30,1]]],null],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"hasDescription\\\"]],[[[1,\\\" \\\"],[10,2],[14,0,\\\"chat-channel-preview-card__description\\\"],[12],[1,\\\"\\\\n \\\"],[1,[30,1,[\\\"description\\\"]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[41,[30,0,[\\\"showJoinButton\\\"]],[[[1,\\\" \\\"],[8,[32,2],null,[[\\\"@channel\\\",\\\"@options\\\"],[[30,1],[28,[32,3],null,[[\\\"joinClass\\\"],[\\\"btn-primary\\\"]]]]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[8,[32,4],[[24,0,\\\"chat-channel-preview-card__browse-all\\\"]],[[\\\"@route\\\"],[\\\"chat.browse\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[1,[28,[32,5],[\\\"chat.browse_all_channels\\\"],null]],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"@channel\\\"],false,[\\\"unless\\\",\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-channel-preview-card.js\",\n \"scope\": () => [_concatClass.default, _channelTitle.default, _toggleChannelMembershipButton.default, _helper.hash, _routing.LinkTo, _discourseI18n.i18n],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatChannelPreviewCard;\n});","define(\"discourse/plugins/chat/discourse/components/chat-channel-row\", [\"exports\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/helper\", \"@ember/object\", \"@ember/render-modifiers/modifiers/did-insert\", \"@ember/render-modifiers/modifiers/will-destroy\", \"@ember/routing\", \"@ember/service\", \"@ember/template\", \"ember-modifier\", \"truth-helpers\", \"discourse/helpers/concat-class\", \"discourse/helpers/d-icon\", \"discourse/helpers/replace-emoji\", \"discourse/lib/ajax-error\", \"discourse/lib/decorators\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/channel-icon\", \"discourse/plugins/chat/discourse/components/channel-name\", \"discourse/plugins/chat/discourse/components/chat-channel-metadata\", \"discourse/plugins/chat/discourse/components/toggle-channel-membership-button\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _tracking, _helper, _object, _didInsert, _willDestroy, _routing, _service, _template, _emberModifier, _truthHelpers, _concatClass, _dIcon, _replaceEmoji, _ajaxError, _decorators, _discourseI18n, _channelIcon, _channelName, _chatChannelMetadata, _toggleChannelMembershipButton, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const FADEOUT_CLASS = \"-fade-out\";\n class ChatChannelRow extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"api\", [_service.service]))();\n #api = (() => (dt7948.i(this, \"api\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"capabilities\", [_service.service]))();\n #capabilities = (() => (dt7948.i(this, \"capabilities\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n static #_6 = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n static #_7 = (() => dt7948.g(this.prototype, \"isAtThreshold\", [_tracking.tracked], function () {\n return false;\n }))();\n #isAtThreshold = (() => (dt7948.i(this, \"isAtThreshold\"), void 0))();\n static #_8 = (() => dt7948.g(this.prototype, \"shouldRemoveChannel\", [_tracking.tracked], function () {\n return false;\n }))();\n #shouldRemoveChannel = (() => (dt7948.i(this, \"shouldRemoveChannel\"), void 0))();\n static #_9 = (() => dt7948.g(this.prototype, \"showRemoveButton\", [_tracking.tracked], function () {\n return false;\n }))();\n #showRemoveButton = (() => (dt7948.i(this, \"showRemoveButton\"), void 0))();\n static #_10 = (() => dt7948.g(this.prototype, \"swipableRow\", [_tracking.tracked], function () {\n return null;\n }))();\n #swipableRow = (() => (dt7948.i(this, \"swipableRow\"), void 0))();\n static #_11 = (() => dt7948.g(this.prototype, \"shouldReset\", [_tracking.tracked], function () {\n return false;\n }))();\n #shouldReset = (() => (dt7948.i(this, \"shouldReset\"), void 0))();\n static #_12 = (() => dt7948.g(this.prototype, \"diff\", [_tracking.tracked], function () {\n return 0;\n }))();\n #diff = (() => (dt7948.i(this, \"diff\"), void 0))();\n static #_13 = (() => dt7948.g(this.prototype, \"rowStyle\", [_tracking.tracked], function () {\n return null;\n }))();\n #rowStyle = (() => (dt7948.i(this, \"rowStyle\"), void 0))();\n static #_14 = (() => dt7948.g(this.prototype, \"canSwipe\", [_tracking.tracked], function () {\n return true;\n }))();\n #canSwipe = (() => (dt7948.i(this, \"canSwipe\"), void 0))();\n registerSwipableRow = (() => (0, _emberModifier.modifier)(element => {\n this.swipableRow = element;\n }))();\n onReset = (() => (0, _emberModifier.modifier)(element => {\n const handler = () => {\n this.rowStyle = (0, _template.htmlSafe)(\"margin-right: 0px;\");\n this.showRemoveButton = false;\n this.shouldReset = false;\n };\n element.addEventListener(\"transitionend\", handler, {\n once: true\n });\n return () => {\n element.removeEventListener(\"transitionend\", handler);\n this.rowStyle = (0, _template.htmlSafe)(\"margin-right: 0px;\");\n this.showRemoveButton = false;\n this.shouldReset = false;\n };\n }))();\n onRemoveChannel = (() => (0, _emberModifier.modifier)(element => {\n element.addEventListener(\"transitionend\", () => {\n this.chat.unfollowChannel(this.args.channel).catch(_ajaxError.popupAjaxError);\n }, {\n once: true\n });\n element.classList.add(FADEOUT_CLASS);\n }))();\n handleSwipe = (() => (0, _emberModifier.modifier)(element => {\n element.addEventListener(\"touchstart\", this.onSwipeStart, {\n passive: true\n });\n element.addEventListener(\"touchmove\", this.onSwipe, {\n passive: true\n });\n element.addEventListener(\"touchend\", this.onSwipeEnd);\n return () => {\n element.removeEventListener(\"touchstart\", this.onSwipeStart);\n element.removeEventListener(\"touchmove\", this.onSwipe);\n element.removeEventListener(\"touchend\", this.onSwipeEnd);\n };\n }))();\n onSwipeStart(event) {\n this._initialX = event.changedTouches[0].screenX;\n }\n static #_15 = (() => dt7948.n(this.prototype, \"onSwipeStart\", [_decorators.bind]))();\n onSwipe(event) {\n this.showRemoveButton = true;\n this.shouldReset = false;\n this.isAtThreshold = false;\n const threshold = window.innerWidth / 3;\n const touchX = event.changedTouches[0].screenX;\n this.diff = this._initialX - touchX;\n this.isAtThreshold = this.diff >= threshold;\n // ensures we will go back to the initial position when swiping very fast\n if (this.diff > 25) {\n if (this.isAtThreshold) {\n this.diff = threshold + (this.diff - threshold) * 0.1;\n }\n this.rowStyle = (0, _template.htmlSafe)(`margin-right: ${this.diff}px;`);\n } else {\n this.rowStyle = (0, _template.htmlSafe)(\"margin-right: 0px;\");\n }\n }\n static #_16 = (() => dt7948.n(this.prototype, \"onSwipe\", [_decorators.bind]))();\n onSwipeEnd() {\n if (this.isAtThreshold) {\n this.rowStyle = (0, _template.htmlSafe)(\"margin-right: 0px;\");\n this.shouldRemoveChannel = true;\n } else {\n this.shouldReset = true;\n }\n }\n static #_17 = (() => dt7948.n(this.prototype, \"onSwipeEnd\", [_decorators.bind]))();\n get shouldHandleSwipe() {\n return this.capabilities.touch && this.args.channel.isDirectMessageChannel;\n }\n get leaveDirectMessageLabel() {\n return (0, _discourseI18n.i18n)(\"chat.direct_messages.close\");\n }\n get leaveChannelLabel() {\n return (0, _discourseI18n.i18n)(\"chat.channel_settings.leave_channel\");\n }\n get channelHasUnread() {\n return this.args.channel.tracking.unreadCount > 0 || this.args.channel.unreadThreadsCountSinceLastViewed > 0;\n }\n get shouldRenderLastMessage() {\n return this.site.mobileView && this.args.channel.isDirectMessageChannel && this.args.channel.lastMessage;\n }\n get #firstDirectMessageUser() {\n return this.args.channel?.chatable?.users?.firstObject;\n }\n startTrackingStatus() {\n this.#firstDirectMessageUser?.statusManager.trackStatus();\n }\n static #_18 = (() => dt7948.n(this.prototype, \"startTrackingStatus\", [_object.action]))();\n stopTrackingStatus() {\n this.#firstDirectMessageUser?.statusManager.stopTrackingStatus();\n }\n static #_19 = (() => dt7948.n(this.prototype, \"stopTrackingStatus\", [_object.action]))();\n static #_20 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n \n \n
\n \n \n {{#if this.shouldRenderLastMessage}}\n
\n {{replaceEmoji (htmlSafe @channel.lastMessage.excerpt)}}\n
\n {{/if}}\n
\n \n {{#if\n (and @options.leaveButton @channel.isFollowing this.site.desktopView)\n }}\n \n {{/if}}\n \n \n {{#if this.showRemoveButton}}\n \n {{icon \"circle-xmark\"}}\n \n {{/if}}\n \n \n */\n {\n \"id\": \"Wmj/IPgq\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[8,[32,0],[[16,0,[28,[32,1],[\\\"chat-channel-row\\\",[52,[30,1,[\\\"focused\\\"]],\\\"focused\\\"],[52,[30,1,[\\\"currentUserMembership\\\",\\\"muted\\\"]],\\\"muted\\\"],[52,[30,2,[\\\"leaveButton\\\"]],\\\"can-leave\\\"],[52,[28,[32,2],[[30,0,[\\\"chat\\\",\\\"activeChannel\\\",\\\"id\\\"]],[30,1,[\\\"id\\\"]]],null],\\\"active\\\"],[52,[30,0,[\\\"channelHasUnread\\\"]],\\\"has-unread\\\"]],null]],[24,\\\"tabindex\\\",\\\"0\\\"],[16,\\\"data-chat-channel-id\\\",[30,1,[\\\"id\\\"]]],[4,[32,3],[[30,0,[\\\"startTrackingStatus\\\"]]],null],[4,[32,4],[[30,0,[\\\"stopTrackingStatus\\\"]]],null],[4,[52,[30,0,[\\\"shouldRemoveChannel\\\"]],[50,[30,0,[\\\"onRemoveChannel\\\"]],2,null,null]],null,null]],[[\\\"@route\\\",\\\"@models\\\"],[\\\"chat.channel\\\",[30,1,[\\\"routeModels\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[11,0],[16,0,[28,[32,1],[\\\"chat-channel-row__content\\\",[52,[30,1,[\\\"isCategoryChannel\\\"]],\\\"is-category\\\",\\\"is-dm\\\"],[52,[30,0,[\\\"shouldReset\\\"]],\\\"-animate-reset\\\"]],null]],[16,5,[30,0,[\\\"rowStyle\\\"]]],[4,[52,[30,0,[\\\"shouldHandleSwipe\\\"]],[50,[30,0,[\\\"registerSwipableRow\\\"]],2,null,null]],null,null],[4,[52,[30,0,[\\\"shouldHandleSwipe\\\"]],[50,[30,0,[\\\"handleSwipe\\\"]],2,null,null]],null,null],[4,[52,[30,0,[\\\"shouldReset\\\"]],[50,[30,0,[\\\"onReset\\\"]],2,null,null]],null,null],[12],[1,\\\"\\\\n \\\"],[8,[32,5],null,[[\\\"@channel\\\"],[[30,1]]],null],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-channel-row__info\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,6],null,[[\\\"@channel\\\",\\\"@unreadIndicator\\\"],[[30,1],true]],null],[1,\\\"\\\\n \\\"],[8,[32,7],null,[[\\\"@channel\\\"],[[30,1]]],null],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"shouldRenderLastMessage\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-channel__last-message\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,8],[[28,[32,9],[[30,1,[\\\"lastMessage\\\",\\\"excerpt\\\"]]],null]],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[28,[32,10],[[30,2,[\\\"leaveButton\\\"]],[30,1,[\\\"isFollowing\\\"]],[30,0,[\\\"site\\\",\\\"desktopView\\\"]]],null],[[[1,\\\" \\\"],[8,[32,11],null,[[\\\"@channel\\\",\\\"@options\\\"],[[30,1],[28,[32,12],null,[[\\\"leaveClass\\\",\\\"labelType\\\",\\\"leaveIcon\\\",\\\"leaveTitle\\\"],[\\\"btn-flat chat-channel-leave-btn\\\",\\\"none\\\",\\\"xmark\\\",[52,[30,1,[\\\"isDirectMessageChannel\\\"]],[30,0,[\\\"leaveDirectMessageLabel\\\"]],[30,0,[\\\"leaveChannelLabel\\\"]]]]]]]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"showRemoveButton\\\"]],[[[1,\\\" \\\"],[10,0],[15,0,[28,[32,1],[\\\"chat-channel-row__action-btn\\\",[52,[30,0,[\\\"isAtThreshold\\\"]],\\\"-at-threshold\\\",\\\"-not-at-threshold\\\"]],null]],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,13],[\\\"circle-xmark\\\"],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[\\\"@channel\\\",\\\"@options\\\"],false,[\\\"if\\\",\\\"modifier\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-channel-row.js\",\n \"scope\": () => [_routing.LinkTo, _concatClass.default, _truthHelpers.eq, _didInsert.default, _willDestroy.default, _channelIcon.default, _channelName.default, _chatChannelMetadata.default, _replaceEmoji.default, _template.htmlSafe, _truthHelpers.and, _toggleChannelMembershipButton.default, _helper.hash, _dIcon.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatChannelRow;\n});","define(\"discourse/plugins/chat/discourse/components/chat-channel-status\", [\"exports\", \"@glimmer/component\", \"discourse/helpers/d-icon\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/models/chat-channel\", \"discourse/plugins/chat/discourse/components/chat-channel-archive-status\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _dIcon, _discourseI18n, _chatChannel, _chatChannelArchiveStatus, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatChannelStatus extends _component.default {\n LONG_FORMAT = \"long\";\n SHORT_FORMAT = \"short\";\n VALID_FORMATS = [this.SHORT_FORMAT, this.LONG_FORMAT];\n get format() {\n return this.VALID_FORMATS.includes(this.args.format) ? this.args.format : this.LONG_FORMAT;\n }\n get shouldRender() {\n return this.channelStatusIcon && this.args.channel.status !== _chatChannel.CHANNEL_STATUSES.open;\n }\n get channelStatusMessage() {\n if (this.format === this.LONG_FORMAT) {\n return this.#longStatusMessage(this.args.channel.status);\n } else {\n return this.#shortStatusMessage(this.args.channel.status);\n }\n }\n get channelStatusIcon() {\n return (0, _chatChannel.channelStatusIcon)(this.args.channel.status);\n }\n #shortStatusMessage(status) {\n switch (status) {\n case _chatChannel.CHANNEL_STATUSES.archived:\n return (0, _discourseI18n.i18n)(\"chat.channel_status.archived\");\n case _chatChannel.CHANNEL_STATUSES.closed:\n return (0, _discourseI18n.i18n)(\"chat.channel_status.closed\");\n case _chatChannel.CHANNEL_STATUSES.open:\n return (0, _discourseI18n.i18n)(\"chat.channel_status.open\");\n case _chatChannel.CHANNEL_STATUSES.readOnly:\n return (0, _discourseI18n.i18n)(\"chat.channel_status.read_only\");\n }\n }\n #longStatusMessage(status) {\n switch (status) {\n case _chatChannel.CHANNEL_STATUSES.archived:\n return (0, _discourseI18n.i18n)(\"chat.channel_status.archived_header\");\n case _chatChannel.CHANNEL_STATUSES.closed:\n return (0, _discourseI18n.i18n)(\"chat.channel_status.closed_header\");\n case _chatChannel.CHANNEL_STATUSES.open:\n return (0, _discourseI18n.i18n)(\"chat.channel_status.open_header\");\n case _chatChannel.CHANNEL_STATUSES.readOnly:\n return (0, _discourseI18n.i18n)(\"chat.channel_status.read_only_header\");\n }\n }\n static #_ = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if this.shouldRender}}\n
\n {{icon this.channelStatusIcon}}\n {{this.channelStatusMessage}}\n \n
\n {{/if}}\n \n */\n {\n \"id\": \"8iHhouHV\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"shouldRender\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-channel-status\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,0],[[30,0,[\\\"channelStatusIcon\\\"]]],null]],[1,\\\"\\\\n \\\"],[10,1],[12],[1,[30,0,[\\\"channelStatusMessage\\\"]]],[13],[1,\\\"\\\\n \\\"],[8,[32,1],null,[[\\\"@channel\\\"],[[30,1]]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[\\\"@channel\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-channel-status.js\",\n \"scope\": () => [_dIcon.default, _chatChannelArchiveStatus.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatChannelStatus;\n});","define(\"discourse/plugins/chat/discourse/components/chat-channel-title\", [\"exports\", \"discourse/plugins/chat/discourse/components/channel-title\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _channelTitle, _component, _templateFactory, _templateOnly) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const OldChatChannelTitle = (0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n \n */\n {\n \"id\": \"YBFUIYUG\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[8,[32,0],null,[[\\\"@channel\\\"],[[30,1]]],null],[1,\\\"\\\\n\\\"]],[\\\"@channel\\\"],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-channel-title.js\",\n \"scope\": () => [_channelTitle.default],\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, \"chat-channel-title:OldChatChannelTitle\"));\n var _default = _exports.default = OldChatChannelTitle;\n});","define(\"discourse/plugins/chat/discourse/components/chat-channel-unread-indicator\", [\"exports\", \"@glimmer/component\", \"discourse/helpers/concat-class\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _concatClass, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const MAX_UNREAD_COUNT = 99;\n class ChatChannelUnreadIndicator extends _component.default {\n get showUnreadIndicator() {\n return this.args.channel.tracking.unreadCount + this.args.channel.tracking.mentionCount + this.args.channel.unreadThreadsCountSinceLastViewed > 0;\n }\n get publicUrgentCount() {\n return this.args.channel.tracking.mentionCount + this.args.channel.tracking.watchedThreadsUnreadCount;\n }\n get directUrgentCount() {\n return this.args.channel.tracking.unreadCount + this.args.channel.tracking.mentionCount + this.args.channel.tracking.watchedThreadsUnreadCount;\n }\n get urgentCount() {\n return this.args.channel.isDirectMessageChannel ? this.directUrgentCount : this.publicUrgentCount;\n }\n get isUrgent() {\n return this.urgentCount > 0;\n }\n get urgentBadgeCount() {\n const totalCount = this.urgentCount;\n return totalCount > MAX_UNREAD_COUNT ? `${MAX_UNREAD_COUNT}+` : totalCount;\n }\n static #_ = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if this.showUnreadIndicator}}\n \n
\n {{#if this.isUrgent}}{{this.urgentBadgeCount}}{{else}} {{/if}}\n
\n \n {{/if}}\n \n */\n {\n \"id\": \"g15Jq/TV\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"showUnreadIndicator\\\"]],[[[1,\\\" \\\"],[10,0],[15,0,[28,[32,0],[\\\"chat-channel-unread-indicator\\\",[52,[30,0,[\\\"isUrgent\\\"]],\\\"-urgent\\\"]],null]],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-channel-unread-indicator__number\\\"],[12],[1,\\\"\\\\n \\\"],[41,[30,0,[\\\"isUrgent\\\"]],[[[1,[30,0,[\\\"urgentBadgeCount\\\"]]]],[]],[[[1,\\\" \\\"]],[]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-channel-unread-indicator.js\",\n \"scope\": () => [_concatClass.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatChannelUnreadIndicator;\n});","define(\"discourse/plugins/chat/discourse/components/chat-channel\", [\"exports\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/object\", \"@ember/owner\", \"@ember/render-modifiers/modifiers/did-insert\", \"@ember/render-modifiers/modifiers/did-update\", \"@ember/render-modifiers/modifiers/will-destroy\", \"@ember/runloop\", \"@ember/service\", \"truth-helpers\", \"discourse/helpers/concat-class\", \"discourse/lib/ajax-error\", \"discourse/lib/debounce\", \"discourse/lib/decorators\", \"discourse/lib/url\", \"discourse/lib/user-presence\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/chat-channel-status\", \"discourse/plugins/chat/discourse/helpers/first-visible-message-id\", \"discourse/plugins/chat/discourse/lib/chat-channel-subscription-manager\", \"discourse/plugins/chat/discourse/lib/chat-constants\", \"discourse/plugins/chat/discourse/lib/chat-messages-loader\", \"discourse/plugins/chat/discourse/lib/check-message-visibility\", \"discourse/plugins/chat/discourse/lib/dates-separators-positioner\", \"discourse/plugins/chat/discourse/lib/extract-current-topic-info\", \"discourse/plugins/chat/discourse/lib/scroll-helpers\", \"discourse/plugins/chat/discourse/models/chat-message\", \"discourse/plugins/chat/discourse/lib/chat-ios-hacks\", \"discourse/plugins/chat/discourse/components/chat/composer/channel\", \"discourse/plugins/chat/discourse/components/chat/scroll-to-bottom-arrow\", \"discourse/plugins/chat/discourse/components/chat/selection-manager\", \"discourse/plugins/chat/discourse/components/chat-channel-preview-card\", \"discourse/plugins/chat/discourse/components/chat-mention-warnings\", \"discourse/plugins/chat/discourse/components/chat-message\", \"discourse/plugins/chat/discourse/components/chat-messages-container\", \"discourse/plugins/chat/discourse/components/chat-messages-scroller\", \"discourse/plugins/chat/discourse/components/chat-notices\", \"discourse/plugins/chat/discourse/components/chat-skeleton\", \"discourse/plugins/chat/discourse/components/chat-upload-drop-zone\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _tracking, _object, _owner, _didInsert, _didUpdate, _willDestroy, _runloop, _service, _truthHelpers, _concatClass, _ajaxError, _debounce, _decorators, _url, _userPresence, _discourseI18n, _chatChannelStatus, _firstVisibleMessageId, _chatChannelSubscriptionManager, _chatConstants, _chatMessagesLoader, _checkMessageVisibility, _datesSeparatorsPositioner, _extractCurrentTopicInfo, _scrollHelpers, _chatMessage, _chatIosHacks, _channel, _scrollToBottomArrow, _selectionManager, _chatChannelPreviewCard, _chatMentionWarnings, _chatMessage2, _chatMessagesContainer, _chatMessagesScroller, _chatNotices, _chatSkeleton, _chatUploadDropZone, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatChannel extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"appEvents\", [_service.service]))();\n #appEvents = (() => (dt7948.i(this, \"appEvents\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"capabilities\", [_service.service]))();\n #capabilities = (() => (dt7948.i(this, \"capabilities\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"chatApi\", [_service.service]))();\n #chatApi = (() => (dt7948.i(this, \"chatApi\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"chatChannelsManager\", [_service.service]))();\n #chatChannelsManager = (() => (dt7948.i(this, \"chatChannelsManager\"), void 0))();\n static #_6 = (() => dt7948.g(this.prototype, \"chatDraftsManager\", [_service.service]))();\n #chatDraftsManager = (() => (dt7948.i(this, \"chatDraftsManager\"), void 0))();\n static #_7 = (() => dt7948.g(this.prototype, \"chatStateManager\", [_service.service]))();\n #chatStateManager = (() => (dt7948.i(this, \"chatStateManager\"), void 0))();\n static #_8 = (() => dt7948.g(this.prototype, \"chatChannelScrollPositions\", [_service.service]))();\n #chatChannelScrollPositions = (() => (dt7948.i(this, \"chatChannelScrollPositions\"), void 0))();\n static #_9 = (() => dt7948.g(this.prototype, \"composer\", [(0, _service.service)(\"chat-channel-composer\")]))();\n #composer = (() => (dt7948.i(this, \"composer\"), void 0))();\n static #_10 = (() => dt7948.g(this.prototype, \"pane\", [(0, _service.service)(\"chat-channel-pane\")]))();\n #pane = (() => (dt7948.i(this, \"pane\"), void 0))();\n static #_11 = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n static #_12 = (() => dt7948.g(this.prototype, \"dialog\", [_service.service]))();\n #dialog = (() => (dt7948.i(this, \"dialog\"), void 0))();\n static #_13 = (() => dt7948.g(this.prototype, \"messageBus\", [_service.service]))();\n #messageBus = (() => (dt7948.i(this, \"messageBus\"), void 0))();\n static #_14 = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n static #_15 = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n static #_16 = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n static #_17 = (() => dt7948.g(this.prototype, \"sending\", [_tracking.tracked], function () {\n return false;\n }))();\n #sending = (() => (dt7948.i(this, \"sending\"), void 0))();\n static #_18 = (() => dt7948.g(this.prototype, \"showChatQuoteSuccess\", [_tracking.tracked], function () {\n return false;\n }))();\n #showChatQuoteSuccess = (() => (dt7948.i(this, \"showChatQuoteSuccess\"), void 0))();\n static #_19 = (() => dt7948.g(this.prototype, \"includeHeader\", [_tracking.tracked], function () {\n return true;\n }))();\n #includeHeader = (() => (dt7948.i(this, \"includeHeader\"), void 0))();\n static #_20 = (() => dt7948.g(this.prototype, \"needsArrow\", [_tracking.tracked], function () {\n return false;\n }))();\n #needsArrow = (() => (dt7948.i(this, \"needsArrow\"), void 0))();\n static #_21 = (() => dt7948.g(this.prototype, \"atBottom\", [_tracking.tracked], function () {\n return true;\n }))();\n #atBottom = (() => (dt7948.i(this, \"atBottom\"), void 0))();\n static #_22 = (() => dt7948.g(this.prototype, \"uploadDropZone\", [_tracking.tracked]))();\n #uploadDropZone = (() => (dt7948.i(this, \"uploadDropZone\"), void 0))();\n static #_23 = (() => dt7948.g(this.prototype, \"isScrolling\", [_tracking.tracked], function () {\n return false;\n }))();\n #isScrolling = (() => (dt7948.i(this, \"isScrolling\"), void 0))();\n scroller = null;\n _mentionWarningsSeen = {};\n _unreachableGroupMentions = [];\n _overMembersLimitGroupMentions = [];\n get messagesLoader() {\n return new _chatMessagesLoader.default((0, _owner.getOwner)(this), this.args.channel);\n }\n static #_24 = (() => dt7948.n(this.prototype, \"messagesLoader\", [_tracking.cached]))();\n get messagesManager() {\n return this.args.channel.messagesManager;\n }\n get currentUserMembership() {\n return this.args.channel.currentUserMembership;\n }\n get hasSavedScrollPosition() {\n return !!this.chatChannelScrollPositions.get(this.args.channel.id);\n }\n registerScroller(element) {\n this.scroller = element;\n }\n static #_25 = (() => dt7948.n(this.prototype, \"registerScroller\", [_object.action]))();\n teardown() {\n document.removeEventListener(\"keydown\", this._autoFocus);\n this.#cancelHandlers();\n (0, _userPresence.removeOnPresenceChange)(this.onPresenceChangeCallback);\n this.subscriptionManager.teardown();\n this.updateLastReadMessage();\n }\n static #_26 = (() => dt7948.n(this.prototype, \"teardown\", [_object.action]))();\n didResizePane() {\n this.debounceFillPaneAttempt();\n this.debouncedUpdateLastReadMessage();\n _datesSeparatorsPositioner.default.apply(this.scroller);\n }\n static #_27 = (() => dt7948.n(this.prototype, \"didResizePane\", [_object.action]))();\n setup(element) {\n this.uploadDropZone = element;\n document.addEventListener(\"keydown\", this._autoFocus);\n (0, _userPresence.onPresenceChange)({\n callback: this.onPresenceChangeCallback\n });\n this.messagesManager.clear();\n if (this.args.channel.isDirectMessageChannel && !this.args.channel.isFollowing) {\n this.chatChannelsManager.follow(this.args.channel);\n }\n this.args.channel.draft = this.chatDraftsManager.get(this.args.channel?.id) || _chatMessage.default.createDraftMessage(this.args.channel, {\n user: this.currentUser\n });\n this.composer.focus();\n this.loadMessages();\n // We update this value server-side when we load the Channel\n // here, so this reflects reality for sidebar unread logic.\n this.args.channel.updateLastViewedAt();\n }\n static #_28 = (() => dt7948.n(this.prototype, \"setup\", [_object.action]))();\n loadMessages() {\n if (!this.args.channel?.id) {\n return;\n }\n this.subscriptionManager = new _chatChannelSubscriptionManager.default(this, this.args.channel, {\n onNewMessage: this.onNewMessage\n });\n if (this.args.targetMessageId) {\n this.debounceHighlightOrFetchMessage(this.args.targetMessageId);\n } else if (this.chatChannelScrollPositions.get(this.args.channel.id)) {\n this.debounceHighlightOrFetchMessage(this.chatChannelScrollPositions.get(this.args.channel.id));\n } else {\n this.fetchMessages({\n fetch_from_last_read: true\n });\n }\n }\n static #_29 = (() => dt7948.n(this.prototype, \"loadMessages\", [_object.action]))();\n onNewMessage(message) {\n if (!this.atBottom) {\n this.needsArrow = true;\n this.messagesLoader.canLoadMoreFuture = true;\n return;\n }\n (0, _chatIosHacks.stackingContextFix)(this.scroller, () => {\n this.messagesManager.addMessages([message]);\n });\n this.debouncedUpdateLastReadMessage();\n }\n static #_30 = (() => dt7948.n(this.prototype, \"onNewMessage\", [_decorators.bind]))();\n onPresenceChangeCallback(present) {\n if (present) {\n this.debouncedUpdateLastReadMessage();\n }\n }\n static #_31 = (() => dt7948.n(this.prototype, \"onPresenceChangeCallback\", [_decorators.bind]))();\n async fetchMessages() {\n let findArgs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (this.messagesLoader.loading) {\n return;\n }\n this.messagesManager.clear();\n const result = await this.messagesLoader.load(findArgs);\n this.messagesManager.messages = this.processMessages(this.args.channel, result);\n if (findArgs.target_message_id) {\n this.scrollToMessageId(findArgs.target_message_id, {\n highlight: true,\n position: findArgs.position\n });\n } else if (findArgs.fetch_from_last_read) {\n const lastReadMessageId = this.currentUserMembership?.lastReadMessageId;\n this.scrollToMessageId(lastReadMessageId);\n } else if (findArgs.target_date) {\n this.scrollToMessageId(result.meta.target_message_id, {\n highlight: true,\n position: \"center\"\n });\n } else {\n this._ignoreNextScroll = true;\n this.scrollToBottom();\n }\n this.debounceFillPaneAttempt();\n this.debouncedUpdateLastReadMessage();\n }\n async fetchMoreMessages(_ref) {\n let {\n direction\n } = _ref;\n let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (this.messagesLoader.loading) {\n return;\n }\n const result = await this.messagesLoader.loadMore({\n direction\n });\n if (!result) {\n return;\n }\n const messages = this.processMessages(this.args.channel, result);\n if (!messages.length) {\n return;\n }\n const targetMessageId = this.messagesManager.messages.lastObject.id;\n (0, _chatIosHacks.stackingContextFix)(this.scroller, () => {\n this.messagesManager.addMessages(messages);\n });\n if (direction === _chatConstants.FUTURE && !opts.noScroll) {\n this.scrollToMessageId(targetMessageId, {\n position: \"end\",\n forceAuto: true\n });\n }\n this.debounceFillPaneAttempt();\n }\n async scrollToBottom() {\n this._ignoreNextScroll = true;\n await (0, _scrollHelpers.scrollListToBottom)(this.scroller);\n this.debouncedUpdateLastReadMessage();\n }\n static #_32 = (() => dt7948.n(this.prototype, \"scrollToBottom\", [_object.action]))();\n scrollToMessageId(messageId) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this._ignoreNextScroll = true;\n const message = this.messagesManager.findMessage(messageId);\n (0, _scrollHelpers.scrollListToMessage)(this.scroller, message, options);\n }\n debounceFillPaneAttempt() {\n this._debouncedFillPaneAttemptHandler = (0, _debounce.default)(this, this.fillPaneAttempt, 500);\n }\n fetchMessagesByDate(date) {\n if (this.messagesLoader.loading) {\n return;\n }\n const message = this.messagesManager.findFirstMessageOfDay(new Date(date));\n if (message.firstOfResults && this.messagesLoader.canLoadMorePast) {\n this.fetchMessages({\n target_date: date,\n direction: _chatConstants.FUTURE\n });\n } else {\n this.highlightOrFetchMessage(message.id, {\n position: \"center\"\n });\n }\n }\n static #_33 = (() => dt7948.n(this.prototype, \"fetchMessagesByDate\", [_decorators.bind]))();\n async fillPaneAttempt() {\n if (!this.messagesLoader.fetchedOnce) {\n return;\n }\n // safeguard\n if (this.messagesManager.messages.length > 200) {\n return;\n }\n if (!this.messagesLoader.canLoadMorePast) {\n return;\n }\n (0, _runloop.schedule)(\"afterRender\", () => {\n const firstMessageId = this.messagesManager.messages.firstObject?.id;\n const messageContainer = this.scroller.querySelector(`.chat-message-container[data-id=\"${firstMessageId}\"]`);\n if (messageContainer && (0, _checkMessageVisibility.checkMessageTopVisibility)(this.scroller, messageContainer)) {\n this.fetchMoreMessages({\n direction: _chatConstants.PAST\n });\n }\n });\n }\n processMessages(channel, result) {\n const messages = [];\n let foundFirstNew = false;\n channel.newestMessage = null;\n result?.messages?.forEach((messageData, index) => {\n messageData.firstOfResults = index === 0;\n if (this.currentUser.ignored_users) {\n // If a message has been hidden it is because the current user is ignoring\n // the user who sent it, so we want to unconditionally hide it, even if\n // we are going directly to the target\n messageData.hidden = this.currentUser.ignored_users.includes(messageData.user.username);\n }\n if (this.requestedTargetMessageId === messageData.id) {\n messageData.expanded = !messageData.hidden;\n } else {\n messageData.expanded = !(messageData.hidden || messageData.deleted_at);\n }\n const message = _chatMessage.default.create(channel, messageData);\n message.manager = channel.messagesManager;\n // newest has to be in after fetch callback as we don't want to make it\n // dynamic or it will make the pane jump around, it will disappear on reload\n if (!foundFirstNew && messageData.id > this.currentUserMembership?.lastReadMessageId) {\n foundFirstNew = true;\n if (message !== channel.lastMessage) {\n channel.newestMessage = message;\n } else {\n channel.newestMessage = null;\n }\n }\n if (message.thread) {\n this.#preloadThreadTrackingState(message.thread, result.tracking.thread_tracking);\n }\n messages.push(message);\n });\n return messages;\n }\n static #_34 = (() => dt7948.n(this.prototype, \"processMessages\", [_decorators.bind]))();\n debounceHighlightOrFetchMessage(messageId) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this._debouncedHighlightOrFetchMessageHandler = (0, _debounce.default)(this, this.highlightOrFetchMessage, messageId, options, 100);\n }\n highlightOrFetchMessage(messageId) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const message = this.messagesManager.findMessage(messageId);\n if (message) {\n this.scrollToMessageId(message.id, Object.assign({\n highlight: true,\n position: \"start\",\n autoExpand: true,\n behavior: this.capabilities.isIOS ? \"smooth\" : null\n }, options));\n } else {\n this.fetchMessages({\n target_message_id: messageId,\n position: \"end\"\n });\n }\n }\n debouncedUpdateLastReadMessage() {\n this._debouncedUpdateLastReadMessageHandler = (0, _debounce.default)(this, this.updateLastReadMessage, _chatConstants.READ_INTERVAL_MS);\n }\n updateLastReadMessage() {\n if (!this.args.channel.isFollowing) {\n return;\n }\n const firstFullyVisibleMessageId = (0, _firstVisibleMessageId.default)(this.scroller);\n if (!firstFullyVisibleMessageId) {\n return;\n }\n let firstMessage = this.messagesManager.findMessage(firstFullyVisibleMessageId);\n if (!firstMessage) {\n return;\n }\n const lastReadId = this.args.channel.currentUserMembership?.lastReadMessageId;\n if (lastReadId >= firstMessage.id) {\n return;\n }\n // optimistic update\n this.args.channel.currentUserMembership.lastReadMessageId = firstMessage.id;\n this.args.channel.updateLastViewedAt();\n return this.chatApi.markChannelAsRead(this.args.channel.id, firstMessage.id);\n }\n scrollToLatestMessage() {\n if (this.messagesLoader.canLoadMoreFuture) {\n this.fetchMessages();\n } else if (this.messagesManager.messages.length > 0) {\n this.scrollToBottom(this.scroller);\n }\n }\n static #_35 = (() => dt7948.n(this.prototype, \"scrollToLatestMessage\", [_object.action]))();\n onScroll(state) {\n (0, _runloop.next)(() => {\n if (this.#flushIgnoreNextScroll()) {\n return;\n }\n _datesSeparatorsPositioner.default.apply(this.scroller);\n this.needsArrow = this.messagesLoader.fetchedOnce && this.messagesLoader.canLoadMoreFuture || state.distanceToBottom.pixels > 250 && !state.atBottom;\n this.isScrolling = true;\n this.debouncedUpdateLastReadMessage();\n if (state.atTop || !this.capabilities.isIOS && state.up && state.distanceToTop.percentage < 40) {\n this.fetchMoreMessages({\n direction: _chatConstants.PAST\n });\n } else if (state.atBottom) {\n this.fetchMoreMessages({\n direction: _chatConstants.FUTURE\n });\n }\n });\n }\n static #_36 = (() => dt7948.n(this.prototype, \"onScroll\", [_object.action]))();\n onScrollEnd(state) {\n this.needsArrow = this.messagesLoader.fetchedOnce && this.messagesLoader.canLoadMoreFuture || state.distanceToBottom.pixels > 250 && !state.atBottom;\n this.isScrolling = false;\n this.atBottom = state.atBottom;\n if (state.atBottom) {\n this.fetchMoreMessages({\n direction: _chatConstants.FUTURE\n });\n this.chatChannelScrollPositions.delete(this.args.channel.id);\n } else {\n this.chatChannelScrollPositions.set(this.args.channel.id, state.firstVisibleId);\n }\n }\n static #_37 = (() => dt7948.n(this.prototype, \"onScrollEnd\", [_object.action]))();\n async onSendMessage(message) {\n if (message.message.length > this.siteSettings.chat_maximum_message_length) {\n this.dialog.alert((0, _discourseI18n.i18n)(\"chat.message_too_long\", {\n count: this.siteSettings.chat_maximum_message_length\n }));\n return;\n }\n await message.cook();\n if (message.editing) {\n await this.#sendEditMessage(message);\n } else {\n await this.#sendNewMessage(message);\n }\n }\n static #_38 = (() => dt7948.n(this.prototype, \"onSendMessage\", [_object.action]))();\n resetComposerMessage() {\n this.args.channel.resetDraft(this.currentUser);\n }\n static #_39 = (() => dt7948.n(this.prototype, \"resetComposerMessage\", [_object.action]))();\n async #sendEditMessage(message) {\n this.pane.sending = true;\n const data = {\n message: message.message,\n upload_ids: message.uploads.map(upload => upload.id)\n };\n this.resetComposerMessage();\n try {\n (0, _chatIosHacks.stackingContextFix)(this.scroller, async () => {\n await this.chatApi.editMessage(this.args.channel.id, message.id, data);\n });\n } catch (e) {\n (0, _ajaxError.popupAjaxError)(e);\n } finally {\n message.editing = false;\n this.pane.sending = false;\n }\n }\n async #sendNewMessage(message) {\n this.pane.sending = true;\n (0, _chatIosHacks.stackingContextFix)(this.scroller, async () => {\n await this.args.channel.stageMessage(message);\n });\n message.manager = this.args.channel.messagesManager;\n this.resetComposerMessage();\n if (!this.messagesLoader.canLoadMoreFuture) {\n this.scrollToLatestMessage();\n }\n try {\n await this.chatApi.sendMessage(this.args.channel.id, {\n message: message.message,\n in_reply_to_id: message.inReplyTo?.id,\n staged_id: message.id,\n upload_ids: message.uploads.map(upload => upload.id),\n ...(0, _extractCurrentTopicInfo.extractCurrentTopicInfo)(this)\n });\n this.scrollToLatestMessage();\n } catch (error) {\n this._onSendError(message.id, error);\n } finally {\n this.pane.sending = false;\n }\n }\n _onSendError(id, error) {\n const stagedMessage = this.args.channel.messagesManager.findStagedMessage(id);\n if (stagedMessage) {\n if (error.jqXHR?.responseJSON?.errors?.length) {\n // only network errors are retryable\n stagedMessage.message = \"\";\n stagedMessage.cooked = \"\";\n stagedMessage.error = error.jqXHR.responseJSON.errors[0];\n } else {\n this.chat.markNetworkAsUnreliable();\n stagedMessage.error = \"network_error\";\n }\n }\n this.resetComposerMessage();\n }\n resendStagedMessage(stagedMessage) {\n this.pane.sending = true;\n stagedMessage.error = null;\n const data = {\n cooked: stagedMessage.cooked,\n message: stagedMessage.message,\n upload_ids: stagedMessage.uploads.map(upload => upload.id),\n staged_id: stagedMessage.id\n };\n this.chatApi.sendMessage(this.args.channel.id, data).catch(error => {\n this._onSendError(data.staged_id, error);\n }).then(() => {\n this.chat.markNetworkAsReliable();\n }).finally(() => {\n this.pane.sending = false;\n });\n }\n static #_40 = (() => dt7948.n(this.prototype, \"resendStagedMessage\", [_object.action]))();\n onCloseFullScreen() {\n this.chatStateManager.prefersDrawer();\n _url.default.routeTo(this.chatStateManager.lastKnownAppURL).then(() => {\n _url.default.routeTo(this.chatStateManager.lastKnownChatURL);\n });\n }\n static #_41 = (() => dt7948.n(this.prototype, \"onCloseFullScreen\", [_object.action]))();\n _autoFocus(event) {\n if (this.chatStateManager.isDrawerActive) {\n return;\n }\n const {\n key,\n metaKey,\n ctrlKey,\n code,\n target\n } = event;\n if (!key ||\n // Handles things like Enter, Tab, Shift\n key.length > 1 ||\n // Don't need to focus if the user is beginning a shortcut.\n metaKey || ctrlKey ||\n // Space's key comes through as ' ' so it's not covered by key\n code === \"Space\" ||\n // ? is used for the keyboard shortcut modal\n key === \"?\") {\n return;\n }\n if (!target || /^(INPUT|TEXTAREA|SELECT)$/.test(target.tagName) || target.closest('[contenteditable=\"true\"]')) {\n return;\n }\n event.preventDefault();\n this.composer.focus({\n addText: event.key\n });\n return;\n }\n static #_42 = (() => dt7948.n(this.prototype, \"_autoFocus\", [_decorators.bind]))();\n #cancelHandlers() {\n (0, _runloop.cancel)(this._debouncedHighlightOrFetchMessageHandler);\n (0, _runloop.cancel)(this._debouncedUpdateLastReadMessageHandler);\n (0, _runloop.cancel)(this._debouncedFillPaneAttemptHandler);\n }\n #preloadThreadTrackingState(thread, threadTracking) {\n if (!threadTracking[thread.id]) {\n return;\n }\n thread.tracking.unreadCount = threadTracking[thread.id].unread_count;\n thread.tracking.mentionCount = threadTracking[thread.id].mention_count;\n thread.tracking.watchedThreadsUnreadCount = threadTracking[thread.id].watched_threads_unread_count;\n }\n #flushIgnoreNextScroll() {\n const prev = this._ignoreNextScroll;\n this._ignoreNextScroll = false;\n return prev;\n }\n static #_43 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n \n \n \n \n \n \n {{#each this.messagesManager.messages key=\"id\" as |message|}}\n \n {{else}}\n {{#unless this.messagesLoader.fetchedOnce}}\n \n {{/unless}}\n {{/each}}\n \n \n {{! at bottom even if shown at top due to column-reverse }}\n {{#if this.messagesLoader.loadedPast}}\n
\n {{i18n \"chat.all_loaded\"}}\n
\n {{/if}}\n \n \n \n \n {{#if this.pane.selectingMessages}}\n \n {{else}}\n {{#if (and (not @channel.isFollowing) @channel.isCategoryChannel)}}\n \n {{else}}\n \n {{/if}}\n {{/if}}\n \n \n \n \n */\n {\n \"id\": \"Q31AFW9y\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[11,0],[16,0,[28,[32,0],[\\\"chat-channel\\\",[52,[30,0,[\\\"messagesLoader\\\",\\\"loading\\\"]],\\\"loading\\\"],[52,[30,0,[\\\"pane\\\",\\\"sending\\\"]],\\\"chat-channel--sending\\\"],[52,[30,0,[\\\"hasSavedScrollPosition\\\"]],\\\"chat-channel--saved-scroll-position\\\"],[52,[30,0,[\\\"messagesLoader\\\",\\\"fetchedOnce\\\"]],\\\"--loaded\\\"]],null]],[16,\\\"data-id\\\",[30,1,[\\\"id\\\"]]],[4,[32,1],[[30,0,[\\\"teardown\\\"]]],null],[4,[32,2],[[30,0,[\\\"setup\\\"]]],null],[4,[32,3],[[30,0,[\\\"loadMessages\\\"]],[30,2]],null],[12],[1,\\\"\\\\n \\\"],[8,[32,4],null,[[\\\"@channel\\\"],[[30,1]]],null],[1,\\\"\\\\n \\\"],[8,[32,5],null,[[\\\"@channel\\\"],[[30,1]]],null],[1,\\\"\\\\n \\\"],[8,[32,6],null,null,null],[1,\\\"\\\\n\\\\n \\\"],[8,[32,7],null,[[\\\"@onRegisterScroller\\\",\\\"@onScroll\\\",\\\"@onScrollEnd\\\"],[[30,0,[\\\"registerScroller\\\"]],[30,0,[\\\"onScroll\\\"]],[30,0,[\\\"onScrollEnd\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,8],null,[[\\\"@didResizePane\\\"],[[30,0,[\\\"didResizePane\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[42,[28,[31,2],[[28,[31,2],[[30,0,[\\\"messagesManager\\\",\\\"messages\\\"]]],null]],null],\\\"id\\\",[[[1,\\\" \\\"],[8,[32,9],null,[[\\\"@message\\\",\\\"@disableMouseEvents\\\",\\\"@resendStagedMessage\\\",\\\"@fetchMessagesByDate\\\",\\\"@context\\\"],[[30,3],[30,0,[\\\"isScrolling\\\"]],[30,0,[\\\"resendStagedMessage\\\"]],[30,0,[\\\"fetchMessagesByDate\\\"]],\\\"channel\\\"]],null],[1,\\\"\\\\n\\\"]],[3]],[[[41,[51,[30,0,[\\\"messagesLoader\\\",\\\"fetchedOnce\\\"]]],[[[1,\\\" \\\"],[8,[32,10],null,null,null],[1,\\\"\\\\n\\\"]],[]],null]],[]]],[1,\\\" \\\"]],[]]]]],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"messagesLoader\\\",\\\"loadedPast\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"all-loaded-message\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,11],[\\\"chat.all_loaded\\\"],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[]]]]],[1,\\\"\\\\n\\\\n \\\"],[8,[32,12],null,[[\\\"@onScrollToBottom\\\",\\\"@isVisible\\\"],[[30,0,[\\\"scrollToLatestMessage\\\"]],[30,0,[\\\"needsArrow\\\"]]]],null],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"pane\\\",\\\"selectingMessages\\\"]],[[[1,\\\" \\\"],[8,[32,13],null,[[\\\"@enableMove\\\",\\\"@pane\\\",\\\"@messagesManager\\\"],[[28,[32,14],[[28,[32,15],[[30,1,[\\\"isDirectMessageChannel\\\"]]],null],[30,1,[\\\"canModerate\\\"]]],null],[30,0,[\\\"pane\\\"]],[30,0,[\\\"messagesManager\\\"]]]],null],[1,\\\"\\\\n\\\"]],[]],[[[41,[28,[32,14],[[28,[32,15],[[30,1,[\\\"isFollowing\\\"]]],null],[30,1,[\\\"isCategoryChannel\\\"]]],null],[[[1,\\\" \\\"],[8,[32,16],null,[[\\\"@channel\\\"],[[30,1]]],null],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[8,[32,17],null,[[\\\"@channel\\\",\\\"@uploadDropZone\\\",\\\"@onSendMessage\\\",\\\"@scroller\\\"],[[30,1],[30,0,[\\\"uploadDropZone\\\"]],[30,0,[\\\"onSendMessage\\\"]],[30,0,[\\\"scroller\\\"]]]],null],[1,\\\"\\\\n\\\"]],[]]]],[]]],[1,\\\"\\\\n \\\"],[8,[32,18],null,[[\\\"@model\\\"],[[30,1]]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"@channel\\\",\\\"@targetMessageId\\\",\\\"message\\\"],false,[\\\"if\\\",\\\"each\\\",\\\"-track-array\\\",\\\"unless\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-channel.js\",\n \"scope\": () => [_concatClass.default, _willDestroy.default, _didInsert.default, _didUpdate.default, _chatChannelStatus.default, _chatNotices.default, _chatMentionWarnings.default, _chatMessagesScroller.default, _chatMessagesContainer.default, _chatMessage2.default, _chatSkeleton.default, _discourseI18n.i18n, _scrollToBottomArrow.default, _selectionManager.default, _truthHelpers.and, _truthHelpers.not, _chatChannelPreviewCard.default, _channel.default, _chatUploadDropZone.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatChannel;\n});","define(\"discourse/plugins/chat/discourse/components/chat-composer-dropdown\", [\"exports\", \"@glimmer/component\", \"@ember/helper\", \"@ember/modifier\", \"@ember/object\", \"discourse/components/d-button\", \"discourse/helpers/concat-class\", \"discourse-i18n\", \"float-kit/components/d-menu\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _helper, _modifier, _object, _dButton, _concatClass, _discourseI18n, _dMenu, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatComposerDropdown extends _component.default {\n async onButtonClick(button, closeFn) {\n await closeFn();\n button.action();\n }\n static #_ = (() => dt7948.n(this.prototype, \"onButtonClick\", [_object.action]))();\n doubleClick(event) {\n event.preventDefault();\n const uploadButton = this.args.buttons.filter(button => button.id === \"chat-upload-btn\" && !button.disabled)[0];\n uploadButton?.action?.();\n }\n static #_2 = (() => dt7948.n(this.prototype, \"doubleClick\", [_object.action]))();\n static #_3 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if @buttons.length}}\n \n
    \n {{#each @buttons as |button|}}\n
  • \n \n
  • \n {{/each}}\n
\n \n {{/if}}\n \n */\n {\n \"id\": \"4ZIXTjGp\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"length\\\"]],[[[1,\\\" \\\"],[8,[32,0],[[16,0,[28,[32,1],[\\\"chat-composer-dropdown__trigger-btn\\\",\\\"btn-flat\\\",[52,[30,2],\\\"has-active-panel\\\"]],null]],[17,3],[4,[32,4],[\\\"dblclick\\\",[30,0,[\\\"doubleClick\\\"]]],null]],[[\\\"@title\\\",\\\"@icon\\\",\\\"@disabled\\\",\\\"@arrow\\\",\\\"@placements\\\",\\\"@identifier\\\",\\\"@modalForMobile\\\"],[[28,[32,2],[\\\"chat.composer.toggle_toolbar\\\"],null],\\\"plus\\\",[30,4],true,[28,[32,3],[\\\"top\\\",\\\"bottom\\\"],null],\\\"chat-composer-dropdown__menu\\\",true]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[10,\\\"ul\\\"],[14,0,\\\"chat-composer-dropdown__list\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[31,2],[[28,[31,2],[[30,1]],null]],null],null,[[[1,\\\" \\\"],[10,\\\"li\\\"],[15,0,[28,[32,1],[\\\"chat-composer-dropdown__item\\\",[30,6,[\\\"id\\\"]]],null]],[12],[1,\\\"\\\\n \\\"],[8,[32,5],[[16,0,[28,[32,1],[\\\"chat-composer-dropdown__action-btn\\\",\\\"btn-transparent\\\",[30,6,[\\\"id\\\"]]],null]]],[[\\\"@icon\\\",\\\"@action\\\",\\\"@label\\\"],[[30,6,[\\\"icon\\\"]],[28,[32,6],[[30,0,[\\\"onButtonClick\\\"]],[30,6],[30,5,[\\\"close\\\"]]],null],[30,6,[\\\"label\\\"]]]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[6]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"]],[5]]]]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[\\\"@buttons\\\",\\\"@hasActivePanel\\\",\\\"&attrs\\\",\\\"@isDisabled\\\",\\\"menu\\\",\\\"button\\\"],false,[\\\"if\\\",\\\"each\\\",\\\"-track-array\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-composer-dropdown.js\",\n \"scope\": () => [_dMenu.default, _concatClass.default, _discourseI18n.i18n, _helper.array, _modifier.on, _dButton.default, _helper.fn],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatComposerDropdown;\n});","define(\"discourse/plugins/chat/discourse/components/chat-composer-message-details\", [\"exports\", \"@ember/template\", \"discourse/components/d-button\", \"discourse/helpers/d-icon\", \"discourse/helpers/replace-emoji\", \"discourse/plugins/chat/discourse/components/chat-user-avatar\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _template, _dButton, _dIcon, _replaceEmoji, _chatUserAvatar, _component, _templateFactory, _templateOnly) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const ChatComposerMessageDetails = (0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n
\n {{icon (if @message.editing \"pencil\" \"reply\")}}\n \n {{@message.user.username}}\n \n {{replaceEmoji (htmlSafe @message.excerpt)}}\n \n
\n \n \n \n \n */\n {\n \"id\": \"YJD9dBsc\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-composer-message-details\\\"],[15,\\\"data-id\\\",[30,1,[\\\"id\\\"]]],[15,\\\"data-action\\\",[52,[30,1,[\\\"editing\\\"]],\\\"edit\\\",\\\"reply\\\"]],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-reply\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,0],[[52,[30,1,[\\\"editing\\\"]],\\\"pencil\\\",\\\"reply\\\"]],null]],[1,\\\"\\\\n \\\"],[8,[32,1],null,[[\\\"@user\\\"],[[30,1,[\\\"user\\\"]]]],null],[1,\\\"\\\\n \\\"],[10,1],[14,0,\\\"chat-reply__username\\\"],[12],[1,[30,1,[\\\"user\\\",\\\"username\\\"]]],[13],[1,\\\"\\\\n \\\"],[10,1],[14,0,\\\"chat-reply__excerpt\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,2],[[28,[32,3],[[30,1,[\\\"excerpt\\\"]]],null]],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\\n \\\"],[8,[32,4],[[24,0,\\\"btn-flat cancel-message-action\\\"]],[[\\\"@action\\\",\\\"@icon\\\",\\\"@title\\\"],[[30,2],\\\"circle-xmark\\\",\\\"cancel\\\"]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[\\\"@message\\\",\\\"@cancelAction\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-composer-message-details.js\",\n \"scope\": () => [_dIcon.default, _chatUserAvatar.default, _replaceEmoji.default, _template.htmlSafe, _dButton.default],\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, \"chat-composer-message-details:ChatComposerMessageDetails\"));\n var _default = _exports.default = ChatComposerMessageDetails;\n});","define(\"discourse/plugins/chat/discourse/components/chat-composer-upload\", [\"exports\", \"@glimmer/component\", \"discourse/components/d-button\", \"discourse/helpers/concat-class\", \"discourse/helpers/d-icon\", \"discourse/lib/uploads\", \"discourse-i18n\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _dButton, _concatClass, _dIcon, _uploads, _discourseI18n, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatComposerUpload extends _component.default {\n get isImage() {\n return (0, _uploads.isImage)(this.args.upload.original_filename || this.args.upload.fileName);\n }\n get fileName() {\n return this.args.isDone ? this.args.upload.original_filename : this.args.upload.fileName;\n }\n static #_ = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if @upload}}\n \n
\n {{#if this.isImage}}\n {{#if @isDone}}\n \n {{else}}\n {{icon \"far-image\"}}\n {{/if}}\n {{else}}\n {{icon \"file-lines\"}}\n {{/if}}\n
\n \n \n {{#unless this.isImage}}\n
\n {{this.fileName}}\n
\n {{/unless}}\n \n
\n {{#if @isDone}}\n {{#unless this.isImage}}\n {{@upload.extension}}\n {{/unless}}\n {{else}}\n {{#if @upload.processing}}\n {{i18n \"processing\"}}\n {{else}}\n {{i18n \"uploading\"}}\n {{/if}}\n \n \n {{/if}}\n
\n
\n \n \n \n {{/if}}\n \n */\n {\n \"id\": \"i49/H7Z5\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,1],[[[1,\\\" \\\"],[10,0],[15,0,[28,[32,0],[\\\"chat-composer-upload\\\",[52,[30,0,[\\\"isImage\\\"]],\\\"chat-composer-upload--image\\\"],[52,[51,[30,2]],\\\"chat-composer-upload--in-progress\\\"]],null]],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"preview\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"isImage\\\"]],[[[41,[30,2],[[[1,\\\" \\\"],[10,\\\"img\\\"],[14,0,\\\"preview-img\\\"],[15,\\\"src\\\",[30,1,[\\\"short_path\\\"]]],[12],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[1,[28,[32,1],[\\\"far-image\\\"],null]],[1,\\\"\\\\n\\\"]],[]]]],[]],[[[1,\\\" \\\"],[1,[28,[32,1],[\\\"file-lines\\\"],null]],[1,\\\"\\\\n\\\"]],[]]],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\\n \\\"],[10,1],[14,0,\\\"data\\\"],[12],[1,\\\"\\\\n\\\"],[41,[51,[30,0,[\\\"isImage\\\"]]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"top-data\\\"],[12],[1,\\\"\\\\n \\\"],[10,1],[14,0,\\\"file-name\\\"],[12],[1,[30,0,[\\\"fileName\\\"]]],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"bottom-data\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,2],[[[41,[51,[30,0,[\\\"isImage\\\"]]],[[[1,\\\" \\\"],[10,1],[14,0,\\\"extension-pill\\\"],[12],[1,[30,1,[\\\"extension\\\"]]],[13],[1,\\\"\\\\n\\\"]],[]],null]],[]],[[[41,[30,1,[\\\"processing\\\"]],[[[1,\\\" \\\"],[10,1],[14,0,\\\"processing\\\"],[12],[1,[28,[32,2],[\\\"processing\\\"],null]],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[10,1],[14,0,\\\"uploading\\\"],[12],[1,[28,[32,2],[\\\"uploading\\\"],null]],[13],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"\\\\n \\\"],[10,\\\"progress\\\"],[14,0,\\\"upload-progress\\\"],[14,1,\\\"file\\\"],[14,\\\"max\\\",\\\"100\\\"],[15,2,[30,1,[\\\"progress\\\"]]],[12],[13],[1,\\\"\\\\n\\\"]],[]]],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\\n \\\"],[8,[32,3],[[24,0,\\\"btn-flat chat-composer-upload__remove-btn\\\"]],[[\\\"@action\\\",\\\"@icon\\\",\\\"@title\\\"],[[30,3],\\\"xmark\\\",\\\"chat.remove_upload\\\"]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[\\\"@upload\\\",\\\"@isDone\\\",\\\"@onCancel\\\"],false,[\\\"if\\\",\\\"unless\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-composer-upload.js\",\n \"scope\": () => [_concatClass.default, _dIcon.default, _discourseI18n.i18n, _dButton.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatComposerUpload;\n});","define(\"discourse/plugins/chat/discourse/components/chat-composer-uploads\", [\"exports\", \"@ember/component\", \"@ember/helper\", \"@ember/object\", \"@ember/owner\", \"@ember/service\", \"@ember-decorators/component\", \"discourse/components/pick-files-button\", \"discourse/lib/decorators\", \"discourse/lib/object\", \"discourse/lib/uppy/uppy-upload\", \"discourse/lib/uppy-media-optimization-plugin\", \"discourse/lib/utilities\", \"discourse/plugins/chat/discourse/components/chat-composer-upload\", \"@ember/template-factory\"], function (_exports, _component, _helper, _object, _owner, _service, _component2, _pickFilesButton, _decorators, _object2, _uppyUpload, _uppyMediaOptimizationPlugin, _utilities, _chatComposerUpload, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const ChatComposerUploads = dt7948.c(class ChatComposerUploads extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"mediaOptimizationWorker\", [_service.service]))();\n #mediaOptimizationWorker = (() => (dt7948.i(this, \"mediaOptimizationWorker\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"chatStateManager\", [_service.service]))();\n #chatStateManager = (() => (dt7948.i(this, \"chatStateManager\"), void 0))();\n uppyUpload = (() => new _uppyUpload.default((0, _owner.getOwner)(this), {\n id: \"chat-composer-uploader\",\n type: \"chat-composer\",\n useMultipartUploadsIfAvailable: true,\n uppyReady: () => {\n if (this.siteSettings.composer_media_optimization_image_enabled) {\n this.uppyUpload.uppyWrapper.useUploadPlugin(_uppyMediaOptimizationPlugin.default, {\n optimizeFn: (data, opts) => this.mediaOptimizationWorker.optimizeImage(data, opts),\n runParallel: !this.site.isMobileDevice\n });\n }\n this.uppyUpload.uppyWrapper.onPreProcessProgress(file => {\n const inProgressUpload = this.inProgressUploads.findBy(\"id\", file.id);\n if (!inProgressUpload?.processing) {\n inProgressUpload?.set(\"processing\", true);\n }\n });\n this.uppyUpload.uppyWrapper.onPreProcessComplete(file => {\n const inProgressUpload = this.inProgressUploads.findBy(\"id\", file.id);\n inProgressUpload?.set(\"processing\", false);\n });\n },\n uploadDone: upload => {\n this.uploads.pushObject(upload);\n this._triggerUploadsChanged();\n },\n uploadDropTargetOptions: () => ({\n target: this.uploadDropZone || document.body\n }),\n onProgressUploadsChanged: () => {\n this._triggerUploadsChanged(this.uploads, {\n inProgressUploadsCount: this.inProgressUploads?.length\n });\n }\n }))();\n existingUploads = null;\n uploads = null;\n uploadDropZone = null;\n get inProgressUploads() {\n return this.uppyUpload.inProgressUploads;\n }\n didReceiveAttrs() {\n super.didReceiveAttrs(...arguments);\n if (this.inProgressUploads?.length > 0) {\n this.uppyUpload.uppyWrapper.uppyInstance?.cancelAll();\n }\n this.set(\"uploads\", this.existingUploads ? (0, _object2.cloneJSON)(this.existingUploads) : []);\n }\n didInsertElement() {\n super.didInsertElement(...arguments);\n this.composerInputEl?.addEventListener(\"paste\", this._pasteEventListener);\n }\n willDestroyElement() {\n super.willDestroyElement(...arguments);\n this.composerInputEl?.removeEventListener(\"paste\", this._pasteEventListener);\n }\n get showUploadsContainer() {\n return this.get(\"uploads.length\") > 0 || this.inProgressUploads.length > 0;\n }\n cancelUploading(upload) {\n this.uppyUpload.cancelSingleUpload({\n fileId: upload.id\n });\n this.removeUpload(upload);\n }\n static #_3 = (() => dt7948.n(this.prototype, \"cancelUploading\", [_object.action]))();\n removeUpload(upload) {\n this.uploads.removeObject(upload);\n this._triggerUploadsChanged();\n }\n static #_4 = (() => dt7948.n(this.prototype, \"removeUpload\", [_object.action]))();\n _pasteEventListener(event) {\n if (document.activeElement !== this.composerInputEl) {\n return;\n }\n const {\n canUpload,\n canPasteHtml,\n types\n } = (0, _utilities.clipboardHelpers)(event, {\n siteSettings: this.siteSettings,\n canUpload: true\n });\n if (!canUpload || canPasteHtml || types.includes(\"text/plain\")) {\n return;\n }\n if (event && event.clipboardData && event.clipboardData.files) {\n this.uppyUpload.addFiles([...event.clipboardData.files], {\n pasted: true\n });\n }\n }\n static #_5 = (() => dt7948.n(this.prototype, \"_pasteEventListener\", [_decorators.bind]))();\n _triggerUploadsChanged() {\n this.onUploadChanged?.(this.uploads, {\n inProgressUploadsCount: this.inProgressUploads?.length\n });\n }\n static #_6 = (() => (0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if this.showUploadsContainer}}\n
\n {{#each this.uploads as |upload|}}\n \n {{/each}}\n \n {{#each this.inProgressUploads as |upload|}}\n \n {{/each}}\n
\n {{/if}}\n \n \n \n */\n {\n \"id\": \"vtWVK88M\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"showUploadsContainer\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-composer-uploads-container\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[31,2],[[28,[31,2],[[30,0,[\\\"uploads\\\"]]],null]],null],null,[[[1,\\\" \\\"],[8,[32,0],null,[[\\\"@upload\\\",\\\"@isDone\\\",\\\"@onCancel\\\"],[[30,1],true,[28,[32,1],[[30,0,[\\\"removeUpload\\\"]],[30,1]],null]]],null],[1,\\\"\\\\n\\\"]],[1]],null],[1,\\\"\\\\n\\\"],[42,[28,[31,2],[[28,[31,2],[[30,0,[\\\"inProgressUploads\\\"]]],null]],null],null,[[[1,\\\" \\\"],[8,[32,0],null,[[\\\"@upload\\\",\\\"@onCancel\\\"],[[30,2],[28,[32,1],[[30,0,[\\\"cancelUploading\\\"]],[30,2]],null]]],null],[1,\\\"\\\\n\\\"]],[2]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n \\\"],[8,[32,2],null,[[\\\"@allowMultiple\\\",\\\"@fileInputId\\\",\\\"@fileInputClass\\\",\\\"@registerFileInput\\\"],[true,[30,0,[\\\"fileUploadElementId\\\"]],\\\"hidden-upload-field\\\",[30,0,[\\\"uppyUpload\\\",\\\"setup\\\"]]]],null],[1,\\\"\\\\n \\\"]],[\\\"upload\\\",\\\"upload\\\"],false,[\\\"if\\\",\\\"each\\\",\\\"-track-array\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-composer-uploads.js\",\n \"scope\": () => [_chatComposerUpload.default, _helper.fn, _pickFilesButton.default],\n \"isStrictMode\": true\n }), this))();\n }, [(0, _component2.classNames)(\"chat-composer-uploads\")]);\n var _default = _exports.default = ChatComposerUploads;\n});","define(\"discourse/plugins/chat/discourse/components/chat-composer\", [\"exports\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/helper\", \"@ember/modifier\", \"@ember/object\", \"@ember/owner\", \"@ember/render-modifiers/modifiers/did-insert\", \"@ember/render-modifiers/modifiers/did-update\", \"@ember/render-modifiers/modifiers/will-destroy\", \"@ember/runloop\", \"@ember/service\", \"@ember/utils\", \"jquery\", \"pretty-text/emoji\", \"pretty-text/emoji/data\", \"rsvp\", \"truth-helpers\", \"discourse/components/d-textarea\", \"discourse/components/emoji-picker/detached\", \"discourse/components/modal/upsert-hyperlink\", \"discourse/components/plugin-outlet\", \"discourse/helpers/concat-class\", \"discourse/helpers/lazy-hash\", \"discourse/lib/autocomplete\", \"discourse/lib/autocomplete/emoji\", \"discourse/lib/autocomplete/user\", \"discourse/lib/hashtag-autocomplete\", \"discourse/lib/load-emoji-search-aliases\", \"discourse/lib/object\", \"discourse/lib/optional-service\", \"discourse/lib/text\", \"discourse/lib/user-search\", \"discourse/lib/user-status-on-autocomplete\", \"discourse/lib/virtual-element-from-text-range\", \"discourse/lib/wait-for-keyboard\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/chat/composer/button\", \"discourse/plugins/chat/discourse/components/chat-composer-dropdown\", \"discourse/plugins/chat/discourse/components/chat-composer-message-details\", \"discourse/plugins/chat/discourse/components/chat-composer-uploads\", \"discourse/plugins/chat/discourse/components/chat-replying-indicator\", \"discourse/plugins/chat/discourse/lib/chat-composer-buttons\", \"discourse/plugins/chat/discourse/lib/chat-message-interactor\", \"discourse/plugins/chat/discourse/lib/textarea-interactor\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _tracking, _helper, _modifier, _object, _owner, _didInsert, _didUpdate, _willDestroy, _runloop, _service, _utils, _jquery, _emoji, _data, _rsvp, _truthHelpers, _dTextarea, _detached, _upsertHyperlink, _pluginOutlet, _concatClass, _lazyHash, _autocomplete, _emoji2, _user, _hashtagAutocomplete, _loadEmojiSearchAliases, _object2, _optionalService, _text, _userSearch, _userStatusOnAutocomplete, _virtualElementFromTextRange, _waitForKeyboard, _discourseI18n, _button, _chatComposerDropdown, _chatComposerMessageDetails, _chatComposerUploads, _chatReplyingIndicator, _chatComposerButtons, _chatMessageInteractor, _textareaInteractor, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const CHAT_PRESENCE_KEEP_ALIVE = 5 * 1000; // 5 seconds\n class ChatComposer extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"capabilities\", [_service.service]))();\n #capabilities = (() => (dt7948.i(this, \"capabilities\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"store\", [_service.service]))();\n #store = (() => (dt7948.i(this, \"store\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_6 = (() => dt7948.g(this.prototype, \"chatComposerWarningsTracker\", [_service.service]))();\n #chatComposerWarningsTracker = (() => (dt7948.i(this, \"chatComposerWarningsTracker\"), void 0))();\n static #_7 = (() => dt7948.g(this.prototype, \"appEvents\", [_service.service]))();\n #appEvents = (() => (dt7948.i(this, \"appEvents\"), void 0))();\n static #_8 = (() => dt7948.g(this.prototype, \"emojiStore\", [_service.service]))();\n #emojiStore = (() => (dt7948.i(this, \"emojiStore\"), void 0))();\n static #_9 = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n static #_10 = (() => dt7948.g(this.prototype, \"chatApi\", [_service.service]))();\n #chatApi = (() => (dt7948.i(this, \"chatApi\"), void 0))();\n static #_11 = (() => dt7948.g(this.prototype, \"chatDraftsManager\", [_service.service]))();\n #chatDraftsManager = (() => (dt7948.i(this, \"chatDraftsManager\"), void 0))();\n static #_12 = (() => dt7948.g(this.prototype, \"modal\", [_service.service]))();\n #modal = (() => (dt7948.i(this, \"modal\"), void 0))();\n static #_13 = (() => dt7948.g(this.prototype, \"menu\", [_service.service]))();\n #menu = (() => (dt7948.i(this, \"menu\"), void 0))();\n static #_14 = (() => dt7948.g(this.prototype, \"composerPresenceManager\", [_optionalService.default]))();\n #composerPresenceManager = (() => (dt7948.i(this, \"composerPresenceManager\"), void 0))();\n static #_15 = (() => dt7948.g(this.prototype, \"isFocused\", [_tracking.tracked], function () {\n return false;\n }))();\n #isFocused = (() => (dt7948.i(this, \"isFocused\"), void 0))();\n static #_16 = (() => dt7948.g(this.prototype, \"inProgressUploadsCount\", [_tracking.tracked], function () {\n return 0;\n }))();\n #inProgressUploadsCount = (() => (dt7948.i(this, \"inProgressUploadsCount\"), void 0))();\n static #_17 = (() => dt7948.g(this.prototype, \"presenceChannelName\", [_tracking.tracked]))();\n #presenceChannelName = (() => (dt7948.i(this, \"presenceChannelName\"), void 0))();\n get shouldRenderMessageDetails() {\n return this.draft?.editing || this.context === \"channel\" && this.draft?.inReplyTo;\n }\n get inlineButtons() {\n return (0, _chatComposerButtons.chatComposerButtons)(this, \"inline\", this.context);\n }\n get dropdownButtons() {\n return (0, _chatComposerButtons.chatComposerButtons)(this, \"dropdown\", this.context);\n }\n get fileUploadElementId() {\n return this.context + \"-file-uploader\";\n }\n get canAttachUploads() {\n return this.siteSettings.chat_allow_uploads && (0, _utils.isPresent)(this.args.uploadDropZone);\n }\n persistDraft() {}\n static #_18 = (() => dt7948.n(this.prototype, \"persistDraft\", [_object.action]))();\n setupAutocomplete(textarea) {\n const $textarea = (0, _jquery.default)(textarea);\n this.#applyUserAutocomplete($textarea);\n this.#applyEmojiAutocomplete($textarea);\n this.#applyCategoryHashtagAutocomplete($textarea);\n }\n static #_19 = (() => dt7948.n(this.prototype, \"setupAutocomplete\", [_object.action]))();\n setupTextareaInteractor(textarea) {\n this.composer.textarea = new _textareaInteractor.default((0, _owner.getOwner)(this), textarea);\n if (this.site.desktopView && this.args.autofocus) {\n this.composer.focus({\n ensureAtEnd: true,\n refreshHeight: true\n });\n }\n }\n static #_20 = (() => dt7948.n(this.prototype, \"setupTextareaInteractor\", [_object.action]))();\n didUpdateMessage() {\n this.cancelPersistDraft();\n this.composer.textarea.value = this.draft.message;\n this.persistDraft();\n this.captureMentions({\n skipDebounce: true\n });\n }\n static #_21 = (() => dt7948.n(this.prototype, \"didUpdateMessage\", [_object.action]))();\n didUpdateInReplyTo() {\n this.cancelPersistDraft();\n this.persistDraft();\n }\n static #_22 = (() => dt7948.n(this.prototype, \"didUpdateInReplyTo\", [_object.action]))();\n cancelPersistDraft() {\n (0, _runloop.cancel)(this._persistHandler);\n }\n static #_23 = (() => dt7948.n(this.prototype, \"cancelPersistDraft\", [_object.action]))();\n handleInlineButtonAction(buttonAction, event) {\n event.stopPropagation();\n buttonAction();\n }\n static #_24 = (() => dt7948.n(this.prototype, \"handleInlineButtonAction\", [_object.action]))();\n get hasContent() {\n const minLength = this.siteSettings.chat_minimum_message_length || 1;\n return this.draft?.message?.length >= minLength || this.canAttachUploads && this.hasUploads;\n }\n get hasUploads() {\n return this.draft?.uploads?.length > 0;\n }\n get sendEnabled() {\n return (this.hasContent || this.draft?.editing) && !this.pane.sending && !this.inProgressUploadsCount > 0;\n }\n setup() {\n this.composer.scroller = this.args.scroller;\n this.appEvents.on(\"chat:modify-selection\", this, \"modifySelection\");\n this.appEvents.on(\"chat:open-insert-link-modal\", this, \"openUpsertLinkModal\");\n }\n static #_25 = (() => dt7948.n(this.prototype, \"setup\", [_object.action]))();\n teardown() {\n this.appEvents.off(\"chat:modify-selection\", this, \"modifySelection\");\n this.appEvents.off(\"chat:open-insert-link-modal\", this, \"openUpsertLinkModal\");\n this.pane.sending = false;\n }\n static #_26 = (() => dt7948.n(this.prototype, \"teardown\", [_object.action]))();\n insertDiscourseLocalDate() {\n // JIT import because local-dates isn't necessarily enabled\n const LocalDatesCreateModal = require(\"discourse/plugins/discourse-local-dates/discourse/components/modal/local-dates-create\").default;\n this.modal.show(LocalDatesCreateModal, {\n model: {\n insertDate: markup => {\n this.composer.textarea.addText(this.composer.textarea.getSelected(), markup);\n this.composer.focus();\n }\n }\n });\n }\n static #_27 = (() => dt7948.n(this.prototype, \"insertDiscourseLocalDate\", [_object.action]))();\n uploadClicked() {\n document.querySelector(`#${this.fileUploadElementId}`).click();\n }\n static #_28 = (() => dt7948.n(this.prototype, \"uploadClicked\", [_object.action]))();\n computeIsFocused(isFocused) {\n (0, _runloop.next)(() => {\n this.isFocused = isFocused;\n });\n }\n static #_29 = (() => dt7948.n(this.prototype, \"computeIsFocused\", [_object.action]))();\n onInput(event) {\n this.draft.draftSaved = false;\n this.draft.message = event.target.value;\n this.composer.textarea.refreshHeight();\n this.reportReplyingPresence();\n this.persistDraft();\n this.captureMentions();\n }\n static #_30 = (() => dt7948.n(this.prototype, \"onInput\", [_object.action]))();\n onUploadChanged(uploads, _ref) {\n let {\n inProgressUploadsCount\n } = _ref;\n this.draft.draftSaved = false;\n this.inProgressUploadsCount = inProgressUploadsCount || 0;\n if (typeof uploads !== \"undefined\" && inProgressUploadsCount !== \"undefined\" && inProgressUploadsCount === 0 && this.draft) {\n this.draft.uploads = (0, _object2.cloneJSON)(uploads);\n }\n this.composer.textarea?.focus();\n this.reportReplyingPresence();\n this.persistDraft();\n }\n static #_31 = (() => dt7948.n(this.prototype, \"onUploadChanged\", [_object.action]))();\n trapMouseDown(event) {\n event?.preventDefault();\n }\n static #_32 = (() => dt7948.n(this.prototype, \"trapMouseDown\", [_object.action]))();\n async onSend(event) {\n if (!this.sendEnabled) {\n return;\n }\n event?.preventDefault();\n if (this.draft.editing && !this.hasUploads && this.draft.message.length === 0) {\n this.#deleteEmptyMessage();\n return;\n }\n if (await this.reactingToLastMessage()) {\n return;\n }\n await this.args.onSendMessage(this.draft);\n this.composer.textarea.refreshHeight();\n }\n static #_33 = (() => dt7948.n(this.prototype, \"onSend\", [_object.action]))();\n async reactingToLastMessage() {\n // Check if the message is a reaction to the latest message in the channel.\n const message = this.draft.message.trim();\n let reactionCode = \"\";\n if (message.startsWith(\"+\")) {\n const reaction = message.substring(1);\n // First check if the message is +{emoji}\n if (_data.replacements[reaction]) {\n reactionCode = _data.replacements[reaction];\n } else {\n // Then check if the message is +:{emoji_code}:\n const emojiCode = reaction.substring(1, reaction.length - 1);\n reactionCode = (0, _emoji.normalizeEmoji)(emojiCode);\n }\n }\n if (reactionCode && this.lastMessage?.id) {\n const interactor = new _chatMessageInteractor.default((0, _owner.getOwner)(this), this.lastMessage, this.context);\n await interactor.react(reactionCode, \"add\");\n this.resetDraft();\n return true;\n }\n return false;\n }\n reportReplyingPresence() {\n if (!this.args.channel || !this.draft) {\n return;\n }\n this.composerPresenceManager?.notifyState(this.presenceChannelName, !this.draft.editing && this.hasContent, CHAT_PRESENCE_KEEP_ALIVE);\n }\n modifySelection(event) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n type: null,\n context: null\n };\n if (options.context !== this.context) {\n return;\n }\n const sel = this.composer.textarea.getSelected(\"\", {\n lineVal: true\n });\n if (options.type === \"bold\") {\n this.composer.textarea.applySurround(sel, \"**\", \"**\", \"bold_text\");\n } else if (options.type === \"italic\") {\n this.composer.textarea.applySurround(sel, \"_\", \"_\", \"italic_text\");\n } else if (options.type === \"code\") {\n this.composer.textarea.applySurround(sel, \"`\", \"`\", \"code_text\");\n }\n }\n static #_34 = (() => dt7948.n(this.prototype, \"modifySelection\", [_object.action]))();\n onTextareaFocusOut() {\n this.isFocused = false;\n }\n static #_35 = (() => dt7948.n(this.prototype, \"onTextareaFocusOut\", [_object.action]))();\n onTextareaFocusIn(event) {\n this.isFocused = true;\n if (!this.capabilities.isIOS) {\n return;\n }\n // hack to prevent the whole viewport to move on focus input\n const textarea = event.target;\n textarea.style.transform = \"translateY(-99999px)\";\n textarea.focus();\n window.requestAnimationFrame(() => {\n window.requestAnimationFrame(() => {\n textarea.style.transform = \"\";\n });\n });\n }\n static #_36 = (() => dt7948.n(this.prototype, \"onTextareaFocusIn\", [_object.action]))();\n onKeyDown(event) {\n if (this.site.mobileView || event.altKey || this.#isAutocompleteDisplayed()) {\n return;\n }\n if (event.key === \"Escape\" && !event.shiftKey) {\n return this.handleEscape(event);\n }\n if (event.key === \"Enter\") {\n const shortcutPreference = this.currentUser.user_option.chat_send_shortcut;\n const send = shortcutPreference === \"enter\" && !event.shiftKey || event.ctrlKey || event.metaKey;\n if (!send) {\n // insert newline\n return;\n }\n this.onSend();\n event.preventDefault();\n return false;\n }\n if (event.key === \"ArrowUp\" && !this.hasContent && !this.draft.editing) {\n if (event.shiftKey && this.lastMessage?.replyable) {\n this.composer.replyTo(this.lastMessage);\n } else {\n const editableMessage = this.lastUserMessage(this.currentUser);\n if (editableMessage?.editable) {\n this.composer.edit(editableMessage);\n this.args.channel.draft = editableMessage;\n }\n }\n }\n }\n static #_37 = (() => dt7948.n(this.prototype, \"onKeyDown\", [_object.action]))();\n openUpsertLinkModal(event) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n context: null\n };\n if (options.context !== this.context) {\n return;\n }\n const selected = this.composer.textarea.getSelected(\"\", {\n lineVal: true\n });\n const linkText = selected?.value;\n this.modal.show(_upsertHyperlink.default, {\n model: {\n linkText,\n toolbarEvent: {\n addText: text => this.composer.textarea.addText(selected, text)\n }\n }\n });\n }\n static #_38 = (() => dt7948.n(this.prototype, \"openUpsertLinkModal\", [_object.action]))();\n onSelectEmoji(emoji) {\n this.composer.textarea.emojiSelected(emoji);\n if (this.site.desktopView) {\n this.composer.focus();\n }\n }\n static #_39 = (() => dt7948.n(this.prototype, \"onSelectEmoji\", [_object.action]))();\n captureMentions() {\n let opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n skipDebounce: false\n };\n if (this.hasContent) {\n this.chatComposerWarningsTracker.trackMentions(this.draft, opts.skipDebounce);\n } else {\n this.chatComposerWarningsTracker.reset();\n }\n }\n static #_40 = (() => dt7948.n(this.prototype, \"captureMentions\", [_object.action]))();\n #addMentionedUser(userData) {\n const user = this.store.createRecord(\"user\", userData);\n this.draft.mentionedUsers.set(user.id, user);\n }\n #applyUserAutocomplete($textarea) {\n if (!this.siteSettings.enable_mentions) {\n return;\n }\n $textarea.autocomplete({\n template: _user.default,\n key: \"@\",\n width: \"100%\",\n treatAsTextarea: true,\n autoSelectFirstSuggestion: true,\n transformComplete: obj => {\n if (obj.isUser) {\n this.#addMentionedUser(obj);\n }\n return obj.username || obj.name;\n },\n dataSource: term => {\n (0, _userStatusOnAutocomplete.destroyUserStatuses)();\n return (0, _userSearch.default)({\n term,\n includeGroups: true\n }).then(result => {\n if (result?.users?.length > 0) {\n const presentUserNames = this.chat.presenceChannel.users?.mapBy(\"username\");\n result.users.forEach(user => {\n if (presentUserNames.includes(user.username)) {\n user.cssClasses = \"is-online\";\n }\n });\n (0, _userStatusOnAutocomplete.initUserStatusHtml)((0, _owner.getOwner)(this), result.users);\n }\n return result;\n });\n },\n onRender: options => {\n (0, _userStatusOnAutocomplete.renderUserStatusHtml)(options);\n },\n afterComplete: (text, event) => {\n event.preventDefault();\n this.composer.textarea.value = text;\n this.composer.focus();\n this.captureMentions();\n },\n onClose: _userStatusOnAutocomplete.destroyUserStatuses\n });\n }\n #applyCategoryHashtagAutocomplete($textarea) {\n (0, _hashtagAutocomplete.setupHashtagAutocomplete)(this.site.hashtag_configurations[\"chat-composer\"], $textarea, this.siteSettings, {\n treatAsTextarea: true,\n afterComplete: (text, event) => {\n event.preventDefault();\n this.composer.textarea.value = text;\n this.composer.focus();\n }\n });\n }\n #applyEmojiAutocomplete($textarea) {\n if (!this.siteSettings.enable_emoji) {\n return;\n }\n $textarea.autocomplete({\n template: _emoji2.default,\n key: \":\",\n afterComplete: (text, event) => {\n event.preventDefault();\n this.composer.textarea.value = text;\n this.composer.focus();\n },\n treatAsTextarea: true,\n onKeyUp: (text, cp) => {\n const matches = /(?:^|[\\s.\\?,@\\/#!%&*;:\\[\\]{}=\\-_()+])(:(?!:).?[\\w-]*:?(?!:)(?:t\\d?)?:?) ?$/gi.exec(text.substring(0, cp));\n if (matches && matches[1]) {\n return [matches[1]];\n }\n },\n transformComplete: async v => {\n if (v.code) {\n return `${v.code}:`;\n } else {\n $textarea.autocomplete({\n cancel: true\n });\n const menuOptions = {\n identifier: \"emoji-picker\",\n groupIdentifier: \"emoji-picker\",\n component: _detached.default,\n context: \"chat\",\n modalForMobile: true,\n data: {\n didSelectEmoji: emoji => {\n this.onSelectEmoji(emoji);\n },\n term: v.term,\n context: \"chat\"\n }\n };\n // Close the keyboard before showing the emoji picker\n // it avoids a whole range of bugs on iOS\n await (0, _waitForKeyboard.waitForClosedKeyboard)(this);\n const virtualElement = (0, _virtualElementFromTextRange.default)();\n this.menuInstance = await this.menu.show(virtualElement, menuOptions);\n return \"\";\n }\n },\n dataSource: term => {\n return new _rsvp.Promise(resolve => {\n const full = `:${term}`;\n term = term.toLowerCase();\n // We need to avoid quick emoji autocomplete cause it can interfere with quick\n // typing, set minimal length to 2\n let minLength = Math.max(this.siteSettings.emoji_autocomplete_min_chars, 2);\n if (term.length < minLength) {\n return resolve(_autocomplete.SKIP);\n }\n // bypass :-p and other common typed smileys\n if (!term.match(/[^-\\{\\}\\[\\]\\(\\)\\*_\\<\\>\\\\\\/].*[^-\\{\\}\\[\\]\\(\\)\\*_\\<\\>\\\\\\/]/)) {\n return resolve(_autocomplete.SKIP);\n }\n if (term === \"\") {\n const favorites = this.emojiStore.favoritesForContext(\"chat\");\n if (favorites.length > 0) {\n return resolve(favorites.slice(0, 5));\n } else {\n return resolve([\"slight_smile\", \"smile\", \"wink\", \"sunny\", \"blush\"]);\n }\n }\n // note this will only work for emojis starting with :\n // eg: :-)\n const emojiTranslation = this.site.custom_emoji_translation || {};\n const allTranslations = Object.assign({}, _data.translations, emojiTranslation);\n if (allTranslations[full]) {\n return resolve([allTranslations[full]]);\n }\n const emojiDenied = this.site.denied_emojis || [];\n const match = term.match(/^:?(.*?):t([2-6])?$/);\n if (match) {\n const name = match[1];\n const scale = match[2];\n if ((0, _emoji.isSkinTonableEmoji)(name) && !emojiDenied.includes(name)) {\n if (scale) {\n return resolve([`${name}:t${scale}`]);\n } else {\n return resolve([2, 3, 4, 5, 6].map(x => `${name}:t${x}`));\n }\n }\n }\n (0, _loadEmojiSearchAliases.default)().then(searchAliases => {\n const options = (0, _emoji.emojiSearch)(term, {\n maxResults: 5,\n diversity: this.emojiStore.diversity,\n exclude: emojiDenied,\n searchAliases\n });\n resolve(options);\n });\n }).then(list => {\n if (list === _autocomplete.SKIP) {\n return;\n }\n return list.map(code => ({\n code,\n src: (0, _text.emojiUrlFor)(code)\n }));\n }).then(list => {\n if (list?.length) {\n list.push({\n label: (0, _discourseI18n.i18n)(\"composer.more_emoji\"),\n term\n });\n }\n return list;\n });\n }\n });\n }\n #isAutocompleteDisplayed() {\n return document.querySelector(\".autocomplete\");\n }\n #deleteEmptyMessage() {\n new _chatMessageInteractor.default((0, _owner.getOwner)(this), this.draft, this.context).delete();\n this.resetDraft();\n }\n static #_41 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{! template-lint-disable no-pointer-down-event-binding }}\n {{! template-lint-disable no-invalid-interactive }}\n \n
\n {{#if this.shouldRenderMessageDetails}}\n \n {{/if}}\n \n \n
\n {{#if this.site.mobileView}}\n \n {{/if}}\n \n
\n {{#if this.site.desktopView}}\n \n {{/if}}\n \n \n \n
\n \n {{#if this.inlineButtons.length}}\n {{#each this.inlineButtons as |button|}}\n \n {{/each}}\n \n {{/if}}\n \n \n \n {{#if this.site.desktopView}}\n \n {{/if}}\n
\n {{#if this.site.mobileView}}\n \n {{/if}}\n
\n \n \n {{#if this.canAttachUploads}}\n \n {{/if}}\n \n
\n \n
\n \n \n */\n {\n \"id\": \"A4w75VKP\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-composer__wrapper\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"shouldRenderMessageDetails\\\"]],[[[1,\\\" \\\"],[8,[32,0],null,[[\\\"@message\\\",\\\"@cancelAction\\\"],[[52,[30,0,[\\\"draft\\\",\\\"editing\\\"]],[30,0,[\\\"draft\\\"]],[30,0,[\\\"draft\\\",\\\"inReplyTo\\\"]]],[30,0,[\\\"resetDraft\\\"]]]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n \\\"],[11,0],[24,\\\"role\\\",\\\"region\\\"],[16,\\\"aria-label\\\",[28,[32,1],[\\\"chat.aria_roles.composer\\\"],null]],[16,0,[28,[32,2],[\\\"chat-composer\\\",[52,[30,0,[\\\"isFocused\\\"]],\\\"is-focused\\\"],[52,[30,0,[\\\"pane\\\",\\\"sending\\\"]],\\\"is-sending\\\"],[52,[30,0,[\\\"sendEnabled\\\"]],\\\"is-send-enabled\\\",\\\"is-send-disabled\\\"],[52,[30,0,[\\\"disabled\\\"]],\\\"is-disabled\\\",\\\"is-enabled\\\"],[52,[30,0,[\\\"draft\\\",\\\"draftSaved\\\"]],\\\"is-draft-saved\\\",\\\"is-draft-unsaved\\\"]],null]],[4,[32,3],[[30,0,[\\\"didUpdateMessage\\\"]],[30,0,[\\\"draft\\\"]]],null],[4,[32,3],[[30,0,[\\\"didUpdateInReplyTo\\\"]],[30,0,[\\\"draft\\\",\\\"inReplyTo\\\"]]],null],[4,[32,4],[[30,0,[\\\"setup\\\"]]],null],[4,[32,5],[[30,0,[\\\"teardown\\\"]]],null],[4,[32,5],[[30,0,[\\\"cancelPersistDraft\\\"]]],null],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-composer__outer-container\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"site\\\",\\\"mobileView\\\"]],[[[1,\\\" \\\"],[8,[32,6],null,[[\\\"@buttons\\\",\\\"@isDisabled\\\"],[[30,0,[\\\"dropdownButtons\\\"]],[30,0,[\\\"disabled\\\"]]]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-composer__inner-container\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"site\\\",\\\"desktopView\\\"]],[[[1,\\\" \\\"],[8,[32,6],null,[[\\\"@buttons\\\",\\\"@isDisabled\\\"],[[30,0,[\\\"dropdownButtons\\\"]],[30,0,[\\\"disabled\\\"]]]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n \\\"],[11,0],[24,0,\\\"chat-composer__input-container\\\"],[4,[32,7],[\\\"click\\\",[30,0,[\\\"composer\\\",\\\"focus\\\"]]],null],[12],[1,\\\"\\\\n \\\"],[8,[32,8],[[16,1,[30,0,[\\\"composerId\\\"]]],[16,2,[28,[31,1],[[30,0,[\\\"draft\\\",\\\"message\\\"]]],null]],[24,0,\\\"chat-composer__input\\\"],[16,\\\"disabled\\\",[30,0,[\\\"disabled\\\"]]],[24,\\\"autocorrect\\\",\\\"on\\\"],[24,\\\"autocapitalize\\\",\\\"sentences\\\"],[16,\\\"placeholder\\\",[30,0,[\\\"placeholder\\\"]]],[16,\\\"rows\\\",1],[16,\\\"data-chat-composer-context\\\",[30,0,[\\\"context\\\"]]],[24,4,\\\"text\\\"],[4,[32,4],[[30,0,[\\\"setupTextareaInteractor\\\"]]],null],[4,[32,7],[\\\"input\\\",[30,0,[\\\"onInput\\\"]]],null],[4,[32,7],[\\\"keydown\\\",[30,0,[\\\"onKeyDown\\\"]]],null],[4,[32,7],[\\\"focusin\\\",[30,0,[\\\"onTextareaFocusIn\\\"]]],null],[4,[32,7],[\\\"focusout\\\",[30,0,[\\\"onTextareaFocusOut\\\"]]],null],[4,[32,4],[[30,0,[\\\"setupAutocomplete\\\"]]],null]],null,null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"inlineButtons\\\",\\\"length\\\"]],[[[42,[28,[31,3],[[28,[31,3],[[30,0,[\\\"inlineButtons\\\"]]],null]],null],null,[[[1,\\\" \\\"],[8,[32,9],[[16,0,[29,[\\\"-\\\",[30,1,[\\\"id\\\"]]]]],[16,\\\"disabled\\\",[28,[32,10],[[30,0,[\\\"disabled\\\"]],[30,1,[\\\"disabled\\\"]]],null]],[16,\\\"tabindex\\\",[52,[30,1,[\\\"disabled\\\"]],-1,0]],[4,[32,7],[\\\"click\\\",[28,[32,11],[[30,0,[\\\"handleInlineButtonAction\\\"]],[30,1,[\\\"action\\\"]]],null]],null],[4,[32,7],[\\\"focus\\\",[28,[32,11],[[30,0,[\\\"computeIsFocused\\\"]],true],null]],null],[4,[32,7],[\\\"blur\\\",[28,[32,11],[[30,0,[\\\"computeIsFocused\\\"]],false],null]],null]],[[\\\"@icon\\\"],[[30,1,[\\\"icon\\\"]]]],null],[1,\\\"\\\\n\\\"]],[1]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n \\\"],[8,[32,12],null,[[\\\"@name\\\",\\\"@outletArgs\\\"],[\\\"chat-composer-inline-buttons\\\",[28,[32,13],null,[[\\\"composer\\\",\\\"channel\\\"],[[30,0],[30,2]]]]]],null],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"site\\\",\\\"desktopView\\\"]],[[[1,\\\" \\\"],[8,[32,9],[[24,0,\\\"-send\\\"],[16,\\\"title\\\",[28,[32,1],[\\\"chat.composer.send\\\"],null]],[16,\\\"disabled\\\",[28,[32,10],[[30,0,[\\\"disabled\\\"]],[28,[32,14],[[30,0,[\\\"sendEnabled\\\"]]],null]],null]],[16,\\\"tabindex\\\",[52,[30,0,[\\\"sendEnabled\\\"]],0,-1]],[4,[32,7],[\\\"click\\\",[30,0,[\\\"onSend\\\"]]],null],[4,[32,7],[\\\"mousedown\\\",[30,0,[\\\"trapMouseDown\\\"]]],null],[4,[32,7],[\\\"focus\\\",[28,[32,11],[[30,0,[\\\"computeIsFocused\\\"]],true],null]],null],[4,[32,7],[\\\"blur\\\",[28,[32,11],[[30,0,[\\\"computeIsFocused\\\"]],false],null]],null]],[[\\\"@icon\\\"],[\\\"paper-plane\\\"]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"site\\\",\\\"mobileView\\\"]],[[[1,\\\" \\\"],[8,[32,9],[[24,0,\\\"-send\\\"],[16,\\\"title\\\",[28,[32,1],[\\\"chat.composer.send\\\"],null]],[16,\\\"disabled\\\",[28,[32,10],[[30,0,[\\\"disabled\\\"]],[28,[32,14],[[30,0,[\\\"sendEnabled\\\"]]],null]],null]],[16,\\\"tabindex\\\",[52,[30,0,[\\\"sendEnabled\\\"]],0,-1]],[4,[32,7],[\\\"click\\\",[30,0,[\\\"onSend\\\"]]],null],[4,[32,7],[\\\"mousedown\\\",[30,0,[\\\"trapMouseDown\\\"]]],null],[4,[32,7],[\\\"focus\\\",[28,[32,11],[[30,0,[\\\"computeIsFocused\\\"]],true],null]],null],[4,[32,7],[\\\"blur\\\",[28,[32,11],[[30,0,[\\\"computeIsFocused\\\"]],false],null]],null]],[[\\\"@icon\\\"],[\\\"paper-plane\\\"]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"canAttachUploads\\\"]],[[[1,\\\" \\\"],[8,[32,15],null,[[\\\"@fileUploadElementId\\\",\\\"@onUploadChanged\\\",\\\"@existingUploads\\\",\\\"@uploadDropZone\\\",\\\"@composerInputEl\\\"],[[30,0,[\\\"fileUploadElementId\\\"]],[30,0,[\\\"onUploadChanged\\\"]],[30,0,[\\\"draft\\\",\\\"uploads\\\"]],[30,3],[30,0,[\\\"composer\\\",\\\"textarea\\\",\\\"element\\\"]]]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-replying-indicator-container\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,16],null,[[\\\"@presenceChannelName\\\"],[[30,0,[\\\"presenceChannelName\\\"]]]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"button\\\",\\\"@channel\\\",\\\"@uploadDropZone\\\"],false,[\\\"if\\\",\\\"readonly\\\",\\\"each\\\",\\\"-track-array\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-composer.js\",\n \"scope\": () => [_chatComposerMessageDetails.default, _discourseI18n.i18n, _concatClass.default, _didUpdate.default, _didInsert.default, _willDestroy.default, _chatComposerDropdown.default, _modifier.on, _dTextarea.default, _button.default, _truthHelpers.or, _helper.fn, _pluginOutlet.default, _lazyHash.default, _truthHelpers.not, _chatComposerUploads.default, _chatReplyingIndicator.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatComposer;\n});","define(\"discourse/plugins/chat/discourse/components/chat-drawer\", [\"exports\", \"@ember/component\", \"@ember/object\", \"@ember/runloop\", \"@ember/service\", \"@ember/template\", \"@ember-decorators/component\", \"@ember-decorators/object\", \"discourse/components/plugin-outlet\", \"discourse/helpers/body-class\", \"discourse/helpers/concat-class\", \"discourse/helpers/html-class\", \"discourse/helpers/lazy-hash\", \"discourse/lib/decorators\", \"discourse/lib/get-url\", \"discourse/lib/url\", \"discourse/lib/utilities\", \"discourse/plugins/chat/discourse/modifiers/chat/resizable-node\", \"@ember/template-factory\"], function (_exports, _component, _object, _runloop, _service, _template, _component2, _object2, _pluginOutlet, _bodyClass, _concatClass, _htmlClass, _lazyHash, _decorators, _getUrl, _url, _utilities, _resizableNode, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const ChatDrawer = dt7948.c(class ChatDrawer extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"chatDrawerSize\", [_service.service]))();\n #chatDrawerSize = (() => (dt7948.i(this, \"chatDrawerSize\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"chatChannelsManager\", [_service.service]))();\n #chatChannelsManager = (() => (dt7948.i(this, \"chatChannelsManager\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"chatStateManager\", [_service.service]))();\n #chatStateManager = (() => (dt7948.i(this, \"chatStateManager\"), void 0))();\n static #_6 = (() => dt7948.g(this.prototype, \"chatDrawerRouter\", [_service.service]))();\n #chatDrawerRouter = (() => (dt7948.i(this, \"chatDrawerRouter\"), void 0))();\n loading = false;\n sizeTimer = null;\n rafTimer = null;\n hasUnreadMessages = false;\n drawerStyle = null;\n didInsertElement() {\n super.didInsertElement(...arguments);\n if (!this.chat.userCanChat) {\n return;\n }\n this._checkSize();\n this.appEvents.on(\"chat:open-url\", this, \"openURL\");\n this.appEvents.on(\"chat:toggle-close\", this, \"close\");\n this.appEvents.on(\"composer:closed\", this, \"_checkSize\");\n this.appEvents.on(\"composer:opened\", this, \"_checkSize\");\n this.appEvents.on(\"composer:resized\", this, \"_checkSize\");\n this.appEvents.on(\"composer:div-resizing\", this, \"_dynamicCheckSize\");\n window.addEventListener(\"resize\", this._checkSize);\n this.appEvents.on(\"composer:resize-started\", this, \"_startDynamicCheckSize\");\n this.appEvents.on(\"composer:resize-ended\", this, \"_clearDynamicCheckSize\");\n this.computeDrawerStyle();\n }\n willDestroyElement() {\n super.willDestroyElement(...arguments);\n if (!this.chat.userCanChat) {\n return;\n }\n window.removeEventListener(\"resize\", this._checkSize);\n if (this.appEvents) {\n this.appEvents.off(\"chat:open-url\", this, \"openURL\");\n this.appEvents.off(\"chat:toggle-close\", this, \"close\");\n this.appEvents.off(\"composer:closed\", this, \"_checkSize\");\n this.appEvents.off(\"composer:opened\", this, \"_checkSize\");\n this.appEvents.off(\"composer:resized\", this, \"_checkSize\");\n this.appEvents.off(\"composer:div-resizing\", this, \"_dynamicCheckSize\");\n this.appEvents.off(\"composer:resize-started\", this, \"_startDynamicCheckSize\");\n this.appEvents.off(\"composer:resize-ended\", this, \"_clearDynamicCheckSize\");\n }\n if (this.sizeTimer) {\n (0, _runloop.cancel)(this.sizeTimer);\n this.sizeTimer = null;\n }\n if (this.rafTimer) {\n window.cancelAnimationFrame(this.rafTimer);\n }\n }\n _fireHiddenAppEvents() {\n this.appEvents.trigger(\"chat:rerender-header\");\n }\n static #_7 = (() => dt7948.n(this.prototype, \"_fireHiddenAppEvents\", [(0, _object2.observes)(\"chatStateManager.isDrawerActive\")]))();\n computeDrawerStyle() {\n const {\n width,\n height\n } = this.chatDrawerSize.size;\n let style = `width: ${(0, _utilities.escapeExpression)((width || \"0\").toString())}px;`;\n style += `height: ${(0, _utilities.escapeExpression)((height || \"0\").toString())}px;`;\n this.set(\"drawerStyle\", (0, _template.htmlSafe)(style));\n }\n get drawerActions() {\n return {\n openInFullPage: this.openInFullPage,\n close: this.close,\n toggleExpand: this.toggleExpand\n };\n }\n _dynamicCheckSize() {\n if (!this.chatStateManager.isDrawerActive) {\n return;\n }\n if (this.rafTimer) {\n return;\n }\n this.rafTimer = window.requestAnimationFrame(() => {\n this.rafTimer = null;\n this._performCheckSize();\n });\n }\n static #_8 = (() => dt7948.n(this.prototype, \"_dynamicCheckSize\", [_decorators.bind]))();\n _startDynamicCheckSize() {\n if (!this.chatStateManager.isDrawerActive) {\n return;\n }\n document.querySelector(\".chat-drawer-outlet-container\").classList.add(\"clear-transitions\");\n }\n _clearDynamicCheckSize() {\n if (!this.chatStateManager.isDrawerActive) {\n return;\n }\n document.querySelector(\".chat-drawer-outlet-container\").classList.remove(\"clear-transitions\");\n this._checkSize();\n }\n _checkSize() {\n this.sizeTimer = (0, _runloop.throttle)(this, this._performCheckSize, 150);\n }\n static #_9 = (() => dt7948.n(this.prototype, \"_checkSize\", [_decorators.bind]))();\n _performCheckSize() {\n if (this.isDestroying || this.isDestroyed) {\n return;\n }\n const drawerContainer = document.querySelector(\".chat-drawer-outlet-container\");\n if (!drawerContainer) {\n return;\n }\n const composer = document.getElementById(\"reply-control\");\n const composerIsClosed = composer.classList.contains(\"closed\");\n const minRightMargin = 15;\n drawerContainer.style.setProperty(\"--composer-right\", (composerIsClosed ? minRightMargin : Math.max(minRightMargin, composer.offsetLeft)) + \"px\");\n }\n openURL() {\n let url = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n this.chat.activeChannel = null;\n this.chatDrawerRouter.stateFor(this._routeFromURL(url));\n this.chatStateManager.didOpenDrawer(url);\n }\n static #_10 = (() => dt7948.n(this.prototype, \"openURL\", [_object.action]))();\n _routeFromURL(url) {\n let route = this.router.recognize((0, _getUrl.default)(url || \"/\"));\n // ember might recognize the index subroute\n if (route.localName === \"index\") {\n route = route.parent;\n }\n return route;\n }\n async openInFullPage() {\n this.chatStateManager.storeAppURL();\n this.chatStateManager.prefersFullPage();\n this.chat.activeChannel = null;\n await new Promise(resolve => (0, _runloop.next)(resolve));\n return _url.default.routeTo(this.chatStateManager.lastKnownChatURL);\n }\n static #_11 = (() => dt7948.n(this.prototype, \"openInFullPage\", [_object.action]))();\n toggleExpand() {\n this.computeDrawerStyle();\n this.chatStateManager.didToggleDrawer();\n this.appEvents.trigger(\"chat:toggle-expand\", this.chatStateManager.isDrawerExpanded);\n }\n static #_12 = (() => dt7948.n(this.prototype, \"toggleExpand\", [_object.action]))();\n close() {\n this.computeDrawerStyle();\n this.chatStateManager.didCloseDrawer();\n this.chat.activeChannel = null;\n }\n static #_13 = (() => dt7948.n(this.prototype, \"close\", [_object.action]))();\n didResize(element, _ref) {\n let {\n width,\n height\n } = _ref;\n this.chatDrawerSize.size = {\n width,\n height\n };\n }\n static #_14 = (() => dt7948.n(this.prototype, \"didResize\", [_object.action]))();\n static #_15 = (() => (0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if this.chatStateManager.isDrawerActive}}\n {{bodyClass \"chat-drawer-active\"}}\n {{htmlClass \"has-drawer-chat\" \"has-chat\"}}\n {{bodyClass \"has-drawer-chat\" \"has-chat\"}}\n {{/if}}\n \n {{#if this.chatStateManager.isDrawerExpanded}}\n {{bodyClass \"chat-drawer-expanded\"}}\n {{/if}}\n \n {{#if this.chatStateManager.isDrawerActive}}\n \n
\n
\n \n \n \n \n
\n \n {{/if}}\n \n */\n {\n \"id\": \"/7gLiLcy\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"chatStateManager\\\",\\\"isDrawerActive\\\"]],[[[1,\\\" \\\"],[1,[28,[32,0],[\\\"chat-drawer-active\\\"],null]],[1,\\\"\\\\n \\\"],[1,[28,[32,1],[\\\"has-drawer-chat\\\",\\\"has-chat\\\"],null]],[1,\\\"\\\\n \\\"],[1,[28,[32,0],[\\\"has-drawer-chat\\\",\\\"has-chat\\\"],null]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"chatStateManager\\\",\\\"isDrawerExpanded\\\"]],[[[1,\\\" \\\"],[1,[28,[32,0],[\\\"chat-drawer-expanded\\\"],null]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"chatStateManager\\\",\\\"isDrawerActive\\\"]],[[[1,\\\" \\\"],[11,0],[16,\\\"data-chat-channel-id\\\",[30,0,[\\\"chatDrawerRouter\\\",\\\"model\\\",\\\"channel\\\",\\\"id\\\"]]],[16,\\\"data-chat-thread-id\\\",[30,0,[\\\"chatDrawerRouter\\\",\\\"model\\\",\\\"channel\\\",\\\"activeThread\\\",\\\"id\\\"]]],[16,0,[28,[32,2],[\\\"chat-drawer\\\",[52,[30,0,[\\\"chatStateManager\\\",\\\"isDrawerExpanded\\\"]],\\\"is-expanded\\\",\\\"is-collapsed\\\"]],null]],[16,5,[30,0,[\\\"drawerStyle\\\"]]],[4,[32,3],[\\\".chat-drawer-resizer\\\",[30,0,[\\\"didResize\\\"]]],null],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-drawer-container\\\"],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-drawer-resizer\\\"],[12],[13],[1,\\\"\\\\n\\\\n \\\"],[8,[32,4],null,[[\\\"@name\\\",\\\"@outletArgs\\\"],[\\\"chat-drawer-before-content\\\",[28,[32,5],null,[[\\\"currentRouteName\\\"],[[30,0,[\\\"chatDrawerRouter\\\",\\\"currentRouteName\\\"]]]]]]],null],[1,\\\"\\\\n\\\\n \\\"],[8,[30,0,[\\\"chatDrawerRouter\\\",\\\"component\\\"]],null,[[\\\"@params\\\",\\\"@model\\\",\\\"@openURL\\\",\\\"@openInFullPage\\\",\\\"@toggleExpand\\\",\\\"@close\\\",\\\"@drawerActions\\\"],[[30,0,[\\\"chatDrawerRouter\\\",\\\"params\\\"]],[30,0,[\\\"chatDrawerRouter\\\",\\\"model\\\"]],[30,0,[\\\"openURL\\\"]],[30,0,[\\\"openInFullPage\\\"]],[30,0,[\\\"toggleExpand\\\"]],[30,0,[\\\"close\\\"]],[30,0,[\\\"drawerActions\\\"]]]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-drawer.js\",\n \"scope\": () => [_bodyClass.default, _htmlClass.default, _concatClass.default, _resizableNode.default, _pluginOutlet.default, _lazyHash.default],\n \"isStrictMode\": true\n }), this))();\n }, [(0, _component2.tagName)(\"\")]);\n var _default = _exports.default = ChatDrawer;\n});","define(\"discourse/plugins/chat/discourse/components/chat-emoji-avatar\", [\"exports\", \"discourse/helpers/replace-emoji\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _replaceEmoji, _component, _templateFactory, _templateOnly) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const ChatEmojiAvatar = (0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
\n
\n {{replaceEmoji @emoji}}\n
\n
\n \n */\n {\n \"id\": \"jVj1V68A\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-emoji-avatar\\\"],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-emoji-avatar-container\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,0],[[30,1]],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[\\\"@emoji\\\"],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-emoji-avatar.js\",\n \"scope\": () => [_replaceEmoji.default],\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, \"chat-emoji-avatar:ChatEmojiAvatar\"));\n var _default = _exports.default = ChatEmojiAvatar;\n});","define(\"discourse/plugins/chat/discourse/components/chat-footer\", [\"exports\", \"@glimmer/component\", \"@ember/service\", \"truth-helpers\", \"discourse/components/d-button\", \"discourse/helpers/concat-class\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/chat/footer/unread-indicator\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _service, _truthHelpers, _dButton, _concatClass, _discourseI18n, _unreadIndicator, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatFooter extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"chatHistory\", [_service.service]))();\n #chatHistory = (() => (dt7948.i(this, \"chatHistory\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n static #_6 = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n static #_7 = (() => dt7948.g(this.prototype, \"chatChannelsManager\", [_service.service]))();\n #chatChannelsManager = (() => (dt7948.i(this, \"chatChannelsManager\"), void 0))();\n static #_8 = (() => dt7948.g(this.prototype, \"chatStateManager\", [_service.service]))();\n #chatStateManager = (() => (dt7948.i(this, \"chatStateManager\"), void 0))();\n get includeThreads() {\n if (!this.siteSettings.chat_threads_enabled) {\n return false;\n }\n return this.chatChannelsManager.hasThreadedChannels;\n }\n get directMessagesEnabled() {\n return this.chat.userCanAccessDirectMessages;\n }\n get currentRouteName() {\n const routeName = this.chatHistory.currentRoute?.name;\n return routeName === \"chat\" ? \"chat.channels\" : routeName;\n }\n get enabledRouteCount() {\n return [this.includeThreads, this.directMessagesEnabled, this.siteSettings.enable_public_channels].filter(Boolean).length;\n }\n get shouldRenderFooter() {\n return (this.site.mobileView || this.chatStateManager.isDrawerExpanded) && this.chatStateManager.hasPreloadedChannels && this.enabledRouteCount > 1;\n }\n static #_9 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if this.shouldRenderFooter}}\n \n {{/if}}\n \n */\n {\n \"id\": \"3LZPbP4o\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"shouldRenderFooter\\\"]],[[[1,\\\" \\\"],[10,\\\"nav\\\"],[14,0,\\\"c-footer\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,0],[[16,\\\"aria-label\\\",[28,[32,1],[\\\"chat.channel_list.aria_label\\\"],null]],[24,1,\\\"c-footer-channels\\\"],[16,0,[28,[32,2],[\\\"btn-transparent\\\",\\\"c-footer__item\\\",[52,[28,[32,3],[[30,0,[\\\"currentRouteName\\\"]],\\\"chat.channels\\\"],null],\\\"--active\\\"]],null]]],[[\\\"@route\\\",\\\"@icon\\\",\\\"@translatedLabel\\\"],[\\\"chat.channels\\\",\\\"comments\\\",[28,[32,1],[\\\"chat.channel_list.title\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,4],null,null,null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"directMessagesEnabled\\\"]],[[[1,\\\" \\\"],[8,[32,0],[[16,\\\"aria-label\\\",[28,[32,1],[\\\"chat.direct_messages.aria_label\\\"],null]],[24,1,\\\"c-footer-direct-messages\\\"],[16,0,[28,[32,2],[\\\"btn-transparent\\\",\\\"c-footer__item\\\",[52,[28,[32,3],[[30,0,[\\\"currentRouteName\\\"]],\\\"chat.direct-messages\\\"],null],\\\"--active\\\"]],null]]],[[\\\"@route\\\",\\\"@icon\\\",\\\"@translatedLabel\\\"],[\\\"chat.direct-messages\\\",\\\"users\\\",[28,[32,1],[\\\"chat.direct_messages.title\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,5],null,null,null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"includeThreads\\\"]],[[[1,\\\" \\\"],[8,[32,0],[[16,\\\"aria-label\\\",[28,[32,1],[\\\"chat.my_threads.aria_label\\\"],null]],[24,1,\\\"c-footer-threads\\\"],[16,0,[28,[32,2],[\\\"btn-transparent\\\",\\\"c-footer__item\\\",[52,[28,[32,3],[[30,0,[\\\"currentRouteName\\\"]],\\\"chat.threads\\\"],null],\\\"--active\\\"]],null]]],[[\\\"@route\\\",\\\"@icon\\\",\\\"@translatedLabel\\\"],[\\\"chat.threads\\\",\\\"discourse-threads\\\",[28,[32,1],[\\\"chat.my_threads.title\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,6],null,null,null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-footer.js\",\n \"scope\": () => [_dButton.default, _discourseI18n.i18n, _concatClass.default, _truthHelpers.eq, _unreadIndicator.UnreadChannelsIndicator, _unreadIndicator.UnreadDirectMessagesIndicator, _unreadIndicator.UnreadThreadsIndicator],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatFooter;\n});","define(\"discourse/plugins/chat/discourse/components/chat-header\", [\"exports\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/routing\", \"@ember/service\", \"discourse/helpers/d-icon\", \"discourse/lib/get-url\", \"discourse-i18n\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _tracking, _routing, _service, _dIcon, _getUrl, _discourseI18n, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatHeader extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"previousURL\", [_tracking.tracked]))();\n #previousURL = (() => (dt7948.i(this, \"previousURL\"), void 0))();\n title = (() => (0, _discourseI18n.i18n)(\"chat.back_to_forum\"))();\n heading = (() => (0, _discourseI18n.i18n)(\"chat.heading\"))();\n constructor() {\n super(...arguments);\n this.router.on(\"routeDidChange\", this, this.#updatePreviousURL);\n }\n willDestroy() {\n super.willDestroy(...arguments);\n this.router.off(\"routeDidChange\", this, this.#updatePreviousURL);\n }\n get shouldRender() {\n return this.siteSettings.chat_enabled && this.site.mobileView && this.isChatOpen;\n }\n get isChatOpen() {\n return this.router.currentURL.startsWith(\"/chat\");\n }\n get forumLink() {\n return (0, _getUrl.default)(this.previousURL ?? this.router.rootURL);\n }\n #updatePreviousURL() {\n if (!this.isChatOpen) {\n this.previousURL = this.router.currentURL;\n }\n }\n static #_5 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if this.shouldRender}}\n
\n \n {{icon \"arrow-left\"}}\n {{this.title}}\n \n \n {{this.heading}}\n
\n {{else}}\n {{yield}}\n {{/if}}\n \n */\n {\n \"id\": \"Cw+adMhm\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"shouldRender\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"c-header\\\"],[12],[1,\\\"\\\\n \\\"],[10,3],[15,6,[30,0,[\\\"forumLink\\\"]]],[14,0,\\\"btn-flat back-to-forum\\\"],[15,\\\"title\\\",[30,0,[\\\"title\\\"]]],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,0],[\\\"arrow-left\\\"],null]],[1,\\\"\\\\n \\\"],[1,[30,0,[\\\"title\\\"]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\\n \\\"],[8,[32,1],[[24,0,\\\"c-heading\\\"]],[[\\\"@route\\\"],[\\\"chat.index\\\"]],[[\\\"default\\\"],[[[[1,[30,0,[\\\"heading\\\"]]]],[]]]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[18,1,null],[1,\\\"\\\\n\\\"]],[]]],[1,\\\" \\\"]],[\\\"&default\\\"],false,[\\\"if\\\",\\\"yield\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-header.js\",\n \"scope\": () => [_dIcon.default, _routing.LinkTo],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatHeader;\n});","define(\"discourse/plugins/chat/discourse/components/chat-mention-warnings\", [\"exports\", \"@glimmer/component\", \"@ember/service\", \"@ember/template\", \"discourse/helpers/d-icon\", \"discourse/lib/get-url\", \"discourse-i18n\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _service, _template, _dIcon, _getUrl, _discourseI18n, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatMentionWarnings extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"chatComposerWarningsTracker\", [_service.service]))();\n #chatComposerWarningsTracker = (() => (dt7948.i(this, \"chatComposerWarningsTracker\"), void 0))();\n get unreachableGroupMentions() {\n return this.chatComposerWarningsTracker.unreachableGroupMentions;\n }\n get overMembersLimitGroupMentions() {\n return this.chatComposerWarningsTracker.overMembersLimitGroupMentions;\n }\n get hasTooManyMentions() {\n return this.chatComposerWarningsTracker.tooManyMentions;\n }\n get channelWideMentionDisallowed() {\n return this.chatComposerWarningsTracker.channelWideMentionDisallowed;\n }\n get mentionsCount() {\n return this.chatComposerWarningsTracker.mentionsCount;\n }\n get unreachableGroupMentionsCount() {\n return this.unreachableGroupMentions.length;\n }\n get overMembersLimitMentionsCount() {\n return this.overMembersLimitGroupMentions.length;\n }\n get hasUnreachableGroupMentions() {\n return this.unreachableGroupMentionsCount > 0;\n }\n get hasOverMembersLimitGroupMentions() {\n return this.overMembersLimitMentionsCount > 0;\n }\n get warningsCount() {\n return this.unreachableGroupMentionsCount + this.overMembersLimitMentionsCount;\n }\n get show() {\n return this.hasTooManyMentions || this.channelWideMentionDisallowed || this.hasUnreachableGroupMentions || this.hasOverMembersLimitGroupMentions;\n }\n get listStyleClass() {\n if (this.hasTooManyMentions) {\n return \"chat-mention-warnings-list__simple\";\n }\n if (this.warningsCount > 1) {\n return \"chat-mention-warnings-list__multiple\";\n } else {\n return \"chat-mention-warnings-list__simple\";\n }\n }\n get warningHeaderText() {\n if (this.mentionsCount <= this.warningsCount || this.hasTooManyMentions) {\n return (0, _discourseI18n.i18n)(\"chat.mention_warning.groups.header.all\");\n } else {\n return (0, _discourseI18n.i18n)(\"chat.mention_warning.groups.header.some\");\n }\n }\n get tooManyMentionsBody() {\n if (!this.hasTooManyMentions) {\n return;\n }\n if (this.currentUser.admin) {\n return (0, _template.htmlSafe)((0, _discourseI18n.i18n)(\"chat.mention_warning.too_many_mentions_admin\", {\n count: this.siteSettings.max_mentions_per_chat_message,\n siteSettingUrl: (0, _getUrl.default)(\"/admin/site_settings/category/plugins?filter=max_mentions_per_chat_message\")\n }));\n } else {\n return (0, _template.htmlSafe)((0, _discourseI18n.i18n)(\"chat.mention_warning.too_many_mentions\", {\n count: this.siteSettings.max_mentions_per_chat_message\n }));\n }\n }\n get unreachableBody() {\n if (!this.hasUnreachableGroupMentions) {\n return;\n }\n switch (this.unreachableGroupMentionsCount) {\n case 1:\n return (0, _discourseI18n.i18n)(\"chat.mention_warning.groups.unreachable_1\", {\n group: this.unreachableGroupMentions[0]\n });\n case 2:\n return (0, _discourseI18n.i18n)(\"chat.mention_warning.groups.unreachable_2\", {\n group1: this.unreachableGroupMentions[0],\n group2: this.unreachableGroupMentions[1]\n });\n default:\n return (0, _discourseI18n.i18n)(\"chat.mention_warning.groups.unreachable_multiple\", {\n group: this.unreachableGroupMentions[0],\n count: this.unreachableGroupMentionsCount - 1\n });\n }\n }\n get overMembersLimitBody() {\n if (!this.hasOverMembersLimitGroupMentions) {\n return;\n }\n return (0, _template.htmlSafe)(_discourseI18n.default.messageFormat(\"chat.mention_warning.groups.too_many_members_MF\", {\n groupCount: this.overMembersLimitMentionsCount,\n isAdmin: this.currentUser.admin,\n siteSettingUrl: (0, _getUrl.default)(\"/admin/site_settings/category/plugins?filter=max_users_notified_per_group_mention\"),\n notificationLimit: this.siteSettings.max_users_notified_per_group_mention,\n group1: this.overMembersLimitGroupMentions[0],\n group2: this.overMembersLimitGroupMentions[1]\n }));\n }\n static #_4 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if this.show}}\n
\n
\n {{icon \"triangle-exclamation\"}}\n
\n
\n
\n {{this.warningHeaderText}}\n
\n
    \n {{#if this.hasTooManyMentions}}\n
  • {{this.tooManyMentionsBody}}
  • \n {{else}}\n {{#if this.channelWideMentionDisallowed}}\n
  • {{i18n\n \"chat.mention_warning.channel_wide_mentions_disallowed\"\n }}
  • \n {{/if}}\n {{#if this.hasUnreachableGroupMentions}}\n
  • {{this.unreachableBody}}
  • \n {{/if}}\n {{#if this.hasOverMembersLimitGroupMentions}}\n
  • {{this.overMembersLimitBody}}
  • \n {{/if}}\n {{/if}}\n
\n
\n
\n {{/if}}\n \n */\n {\n \"id\": \"MvGWhoP2\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"show\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-mention-warnings\\\"],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-mention-warning__icon\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,0],[\\\"triangle-exclamation\\\"],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-mention-warning__text\\\"],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-mention-warning__header\\\"],[12],[1,\\\"\\\\n \\\"],[1,[30,0,[\\\"warningHeaderText\\\"]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[10,\\\"ul\\\"],[15,0,[30,0,[\\\"listStyleClass\\\"]]],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"hasTooManyMentions\\\"]],[[[1,\\\" \\\"],[10,\\\"li\\\"],[12],[1,[30,0,[\\\"tooManyMentionsBody\\\"]]],[13],[1,\\\"\\\\n\\\"]],[]],[[[41,[30,0,[\\\"channelWideMentionDisallowed\\\"]],[[[1,\\\" \\\"],[10,\\\"li\\\"],[12],[1,[28,[32,1],[\\\"chat.mention_warning.channel_wide_mentions_disallowed\\\"],null]],[13],[1,\\\"\\\\n\\\"]],[]],null],[41,[30,0,[\\\"hasUnreachableGroupMentions\\\"]],[[[1,\\\" \\\"],[10,\\\"li\\\"],[12],[1,[30,0,[\\\"unreachableBody\\\"]]],[13],[1,\\\"\\\\n\\\"]],[]],null],[41,[30,0,[\\\"hasOverMembersLimitGroupMentions\\\"]],[[[1,\\\" \\\"],[10,\\\"li\\\"],[12],[1,[30,0,[\\\"overMembersLimitBody\\\"]]],[13],[1,\\\"\\\\n\\\"]],[]],null]],[]]],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-mention-warnings.js\",\n \"scope\": () => [_dIcon.default, _discourseI18n.i18n],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatMentionWarnings;\n});","define(\"discourse/plugins/chat/discourse/components/chat-message-actions-desktop\", [\"exports\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/helper\", \"@ember/modifier\", \"@ember/object\", \"@ember/owner\", \"@ember/render-modifiers/modifiers/did-insert\", \"@ember/render-modifiers/modifiers/did-update\", \"@ember/render-modifiers/modifiers/will-destroy\", \"@ember/runloop\", \"@ember/service\", \"@popperjs/core\", \"truth-helpers\", \"discourse/components/bookmark-icon\", \"discourse/components/d-button\", \"discourse/helpers/concat-class\", \"select-kit/components/dropdown-select-box\", \"discourse/plugins/chat/discourse/components/chat-message-reaction\", \"discourse/plugins/chat/discourse/lib/chat-message-container\", \"discourse/plugins/chat/discourse/lib/chat-message-interactor\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _tracking, _helper, _modifier, _object, _owner, _didInsert, _didUpdate, _willDestroy, _runloop, _service, _core, _truthHelpers, _bookmarkIcon, _dButton, _concatClass, _dropdownSelectBox, _chatMessageReaction, _chatMessageContainer, _chatMessageInteractor, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const MSG_ACTIONS_VERTICAL_PADDING = -10;\n const FULL = \"full\";\n const REDUCED = \"reduced\";\n const REDUCED_WIDTH_THRESHOLD = 500;\n class ChatMessageActionsDesktop extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"size\", [_tracking.tracked], function () {\n return FULL;\n }))();\n #size = (() => (dt7948.i(this, \"size\"), void 0))();\n popper = null;\n get message() {\n return this.chat.activeMessage.model;\n }\n get context() {\n return this.chat.activeMessage.context;\n }\n get messageInteractor() {\n return new _chatMessageInteractor.default((0, _owner.getOwner)(this), this.message, this.context);\n }\n get shouldRenderFavoriteReactions() {\n return this.size === FULL;\n }\n get messageContainer() {\n return (0, _chatMessageContainer.default)(this.message.id, this.context);\n }\n openEmojiPicker(_, event) {\n event.preventDefault();\n this.messageInteractor.openEmojiPicker(event.target);\n }\n static #_4 = (() => dt7948.n(this.prototype, \"openEmojiPicker\", [_object.action]))();\n setup(element) {\n this.popper?.destroy();\n (0, _runloop.schedule)(\"afterRender\", () => {\n if (!this.messageContainer) {\n return;\n }\n const viewport = this.messageContainer.closest(\".popper-viewport\");\n this.size = viewport.clientWidth < REDUCED_WIDTH_THRESHOLD ? REDUCED : FULL;\n if (!this.messageContainer) {\n return;\n }\n this.popper = (0, _core.createPopper)(this.messageContainer, element, {\n placement: \"top-end\",\n strategy: \"fixed\",\n modifiers: [{\n name: \"flip\",\n enabled: true,\n options: {\n boundary: viewport,\n fallbackPlacements: [\"bottom-end\"]\n }\n }, {\n name: \"hide\",\n enabled: true\n }, {\n name: \"eventListeners\",\n options: {\n scroll: false\n }\n }, {\n name: \"offset\",\n options: {\n offset: [-2, MSG_ACTIONS_VERTICAL_PADDING]\n }\n }]\n });\n });\n }\n static #_5 = (() => dt7948.n(this.prototype, \"setup\", [_object.action]))();\n teardown() {\n this.popper?.destroy();\n this.popper = null;\n }\n static #_6 = (() => dt7948.n(this.prototype, \"teardown\", [_object.action]))();\n redirectScroll(event) {\n event.preventDefault();\n const targetElement = this.messageContainer.closest(\".chat-messages-scroller\");\n if (!targetElement) {\n return;\n }\n targetElement.scrollTop += event.deltaY;\n }\n static #_7 = (() => dt7948.n(this.prototype, \"redirectScroll\", [_object.action]))();\n static #_8 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if (and this.site.desktopView this.chat.activeMessage.model.persisted)}}\n \n \n {{#if this.shouldRenderFavoriteReactions}}\n {{#each this.messageInteractor.emojiReactions as |reaction|}}\n \n {{/each}}\n {{/if}}\n \n {{#if this.messageInteractor.canInteractWithMessage}}\n \n {{/if}}\n \n {{#if this.messageInteractor.canBookmark}}\n \n \n \n {{/if}}\n \n {{#if this.messageInteractor.canReply}}\n \n {{/if}}\n \n {{#if\n (and\n this.messageInteractor.message\n this.messageInteractor.secondaryActions.length\n )\n }}\n \n {{/if}}\n \n \n {{/if}}\n \n */\n {\n \"id\": \"88YvSs7Y\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[28,[32,0],[[30,0,[\\\"site\\\",\\\"desktopView\\\"]],[30,0,[\\\"chat\\\",\\\"activeMessage\\\",\\\"model\\\",\\\"persisted\\\"]]],null],[[[1,\\\" \\\"],[11,0],[16,0,[28,[32,1],[\\\"chat-message-actions-container\\\",[28,[32,2],[\\\"is-size-\\\",[30,0,[\\\"size\\\"]]],null]],null]],[16,\\\"data-id\\\",[30,0,[\\\"message\\\",\\\"id\\\"]]],[4,[32,3],[[30,0,[\\\"setup\\\"]]],null],[4,[32,4],[[30,0,[\\\"setup\\\"]],[30,0,[\\\"chat\\\",\\\"activeMessage\\\",\\\"model\\\",\\\"id\\\"]]],null],[4,[32,5],[[30,0,[\\\"teardown\\\"]]],null],[4,[32,6],[\\\"wheel\\\",[30,0,[\\\"redirectScroll\\\"]]],null],[12],[1,\\\"\\\\n \\\"],[10,0],[15,0,[28,[32,1],[\\\"chat-message-actions\\\",[52,[51,[30,0,[\\\"messageInteractor\\\",\\\"secondaryActions\\\",\\\"length\\\"]]],\\\"has-no-secondary-actions\\\"]],null]],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"shouldRenderFavoriteReactions\\\"]],[[[42,[28,[31,3],[[28,[31,3],[[30,0,[\\\"messageInteractor\\\",\\\"emojiReactions\\\"]]],null]],null],null,[[[1,\\\" \\\"],[8,[32,7],null,[[\\\"@reaction\\\",\\\"@onReaction\\\",\\\"@message\\\",\\\"@showCount\\\",\\\"@disableTooltip\\\"],[[30,1],[30,0,[\\\"messageInteractor\\\",\\\"react\\\"]],[30,0,[\\\"message\\\"]],false,true]],null],[1,\\\"\\\\n\\\"]],[1]],null]],[]],null],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"messageInteractor\\\",\\\"canInteractWithMessage\\\"]],[[[1,\\\" \\\"],[8,[32,8],[[24,0,\\\"btn-flat react-btn\\\"]],[[\\\"@action\\\",\\\"@forwardEvent\\\",\\\"@icon\\\"],[[30,0,[\\\"openEmojiPicker\\\"]],true,\\\"discourse-emojis\\\"]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"messageInteractor\\\",\\\"canBookmark\\\"]],[[[1,\\\" \\\"],[8,[32,8],[[24,0,\\\"btn-flat bookmark-btn\\\"]],[[\\\"@action\\\",\\\"@translatedTitle\\\"],[[30,0,[\\\"messageInteractor\\\",\\\"toggleBookmark\\\"]],[30,0,[\\\"message\\\",\\\"bookmark\\\",\\\"reminderTitle\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,9],null,[[\\\"@bookmark\\\"],[[30,0,[\\\"message\\\",\\\"bookmark\\\"]]]],null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"messageInteractor\\\",\\\"canReply\\\"]],[[[1,\\\" \\\"],[8,[32,8],[[24,0,\\\"btn-flat reply-btn\\\"]],[[\\\"@action\\\",\\\"@icon\\\",\\\"@title\\\"],[[30,0,[\\\"messageInteractor\\\",\\\"reply\\\"]],\\\"reply\\\",\\\"chat.reply\\\"]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[28,[32,0],[[30,0,[\\\"messageInteractor\\\",\\\"message\\\"]],[30,0,[\\\"messageInteractor\\\",\\\"secondaryActions\\\",\\\"length\\\"]]],null],[[[1,\\\" \\\"],[8,[32,10],[[24,0,\\\"more-buttons secondary-actions more-actions-chat\\\"]],[[\\\"@options\\\",\\\"@content\\\",\\\"@onChange\\\"],[[28,[32,11],null,[[\\\"icon\\\",\\\"placement\\\",\\\"customStyle\\\",\\\"btnCustomClasses\\\"],[\\\"ellipsis-vertical\\\",\\\"left\\\",\\\"true\\\",\\\"btn-flat\\\"]]],[30,0,[\\\"messageInteractor\\\",\\\"secondaryActions\\\"]],[30,0,[\\\"messageInteractor\\\",\\\"handleSecondaryActions\\\"]]]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[\\\"reaction\\\"],false,[\\\"if\\\",\\\"unless\\\",\\\"each\\\",\\\"-track-array\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-message-actions-desktop.js\",\n \"scope\": () => [_truthHelpers.and, _concatClass.default, _helper.concat, _didInsert.default, _didUpdate.default, _willDestroy.default, _modifier.on, _chatMessageReaction.default, _dButton.default, _bookmarkIcon.default, _dropdownSelectBox.default, _helper.hash],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatMessageActionsDesktop;\n});","define(\"discourse/plugins/chat/discourse/components/chat-message-actions-mobile\", [\"exports\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/helper\", \"@ember/modifier\", \"@ember/object\", \"@ember/owner\", \"@ember/render-modifiers/modifiers/did-insert\", \"@ember/service\", \"truth-helpers\", \"discourse/components/bookmark-icon\", \"discourse/components/d-button\", \"discourse/components/d-modal\", \"discourse/components/emoji-picker/detached\", \"discourse/helpers/concat-class\", \"discourse/plugins/chat/discourse/components/chat-message-reaction\", \"discourse/plugins/chat/discourse/components/chat-user-avatar\", \"discourse/plugins/chat/discourse/lib/chat-message-interactor\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _tracking, _helper, _modifier, _object, _owner, _didInsert, _service, _truthHelpers, _bookmarkIcon, _dButton, _dModal, _detached, _concatClass, _chatMessageReaction, _chatUserAvatar, _chatMessageInteractor, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatMessageActionsMobile extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"capabilities\", [_service.service]))();\n #capabilities = (() => (dt7948.i(this, \"capabilities\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"modal\", [_service.service]))();\n #modal = (() => (dt7948.i(this, \"modal\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"menu\", [_service.service]))();\n #menu = (() => (dt7948.i(this, \"menu\"), void 0))();\n static #_6 = (() => dt7948.g(this.prototype, \"hasExpandedReply\", [_tracking.tracked], function () {\n return false;\n }))();\n #hasExpandedReply = (() => (dt7948.i(this, \"hasExpandedReply\"), void 0))();\n get message() {\n return this.chat.activeMessage.model;\n }\n get context() {\n return this.chat.activeMessage.context;\n }\n get messageInteractor() {\n return new _chatMessageInteractor.default((0, _owner.getOwner)(this), this.message, this.context);\n }\n vibrate() {\n if (this.capabilities.userHasBeenActive && this.capabilities.canVibrate) {\n navigator.vibrate(5);\n }\n }\n static #_7 = (() => dt7948.n(this.prototype, \"vibrate\", [_object.action]))();\n expandReply(event) {\n event.stopPropagation();\n this.hasExpandedReply = true;\n }\n static #_8 = (() => dt7948.n(this.prototype, \"expandReply\", [_object.action]))();\n collapseMenu(event) {\n event.preventDefault();\n this.args.closeModal();\n }\n static #_9 = (() => dt7948.n(this.prototype, \"collapseMenu\", [_object.action]))();\n actAndCloseMenu(fnId) {\n this.args.closeModal();\n this.messageInteractor[fnId]();\n }\n static #_10 = (() => dt7948.n(this.prototype, \"actAndCloseMenu\", [_object.action]))();\n react(name, operation) {\n this.args.closeModal();\n this.messageInteractor.react(name, operation);\n }\n static #_11 = (() => dt7948.n(this.prototype, \"react\", [_object.action]))();\n async openEmojiPicker(_, event) {\n await this.args.closeModal();\n await this.menu.show(event.target, {\n identifier: \"emoji-picker\",\n groupIdentifier: \"emoji-picker\",\n component: _detached.default,\n modalForMobile: true,\n data: {\n context: \"chat\",\n didSelectEmoji: this.messageInteractor.selectReaction\n }\n });\n }\n static #_12 = (() => dt7948.n(this.prototype, \"openEmojiPicker\", [_object.action]))();\n static #_13 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if (and this.site.mobileView this.chat.activeMessage.model.persisted)}}\n \n <:body>\n
\n
\n \n \n {{this.message.message}}\n \n
\n
\n \n
    \n {{#each this.messageInteractor.secondaryActions as |button|}}\n
  • \n \n
  • \n {{/each}}\n
\n \n {{#if\n (or this.messageInteractor.canReact this.messageInteractor.canReply)\n }}\n
\n {{#if this.messageInteractor.canReact}}\n {{#each this.messageInteractor.emojiReactions as |reaction|}}\n \n {{/each}}\n \n \n {{/if}}\n \n {{#if this.messageInteractor.canBookmark}}\n \n \n \n {{/if}}\n \n {{#if this.messageInteractor.canReply}}\n \n {{/if}}\n
\n {{/if}}\n \n \n {{/if}}\n \n */\n {\n \"id\": \"FN3wUXiu\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[28,[32,0],[[30,0,[\\\"site\\\",\\\"mobileView\\\"]],[30,0,[\\\"chat\\\",\\\"activeMessage\\\",\\\"model\\\",\\\"persisted\\\"]]],null],[[[1,\\\" \\\"],[8,[32,1],[[24,0,\\\"chat-message-actions\\\"],[4,[32,2],[[30,0,[\\\"vibrate\\\"]]],null]],[[\\\"@closeModal\\\",\\\"@headerClass\\\"],[[30,1],\\\"hidden\\\"]],[[\\\"body\\\"],[[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"selected-message-container\\\"],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"selected-message\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,3],null,[[\\\"@user\\\"],[[30,0,[\\\"message\\\",\\\"user\\\"]]]],null],[1,\\\"\\\\n \\\"],[11,1],[24,\\\"role\\\",\\\"button\\\"],[16,0,[28,[32,4],[\\\"selected-message-reply\\\",[52,[30,0,[\\\"hasExpandedReply\\\"]],\\\"is-expanded\\\"]],null]],[4,[32,5],[\\\"touchstart\\\",[30,0,[\\\"expandReply\\\"]]],[[\\\"passive\\\"],[true]]],[12],[1,\\\"\\\\n \\\"],[1,[30,0,[\\\"message\\\",\\\"message\\\"]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\\n \\\"],[10,\\\"ul\\\"],[14,0,\\\"secondary-actions\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[31,2],[[28,[31,2],[[30,0,[\\\"messageInteractor\\\",\\\"secondaryActions\\\"]]],null]],null],null,[[[1,\\\" \\\"],[10,\\\"li\\\"],[14,0,\\\"chat-message-action-item\\\"],[15,\\\"data-id\\\",[30,2,[\\\"id\\\"]]],[12],[1,\\\"\\\\n \\\"],[8,[32,6],[[24,0,\\\"chat-message-action\\\"]],[[\\\"@translatedLabel\\\",\\\"@icon\\\",\\\"@action\\\"],[[30,2,[\\\"name\\\"]],[30,2,[\\\"icon\\\"]],[28,[32,7],[[30,0,[\\\"actAndCloseMenu\\\"]],[30,2,[\\\"id\\\"]]],null]]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[2]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[28,[32,8],[[30,0,[\\\"messageInteractor\\\",\\\"canReact\\\"]],[30,0,[\\\"messageInteractor\\\",\\\"canReply\\\"]]],null],[[[1,\\\" \\\"],[10,0],[14,0,\\\"main-actions\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"messageInteractor\\\",\\\"canReact\\\"]],[[[42,[28,[31,2],[[28,[31,2],[[30,0,[\\\"messageInteractor\\\",\\\"emojiReactions\\\"]]],null]],null],null,[[[1,\\\" \\\"],[8,[32,9],null,[[\\\"@reaction\\\",\\\"@onReaction\\\",\\\"@message\\\",\\\"@showCount\\\"],[[30,3],[30,0,[\\\"react\\\"]],[30,0,[\\\"message\\\"]],false]],null],[1,\\\"\\\\n\\\"]],[3]],null],[1,\\\"\\\\n \\\"],[8,[32,6],[[24,0,\\\"btn-flat react-btn\\\"]],[[\\\"@icon\\\",\\\"@action\\\",\\\"@forwardEvent\\\"],[\\\"discourse-emojis\\\",[30,0,[\\\"openEmojiPicker\\\"]],true]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"messageInteractor\\\",\\\"canBookmark\\\"]],[[[1,\\\" \\\"],[8,[32,6],[[24,\\\"data-id\\\",\\\"bookmark\\\"],[24,0,\\\"btn-flat bookmark-btn\\\"]],[[\\\"@action\\\"],[[28,[32,7],[[30,0,[\\\"actAndCloseMenu\\\"]],\\\"toggleBookmark\\\"],null]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,10],null,[[\\\"@bookmark\\\"],[[30,0,[\\\"message\\\",\\\"bookmark\\\"]]]],null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"messageInteractor\\\",\\\"canReply\\\"]],[[[1,\\\" \\\"],[8,[32,6],[[24,\\\"data-id\\\",\\\"reply\\\"],[24,0,\\\"chat-message-action reply-btn btn-flat\\\"]],[[\\\"@action\\\",\\\"@icon\\\",\\\"@title\\\"],[[28,[32,7],[[30,0,[\\\"actAndCloseMenu\\\"]],\\\"reply\\\"],null],\\\"reply\\\",\\\"chat.reply\\\"]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[\\\"@closeModal\\\",\\\"button\\\",\\\"reaction\\\"],false,[\\\"if\\\",\\\"each\\\",\\\"-track-array\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-message-actions-mobile.js\",\n \"scope\": () => [_truthHelpers.and, _dModal.default, _didInsert.default, _chatUserAvatar.default, _concatClass.default, _modifier.on, _dButton.default, _helper.fn, _truthHelpers.or, _chatMessageReaction.default, _bookmarkIcon.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatMessageActionsMobile;\n});","define(\"discourse/plugins/chat/discourse/components/chat-message-collapser\", [\"exports\", \"@glimmer/component\", \"@ember/service\", \"@ember/template\", \"ember-modifier\", \"truth-helpers\", \"discourse/components/decorated-html\", \"discourse/lib/dom-from-string\", \"discourse/lib/utilities\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/chat-upload\", \"discourse/plugins/chat/discourse/components/collapser\", \"discourse/plugins/chat/discourse/lib/lightbox\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _service, _template, _emberModifier, _truthHelpers, _decoratedHtml, _domFromString, _utilities, _discourseI18n, _chatUpload, _collapser, _lightbox, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n _exports.isCollapsible = isCollapsible;\n class ChatMessageCollapser extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n lightbox = (() => (0, _emberModifier.modifier)(element => {\n if (this.args.uploads.length > 0) {\n (0, _lightbox.default)(element.querySelectorAll(\"img.chat-img-upload\"));\n }\n }))();\n get hasUploads() {\n return hasUploads(this.args.uploads);\n }\n get uploadsHeader() {\n let name = \"\";\n if (this.args.uploads.length === 1) {\n name = this.args.uploads[0].original_filename;\n } else {\n name = (0, _discourseI18n.i18n)(\"chat.uploaded_files\", {\n count: this.args.uploads.length\n });\n }\n return (0, _template.htmlSafe)(`${(0, _utilities.escapeExpression)(name)}`);\n }\n get cookedBodies() {\n const elements = Array.prototype.slice.call((0, _domFromString.default)(this.args.cooked));\n if (hasLazyVideo(elements)) {\n return this.lazyVideoCooked(elements);\n }\n if (hasImageOnebox(elements)) {\n return this.imageOneboxCooked(elements);\n }\n if (hasImage(elements)) {\n return this.imageCooked(elements);\n }\n if (hasGallery(elements)) {\n return this.galleryCooked(elements);\n }\n return [];\n }\n get lazyVideoComponent() {\n const path = \"discourse/plugins/discourse-lazy-videos/discourse/components/lazy-video\";\n return require.has(path) && require(path).default;\n }\n lazyVideoCooked(elements) {\n return elements.reduce((acc, e) => {\n if (this.siteSettings.lazy_videos_enabled && lazyVideoPredicate(e)) {\n const getVideoAttributes = requirejs(\"discourse/plugins/discourse-lazy-videos/lib/lazy-video-attributes\").default;\n const videoAttributes = getVideoAttributes(e);\n if (this.siteSettings[`lazy_${videoAttributes.providerName}_enabled`]) {\n const link = (0, _utilities.escapeExpression)(videoAttributes.url);\n const title = videoAttributes.title;\n const header = (0, _template.htmlSafe)(`${title}`);\n acc.push({\n header,\n body: e.outerHTML,\n videoAttributes,\n needsCollapser: true\n });\n } else {\n acc.push({\n body: e.outerHTML,\n needsCollapser: false\n });\n }\n } else {\n acc.push({\n body: e.outerHTML,\n needsCollapser: false\n });\n }\n return acc;\n }, []);\n }\n imageOneboxCooked(elements) {\n return elements.reduce((acc, e) => {\n if (imageOneboxPredicate(e)) {\n let link = animatedImagePredicate(e) ? e.firstChild.src : e.firstElementChild.href;\n link = (0, _utilities.escapeExpression)(link);\n const header = (0, _template.htmlSafe)(`${link}`);\n acc.push({\n header,\n body: e.outerHTML,\n needsCollapser: true\n });\n } else {\n acc.push({\n body: e.outerHTML,\n needsCollapser: false\n });\n }\n return acc;\n }, []);\n }\n imageCooked(elements) {\n return elements.reduce((acc, e) => {\n if (imagePredicate(e)) {\n const link = (0, _utilities.escapeExpression)(e.firstElementChild.src);\n const alt = (0, _utilities.escapeExpression)(e.firstElementChild.alt);\n const header = (0, _template.htmlSafe)(`${alt || link}`);\n acc.push({\n header,\n body: e.outerHTML,\n needsCollapser: true\n });\n } else {\n acc.push({\n body: e.outerHTML,\n needsCollapser: false\n });\n }\n return acc;\n }, []);\n }\n galleryCooked(elements) {\n return elements.reduce((acc, e) => {\n if (galleryPredicate(e)) {\n const link = (0, _utilities.escapeExpression)(e.firstElementChild.href);\n const title = (0, _utilities.escapeExpression)(e.firstElementChild.firstElementChild.textContent);\n e.firstElementChild.removeChild(e.firstElementChild.firstElementChild);\n const header = (0, _template.htmlSafe)(`${title}`);\n acc.push({\n header,\n body: e.outerHTML,\n needsCollapser: true\n });\n } else {\n acc.push({\n body: e.outerHTML,\n needsCollapser: false\n });\n }\n return acc;\n }, []);\n }\n static #_2 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
\n {{#if this.hasUploads}}\n \n \n \n
\n {{#each @uploads as |upload|}}\n \n {{/each}}\n
\n \n {{else}}\n {{#each this.cookedBodies as |cooked|}}\n {{#if cooked.needsCollapser}}\n \n {{#if (and cooked.videoAttributes this.lazyVideoComponent)}}\n
\n \n
\n {{else}}\n \n {{/if}}\n \n {{else}}\n \n {{/if}}\n {{/each}}\n {{/if}}\n
\n \n */\n {\n \"id\": \"Xa93HbYD\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-message-collapser\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"hasUploads\\\"]],[[[1,\\\" \\\"],[8,[32,0],null,[[\\\"@html\\\",\\\"@decorate\\\",\\\"@className\\\"],[[28,[32,1],[[30,1]],null],[30,2],\\\"chat-cooked\\\"]],null],[1,\\\"\\\\n\\\\n \\\"],[8,[32,2],null,[[\\\"@header\\\",\\\"@onToggle\\\"],[[30,0,[\\\"uploadsHeader\\\"]],[30,3]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[11,0],[24,0,\\\"chat-uploads\\\"],[4,[30,0,[\\\"lightbox\\\"]],null,null],[12],[1,\\\"\\\\n\\\"],[42,[28,[31,2],[[28,[31,2],[[30,4]],null]],null],null,[[[1,\\\" \\\"],[8,[32,3],null,[[\\\"@upload\\\"],[[30,5]]],null],[1,\\\"\\\\n\\\"]],[5]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]],[[[42,[28,[31,2],[[28,[31,2],[[30,0,[\\\"cookedBodies\\\"]]],null]],null],null,[[[41,[30,6,[\\\"needsCollapser\\\"]],[[[1,\\\" \\\"],[8,[32,2],null,[[\\\"@header\\\",\\\"@onToggle\\\"],[[30,6,[\\\"header\\\"]],[30,3]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[41,[28,[32,4],[[30,6,[\\\"videoAttributes\\\"]],[30,0,[\\\"lazyVideoComponent\\\"]]],null],[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-message-collapser-lazy-video\\\"],[12],[1,\\\"\\\\n \\\"],[8,[30,0,[\\\"lazyVideoComponent\\\"]],null,[[\\\"@videoAttributes\\\"],[[30,6,[\\\"videoAttributes\\\"]]]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[8,[32,0],null,[[\\\"@html\\\",\\\"@decorate\\\",\\\"@className\\\"],[[28,[32,1],[[30,6,[\\\"body\\\"]]],null],[30,2],\\\"chat-cooked\\\"]],null],[1,\\\"\\\\n\\\"]],[]]],[1,\\\" \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[8,[32,0],null,[[\\\"@html\\\",\\\"@decorate\\\",\\\"@className\\\"],[[28,[32,1],[[30,6,[\\\"body\\\"]]],null],[30,2],\\\"chat-cooked\\\"]],null],[1,\\\"\\\\n\\\"]],[]]]],[6]],null]],[]]],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"@cooked\\\",\\\"@decorate\\\",\\\"@onToggleCollapse\\\",\\\"@uploads\\\",\\\"upload\\\",\\\"cooked\\\"],false,[\\\"if\\\",\\\"each\\\",\\\"-track-array\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-message-collapser.js\",\n \"scope\": () => [_decoratedHtml.default, _template.htmlSafe, _collapser.default, _chatUpload.default, _truthHelpers.and],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatMessageCollapser;\n function lazyVideoPredicate(e) {\n return e.classList.contains(\"lazy-video-container\");\n }\n function hasLazyVideo(elements) {\n return elements.some(e => lazyVideoPredicate(e));\n }\n function animatedImagePredicate(e) {\n return e.firstChild && e.firstChild.nodeName === \"IMG\" && e.firstChild.classList.contains(\"animated\") && e.firstChild.classList.contains(\"onebox\");\n }\n function externalImageOnebox(e) {\n return e.firstElementChild && e.firstElementChild.nodeName === \"A\" && e.firstElementChild.classList.contains(\"onebox\") && e.firstElementChild.firstElementChild && e.firstElementChild.firstElementChild.nodeName === \"IMG\";\n }\n function imageOneboxPredicate(e) {\n return animatedImagePredicate(e) || externalImageOnebox(e);\n }\n function hasImageOnebox(elements) {\n return elements.some(e => imageOneboxPredicate(e));\n }\n function hasUploads(uploads) {\n return uploads?.length > 0;\n }\n function imagePredicate(e) {\n return e.nodeName === \"P\" && e.firstElementChild && e.firstElementChild.nodeName === \"IMG\" && !e.firstElementChild.classList.contains(\"emoji\");\n }\n function hasImage(elements) {\n return elements.some(e => imagePredicate(e));\n }\n function galleryPredicate(e) {\n return e.firstElementChild && e.firstElementChild.nodeName === \"A\" && e.firstElementChild.firstElementChild && e.firstElementChild.firstElementChild.classList.contains(\"outer-box\");\n }\n function hasGallery(elements) {\n return elements.some(e => galleryPredicate(e));\n }\n function isCollapsible(cooked, uploads) {\n const elements = Array.prototype.slice.call((0, _domFromString.default)(cooked));\n return hasLazyVideo(elements) || hasImageOnebox(elements) || hasUploads(uploads) || hasImage(elements) || hasGallery(elements);\n }\n});","define(\"discourse/plugins/chat/discourse/components/chat-message-in-reply-to-indicator\", [\"exports\", \"@glimmer/component\", \"@ember/routing\", \"@ember/service\", \"@ember/template\", \"discourse/helpers/d-icon\", \"discourse/helpers/replace-emoji\", \"discourse/plugins/chat/discourse/components/chat-emoji-avatar\", \"discourse/plugins/chat/discourse/components/chat-user-avatar\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _routing, _service, _template, _dIcon, _replaceEmoji, _chatEmojiAvatar, _chatUserAvatar, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatMessageInReplyToIndicator extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n get route() {\n if (this.hasThread) {\n return \"chat.channel.thread\";\n } else {\n return \"chat.channel.near-message\";\n }\n }\n get model() {\n if (this.hasThread) {\n return [...this.args.message.channel.routeModels, this.args.message.thread.id];\n } else {\n return [...this.args.message.channel.routeModels, this.args.message.inReplyTo.id];\n }\n }\n get hasThread() {\n return this.args.message?.channel?.threadingEnabled && this.args.message?.thread?.id;\n }\n static #_2 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if @message.inReplyTo}}\n \n {{icon \"share\" title=\"chat.in_reply_to\"}}\n \n {{#if @message.inReplyTo.chatWebhookEvent.emoji}}\n \n {{else}}\n \n {{/if}}\n \n \n {{replaceEmoji (htmlSafe @message.inReplyTo.excerpt)}}\n \n \n {{/if}}\n \n */\n {\n \"id\": \"zfH8D9bT\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"inReplyTo\\\"]],[[[1,\\\" \\\"],[8,[32,0],[[24,0,\\\"chat-reply is-direct-reply\\\"]],[[\\\"@route\\\",\\\"@models\\\"],[[30,0,[\\\"route\\\"]],[30,0,[\\\"model\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[1,[28,[32,1],[\\\"share\\\"],[[\\\"title\\\"],[\\\"chat.in_reply_to\\\"]]]],[1,\\\"\\\\n\\\\n\\\"],[41,[30,1,[\\\"inReplyTo\\\",\\\"chatWebhookEvent\\\",\\\"emoji\\\"]],[[[1,\\\" \\\"],[8,[32,2],null,[[\\\"@emoji\\\"],[[30,1,[\\\"inReplyTo\\\",\\\"chatWebhookEvent\\\",\\\"emoji\\\"]]]],null],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[8,[32,3],null,[[\\\"@user\\\"],[[30,1,[\\\"inReplyTo\\\",\\\"user\\\"]]]],null],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"\\\\n \\\"],[10,1],[14,0,\\\"chat-reply__excerpt\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,4],[[28,[32,5],[[30,1,[\\\"inReplyTo\\\",\\\"excerpt\\\"]]],null]],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[\\\"@message\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-message-in-reply-to-indicator.js\",\n \"scope\": () => [_routing.LinkTo, _dIcon.default, _chatEmojiAvatar.default, _chatUserAvatar.default, _replaceEmoji.default, _template.htmlSafe],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatMessageInReplyToIndicator;\n});","define(\"discourse/plugins/chat/discourse/components/chat-message-reaction\", [\"exports\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/modifier\", \"@ember/object\", \"@ember/service\", \"@ember/template\", \"ember-modifier\", \"truth-helpers\", \"discourse/helpers/concat-class\", \"discourse/lib/text\", \"discourse/plugins/chat/discourse/lib/get-reaction-text\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _tracking, _modifier, _object, _service, _template, _emberModifier, _truthHelpers, _concatClass, _text, _getReactionText, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatMessageReaction extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"tooltip\", [_service.service]))();\n #tooltip = (() => (dt7948.i(this, \"tooltip\"), void 0))();\n registerTooltip = (() => (0, _emberModifier.modifier)(element => {\n if (this.args.disableTooltip || !this.popoverContent?.length) {\n return;\n }\n const instance = this.tooltip.register(element, {\n content: (0, _template.htmlSafe)(this.popoverContent),\n identifier: \"chat-message-reaction-tooltip\",\n animated: false,\n placement: \"top\",\n fallbackPlacements: [\"bottom\"],\n triggers: this.site.mobileView ? [\"hold\"] : [\"hover\"]\n });\n return () => {\n instance.destroy();\n };\n }))();\n get showCount() {\n return this.args.showCount ?? true;\n }\n get emojiString() {\n return `:${this.args.reaction.emoji}:`;\n }\n get emojiUrl() {\n return (0, _text.emojiUrlFor)(this.args.reaction.emoji);\n }\n handleClick(event) {\n event.stopPropagation();\n this.args.onReaction?.(this.args.reaction.emoji, this.args.reaction.reacted ? \"remove\" : \"add\");\n }\n static #_4 = (() => dt7948.n(this.prototype, \"handleClick\", [_object.action]))();\n get popoverContent() {\n if (!this.args.reaction.count || !this.args.reaction.users?.length) {\n return;\n }\n return (0, _text.emojiUnescape)((0, _getReactionText.getReactionText)(this.args.reaction, this.currentUser));\n }\n static #_5 = (() => dt7948.n(this.prototype, \"popoverContent\", [_tracking.cached]))();\n static #_6 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if (and @reaction this.emojiUrl)}}\n \n \n \n {{#if (and this.showCount @reaction.count)}}\n {{@reaction.count}}\n {{/if}}\n \n {{/if}}\n \n */\n {\n \"id\": \"OAZengKh\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[28,[32,0],[[30,1],[30,0,[\\\"emojiUrl\\\"]]],null],[[[1,\\\" \\\"],[11,\\\"button\\\"],[16,\\\"title\\\",[30,0,[\\\"emojiString\\\"]]],[16,\\\"data-emoji-name\\\",[30,1,[\\\"emoji\\\"]]],[24,\\\"tabindex\\\",\\\"0\\\"],[16,0,[28,[32,1],[\\\"chat-message-reaction\\\",[52,[30,1,[\\\"reacted\\\"]],\\\"reacted\\\"]],null]],[24,4,\\\"button\\\"],[4,[32,2],[\\\"click\\\",[30,0,[\\\"handleClick\\\"]]],[[\\\"passive\\\"],[true]]],[4,[30,0,[\\\"registerTooltip\\\"]],null,null],[12],[1,\\\"\\\\n \\\"],[10,\\\"img\\\"],[14,\\\"loading\\\",\\\"lazy\\\"],[14,0,\\\"emoji\\\"],[14,\\\"width\\\",\\\"20\\\"],[14,\\\"height\\\",\\\"20\\\"],[15,\\\"alt\\\",[30,0,[\\\"emojiString\\\"]]],[15,\\\"src\\\",[30,0,[\\\"emojiUrl\\\"]]],[12],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[28,[32,0],[[30,0,[\\\"showCount\\\"]],[30,1,[\\\"count\\\"]]],null],[[[1,\\\" \\\"],[10,1],[14,0,\\\"count\\\"],[12],[1,[30,1,[\\\"count\\\"]]],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[\\\"@reaction\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-message-reaction.js\",\n \"scope\": () => [_truthHelpers.and, _concatClass.default, _modifier.on],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatMessageReaction;\n});","define(\"discourse/plugins/chat/discourse/components/chat-message-separator\", [\"exports\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/modifier\", \"@ember/object\", \"ember-modifier\", \"discourse/helpers/concat-class\", \"discourse-i18n\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _tracking, _modifier, _object, _emberModifier, _concatClass, _discourseI18n, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const IS_PINNED_CLASS = \"is-pinned\";\n class ChatMessageSeparator extends _component.default {\n track = (() => (0, _emberModifier.modifier)(element => {\n const intersectionObserver = new IntersectionObserver(_ref => {\n let [entry] = _ref;\n if (entry.isIntersecting && entry.intersectionRatio < 1 && entry.boundingClientRect.y < entry.intersectionRect.y) {\n entry.target.classList.add(IS_PINNED_CLASS);\n } else {\n entry.target.classList.remove(IS_PINNED_CLASS);\n }\n }, {\n threshold: [0, 1]\n });\n intersectionObserver.observe(element);\n return () => {\n intersectionObserver?.disconnect();\n };\n }))();\n onDateClick() {\n return this.args.fetchMessagesByDate?.(this.firstMessageOfTheDayAt);\n }\n static #_ = (() => dt7948.n(this.prototype, \"onDateClick\", [_object.action]))();\n get firstMessageOfTheDayAt() {\n const message = this.args.message;\n if (!message.previousMessage) {\n return this.#startOfDay(message.createdAt);\n }\n if (!this.#areDatesOnSameDay(message.previousMessage.createdAt, message.createdAt)) {\n return this.#startOfDay(message.createdAt);\n }\n }\n static #_2 = (() => dt7948.n(this.prototype, \"firstMessageOfTheDayAt\", [_tracking.cached]))();\n get formattedFirstMessageDate() {\n if (this.firstMessageOfTheDayAt) {\n return this.#calendarDate(this.firstMessageOfTheDayAt);\n }\n }\n static #_3 = (() => dt7948.n(this.prototype, \"formattedFirstMessageDate\", [_tracking.cached]))();\n get isNewestMessage() {\n return this.args.message.id === this.args.message.channel.newestMessage?.id;\n }\n #areDatesOnSameDay(a, b) {\n return a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth() && a.getDate() === b.getDate();\n }\n #startOfDay(date) {\n return moment(date).startOf(\"day\").format();\n }\n #calendarDate(date) {\n return moment(date).calendar(moment(), {\n sameDay: `[${(0, _discourseI18n.i18n)(\"chat.chat_message_separator.today\")}]`,\n lastDay: `[${(0, _discourseI18n.i18n)(\"chat.chat_message_separator.yesterday\")}]`,\n lastWeek: \"LL\",\n sameElse: \"LL\"\n });\n }\n static #_4 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if this.formattedFirstMessageDate}}\n \n
\n \n {{this.formattedFirstMessageDate}}\n \n {{#if this.isNewestMessage}}\n \n -\n {{i18n \"chat.last_visit\"}}\n \n {{/if}}\n \n
\n \n \n
\n
\n
\n {{else if this.isNewestMessage}}\n \n
\n \n {{i18n \"chat.last_visit\"}}\n \n
\n \n
\n
\n
\n \n {{/if}}\n \n */\n {\n \"id\": \"dJl+GuK6\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"formattedFirstMessageDate\\\"]],[[[1,\\\" \\\"],[11,0],[16,0,[28,[32,0],[\\\"chat-message-separator\\\",\\\"chat-message-separator-date\\\",[52,[30,0,[\\\"isNewestMessage\\\"]],\\\"with-last-visit\\\"]],null]],[24,\\\"role\\\",\\\"button\\\"],[16,\\\"data-id\\\",[30,1,[\\\"id\\\"]]],[4,[32,1],[\\\"click\\\",[30,0,[\\\"onDateClick\\\"]]],[[\\\"passive\\\"],[true]]],[12],[1,\\\"\\\\n \\\"],[11,0],[24,0,\\\"chat-message-separator__text-container\\\"],[4,[30,0,[\\\"track\\\"]],null,null],[12],[1,\\\"\\\\n \\\"],[10,1],[14,0,\\\"chat-message-separator__text\\\"],[12],[1,\\\"\\\\n \\\"],[1,[30,0,[\\\"formattedFirstMessageDate\\\"]]],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"isNewestMessage\\\"]],[[[1,\\\" \\\"],[10,1],[14,0,\\\"chat-message-separator__last-visit\\\"],[12],[1,\\\"\\\\n \\\"],[10,1],[14,0,\\\"chat-message-separator__last-visit-separator\\\"],[12],[1,\\\"-\\\"],[13],[1,\\\"\\\\n \\\"],[1,[28,[32,2],[\\\"chat.last_visit\\\"],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\\n \\\"],[10,0],[14,0,\\\"chat-message-separator__line-container\\\"],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-message-separator__line\\\"],[12],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[41,[30,0,[\\\"isNewestMessage\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-message-separator chat-message-separator-new\\\"],[15,\\\"data-id\\\",[30,1,[\\\"id\\\"]]],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-message-separator__text-container\\\"],[12],[1,\\\"\\\\n \\\"],[10,1],[14,0,\\\"chat-message-separator__text\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,2],[\\\"chat.last_visit\\\"],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\\n \\\"],[10,0],[14,0,\\\"chat-message-separator__line-container\\\"],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-message-separator__line\\\"],[12],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[]],null]],[]]],[1,\\\" \\\"]],[\\\"@message\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-message-separator.js\",\n \"scope\": () => [_concatClass.default, _modifier.on, _discourseI18n.i18n],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatMessageSeparator;\n});","define(\"discourse/plugins/chat/discourse/components/chat-message-text\", [\"exports\", \"@glimmer/component\", \"@ember/template\", \"discourse/components/decorated-html\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/chat-message-collapser\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _template, _decoratedHtml, _discourseI18n, _chatMessageCollapser, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatMessageText extends _component.default {\n get isEdited() {\n return this.args.edited ?? false;\n }\n get isCollapsible() {\n return (0, _chatMessageCollapser.isCollapsible)(this.args.cooked, this.args.uploads);\n }\n static #_ = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
\n {{#if this.isCollapsible}}\n \n {{else}}\n \n {{/if}}\n \n {{#if this.isEdited}}\n ({{i18n \"chat.edited\"}})\n {{/if}}\n \n {{yield}}\n
\n \n */\n {\n \"id\": \"41RKH6rE\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-message-text\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"isCollapsible\\\"]],[[[1,\\\" \\\"],[8,[32,0],null,[[\\\"@cooked\\\",\\\"@decorate\\\",\\\"@uploads\\\",\\\"@onToggleCollapse\\\"],[[30,1],[30,2],[30,3],[30,4]]],null],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[8,[32,1],null,[[\\\"@html\\\",\\\"@decorate\\\",\\\"@className\\\"],[[28,[32,2],[[30,1]],null],[30,2],\\\"chat-cooked\\\"]],null],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"isEdited\\\"]],[[[1,\\\" \\\"],[10,1],[14,0,\\\"chat-message-edited\\\"],[12],[1,\\\"(\\\"],[1,[28,[32,3],[\\\"chat.edited\\\"],null]],[1,\\\")\\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n \\\"],[18,5,null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"@cooked\\\",\\\"@decorate\\\",\\\"@uploads\\\",\\\"@onToggleCollapse\\\",\\\"&default\\\"],false,[\\\"if\\\",\\\"yield\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-message-text.js\",\n \"scope\": () => [_chatMessageCollapser.default, _decoratedHtml.default, _template.htmlSafe, _discourseI18n.i18n],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatMessageText;\n});","define(\"discourse/plugins/chat/discourse/components/chat-message-thread-indicator\", [\"exports\", \"@glimmer/component\", \"@ember/routing\", \"@ember/template\", \"discourse/helpers/format-date\", \"discourse/helpers/replace-emoji\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/chat-thread-participants\", \"discourse/plugins/chat/discourse/components/chat-user-avatar\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _routing, _template, _formatDate, _replaceEmoji, _discourseI18n, _chatThreadParticipants, _chatUserAvatar, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatMessageThreadIndicator extends _component.default {\n get interactiveUser() {\n return this.args.interactiveUser ?? true;\n }\n get threadMessageRoute() {\n return [...this.args.message.thread.routeModels, this.args.message.thread.preview.lastReplyId];\n }\n static #_ = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n
\n \n
\n \n
\n \n {{@message.thread.preview.lastReplyUser.username}}\n \n \n {{formatDate\n @message.thread.preview.lastReplyCreatedAt\n leaveAgo=\"true\"\n }}\n \n
\n
\n {{i18n \"chat.thread.replies\" count=@message.thread.preview.replyCount}}\n
\n \n
\n {{replaceEmoji (htmlSafe @message.thread.preview.lastReplyExcerpt)}}\n
\n \n \n */\n {\n \"id\": \"Gc6fstT2\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[8,[32,0],[[24,0,\\\"chat-message-thread-indicator\\\"],[16,\\\"title\\\",[28,[32,1],[\\\"chat.threads.open\\\"],null]],[24,\\\"tabindex\\\",\\\"0\\\"],[17,1]],[[\\\"@route\\\",\\\"@models\\\"],[\\\"chat.channel.thread.near-message\\\",[30,0,[\\\"threadMessageRoute\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-message-thread-indicator__last-reply-avatar\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,2],null,[[\\\"@user\\\",\\\"@avatarSize\\\",\\\"@interactive\\\"],[[30,2,[\\\"thread\\\",\\\"preview\\\",\\\"lastReplyUser\\\"]],\\\"small\\\",[30,0,[\\\"interactiveUser\\\"]]]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\\n \\\"],[10,0],[14,0,\\\"chat-message-thread-indicator__last-reply-info\\\"],[12],[1,\\\"\\\\n \\\"],[10,1],[14,0,\\\"chat-message-thread-indicator__last-reply-username\\\"],[12],[1,\\\"\\\\n \\\"],[1,[30,2,[\\\"thread\\\",\\\"preview\\\",\\\"lastReplyUser\\\",\\\"username\\\"]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[10,1],[14,0,\\\"chat-message-thread-indicator__last-reply-timestamp\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,3],[[30,2,[\\\"thread\\\",\\\"preview\\\",\\\"lastReplyCreatedAt\\\"]]],[[\\\"leaveAgo\\\"],[\\\"true\\\"]]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-message-thread-indicator__replies-count\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,1],[\\\"chat.thread.replies\\\"],[[\\\"count\\\"],[[30,2,[\\\"thread\\\",\\\"preview\\\",\\\"replyCount\\\"]]]]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[8,[32,4],null,[[\\\"@thread\\\"],[[30,2,[\\\"thread\\\"]]]],null],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-message-thread-indicator__last-reply-excerpt\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,5],[[28,[32,6],[[30,2,[\\\"thread\\\",\\\"preview\\\",\\\"lastReplyExcerpt\\\"]]],null]],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[\\\"&attrs\\\",\\\"@message\\\"],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-message-thread-indicator.js\",\n \"scope\": () => [_routing.LinkTo, _discourseI18n.i18n, _chatUserAvatar.default, _formatDate.default, _chatThreadParticipants.default, _replaceEmoji.default, _template.htmlSafe],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatMessageThreadIndicator;\n});","define(\"discourse/plugins/chat/discourse/components/chat-message\", [\"exports\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/component\", \"@ember/helper\", \"@ember/modifier\", \"@ember/object\", \"@ember/owner\", \"@ember/render-modifiers/modifiers/will-destroy\", \"@ember/runloop\", \"@ember/service\", \"ember-modifier\", \"truth-helpers\", \"discourse/components/d-button\", \"discourse/components/emoji-picker\", \"discourse/helpers/concat-class\", \"discourse/lib/debounce\", \"discourse/lib/decorators\", \"discourse/lib/get-url\", \"discourse/lib/later\", \"discourse/lib/transformer\", \"discourse/lib/update-user-status-on-mention\", \"discourse/lib/zoom-check\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/chat/message/avatar\", \"discourse/plugins/chat/discourse/components/chat/message/error\", \"discourse/plugins/chat/discourse/components/chat/message/info\", \"discourse/plugins/chat/discourse/components/chat/message/left-gutter\", \"discourse/plugins/chat/discourse/components/chat-message/blocks\", \"discourse/plugins/chat/discourse/components/chat-message-actions-mobile\", \"discourse/plugins/chat/discourse/components/chat-message-in-reply-to-indicator\", \"discourse/plugins/chat/discourse/components/chat-message-reaction\", \"discourse/plugins/chat/discourse/components/chat-message-separator\", \"discourse/plugins/chat/discourse/components/chat-message-text\", \"discourse/plugins/chat/discourse/components/chat-message-thread-indicator\", \"discourse/plugins/chat/discourse/lib/chat-message-interactor\", \"discourse/plugins/chat/discourse/modifiers/chat/on-long-press\", \"@ember/template-factory\"], function (_exports, _component, _tracking, _component2, _helper, _modifier, _object, _owner, _willDestroy, _runloop, _service, _emberModifier, _truthHelpers, _dButton, _emojiPicker, _concatClass, _debounce, _decorators, _getUrl, _later, _transformer, _updateUserStatusOnMention, _zoomCheck, _discourseI18n, _avatar, _error, _info, _leftGutter, _blocks, _chatMessageActionsMobile, _chatMessageInReplyToIndicator, _chatMessageReaction, _chatMessageSeparator, _chatMessageText, _chatMessageThreadIndicator, _chatMessageInteractor, _onLongPress, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.MESSAGE_CONTEXT_THREAD = _exports.MENTION_KEYWORDS = void 0;\n _exports.addChatMessageDecorator = addChatMessageDecorator;\n _exports.default = void 0;\n _exports.resetChatMessageDecorators = resetChatMessageDecorators;\n let _chatMessageDecorators = [];\n function addChatMessageDecorator(decorator) {\n _chatMessageDecorators.push(decorator);\n }\n function resetChatMessageDecorators() {\n _chatMessageDecorators = [];\n }\n const MENTION_KEYWORDS = _exports.MENTION_KEYWORDS = [\"here\", \"all\"];\n const MESSAGE_CONTEXT_THREAD = _exports.MESSAGE_CONTEXT_THREAD = \"thread\";\n class ChatMessage extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"dialog\", [_service.service]))();\n #dialog = (() => (dt7948.i(this, \"dialog\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"appEvents\", [_service.service]))();\n #appEvents = (() => (dt7948.i(this, \"appEvents\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"capabilities\", [_service.service]))();\n #capabilities = (() => (dt7948.i(this, \"capabilities\"), void 0))();\n static #_6 = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_7 = (() => dt7948.g(this.prototype, \"chatApi\", [_service.service]))();\n #chatApi = (() => (dt7948.i(this, \"chatApi\"), void 0))();\n static #_8 = (() => dt7948.g(this.prototype, \"chatChannelPane\", [_service.service]))();\n #chatChannelPane = (() => (dt7948.i(this, \"chatChannelPane\"), void 0))();\n static #_9 = (() => dt7948.g(this.prototype, \"chatThreadPane\", [_service.service]))();\n #chatThreadPane = (() => (dt7948.i(this, \"chatThreadPane\"), void 0))();\n static #_10 = (() => dt7948.g(this.prototype, \"chatChannelsManager\", [_service.service]))();\n #chatChannelsManager = (() => (dt7948.i(this, \"chatChannelsManager\"), void 0))();\n static #_11 = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n static #_12 = (() => dt7948.g(this.prototype, \"toasts\", [_service.service]))();\n #toasts = (() => (dt7948.i(this, \"toasts\"), void 0))();\n static #_13 = (() => dt7948.g(this.prototype, \"modal\", [_service.service]))();\n #modal = (() => (dt7948.i(this, \"modal\"), void 0))();\n static #_14 = (() => dt7948.g(this.prototype, \"interactedChatMessage\", [_service.service]))();\n #interactedChatMessage = (() => (dt7948.i(this, \"interactedChatMessage\"), void 0))();\n static #_15 = (() => dt7948.g(this.prototype, \"isActive\", [_tracking.tracked], function () {\n return false;\n }))();\n #isActive = (() => (dt7948.i(this, \"isActive\"), void 0))();\n toggleCheckIfPossible = (() => (0, _emberModifier.modifier)(element => {\n let addedListener = false;\n const handler = () => {\n if (!this.pane.selectingMessages) {\n return;\n }\n if (event.shiftKey) {\n this.messageInteractor.bulkSelect(!this.args.message.selected);\n return;\n }\n this.messageInteractor.select(!this.args.message.selected);\n };\n if (this.pane.selectingMessages) {\n element.addEventListener(\"click\", handler, {\n passive: true\n });\n addedListener = true;\n }\n return () => {\n if (addedListener) {\n element.removeEventListener(\"click\", handler);\n }\n };\n }))();\n get pane() {\n return this.threadContext ? this.chatThreadPane : this.chatChannelPane;\n }\n get messageInteractor() {\n return new _chatMessageInteractor.default((0, _owner.getOwner)(this), this.args.message, this.args.context);\n }\n get deletedAndCollapsed() {\n return this.args.message?.deletedAt && this.collapsed;\n }\n get hiddenAndCollapsed() {\n return this.args.message?.hidden && this.collapsed;\n }\n get collapsed() {\n return !this.args.message?.expanded;\n }\n get deletedMessageLabel() {\n let count = 1;\n const recursiveCount = message => {\n const previousMessage = message.previousMessage;\n if (previousMessage?.deletedAt) {\n count++;\n recursiveCount(previousMessage);\n }\n };\n recursiveCount(this.args.message);\n return (0, _discourseI18n.i18n)(\"chat.deleted\", {\n count\n });\n }\n get shouldRender() {\n return this.args.message.expanded || !this.args.message.deletedAt || this.args.message.deletedAt && !this.args.message.nextMessage?.deletedAt;\n }\n get shouldRenderOpenEmojiPickerButton() {\n return this.chat.userCanInteractWithChat && this.site.desktopView;\n }\n get secondaryActionsIsExpanded() {\n return document.querySelector(\".more-buttons.secondary-actions.is-expanded\");\n }\n expand() {\n const recursiveExpand = message => {\n const previousMessage = message.previousMessage;\n if (previousMessage?.deletedAt) {\n previousMessage.expanded = true;\n recursiveExpand(previousMessage);\n }\n };\n this.args.message.expanded = true;\n this.refreshStatusOnMentions();\n recursiveExpand(this.args.message);\n }\n static #_16 = (() => dt7948.n(this.prototype, \"expand\", [_object.action]))();\n toggleChecked(event) {\n event.stopPropagation();\n if (event.shiftKey) {\n this.messageInteractor.bulkSelect(event.target.checked);\n return;\n }\n this.messageInteractor.select(event.target.checked);\n }\n static #_17 = (() => dt7948.n(this.prototype, \"toggleChecked\", [_object.action]))();\n willDestroyMessage() {\n (0, _runloop.cancel)(this._invitationSentTimer);\n (0, _runloop.cancel)(this._disableMessageActionsHandler);\n (0, _runloop.cancel)(this._makeMessageActiveHandler);\n this.#teardownMentionedUsers();\n this.chat.activeMessage = null;\n }\n static #_18 = (() => dt7948.n(this.prototype, \"willDestroyMessage\", [_object.action]))();\n refreshStatusOnMentions() {\n (0, _runloop.schedule)(\"afterRender\", () => {\n this.args.message.mentionedUsers.forEach(user => {\n const href = `/u/${user.username.toLowerCase()}`;\n const mentions = this.messageContainer.querySelectorAll(`a.mention[href=\"${href}\"]`);\n mentions.forEach(mention => {\n (0, _updateUserStatusOnMention.updateUserStatusOnMention)((0, _owner.getOwner)(this), mention, user.status);\n });\n });\n });\n }\n static #_19 = (() => dt7948.n(this.prototype, \"refreshStatusOnMentions\", [_object.action]))();\n initMentionedUsers() {\n this.args.message.mentionedUsers.forEach(user => {\n if (!user.statusManager.isTrackingStatus()) {\n user.statusManager.trackStatus();\n user.on(\"status-changed\", this, \"refreshStatusOnMentions\");\n }\n });\n }\n decorateMentions(cooked) {\n if (this.args.message.channel.allowChannelWideMentions) {\n const wideMentions = [...cooked.querySelectorAll(\"span.mention\")];\n MENTION_KEYWORDS.forEach(keyword => {\n const mentions = wideMentions.filter(node => {\n return node.textContent.trim() === `@${keyword}`;\n });\n const classes = (0, _transformer.applyValueTransformer)(\"mentions-class\", [], {\n user: {\n username: keyword\n }\n });\n mentions.forEach(mention => {\n mention.classList.add(...classes);\n });\n });\n }\n this.args.message.mentionedUsers.forEach(user => {\n const href = (0, _getUrl.default)(`/u/${user.username.toLowerCase()}`);\n const mentions = cooked.querySelectorAll(`a.mention[href=\"${href}\"]`);\n const classes = (0, _transformer.applyValueTransformer)(\"mentions-class\", [], {\n user\n });\n mentions.forEach(mention => {\n mention.classList.add(...classes);\n (0, _updateUserStatusOnMention.updateUserStatusOnMention)((0, _owner.getOwner)(this), mention, user.status);\n });\n });\n }\n decorateCookedMessage(element, helper) {\n this.messageContainer = element;\n this.initMentionedUsers();\n this.decorateMentions(element);\n _chatMessageDecorators.forEach(decorator => {\n decorator(element, helper);\n });\n }\n static #_20 = (() => dt7948.n(this.prototype, \"decorateCookedMessage\", [_decorators.bind]))();\n get show() {\n return !this.args.message?.deletedAt || this.currentUser.id === this.args.message?.user?.id || this.currentUser.staff || this.args.message?.channel?.canModerate;\n }\n onMouseEnter() {\n if (this.site.mobileView) {\n return;\n }\n if (this.chat.activeMessage?.model?.id === this.args.message.id) {\n return;\n }\n if (this.interactedChatMessage.emojiPickerOpen) {\n return;\n }\n if (!this.secondaryActionsIsExpanded) {\n this._onMouseEnterMessageDebouncedHandler = (0, _debounce.default)(this, this._debouncedOnHoverMessage, 250);\n }\n }\n static #_21 = (() => dt7948.n(this.prototype, \"onMouseEnter\", [_object.action]))();\n onMouseMove() {\n if (this.site.mobileView) {\n return;\n }\n if (this.chat.activeMessage?.model?.id === this.args.message.id) {\n return;\n }\n if (this.secondaryActionsIsExpanded) {\n return;\n }\n if (this.interactedChatMessage.emojiPickerOpen) {\n return;\n }\n this._setActiveMessage();\n }\n static #_22 = (() => dt7948.n(this.prototype, \"onMouseMove\", [_object.action]))();\n onMouseLeave(event) {\n (0, _runloop.cancel)(this._onMouseEnterMessageDebouncedHandler);\n if (this.site.mobileView) {\n return;\n }\n if ((event.toElement || event.relatedTarget)?.closest(\".chat-message-actions-container\")) {\n return;\n }\n if (this.interactedChatMessage.emojiPickerOpen) {\n return;\n }\n if (this.secondaryActionsIsExpanded) {\n return;\n }\n this.chat.activeMessage = null;\n }\n static #_23 = (() => dt7948.n(this.prototype, \"onMouseLeave\", [_object.action]))();\n _debouncedOnHoverMessage() {\n this._setActiveMessage();\n }\n static #_24 = (() => dt7948.n(this.prototype, \"_debouncedOnHoverMessage\", [_decorators.bind]))();\n _setActiveMessage() {\n if (this.args.disableMouseEvents) {\n return;\n }\n (0, _runloop.cancel)(this._onMouseEnterMessageDebouncedHandler);\n if (!this.chat.userCanInteractWithChat) {\n return;\n }\n if (!this.args.message.expanded) {\n return;\n }\n this.chat.activeMessage = {\n model: this.args.message,\n context: this.args.context\n };\n }\n onLongPressStart(element, event) {\n if (!this.args.message.expanded || !this.args.message.persisted) {\n return;\n }\n if (event.target.tagName === \"IMG\") {\n return;\n }\n // prevents message to show as active when starting scroll\n // at this moment scroll has no momentum and the row can\n // capture the touch event instead of a scroll\n this._makeMessageActiveHandler = (0, _later.default)(() => {\n this.isActive = true;\n }, 125);\n }\n static #_25 = (() => dt7948.n(this.prototype, \"onLongPressStart\", [_object.action]))();\n onLongPressCancel() {\n (0, _runloop.cancel)(this._makeMessageActiveHandler);\n this.isActive = false;\n // this a tricky bit of code which is needed to prevent the long press\n // from triggering a click on the message actions panel when releasing finger press\n // we can't prevent default as we need to keep the event passive for performance reasons\n // this class will prevent any click from being triggered until removed\n // this number has been chosen from testing but might need to be increased\n this._disableMessageActionsHandler = (0, _later.default)(() => {\n document.documentElement.classList.remove(\"disable-message-actions-touch\");\n }, 200);\n }\n static #_26 = (() => dt7948.n(this.prototype, \"onLongPressCancel\", [_object.action]))();\n onLongPressEnd(element, event) {\n if (event.target.tagName === \"IMG\") {\n return;\n }\n (0, _runloop.cancel)(this._makeMessageActiveHandler);\n this.isActive = false;\n if ((0, _zoomCheck.default)()) {\n // if zoomed don't handle long press\n return;\n }\n document.documentElement.classList.add(\"disable-message-actions-touch\");\n document.activeElement.blur();\n document.querySelector(\".chat-composer__input\")?.blur();\n this._setActiveMessage();\n this.modal.show(_chatMessageActionsMobile.default);\n }\n static #_27 = (() => dt7948.n(this.prototype, \"onLongPressEnd\", [_object.action]))();\n get hasActiveState() {\n return this.isActive || this.chat.activeMessage?.model?.id === this.args.message.id;\n }\n get hasReply() {\n return this.args.message.inReplyTo && !this.hideReplyToInfo;\n }\n get hideUserInfo() {\n const message = this.args.message;\n const previousMessage = message.previousMessage;\n if (!previousMessage) {\n return false;\n }\n // this is a micro optimization to avoid layout changes when we load more messages\n if (message.firstOfResults) {\n return false;\n }\n if (message.chatWebhookEvent) {\n return false;\n }\n if (previousMessage.deletedAt) {\n return false;\n }\n if (Math.abs(new Date(message.createdAt) - new Date(previousMessage.createdAt)) > 300000) {\n return false;\n }\n if (message.inReplyTo) {\n if (message.inReplyTo?.id === previousMessage.id) {\n return message.user?.id === previousMessage.user?.id;\n } else {\n return false;\n }\n }\n return message.user?.id === previousMessage.user?.id;\n }\n get hideReplyToInfo() {\n return this.threadContext || this.args.message?.inReplyTo?.id === this.args.message?.previousMessage?.id || this.threadingEnabled;\n }\n get threadingEnabled() {\n return (this.args.message?.channel?.threadingEnabled || this.args.message?.thread?.force) && !!this.args.message?.thread;\n }\n get showThreadIndicator() {\n return !this.threadContext && this.threadingEnabled && this.args.message?.thread && this.args.message?.thread.preview.replyCount > 0;\n }\n get threadContext() {\n return this.args.context === MESSAGE_CONTEXT_THREAD;\n }\n get shouldRenderStopMessageStreamingButton() {\n return this.args.message.streaming && (this.currentUser.admin || this.args.message.inReplyTo?.user?.id === this.currentUser.id);\n }\n onEmojiPickerClose() {\n this.interactedChatMessage.emojiPickerOpen = false;\n }\n static #_28 = (() => dt7948.n(this.prototype, \"onEmojiPickerClose\", [_object.action]))();\n onEmojiPickerShow() {\n this.interactedChatMessage.emojiPickerOpen = true;\n }\n static #_29 = (() => dt7948.n(this.prototype, \"onEmojiPickerShow\", [_object.action]))();\n stopMessageStreaming(message) {\n this.chatApi.stopMessageStreaming(message.channel.id, message.id);\n }\n static #_30 = (() => dt7948.n(this.prototype, \"stopMessageStreaming\", [_object.action]))();\n #teardownMentionedUsers() {\n this.args.message.mentionedUsers.forEach(user => {\n user.statusManager.stopTrackingStatus();\n user.off(\"status-changed\", this, \"refreshStatusOnMentions\");\n });\n }\n static #_31 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{! template-lint-disable no-invalid-interactive }}\n {{#if this.shouldRender}}\n \n \n \n {{#if this.show}}\n {{#if this.pane.selectingMessages}}\n \n {{/if}}\n \n {{#if this.deletedAndCollapsed}}\n
\n \n
\n {{else if this.hiddenAndCollapsed}}\n
\n \n
\n {{else}}\n
\n {{#unless this.hideReplyToInfo}}\n \n {{/unless}}\n \n {{#if this.hideUserInfo}}\n \n {{else}}\n \n {{/if}}\n \n
\n \n \n \n {{#if @message.reactions.length}}\n
\n {{#each @message.reactions as |reaction|}}\n \n {{/each}}\n \n {{#if this.shouldRenderOpenEmojiPickerButton}}\n \n {{/if}}\n
\n {{/if}}\n \n \n {{#if this.shouldRenderStopMessageStreamingButton}}\n
\n \n \n
\n {{/if}}\n \n \n \n \n
\n \n {{#if this.showThreadIndicator}}\n \n {{/if}}\n
\n {{/if}}\n {{/if}}\n \n {{/if}}\n \n */\n {\n \"id\": \"LN5qAO+R\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"shouldRender\\\"]],[[[1,\\\" \\\"],[8,[32,0],null,[[\\\"@fetchMessagesByDate\\\",\\\"@message\\\"],[[30,1],[30,2]]],null],[1,\\\"\\\\n\\\\n \\\"],[11,0],[16,0,[28,[32,1],[\\\"chat-message-container\\\",[52,[30,0,[\\\"pane\\\",\\\"selectingMessages\\\"]],\\\"-selectable\\\"],[52,[30,2,[\\\"highlighted\\\"]],\\\"-highlighted\\\"],[52,[30,2,[\\\"streaming\\\"]],\\\"-streaming\\\"],[52,[28,[32,2],[[30,2,[\\\"user\\\",\\\"id\\\"]],0],null],\\\"is-bot\\\"],[52,[28,[32,3],[[30,2,[\\\"user\\\",\\\"id\\\"]],[30,0,[\\\"currentUser\\\",\\\"id\\\"]]],null],\\\"is-by-current-user\\\"],[52,[28,[32,3],[[30,2,[\\\"id\\\"]],[30,0,[\\\"currentUser\\\",\\\"id\\\"]]],null],\\\"is-by-current-user\\\"],[52,[28,[32,3],[[30,2,[\\\"id\\\"]],[30,2,[\\\"channel\\\",\\\"currentUserMembership\\\",\\\"lastReadMessageId\\\"]]],null],\\\"-last-read\\\"],[52,[30,2,[\\\"staged\\\"]],\\\"-staged\\\",\\\"-persisted\\\"],[52,[30,2,[\\\"processed\\\"]],\\\"-processed\\\",\\\"-not-processed\\\"],[52,[30,0,[\\\"hasActiveState\\\"]],\\\"-active\\\"],[52,[30,2,[\\\"bookmark\\\"]],\\\"-bookmarked\\\"],[52,[30,2,[\\\"deletedAt\\\"]],\\\"-deleted\\\"],[52,[30,2,[\\\"selected\\\"]],\\\"-selected\\\"],[52,[30,2,[\\\"error\\\"]],\\\"-errored\\\"],[52,[30,0,[\\\"showThreadIndicator\\\"]],\\\"has-thread-indicator\\\"],[52,[30,0,[\\\"hideUserInfo\\\"]],\\\"-user-info-hidden\\\"],[52,[30,0,[\\\"hasReply\\\"]],\\\"has-reply\\\"]],null]],[16,\\\"data-id\\\",[30,2,[\\\"id\\\"]]],[16,\\\"data-thread-id\\\",[30,2,[\\\"thread\\\",\\\"id\\\"]]],[17,3],[4,[32,4],[[30,0,[\\\"willDestroyMessage\\\"]]],null],[4,[32,5],[\\\"mouseenter\\\",[30,0,[\\\"onMouseEnter\\\"]]],[[\\\"passive\\\"],[true]]],[4,[32,5],[\\\"mouseleave\\\",[30,0,[\\\"onMouseLeave\\\"]]],[[\\\"passive\\\"],[true]]],[4,[32,5],[\\\"mousemove\\\",[30,0,[\\\"onMouseMove\\\"]]],[[\\\"passive\\\"],[true]]],[4,[30,0,[\\\"toggleCheckIfPossible\\\"]],null,null],[4,[32,6],[[30,0,[\\\"onLongPressStart\\\"]],[30,0,[\\\"onLongPressEnd\\\"]],[30,0,[\\\"onLongPressCancel\\\"]]],null],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"show\\\"]],[[[41,[30,0,[\\\"pane\\\",\\\"selectingMessages\\\"]],[[[1,\\\" \\\"],[8,[32,7],[[24,0,\\\"chat-message-selector\\\"],[4,[32,5],[\\\"click\\\",[30,0,[\\\"toggleChecked\\\"]]],null]],[[\\\"@type\\\",\\\"@checked\\\"],[\\\"checkbox\\\",[30,2,[\\\"selected\\\"]]]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"deletedAndCollapsed\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-message-text -deleted\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,8],[[24,0,\\\"btn-flat chat-message-expand\\\"]],[[\\\"@action\\\",\\\"@translatedLabel\\\"],[[30,0,[\\\"expand\\\"]],[30,0,[\\\"deletedMessageLabel\\\"]]]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[41,[30,0,[\\\"hiddenAndCollapsed\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-message-text -hidden\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,8],[[24,0,\\\"btn-flat chat-message-expand\\\"]],[[\\\"@action\\\",\\\"@label\\\"],[[30,0,[\\\"expand\\\"]],\\\"chat.hidden\\\"]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-message\\\"],[12],[1,\\\"\\\\n\\\"],[41,[51,[30,0,[\\\"hideReplyToInfo\\\"]]],[[[1,\\\" \\\"],[8,[32,9],null,[[\\\"@message\\\"],[[30,2]]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"hideUserInfo\\\"]],[[[1,\\\" \\\"],[8,[32,10],null,[[\\\"@message\\\",\\\"@threadContext\\\"],[[30,2],[30,0,[\\\"threadContext\\\"]]]],null],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[8,[32,11],null,[[\\\"@message\\\"],[[30,2]]],null],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-message-content\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,12],null,[[\\\"@message\\\",\\\"@show\\\",\\\"@threadContext\\\"],[[30,2],[28,[32,13],[[30,0,[\\\"hideUserInfo\\\"]]],null],[30,0,[\\\"threadContext\\\"]]]],null],[1,\\\"\\\\n\\\\n \\\"],[8,[32,14],null,[[\\\"@cooked\\\",\\\"@uploads\\\",\\\"@edited\\\",\\\"@decorate\\\"],[[30,2,[\\\"cooked\\\"]],[30,2,[\\\"uploads\\\"]],[30,2,[\\\"edited\\\"]],[30,0,[\\\"decorateCookedMessage\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[41,[30,2,[\\\"reactions\\\",\\\"length\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-message-reaction-list\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[31,3],[[28,[31,3],[[30,2,[\\\"reactions\\\"]]],null]],null],null,[[[1,\\\" \\\"],[8,[32,15],null,[[\\\"@reaction\\\",\\\"@onReaction\\\",\\\"@message\\\",\\\"@showTooltip\\\"],[[30,4],[30,0,[\\\"messageInteractor\\\",\\\"react\\\"]],[30,2],true]],null],[1,\\\"\\\\n\\\"]],[4]],null],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"shouldRenderOpenEmojiPickerButton\\\"]],[[[1,\\\" \\\"],[8,[32,16],[[24,0,\\\"chat-message-reaction\\\"]],[[\\\"@context\\\",\\\"@didSelectEmoji\\\",\\\"@btnClass\\\",\\\"@onClose\\\",\\\"@onShow\\\"],[[28,[32,17],[\\\"channel_\\\",[30,2,[\\\"channel\\\",\\\"id\\\"]]],null],[30,0,[\\\"messageInteractor\\\",\\\"selectReaction\\\"]],\\\"btn-flat react-btn chat-message-react-btn\\\",[30,0,[\\\"onEmojiPickerClose\\\"]],[30,0,[\\\"onEmojiPickerShow\\\"]]]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[]]]]],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"shouldRenderStopMessageStreamingButton\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"stop-streaming-btn-container\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,8],[[24,0,\\\"stop-streaming-btn\\\"]],[[\\\"@icon\\\",\\\"@label\\\",\\\"@action\\\"],[\\\"circle-stop\\\",\\\"cancel\\\",[28,[32,18],[[30,0,[\\\"stopMessageStreaming\\\"]],[30,2]],null]]],null],[1,\\\"\\\\n\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n \\\"],[8,[32,19],null,[[\\\"@message\\\"],[[30,2]]],null],[1,\\\"\\\\n\\\\n \\\"],[8,[32,20],null,[[\\\"@message\\\",\\\"@onRetry\\\"],[[30,2],[30,5]]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"showThreadIndicator\\\"]],[[[1,\\\" \\\"],[8,[32,21],null,[[\\\"@message\\\"],[[30,2]]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"]],[]]]],[]]]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[\\\"@fetchMessagesByDate\\\",\\\"@message\\\",\\\"&attrs\\\",\\\"reaction\\\",\\\"@resendStagedMessage\\\"],false,[\\\"if\\\",\\\"unless\\\",\\\"each\\\",\\\"-track-array\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-message.js\",\n \"scope\": () => [_chatMessageSeparator.default, _concatClass.default, _truthHelpers.lt, _truthHelpers.eq, _willDestroy.default, _modifier.on, _onLongPress.default, _component2.Input, _dButton.default, _chatMessageInReplyToIndicator.default, _leftGutter.default, _avatar.default, _info.default, _truthHelpers.not, _chatMessageText.default, _chatMessageReaction.default, _emojiPicker.default, _helper.concat, _helper.fn, _blocks.default, _error.default, _chatMessageThreadIndicator.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatMessage;\n});","define(\"discourse/plugins/chat/discourse/components/chat-message/blocks/actions\", [\"exports\", \"discourse/plugins/chat/discourse/components/chat-message/blocks/element\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _element, _component, _templateFactory, _templateOnly) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const Actions = (0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
\n
\n {{#each @definition.elements as |elementDefinition|}}\n
\n
\n \n
\n
\n {{/each}}\n
\n
\n \n */\n {\n \"id\": \"A1G4RO9v\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"block__actions-wrapper\\\"],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"block__actions\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[31,1],[[28,[31,1],[[30,1,[\\\"elements\\\"]]],null]],null],null,[[[1,\\\" \\\"],[10,0],[14,0,\\\"block__action-wrapper\\\"],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"block__action\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,0],null,[[\\\"@createInteraction\\\",\\\"@definition\\\"],[[30,3],[30,2]]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[2]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[\\\"@definition\\\",\\\"elementDefinition\\\",\\\"@createInteraction\\\"],false,[\\\"each\\\",\\\"-track-array\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-message/blocks/actions.js\",\n \"scope\": () => [_element.default],\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, \"actions:Actions\"));\n var _default = _exports.default = Actions;\n});","define(\"discourse/plugins/chat/discourse/components/chat-message/blocks/block\", [\"exports\", \"@glimmer/component\", \"discourse/plugins/chat/discourse/components/chat-message/blocks/actions\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _actions, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class Block extends _component.default {\n get blockForType() {\n switch (this.args.definition.type) {\n case \"actions\":\n return _actions.default;\n default:\n throw new Error(`Unknown block type: ${this.args.definition.type}`);\n }\n }\n static #_ = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
\n
\n \n
\n
\n \n */\n {\n \"id\": \"9BSKgN3z\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-message__block-wrapper\\\"],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-message__block\\\"],[12],[1,\\\"\\\\n \\\"],[8,[30,0,[\\\"blockForType\\\"]],null,[[\\\"@createInteraction\\\",\\\"@definition\\\"],[[30,1],[30,2]]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"@createInteraction\\\",\\\"@definition\\\"],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-message/blocks/block.js\",\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = Block;\n});","define(\"discourse/plugins/chat/discourse/components/chat-message/blocks/element\", [\"exports\", \"@glimmer/component\", \"discourse/plugins/chat/discourse/components/chat-message/blocks/elements/button\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _button, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class Element extends _component.default {\n get elementForType() {\n switch (this.args.definition.type) {\n case \"button\":\n return _button.default;\n default:\n throw new Error(`Unknown element type: ${this.args.definition.type}`);\n }\n }\n static #_ = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n \n */\n {\n \"id\": \"W2f6kur3\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[8,[30,0,[\\\"elementForType\\\"]],null,[[\\\"@createInteraction\\\",\\\"@definition\\\"],[[30,1],[30,2]]],null],[1,\\\"\\\\n \\\"]],[\\\"@createInteraction\\\",\\\"@definition\\\"],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-message/blocks/element.js\",\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = Element;\n});","define(\"discourse/plugins/chat/discourse/components/chat-message/blocks/elements/button\", [\"exports\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/helper\", \"@ember/object\", \"discourse/components/d-button\", \"discourse/helpers/concat-class\", \"discourse/helpers/replace-emoji\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _tracking, _helper, _object, _dButton, _concatClass, _replaceEmoji, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class Button extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"interacting\", [_tracking.tracked], function () {\n return false;\n }))();\n #interacting = (() => (dt7948.i(this, \"interacting\"), void 0))();\n async createInteraction() {\n this.interacting = true;\n try {\n await this.args.createInteraction(this.args.definition.action_id);\n } finally {\n this.interacting = false;\n }\n }\n static #_2 = (() => dt7948.n(this.prototype, \"createInteraction\", [_object.action]))();\n static #_3 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n \n */\n {\n \"id\": \"ziL3Q5Ek\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[8,[32,0],[[16,0,[28,[32,1],[\\\"block__button\\\",[52,[30,1,[\\\"style\\\"]],[28,[32,2],[\\\"btn-\\\",[30,1,[\\\"style\\\"]]],null]]],null]]],[[\\\"@id\\\",\\\"@isLoading\\\",\\\"@translatedLabel\\\",\\\"@action\\\"],[[30,1,[\\\"action_id\\\"]],[30,0,[\\\"interacting\\\"]],[28,[32,3],[[30,1,[\\\"text\\\",\\\"text\\\"]]],null],[30,0,[\\\"createInteraction\\\"]]]],null],[1,\\\"\\\\n \\\"]],[\\\"@definition\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-message/blocks/elements/button.js\",\n \"scope\": () => [_dButton.default, _concatClass.default, _helper.concat, _replaceEmoji.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = Button;\n});","define(\"discourse/plugins/chat/discourse/components/chat-message/blocks/index\", [\"exports\", \"@glimmer/component\", \"@ember/object\", \"@ember/service\", \"discourse/lib/ajax-error\", \"discourse/plugins/chat/discourse/components/chat-message/blocks/block\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _object, _service, _ajaxError, _block, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class Blocks extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"appEvents\", [_service.service]))();\n #appEvents = (() => (dt7948.i(this, \"appEvents\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"chatApi\", [_service.service]))();\n #chatApi = (() => (dt7948.i(this, \"chatApi\"), void 0))();\n async createInteraction(id) {\n try {\n const result = await this.chatApi.createInteraction(this.args.message.channel.id, this.args.message.id, {\n action_id: id\n });\n this.appEvents.trigger(\"chat:message_interaction\", result.interaction);\n } catch (e) {\n (0, _ajaxError.popupAjaxError)(e);\n }\n }\n static #_3 = (() => dt7948.n(this.prototype, \"createInteraction\", [_object.action]))();\n static #_4 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if @message.blocks}}\n
\n
\n {{#each @message.blocks as |blockDefinition|}}\n \n {{/each}}\n
\n
\n {{/if}}\n \n */\n {\n \"id\": \"MpsEZhbu\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"blocks\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-message__blocks-wrapper\\\"],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-message__blocks\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[31,2],[[28,[31,2],[[30,1,[\\\"blocks\\\"]]],null]],null],null,[[[1,\\\" \\\"],[8,[32,0],null,[[\\\"@createInteraction\\\",\\\"@definition\\\"],[[30,0,[\\\"createInteraction\\\"]],[30,2]]],null],[1,\\\"\\\\n\\\"]],[2]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[\\\"@message\\\",\\\"blockDefinition\\\"],false,[\\\"if\\\",\\\"each\\\",\\\"-track-array\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-message/blocks/index.js\",\n \"scope\": () => [_block.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = Blocks;\n});","define(\"discourse/plugins/chat/discourse/components/chat-messages-container\", [\"exports\", \"@ember/helper\", \"discourse/modifiers/on-resize\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _helper, _onResize, _component, _templateFactory, _templateOnly) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const ChatMessagesContainer = (0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n {{yield}}\n \n \n */\n {\n \"id\": \"voufEXQ1\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[11,0],[24,0,\\\"chat-messages-container\\\"],[4,[32,0],[[30,1],[28,[32,1],null,[[\\\"delay\\\",\\\"immediate\\\"],[100,true]]]],null],[12],[1,\\\"\\\\n \\\"],[18,2,null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[\\\"@didResizePane\\\",\\\"&default\\\"],false,[\\\"yield\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-messages-container.js\",\n \"scope\": () => [_onResize.default, _helper.hash],\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, \"chat-messages-container:ChatMessagesContainer\"));\n var _default = _exports.default = ChatMessagesContainer;\n});","define(\"discourse/plugins/chat/discourse/components/chat-messages-scroller\", [\"exports\", \"@ember/helper\", \"@ember/render-modifiers/modifiers/did-insert\", \"discourse/plugins/chat/discourse/modifiers/chat/scrollable-list\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _helper, _didInsert, _scrollableList, _component, _templateFactory, _templateOnly) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const ChatMessagesScroller = (0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n {{yield}}\n \n \n */\n {\n \"id\": \"tVuIdDlD\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[11,0],[24,0,\\\"chat-messages-scroller popper-viewport\\\"],[4,[32,0],[[30,1]],null],[4,[32,1],[[28,[32,2],null,[[\\\"onScroll\\\",\\\"onScrollEnd\\\",\\\"reverse\\\"],[[30,2],[30,3],true]]]],null],[12],[1,\\\"\\\\n \\\"],[18,4,null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[\\\"@onRegisterScroller\\\",\\\"@onScroll\\\",\\\"@onScrollEnd\\\",\\\"&default\\\"],false,[\\\"yield\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-messages-scroller.js\",\n \"scope\": () => [_didInsert.default, _scrollableList.default, _helper.hash],\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, \"chat-messages-scroller:ChatMessagesScroller\"));\n var _default = _exports.default = ChatMessagesScroller;\n});","define(\"discourse/plugins/chat/discourse/components/chat-notice\", [\"exports\", \"@glimmer/component\", \"@ember/object\", \"@ember/service\", \"discourse/components/d-button\", \"discourse/plugins/chat/discourse/components/chat/notices/mention_without_membership\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _object, _service, _dButton, _mention_without_membership, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const COMPONENT_DICT = {\n mention_without_membership: _mention_without_membership.default\n };\n class ChatNotices extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"noticesManager\", [(0, _service.service)(\"chat-channel-notices-manager\")]))();\n #noticesManager = (() => (dt7948.i(this, \"noticesManager\"), void 0))();\n clearNotice() {\n this.noticesManager.clearNotice(this.args.notice);\n }\n static #_2 = (() => dt7948.n(this.prototype, \"clearNotice\", [_object.action]))();\n get component() {\n return COMPONENT_DICT[this.args.notice.type];\n }\n static #_3 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
\n \n {{#if @notice.textContent}}\n

\n {{@notice.textContent}}\n

\n {{else}}\n \n {{/if}}\n \n \n
\n \n */\n {\n \"id\": \"tdJFxcKd\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-notices__notice\\\"],[12],[1,\\\"\\\\n\\\\n\\\"],[41,[30,1,[\\\"textContent\\\"]],[[[1,\\\" \\\"],[10,2],[14,0,\\\"chat-notices__notice__content\\\"],[12],[1,\\\"\\\\n \\\"],[1,[30,1,[\\\"textContent\\\"]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[8,[30,0,[\\\"component\\\"]],null,[[\\\"@channel\\\",\\\"@notice\\\",\\\"@clearNotice\\\"],[[30,2],[30,1],[30,0,[\\\"clearNotice\\\"]]]],null],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"\\\\n \\\"],[8,[32,0],[[24,0,\\\"btn-transparent chat-notices__notice__clear\\\"]],[[\\\"@icon\\\",\\\"@action\\\"],[\\\"xmark\\\",[30,0,[\\\"clearNotice\\\"]]]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"@notice\\\",\\\"@channel\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-notice.js\",\n \"scope\": () => [_dButton.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatNotices;\n});","define(\"discourse/plugins/chat/discourse/components/chat-notices\", [\"exports\", \"@glimmer/component\", \"@ember/service\", \"discourse/plugins/chat/discourse/components/chat-notice\", \"discourse/plugins/chat/discourse/components/chat-retention-reminder\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _service, _chatNotice, _chatRetentionReminder, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatNotices extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"noticesManager\", [(0, _service.service)(\"chat-channel-notices-manager\")]))();\n #noticesManager = (() => (dt7948.i(this, \"noticesManager\"), void 0))();\n get noticesForChannel() {\n return this.noticesManager.notices.filter(notice => notice.channelId === this.args.channel.id);\n }\n static #_2 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
\n \n \n {{#each this.noticesForChannel as |notice|}}\n \n {{/each}}\n
\n \n */\n {\n \"id\": \"w5+Mqhw3\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-notices\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,0],null,[[\\\"@channel\\\"],[[30,1]]],null],[1,\\\"\\\\n\\\\n\\\"],[42,[28,[31,1],[[28,[31,1],[[30,0,[\\\"noticesForChannel\\\"]]],null]],null],null,[[[1,\\\" \\\"],[8,[32,1],null,[[\\\"@notice\\\",\\\"@channel\\\"],[[30,2],[30,1]]],null],[1,\\\"\\\\n\\\"]],[2]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"@channel\\\",\\\"notice\\\"],false,[\\\"each\\\",\\\"-track-array\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-notices.js\",\n \"scope\": () => [_chatRetentionReminder.default, _chatNotice.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatNotices;\n});","define(\"discourse/plugins/chat/discourse/components/chat-replying-indicator\", [\"exports\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/object\", \"@ember/render-modifiers/modifiers/did-insert\", \"@ember/render-modifiers/modifiers/did-update\", \"@ember/render-modifiers/modifiers/will-destroy\", \"@ember/service\", \"@ember/utils\", \"discourse/helpers/concat-class\", \"discourse-i18n\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _tracking, _object, _didInsert, _didUpdate, _willDestroy, _service, _utils, _concatClass, _discourseI18n, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatReplyingIndicator extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"presence\", [_service.service]))();\n #presence = (() => (dt7948.i(this, \"presence\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"presenceChannel\", [_tracking.tracked], function () {\n return null;\n }))();\n #presenceChannel = (() => (dt7948.i(this, \"presenceChannel\"), void 0))();\n async updateSubscription() {\n await this.unsubscribe();\n await this.subscribe();\n }\n static #_4 = (() => dt7948.n(this.prototype, \"updateSubscription\", [_object.action]))();\n async subscribe() {\n this.presenceChannel = this.presence.getChannel(this.args.presenceChannelName);\n await this.presenceChannel.subscribe();\n }\n static #_5 = (() => dt7948.n(this.prototype, \"subscribe\", [_object.action]))();\n async unsubscribe() {\n if (this.presenceChannel?.subscribed) {\n await this.presenceChannel.unsubscribe();\n }\n }\n static #_6 = (() => dt7948.n(this.prototype, \"unsubscribe\", [_object.action]))();\n get users() {\n return this.presenceChannel?.get(\"users\")?.filter(u => u.id !== this.currentUser.id) || [];\n }\n get usernames() {\n return this.users.mapBy(\"username\");\n }\n get text() {\n if (this.usernames.length === 1) {\n return (0, _discourseI18n.i18n)(\"chat.replying_indicator.single_user\", {\n username: this.usernames[0]\n });\n }\n if (this.usernames.length < 4) {\n const lastUsername = this.usernames[this.usernames.length - 1];\n const commaSeparatedUsernames = this.usernames.slice(0, this.usernames.length - 1).join((0, _discourseI18n.i18n)(\"word_connector.comma\"));\n return (0, _discourseI18n.i18n)(\"chat.replying_indicator.multiple_users\", {\n commaSeparatedUsernames,\n lastUsername\n });\n }\n const commaSeparatedUsernames = this.usernames.slice(0, 2).join((0, _discourseI18n.i18n)(\"word_connector.comma\"));\n return (0, _discourseI18n.i18n)(\"chat.replying_indicator.many_users\", {\n commaSeparatedUsernames,\n count: this.usernames.length - 2\n });\n }\n get shouldRender() {\n return (0, _utils.isPresent)(this.usernames);\n }\n static #_7 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if @presenceChannelName}}\n \n {{#if this.shouldRender}}\n {{this.text}}\n \n .\n .\n .\n \n {{/if}}\n \n {{/if}}\n \n */\n {\n \"id\": \"mY3LAGZX\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,1],[[[1,\\\" \\\"],[11,0],[16,0,[28,[32,0],[\\\"chat-replying-indicator\\\",[52,[30,0,[\\\"presenceChannel\\\",\\\"subscribed\\\"]],\\\"is-subscribed\\\"]],null]],[4,[32,1],[[30,0,[\\\"subscribe\\\"]]],null],[4,[32,2],[[30,0,[\\\"updateSubscription\\\"]],[30,1]],null],[4,[32,3],[[30,0,[\\\"unsubscribe\\\"]]],null],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"shouldRender\\\"]],[[[1,\\\" \\\"],[10,1],[14,0,\\\"chat-replying-indicator__text\\\"],[12],[1,[30,0,[\\\"text\\\"]]],[13],[1,\\\"\\\\n \\\"],[10,1],[14,0,\\\"chat-replying-indicator__wave\\\"],[12],[1,\\\"\\\\n \\\"],[10,1],[14,0,\\\"chat-replying-indicator__dot\\\"],[12],[1,\\\".\\\"],[13],[1,\\\"\\\\n \\\"],[10,1],[14,0,\\\"chat-replying-indicator__dot\\\"],[12],[1,\\\".\\\"],[13],[1,\\\"\\\\n \\\"],[10,1],[14,0,\\\"chat-replying-indicator__dot\\\"],[12],[1,\\\".\\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[\\\"@presenceChannelName\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-replying-indicator.js\",\n \"scope\": () => [_concatClass.default, _didInsert.default, _didUpdate.default, _willDestroy.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatReplyingIndicator;\n});","define(\"discourse/plugins/chat/discourse/components/chat-retention-reminder-text\", [\"exports\", \"@glimmer/component\", \"@ember/service\", \"discourse-i18n\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _service, _discourseI18n, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatRetentionReminderText extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n get type() {\n return this.args.type ?? \"long\";\n }\n get text() {\n if (this.args.channel.isDirectMessageChannel) {\n if (this.#countForChannelType > 0) {\n return (0, _discourseI18n.i18n)(`chat.retention_reminders.${this.type}`, {\n count: this.siteSettings.chat_dm_retention_days\n });\n } else {\n return (0, _discourseI18n.i18n)(`chat.retention_reminders.indefinitely_${this.type}`);\n }\n } else {\n if (this.#countForChannelType > 0) {\n return (0, _discourseI18n.i18n)(`chat.retention_reminders.${this.type}`, {\n count: this.siteSettings.chat_channel_retention_days\n });\n } else {\n return (0, _discourseI18n.i18n)(`chat.retention_reminders.indefinitely_${this.type}`);\n }\n }\n }\n get #countForChannelType() {\n return this.args.channel.isDirectMessageChannel ? this.siteSettings.chat_dm_retention_days : this.siteSettings.chat_channel_retention_days;\n }\n static #_2 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n {{this.text}}\n \n \n */\n {\n \"id\": \"jf5EPrBy\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,1],[14,0,\\\"chat-retention-reminder-text\\\"],[12],[1,\\\"\\\\n \\\"],[1,[30,0,[\\\"text\\\"]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-retention-reminder-text.js\",\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatRetentionReminderText;\n});","define(\"discourse/plugins/chat/discourse/components/chat-retention-reminder\", [\"exports\", \"@glimmer/component\", \"@ember/object\", \"@ember/service\", \"discourse/components/d-button\", \"discourse/lib/ajax\", \"discourse/lib/ajax-error\", \"discourse/plugins/chat/discourse/components/chat-retention-reminder-text\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _object, _service, _dButton, _ajax, _ajaxError, _chatRetentionReminderText, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatRetentionReminder extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n get show() {\n return this.args.channel?.isDirectMessageChannel && this.currentUser?.get(\"needs_dm_retention_reminder\") || this.args.channel?.isCategoryChannel && this.currentUser?.get(\"needs_channel_retention_reminder\");\n }\n async dismiss() {\n try {\n await (0, _ajax.ajax)(\"/chat/dismiss-retention-reminder\", {\n method: \"POST\",\n data: {\n chatable_type: this.args.channel.chatableType\n }\n });\n const field = this.args.channel.isDirectMessageChannel ? \"needs_dm_retention_reminder\" : \"needs_channel_retention_reminder\";\n this.currentUser.set(field, false);\n } catch (e) {\n (0, _ajaxError.popupAjaxError)(e);\n }\n }\n static #_2 = (() => dt7948.n(this.prototype, \"dismiss\", [_object.action]))();\n static #_3 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if this.show}}\n
\n \n \n
\n {{/if}}\n \n */\n {\n \"id\": \"GPnNGhtq\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"show\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-retention-reminder\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,0],null,[[\\\"@channel\\\"],[[30,1]]],null],[1,\\\"\\\\n \\\"],[8,[32,1],[[24,0,\\\"no-text btn-icon btn-transparent dismiss-btn\\\"]],[[\\\"@action\\\",\\\"@icon\\\"],[[30,0,[\\\"dismiss\\\"]],\\\"xmark\\\"]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[\\\"@channel\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-retention-reminder.js\",\n \"scope\": () => [_chatRetentionReminderText.default, _dButton.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatRetentionReminder;\n});","define(\"discourse/plugins/chat/discourse/components/chat-side-panel-resizer\", [\"exports\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _component, _templateFactory, _templateOnly) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const ChatSidePanelResizer = (0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
\n \n */\n {\n \"id\": \"zRFG2Lu3\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-side-panel-resizer\\\"],[12],[13],[1,\\\"\\\\n\\\"]],[],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-side-panel-resizer.js\",\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, \"chat-side-panel-resizer:ChatSidePanelResizer\"));\n var _default = _exports.default = ChatSidePanelResizer;\n});","define(\"discourse/plugins/chat/discourse/components/chat-side-panel\", [\"exports\", \"@glimmer/component\", \"@ember/helper\", \"@ember/object\", \"@ember/render-modifiers/modifiers/did-insert\", \"@ember/service\", \"discourse/lib/key-value-store\", \"discourse/plugins/chat/discourse/modifiers/chat/resizable-node\", \"discourse/plugins/chat/discourse/components/chat-side-panel-resizer\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _helper, _object, _didInsert, _service, _keyValueStore, _resizableNode, _chatSidePanelResizer, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const MIN_PANEL_WIDTH = 250;\n const STORE_NAMESPACE = \"discourse_chat_side_panel_size_\";\n class ChatSidePanel extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chatStateManager\", [_service.service]))();\n #chatStateManager = (() => (dt7948.i(this, \"chatStateManager\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n store = (() => new _keyValueStore.default(STORE_NAMESPACE))();\n setupSize(element) {\n if (this.site.mobileView) {\n return;\n }\n if (!this.chatStateManager.isFullPageActive) {\n return;\n }\n const validWidth = Math.min(this.store.getObject(\"width\") ?? MIN_PANEL_WIDTH, this.mainContainerWidth - MIN_PANEL_WIDTH);\n element.animate([{\n width: element.style.width\n }, {\n width: validWidth + \"px\"\n }], {\n duration: 0,\n fill: \"forwards\"\n });\n this.storeWidth(validWidth);\n }\n static #_3 = (() => dt7948.n(this.prototype, \"setupSize\", [_object.action]))();\n didResize(element, size) {\n const mainPanelWidth = this.mainContainerWidth - size.width;\n if (size.width >= MIN_PANEL_WIDTH && mainPanelWidth >= MIN_PANEL_WIDTH) {\n element.animate([{\n width: element.style.width\n }, {\n width: size.width + \"px\"\n }], {\n duration: 0,\n fill: \"forwards\"\n });\n this.storeWidth(size.width);\n }\n }\n static #_4 = (() => dt7948.n(this.prototype, \"didResize\", [_object.action]))();\n get mainContainerWidth() {\n return document.getElementById(\"main-chat-outlet\").clientWidth;\n }\n storeWidth(width) {\n this.store.setObject({\n key: \"width\",\n value: width\n });\n }\n static #_5 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if this.chatStateManager.isSidePanelExpanded}}\n \n {{yield}}\n \n {{#if this.site.desktopView}}\n \n {{/if}}\n \n {{/if}}\n \n */\n {\n \"id\": \"+D+oFGit\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"chatStateManager\\\",\\\"isSidePanelExpanded\\\"]],[[[1,\\\" \\\"],[11,0],[24,0,\\\"chat-side-panel\\\"],[4,[32,0],[[30,0,[\\\"setupSize\\\"]]],null],[4,[32,1],[\\\".chat-side-panel-resizer\\\",[30,0,[\\\"didResize\\\"]],[28,[32,2],null,[[\\\"position\\\",\\\"vertical\\\",\\\"mutate\\\",\\\"resetOnWindowResize\\\"],[false,false,false,true]]]],null],[12],[1,\\\"\\\\n \\\"],[18,1,null],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"site\\\",\\\"desktopView\\\"]],[[[1,\\\" \\\"],[8,[32,3],null,null,null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[\\\"&default\\\"],false,[\\\"if\\\",\\\"yield\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-side-panel.js\",\n \"scope\": () => [_didInsert.default, _resizableNode.default, _helper.hash, _chatSidePanelResizer.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatSidePanel;\n});","define(\"discourse/plugins/chat/discourse/components/chat-skeleton\", [\"exports\", \"@glimmer/component\", \"@ember/template\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _template, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatSkeleton extends _component.default {\n get placeholders() {\n return Array.from({\n length: 15\n }, () => {\n return {\n image: this.#randomIntFromInterval(1, 10) === 5,\n rows: Array.from({\n length: this.#randomIntFromInterval(1, 5)\n }, () => {\n return (0, _template.htmlSafe)(`width: ${this.#randomIntFromInterval(20, 95)}%`);\n }),\n reactions: Array.from({\n length: this.#randomIntFromInterval(0, 3)\n })\n };\n });\n }\n #randomIntFromInterval(min, max) {\n return Math.floor(Math.random() * (max - min + 1) + min);\n }\n static #_ = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
\n {{#each this.placeholders as |placeholder|}}\n
\n
\n
\n
\n
\n {{#if placeholder.image}}\n
\n {{/if}}\n \n
\n {{#each placeholder.rows as |row|}}\n
\n {{/each}}\n
\n \n {{#if placeholder.reactions}}\n
\n {{#each placeholder.reactions}}\n
\n {{/each}}\n
\n {{/if}}\n
\n
\n
\n {{/each}}\n
\n \n */\n {\n \"id\": \"roMafkk/\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-skeleton -animation\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[31,1],[[28,[31,1],[[30,0,[\\\"placeholders\\\"]]],null]],null],null,[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-skeleton__body\\\"],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-skeleton__message\\\"],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-skeleton__message-avatar\\\"],[12],[13],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-skeleton__message-poster\\\"],[12],[13],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-skeleton__message-content\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"image\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-skeleton__message-img\\\"],[12],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-skeleton__message-text\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[31,1],[[28,[31,1],[[30,1,[\\\"rows\\\"]]],null]],null],null,[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-skeleton__message-msg\\\"],[15,5,[30,2]],[12],[13],[1,\\\"\\\\n\\\"]],[2]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,1,[\\\"reactions\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-skeleton__message-reactions\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[31,1],[[28,[31,1],[[30,1,[\\\"reactions\\\"]]],null]],null],null,[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-skeleton__message-reaction\\\"],[12],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[1]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"placeholder\\\",\\\"row\\\"],false,[\\\"each\\\",\\\"-track-array\\\",\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-skeleton.js\",\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatSkeleton;\n});","define(\"discourse/plugins/chat/discourse/components/chat-thread-heading\", [\"exports\", \"@glimmer/component\", \"discourse/helpers/d-icon\", \"discourse/helpers/replace-emoji\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _dIcon, _replaceEmoji, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatThreadHeading extends _component.default {\n get showHeading() {\n return this.args.thread?.title;\n }\n static #_ = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if this.showHeading}}\n
\n
\n {{icon \"discourse-threads\"}}\n
\n

\n {{replaceEmoji @thread.title}}\n

\n
\n {{/if}}\n \n */\n {\n \"id\": \"87nHAPFx\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"showHeading\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-thread__heading\\\"],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-thread__heading-icon\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,0],[\\\"discourse-threads\\\"],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[10,\\\"h2\\\"],[14,0,\\\"chat-thread__heading-title\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,1],[[30,1,[\\\"title\\\"]]],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[\\\"@thread\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-thread-heading.js\",\n \"scope\": () => [_dIcon.default, _replaceEmoji.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatThreadHeading;\n});","define(\"discourse/plugins/chat/discourse/components/chat-thread-list\", [\"exports\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/service\", \"ember-modifier\", \"truth-helpers\", \"discourse/components/conditional-loading-spinner\", \"discourse/lib/decorators\", \"discourse/lib/is-element-in-viewport\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/chat/thread-list/item\", \"discourse/plugins/chat/discourse/modifiers/chat/track-message\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _tracking, _service, _emberModifier, _truthHelpers, _conditionalLoadingSpinner, _decorators, _isElementInViewport, _discourseI18n, _item, _trackMessage, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatThreadList extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"chatApi\", [_service.service]))();\n #chatApi = (() => (dt7948.i(this, \"chatApi\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"messageBus\", [_service.service]))();\n #messageBus = (() => (dt7948.i(this, \"messageBus\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"chatTrackingStateManager\", [_service.service]))();\n #chatTrackingStateManager = (() => (dt7948.i(this, \"chatTrackingStateManager\"), void 0))();\n noThreadsLabel = (() => (0, _discourseI18n.i18n)(\"chat.threads.none\"))();\n subscribe = (() => (0, _emberModifier.modifier)((element, _ref) => {\n let [channel] = _ref;\n this.messageBus.subscribe(`/chat/${channel.id}`, this.onMessageBus, channel.channelMessageBusLastId);\n return () => {\n // TODO (joffrey) In drawer we won't have channel anymore at this point\n if (!channel) {\n return;\n }\n this.messageBus.unsubscribe(`/chat/${channel.id}`, this.onMessageBus);\n };\n }))();\n fill = (() => (0, _emberModifier.modifier)(element => {\n this.resizeObserver = new ResizeObserver(() => {\n if ((0, _isElementInViewport.default)(element)) {\n this.loadThreads();\n }\n });\n this.resizeObserver.observe(element);\n return () => {\n this.resizeObserver.disconnect();\n };\n }))();\n loadMore = (() => (0, _emberModifier.modifier)(element => {\n this.intersectionObserver = new IntersectionObserver(this.loadThreads);\n this.intersectionObserver.observe(element);\n return () => {\n this.intersectionObserver.disconnect();\n };\n }))();\n get threadsCollection() {\n return this.chatApi.threads(this.args.channel.id, this.handleLoadedThreads);\n }\n static #_5 = (() => dt7948.n(this.prototype, \"threadsCollection\", [_tracking.cached]))();\n loadThreads() {\n this.threadsCollection.load({\n limit: 10\n });\n }\n static #_6 = (() => dt7948.n(this.prototype, \"loadThreads\", [_decorators.bind]))();\n get threadsManager() {\n return this.args.channel.threadsManager;\n }\n // NOTE: This replicates sort logic from the server. We need this because\n // the thread unread count + last reply date + time update when new messages\n // are sent to the thread, and we want the list to react in realtime to this.\n get sortedThreads() {\n return this.threadsManager.threads.filter(thread => !thread.originalMessage.deletedAt && thread.originalMessage?.id !== thread.lastMessageId).sort((threadA, threadB) => {\n // if both threads have watched unread count, then show latest first\n if (threadA.tracking.watchedThreadsUnreadCount && threadB.tracking.watchedThreadsUnreadCount) {\n if (threadA.preview.lastReplyCreatedAt > threadB.preview.lastReplyCreatedAt) {\n return -1;\n } else {\n return 1;\n }\n }\n // sort threads by watched unread count\n if (threadA.tracking.watchedThreadsUnreadCount) {\n return -1;\n }\n if (threadB.tracking.watchedThreadsUnreadCount) {\n return 1;\n }\n // If both are unread we just want to sort by last reply date + time descending.\n if (threadA.tracking.unreadCount && threadB.tracking.unreadCount) {\n if (threadA.preview.lastReplyCreatedAt > threadB.preview.lastReplyCreatedAt) {\n return -1;\n } else {\n return 1;\n }\n }\n // If one is unread and the other is not, we want to sort the unread one first.\n if (threadA.tracking.unreadCount) {\n return -1;\n }\n if (threadB.tracking.unreadCount) {\n return 1;\n }\n // If both are read, we want to sort by last reply date + time descending.\n if (threadA.preview.lastReplyCreatedAt > threadB.preview.lastReplyCreatedAt) {\n return -1;\n } else {\n return 1;\n }\n });\n }\n static #_7 = (() => dt7948.n(this.prototype, \"sortedThreads\", [_tracking.cached]))();\n get lastThread() {\n return this.sortedThreads[this.sortedThreads.length - 1];\n }\n get shouldRender() {\n return !!this.args.channel;\n }\n onMessageBus(busData) {\n switch (busData.type) {\n case \"delete\":\n this.handleDeleteMessage(busData);\n break;\n case \"restore\":\n this.handleRestoreMessage(busData);\n break;\n }\n }\n static #_8 = (() => dt7948.n(this.prototype, \"onMessageBus\", [_decorators.bind]))();\n handleDeleteMessage(data) {\n const deletedOriginalMessageThread = this.threadsManager.threads.findBy(\"originalMessage.id\", data.deleted_id);\n if (!deletedOriginalMessageThread) {\n return;\n }\n deletedOriginalMessageThread.originalMessage.deletedAt = new Date();\n }\n handleRestoreMessage(data) {\n const restoredOriginalMessageThread = this.threadsManager.threads.findBy(\"originalMessage.id\", data.chat_message.id);\n if (!restoredOriginalMessageThread) {\n return;\n }\n restoredOriginalMessageThread.originalMessage.deletedAt = null;\n }\n handleLoadedThreads(result) {\n return result.threads.map(thread => {\n const threadModel = this.threadsManager.add(this.args.channel, thread, {\n replace: true\n });\n this.chatTrackingStateManager.setupChannelThreadState(this.args.channel, result.tracking);\n return threadModel;\n });\n }\n static #_9 = (() => dt7948.n(this.prototype, \"handleLoadedThreads\", [_decorators.bind]))();\n static #_10 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if this.shouldRender}}\n
\n
\n \n {{#each this.sortedThreads key=\"id\" as |thread|}}\n \n {{else}}\n {{#if this.threadsCollection.fetchedOnce}}\n
\n {{this.noThreadsLabel}}\n
\n {{/if}}\n {{/each}}\n \n \n \n
\n
\n
\n
\n
\n {{/if}}\n \n */\n {\n \"id\": \"puIZL12K\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"shouldRender\\\"]],[[[1,\\\" \\\"],[11,0],[24,0,\\\"chat-thread-list\\\"],[4,[30,0,[\\\"subscribe\\\"]],[[30,1]],null],[12],[1,\\\"\\\\n \\\"],[11,0],[24,0,\\\"chat-thread-list__items\\\"],[4,[30,0,[\\\"fill\\\"]],null,null],[12],[1,\\\"\\\\n\\\\n\\\"],[42,[28,[31,2],[[28,[31,2],[[30,0,[\\\"sortedThreads\\\"]]],null]],null],\\\"id\\\",[[[1,\\\" \\\"],[8,[32,0],[[4,[52,[28,[32,1],[[30,2],[30,0,[\\\"lastThread\\\"]]],null],[50,[32,2],2,[[30,0,[\\\"load\\\"]]],null]],null,null]],[[\\\"@thread\\\"],[[30,2]]],null],[1,\\\"\\\\n\\\"]],[2]],[[[41,[30,0,[\\\"threadsCollection\\\",\\\"fetchedOnce\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-thread-list__no-threads\\\"],[12],[1,\\\"\\\\n \\\"],[1,[30,0,[\\\"noThreadsLabel\\\"]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null]],[]]],[1,\\\"\\\\n \\\"],[8,[32,3],null,[[\\\"@condition\\\"],[[30,0,[\\\"threadsCollection\\\",\\\"loading\\\"]]]],null],[1,\\\"\\\\n\\\\n \\\"],[11,0],[4,[30,0,[\\\"loadMore\\\"]],null,null],[12],[1,\\\"\\\\n \\\"],[10,\\\"br\\\"],[12],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[\\\"@channel\\\",\\\"thread\\\"],false,[\\\"if\\\",\\\"each\\\",\\\"-track-array\\\",\\\"modifier\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-thread-list.js\",\n \"scope\": () => [_item.default, _truthHelpers.eq, _trackMessage.default, _conditionalLoadingSpinner.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatThreadList;\n});","define(\"discourse/plugins/chat/discourse/components/chat-thread-participants\", [\"exports\", \"@glimmer/component\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/chat-user-avatar\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _discourseI18n, _chatUserAvatar, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatThreadParticipants extends _component.default {\n get showParticipants() {\n if (!this.args.thread) {\n return;\n }\n if (this.includeOriginalMessageUser) {\n return this.participantsUsers.length > 1;\n }\n return this.participantsUsers.length > 0;\n }\n get includeOriginalMessageUser() {\n return this.args.includeOriginalMessageUser ?? true;\n }\n get participantsUsers() {\n const users = this.args.thread.preview.participantUsers;\n if (this.includeOriginalMessageUser) {\n if (users.length > 3) {\n return users.slice(0, 2).concat(users[users.length - 1]);\n } else {\n return users;\n }\n }\n return users.filter(user => {\n return user.id !== this.args.thread.originalMessage.user.id;\n });\n }\n get otherCountLabel() {\n return (0, _discourseI18n.i18n)(\"chat.thread.participants_other_count\", {\n count: this.args.thread.preview.otherParticipantCount\n });\n }\n static #_ = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if this.showParticipants}}\n
\n
\n {{#each this.participantsUsers as |user|}}\n \n {{/each}}\n
\n {{#if @thread.preview.otherParticipantCount}}\n
\n {{this.otherCountLabel}}\n
\n {{/if}}\n
\n {{/if}}\n \n */\n {\n \"id\": \"uIyMf295\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"showParticipants\\\"]],[[[1,\\\" \\\"],[11,0],[24,0,\\\"chat-thread-participants\\\"],[17,1],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-thread-participants__avatar-group\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[31,2],[[28,[31,2],[[30,0,[\\\"participantsUsers\\\"]]],null]],null],null,[[[1,\\\" \\\"],[8,[32,0],null,[[\\\"@user\\\",\\\"@avatarSize\\\",\\\"@showPresence\\\",\\\"@interactive\\\"],[[30,2],\\\"tiny\\\",false,false]],null],[1,\\\"\\\\n\\\"]],[2]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\"],[41,[30,3,[\\\"preview\\\",\\\"otherParticipantCount\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-thread-participants__other-count\\\"],[12],[1,\\\"\\\\n \\\"],[1,[30,0,[\\\"otherCountLabel\\\"]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[\\\"&attrs\\\",\\\"user\\\",\\\"@thread\\\"],false,[\\\"if\\\",\\\"each\\\",\\\"-track-array\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-thread-participants.js\",\n \"scope\": () => [_chatUserAvatar.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatThreadParticipants;\n});","define(\"discourse/plugins/chat/discourse/components/chat-thread-title-prompt\", [\"exports\", \"@glimmer/component\", \"@ember/object\", \"@ember/runloop\", \"@ember/service\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/chat/modal/thread-settings\", \"discourse/plugins/chat/discourse/lib/chat-constants\", \"discourse/plugins/chat/discourse/models/user-chat-thread-membership\"], function (_exports, _component, _object, _runloop, _service, _discourseI18n, _threadSettings, _chatConstants, _userChatThreadMembership) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatThreadTitlePrompt extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chatApi\", [_service.service]))();\n #chatApi = (() => (dt7948.i(this, \"chatApi\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"modal\", [_service.service]))();\n #modal = (() => (dt7948.i(this, \"modal\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"toasts\", [_service.service]))();\n #toasts = (() => (dt7948.i(this, \"toasts\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n toastText = (() => ({\n title: (0, _discourseI18n.i18n)(\"chat.thread_title_toast.title\"),\n message: (0, _discourseI18n.i18n)(\"chat.thread_title_toast.message\"),\n dismissLabel: (0, _discourseI18n.i18n)(\"chat.thread_title_toast.dismiss_action\"),\n primaryLabel: (0, _discourseI18n.i18n)(\"chat.thread_title_toast.primary_action\")\n }))();\n constructor() {\n super(...arguments);\n (0, _runloop.next)(() => {\n if (this.canShowToast) {\n this.show();\n this.updateThreadTitlePrompt();\n }\n });\n }\n get membership() {\n return this.args.thread.currentUserMembership;\n }\n async updateThreadTitlePrompt() {\n try {\n const result = await this.chatApi.updateCurrentUserThreadTitlePrompt(this.args.thread.channel.id, this.args.thread.id);\n this.args.thread.currentUserMembership = _userChatThreadMembership.default.create(result.membership);\n } catch (e) {\n // eslint-disable-next-line no-console\n console.log(\"Couldn't save thread title prompt status\", e);\n if (this.membership) {\n this.membership.threadTitlePromptSeen = false;\n }\n }\n }\n static #_6 = (() => dt7948.n(this.prototype, \"updateThreadTitlePrompt\", [_object.action]))();\n disableFutureThreadTitlePrompts() {\n this.currentUser.set(\"user_option.show_thread_title_prompts\", false);\n this.currentUser.save();\n }\n static #_7 = (() => dt7948.n(this.prototype, \"disableFutureThreadTitlePrompts\", [_object.action]))();\n get canShowToast() {\n if (this.site.desktopView || this.args.thread.originalMessage?.user?.id !== this.currentUser.id && !this.currentUser.admin) {\n return false;\n }\n const titleNotSet = this.args.thread.title === null;\n const hasReplies = this.args.thread.replyCount >= _chatConstants.THREAD_TITLE_PROMPT_THRESHOLD;\n const showPrompts = this.currentUser.user_option.show_thread_title_prompts;\n const promptNotSeen = !this.membership?.threadTitlePromptSeen;\n return titleNotSet && hasReplies && showPrompts && promptNotSeen;\n }\n show() {\n this.toasts.default({\n duration: \"long\",\n showProgressBar: true,\n class: \"thread-toast\",\n data: {\n title: this.toastText.title,\n message: this.toastText.message,\n actions: [{\n label: this.toastText.dismissLabel,\n class: \"btn-link toast-hide\",\n action: toast => {\n this.disableFutureThreadTitlePrompts();\n toast.close();\n }\n }, {\n label: this.toastText.primaryLabel,\n class: \"btn-primary toast-action\",\n action: toast => {\n this.modal.show(_threadSettings.default, {\n model: this.args.thread\n });\n toast.close();\n }\n }]\n }\n });\n }\n }\n _exports.default = ChatThreadTitlePrompt;\n});","define(\"discourse/plugins/chat/discourse/components/chat-thread\", [\"exports\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/object\", \"@ember/owner\", \"@ember/render-modifiers/modifiers/did-insert\", \"@ember/render-modifiers/modifiers/will-destroy\", \"@ember/runloop\", \"@ember/service\", \"discourse/helpers/concat-class\", \"discourse/lib/ajax-error\", \"discourse/lib/debounce\", \"discourse/lib/decorators\", \"discourse/lib/notification-levels\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/chat-thread-title-prompt\", \"discourse/plugins/chat/discourse/helpers/first-visible-message-id\", \"discourse/plugins/chat/discourse/lib/chat-channel-thread-subscription-manager\", \"discourse/plugins/chat/discourse/lib/chat-constants\", \"discourse/plugins/chat/discourse/lib/chat-ios-hacks\", \"discourse/plugins/chat/discourse/lib/chat-messages-loader\", \"discourse/plugins/chat/discourse/lib/dates-separators-positioner\", \"discourse/plugins/chat/discourse/lib/extract-current-topic-info\", \"discourse/plugins/chat/discourse/lib/scroll-helpers\", \"discourse/plugins/chat/discourse/models/chat-message\", \"discourse/plugins/chat/discourse/models/user-chat-thread-membership\", \"discourse/plugins/chat/discourse/components/chat/composer/thread\", \"discourse/plugins/chat/discourse/components/chat/scroll-to-bottom-arrow\", \"discourse/plugins/chat/discourse/components/chat/selection-manager\", \"discourse/plugins/chat/discourse/components/chat-channel-preview-card\", \"discourse/plugins/chat/discourse/components/chat-message\", \"discourse/plugins/chat/discourse/components/chat-messages-container\", \"discourse/plugins/chat/discourse/components/chat-messages-scroller\", \"discourse/plugins/chat/discourse/components/chat-skeleton\", \"discourse/plugins/chat/discourse/components/chat-thread-heading\", \"discourse/plugins/chat/discourse/components/chat-upload-drop-zone\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _tracking, _object, _owner, _didInsert, _willDestroy, _runloop, _service, _concatClass, _ajaxError, _debounce, _decorators, _notificationLevels, _discourseI18n, _chatThreadTitlePrompt, _firstVisibleMessageId, _chatChannelThreadSubscriptionManager, _chatConstants, _chatIosHacks, _chatMessagesLoader, _datesSeparatorsPositioner, _extractCurrentTopicInfo, _scrollHelpers, _chatMessage, _userChatThreadMembership, _thread, _scrollToBottomArrow, _selectionManager, _chatChannelPreviewCard, _chatMessage2, _chatMessagesContainer, _chatMessagesScroller, _chatSkeleton, _chatThreadHeading, _chatUploadDropZone, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatThread extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"appEvents\", [_service.service]))();\n #appEvents = (() => (dt7948.i(this, \"appEvents\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"capabilities\", [_service.service]))();\n #capabilities = (() => (dt7948.i(this, \"capabilities\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"chatApi\", [_service.service]))();\n #chatApi = (() => (dt7948.i(this, \"chatApi\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"chatHistory\", [_service.service]))();\n #chatHistory = (() => (dt7948.i(this, \"chatHistory\"), void 0))();\n static #_6 = (() => dt7948.g(this.prototype, \"chatDraftsManager\", [_service.service]))();\n #chatDraftsManager = (() => (dt7948.i(this, \"chatDraftsManager\"), void 0))();\n static #_7 = (() => dt7948.g(this.prototype, \"chatThreadComposer\", [_service.service]))();\n #chatThreadComposer = (() => (dt7948.i(this, \"chatThreadComposer\"), void 0))();\n static #_8 = (() => dt7948.g(this.prototype, \"chatThreadPane\", [_service.service]))();\n #chatThreadPane = (() => (dt7948.i(this, \"chatThreadPane\"), void 0))();\n static #_9 = (() => dt7948.g(this.prototype, \"dialog\", [_service.service]))();\n #dialog = (() => (dt7948.i(this, \"dialog\"), void 0))();\n static #_10 = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n static #_11 = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n static #_12 = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n static #_13 = (() => dt7948.g(this.prototype, \"atBottom\", [_tracking.tracked], function () {\n return true;\n }))();\n #atBottom = (() => (dt7948.i(this, \"atBottom\"), void 0))();\n static #_14 = (() => dt7948.g(this.prototype, \"isScrolling\", [_tracking.tracked], function () {\n return false;\n }))();\n #isScrolling = (() => (dt7948.i(this, \"isScrolling\"), void 0))();\n static #_15 = (() => dt7948.g(this.prototype, \"needsArrow\", [_tracking.tracked], function () {\n return false;\n }))();\n #needsArrow = (() => (dt7948.i(this, \"needsArrow\"), void 0))();\n static #_16 = (() => dt7948.g(this.prototype, \"uploadDropZone\", [_tracking.tracked]))();\n #uploadDropZone = (() => (dt7948.i(this, \"uploadDropZone\"), void 0))();\n scroller = null;\n get messagesLoader() {\n return new _chatMessagesLoader.default((0, _owner.getOwner)(this), this.args.thread);\n }\n static #_17 = (() => dt7948.n(this.prototype, \"messagesLoader\", [_tracking.cached]))();\n get messagesManager() {\n return this.args.thread.messagesManager;\n }\n get showChannelPreview() {\n const channel = this.args.thread.channel;\n return channel?.isCategoryChannel && !channel?.isFollowing;\n }\n handleKeydown(event) {\n if (event.key === \"Escape\") {\n return this.router.transitionTo(\"chat.channel\", ...this.args.thread.channel.routeModels);\n }\n }\n static #_18 = (() => dt7948.n(this.prototype, \"handleKeydown\", [_object.action]))();\n setup(element) {\n this.uploadDropZone = element;\n this.messagesManager.clear();\n this.args.thread.draft = this.chatDraftsManager.get(this.args.thread.channel?.id, this.args.thread.id) || _chatMessage.default.createDraftMessage(this.args.thread.channel, {\n user: this.currentUser,\n thread: this.args.thread\n });\n this.chatThreadComposer.focus();\n this.loadMessages();\n }\n static #_19 = (() => dt7948.n(this.prototype, \"setup\", [_object.action]))();\n teardown() {\n this.subscriptionManager.teardown();\n (0, _runloop.cancel)(this._debouncedFillPaneAttemptHandler);\n (0, _runloop.cancel)(this._debounceUpdateLastReadMessageHandler);\n }\n static #_20 = (() => dt7948.n(this.prototype, \"teardown\", [_object.action]))();\n onScroll(state) {\n (0, _runloop.next)(() => {\n if (this.#flushIgnoreNextScroll()) {\n return;\n }\n _datesSeparatorsPositioner.default.apply(this.scroller);\n this.needsArrow = this.messagesLoader.fetchedOnce && this.messagesLoader.canLoadMoreFuture || state.distanceToBottom.pixels > 250 && !state.atBottom;\n this.isScrolling = true;\n this.debounceUpdateLastReadMessage();\n if (state.atTop || !this.capabilities.isIOS && state.up && state.distanceToTop.percentage < 40) {\n this.fetchMoreMessages({\n direction: _chatConstants.PAST\n });\n } else if (state.atBottom) {\n this.fetchMoreMessages({\n direction: _chatConstants.FUTURE\n });\n }\n });\n }\n static #_21 = (() => dt7948.n(this.prototype, \"onScroll\", [_object.action]))();\n onScrollEnd(state) {\n this.needsArrow = this.messagesLoader.fetchedOnce && this.messagesLoader.canLoadMoreFuture || state.distanceToBottom.pixels > 250 && !state.atBottom;\n this.isScrolling = false;\n this.atBottom = state.atBottom;\n if (state.atBottom) {\n this.fetchMoreMessages({\n direction: _chatConstants.FUTURE\n });\n }\n }\n static #_22 = (() => dt7948.n(this.prototype, \"onScrollEnd\", [_object.action]))();\n debounceUpdateLastReadMessage() {\n this._debounceUpdateLastReadMessageHandler = (0, _debounce.default)(this, this.updateLastReadMessage, _chatConstants.READ_INTERVAL_MS);\n }\n updateLastReadMessage() {\n if (!this.args.thread?.currentUserMembership) {\n return;\n }\n const firstFullyVisibleMessageId = (0, _firstVisibleMessageId.default)(this.scroller);\n if (!firstFullyVisibleMessageId) {\n return;\n }\n const firstMessage = this.messagesManager.findMessage(firstFullyVisibleMessageId);\n if (!firstMessage) {\n return;\n }\n const lastReadId = this.args.thread.currentUserMembership.lastReadMessageId;\n if (lastReadId >= firstMessage.id) {\n return;\n }\n return this.chatApi.markThreadAsRead(this.args.thread.channel.id, this.args.thread.id, firstMessage.id);\n }\n static #_23 = (() => dt7948.n(this.prototype, \"updateLastReadMessage\", [_decorators.bind]))();\n registerScroller(element) {\n this.scroller = element;\n }\n static #_24 = (() => dt7948.n(this.prototype, \"registerScroller\", [_object.action]))();\n loadMessages() {\n this.fetchMessages();\n this.subscriptionManager = new _chatChannelThreadSubscriptionManager.default(this, this.args.thread, {\n onNewMessage: this.onNewMessage\n });\n }\n static #_25 = (() => dt7948.n(this.prototype, \"loadMessages\", [_object.action]))();\n didResizePane() {\n this._ignoreNextScroll = true;\n this.debounceFillPaneAttempt();\n this.debounceUpdateLastReadMessage();\n _datesSeparatorsPositioner.default.apply(this.scroller);\n }\n static #_26 = (() => dt7948.n(this.prototype, \"didResizePane\", [_object.action]))();\n async fetchMessages() {\n let findArgs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (this.messagesLoader.loading) {\n return;\n }\n this.messagesManager.clear();\n findArgs.target_message_id ??= findArgs.targetMessageId || this.args.targetMessageId || this.args.thread.currentUserMembership?.lastReadMessageId;\n if (!findArgs.target_message_id) {\n findArgs.direction = _chatConstants.FUTURE;\n }\n const result = await this.messagesLoader.load(findArgs);\n if (!result) {\n return;\n }\n const [messages, meta] = this.processMessages(this.args.thread, result);\n (0, _chatIosHacks.stackingContextFix)(this.scroller, () => {\n this.messagesManager.addMessages(messages);\n });\n this.args.thread.details = meta;\n if (meta.target_message_id) {\n this.scrollToMessageId(meta.target_message_id, {\n highlight: true\n });\n } else {\n this.scrollToTop();\n }\n this.debounceFillPaneAttempt();\n }\n async fetchMoreMessages(_ref) {\n let {\n direction\n } = _ref;\n if (this.messagesLoader.loading) {\n return;\n }\n const result = await this.messagesLoader.loadMore({\n direction\n });\n if (!result) {\n return;\n }\n const [messages, meta] = this.processMessages(this.args.thread, result);\n if (!messages?.length) {\n return;\n }\n (0, _chatIosHacks.stackingContextFix)(this.scroller, () => {\n this.messagesManager.addMessages(messages);\n });\n this.args.thread.details = meta;\n if (direction === _chatConstants.FUTURE) {\n this.scrollToMessageId(messages.firstObject.id, {\n position: \"end\",\n behavior: \"auto\"\n });\n } else if (direction === _chatConstants.PAST) {\n this.scrollToMessageId(messages.lastObject.id);\n }\n this.debounceFillPaneAttempt();\n }\n static #_27 = (() => dt7948.n(this.prototype, \"fetchMoreMessages\", [_object.action]))();\n scrollToLatestMessage() {\n if (this.messagesLoader.canLoadMoreFuture) {\n this.fetchMessages();\n } else if (this.messagesManager.messages.length > 0) {\n this.scrollToBottom();\n }\n }\n static #_28 = (() => dt7948.n(this.prototype, \"scrollToLatestMessage\", [_object.action]))();\n debounceFillPaneAttempt() {\n if (!this.messagesLoader.fetchedOnce) {\n return;\n }\n this._debouncedFillPaneAttemptHandler = (0, _debounce.default)(this, this.fillPaneAttempt, 500);\n }\n async fillPaneAttempt() {\n // safeguard\n if (this.messagesManager.messages.length > 200) {\n return;\n }\n if (!this.messagesLoader.canLoadMorePast) {\n return;\n }\n const firstMessage = this.messagesManager.messages.firstObject;\n if (!firstMessage?.visible) {\n return;\n }\n await this.fetchMoreMessages({\n direction: _chatConstants.PAST\n });\n }\n scrollToMessageId(messageId) {\n let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n highlight: false,\n position: \"start\",\n autoExpand: false\n };\n this._ignoreNextScroll = true;\n const message = this.messagesManager.findMessage(messageId);\n (0, _scrollHelpers.scrollListToMessage)(this.scroller, message, opts);\n }\n onNewMessage(message) {\n if (!this.atBottom) {\n this.needsArrow = true;\n this.messagesLoader.canLoadMoreFuture = true;\n return;\n }\n (0, _chatIosHacks.stackingContextFix)(this.scroller, () => {\n this.messagesManager.addMessages([message]);\n });\n }\n static #_29 = (() => dt7948.n(this.prototype, \"onNewMessage\", [_decorators.bind]))();\n processMessages(thread, result) {\n const messages = result.messages.map(messageData => {\n const ignored = this.currentUser.ignored_users || [];\n const hidden = ignored.includes(messageData.user.username);\n return _chatMessage.default.create(thread.channel, {\n ...messageData,\n hidden,\n expanded: !(hidden || messageData.deleted_at),\n manager: this.messagesManager,\n thread\n });\n });\n return [messages, result.meta];\n }\n static #_30 = (() => dt7948.n(this.prototype, \"processMessages\", [_decorators.bind]))();\n async onSendMessage(message) {\n if (message.message.length > this.siteSettings.chat_maximum_message_length) {\n this.dialog.alert((0, _discourseI18n.i18n)(\"chat.message_too_long\", {\n count: this.siteSettings.chat_maximum_message_length\n }));\n return;\n }\n await message.cook();\n if (message.editing) {\n await this.#sendEditMessage(message);\n } else {\n await this.#sendNewMessage(message);\n }\n }\n static #_31 = (() => dt7948.n(this.prototype, \"onSendMessage\", [_object.action]))();\n fetchMessagesByDate(date) {\n if (this.messagesLoader.loading) {\n return;\n }\n const message = this.messagesManager.findFirstMessageOfDay(new Date(date));\n if (message.firstOfResults && this.messagesLoader.canLoadMorePast) {\n this.fetchMessages({\n target_date: date,\n direction: _chatConstants.FUTURE\n });\n } else {\n this.highlightOrFetchMessage(message.id, {\n position: \"center\"\n });\n }\n }\n static #_32 = (() => dt7948.n(this.prototype, \"fetchMessagesByDate\", [_decorators.bind]))();\n highlightOrFetchMessage(messageId) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const message = this.messagesManager.findMessage(messageId);\n if (message) {\n this.scrollToMessageId(message.id, Object.assign({\n highlight: true,\n position: \"start\",\n autoExpand: true,\n behavior: this.capabilities.isIOS ? \"smooth\" : null\n }, options));\n } else {\n this.fetchMessages({\n target_message_id: messageId\n });\n }\n }\n static #_33 = (() => dt7948.n(this.prototype, \"highlightOrFetchMessage\", [_object.action]))();\n resetComposerMessage() {\n this.args.thread.draft = _chatMessage.default.createDraftMessage(this.args.thread.channel, {\n user: this.currentUser,\n thread: this.args.thread\n });\n }\n static #_34 = (() => dt7948.n(this.prototype, \"resetComposerMessage\", [_object.action]))();\n async #sendNewMessage(message) {\n if (this.chatThreadPane.sending) {\n return;\n }\n this.chatThreadPane.sending = true;\n this._ignoreNextScroll = true;\n (0, _chatIosHacks.stackingContextFix)(this.scroller, async () => {\n await this.args.thread.stageMessage(message);\n });\n this.resetComposerMessage();\n if (!this.messagesLoader.canLoadMoreFuture) {\n this.scrollToLatestMessage();\n }\n try {\n const response = await this.chatApi.sendMessage(this.args.thread.channel.id, {\n message: message.message,\n in_reply_to_id: null,\n staged_id: message.id,\n upload_ids: message.uploads.map(upload => upload.id),\n thread_id: message.thread.id,\n ...(0, _extractCurrentTopicInfo.extractCurrentTopicInfo)(this)\n });\n this.args.thread.currentUserMembership ??= _userChatThreadMembership.default.create({\n notification_level: _notificationLevels.NotificationLevels.TRACKING,\n last_read_message_id: response.message_id\n });\n this.scrollToLatestMessage();\n } catch (error) {\n this.#onSendError(message.id, error);\n } finally {\n this.chatDraftsManager.remove(this.args.thread.channel.id, this.args.thread.id);\n this.chatThreadPane.sending = false;\n }\n }\n async #sendEditMessage(message) {\n this.chatThreadPane.sending = true;\n const data = {\n message: message.message,\n upload_ids: message.uploads.map(upload => upload.id)\n };\n this.resetComposerMessage();\n try {\n return await this.chatApi.editMessage(message.channel.id, message.id, data);\n } catch (e) {\n (0, _ajaxError.popupAjaxError)(e);\n } finally {\n this.chatDraftsManager.remove(this.args.thread.channel.id, this.args.thread.id);\n this.chatThreadPane.sending = false;\n }\n }\n async scrollToBottom() {\n this._ignoreNextScroll = true;\n await (0, _scrollHelpers.scrollListToBottom)(this.scroller);\n }\n static #_35 = (() => dt7948.n(this.prototype, \"scrollToBottom\", [_object.action]))();\n async scrollToTop() {\n this._ignoreNextScroll = true;\n await (0, _scrollHelpers.scrollListToTop)(this.scroller);\n }\n static #_36 = (() => dt7948.n(this.prototype, \"scrollToTop\", [_object.action]))();\n resendStagedMessage() {}\n static #_37 = (() => dt7948.n(this.prototype, \"resendStagedMessage\", [_object.action]))();\n #onSendError(stagedId, error) {\n const stagedMessage = this.args.thread.messagesManager.findStagedMessage(stagedId);\n if (stagedMessage) {\n if (error.jqXHR?.responseJSON?.errors?.length) {\n stagedMessage.error = error.jqXHR.responseJSON.errors[0];\n } else {\n this.chat.markNetworkAsUnreliable();\n stagedMessage.error = \"network_error\";\n }\n }\n this.resetComposerMessage();\n }\n #flushIgnoreNextScroll() {\n const prev = this._ignoreNextScroll;\n this._ignoreNextScroll = false;\n return prev;\n }\n static #_38 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n \n \n {{#each this.messagesManager.messages key=\"id\" as |message|}}\n \n {{/each}}\n \n {{#unless this.messagesLoader.fetchedOnce}}\n {{#if this.messagesLoader.loading}}\n \n {{/if}}\n {{/unless}}\n \n \n \n \n \n \n \n {{#if this.chatThreadPane.selectingMessages}}\n \n {{else}}\n {{#if this.showChannelPreview}}\n \n {{else}}\n \n {{/if}}\n {{/if}}\n \n \n \n \n \n */\n {\n \"id\": \"RU0k5z/8\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[11,0],[16,0,[28,[32,0],[\\\"chat-thread\\\",[52,[30,0,[\\\"messagesLoader\\\",\\\"loading\\\"]],\\\"--loading\\\"],[52,[30,0,[\\\"messagesLoader\\\",\\\"fetchedOnce\\\"]],\\\"--loaded\\\"]],null]],[16,\\\"data-id\\\",[30,1,[\\\"id\\\"]]],[4,[32,1],[[30,0,[\\\"setup\\\"]]],null],[4,[32,2],[[30,0,[\\\"teardown\\\"]]],null],[12],[1,\\\"\\\\n \\\"],[8,[32,3],null,[[\\\"@onRegisterScroller\\\",\\\"@onScroll\\\",\\\"@onScrollEnd\\\"],[[30,0,[\\\"registerScroller\\\"]],[30,0,[\\\"onScroll\\\"]],[30,0,[\\\"onScrollEnd\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,4],null,[[\\\"@didResizePane\\\"],[[30,0,[\\\"didResizePane\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[42,[28,[31,2],[[28,[31,2],[[30,0,[\\\"messagesManager\\\",\\\"messages\\\"]]],null]],null],\\\"id\\\",[[[1,\\\" \\\"],[8,[32,5],null,[[\\\"@message\\\",\\\"@disableMouseEvents\\\",\\\"@resendStagedMessage\\\",\\\"@fetchMessagesByDate\\\",\\\"@context\\\"],[[30,2],[30,0,[\\\"isScrolling\\\"]],[30,0,[\\\"resendStagedMessage\\\"]],[30,0,[\\\"fetchMessagesByDate\\\"]],\\\"thread\\\"]],null],[1,\\\"\\\\n\\\"]],[2]],null],[1,\\\"\\\\n\\\"],[41,[51,[30,0,[\\\"messagesLoader\\\",\\\"fetchedOnce\\\"]]],[[[41,[30,0,[\\\"messagesLoader\\\",\\\"loading\\\"]],[[[1,\\\" \\\"],[8,[32,6],null,null,null],[1,\\\"\\\\n\\\"]],[]],null]],[]],null],[1,\\\" \\\"]],[]]]]],[1,\\\"\\\\n\\\\n \\\"],[8,[32,7],null,[[\\\"@thread\\\"],[[30,1]]],null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n\\\\n \\\"],[8,[32,8],null,[[\\\"@onScrollToBottom\\\",\\\"@isVisible\\\"],[[30,0,[\\\"scrollToLatestMessage\\\"]],[30,0,[\\\"needsArrow\\\"]]]],null],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"chatThreadPane\\\",\\\"selectingMessages\\\"]],[[[1,\\\" \\\"],[8,[32,9],null,[[\\\"@pane\\\",\\\"@messagesManager\\\"],[[30,0,[\\\"chatThreadPane\\\"]],[30,0,[\\\"messagesManager\\\"]]]],null],[1,\\\"\\\\n\\\"]],[]],[[[41,[30,0,[\\\"showChannelPreview\\\"]],[[[1,\\\" \\\"],[8,[32,10],null,[[\\\"@channel\\\"],[[30,1,[\\\"channel\\\"]]]],null],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[8,[32,11],null,[[\\\"@channel\\\",\\\"@thread\\\",\\\"@onSendMessage\\\",\\\"@uploadDropZone\\\",\\\"@scroller\\\"],[[30,3],[30,1],[30,0,[\\\"onSendMessage\\\"]],[30,0,[\\\"uploadDropZone\\\"]],[30,0,[\\\"scroller\\\"]]]],null],[1,\\\"\\\\n\\\"]],[]]]],[]]],[1,\\\"\\\\n \\\"],[8,[32,12],null,[[\\\"@model\\\"],[[30,1]]],null],[1,\\\"\\\\n \\\"],[8,[32,13],null,[[\\\"@thread\\\"],[[30,1]]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"@thread\\\",\\\"message\\\",\\\"@channel\\\"],false,[\\\"if\\\",\\\"each\\\",\\\"-track-array\\\",\\\"unless\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-thread.js\",\n \"scope\": () => [_concatClass.default, _didInsert.default, _willDestroy.default, _chatMessagesScroller.default, _chatMessagesContainer.default, _chatMessage2.default, _chatSkeleton.default, _chatThreadHeading.default, _scrollToBottomArrow.default, _selectionManager.default, _chatChannelPreviewCard.default, _thread.default, _chatUploadDropZone.default, _chatThreadTitlePrompt.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatThread;\n});","define(\"discourse/plugins/chat/discourse/components/chat-to-topic-selector\", [\"exports\", \"@ember/component\", \"@ember/helper\", \"@ember/object/computed\", \"@ember/template\", \"truth-helpers\", \"discourse/components/choose-topic\", \"discourse/components/radio-button\", \"discourse/components/text-field\", \"discourse/lib/decorators\", \"discourse-i18n\", \"select-kit/components/category-chooser\", \"select-kit/components/tag-chooser\", \"@ember/template-factory\"], function (_exports, _component, _helper, _computed, _template, _truthHelpers, _chooseTopic, _radioButton, _textField, _decorators, _discourseI18n, _categoryChooser, _tagChooser, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = _exports.NEW_TOPIC_SELECTION = _exports.NEW_MESSAGE_SELECTION = _exports.EXISTING_TOPIC_SELECTION = void 0;\n const NEW_TOPIC_SELECTION = _exports.NEW_TOPIC_SELECTION = \"new_topic\";\n const EXISTING_TOPIC_SELECTION = _exports.EXISTING_TOPIC_SELECTION = \"existing_topic\";\n const NEW_MESSAGE_SELECTION = _exports.NEW_MESSAGE_SELECTION = \"new_message\";\n class ChatToTopicSelector extends _component.default {\n newTopicSelection = (() => NEW_TOPIC_SELECTION)();\n existingTopicSelection = (() => EXISTING_TOPIC_SELECTION)();\n newMessageSelection = (() => NEW_MESSAGE_SELECTION)();\n selection = null;\n static #_ = (() => dt7948.g(this.prototype, \"newTopic\", [(0, _computed.equal)(\"selection\", NEW_TOPIC_SELECTION)]))();\n #newTopic = (() => (dt7948.i(this, \"newTopic\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"existingTopic\", [(0, _computed.equal)(\"selection\", EXISTING_TOPIC_SELECTION)]))();\n #existingTopic = (() => (dt7948.i(this, \"existingTopic\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"newMessage\", [(0, _computed.equal)(\"selection\", NEW_MESSAGE_SELECTION)]))();\n #newMessage = (() => (dt7948.i(this, \"newMessage\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"canAddTags\", [(0, _computed.alias)(\"site.can_create_tag\")]))();\n #canAddTags = (() => (dt7948.i(this, \"canAddTags\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"canTagMessages\", [(0, _computed.alias)(\"site.can_tag_pms\")]))();\n #canTagMessages = (() => (dt7948.i(this, \"canTagMessages\"), void 0))();\n topicTitle = null;\n categoryId = null;\n tags = null;\n selectedTopicId = null;\n chatMessageIds = null;\n chatChannelId = null;\n newTopicInstruction() {\n return (0, _template.htmlSafe)(this.instructionLabels[NEW_TOPIC_SELECTION]);\n }\n static #_6 = (() => dt7948.n(this.prototype, \"newTopicInstruction\", [(0, _decorators.default)()]))();\n existingTopicInstruction() {\n return (0, _template.htmlSafe)(this.instructionLabels[EXISTING_TOPIC_SELECTION]);\n }\n static #_7 = (() => dt7948.n(this.prototype, \"existingTopicInstruction\", [(0, _decorators.default)()]))();\n newMessageInstruction() {\n return (0, _template.htmlSafe)(this.instructionLabels[NEW_MESSAGE_SELECTION]);\n }\n static #_8 = (() => dt7948.n(this.prototype, \"newMessageInstruction\", [(0, _decorators.default)()]))();\n static #_9 = (() => (0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
\n
\n \n \n \n \n {{#if this.allowNewMessage}}\n \n {{/if}}\n
\n \n {{#if this.newTopic}}\n

{{this.newTopicInstruction}}

\n \n
\n \n \n \n \n \n \n \n \n {{#if this.canAddTags}}\n \n \n {{/if}}\n \n {{/if}}\n \n {{#if this.existingTopic}}\n

{{this.existingTopicInstruction}}

\n
\n \n \n {{/if}}\n \n {{#if (and this.allowNewMessage this.newMessage)}}\n

{{this.newMessageInstruction}}

\n \n
\n \n \n \n \n {{#if this.canTagMessages}}\n \n \n {{/if}}\n \n {{/if}}\n
\n \n */\n {\n \"id\": \"rtRZD/t1\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-to-topic-selector\\\"],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"radios\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"label\\\"],[14,0,\\\"radio-label\\\"],[14,\\\"for\\\",\\\"move-to-new-topic\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,0],null,[[\\\"@id\\\",\\\"@name\\\",\\\"@value\\\",\\\"@selection\\\"],[\\\"move-to-new-topic\\\",\\\"move-to-entity\\\",[30,0,[\\\"newTopicSelection\\\"]],[30,0,[\\\"selection\\\"]]]],null],[1,\\\"\\\\n \\\"],[10,\\\"b\\\"],[12],[1,[28,[32,1],[\\\"topic.split_topic.radio_label\\\"],null]],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\\n \\\"],[10,\\\"label\\\"],[14,0,\\\"radio-label\\\"],[14,\\\"for\\\",\\\"move-to-existing-topic\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,0],null,[[\\\"@id\\\",\\\"@name\\\",\\\"@value\\\",\\\"@selection\\\"],[\\\"move-to-existing-topic\\\",\\\"move-to-entity\\\",[30,0,[\\\"existingTopicSelection\\\"]],[30,0,[\\\"selection\\\"]]]],null],[1,\\\"\\\\n \\\"],[10,\\\"b\\\"],[12],[1,[28,[32,1],[\\\"topic.merge_topic.radio_label\\\"],null]],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"allowNewMessage\\\"]],[[[1,\\\" \\\"],[10,\\\"label\\\"],[14,0,\\\"radio-label\\\"],[14,\\\"for\\\",\\\"move-to-new-message\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,0],null,[[\\\"@id\\\",\\\"@name\\\",\\\"@value\\\",\\\"@selection\\\"],[\\\"move-to-new-message\\\",\\\"move-to-entity\\\",[30,0,[\\\"newMessageSelection\\\"]],[30,0,[\\\"selection\\\"]]]],null],[1,\\\"\\\\n \\\"],[10,\\\"b\\\"],[12],[1,[28,[32,1],[\\\"topic.move_to_new_message.radio_label\\\"],null]],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"newTopic\\\"]],[[[1,\\\" \\\"],[10,2],[12],[1,[30,0,[\\\"newTopicInstruction\\\"]]],[13],[1,\\\"\\\\n\\\\n \\\"],[10,\\\"form\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"split-topic-name\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,1],[\\\"topic.split_topic.topic_name\\\"],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\\n \\\"],[8,[32,2],null,[[\\\"@value\\\",\\\"@placeholderKey\\\",\\\"@id\\\"],[[30,0,[\\\"topicTitle\\\"]],\\\"composer.title_placeholder\\\",\\\"split-topic-name\\\"]],null],[1,\\\"\\\\n\\\\n \\\"],[10,\\\"label\\\"],[12],[1,[28,[32,1],[\\\"categories.category\\\"],null]],[13],[1,\\\"\\\\n\\\\n \\\"],[8,[32,3],[[24,0,\\\"small\\\"]],[[\\\"@id\\\",\\\"@value\\\",\\\"@onChange\\\"],[\\\"new-topic-category-selector\\\",[30,0,[\\\"categoryId\\\"]],[28,[32,4],[[28,[31,1],[[30,0,[\\\"categoryId\\\"]]],null]],null]]],null],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"canAddTags\\\"]],[[[1,\\\" \\\"],[10,\\\"label\\\"],[12],[1,[28,[32,1],[\\\"tagging.tags\\\"],null]],[13],[1,\\\"\\\\n \\\"],[8,[32,5],null,[[\\\"@tags\\\",\\\"@filterable\\\",\\\"@categoryId\\\"],[[30,0,[\\\"tags\\\"]],true,[30,0,[\\\"categoryId\\\"]]]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"existingTopic\\\"]],[[[1,\\\" \\\"],[10,2],[12],[1,[30,0,[\\\"existingTopicInstruction\\\"]]],[13],[1,\\\"\\\\n \\\"],[10,\\\"form\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,6],null,[[\\\"@topicChangedCallback\\\",\\\"@selectedTopicId\\\"],[[30,1],[30,2]]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[28,[32,7],[[30,0,[\\\"allowNewMessage\\\"]],[30,0,[\\\"newMessage\\\"]]],null],[[[1,\\\" \\\"],[10,2],[12],[1,[30,0,[\\\"newMessageInstruction\\\"]]],[13],[1,\\\"\\\\n\\\\n \\\"],[10,\\\"form\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"split-message-title\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,1],[\\\"topic.move_to_new_message.message_title\\\"],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\\n \\\"],[8,[32,2],null,[[\\\"@value\\\",\\\"@placeholderKey\\\",\\\"@id\\\"],[[30,0,[\\\"topicTitle\\\"]],\\\"composer.title_placeholder\\\",\\\"split-message-title\\\"]],null],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"canTagMessages\\\"]],[[[1,\\\" \\\"],[10,\\\"label\\\"],[12],[1,[28,[32,1],[\\\"tagging.tags\\\"],null]],[13],[1,\\\"\\\\n \\\"],[8,[32,5],null,[[\\\"@tags\\\",\\\"@filterable\\\"],[[30,0,[\\\"tags\\\"]],true]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"@topicChangedCallback\\\",\\\"@selectedTopicId\\\"],false,[\\\"if\\\",\\\"mut\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-to-topic-selector.js\",\n \"scope\": () => [_radioButton.default, _discourseI18n.i18n, _textField.default, _categoryChooser.default, _helper.fn, _tagChooser.default, _chooseTopic.default, _truthHelpers.and],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatToTopicSelector;\n});","define(\"discourse/plugins/chat/discourse/components/chat-upload-drop-zone\", [\"exports\", \"@glimmer/component\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/models/chat-thread\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _discourseI18n, _chatThread, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatUploadDropZone extends _component.default {\n get title() {\n if (this.#isThread()) {\n return (0, _discourseI18n.i18n)(\"chat.upload_to_thread\");\n } else {\n return (0, _discourseI18n.i18n)(\"chat.upload_to_channel\", {\n title: this.args.model.title\n });\n }\n }\n #isThread() {\n return this.args.model instanceof _chatThread.default;\n }\n static #_ = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
\n
\n
\n \n \n \n
\n
\n \n \n \n \n \n \n \n \n
\n
\n \n {{this.title}}\n \n
\n
\n
\n \n */\n {\n \"id\": \"9AdGyOVy\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-upload-drop-zone\\\"],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-upload-drop-zone__content\\\"],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-upload-drop-zone__background\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"94\\\"],[14,\\\"height\\\",\\\"90\\\"],[14,\\\"viewBox\\\",\\\"0 0 94 90\\\"],[14,\\\"fill\\\",\\\"none\\\"],[14,\\\"xmlns\\\",\\\"http://www.w3.org/2000/svg\\\",\\\"http://www.w3.org/2000/xmlns/\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"path\\\"],[14,\\\"d\\\",\\\"M94 40.5591C94 69.8685 64.0686 90 40.9592 90C17.8499 90 0 83.9085 0 60.6907C0 37.4729 28.458 0 51.5674 0C74.6768 0 94 17.3413 94 40.5591Z\\\"],[14,\\\"fill\\\",\\\"#D1F0FF\\\"],[12],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-upload-drop-zone__illustration\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"106\\\"],[14,\\\"height\\\",\\\"84\\\"],[14,\\\"viewBox\\\",\\\"0 0 106 84\\\"],[14,\\\"fill\\\",\\\"none\\\"],[14,\\\"xmlns\\\",\\\"http://www.w3.org/2000/svg\\\",\\\"http://www.w3.org/2000/xmlns/\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"rect\\\"],[14,\\\"x\\\",\\\"55.832\\\"],[14,\\\"y\\\",\\\"6.82959\\\"],[14,\\\"width\\\",\\\"45.7854\\\"],[14,\\\"height\\\",\\\"33.8408\\\"],[14,\\\"transform\\\",\\\"rotate(13.4039 55.832 6.82959)\\\"],[14,\\\"fill\\\",\\\"#D9D9D9\\\"],[12],[13],[1,\\\"\\\\n \\\"],[10,\\\"path\\\"],[14,\\\"d\\\",\\\"M100.66 13.7645L61.1414 4.34705C58.6715 3.75846 56.1786 5.37298 55.59 7.84288L47.6214 41.2815C47.0102 43.8464 48.5297 46.3167 50.9996 46.9053L90.518 56.3227C92.9879 56.9113 95.5532 55.4145 96.1644 52.8496L104.133 19.4109C104.722 16.941 103.225 14.3757 100.66 13.7645ZM58.7093 41.5144C58.5961 41.9894 58.1482 42.1838 57.7682 42.0933L53.2084 41.0067C52.7334 40.8935 52.5163 40.5406 52.6295 40.0656L53.7161 35.5058C53.8067 35.1258 54.1822 34.8137 54.6572 34.9269L59.122 35.9909C59.502 36.0815 59.7915 36.552 59.7009 36.932L58.7093 41.5144ZM61.6069 29.3549C61.4938 29.8299 61.0459 30.0243 60.6659 29.9338L56.1061 28.8472C55.6311 28.734 55.414 28.3811 55.5272 27.9061L56.6138 23.3463C56.7044 22.9663 57.0799 22.6542 57.5549 22.7674L62.0197 23.8314C62.3997 23.922 62.6891 24.3925 62.5986 24.7725L61.5119 29.3323L61.6069 29.3549ZM64.5046 17.1954C64.3914 17.6704 63.9435 17.8648 63.5635 17.7743L59.0037 16.6877C58.5287 16.5745 58.3117 16.2216 58.4249 15.7466L59.5115 11.1868C59.602 10.8068 59.9776 10.4947 60.4526 10.6079L64.9174 11.6719C65.2974 11.7625 65.5868 12.233 65.4962 12.613L64.5046 17.1954ZM81.6894 46.1876C81.4857 47.0426 80.5673 47.5264 79.8073 47.3453L64.6079 43.7232C63.753 43.5195 63.2464 42.6961 63.4502 41.8411L65.6234 32.7215C65.8045 31.9615 66.6506 31.36 67.5056 31.5637L82.705 35.1858C83.4649 35.3669 84.0438 36.308 83.8627 37.068L81.6894 46.1876ZM86.036 27.9483C85.8322 28.8033 84.9138 29.2872 84.1538 29.1061L68.9544 25.484C68.0995 25.2802 67.593 24.4568 67.7967 23.6018L69.97 14.4822C70.1511 13.7222 70.9971 13.1207 71.8521 13.3245L87.0515 16.9466C87.8114 17.1277 88.3903 18.0687 88.2092 18.8287L86.036 27.9483ZM92.1479 49.483C92.0347 49.958 91.5868 50.1524 91.2068 50.0619L86.742 48.9979C86.267 48.8847 86.05 48.5318 86.1631 48.0568L87.2498 43.497C87.3403 43.117 87.8109 42.8276 88.1908 42.9181L92.7507 44.0048C93.1306 44.0953 93.4201 44.5659 93.3295 44.9458L92.2429 49.5057L92.1479 49.483ZM95.0456 37.3235C94.9324 37.7985 94.4845 37.9929 94.1045 37.9024L89.6397 36.8384C89.1647 36.7252 88.9476 36.3723 89.0608 35.8973L90.1474 31.3375C90.238 30.9575 90.6135 30.6455 91.0885 30.7586L95.5533 31.8226C95.9333 31.9132 96.2228 32.3837 96.1322 32.7637L95.0456 37.3235ZM97.9432 25.164C97.8301 25.639 97.3822 25.8334 97.0022 25.7429L92.5374 24.6789C92.0624 24.5657 91.8453 24.2128 91.9585 23.7378L93.0451 19.178C93.1357 18.798 93.5112 18.486 93.8912 18.5765L98.356 19.6405C98.736 19.731 99.0254 20.2016 98.9349 20.5816L97.8483 25.1414L97.9432 25.164Z\\\"],[14,\\\"fill\\\",\\\"#AFAFAF\\\"],[12],[13],[1,\\\"\\\\n \\\"],[10,\\\"path\\\"],[14,\\\"d\\\",\\\"M30.7898 24.814L27.2823 9.2672L4.41944 14.4252C2.81904 14.7863 1.95958 16.3017 2.29486 17.7878L14.2615 70.8296C14.6226 72.43 16.0236 73.3153 17.624 72.9542L56.0337 64.2887C57.5198 63.9534 58.5193 62.5266 58.1582 60.9262L49.699 23.4311L34.1523 26.9385C32.5519 27.2996 31.1508 26.4144 30.7898 24.814ZM48.719 19.0871C48.5643 18.4012 48.0666 17.7927 47.4804 17.3243L33.7501 8.64894C33.0754 8.32063 32.3121 8.13243 31.6263 8.28717L30.9404 8.44191L34.2415 23.0742L48.8738 19.773L48.719 19.0871Z\\\"],[14,\\\"fill\\\",\\\"#0AADFF\\\"],[12],[13],[1,\\\"\\\\n \\\"],[10,\\\"rect\\\"],[14,\\\"x\\\",\\\"41.7334\\\"],[14,\\\"y\\\",\\\"40.3967\\\"],[14,\\\"width\\\",\\\"37.6309\\\"],[14,\\\"height\\\",\\\"28.6511\\\"],[14,\\\"transform\\\",\\\"rotate(6.29289 41.7334 40.3967)\\\"],[14,\\\"fill\\\",\\\"#66CCFF\\\"],[12],[13],[1,\\\"\\\\n \\\"],[10,\\\"path\\\"],[14,\\\"d\\\",\\\"M76.768 40.4721L44.4638 36.9097C42.3671 36.6785 40.548 38.2071 40.3254 40.2261L37.8591 62.5905C37.6279 64.6872 39.0788 66.4977 41.1755 66.729L73.4796 70.2913C75.4987 70.514 77.3869 69.0716 77.6181 66.9749L80.0843 44.6105C80.307 42.5915 78.787 40.6947 76.768 40.4721ZM73.4248 66.5125L42.0524 63.0529C41.7418 63.0187 41.6036 62.8462 41.6379 62.5356L44.0014 41.103C44.0271 40.8701 44.2081 40.6542 44.5187 40.6885L75.891 44.1481C76.124 44.1738 76.3312 44.4324 76.3056 44.6654L73.9421 66.098C73.9078 66.4086 73.6577 66.5382 73.4248 66.5125ZM49.9226 44.4284C48.1365 44.2314 46.6623 45.4836 46.4739 47.192C46.2769 48.978 47.4514 50.4437 49.2375 50.6407C50.9459 50.8291 52.4892 49.6631 52.6862 47.8771C52.8746 46.1687 51.631 44.6168 49.9226 44.4284ZM45.725 59.6852L70.5743 62.4255L71.2594 56.2131L65.1708 48.7036C64.8254 48.2725 64.2818 48.2126 63.8507 48.558L53.5908 56.7799L50.8186 53.4088C50.4732 52.9777 49.9296 52.9178 49.4985 53.2632L46.136 55.9578L45.725 59.6852Z\\\"],[14,\\\"fill\\\",\\\"white\\\"],[12],[13],[1,\\\"\\\\n \\\"],[10,\\\"path\\\"],[14,\\\"d\\\",\\\"M37.8174 63.0181L77.5892 66.862L77.012 72.8342C76.9057 73.9336 75.9283 74.7388 74.8288 74.6325L39.0385 71.1734C37.939 71.0671 37.1339 70.0897 37.2402 68.9902L37.8174 63.0181Z\\\"],[14,\\\"fill\\\",\\\"white\\\"],[12],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-upload-drop-zone__text\\\"],[12],[1,\\\"\\\\n \\\"],[10,1],[14,0,\\\"chat-upload-drop-zone__text__title\\\"],[12],[1,\\\"\\\\n \\\"],[1,[30,0,[\\\"title\\\"]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-upload-drop-zone.js\",\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatUploadDropZone;\n});","define(\"discourse/plugins/chat/discourse/components/chat-upload\", [\"exports\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/modifier\", \"@ember/object\", \"@ember/service\", \"@ember/template\", \"truth-helpers\", \"discourse/lib/uploads\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _tracking, _modifier, _object, _service, _template, _truthHelpers, _uploads, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatUpload extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"capabilities\", [_service.service]))();\n #capabilities = (() => (dt7948.i(this, \"capabilities\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"loaded\", [_tracking.tracked], function () {\n return false;\n }))();\n #loaded = (() => (dt7948.i(this, \"loaded\"), void 0))();\n IMAGE_TYPE = \"image\";\n VIDEO_TYPE = \"video\";\n AUDIO_TYPE = \"audio\";\n ATTACHMENT_TYPE = \"attachment\";\n get type() {\n if ((0, _uploads.isImage)(this.args.upload.original_filename)) {\n return this.IMAGE_TYPE;\n }\n if ((0, _uploads.isVideo)(this.args.upload.original_filename)) {\n return this.VIDEO_TYPE;\n }\n if ((0, _uploads.isAudio)(this.args.upload.original_filename)) {\n return this.AUDIO_TYPE;\n }\n return this.ATTACHMENT_TYPE;\n }\n get size() {\n const width = this.args.upload.width;\n const height = this.args.upload.height;\n const ratio = Math.min(this.siteSettings.max_image_width / width, this.siteSettings.max_image_height / height);\n return {\n width: width * ratio,\n height: height * ratio\n };\n }\n get imageUrl() {\n return this.args.upload.thumbnail?.url ?? this.args.upload.url;\n }\n get imageStyle() {\n if (this.args.upload.dominant_color && !this.loaded) {\n return (0, _template.htmlSafe)(`background-color: #${this.args.upload.dominant_color};`);\n }\n }\n get videoSourceUrl() {\n const baseUrl = this.args.upload.url;\n return this.capabilities.isIOS || this.capabilities.isSafari ? `${baseUrl}#t=0.001` : baseUrl;\n }\n imageLoaded() {\n this.loaded = true;\n }\n static #_4 = (() => dt7948.n(this.prototype, \"imageLoaded\", [_object.action]))();\n static #_5 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if (eq this.type this.IMAGE_TYPE)}}\n \n {{else if (eq this.type this.VIDEO_TYPE)}}\n \n {{else if (eq this.type this.AUDIO_TYPE)}}\n \n {{else}}\n \n {{@upload.original_filename}}\n \n {{/if}}\n \n */\n {\n \"id\": \"hoKvWjyz\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[28,[32,0],[[30,0,[\\\"type\\\"]],[30,0,[\\\"IMAGE_TYPE\\\"]]],null],[[[1,\\\" \\\"],[11,\\\"img\\\"],[24,0,\\\"chat-img-upload\\\"],[16,\\\"data-orig-src\\\",[30,1,[\\\"short_url\\\"]]],[16,\\\"data-large-src\\\",[30,1,[\\\"url\\\"]]],[16,\\\"height\\\",[30,0,[\\\"size\\\",\\\"height\\\"]]],[16,\\\"width\\\",[30,0,[\\\"size\\\",\\\"width\\\"]]],[16,\\\"src\\\",[30,0,[\\\"imageUrl\\\"]]],[16,5,[30,0,[\\\"imageStyle\\\"]]],[24,\\\"loading\\\",\\\"lazy\\\"],[24,\\\"tabindex\\\",\\\"0\\\"],[16,\\\"data-dominant-color\\\",[30,1,[\\\"dominant_color\\\"]]],[4,[32,1],[\\\"load\\\",[30,0,[\\\"imageLoaded\\\"]]],null],[12],[13],[1,\\\"\\\\n\\\"]],[]],[[[41,[28,[32,0],[[30,0,[\\\"type\\\"]],[30,0,[\\\"VIDEO_TYPE\\\"]]],null],[[[1,\\\" \\\"],[10,\\\"video\\\"],[14,0,\\\"chat-video-upload\\\"],[14,\\\"preload\\\",\\\"metadata\\\"],[14,\\\"height\\\",\\\"150\\\"],[14,\\\"controls\\\",\\\"\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"source\\\"],[15,\\\"src\\\",[30,0,[\\\"videoSourceUrl\\\"]]],[12],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[41,[28,[32,0],[[30,0,[\\\"type\\\"]],[30,0,[\\\"AUDIO_TYPE\\\"]]],null],[[[1,\\\" \\\"],[10,\\\"audio\\\"],[14,0,\\\"chat-audio-upload\\\"],[14,\\\"preload\\\",\\\"metadata\\\"],[14,\\\"controls\\\",\\\"\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"source\\\"],[15,\\\"src\\\",[30,1,[\\\"url\\\"]]],[12],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[10,3],[14,0,\\\"chat-other-upload\\\"],[15,\\\"data-orig-href\\\",[30,1,[\\\"short_url\\\"]]],[15,6,[30,1,[\\\"url\\\"]]],[12],[1,\\\"\\\\n \\\"],[1,[30,1,[\\\"original_filename\\\"]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[]]]],[]]]],[]]],[1,\\\" \\\"]],[\\\"@upload\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-upload.js\",\n \"scope\": () => [_truthHelpers.eq, _modifier.on],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatUpload;\n});","define(\"discourse/plugins/chat/discourse/components/chat-user-avatar\", [\"exports\", \"@glimmer/component\", \"@ember/service\", \"@ember/template\", \"discourse/helpers/concat-class\", \"discourse/helpers/user-avatar\", \"discourse/lib/url\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _service, _template, _concatClass, _userAvatar, _url, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatUserAvatar extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n get avatar() {\n return (0, _template.htmlSafe)((0, _userAvatar.renderAvatar)(this.args.user, {\n imageSize: this.avatarSize\n }));\n }\n get interactive() {\n return this.args.interactive ?? true;\n }\n get avatarSize() {\n return this.args.avatarSize || \"tiny\";\n }\n get showPresence() {\n return this.args.showPresence ?? true;\n }\n get isOnline() {\n const users = (this.args.chat || this.chat).presenceChannel?.users;\n return this.showPresence && !!users?.find(_ref => {\n let {\n id,\n username\n } = _ref;\n return this.args.user?.id === id || this.args.user?.username === username;\n });\n }\n get userPath() {\n return (0, _url.userPath)(this.args.user.username);\n }\n static #_2 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n {{#if this.interactive}}\n \n {{this.avatar}}\n \n {{else}}\n \n {{this.avatar}}\n \n {{/if}}\n \n \n */\n {\n \"id\": \"hv+lI3fX\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[15,0,[28,[32,0],[\\\"chat-user-avatar\\\",[52,[30,0,[\\\"isOnline\\\"]],\\\"is-online\\\"]],null]],[15,\\\"data-username\\\",[30,1,[\\\"username\\\"]]],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"interactive\\\"]],[[[1,\\\" \\\"],[10,3],[14,0,\\\"chat-user-avatar__container\\\"],[15,6,[30,0,[\\\"userPath\\\"]]],[15,\\\"data-user-card\\\",[30,1,[\\\"username\\\"]]],[12],[1,\\\"\\\\n \\\"],[1,[30,0,[\\\"avatar\\\"]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[10,1],[14,0,\\\"chat-user-avatar__container\\\"],[12],[1,\\\"\\\\n \\\"],[1,[30,0,[\\\"avatar\\\"]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]]],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"@user\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-user-avatar.js\",\n \"scope\": () => [_concatClass.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatUserAvatar;\n});","define(\"discourse/plugins/chat/discourse/components/chat-user-display-name\", [\"exports\", \"@glimmer/component\", \"@ember/service\", \"discourse/helpers/concat-class\", \"discourse/lib/utilities\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _service, _concatClass, _utilities, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatUserDisplayName extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n get shouldPrioritizeNameInUx() {\n return !this.siteSettings.prioritize_username_in_ux;\n }\n get hasValidName() {\n return this.args.user?.name && this.args.user.name.trim().length > 0;\n }\n get formattedUsername() {\n return (0, _utilities.formatUsername)(this.args.user?.username);\n }\n get shouldShowNameFirst() {\n return this.shouldPrioritizeNameInUx && this.hasValidName;\n }\n get shouldShowNameLast() {\n return !this.shouldPrioritizeNameInUx && this.hasValidName;\n }\n static #_2 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n {{#if this.shouldShowNameFirst}}\n {{@user.name}}\n {{/if}}\n \n \n {{this.formattedUsername}}\n \n \n {{#if this.shouldShowNameLast}}\n {{@user.name}}\n {{/if}}\n \n \n */\n {\n \"id\": \"VcFbgqwq\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,1],[14,0,\\\"chat-user-display-name\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"shouldShowNameFirst\\\"]],[[[1,\\\" \\\"],[10,1],[14,0,\\\"chat-user-display-name__name -first\\\"],[12],[1,[30,1,[\\\"name\\\"]]],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n \\\"],[10,1],[15,0,[28,[32,0],[\\\"chat-user-display-name__username\\\",[52,[51,[30,0,[\\\"shouldShowNameFirst\\\"]]],\\\"-first\\\"]],null]],[12],[1,\\\"\\\\n \\\"],[1,[30,0,[\\\"formattedUsername\\\"]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"shouldShowNameLast\\\"]],[[[1,\\\" \\\"],[10,1],[14,0,\\\"chat-user-display-name__name\\\"],[12],[1,[30,1,[\\\"name\\\"]]],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"@user\\\"],false,[\\\"if\\\",\\\"unless\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-user-display-name.js\",\n \"scope\": () => [_concatClass.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatUserDisplayName;\n});","define(\"discourse/plugins/chat/discourse/components/chat-user-info\", [\"exports\", \"@glimmer/component\", \"ember-modifier\", \"discourse/components/user-status-message\", \"discourse/lib/url\", \"discourse/plugins/chat/discourse/components/chat-user-avatar\", \"discourse/plugins/chat/discourse/components/chat-user-display-name\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _emberModifier, _userStatusMessage, _url, _chatUserAvatar, _chatUserDisplayName, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatUserInfo extends _component.default {\n trackUserStatus = (() => (0, _emberModifier.modifier)((element, _ref) => {\n let [user] = _ref;\n user.statusManager.trackStatus();\n return () => {\n user.statusManager.stopTrackingStatus();\n };\n }))();\n get avatarSize() {\n return this.args.avatarSize ?? \"medium\";\n }\n get userPath() {\n return (0, _url.userPath)(this.args.user.username);\n }\n get interactive() {\n return this.args.interactive ?? false;\n }\n get showStatus() {\n return this.args.showStatus ?? false;\n }\n get showStatusDescription() {\n return this.args.showStatusDescription ?? false;\n }\n static #_ = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if @user}}\n \n \n {{#if this.interactive}}\n \n \n \n {{else}}\n \n {{/if}}\n \n {{#if this.showStatus}}\n
\n \n
\n {{/if}}\n {{/if}}\n \n */\n {\n \"id\": \"xZaYb+tP\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,1],[[[1,\\\" \\\"],[8,[32,0],null,[[\\\"@user\\\",\\\"@avatarSize\\\",\\\"@interactive\\\"],[[30,1],[30,0,[\\\"avatarSize\\\"]],[30,0,[\\\"interactive\\\"]]]],null],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"interactive\\\"]],[[[1,\\\" \\\"],[10,3],[15,6,[30,0,[\\\"userPath\\\"]]],[15,\\\"data-user-card\\\",[30,1,[\\\"username\\\"]]],[12],[1,\\\"\\\\n \\\"],[8,[32,1],null,[[\\\"@user\\\"],[[30,1]]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[8,[32,1],null,[[\\\"@user\\\"],[[30,1]]],null],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"showStatus\\\"]],[[[1,\\\" \\\"],[11,0],[24,0,\\\"user-status\\\"],[4,[30,0,[\\\"trackUserStatus\\\"]],[[30,1]],null],[12],[1,\\\"\\\\n \\\"],[8,[32,2],null,[[\\\"@status\\\",\\\"@showDescription\\\"],[[30,1,[\\\"status\\\"]],[30,0,[\\\"showStatusDescription\\\"]]]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null]],[]],null],[1,\\\" \\\"]],[\\\"@user\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat-user-info.js\",\n \"scope\": () => [_chatUserAvatar.default, _chatUserDisplayName.default, _userStatusMessage.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatUserInfo;\n});","define(\"discourse/plugins/chat/discourse/components/chat/composer/button\", [\"exports\", \"discourse/helpers/d-icon\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _dIcon, _component, _templateFactory, _templateOnly) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const ChatComposerButton = (0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
\n \n
\n \n */\n {\n \"id\": \"FFGdtaBb\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-composer-button__wrapper\\\"],[12],[1,\\\"\\\\n \\\"],[11,\\\"button\\\"],[24,4,\\\"button\\\"],[24,0,\\\"chat-composer-button\\\"],[17,1],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,0],[[30,2]],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[\\\"&attrs\\\",\\\"@icon\\\"],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/composer/button.js\",\n \"scope\": () => [_dIcon.default],\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, \"button:ChatComposerButton\"));\n var _default = _exports.default = ChatComposerButton;\n});","define(\"discourse/plugins/chat/discourse/components/chat/composer/channel\", [\"exports\", \"@ember/object\", \"@ember/service\", \"discourse/lib/decorators\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/chat-composer\"], function (_exports, _object, _service, _decorators, _discourseI18n, _chatComposer) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatComposerChannel extends _chatComposer.default {\n static #_ = (() => dt7948.g(this.prototype, \"composer\", [(0, _service.service)(\"chat-channel-composer\")]))();\n #composer = (() => (dt7948.i(this, \"composer\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"pane\", [(0, _service.service)(\"chat-channel-pane\")]))();\n #pane = (() => (dt7948.i(this, \"pane\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"chatDraftsManager\", [_service.service]))();\n #chatDraftsManager = (() => (dt7948.i(this, \"chatDraftsManager\"), void 0))();\n context = \"channel\";\n composerId = \"channel-composer\";\n persistDraft() {\n this.chatDraftsManager.add(this.draft, this.args.channel.id);\n }\n static #_5 = (() => dt7948.n(this.prototype, \"persistDraft\", [(0, _decorators.debounce)(2000)]))();\n destroyDraft() {\n this.chatDraftsManager.remove(this.args.channel.id);\n }\n static #_6 = (() => dt7948.n(this.prototype, \"destroyDraft\", [_object.action]))();\n resetDraft() {\n this.args.channel.resetDraft(this.currentUser);\n }\n static #_7 = (() => dt7948.n(this.prototype, \"resetDraft\", [_object.action]))();\n get draft() {\n return this.args.channel.draft;\n }\n get presenceChannelName() {\n const channel = this.args.channel;\n return `/chat-reply/${channel.id}`;\n }\n get disabled() {\n return !this.chat.userCanInteractWithChat || !this.args.channel.canModifyMessages(this.currentUser);\n }\n get lastMessage() {\n return this.args.channel.messagesManager.findLastMessage();\n }\n lastUserMessage(user) {\n return this.args.channel.messagesManager.findLastUserMessage(user);\n }\n get placeholder() {\n if (!this.args.channel.canModifyMessages(this.currentUser)) {\n return (0, _discourseI18n.i18n)(`chat.placeholder_new_message_disallowed.${this.args.channel.status}`);\n }\n if (!this.chat.userCanInteractWithChat) {\n return (0, _discourseI18n.i18n)(\"chat.placeholder_silenced\");\n } else {\n return this.#messageRecipients(this.args.channel);\n }\n }\n handleEscape(event) {\n event.stopPropagation();\n if (this.draft?.inReplyTo) {\n this.draft.inReplyTo = null;\n } else if (this.draft?.editing) {\n this.args.channel.resetDraft(this.currentUser);\n } else {\n event.target.blur();\n }\n }\n #messageRecipients(channel) {\n if (channel.isDirectMessageChannel) {\n if (channel.chatable.group) {\n return (0, _discourseI18n.i18n)(\"chat.placeholder_group\");\n } else {\n const directMessageRecipients = channel.chatable.users;\n if (directMessageRecipients.length === 1 && directMessageRecipients[0].id === this.currentUser.id) {\n return (0, _discourseI18n.i18n)(\"chat.placeholder_self\");\n }\n return (0, _discourseI18n.i18n)(\"chat.placeholder_users\", {\n commaSeparatedNames: directMessageRecipients.map(u => u.name || `@${u.username}`).join((0, _discourseI18n.i18n)(\"word_connector.comma\"))\n });\n }\n } else {\n return (0, _discourseI18n.i18n)(\"chat.placeholder_channel\", {\n channelName: `#${channel.title}`\n });\n }\n }\n }\n _exports.default = ChatComposerChannel;\n});","define(\"discourse/plugins/chat/discourse/components/chat/composer/separator\", [\"exports\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _component, _templateFactory, _templateOnly) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const ChatComposerSeparator = (0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
\n \n */\n {\n \"id\": \"DwI6b+Xh\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-composer-separator\\\"],[12],[13],[1,\\\"\\\\n\\\"]],[],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/composer/separator.js\",\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, \"separator:ChatComposerSeparator\"));\n var _default = _exports.default = ChatComposerSeparator;\n});","define(\"discourse/plugins/chat/discourse/components/chat/composer/thread\", [\"exports\", \"@ember/object\", \"@ember/service\", \"discourse/lib/decorators\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/models/chat-message\", \"discourse/plugins/chat/discourse/components/chat-composer\"], function (_exports, _object, _service, _decorators, _discourseI18n, _chatMessage, _chatComposer) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatComposerThread extends _chatComposer.default {\n static #_ = (() => dt7948.g(this.prototype, \"channelComposer\", [(0, _service.service)(\"chat-channel-composer\")]))();\n #channelComposer = (() => (dt7948.i(this, \"channelComposer\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"composer\", [(0, _service.service)(\"chat-thread-composer\")]))();\n #composer = (() => (dt7948.i(this, \"composer\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"pane\", [(0, _service.service)(\"chat-thread-pane\")]))();\n #pane = (() => (dt7948.i(this, \"pane\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"chatDraftsManager\", [_service.service]))();\n #chatDraftsManager = (() => (dt7948.i(this, \"chatDraftsManager\"), void 0))();\n context = \"thread\";\n composerId = \"thread-composer\";\n persistDraft() {\n this.chatDraftsManager.add(this.draft, this.args.thread.channel.id, this.args.thread.id);\n }\n static #_6 = (() => dt7948.n(this.prototype, \"persistDraft\", [(0, _decorators.debounce)(2000)]))();\n destroyDraft() {\n this.chatDraftsManager.remove(this.args.thread.channel.id, this.args.thread.id);\n }\n static #_7 = (() => dt7948.n(this.prototype, \"destroyDraft\", [_object.action]))();\n resetDraft() {\n this.args.thread.resetDraft(this.currentUser);\n }\n static #_8 = (() => dt7948.n(this.prototype, \"resetDraft\", [_object.action]))();\n get draft() {\n return this.args.thread.draft;\n }\n get disabled() {\n return !this.chat.userCanInteractWithChat || !this.args.thread.channel.canModifyMessages(this.currentUser);\n }\n get presenceChannelName() {\n const thread = this.args.thread;\n return `/chat-reply/${thread.channel.id}/thread/${thread.id}`;\n }\n get placeholder() {\n return (0, _discourseI18n.i18n)(\"chat.placeholder_thread\");\n }\n get lastMessage() {\n return this.args.thread.messagesManager.findLastMessage();\n }\n lastUserMessage(user) {\n return this.args.thread.messagesManager.findLastUserMessage(user);\n }\n handleEscape(event) {\n if (this.draft.editing) {\n event.stopPropagation();\n this.args.thread.draft = _chatMessage.default.createDraftMessage(this.args.thread.channel, {\n user: this.currentUser,\n thread: this.args.thread\n });\n return;\n }\n this.pane.close().then(() => {\n this.channelComposer.focus();\n });\n }\n }\n _exports.default = ChatComposerThread;\n});","define(\"discourse/plugins/chat/discourse/components/chat/direct-message-button\", [\"exports\", \"@glimmer/component\", \"@ember/object\", \"@ember/service\", \"discourse/components/d-button\", \"discourse/lib/ajax-error\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _object, _service, _dButton, _ajaxError, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatDirectMessageButton extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"appEvents\", [_service.service]))();\n #appEvents = (() => (dt7948.i(this, \"appEvents\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n get shouldRender() {\n return this.chat.userCanDirectMessage && this.args.user.can_send_private_message_to_user;\n }\n async startChatting() {\n try {\n const channel = await this.chat.upsertDmChannel({\n usernames: [this.args.user.username]\n });\n if (channel) {\n this.router.transitionTo(\"chat.channel\", ...channel.routeModels);\n }\n } catch (error) {\n (0, _ajaxError.popupAjaxError)(error);\n } finally {\n if (this.args.modal) {\n this.appEvents.trigger(\"card:close\");\n }\n }\n }\n static #_4 = (() => dt7948.n(this.prototype, \"startChatting\", [_object.action]))();\n static #_5 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if this.shouldRender}}\n \n {{/if}}\n \n */\n {\n \"id\": \"2UMmI4GN\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"shouldRender\\\"]],[[[1,\\\" \\\"],[8,[32,0],[[24,0,\\\"btn-primary chat-direct-message-btn\\\"]],[[\\\"@action\\\",\\\"@label\\\",\\\"@icon\\\"],[[30,0,[\\\"startChatting\\\"]],\\\"chat.title_capitalized\\\",\\\"d-chat\\\"]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/direct-message-button.js\",\n \"scope\": () => [_dButton.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatDirectMessageButton;\n});","define(\"discourse/plugins/chat/discourse/components/chat/drawer-routes/browse\", [\"exports\", \"@glimmer/component\", \"@ember/helper\", \"@ember/service\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/browse-channels\", \"discourse/plugins/chat/discourse/components/chat/navbar\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _helper, _service, _discourseI18n, _browseChannels, _navbar, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatDrawerRoutesBrowse extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"chatStateManager\", [_service.service]))();\n #chatStateManager = (() => (dt7948.i(this, \"chatStateManager\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"chatHistory\", [_service.service]))();\n #chatHistory = (() => (dt7948.i(this, \"chatHistory\"), void 0))();\n static #_4 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
\n \n \n \n \n \n \n \n \n \n \n \n {{#if this.chatStateManager.isDrawerExpanded}}\n
\n {{#each (array @params.currentTab) as |tab|}}\n \n {{/each}}\n
\n {{/if}}\n
\n \n */\n {\n \"id\": \"2hkS5RpX\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"c-drawer-routes --browse\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,0],null,[[\\\"@onClick\\\"],[[30,0,[\\\"chat\\\",\\\"toggleDrawer\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[30,1,[\\\"BackButton\\\"]],null,[[\\\"@route\\\"],[\\\"chat.channels\\\"]],null],[1,\\\"\\\\n \\\"],[8,[30,1,[\\\"Title\\\"]],null,[[\\\"@title\\\"],[[28,[32,1],[\\\"chat.browse.title\\\"],null]]],null],[1,\\\"\\\\n \\\"],[8,[30,1,[\\\"Actions\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[30,2,[\\\"NewChannelButton\\\"]],null,null,null],[1,\\\"\\\\n \\\"],[8,[30,2,[\\\"ToggleDrawerButton\\\"]],null,null,null],[1,\\\"\\\\n \\\"],[8,[30,2,[\\\"FullPageButton\\\"]],null,null,null],[1,\\\"\\\\n \\\"],[8,[30,2,[\\\"CloseDrawerButton\\\"]],null,null,null],[1,\\\"\\\\n \\\"]],[2]]]]],[1,\\\"\\\\n \\\"]],[1]]]]],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"chatStateManager\\\",\\\"isDrawerExpanded\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-drawer-content\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[31,2],[[28,[31,2],[[28,[32,2],[[30,3,[\\\"currentTab\\\"]]],null]],null]],null],null,[[[1,\\\" \\\"],[8,[32,3],null,[[\\\"@currentTab\\\"],[[30,4]]],null],[1,\\\"\\\\n\\\"]],[4]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"navbar\\\",\\\"a\\\",\\\"@params\\\",\\\"tab\\\"],false,[\\\"if\\\",\\\"each\\\",\\\"-track-array\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/drawer-routes/browse.js\",\n \"scope\": () => [_navbar.default, _discourseI18n.i18n, _helper.array, _browseChannels.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatDrawerRoutesBrowse;\n});","define(\"discourse/plugins/chat/discourse/components/chat/drawer-routes/channel-info-members\", [\"exports\", \"@glimmer/component\", \"@ember/service\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/chat/navbar\", \"discourse/plugins/chat/discourse/components/chat/routes/channel-info-members\", \"discourse/plugins/chat/discourse/components/chat/routes/channel-info-nav\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _service, _discourseI18n, _navbar, _channelInfoMembers, _channelInfoNav, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatDrawerRoutesMembers extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"chatStateManager\", [_service.service]))();\n #chatStateManager = (() => (dt7948.i(this, \"chatStateManager\"), void 0))();\n get backButton() {\n return {\n route: \"chat.channel\",\n models: this.args.model?.channel?.routeModels,\n title: (0, _discourseI18n.i18n)(\"chat.return_to_channel\")\n };\n }\n static #_3 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
\n {{#if @model.channel}}\n \n \n \n \n \n \n \n \n \n \n {{#if this.chatStateManager.isDrawerExpanded}}\n
\n \n \n
\n {{/if}}\n {{/if}}\n
\n \n */\n {\n \"id\": \"P84C1yPE\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"c-drawer-routes --channel-info-members\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"channel\\\"]],[[[1,\\\" \\\"],[8,[32,0],null,[[\\\"@onClick\\\"],[[30,0,[\\\"chat\\\",\\\"toggleDrawer\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[30,2,[\\\"BackButton\\\"]],null,[[\\\"@title\\\",\\\"@route\\\",\\\"@routeModels\\\"],[[30,0,[\\\"backButton\\\",\\\"title\\\"]],[30,0,[\\\"backButton\\\",\\\"route\\\"]],[30,0,[\\\"backButton\\\",\\\"models\\\"]]]],null],[1,\\\"\\\\n \\\"],[8,[30,2,[\\\"ChannelTitle\\\"]],null,[[\\\"@channel\\\"],[[30,1,[\\\"channel\\\"]]]],null],[1,\\\"\\\\n \\\"],[8,[30,2,[\\\"Actions\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[30,3,[\\\"ToggleDrawerButton\\\"]],null,null,null],[1,\\\"\\\\n \\\"],[8,[30,3,[\\\"FullPageButton\\\"]],null,null,null],[1,\\\"\\\\n \\\"],[8,[30,3,[\\\"CloseDrawerButton\\\"]],null,null,null],[1,\\\"\\\\n \\\"]],[3]]]]],[1,\\\"\\\\n \\\"]],[2]]]]],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"chatStateManager\\\",\\\"isDrawerExpanded\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-drawer-content\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,1],null,[[\\\"@channel\\\",\\\"@tab\\\"],[[30,1,[\\\"channel\\\"]],\\\"members\\\"]],null],[1,\\\"\\\\n \\\"],[8,[32,2],null,[[\\\"@channel\\\"],[[30,1,[\\\"channel\\\"]]]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"@model\\\",\\\"navbar\\\",\\\"a\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/drawer-routes/channel-info-members.js\",\n \"scope\": () => [_navbar.default, _channelInfoNav.default, _channelInfoMembers.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatDrawerRoutesMembers;\n});","define(\"discourse/plugins/chat/discourse/components/chat/drawer-routes/channel-info-settings\", [\"exports\", \"@glimmer/component\", \"@ember/service\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/chat/navbar\", \"discourse/plugins/chat/discourse/components/chat/routes/channel-info-nav\", \"discourse/plugins/chat/discourse/components/chat/routes/channel-info-settings\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _service, _discourseI18n, _navbar, _channelInfoNav, _channelInfoSettings, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatDrawerRoutesSettings extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"chatStateManager\", [_service.service]))();\n #chatStateManager = (() => (dt7948.i(this, \"chatStateManager\"), void 0))();\n get backButton() {\n return {\n route: \"chat.channel\",\n models: this.args.model?.channel?.routeModels,\n title: (0, _discourseI18n.i18n)(\"chat.return_to_channel\")\n };\n }\n static #_3 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
\n {{#if @model.channel}}\n \n \n \n \n \n \n \n \n \n \n {{#if this.chatStateManager.isDrawerExpanded}}\n
\n \n \n
\n {{/if}}\n {{/if}}\n
\n \n */\n {\n \"id\": \"i44be526\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"c-drawer-routes --channel-info-settings\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"channel\\\"]],[[[1,\\\" \\\"],[8,[32,0],null,[[\\\"@onClick\\\"],[[30,0,[\\\"chat\\\",\\\"toggleDrawer\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[30,2,[\\\"BackButton\\\"]],null,[[\\\"@title\\\",\\\"@route\\\",\\\"@routeModels\\\"],[[30,0,[\\\"backButton\\\",\\\"title\\\"]],[30,0,[\\\"backButton\\\",\\\"route\\\"]],[30,0,[\\\"backButton\\\",\\\"models\\\"]]]],null],[1,\\\"\\\\n \\\"],[8,[30,2,[\\\"ChannelTitle\\\"]],null,[[\\\"@channel\\\"],[[30,1,[\\\"channel\\\"]]]],null],[1,\\\"\\\\n \\\"],[8,[30,2,[\\\"Actions\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[30,3,[\\\"ToggleDrawerButton\\\"]],null,null,null],[1,\\\"\\\\n \\\"],[8,[30,3,[\\\"FullPageButton\\\"]],null,null,null],[1,\\\"\\\\n \\\"],[8,[30,3,[\\\"CloseDrawerButton\\\"]],null,null,null],[1,\\\"\\\\n \\\"]],[3]]]]],[1,\\\"\\\\n \\\"]],[2]]]]],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"chatStateManager\\\",\\\"isDrawerExpanded\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-drawer-content\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,1],null,[[\\\"@channel\\\",\\\"@tab\\\"],[[30,1,[\\\"channel\\\"]],\\\"settings\\\"]],null],[1,\\\"\\\\n \\\"],[8,[32,2],null,[[\\\"@channel\\\"],[[30,1,[\\\"channel\\\"]]]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"@model\\\",\\\"navbar\\\",\\\"a\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/drawer-routes/channel-info-settings.js\",\n \"scope\": () => [_navbar.default, _channelInfoNav.default, _channelInfoSettings.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatDrawerRoutesSettings;\n});","define(\"discourse/plugins/chat/discourse/components/chat/drawer-routes/channel-thread\", [\"exports\", \"@glimmer/component\", \"@ember/helper\", \"@ember/service\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/chat/navbar\", \"discourse/plugins/chat/discourse/components/chat-thread\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _helper, _service, _discourseI18n, _navbar, _chatThread, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatDrawerRoutesChannelThread extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"chatStateManager\", [_service.service]))();\n #chatStateManager = (() => (dt7948.i(this, \"chatStateManager\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"chatHistory\", [_service.service]))();\n #chatHistory = (() => (dt7948.i(this, \"chatHistory\"), void 0))();\n get backButton() {\n const link = {\n models: this.args.model?.channel?.routeModels\n };\n if (this.chatHistory.previousRoute?.name === \"chat.channel.threads\") {\n link.title = (0, _discourseI18n.i18n)(\"chat.return_to_threads_list\");\n link.route = \"chat.channel.threads\";\n } else if (this.chatHistory.previousRoute?.name === \"chat.threads\") {\n link.title = (0, _discourseI18n.i18n)(\"chat.my_threads.title\");\n link.route = \"chat.threads\";\n link.models = [];\n } else {\n link.title = (0, _discourseI18n.i18n)(\"chat.return_to_channel\");\n link.route = \"chat.channel\";\n }\n return link;\n }\n get threadTitle() {\n return this.args.model?.channel?.activeThread?.title ?? (0, _discourseI18n.i18n)(\"chat.thread.label\");\n }\n static #_4 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
\n {{#if @model.channel}}\n \n \n \n \n \n \n \n \n \n \n {{#if this.chatStateManager.isDrawerExpanded}}\n
\n {{#each (array @model.thread) as |thread|}}\n \n {{/each}}\n
\n {{/if}}\n {{/if}}\n
\n \n */\n {\n \"id\": \"ltAokwml\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"c-drawer-routes --channel-thread\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"channel\\\"]],[[[1,\\\" \\\"],[8,[32,0],null,[[\\\"@onClick\\\",\\\"@showFullTitle\\\"],[[30,0,[\\\"chat\\\",\\\"toggleDrawer\\\"]],[30,0,[\\\"showfullTitle\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[30,2,[\\\"BackButton\\\"]],null,[[\\\"@title\\\",\\\"@route\\\",\\\"@routeModels\\\"],[[30,0,[\\\"backButton\\\",\\\"title\\\"]],[30,0,[\\\"backButton\\\",\\\"route\\\"]],[30,0,[\\\"backButton\\\",\\\"models\\\"]]]],null],[1,\\\"\\\\n \\\"],[8,[30,2,[\\\"Title\\\"]],null,[[\\\"@title\\\",\\\"@icon\\\"],[[30,0,[\\\"threadTitle\\\"]],\\\"discourse-threads\\\"]],null],[1,\\\"\\\\n \\\"],[8,[30,2,[\\\"Actions\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[30,3,[\\\"ToggleDrawerButton\\\"]],null,null,null],[1,\\\"\\\\n \\\"],[8,[30,3,[\\\"FullPageButton\\\"]],null,null,null],[1,\\\"\\\\n \\\"],[8,[30,3,[\\\"CloseDrawerButton\\\"]],null,null,null],[1,\\\"\\\\n \\\"]],[3]]]]],[1,\\\"\\\\n \\\"]],[2]]]]],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"chatStateManager\\\",\\\"isDrawerExpanded\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-drawer-content\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[31,2],[[28,[31,2],[[28,[32,1],[[30,1,[\\\"thread\\\"]]],null]],null]],null],null,[[[1,\\\" \\\"],[8,[32,2],null,[[\\\"@thread\\\",\\\"@targetMessageId\\\"],[[30,4],[30,5,[\\\"messageId\\\"]]]],null],[1,\\\"\\\\n\\\"]],[4]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"@model\\\",\\\"navbar\\\",\\\"a\\\",\\\"thread\\\",\\\"@params\\\"],false,[\\\"if\\\",\\\"each\\\",\\\"-track-array\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/drawer-routes/channel-thread.js\",\n \"scope\": () => [_navbar.default, _helper.array, _chatThread.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatDrawerRoutesChannelThread;\n});","define(\"discourse/plugins/chat/discourse/components/chat/drawer-routes/channel-threads\", [\"exports\", \"@glimmer/component\", \"@ember/service\", \"@ember/template\", \"discourse/helpers/replace-emoji\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/chat/navbar\", \"discourse/plugins/chat/discourse/components/chat-thread-list\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _service, _template, _replaceEmoji, _discourseI18n, _navbar, _chatThreadList, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatDrawerRoutesChannelThreads extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"chatStateManager\", [_service.service]))();\n #chatStateManager = (() => (dt7948.i(this, \"chatStateManager\"), void 0))();\n backLinkTitle = (() => (0, _discourseI18n.i18n)(\"chat.return_to_list\"))();\n get title() {\n return (0, _template.htmlSafe)((0, _discourseI18n.i18n)(\"chat.threads.list\") + \" - \" + (0, _replaceEmoji.default)(this.args.model.channel.title));\n }\n static #_3 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
\n {{#if @model}}\n \n \n \n \n \n \n \n \n \n \n {{#if this.chatStateManager.isDrawerExpanded}}\n
\n \n
\n {{/if}}\n {{/if}}\n
\n \n */\n {\n \"id\": \"nBBQjmH0\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"c-drawer-routes --channel-threads\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,1],[[[1,\\\" \\\"],[8,[32,0],null,[[\\\"@onClick\\\"],[[30,0,[\\\"chat\\\",\\\"toggleDrawer\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[30,2,[\\\"BackButton\\\"]],null,[[\\\"@title\\\",\\\"@route\\\",\\\"@routeModels\\\"],[[30,0,[\\\"backLinkTitle\\\"]],\\\"chat.channel\\\",[30,1,[\\\"channel\\\",\\\"routeModels\\\"]]]],null],[1,\\\"\\\\n \\\"],[8,[30,2,[\\\"Title\\\"]],null,[[\\\"@title\\\",\\\"@icon\\\"],[[30,0,[\\\"title\\\"]],\\\"discourse-threads\\\"]],null],[1,\\\"\\\\n \\\"],[8,[30,2,[\\\"Actions\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[30,3,[\\\"ToggleDrawerButton\\\"]],null,null,null],[1,\\\"\\\\n \\\"],[8,[30,3,[\\\"FullPageButton\\\"]],null,null,null],[1,\\\"\\\\n \\\"],[8,[30,3,[\\\"CloseDrawerButton\\\"]],null,null,null],[1,\\\"\\\\n \\\"]],[3]]]]],[1,\\\"\\\\n \\\"]],[2]]]]],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"chatStateManager\\\",\\\"isDrawerExpanded\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-drawer-content\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,1],null,[[\\\"@channel\\\",\\\"@includeHeader\\\"],[[30,1,[\\\"channel\\\"]],false]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"@model\\\",\\\"navbar\\\",\\\"a\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/drawer-routes/channel-threads.js\",\n \"scope\": () => [_navbar.default, _chatThreadList.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatDrawerRoutesChannelThreads;\n});","define(\"discourse/plugins/chat/discourse/components/chat/drawer-routes/channel\", [\"exports\", \"@glimmer/component\", \"@ember/helper\", \"@ember/service\", \"discourse/plugins/chat/discourse/components/chat/navbar\", \"discourse/plugins/chat/discourse/components/chat-channel\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _helper, _service, _navbar, _chatChannel, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatDrawerRoutesChannel extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"chatStateManager\", [_service.service]))();\n #chatStateManager = (() => (dt7948.i(this, \"chatStateManager\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"chatChannelsManager\", [_service.service]))();\n #chatChannelsManager = (() => (dt7948.i(this, \"chatChannelsManager\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"chatHistory\", [_service.service]))();\n #chatHistory = (() => (dt7948.i(this, \"chatHistory\"), void 0))();\n get backBtnRoute() {\n if (this.chatHistory.previousRoute?.name === \"chat.browse\") {\n return \"chat.browse\";\n } else if (this.args.model?.channel?.isDirectMessageChannel) {\n return \"chat.direct-messages\";\n } else {\n return \"chat.channels\";\n }\n }\n static #_5 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
\n {{#if @model.channel}}\n \n \n \n \n \n \n \n \n \n \n \n {{#if this.chatStateManager.isDrawerExpanded}}\n
\n {{#each (array @model.channel) as |channel|}}\n \n {{/each}}\n
\n {{/if}}\n {{/if}}\n
\n \n */\n {\n \"id\": \"s2V3tar8\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"c-drawer-routes --channel\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"channel\\\"]],[[[1,\\\" \\\"],[8,[32,0],null,[[\\\"@onClick\\\"],[[30,0,[\\\"chat\\\",\\\"toggleDrawer\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[30,2,[\\\"BackButton\\\"]],null,[[\\\"@route\\\"],[[30,0,[\\\"backBtnRoute\\\"]]]],null],[1,\\\"\\\\n \\\"],[8,[30,2,[\\\"ChannelTitle\\\"]],null,[[\\\"@channel\\\"],[[30,1,[\\\"channel\\\"]]]],null],[1,\\\"\\\\n \\\"],[8,[30,2,[\\\"Actions\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[30,3,[\\\"ThreadsListButton\\\"]],null,[[\\\"@channel\\\"],[[30,1,[\\\"channel\\\"]]]],null],[1,\\\"\\\\n \\\"],[8,[30,3,[\\\"ToggleDrawerButton\\\"]],null,null,null],[1,\\\"\\\\n \\\"],[8,[30,3,[\\\"FullPageButton\\\"]],null,null,null],[1,\\\"\\\\n \\\"],[8,[30,3,[\\\"CloseDrawerButton\\\"]],null,null,null],[1,\\\"\\\\n \\\"]],[3]]]]],[1,\\\"\\\\n \\\"]],[2]]]]],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"chatStateManager\\\",\\\"isDrawerExpanded\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-drawer-content\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[31,2],[[28,[31,2],[[28,[32,1],[[30,1,[\\\"channel\\\"]]],null]],null]],null],null,[[[1,\\\" \\\"],[8,[32,2],null,[[\\\"@targetMessageId\\\",\\\"@channel\\\"],[[28,[31,3],[[30,5,[\\\"messageId\\\"]]],null],[30,4]]],null],[1,\\\"\\\\n\\\"]],[4]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"@model\\\",\\\"navbar\\\",\\\"a\\\",\\\"channel\\\",\\\"@params\\\"],false,[\\\"if\\\",\\\"each\\\",\\\"-track-array\\\",\\\"readonly\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/drawer-routes/channel.js\",\n \"scope\": () => [_navbar.default, _helper.array, _chatChannel.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatDrawerRoutesChannel;\n});","define(\"discourse/plugins/chat/discourse/components/chat/drawer-routes/channels\", [\"exports\", \"@glimmer/component\", \"@ember/service\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/channels-list-public\", \"discourse/plugins/chat/discourse/components/chat/navbar\", \"discourse/plugins/chat/discourse/components/chat-footer\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _service, _discourseI18n, _channelsListPublic, _navbar, _chatFooter, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatDrawerRoutesChannels extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"chatStateManager\", [_service.service]))();\n #chatStateManager = (() => (dt7948.i(this, \"chatStateManager\"), void 0))();\n static #_3 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
\n \n \n \n \n \n \n \n \n \n {{#if this.chatStateManager.isDrawerExpanded}}\n
\n \n
\n \n \n {{/if}}\n
\n \n */\n {\n \"id\": \"Kn+Ad7bn\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"c-drawer-routes --channels\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,0],null,[[\\\"@onClick\\\"],[[30,0,[\\\"chat\\\",\\\"toggleDrawer\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[30,1,[\\\"Title\\\"]],null,[[\\\"@title\\\"],[[28,[32,1],[\\\"chat.heading\\\"],null]]],null],[1,\\\"\\\\n \\\"],[8,[30,1,[\\\"Actions\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[30,2,[\\\"ToggleDrawerButton\\\"]],null,null,null],[1,\\\"\\\\n \\\"],[8,[30,2,[\\\"FullPageButton\\\"]],null,null,null],[1,\\\"\\\\n \\\"],[8,[30,2,[\\\"CloseDrawerButton\\\"]],null,null,null],[1,\\\"\\\\n \\\"]],[2]]]]],[1,\\\"\\\\n \\\"]],[1]]]]],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"chatStateManager\\\",\\\"isDrawerExpanded\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-drawer-content\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,2],null,null,null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\\n \\\"],[8,[32,3],null,null,null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"navbar\\\",\\\"a\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/drawer-routes/channels.js\",\n \"scope\": () => [_navbar.default, _discourseI18n.i18n, _channelsListPublic.default, _chatFooter.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatDrawerRoutesChannels;\n});","define(\"discourse/plugins/chat/discourse/components/chat/drawer-routes/direct-messages\", [\"exports\", \"@glimmer/component\", \"@ember/service\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/channels-list-direct\", \"discourse/plugins/chat/discourse/components/chat/navbar\", \"discourse/plugins/chat/discourse/components/chat-footer\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _service, _discourseI18n, _channelsListDirect, _navbar, _chatFooter, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatDrawerRoutesDirectMessages extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"chatStateManager\", [_service.service]))();\n #chatStateManager = (() => (dt7948.i(this, \"chatStateManager\"), void 0))();\n static #_3 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
\n \n \n \n \n \n \n \n \n \n {{#if this.chatStateManager.isDrawerExpanded}}\n
\n \n
\n \n \n {{/if}}\n
\n \n */\n {\n \"id\": \"pJgLbnTU\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"c-drawer-routes --direct-messages\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,0],null,[[\\\"@onClick\\\"],[[30,0,[\\\"chat\\\",\\\"toggleDrawer\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[30,1,[\\\"Title\\\"]],null,[[\\\"@title\\\"],[[28,[32,1],[\\\"chat.heading\\\"],null]]],null],[1,\\\"\\\\n \\\"],[8,[30,1,[\\\"Actions\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[30,2,[\\\"ToggleDrawerButton\\\"]],null,null,null],[1,\\\"\\\\n \\\"],[8,[30,2,[\\\"FullPageButton\\\"]],null,null,null],[1,\\\"\\\\n \\\"],[8,[30,2,[\\\"CloseDrawerButton\\\"]],null,null,null],[1,\\\"\\\\n \\\"]],[2]]]]],[1,\\\"\\\\n \\\"]],[1]]]]],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"chatStateManager\\\",\\\"isDrawerExpanded\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-drawer-content\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,2],null,null,null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\\n \\\"],[8,[32,3],null,null,null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"navbar\\\",\\\"a\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/drawer-routes/direct-messages.js\",\n \"scope\": () => [_navbar.default, _discourseI18n.i18n, _channelsListDirect.default, _chatFooter.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatDrawerRoutesDirectMessages;\n});","define(\"discourse/plugins/chat/discourse/components/chat/drawer-routes/threads\", [\"exports\", \"@glimmer/component\", \"@ember/service\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/chat/navbar\", \"discourse/plugins/chat/discourse/components/chat-footer\", \"discourse/plugins/chat/discourse/components/user-threads\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _service, _discourseI18n, _navbar, _chatFooter, _userThreads, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatDrawerRoutesThreads extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"chatStateManager\", [_service.service]))();\n #chatStateManager = (() => (dt7948.i(this, \"chatStateManager\"), void 0))();\n static #_3 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
\n \n \n \n \n \n \n \n \n \n \n {{#if this.chatStateManager.isDrawerExpanded}}\n
\n \n
\n {{/if}}\n \n \n
\n \n */\n {\n \"id\": \"k2Dw/KDw\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"c-drawer-routes --threads\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,0],null,[[\\\"@onClick\\\"],[[30,0,[\\\"chat\\\",\\\"toggleDrawer\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[30,1,[\\\"Title\\\"]],null,[[\\\"@title\\\"],[[28,[32,1],[\\\"chat.heading\\\"],null]]],null],[1,\\\"\\\\n \\\"],[8,[30,1,[\\\"Actions\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[30,2,[\\\"ThreadsListButton\\\"]],null,null,null],[1,\\\"\\\\n \\\"],[8,[30,2,[\\\"ToggleDrawerButton\\\"]],null,null,null],[1,\\\"\\\\n \\\"],[8,[30,2,[\\\"FullPageButton\\\"]],null,null,null],[1,\\\"\\\\n \\\"],[8,[30,2,[\\\"CloseDrawerButton\\\"]],null,null,null],[1,\\\"\\\\n \\\"]],[2]]]]],[1,\\\"\\\\n \\\"]],[1]]]]],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"chatStateManager\\\",\\\"isDrawerExpanded\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-drawer-content\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,2],null,null,null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n \\\"],[8,[32,3],null,null,null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"navbar\\\",\\\"action\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/drawer-routes/threads.js\",\n \"scope\": () => [_navbar.default, _discourseI18n.i18n, _userThreads.default, _chatFooter.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatDrawerRoutesThreads;\n});","define(\"discourse/plugins/chat/discourse/components/chat/footer/unread-indicator\", [\"exports\", \"@glimmer/component\", \"@ember/service\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _component, _service, _component2, _templateFactory, _templateOnly) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = _exports.UnreadThreadsIndicator = _exports.UnreadDirectMessagesIndicator = _exports.UnreadChannelsIndicator = void 0;\n const CHANNELS_TAB = \"channels\";\n const DMS_TAB = \"dms\";\n const THREADS_TAB = \"threads\";\n const MAX_UNREAD_COUNT = 99;\n const UnreadChannelsIndicator = _exports.UnreadChannelsIndicator = (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n \n */\n {\n \"id\": \"a+meD7JI\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[8,[32,0],null,[[\\\"@badgeType\\\"],[[32,1]]],null],[1,\\\"\\\\n\\\"]],[],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/footer/unread-indicator.js\",\n \"scope\": () => [FooterUnreadIndicator, CHANNELS_TAB],\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, \"unread-indicator:UnreadChannelsIndicator\"));\n const UnreadDirectMessagesIndicator = _exports.UnreadDirectMessagesIndicator = (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n \n */\n {\n \"id\": \"a+meD7JI\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[8,[32,0],null,[[\\\"@badgeType\\\"],[[32,1]]],null],[1,\\\"\\\\n\\\"]],[],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/footer/unread-indicator.js\",\n \"scope\": () => [FooterUnreadIndicator, DMS_TAB],\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, \"unread-indicator:UnreadDirectMessagesIndicator\"));\n const UnreadThreadsIndicator = _exports.UnreadThreadsIndicator = (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n \n */\n {\n \"id\": \"a+meD7JI\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[8,[32,0],null,[[\\\"@badgeType\\\"],[[32,1]]],null],[1,\\\"\\\\n\\\"]],[],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/footer/unread-indicator.js\",\n \"scope\": () => [FooterUnreadIndicator, THREADS_TAB],\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, \"unread-indicator:UnreadThreadsIndicator\"));\n class FooterUnreadIndicator extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chatTrackingStateManager\", [_service.service]))();\n #chatTrackingStateManager = (() => (dt7948.i(this, \"chatTrackingStateManager\"), void 0))();\n badgeType = this.args.badgeType;\n get urgentCount() {\n if (this.badgeType === CHANNELS_TAB) {\n return this.chatTrackingStateManager.publicChannelMentionCount;\n } else if (this.badgeType === DMS_TAB) {\n return this.chatTrackingStateManager.directMessageUnreadCount + this.chatTrackingStateManager.directMessageMentionCount;\n } else if (this.badgeType === THREADS_TAB) {\n return this.chatTrackingStateManager.watchedThreadsUnreadCount;\n } else {\n return 0;\n }\n }\n get unreadCount() {\n if (this.badgeType === CHANNELS_TAB) {\n return this.chatTrackingStateManager.publicChannelUnreadCount;\n } else if (this.badgeType === THREADS_TAB) {\n return this.chatTrackingStateManager.hasUnreadThreads ? 1 : 0;\n } else {\n return 0;\n }\n }\n get showUrgent() {\n return this.urgentCount > 0;\n }\n get showUnread() {\n return this.unreadCount > 0;\n }\n get urgentBadgeCount() {\n let totalCount = this.urgentCount;\n return totalCount > MAX_UNREAD_COUNT ? `${MAX_UNREAD_COUNT}+` : totalCount;\n }\n static #_2 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if this.showUrgent}}\n
\n
\n {{this.urgentBadgeCount}}\n
\n
\n {{else if this.showUnread}}\n
\n {{/if}}\n \n */\n {\n \"id\": \"10K3G6tk\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"showUrgent\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"c-unread-indicator -urgent\\\"],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"c-unread-indicator__number\\\"],[12],[1,\\\"\\\\n \\\"],[1,[30,0,[\\\"urgentBadgeCount\\\"]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[41,[30,0,[\\\"showUnread\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"c-unread-indicator\\\"],[12],[13],[1,\\\"\\\\n \\\"]],[]],null]],[]]],[1,\\\" \\\"]],[],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/footer/unread-indicator.js\",\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = FooterUnreadIndicator;\n});","define(\"discourse/plugins/chat/discourse/components/chat/form\", [\"exports\", \"@glimmer/component\", \"discourse/plugins/chat/discourse/components/chat/form/section\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _section, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatForm extends _component.default {\n get yieldableArgs() {\n return {\n section: _section.default\n };\n }\n static #_ = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
\n {{yield this.yieldableArgs}}\n
\n \n */\n {\n \"id\": \"Q+UnUyWk\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-form\\\"],[12],[1,\\\"\\\\n \\\"],[18,1,[[30,0,[\\\"yieldableArgs\\\"]]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"&default\\\"],false,[\\\"yield\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/form.js\",\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatForm;\n});","define(\"discourse/plugins/chat/discourse/components/chat/form/row\", [\"exports\", \"@ember/routing\", \"discourse/helpers/concat-class\", \"discourse/helpers/d-icon\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _routing, _concatClass, _dIcon, _component, _templateFactory, _templateOnly) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const ChatFormRow = (0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if @route}}\n \n
\n {{@label}}\n {{icon \"chevron-right\" class=\"chat-form__row-icon\"}}\n
\n \n {{else}}\n
\n
\n {{#if @label}}\n {{@label}}\n {{/if}}\n \n {{#if (has-block)}}\n \n {{yield}}\n \n {{/if}}\n \n {{#if (has-block \"action\")}}\n
{{yield to=\"action\"}}
\n {{/if}}\n
\n \n {{#if (has-block \"description\")}}\n
\n {{yield to=\"description\"}}\n
\n {{/if}}\n
\n {{/if}}\n \n */\n {\n \"id\": \"OiuLfajB\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,1],[[[1,\\\" \\\"],[8,[32,0],[[16,0,[28,[32,1],[\\\"chat-form__row -link\\\",[52,[30,2],\\\"-separator\\\"]],null]]],[[\\\"@route\\\",\\\"@models\\\"],[[30,1],[30,3]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-form__row-content\\\"],[12],[1,\\\"\\\\n \\\"],[1,[30,4]],[1,\\\"\\\\n \\\"],[1,[28,[32,2],[\\\"chevron-right\\\"],[[\\\"class\\\"],[\\\"chat-form__row-icon\\\"]]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[10,0],[15,0,[28,[32,1],[\\\"chat-form__row\\\",[52,[30,2],\\\"-separator\\\"]],null]],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-form__row-content\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,4],[[[1,\\\" \\\"],[10,1],[14,0,\\\"chat-form__row-label\\\"],[12],[1,[30,4]],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[48,[30,5]],[[[1,\\\" \\\"],[10,1],[14,0,\\\"chat-form__row-label\\\"],[12],[1,\\\"\\\\n \\\"],[18,5,null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[48,[30,6]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-form__row-action\\\"],[12],[18,6,null],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[48,[30,7]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-form__row-description\\\"],[12],[1,\\\"\\\\n \\\"],[18,7,null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\"]],[]]]],[\\\"@route\\\",\\\"@separator\\\",\\\"@routeModels\\\",\\\"@label\\\",\\\"&default\\\",\\\"&action\\\",\\\"&description\\\"],false,[\\\"if\\\",\\\"has-block\\\",\\\"yield\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/form/row.js\",\n \"scope\": () => [_routing.LinkTo, _concatClass.default, _dIcon.default],\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, \"row:ChatFormRow\"));\n var _default = _exports.default = ChatFormRow;\n});","define(\"discourse/plugins/chat/discourse/components/chat/form/section\", [\"exports\", \"@glimmer/component\", \"discourse/plugins/chat/discourse/components/chat/form/row\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _row, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatFormSection extends _component.default {\n get yieldableArgs() {\n return {\n row: _row.default\n };\n }\n static #_ = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
\n {{#if @title}}\n
\n {{@title}}\n
\n {{/if}}\n \n
\n {{yield this.yieldableArgs}}\n
\n
\n \n */\n {\n \"id\": \"/xrcZgND\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[11,0],[24,0,\\\"chat-form__section\\\"],[17,1],[12],[1,\\\"\\\\n\\\"],[41,[30,2],[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-form__section-title\\\"],[12],[1,\\\"\\\\n \\\"],[1,[30,2]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-form__section-content\\\"],[12],[1,\\\"\\\\n \\\"],[18,3,[[30,0,[\\\"yieldableArgs\\\"]]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"&attrs\\\",\\\"@title\\\",\\\"&default\\\"],false,[\\\"if\\\",\\\"yield\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/form/section.js\",\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatFormSection;\n});","define(\"discourse/plugins/chat/discourse/components/chat/header/icon\", [\"exports\", \"@glimmer/component\", \"@ember/service\", \"discourse/components/d-button\", \"discourse/helpers/concat-class\", \"discourse/helpers/d-icon\", \"discourse/lib/get-url\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/chat/header/icon/unread-indicator\", \"discourse/plugins/chat/discourse/lib/get-user-chat-separate-sidebar-mode\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _service, _dButton, _concatClass, _dIcon, _getUrl, _discourseI18n, _unreadIndicator, _getUserChatSeparateSidebarMode, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatHeaderIcon extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"chatStateManager\", [_service.service]))();\n #chatStateManager = (() => (dt7948.i(this, \"chatStateManager\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n get showUnreadIndicator() {\n if (this.chatStateManager.isFullPageActive && this.site.desktopView) {\n return false;\n }\n return !this.currentUserInDnD;\n }\n get currentUserInDnD() {\n return this.args.currentUserInDnD || this.currentUser.isInDoNotDisturb();\n }\n get chatSeparateSidebarMode() {\n return (0, _getUserChatSeparateSidebarMode.getUserChatSeparateSidebarMode)(this.currentUser);\n }\n get isActive() {\n return this.args.isActive || this.chatStateManager.isFullPageActive || this.chatStateManager.isDrawerActive;\n }\n get title() {\n if (this.chatStateManager.isFullPageActive && !this.chatSeparateSidebarMode.never && this.site.desktopView) {\n return (0, _discourseI18n.i18n)(\"sidebar.panels.forum.label\");\n }\n return (0, _discourseI18n.i18n)(\"chat.title_capitalized\");\n }\n get icon() {\n if (this.chatStateManager.isFullPageActive && !this.chatSeparateSidebarMode.never && this.site.desktopView) {\n return \"shuffle\";\n }\n return \"d-chat\";\n }\n get href() {\n if (this.site.mobileView && this.chatStateManager.isFullPageActive) {\n return (0, _getUrl.default)(\"/chat\");\n }\n if (this.chatStateManager.isFullPageActive && !this.chatSeparateSidebarMode.never) {\n return (0, _getUrl.default)(this.chatStateManager.lastKnownAppURL || \"/\");\n }\n if (this.chatStateManager.isDrawerActive) {\n return (0, _getUrl.default)(\"/chat\");\n }\n return (0, _getUrl.default)(this.chatStateManager.lastKnownChatURL || \"/chat\");\n }\n static #_5 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
  • \n \n {{~icon this.icon~}}\n {{#if this.showUnreadIndicator}}\n \n {{/if}}\n \n
  • \n \n */\n {\n \"id\": \"4ZYOm2ZW\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,\\\"li\\\"],[14,0,\\\"header-dropdown-toggle chat-header-icon\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,0],[[24,\\\"tabindex\\\",\\\"0\\\"],[16,0,[28,[32,1],[\\\"icon\\\",\\\"btn-flat\\\",[52,[30,0,[\\\"isActive\\\"]],\\\"active\\\"]],null]],[16,\\\"title\\\",[30,0,[\\\"title\\\"]]]],[[\\\"@href\\\"],[[30,0,[\\\"href\\\"]]]],[[\\\"default\\\"],[[[[1,[28,[32,2],[[30,0,[\\\"icon\\\"]]],null]],[41,[30,0,[\\\"showUnreadIndicator\\\"]],[[[1,\\\" \\\"],[8,[32,3],null,[[\\\"@urgentCount\\\",\\\"@unreadCount\\\",\\\"@indicatorPreference\\\"],[[30,1],[30,2],[30,3]]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[]]]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"@urgentCount\\\",\\\"@unreadCount\\\",\\\"@indicatorPreference\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/header/icon.js\",\n \"scope\": () => [_dButton.default, _concatClass.default, _dIcon.default, _unreadIndicator.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatHeaderIcon;\n});","define(\"discourse/plugins/chat/discourse/components/chat/header/icon/unread-indicator\", [\"exports\", \"@glimmer/component\", \"@ember/service\", \"discourse/plugins/chat/discourse/controllers/preferences-chat\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _service, _preferencesChat, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const MAX_UNREAD_COUNT = 99;\n class ChatHeaderIconUnreadIndicator extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chatTrackingStateManager\", [_service.service]))();\n #chatTrackingStateManager = (() => (dt7948.i(this, \"chatTrackingStateManager\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n get urgentCount() {\n return this.args.urgentCount || this.chatTrackingStateManager.allChannelUrgentCount;\n }\n get mentionCount() {\n return this.args.mentionCount || this.chatTrackingStateManager.allChannelMentionCount;\n }\n get unreadCount() {\n return this.args.unreadCount || this.chatTrackingStateManager.publicChannelUnreadCount;\n }\n get hasUnreads() {\n return this.unreadCount > 0 || this.chatTrackingStateManager.hasUnreadThreads;\n }\n get indicatorPreference() {\n return this.args.indicatorPreference || this.currentUser.user_option.chat_header_indicator_preference;\n }\n get showUrgentIndicator() {\n if (this.onlyMentions) {\n return this.mentionCount > 0;\n }\n return this.urgentCount > 0 && this.#hasAnyIndicatorPreference([_preferencesChat.HEADER_INDICATOR_PREFERENCE_ALL_NEW, _preferencesChat.HEADER_INDICATOR_PREFERENCE_DM_AND_MENTIONS]);\n }\n get showUnreadIndicator() {\n return this.hasUnreads && this.#hasAnyIndicatorPreference([_preferencesChat.HEADER_INDICATOR_PREFERENCE_ALL_NEW]);\n }\n get urgentCountLabel() {\n const totalCount = this.onlyMentions ? this.mentionCount : this.urgentCount;\n return totalCount > MAX_UNREAD_COUNT ? `${MAX_UNREAD_COUNT}+` : totalCount;\n }\n get onlyMentions() {\n return this.#hasAnyIndicatorPreference([_preferencesChat.HEADER_INDICATOR_PREFERENCE_ONLY_MENTIONS]);\n }\n #hasAnyIndicatorPreference(preferences) {\n if (!this.currentUser || this.indicatorPreference === _preferencesChat.HEADER_INDICATOR_PREFERENCE_NEVER) {\n return false;\n }\n return preferences.includes(this.indicatorPreference);\n }\n static #_3 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if this.showUrgentIndicator}}\n
    \n
    \n {{this.urgentCountLabel}}\n
    \n
    \n {{else if this.showUnreadIndicator}}\n
    \n {{/if}}\n \n */\n {\n \"id\": \"ZelwfVyf\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"showUrgentIndicator\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-channel-unread-indicator -urgent\\\"],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-channel-unread-indicator__number\\\"],[12],[1,\\\"\\\\n \\\"],[1,[30,0,[\\\"urgentCountLabel\\\"]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[41,[30,0,[\\\"showUnreadIndicator\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-channel-unread-indicator\\\"],[12],[13],[1,\\\"\\\\n \\\"]],[]],null]],[]]],[1,\\\" \\\"]],[],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/header/icon/unread-indicator.js\",\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatHeaderIconUnreadIndicator;\n});","define(\"discourse/plugins/chat/discourse/components/chat/list/empty-state\", [\"exports\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _component, _templateFactory, _templateOnly) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const EmptyState = (0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
    \n {{yield}}\n
    \n \n */\n {\n \"id\": \"5IieK/P5\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[11,0],[24,0,\\\"c-list-empty-state\\\"],[17,1],[12],[1,\\\"\\\\n \\\"],[18,2,null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[\\\"&attrs\\\",\\\"&default\\\"],false,[\\\"yield\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/list/empty-state.js\",\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, \"empty-state:EmptyState\"));\n var _default = _exports.default = EmptyState;\n});","define(\"discourse/plugins/chat/discourse/components/chat/list/index\", [\"exports\", \"@glimmer/component\", \"@ember/helper\", \"@ember/object\", \"ember-modifier\", \"discourse/components/conditional-loading-spinner\", \"discourse/lib/debounce\", \"discourse/lib/environment\", \"discourse/lib/is-element-in-viewport\", \"discourse/plugins/chat/discourse/components/chat/list/empty-state\", \"discourse/plugins/chat/discourse/components/chat/list/item\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _helper, _object, _emberModifier, _conditionalLoadingSpinner, _debounce, _environment, _isElementInViewport, _emptyState, _item, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class List extends _component.default {\n loadMore = (() => (0, _emberModifier.modifier)(element => {\n this.intersectionObserver = new IntersectionObserver(this.loadCollection);\n this.intersectionObserver.observe(element);\n return () => {\n this.intersectionObserver.disconnect();\n };\n }))();\n fill = (() => (0, _emberModifier.modifier)(element => {\n this.resizeObserver = new ResizeObserver(() => {\n if ((0, _isElementInViewport.default)(element)) {\n this.loadCollection();\n }\n });\n this.resizeObserver.observe(element);\n return () => {\n this.resizeObserver.disconnect();\n };\n }))();\n get itemComponent() {\n return this.args.itemComponent ?? _item.default;\n }\n loadCollection() {\n (0, _debounce.default)(this, this.debouncedLoadCollection, _environment.INPUT_DELAY);\n }\n static #_ = (() => dt7948.n(this.prototype, \"loadCollection\", [_object.action]))();\n async debouncedLoadCollection() {\n await this.args.collection.load({\n limit: 10\n });\n }\n static #_2 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
    \n \n {{#each @collection.items as |item|}}\n {{yield (hash Item=(component this.itemComponent item=item))}}\n {{else}}\n {{#if @collection.fetchedOnce}}\n {{yield (hash EmptyState=EmptyState)}}\n {{/if}}\n {{/each}}\n
    \n \n
    \n
    \n
    \n \n \n \n \n */\n {\n \"id\": \"eCs9/rF0\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"c-list\\\"],[12],[1,\\\"\\\\n \\\"],[11,0],[16,0,[52,[30,1,[\\\"fetchedOnce\\\"]],\\\"--loaded\\\"]],[17,2],[4,[30,0,[\\\"fill\\\"]],null,null],[12],[1,\\\"\\\\n\\\"],[42,[28,[31,2],[[28,[31,2],[[30,1,[\\\"items\\\"]]],null]],null],null,[[[1,\\\" \\\"],[18,4,[[28,[32,0],null,[[\\\"Item\\\"],[[50,[30,0,[\\\"itemComponent\\\"]],0,null,[[\\\"item\\\"],[[30,3]]]]]]]]],[1,\\\"\\\\n\\\"]],[3]],[[[41,[30,1,[\\\"fetchedOnce\\\"]],[[[1,\\\" \\\"],[18,4,[[28,[32,0],null,[[\\\"EmptyState\\\"],[[32,1]]]]]],[1,\\\"\\\\n\\\"]],[]],null]],[]]],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\\n \\\"],[11,0],[4,[30,0,[\\\"loadMore\\\"]],null,null],[12],[1,\\\"\\\\n \\\"],[10,\\\"br\\\"],[12],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\\n \\\"],[8,[32,2],null,[[\\\"@condition\\\"],[[30,1,[\\\"loading\\\"]]]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"@collection\\\",\\\"&attrs\\\",\\\"item\\\",\\\"&default\\\"],false,[\\\"if\\\",\\\"each\\\",\\\"-track-array\\\",\\\"yield\\\",\\\"component\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/list/index.js\",\n \"scope\": () => [_helper.hash, _emptyState.default, _conditionalLoadingSpinner.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = List;\n});","define(\"discourse/plugins/chat/discourse/components/chat/list/item\", [\"exports\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _component, _templateFactory, _templateOnly) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const Item = (0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n {{yield @item}}\n */\n {\n \"id\": \"Ox3k3YOe\",\n \"block\": \"[[[18,2,[[30,1]]]],[\\\"@item\\\",\\\"&default\\\"],false,[\\\"yield\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/list/item.js\",\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, \"item:Item\"));\n var _default = _exports.default = Item;\n});","define(\"discourse/plugins/chat/discourse/components/chat/message-creator/add-members\", [\"exports\", \"@glimmer/component\", \"@ember/object\", \"@ember/service\", \"truth-helpers\", \"discourse/components/d-button\", \"discourse/lib/ajax-error\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/chat/message-creator/members-count\", \"discourse/plugins/chat/discourse/components/chat/message-creator/members-selector\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _object, _service, _truthHelpers, _dButton, _ajaxError, _discourseI18n, _membersCount, _membersSelector, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class AddMembers extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"chatApi\", [_service.service]))();\n #chatApi = (() => (dt7948.i(this, \"chatApi\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"toasts\", [_service.service]))();\n #toasts = (() => (dt7948.i(this, \"toasts\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n static #_6 = (() => dt7948.g(this.prototype, \"loadingSlider\", [_service.service]))();\n #loadingSlider = (() => (dt7948.i(this, \"loadingSlider\"), void 0))();\n get membersCount() {\n const userCount = this.args.members?.reduce((acc, member) => {\n if (member.type === \"group\") {\n return acc + member.model.chat_enabled_user_count;\n } else {\n return acc + 1;\n }\n }, 0);\n return userCount + (this.args.channel?.membershipsCount ?? 0);\n }\n get maxMembers() {\n return this.siteSettings.chat_max_direct_message_users;\n }\n async saveGroupMembers() {\n try {\n this.loadingSlider.transitionStarted();\n const usernames = this.args.members.filter(member => member.type === \"user\").mapBy(\"model.username\");\n const groups = this.args.members.filter(member => member.type === \"group\").mapBy(\"model.name\");\n await this.chatApi.addMembersToChannel(this.args.channel.id, {\n usernames,\n groups\n });\n this.toasts.success({\n data: {\n message: (0, _discourseI18n.i18n)(\"saved\")\n }\n });\n this.router.transitionTo(\"chat.channel\", ...this.args.channel.routeModels);\n } catch (error) {\n (0, _ajaxError.popupAjaxError)(error);\n } finally {\n this.loadingSlider.transitionEnded();\n }\n }\n static #_7 = (() => dt7948.n(this.prototype, \"saveGroupMembers\", [_object.action]))();\n static #_8 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
    \n
    \n \n \n \n \n {{#if @members.length}}\n \n {{/if}}\n
    \n
    \n \n */\n {\n \"id\": \"A/D5G1ze\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-message-creator__add-members-container\\\"],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-message-creator__add-members\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,0],null,[[\\\"@count\\\",\\\"@max\\\"],[[30,0,[\\\"membersCount\\\"]],[30,0,[\\\"maxMembers\\\"]]]],null],[1,\\\"\\\\n\\\\n \\\"],[8,[32,1],null,[[\\\"@channel\\\",\\\"@members\\\",\\\"@onChange\\\",\\\"@close\\\",\\\"@cancel\\\",\\\"@membersCount\\\",\\\"@maxReached\\\"],[[30,1],[30,2],[30,3],[30,4],[30,5],[30,0,[\\\"membersCount\\\"]],[28,[32,2],[[30,0,[\\\"membersCount\\\"]],[30,0,[\\\"maxMembers\\\"]]],null]]],null],[1,\\\"\\\\n\\\\n\\\"],[41,[30,2,[\\\"length\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-message-creator__add-members-footer-container\\\"],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-message-creator__add-members-footer\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,3],[[24,0,\\\"btn-flat\\\"]],[[\\\"@label\\\",\\\"@action\\\"],[\\\"cancel\\\",[30,5]]],null],[1,\\\"\\\\n\\\\n \\\"],[8,[32,3],[[24,0,\\\"btn-primary add-to-channel\\\"]],[[\\\"@label\\\",\\\"@action\\\"],[\\\"chat.direct_message_creator.add_to_channel\\\",[30,0,[\\\"saveGroupMembers\\\"]]]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"@channel\\\",\\\"@members\\\",\\\"@onChangeMembers\\\",\\\"@close\\\",\\\"@cancel\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/message-creator/add-members.js\",\n \"scope\": () => [_membersCount.default, _membersSelector.default, _truthHelpers.gte, _dButton.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = AddMembers;\n});","define(\"discourse/plugins/chat/discourse/components/chat/message-creator/channel\", [\"exports\", \"@glimmer/component\", \"@ember/service\", \"truth-helpers\", \"discourse/plugins/chat/discourse/components/channel-title\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _service, _truthHelpers, _channelTitle, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class Channel extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n get tracking() {\n return this.args.item.tracking;\n }\n get isUrgent() {\n return this.args.item.model.isDirectMessageChannel ? this.hasUnreads || this.hasUrgent : this.hasUrgent;\n }\n get hasUnreads() {\n return this.tracking?.unreadCount > 0;\n }\n get hasUrgent() {\n return this.tracking?.mentionCount > 0 || this.tracking?.watchedThreadsUnreadCount > 0;\n }\n get hasUnreadThreads() {\n return this.args.item.unread_thread_count > 0;\n }\n get showIndicator() {\n return this.hasUnreads || this.hasUnreadThreads || this.hasUrgent;\n }\n static #_2 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n \n \n \n */\n {\n \"id\": \"jAt6jmY0\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-message-creator__chatable -category-channel\\\"],[15,\\\"data-disabled\\\",[28,[32,0],[[30,1,[\\\"enabled\\\"]]],null]],[12],[1,\\\"\\\\n \\\"],[8,[32,1],null,[[\\\"@channel\\\",\\\"@isUnread\\\",\\\"@isUrgent\\\"],[[30,1,[\\\"model\\\"]],[30,0,[\\\"showIndicator\\\"]],[30,0,[\\\"isUrgent\\\"]]]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"@item\\\"],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/message-creator/channel.js\",\n \"scope\": () => [_truthHelpers.not, _channelTitle.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = Channel;\n});","define(\"discourse/plugins/chat/discourse/components/chat/message-creator/constants\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.MODES = void 0;\n const MODES = _exports.MODES = {\n search: \"SEARCH\",\n new_group: \"NEW_GROUP\",\n add_members: \"ADD_MEMBERS\"\n };\n});","define(\"discourse/plugins/chat/discourse/components/chat/message-creator/group\", [\"exports\", \"@glimmer/component\", \"@ember/service\", \"discourse/helpers/d-icon\", \"discourse-i18n\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _service, _dIcon, _discourseI18n, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatableGroup extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n group_with_too_many_members = (() => (0, _discourseI18n.i18n)(\"chat.new_message_modal.group_with_too_many_members\", {\n membersCount: this.args.item.model.chat_enabled_user_count\n }))();\n get isDisabled() {\n if (!this.args.membersCount) {\n return !this.args.item.enabled;\n }\n return this.args.membersCount + this.args.item.model.chat_enabled_user_count > this.siteSettings.chat_max_direct_message_users;\n }\n static #_3 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n
    \n {{icon \"user-group\"}}\n
    \n
    \n {{@item.model.name}}\n
    \n \n {{#if this.isDisabled}}\n \n {{this.group_with_too_many_members}}\n \n {{/if}}\n \n \n */\n {\n \"id\": \"9ujXsGpR\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-message-creator__chatable -group\\\"],[15,\\\"data-disabled\\\",[30,0,[\\\"isDisabled\\\"]]],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-message-creator__group-icon\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,0],[\\\"user-group\\\"],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-message-creator__group-name\\\"],[12],[1,\\\"\\\\n \\\"],[1,[30,1,[\\\"model\\\",\\\"name\\\"]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"isDisabled\\\"]],[[[1,\\\" \\\"],[10,1],[14,0,\\\"chat-message-creator__disabled-warning\\\"],[12],[1,\\\"\\\\n \\\"],[1,[30,0,[\\\"group_with_too_many_members\\\"]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"@item\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/message-creator/group.js\",\n \"scope\": () => [_dIcon.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatableGroup;\n});","define(\"discourse/plugins/chat/discourse/components/chat/message-creator/index\", [\"exports\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/object\", \"discourse/plugins/chat/discourse/components/chat/message-creator/add-members\", \"discourse/plugins/chat/discourse/components/chat/message-creator/constants\", \"discourse/plugins/chat/discourse/components/chat/message-creator/new-group\", \"discourse/plugins/chat/discourse/components/chat/message-creator/search\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _tracking, _object, _addMembers, _constants, _newGroup, _search, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatMessageCreator extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"mode\", [_tracking.tracked], function () {\n return _constants.MODES.search;\n }))();\n #mode = (() => (dt7948.i(this, \"mode\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"members\", [_tracking.tracked], function () {\n return [];\n }))();\n #members = (() => (dt7948.i(this, \"members\"), void 0))();\n get componentForMode() {\n switch (this.args.mode ?? this.mode) {\n case _constants.MODES.search:\n return _search.default;\n case _constants.MODES.new_group:\n return _newGroup.default;\n case _constants.MODES.add_members:\n return _addMembers.default;\n }\n }\n changeMode(mode) {\n let members = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n this.mode = mode;\n this.changeMembers(members);\n }\n static #_3 = (() => dt7948.n(this.prototype, \"changeMode\", [_object.action]))();\n changeMembers(members) {\n this.members = members;\n }\n static #_4 = (() => dt7948.n(this.prototype, \"changeMembers\", [_object.action]))();\n cancelAction() {\n return this.args.onCancel?.() || this.changeMode(_constants.MODES.search);\n }\n static #_5 = (() => dt7948.n(this.prototype, \"cancelAction\", [_object.action]))();\n static #_6 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
    \n
    \n \n
    \n
    \n \n */\n {\n \"id\": \"KOmH179J\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-message-creator-container\\\"],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-message-creator\\\"],[12],[1,\\\"\\\\n \\\"],[8,[30,0,[\\\"componentForMode\\\"]],null,[[\\\"@channel\\\",\\\"@onChangeMode\\\",\\\"@onChangeMembers\\\",\\\"@close\\\",\\\"@cancel\\\",\\\"@members\\\"],[[30,1],[30,0,[\\\"changeMode\\\"]],[30,0,[\\\"changeMembers\\\"]],[30,2],[30,0,[\\\"cancelAction\\\"]],[30,0,[\\\"members\\\"]]]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"@channel\\\",\\\"@onClose\\\"],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/message-creator/index.js\",\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatMessageCreator;\n});","define(\"discourse/plugins/chat/discourse/components/chat/message-creator/lib/chatables-loader\", [\"exports\", \"@ember/owner\", \"@ember/service\", \"discourse/lib/ajax\", \"discourse/lib/ajax-error\", \"discourse/lib/decorators\", \"discourse/plugins/chat/discourse/models/chat-chatable\"], function (_exports, _owner, _service, _ajax, _ajaxError, _decorators, _chatChatable) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const MAX_RESULTS = 10;\n class ChatablesLoader {\n static #_ = (() => dt7948.g(this.prototype, \"chatChannelsManager\", [_service.service]))();\n #chatChannelsManager = (() => (dt7948.i(this, \"chatChannelsManager\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"loadingSlider\", [_service.service]))();\n #loadingSlider = (() => (dt7948.i(this, \"loadingSlider\"), void 0))();\n constructor(context) {\n (0, _owner.setOwner)(this, (0, _owner.getOwner)(context));\n }\n async search(term) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n includeUsers: true,\n includeGroups: true,\n includeCategoryChannels: true,\n includeDirectMessageChannels: true,\n excludedUserIds: null,\n preloadChannels: false\n };\n this.request?.abort();\n if (!term && options.preloadChannels) {\n return this.#preloadedChannels();\n }\n if (!term) {\n return [];\n }\n try {\n this.loadingSlider.transitionStarted();\n this.request = (0, _ajax.ajax)(\"/chat/api/chatables\", {\n data: {\n term,\n include_users: options.includeUsers,\n include_category_channels: options.includeCategoryChannels,\n include_direct_message_channels: options.includeDirectMessageChannels,\n excluded_memberships_channel_id: options.excludedMembershipsChannelId\n }\n });\n const results = await this.request;\n this.loadingSlider.transitionEnded();\n return [...results.users, ...results.groups, ...results.direct_message_channels, ...results.category_channels].map(item => {\n const chatable = _chatChatable.default.create(item);\n const channel = this.#findChannel(chatable);\n if (channel) {\n chatable.tracking = channel.tracking;\n chatable.unread_thread_count = channel.unreadThreadsCountSinceLastViewed;\n }\n return chatable;\n }).slice(0, MAX_RESULTS);\n } catch (e) {\n (0, _ajaxError.popupAjaxError)(e);\n }\n }\n static #_3 = (() => dt7948.n(this.prototype, \"search\", [_decorators.bind]))();\n #preloadedChannels() {\n return this.chatChannelsManager.allChannels.map(channel => {\n let chatable;\n if (channel.chatable?.users?.length === 1) {\n chatable = _chatChatable.default.createUser(channel.chatable.users[0]);\n } else {\n chatable = _chatChatable.default.createChannel(channel);\n }\n chatable.tracking = channel.tracking;\n chatable.unread_thread_count = channel.unreadThreadsCountSinceLastViewed;\n return chatable;\n }).filter(Boolean).slice(0, MAX_RESULTS);\n }\n #findChannel(chatable) {\n if (![\"user\", \"channel\"].includes(chatable.type)) {\n return;\n }\n const {\n allChannels\n } = this.chatChannelsManager;\n if (chatable.type === \"user\") {\n return allChannels.find(_ref => {\n let {\n chatable: {\n users\n }\n } = _ref;\n return users?.length === 1 && users[0].id === chatable.model.id;\n });\n } else if (chatable.type === \"channel\") {\n return allChannels.find(_ref2 => {\n let {\n id\n } = _ref2;\n return id === chatable.model.id;\n });\n }\n }\n }\n _exports.default = ChatablesLoader;\n});","define(\"discourse/plugins/chat/discourse/components/chat/message-creator/lib/iterate-list\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.getNext = getNext;\n _exports.getPrevious = getPrevious;\n function getNext(list) {\n let current = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (list.length === 0) {\n return null;\n }\n list = list.filterBy(\"enabled\");\n if (current?.identifier) {\n const currentIndex = list.mapBy(\"identifier\").indexOf(current?.identifier);\n if (currentIndex < list.length - 1) {\n return list.objectAt(currentIndex + 1);\n } else {\n return list[0];\n }\n } else {\n return list[0];\n }\n }\n function getPrevious(list) {\n let current = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (list.length === 0) {\n return null;\n }\n list = list.filterBy(\"enabled\");\n if (current?.identifier) {\n const currentIndex = list.mapBy(\"identifier\").indexOf(current?.identifier);\n if (currentIndex > 0) {\n return list.objectAt(currentIndex - 1);\n } else {\n return list.objectAt(list.length - 1);\n }\n } else {\n return list.objectAt(list.length - 1);\n }\n }\n});","define(\"discourse/plugins/chat/discourse/components/chat/message-creator/list-action\", [\"exports\", \"discourse/components/d-button\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _dButton, _component, _templateFactory, _templateOnly) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const ListAction = (0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n \n */\n {\n \"id\": \"FZmzvD8+\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[8,[32,0],[[24,0,\\\"btn btn-flat\\\"]],[[\\\"@icon\\\",\\\"@translatedLabel\\\"],[[30,1,[\\\"icon\\\"]],[30,1,[\\\"label\\\"]]]],null],[1,\\\"\\\\n\\\"]],[\\\"@item\\\"],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/message-creator/list-action.js\",\n \"scope\": () => [_dButton.default],\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, \"list-action:ListAction\"));\n var _default = _exports.default = ListAction;\n});","define(\"discourse/plugins/chat/discourse/components/chat/message-creator/list-handler\", [\"exports\", \"@glimmer/component\", \"ember-modifier\", \"discourse/plugins/chat/discourse/components/chat/message-creator/lib/iterate-list\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _emberModifier, _iterateList, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ListHandler extends _component.default {\n handleKeydown = (() => (0, _emberModifier.modifier)(element => {\n const handler = event => {\n if (event.key === \"ArrowDown\") {\n event.preventDefault();\n event.stopPropagation();\n this.args.onHighlight((0, _iterateList.getNext)(this.args.items, this.args.highlightedItem));\n } else if (event.key === \"ArrowUp\") {\n event.preventDefault();\n event.stopPropagation();\n this.args.onHighlight((0, _iterateList.getPrevious)(this.args.items, this.args.highlightedItem));\n } else if (event.key === \"Enter\" && this.args.highlightedItem) {\n event.preventDefault();\n event.stopPropagation();\n if (event.shiftKey && this.args.onShifSelect) {\n this.args.onShifSelect(this.args.highlightedItem);\n } else {\n this.args.onSelect(this.args.highlightedItem);\n }\n }\n };\n element.addEventListener(\"keydown\", handler);\n return () => {\n element.removeEventListener(\"keydown\", handler);\n };\n }))();\n static #_ = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n {{yield}}\n \n \n */\n {\n \"id\": \"D4sxaCLN\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[11,1],[24,5,\\\"display: contents\\\"],[17,1],[4,[30,0,[\\\"handleKeydown\\\"]],null,null],[12],[1,\\\"\\\\n \\\"],[18,2,null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"&attrs\\\",\\\"&default\\\"],false,[\\\"yield\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/message-creator/list-handler.js\",\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ListHandler;\n});","define(\"discourse/plugins/chat/discourse/components/chat/message-creator/list\", [\"exports\", \"@glimmer/component\", \"@ember/helper\", \"@ember/modifier\", \"@ember/object\", \"truth-helpers\", \"discourse/helpers/concat-class\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/chat/message-creator/channel\", \"discourse/plugins/chat/discourse/components/chat/message-creator/group\", \"discourse/plugins/chat/discourse/components/chat/message-creator/list-action\", \"discourse/plugins/chat/discourse/components/chat/message-creator/user\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _helper, _modifier, _object, _truthHelpers, _concatClass, _discourseI18n, _channel, _group, _listAction, _user, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class List extends _component.default {\n cantAddMoreMembersLabel = (() => (0, _discourseI18n.i18n)(\"chat.new_message_modal.cant_add_more_members\"))();\n componentForItem(type) {\n switch (type) {\n case \"list-action\":\n return _listAction.default;\n case \"user\":\n return _user.default;\n case \"group\":\n return _group.default;\n case \"channel\":\n return _channel.default;\n }\n }\n handleEnter(item, event) {\n if (event.key !== \"Enter\") {\n return;\n }\n if (event.shiftKey && this.args.onShiftSelect) {\n this.args.onShiftSelect?.(item);\n } else {\n this.args.onSelect?.(item);\n }\n }\n static #_ = (() => dt7948.n(this.prototype, \"handleEnter\", [_object.action]))();\n handleClick(item, event) {\n if (event.shiftKey && this.args.onShiftSelect) {\n this.args.onShiftSelect?.(item);\n } else {\n this.args.onSelect?.(item);\n }\n }\n static #_2 = (() => dt7948.n(this.prototype, \"handleClick\", [_object.action]))();\n static #_3 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if @items}}\n
    \n {{#if @maxReached}}\n {{this.cantAddMoreMembersLabel}}
    \n {{else}}\n
      \n {{#each @items as |item|}}\n \n {{component\n (this.componentForItem item.type)\n membersCount=@membersCount\n item=item\n }}\n \n {{/each}}\n
    \n {{/if}}\n \n {{/if}}\n \n */\n {\n \"id\": \"9RazZaz7\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,1],[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-message-creator__list-container\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,2],[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-message-creator__warning-max-members\\\"],[12],[1,[30,0,[\\\"cantAddMoreMembersLabel\\\"]]],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[10,\\\"ul\\\"],[14,0,\\\"chat-message-creator__list\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[31,2],[[28,[31,2],[[30,1]],null]],null],null,[[[1,\\\" \\\"],[11,\\\"li\\\"],[16,0,[28,[32,0],[\\\"chat-message-creator__list-item\\\",[52,[28,[32,1],[[30,3,[\\\"identifier\\\"]],[30,4,[\\\"identifier\\\"]]],null],\\\"-highlighted\\\"]],null]],[24,\\\"role\\\",\\\"button\\\"],[24,\\\"tabindex\\\",\\\"0\\\"],[16,\\\"data-identifier\\\",[30,3,[\\\"identifier\\\"]]],[16,1,[30,3,[\\\"id\\\"]]],[4,[32,2],[\\\"click\\\",[28,[32,3],[[30,0,[\\\"handleClick\\\"]],[30,3]],null]],null],[4,[32,2],[\\\"keypress\\\",[28,[32,3],[[30,0,[\\\"handleEnter\\\"]],[30,3]],null]],null],[4,[32,2],[\\\"mousemove\\\",[28,[32,3],[[30,5],[30,3]],null]],null],[4,[32,2],[\\\"mouseleave\\\",[28,[32,3],[[30,5],null],null]],null],[12],[1,\\\"\\\\n \\\"],[46,[28,[30,0,[\\\"componentForItem\\\"]],[[30,3,[\\\"type\\\"]]],null],null,[[\\\"membersCount\\\",\\\"item\\\"],[[30,6],[30,3]]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[3]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\"]],[]]],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[\\\"@items\\\",\\\"@maxReached\\\",\\\"item\\\",\\\"@highlightedItem\\\",\\\"@onHighlight\\\",\\\"@membersCount\\\"],false,[\\\"if\\\",\\\"each\\\",\\\"-track-array\\\",\\\"component\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/message-creator/list.js\",\n \"scope\": () => [_concatClass.default, _truthHelpers.eq, _modifier.on, _helper.fn],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = List;\n});","define(\"discourse/plugins/chat/discourse/components/chat/message-creator/member\", [\"exports\", \"@ember/helper\", \"truth-helpers\", \"discourse/components/d-button\", \"discourse/helpers/concat-class\", \"discourse/helpers/d-icon\", \"discourse/plugins/chat/discourse/components/chat-user-avatar\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _helper, _truthHelpers, _dButton, _concatClass, _dIcon, _chatUserAvatar, _component, _templateFactory, _templateOnly) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const Member = (0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n {{#if (eq @member.type \"user\")}}\n \n \n {{@member.model.username}}\n \n {{else if (eq @member.type \"group\")}}\n
    \n {{icon \"user-group\"}}\n
    \n \n {{@member.model.name}}\n \n {{/if}}\n \n {{icon \"xmark\"}}\n \n \n */\n {\n \"id\": \"lFqMkUzx\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[8,[32,0],[[16,0,[28,[32,1],[\\\"chat-message-creator__member btn-default\\\",[52,[30,1],\\\"-highlighted\\\"]],null]]],[[\\\"@action\\\"],[[28,[32,2],[[30,2],[30,3]],null]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[41,[28,[32,3],[[30,3,[\\\"type\\\"]],\\\"user\\\"],null],[[[1,\\\" \\\"],[8,[32,4],null,[[\\\"@user\\\",\\\"@interactive\\\",\\\"@showPresence\\\"],[[30,3,[\\\"model\\\"]],false,false]],null],[1,\\\"\\\\n \\\"],[10,1],[14,0,\\\"chat-message-creator__member-username\\\"],[12],[1,\\\"\\\\n \\\"],[1,[30,3,[\\\"model\\\",\\\"username\\\"]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[41,[28,[32,3],[[30,3,[\\\"type\\\"]],\\\"group\\\"],null],[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-message-creator__group-icon\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,5],[\\\"user-group\\\"],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[10,1],[14,0,\\\"chat-message-creator__member-group\\\"],[12],[1,\\\"\\\\n \\\"],[1,[30,3,[\\\"model\\\",\\\"name\\\"]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[]],null]],[]]],[1,\\\"\\\\n \\\"],[1,[28,[32,5],[\\\"xmark\\\"],null]],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[\\\"@highlighted\\\",\\\"@onSelect\\\",\\\"@member\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/message-creator/member.js\",\n \"scope\": () => [_dButton.default, _concatClass.default, _helper.fn, _truthHelpers.eq, _chatUserAvatar.default, _dIcon.default],\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, \"member:Member\"));\n var _default = _exports.default = Member;\n});","define(\"discourse/plugins/chat/discourse/components/chat/message-creator/members-count\", [\"exports\", \"@glimmer/component\", \"truth-helpers\", \"discourse/helpers/concat-class\", \"discourse-i18n\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _truthHelpers, _concatClass, _discourseI18n, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class MembersCount extends _component.default {\n get countLabel() {\n return (0, _discourseI18n.i18n)(\"chat.direct_message_creator.members_counter\", {\n count: this.args.count,\n max: this.args.max\n });\n }\n static #_ = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n {{this.countLabel}}\n \n \n */\n {\n \"id\": \"DAeEDTUT\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[15,0,[28,[32,0],[\\\"chat-message-creator__members-count\\\",[52,[28,[32,1],[[30,1],[30,2]],null],\\\"-reached-limit\\\"]],null]],[12],[1,\\\"\\\\n \\\"],[1,[30,0,[\\\"countLabel\\\"]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"@count\\\",\\\"@max\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/message-creator/members-count.js\",\n \"scope\": () => [_concatClass.default, _truthHelpers.gte],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = MembersCount;\n});","define(\"discourse/plugins/chat/discourse/components/chat/message-creator/members-selector\", [\"exports\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/object\", \"@ember/service\", \"discourse/components/d-button\", \"discourse/lib/debounce\", \"discourse/lib/environment\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/chat/message-creator/lib/chatables-loader\", \"discourse/plugins/chat/discourse/components/chat/message-creator/list\", \"discourse/plugins/chat/discourse/components/chat/message-creator/list-handler\", \"discourse/plugins/chat/discourse/components/chat/message-creator/members\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _tracking, _object, _service, _dButton, _debounce, _environment, _discourseI18n, _chatablesLoader, _list, _listHandler, _members, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class MembersSelector extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"chatables\", [_tracking.tracked], function () {\n return [];\n }))();\n #chatables = (() => (dt7948.i(this, \"chatables\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"filter\", [_tracking.tracked], function () {\n return \"\";\n }))();\n #filter = (() => (dt7948.i(this, \"filter\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"highlightedMember\", [_tracking.tracked]))();\n #highlightedMember = (() => (dt7948.i(this, \"highlightedMember\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"highlightedChatable\", [_tracking.tracked]))();\n #highlightedChatable = (() => (dt7948.i(this, \"highlightedChatable\"), void 0))();\n placeholder = (() => (0, _discourseI18n.i18n)(\"chat.direct_message_creator.group_name\"))();\n get items() {\n return this.chatables.filter(c => !this.highlightedMemberIds.includes(c.model.id));\n }\n get highlightedMemberIds() {\n return this.args.members.map(u => u.model.id);\n }\n highlightMember(member) {\n this.highlightedMember = member;\n }\n static #_6 = (() => dt7948.n(this.prototype, \"highlightMember\", [_object.action]))();\n highlightChatable(chatable) {\n this.highlightedChatable = chatable;\n }\n static #_7 = (() => dt7948.n(this.prototype, \"highlightChatable\", [_object.action]))();\n selectChatable(chatable) {\n if (!chatable.enabled) {\n return;\n }\n const chatableMembers = chatable.type === \"group\" ? chatable.model.chat_enabled_user_count : 1;\n if (this.args.membersCount + chatableMembers > this.siteSettings.chat_max_direct_message_users) {\n return;\n }\n if (this.highlightedMemberIds.includes(chatable.model.id)) {\n this.unselectMember(chatable);\n } else {\n this.args.onChange?.([...this.args.members, chatable]);\n this.highlightedChatable = this.items[0];\n }\n this.filter = \"\";\n this.focusFilterAction?.();\n this.highlightedMember = null;\n }\n static #_8 = (() => dt7948.n(this.prototype, \"selectChatable\", [_object.action]))();\n registerFocusFilterAction(actionFn) {\n this.focusFilterAction = actionFn;\n }\n static #_9 = (() => dt7948.n(this.prototype, \"registerFocusFilterAction\", [_object.action]))();\n onFilter(event) {\n this.searchHandler = (0, _debounce.default)(this, this.fetch, event.target.value, _environment.INPUT_DELAY);\n }\n static #_10 = (() => dt7948.n(this.prototype, \"onFilter\", [_object.action]))();\n async fetch(term) {\n this.highlightedMember = null;\n const loader = new _chatablesLoader.default(this);\n this.chatables = await loader.search(term, {\n includeCategoryChannels: false,\n includeDirectMessageChannels: false,\n excludedMembershipsChannelId: this.args.channel?.id\n });\n this.highlightedChatable = this.items[0];\n }\n static #_11 = (() => dt7948.n(this.prototype, \"fetch\", [_object.action]))();\n unselectMember(removedMember) {\n this.args.onChange?.(this.args.members.filter(member => member !== removedMember));\n this.highlightedMember = null;\n this.highlightedChatable = this.items[0];\n this.focusFilterAction?.();\n }\n static #_12 = (() => dt7948.n(this.prototype, \"unselectMember\", [_object.action]))();\n static #_13 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n
    \n
    \n \n \n \n
    \n
    \n \n \n \n \n \n */\n {\n \"id\": \"MC51huPc\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[8,[32,0],null,[[\\\"@items\\\",\\\"@highlightedItem\\\",\\\"@onHighlight\\\",\\\"@onSelect\\\"],[[30,0,[\\\"items\\\"]],[30,0,[\\\"highlightedChatable\\\"]],[30,0,[\\\"highlightChatable\\\"]],[30,0,[\\\"selectChatable\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-message-creator__add-members-header-container\\\"],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-message-creator__add-members-header\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,1],null,[[\\\"@filter\\\",\\\"@members\\\",\\\"@highlightedMember\\\",\\\"@onFilter\\\",\\\"@registerFocusFilterAction\\\",\\\"@onHighlightMember\\\",\\\"@onSelectMember\\\"],[[30,0,[\\\"filter\\\"]],[30,1],[30,0,[\\\"highlightedMember\\\"]],[30,0,[\\\"onFilter\\\"]],[30,0,[\\\"registerFocusFilterAction\\\"]],[30,0,[\\\"highlightMember\\\"]],[30,0,[\\\"unselectMember\\\"]]]],null],[1,\\\"\\\\n\\\\n \\\"],[8,[32,2],[[24,0,\\\"btn-flat chat-message-creator__add-members__close-btn\\\"]],[[\\\"@action\\\",\\\"@icon\\\"],[[30,2],\\\"xmark\\\"]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\\n \\\"],[8,[32,3],null,[[\\\"@items\\\",\\\"@highlightedItem\\\",\\\"@onSelect\\\",\\\"@onHighlight\\\",\\\"@maxReached\\\",\\\"@membersCount\\\"],[[30,0,[\\\"items\\\"]],[30,0,[\\\"highlightedChatable\\\"]],[30,0,[\\\"selectChatable\\\"]],[30,0,[\\\"highlightChatable\\\"]],[30,3],[30,4]]],null],[1,\\\"\\\\n\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[\\\"@members\\\",\\\"@cancel\\\",\\\"@maxReached\\\",\\\"@membersCount\\\"],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/message-creator/members-selector.js\",\n \"scope\": () => [_listHandler.default, _members.default, _dButton.default, _list.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = MembersSelector;\n});","define(\"discourse/plugins/chat/discourse/components/chat/message-creator/members\", [\"exports\", \"@glimmer/component\", \"@ember/component\", \"@ember/modifier\", \"@ember/object\", \"@ember/render-modifiers/modifiers/did-insert\", \"truth-helpers\", \"discourse/helpers/d-icon\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/chat/message-creator/lib/iterate-list\", \"discourse/plugins/chat/discourse/components/chat/message-creator/member\", \"@ember/template-factory\"], function (_exports, _component, _component2, _modifier, _object, _didInsert, _truthHelpers, _dIcon, _discourseI18n, _iterateList, _member, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class Members extends _component.default {\n addMoreMembersLabel = (() => (0, _discourseI18n.i18n)(\"chat.new_message_modal.user_search_placeholder\"))();\n onFilter() {\n this.args.onFilter(...arguments);\n }\n static #_ = (() => dt7948.n(this.prototype, \"onFilter\", [_object.action]))();\n registerFocusFilterAction(element) {\n this.args.registerFocusFilterAction(() => element.focus());\n }\n static #_2 = (() => dt7948.n(this.prototype, \"registerFocusFilterAction\", [_object.action]))();\n handleKeypress(event) {\n if (event.key === \"Backspace\" && event.target.value === \"\") {\n event.preventDefault();\n event.stopPropagation();\n if (!this.args.highlightedMember) {\n this.args.onHighlightMember(this.args.members.lastObject);\n } else {\n this.args.onSelectMember(this.args.highlightedMember);\n }\n return;\n }\n if (event.key === \"ArrowLeft\" && event.target.value === \"\") {\n event.preventDefault();\n event.stopPropagation();\n this.args.onHighlightMember((0, _iterateList.getPrevious)(this.args.members, this.args.highlightedMember));\n return;\n }\n if (event.key === \"ArrowRight\" && event.target.value === \"\") {\n event.preventDefault();\n event.stopPropagation();\n this.args.onHighlightMember((0, _iterateList.getNext)(this.args.members, this.args.highlightedMember));\n return;\n }\n if (event.key === \"Enter\" && this.args.highlightedMember) {\n event.preventDefault();\n event.stopPropagation();\n this.args.onSelectMember(this.args.highlightedMember);\n return;\n }\n this.highlightedMember = null;\n }\n static #_3 = (() => dt7948.n(this.prototype, \"handleKeypress\", [_object.action]))();\n static #_4 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
    \n
    \n {{icon \"magnifying-glass\"}}\n \n {{#each @members as |member|}}\n \n {{/each}}\n \n \n
    \n
    \n \n */\n {\n \"id\": \"88qNaKCo\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-message-creator__members-container\\\"],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-message-creator__members\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,0],[\\\"magnifying-glass\\\"],null]],[1,\\\"\\\\n\\\\n\\\"],[42,[28,[31,1],[[28,[31,1],[[30,1]],null]],null],null,[[[1,\\\" \\\"],[8,[32,1],null,[[\\\"@member\\\",\\\"@onSelect\\\",\\\"@highlighted\\\"],[[30,2],[30,3],[28,[32,2],[[30,2],[30,4]],null]]],null],[1,\\\"\\\\n\\\"]],[2]],null],[1,\\\"\\\\n \\\"],[8,[32,3],[[16,\\\"placeholder\\\",[30,0,[\\\"addMoreMembersLabel\\\"]]],[24,0,\\\"chat-message-creator__members-input\\\"],[16,\\\"autofocus\\\",true],[4,[32,4],[\\\"input\\\",[30,0,[\\\"onFilter\\\"]]],null],[4,[32,4],[\\\"keydown\\\",[30,0,[\\\"handleKeypress\\\"]]],null],[4,[32,5],[[30,0,[\\\"registerFocusFilterAction\\\"]]],null]],[[\\\"@value\\\"],[[30,5]]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"@members\\\",\\\"member\\\",\\\"@onSelectMember\\\",\\\"@highlightedMember\\\",\\\"@filter\\\"],false,[\\\"each\\\",\\\"-track-array\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/message-creator/members.js\",\n \"scope\": () => [_dIcon.default, _member.default, _truthHelpers.eq, _component2.Input, _modifier.on, _didInsert.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = Members;\n});","define(\"discourse/plugins/chat/discourse/components/chat/message-creator/new-group\", [\"exports\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/component\", \"@ember/object\", \"@ember/service\", \"truth-helpers\", \"discourse/components/d-button\", \"discourse/lib/ajax-error\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/chat/message-creator/members-count\", \"discourse/plugins/chat/discourse/components/chat/message-creator/members-selector\", \"@ember/template-factory\"], function (_exports, _component, _tracking, _component2, _object, _service, _truthHelpers, _dButton, _ajaxError, _discourseI18n, _membersCount, _membersSelector, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class NewGroup extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"newGroupTitle\", [_tracking.tracked], function () {\n return \"\";\n }))();\n #newGroupTitle = (() => (dt7948.i(this, \"newGroupTitle\"), void 0))();\n placeholder = (() => (0, _discourseI18n.i18n)(\"chat.direct_message_creator.group_name\"))();\n get membersCount() {\n return this.args.members?.reduce((acc, member) => {\n if (member.type === \"group\") {\n return acc + member.model.chat_enabled_user_count;\n } else {\n return acc + 1;\n }\n }, 0);\n }\n get maxMembers() {\n return this.siteSettings.chat_max_direct_message_users;\n }\n async createGroup() {\n try {\n const usernames = this.args.members.filter(member => member.type === \"user\").mapBy(\"model.username\");\n const groups = this.args.members.filter(member => member.type === \"group\").mapBy(\"model.name\");\n const channel = await this.chat.createDmChannel({\n usernames,\n groups\n }, {\n name: this.newGroupTitle\n });\n if (!channel) {\n return;\n }\n this.args.close?.();\n this.router.transitionTo(\"chat.channel\", ...channel.routeModels);\n } catch (error) {\n (0, _ajaxError.popupAjaxError)(error);\n }\n }\n static #_5 = (() => dt7948.n(this.prototype, \"createGroup\", [_object.action]))();\n static #_6 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
    \n
    \n
    \n
    \n \n \n \n
    \n
    \n \n \n \n {{#if @members.length}}\n \n {{/if}}\n
    \n
    \n \n */\n {\n \"id\": \"D67hhJRe\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-message-creator__new-group-container\\\"],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-message-creator__new-group\\\"],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-message-creator__new-group-header-container\\\"],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-message-creator__new-group-header\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,0],[[24,3,\\\"channel-name\\\"],[24,0,\\\"chat-message-creator__new-group-header__input\\\"],[16,\\\"placeholder\\\",[30,0,[\\\"placeholder\\\"]]]],[[\\\"@value\\\"],[[30,0,[\\\"newGroupTitle\\\"]]]],null],[1,\\\"\\\\n\\\\n \\\"],[8,[32,1],null,[[\\\"@count\\\",\\\"@max\\\"],[[30,0,[\\\"membersCount\\\"]],[30,0,[\\\"siteSettings\\\",\\\"chat_max_direct_message_users\\\"]]]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\\n \\\"],[8,[32,2],null,[[\\\"@members\\\",\\\"@channel\\\",\\\"@onChange\\\",\\\"@close\\\",\\\"@cancel\\\",\\\"@membersCount\\\",\\\"@maxReached\\\"],[[30,1],[30,2],[30,3],[30,4],[30,5],[30,0,[\\\"membersCount\\\"]],[28,[32,3],[[30,0,[\\\"membersCount\\\"]],[30,0,[\\\"maxMembers\\\"]]],null]]],null],[1,\\\"\\\\n\\\\n\\\"],[41,[30,1,[\\\"length\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-message-creator__new-group-footer-container\\\"],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-message-creator__new-group-footer\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,4],[[24,0,\\\"btn-flat\\\"]],[[\\\"@label\\\",\\\"@action\\\"],[\\\"cancel\\\",[30,5]]],null],[1,\\\"\\\\n \\\"],[8,[32,4],[[24,0,\\\"btn-primary create-chat-group\\\"]],[[\\\"@label\\\",\\\"@action\\\"],[\\\"chat.new_message_modal.create_new_group_chat\\\",[30,0,[\\\"createGroup\\\"]]]],null],[1,\\\"\\\\n\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"@members\\\",\\\"@channel\\\",\\\"@onChangeMembers\\\",\\\"@close\\\",\\\"@cancel\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/message-creator/new-group.js\",\n \"scope\": () => [_component2.Input, _membersCount.default, _membersSelector.default, _truthHelpers.gte, _dButton.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = NewGroup;\n});","define(\"discourse/plugins/chat/discourse/components/chat/message-creator/search-input\", [\"exports\", \"@glimmer/component\", \"@ember/component\", \"@ember/modifier\", \"discourse/helpers/d-icon\", \"discourse-i18n\", \"@ember/template-factory\"], function (_exports, _component, _component2, _modifier, _dIcon, _discourseI18n, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatMessageCreatorSearchInput extends _component.default {\n filterPlaceholder = (() => (0, _discourseI18n.i18n)(\"chat.new_message_modal.filter\"))();\n static #_ = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
    \n
    \n {{icon\n \"magnifying-glass\"\n class=\"chat-message-creator__search-input__search-icon\"\n }}\n \n
    \n
    \n \n */\n {\n \"id\": \"tyOF9Rxg\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-message-creator__search-input-container\\\"],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-message-creator__search-input\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,0],[\\\"magnifying-glass\\\"],[[\\\"class\\\"],[\\\"chat-message-creator__search-input__search-icon\\\"]]]],[1,\\\"\\\\n \\\"],[8,[32,1],[[24,0,\\\"chat-message-creator__search-input__input\\\"],[16,\\\"placeholder\\\",[30,0,[\\\"filterPlaceholder\\\"]]],[4,[32,2],[\\\"input\\\",[30,1]],null]],null,null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"@onFilter\\\"],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/message-creator/search-input.js\",\n \"scope\": () => [_dIcon.default, _component2.Input, _modifier.on],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatMessageCreatorSearchInput;\n});","define(\"discourse/plugins/chat/discourse/components/chat/message-creator/search\", [\"exports\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/helper\", \"@ember/object\", \"@ember/render-modifiers/modifiers/did-insert\", \"@ember/service\", \"discourse/components/d-button\", \"discourse/lib/ajax-error\", \"discourse/lib/debounce\", \"discourse/lib/environment\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/chat/message-creator/constants\", \"discourse/plugins/chat/discourse/components/chat/message-creator/lib/chatables-loader\", \"discourse/plugins/chat/discourse/components/chat/message-creator/list\", \"discourse/plugins/chat/discourse/components/chat/message-creator/list-handler\", \"discourse/plugins/chat/discourse/components/chat/message-creator/search-input\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _tracking, _helper, _object, _didInsert, _service, _dButton, _ajaxError, _debounce, _environment, _discourseI18n, _constants, _chatablesLoader, _list, _listHandler, _searchInput, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatMessageCreatorSearch extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"chatables\", [_tracking.tracked], function () {\n return [];\n }))();\n #chatables = (() => (dt7948.i(this, \"chatables\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"highlightedChatable\", [_tracking.tracked]))();\n #highlightedChatable = (() => (dt7948.i(this, \"highlightedChatable\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"term\", [_tracking.tracked]))();\n #term = (() => (dt7948.i(this, \"term\"), void 0))();\n static #_6 = (() => dt7948.g(this.prototype, \"loading\", [_tracking.tracked], function () {\n return false;\n }))();\n #loading = (() => (dt7948.i(this, \"loading\"), void 0))();\n get items() {\n const items = [];\n if (this.loading) {\n return items;\n }\n if (!this.term?.length) {\n items.push({\n identifier: \"new-group\",\n type: \"list-action\",\n label: (0, _discourseI18n.i18n)(\"chat.new_message_modal.new_group_chat\"),\n enabled: true,\n icon: \"users\",\n id: \"new-group-chat\"\n });\n }\n return [...items, ...this.chatables];\n }\n prefillAddMembers(item) {\n this.args.onChangeMode(_constants.MODES.new_group, [item]);\n }\n static #_7 = (() => dt7948.n(this.prototype, \"prefillAddMembers\", [_object.action]))();\n highlightChatable(chatable) {\n this.highlightedChatable = chatable;\n }\n static #_8 = (() => dt7948.n(this.prototype, \"highlightChatable\", [_object.action]))();\n async selectChatable(item) {\n switch (item.type) {\n case \"list-action\":\n this.args.onChangeMode(_constants.MODES.new_group);\n break;\n case \"user\":\n if (!item.enabled) {\n return;\n }\n await this.startOneToOneChannel(item.model.username);\n break;\n case \"group\":\n if (!item.enabled) {\n return;\n }\n this.args.onChangeMode(_constants.MODES.new_group, [item]);\n break;\n default:\n this.router.transitionTo(\"chat.channel\", ...item.model.routeModels);\n this.args.close();\n break;\n }\n }\n static #_9 = (() => dt7948.n(this.prototype, \"selectChatable\", [_object.action]))();\n onFilter(event) {\n this.chatables = [];\n this.term = event?.target?.value;\n this.searchHandler = (0, _debounce.default)(this, this.fetch, event.target.value, _environment.INPUT_DELAY);\n }\n static #_10 = (() => dt7948.n(this.prototype, \"onFilter\", [_object.action]))();\n async fetch() {\n const loader = new _chatablesLoader.default(this);\n this.chatables = await loader.search(this.term, {\n preloadChannels: !this.term\n });\n this.highlightedChatable = this.items[0];\n }\n static #_11 = (() => dt7948.n(this.prototype, \"fetch\", [_object.action]))();\n async startOneToOneChannel(username) {\n try {\n const channel = await this.chat.upsertDmChannel({\n usernames: [username]\n });\n if (!channel) {\n return;\n }\n this.args.close?.();\n this.router.transitionTo(\"chat.channel\", ...channel.routeModels);\n } catch (error) {\n (0, _ajaxError.popupAjaxError)(error);\n }\n }\n async startGroupChannel(group) {\n try {\n const channel = await this.chat.upsertDmChannel({\n groups: [group]\n });\n if (!channel) {\n return;\n }\n this.args.close?.();\n this.router.transitionTo(\"chat.channel\", ...channel.routeModels);\n } catch (error) {\n (0, _ajaxError.popupAjaxError)(error);\n }\n }\n static #_12 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n
    \n
    \n \n \n \n \n
    \n \n \n
    \n \n \n \n */\n {\n \"id\": \"8x1l771W\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[8,[32,0],null,[[\\\"@items\\\",\\\"@highlightedItem\\\",\\\"@onHighlight\\\",\\\"@onSelect\\\",\\\"@onShifSelect\\\"],[[30,0,[\\\"items\\\"]],[30,0,[\\\"highlightedChatable\\\"]],[30,0,[\\\"highlightChatable\\\"]],[30,0,[\\\"selectChatable\\\"]],[30,0,[\\\"prefillAddMembers\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-message-creator__search-container\\\"],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-message-creator__search\\\"],[12],[1,\\\"\\\\n \\\"],[11,0],[24,0,\\\"chat-message-creator__section\\\"],[4,[32,1],[[28,[32,2],[[30,0,[\\\"fetch\\\"]],null],null]],null],[12],[1,\\\"\\\\n \\\"],[8,[32,3],null,[[\\\"@filter\\\",\\\"@onFilter\\\"],[[30,0,[\\\"term\\\"]],[30,0,[\\\"onFilter\\\"]]]],null],[1,\\\"\\\\n\\\\n \\\"],[8,[32,4],[[24,0,\\\"btn-flat chat-message-creator__search-input__cancel-button\\\"]],[[\\\"@icon\\\",\\\"@action\\\"],[\\\"xmark\\\",[30,1]]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\\n \\\"],[8,[32,5],null,[[\\\"@items\\\",\\\"@highlightedItem\\\",\\\"@onSelect\\\",\\\"@onHighlight\\\",\\\"@onShiftSelect\\\"],[[30,0,[\\\"items\\\"]],[30,0,[\\\"highlightedChatable\\\"]],[30,0,[\\\"selectChatable\\\"]],[30,0,[\\\"highlightChatable\\\"]],[30,0,[\\\"prefillAddMembers\\\"]]]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[\\\"@close\\\"],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/message-creator/search.js\",\n \"scope\": () => [_listHandler.default, _didInsert.default, _helper.fn, _searchInput.default, _dButton.default, _list.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatMessageCreatorSearch;\n});","define(\"discourse/plugins/chat/discourse/components/chat/message-creator/user\", [\"exports\", \"@glimmer/component\", \"@ember/service\", \"ember-modifier\", \"truth-helpers\", \"discourse/components/user-status-message\", \"discourse/helpers/concat-class\", \"discourse/helpers/user-status\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/chat-user-avatar\", \"discourse/plugins/chat/discourse/components/chat-user-display-name\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _service, _emberModifier, _truthHelpers, _userStatusMessage, _concatClass, _userStatus, _discourseI18n, _chatUserAvatar, _chatUserDisplayName, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatableUser extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n disabledUserLabel = (() => (0, _discourseI18n.i18n)(\"chat.new_message_modal.disabled_user\"))();\n trackUserStatus = (() => (0, _emberModifier.modifier)((element, _ref) => {\n let [user] = _ref;\n user.statusManager.trackStatus();\n return () => {\n user.statusManager.stopTrackingStatus();\n };\n }))();\n get showIndicator() {\n return this.isUrgent || this.isUnread;\n }\n get isUrgent() {\n return this.args.item.tracking?.unreadCount > 0 || this.args.item.tracking?.mentionCount > 0 || this.args.item.tracking?.watchedThreadsUnreadCount > 0;\n }\n get isUnread() {\n return this.args.item.unread_thread_count > 0;\n }\n static #_2 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n \n \n \n {{#if this.showIndicator}}\n \n {{/if}}\n \n {{userStatus @item.model currentUser=this.currentUser}}\n \n
    \n \n
    \n \n {{#unless @item.enabled}}\n \n {{this.disabledUserLabel}}\n \n {{/unless}}\n \n \n */\n {\n \"id\": \"YpiLj1G5\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-message-creator__chatable -user\\\"],[15,\\\"data-disabled\\\",[28,[32,0],[[30,1,[\\\"enabled\\\"]]],null]],[12],[1,\\\"\\\\n \\\"],[8,[32,1],null,[[\\\"@user\\\",\\\"@interactive\\\"],[[30,1,[\\\"model\\\"]],false]],null],[1,\\\"\\\\n \\\"],[8,[32,2],null,[[\\\"@user\\\"],[[30,1,[\\\"model\\\"]]]],null],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"showIndicator\\\"]],[[[1,\\\" \\\"],[10,0],[15,0,[28,[32,3],[\\\"unread-indicator\\\",[52,[30,0,[\\\"isUrgent\\\"]],\\\"-urgent\\\"]],null]],[12],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n \\\"],[1,[28,[32,4],[[30,1,[\\\"model\\\"]]],[[\\\"currentUser\\\"],[[30,0,[\\\"currentUser\\\"]]]]]],[1,\\\"\\\\n\\\\n \\\"],[11,0],[24,0,\\\"user-status\\\"],[4,[30,0,[\\\"trackUserStatus\\\"]],[[30,1,[\\\"model\\\"]]],null],[12],[1,\\\"\\\\n \\\"],[8,[32,5],null,[[\\\"@status\\\",\\\"@showDescription\\\"],[[30,1,[\\\"model\\\",\\\"status\\\"]],true]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[51,[30,1,[\\\"enabled\\\"]]],[[[1,\\\" \\\"],[10,1],[14,0,\\\"chat-message-creator__disabled-warning\\\"],[12],[1,\\\"\\\\n \\\"],[1,[30,0,[\\\"disabledUserLabel\\\"]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"@item\\\"],false,[\\\"if\\\",\\\"unless\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/message-creator/user.js\",\n \"scope\": () => [_truthHelpers.not, _chatUserAvatar.default, _chatUserDisplayName.default, _concatClass.default, _userStatus.default, _userStatusMessage.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatableUser;\n});","define(\"discourse/plugins/chat/discourse/components/chat/message/avatar\", [\"exports\", \"discourse/plugins/chat/discourse/components/chat-emoji-avatar\", \"discourse/plugins/chat/discourse/components/chat-user-avatar\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _chatEmojiAvatar, _chatUserAvatar, _component, _templateFactory, _templateOnly) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const Avatar = (0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
    \n {{#if @message.chatWebhookEvent.emoji}}\n \n {{else}}\n \n {{/if}}\n
    \n \n */\n {\n \"id\": \"LdIBqD01\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-message-avatar\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"chatWebhookEvent\\\",\\\"emoji\\\"]],[[[1,\\\" \\\"],[8,[32,0],null,[[\\\"@emoji\\\"],[[30,1,[\\\"chatWebhookEvent\\\",\\\"emoji\\\"]]]],null],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[8,[32,1],null,[[\\\"@user\\\",\\\"@avatarSize\\\"],[[30,1,[\\\"user\\\"]],\\\"medium\\\"]],null],[1,\\\"\\\\n\\\"]],[]]],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\"]],[\\\"@message\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/message/avatar.js\",\n \"scope\": () => [_chatEmojiAvatar.default, _chatUserAvatar.default],\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, \"avatar:Avatar\"));\n var _default = _exports.default = Avatar;\n});","define(\"discourse/plugins/chat/discourse/components/chat/message/error\", [\"exports\", \"@ember/helper\", \"truth-helpers\", \"discourse/components/d-button\", \"discourse-i18n\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _helper, _truthHelpers, _dButton, _discourseI18n, _component, _templateFactory, _templateOnly) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const Error = (0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if @message.error}}\n
    \n {{#if (eq @message.error \"network_error\")}}\n \n \n {{i18n \"chat.retry_staged_message.title\"}}\n \n \n {{i18n \"chat.retry_staged_message.action\"}}\n \n \n {{else}}\n {{@message.error}}\n {{/if}}\n
    \n {{/if}}\n \n */\n {\n \"id\": \"oXafRuak\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"error\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-message-error\\\"],[12],[1,\\\"\\\\n\\\"],[41,[28,[32,0],[[30,1,[\\\"error\\\"]],\\\"network_error\\\"],null],[[[1,\\\" \\\"],[8,[32,1],[[24,0,\\\"chat-message-error__retry-btn\\\"]],[[\\\"@action\\\",\\\"@icon\\\"],[[28,[32,2],[[30,2],[30,1]],null],\\\"circle-exclamation\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[10,1],[14,0,\\\"chat-message-error__retry-btn-title\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,3],[\\\"chat.retry_staged_message.title\\\"],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[10,1],[14,0,\\\"chat-message-error__retry-btn-action\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,3],[\\\"chat.retry_staged_message.action\\\"],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[1,[30,1,[\\\"error\\\"]]],[1,\\\"\\\\n\\\"]],[]]],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null]],[\\\"@message\\\",\\\"@onRetry\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/message/error.js\",\n \"scope\": () => [_truthHelpers.eq, _dButton.default, _helper.fn, _discourseI18n.i18n],\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, \"error:Error\"));\n var _default = _exports.default = Error;\n});","define(\"discourse/plugins/chat/discourse/components/chat/message/info\", [\"exports\", \"@glimmer/component\", \"@ember/helper\", \"@ember/render-modifiers/modifiers/did-insert\", \"@ember/render-modifiers/modifiers/will-destroy\", \"@ember/routing\", \"@ember/service\", \"truth-helpers\", \"discourse/components/bookmark-icon\", \"discourse/components/user-status-message\", \"discourse/helpers/concat-class\", \"discourse/helpers/d-icon\", \"discourse/lib/decorators\", \"discourse/lib/settings\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/channel-title\", \"discourse/plugins/chat/discourse/helpers/format-chat-date\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _helper, _didInsert, _willDestroy, _routing, _service, _truthHelpers, _bookmarkIcon, _userStatusMessage, _concatClass, _dIcon, _decorators, _settings, _discourseI18n, _channelTitle, _formatChatDate, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatMessageInfo extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n trackStatus() {\n this.#user?.statusManager.trackStatus();\n }\n static #_3 = (() => dt7948.n(this.prototype, \"trackStatus\", [_decorators.bind]))();\n stopTrackingStatus() {\n this.#user?.statusManager.stopTrackingStatus();\n }\n static #_4 = (() => dt7948.n(this.prototype, \"stopTrackingStatus\", [_decorators.bind]))();\n get usernameClasses() {\n const user = this.#user;\n const classes = this.prioritizeName ? [\"is-full-name\"] : [\"is-username\"];\n if (!user) {\n return classes;\n }\n if (user.staff) {\n classes.push(\"is-staff\");\n }\n if (user.admin) {\n classes.push(\"is-admin\");\n }\n if (user.moderator) {\n classes.push(\"is-moderator\");\n }\n if (user.new_user) {\n classes.push(\"is-new-user\");\n }\n if (user.primary_group_name) {\n classes.push(\"group--\" + user.primary_group_name);\n }\n return classes.join(\" \");\n }\n get name() {\n return this.prioritizeName ? this.#user?.get(\"name\") : this.#user?.get(\"username\");\n }\n get isFlagged() {\n return this.args.message?.reviewableId || this.args.message?.userFlagStatus === 0;\n }\n get prioritizeName() {\n return this.siteSettings.display_name_on_posts && (0, _settings.prioritizeNameInUx)(this.#user?.get(\"name\"));\n }\n get showStatus() {\n return !!this.#user?.get(\"status\");\n }\n get #user() {\n return this.args.message?.user;\n }\n get routeModels() {\n if (this.site.mobileView) {\n return [...this.args.message.channel.routeModels, this.args.message.id];\n } else {\n return [...this.args.message.channel.routeModels, this.args.message.id, this.args.message.thread.id];\n }\n }\n get route() {\n if (this.site.mobileView) {\n return \"chat.channel.near-message\";\n } else {\n return \"chat.channel.near-message-with-thread\";\n }\n }\n static #_5 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if @show}}\n \n {{#if @message.chatWebhookEvent}}\n {{#if @message.chatWebhookEvent.username}}\n \n {{@message.chatWebhookEvent.username}}\n \n {{/if}}\n \n \n {{i18n \"chat.bot\"}}\n \n {{else}}\n \n {{this.name}}\n {{#if this.showStatus}}\n \n \n \n {{/if}}\n \n {{/if}}\n \n \n {{formatChatDate @message (hash threadContext=@threadContext)}}\n \n \n {{#if @message.bookmark}}\n \n \n \n {{/if}}\n \n {{#if this.isFlagged}}\n \n {{#if @message.reviewableId}}\n \n {{icon \"flag\" title=\"chat.flagged\"}}\n \n {{else}}\n {{icon \"flag\" title=\"chat.you_flagged\"}}\n {{/if}}\n \n {{/if}}\n \n {{#if (and @threadContext @message.isOriginalThreadMessage)}}\n \n \n {{i18n \"chat.see_in\"}}\n \n \n \n {{/if}}\n \n {{/if}}\n \n */\n {\n \"id\": \"V3WJO7ez\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,1],[[[1,\\\" \\\"],[11,0],[24,0,\\\"chat-message-info\\\"],[4,[32,0],[[30,0,[\\\"trackStatus\\\"]]],null],[4,[32,1],[[30,0,[\\\"stopTrackingStatus\\\"]]],null],[12],[1,\\\"\\\\n\\\"],[41,[30,2,[\\\"chatWebhookEvent\\\"]],[[[41,[30,2,[\\\"chatWebhookEvent\\\",\\\"username\\\"]],[[[1,\\\" \\\"],[10,1],[15,0,[28,[32,2],[\\\"chat-message-info__username\\\",[30,0,[\\\"usernameClasses\\\"]]],null]],[12],[1,\\\"\\\\n \\\"],[1,[30,2,[\\\"chatWebhookEvent\\\",\\\"username\\\"]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n \\\"],[10,1],[14,0,\\\"chat-message-info__bot-indicator\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,3],[\\\"chat.bot\\\"],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[10,1],[14,\\\"role\\\",\\\"button\\\"],[15,0,[28,[32,2],[\\\"chat-message-info__username\\\",[30,0,[\\\"usernameClasses\\\"]],\\\"clickable\\\"],null]],[15,\\\"data-user-card\\\",[30,2,[\\\"user\\\",\\\"username\\\"]]],[12],[1,\\\"\\\\n \\\"],[10,1],[14,0,\\\"chat-message-info__username__name\\\"],[12],[1,[30,0,[\\\"name\\\"]]],[13],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"showStatus\\\"]],[[[1,\\\" \\\"],[10,1],[14,0,\\\"chat-message-info__status\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,4],null,[[\\\"@status\\\"],[[30,2,[\\\"user\\\",\\\"status\\\"]]]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"\\\\n \\\"],[10,1],[14,0,\\\"chat-message-info__date\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,5],[[30,2],[28,[32,6],null,[[\\\"threadContext\\\"],[[30,3]]]]],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,2,[\\\"bookmark\\\"]],[[[1,\\\" \\\"],[10,1],[14,0,\\\"chat-message-info__bookmark\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,7],null,[[\\\"@bookmark\\\"],[[30,2,[\\\"bookmark\\\"]]]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"isFlagged\\\"]],[[[1,\\\" \\\"],[10,1],[14,0,\\\"chat-message-info__flag\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,2,[\\\"reviewableId\\\"]],[[[1,\\\" \\\"],[8,[32,8],null,[[\\\"@route\\\",\\\"@model\\\"],[\\\"review.show\\\",[30,2,[\\\"reviewableId\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[1,[28,[32,9],[\\\"flag\\\"],[[\\\"title\\\"],[\\\"chat.flagged\\\"]]]],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[1,[28,[32,9],[\\\"flag\\\"],[[\\\"title\\\"],[\\\"chat.you_flagged\\\"]]]],[1,\\\"\\\\n\\\"]],[]]],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[28,[32,10],[[30,3],[30,2,[\\\"isOriginalThreadMessage\\\"]]],null],[[[1,\\\" \\\"],[8,[32,8],[[24,0,\\\"chat-message-info__original-message\\\"]],[[\\\"@route\\\",\\\"@models\\\"],[[30,0,[\\\"route\\\"]],[30,0,[\\\"routeModels\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[10,1],[14,0,\\\"chat-message-info__original-message__text\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,3],[\\\"chat.see_in\\\"],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[8,[32,11],null,[[\\\"@channel\\\"],[[30,2,[\\\"channel\\\"]]]],null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[\\\"@show\\\",\\\"@message\\\",\\\"@threadContext\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/message/info.js\",\n \"scope\": () => [_didInsert.default, _willDestroy.default, _concatClass.default, _discourseI18n.i18n, _userStatusMessage.default, _formatChatDate.default, _helper.hash, _bookmarkIcon.default, _routing.LinkTo, _dIcon.default, _truthHelpers.and, _channelTitle.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatMessageInfo;\n});","define(\"discourse/plugins/chat/discourse/components/chat/message/left-gutter\", [\"exports\", \"@glimmer/component\", \"@ember/helper\", \"@ember/routing\", \"@ember/service\", \"truth-helpers\", \"discourse/components/bookmark-icon\", \"discourse/helpers/d-icon\", \"discourse/plugins/chat/discourse/helpers/format-chat-date\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _helper, _routing, _service, _truthHelpers, _bookmarkIcon, _dIcon, _formatChatDate, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatMessageLeftGutter extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n static #_2 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
    \n {{#if @message.reviewableId}}\n \n {{icon \"flag\" title=\"chat.flagged\"}}\n \n {{else if (eq @message.userFlagStatus 0)}}\n
    \n {{icon \"flag\" title=\"chat.you_flagged\"}}\n
    \n {{else if this.site.desktopView}}\n \n {{formatChatDate\n @message\n (hash mode=\"tiny\" threadContext=@threadContext)\n }}\n \n {{/if}}\n {{#if @message.bookmark}}\n \n \n \n {{/if}}\n
    \n \n */\n {\n \"id\": \"8/IIAcEI\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-message-left-gutter\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"reviewableId\\\"]],[[[1,\\\" \\\"],[8,[32,0],[[24,0,\\\"chat-message-left-gutter__flag\\\"]],[[\\\"@route\\\",\\\"@model\\\"],[\\\"review.show\\\",[30,1,[\\\"reviewableId\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[1,[28,[32,1],[\\\"flag\\\"],[[\\\"title\\\"],[\\\"chat.flagged\\\"]]]],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]],[[[41,[28,[32,2],[[30,1,[\\\"userFlagStatus\\\"]],0],null],[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-message-left-gutter__flag\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,1],[\\\"flag\\\"],[[\\\"title\\\"],[\\\"chat.you_flagged\\\"]]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[41,[30,0,[\\\"site\\\",\\\"desktopView\\\"]],[[[1,\\\" \\\"],[10,1],[14,0,\\\"chat-message-left-gutter__date\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,3],[[30,1],[28,[32,4],null,[[\\\"mode\\\",\\\"threadContext\\\"],[\\\"tiny\\\",[30,2]]]]],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[]],null]],[]]]],[]]],[41,[30,1,[\\\"bookmark\\\"]],[[[1,\\\" \\\"],[10,1],[14,0,\\\"chat-message-left-gutter__bookmark\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,5],null,[[\\\"@bookmark\\\"],[[30,1,[\\\"bookmark\\\"]]]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"@message\\\",\\\"@threadContext\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/message/left-gutter.js\",\n \"scope\": () => [_routing.LinkTo, _dIcon.default, _truthHelpers.eq, _formatChatDate.default, _helper.hash, _bookmarkIcon.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatMessageLeftGutter;\n});","define(\"discourse/plugins/chat/discourse/components/chat/modal/archive-channel\", [\"exports\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/object\", \"@ember/service\", \"@ember/template\", \"@ember/utils\", \"discourse/components/d-button\", \"discourse/components/d-modal\", \"discourse/lib/ajax-error\", \"discourse/lib/later\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/chat-to-topic-selector\", \"discourse/plugins/chat/discourse/models/chat-channel\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _tracking, _object, _service, _template, _utils, _dButton, _dModal, _ajaxError, _later, _discourseI18n, _chatToTopicSelector, _chatChannel, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatModalArchiveChannel extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chatApi\", [_service.service]))();\n #chatApi = (() => (dt7948.i(this, \"chatApi\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"selection\", [_tracking.tracked], function () {\n return _chatToTopicSelector.NEW_TOPIC_SELECTION;\n }))();\n #selection = (() => (dt7948.i(this, \"selection\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"saving\", [_tracking.tracked], function () {\n return false;\n }))();\n #saving = (() => (dt7948.i(this, \"saving\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"topicTitle\", [_tracking.tracked], function () {\n return null;\n }))();\n #topicTitle = (() => (dt7948.i(this, \"topicTitle\"), void 0))();\n static #_6 = (() => dt7948.g(this.prototype, \"categoryId\", [_tracking.tracked], function () {\n return null;\n }))();\n #categoryId = (() => (dt7948.i(this, \"categoryId\"), void 0))();\n static #_7 = (() => dt7948.g(this.prototype, \"tags\", [_tracking.tracked], function () {\n return null;\n }))();\n #tags = (() => (dt7948.i(this, \"tags\"), void 0))();\n static #_8 = (() => dt7948.g(this.prototype, \"selectedTopicId\", [_tracking.tracked], function () {\n return null;\n }))();\n #selectedTopicId = (() => (dt7948.i(this, \"selectedTopicId\"), void 0))();\n static #_9 = (() => dt7948.g(this.prototype, \"flash\", [_tracking.tracked]))();\n #flash = (() => (dt7948.i(this, \"flash\"), void 0))();\n static #_10 = (() => dt7948.g(this.prototype, \"flashType\", [_tracking.tracked]))();\n #flashType = (() => (dt7948.i(this, \"flashType\"), void 0))();\n get channel() {\n return this.args.model.channel;\n }\n get newTopic() {\n return this.selection === _chatToTopicSelector.NEW_TOPIC_SELECTION;\n }\n get existingTopic() {\n return this.selection === _chatToTopicSelector.EXISTING_TOPIC_SELECTION;\n }\n get buttonDisabled() {\n if (this.saving) {\n return true;\n }\n if (this.newTopic && (!this.topicTitle || this.topicTitle.length < this.siteSettings.min_topic_title_length || this.topicTitle.length > this.siteSettings.max_topic_title_length)) {\n return true;\n }\n if (this.existingTopic && (0, _utils.isEmpty)(this.selectedTopicId)) {\n return true;\n }\n return false;\n }\n get instructionLabels() {\n const labels = {};\n labels[_chatToTopicSelector.NEW_TOPIC_SELECTION] = (0, _discourseI18n.i18n)(\"chat.selection.new_topic.instructions_channel_archive\");\n labels[_chatToTopicSelector.EXISTING_TOPIC_SELECTION] = (0, _discourseI18n.i18n)(\"chat.selection.existing_topic.instructions_channel_archive\");\n return labels;\n }\n get instructionsText() {\n return (0, _template.htmlSafe)((0, _discourseI18n.i18n)(\"chat.channel_archive.instructions\", {\n channelTitle: this.channel.escapedTitle\n }));\n }\n get data() {\n const data = {\n type: this.selection\n };\n if (this.newTopic) {\n data.title = this.topicTitle;\n data.category_id = this.categoryId;\n data.tags = this.tags;\n }\n if (this.existingTopic) {\n data.topic_id = this.selectedTopicId;\n }\n return data;\n }\n archiveChannel() {\n this.saving = true;\n return this.chatApi.createChannelArchive(this.channel.id, this.data).then(() => {\n this.flash = (0, _discourseI18n.i18n)(\"chat.channel_archive.process_started\");\n this.flashType = \"success\";\n this.channel.status = _chatChannel.CHANNEL_STATUSES.archived;\n (0, _later.default)(() => {\n this.args.closeModal();\n }, 3000);\n }).catch(_ajaxError.popupAjaxError).finally(() => this.saving = false);\n }\n static #_11 = (() => dt7948.n(this.prototype, \"archiveChannel\", [_object.action]))();\n newTopicSelected(topic) {\n this.selectedTopicId = topic?.id;\n }\n static #_12 = (() => dt7948.n(this.prototype, \"newTopicSelected\", [_object.action]))();\n static #_13 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n <:body>\n

    \n {{this.instructionsText}}\n

    \n \n \n <:footer>\n \n \n \n \n */\n {\n \"id\": \"URuR/r9p\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[8,[32,0],[[24,0,\\\"chat-modal-archive-channel\\\"]],[[\\\"@closeModal\\\",\\\"@inline\\\",\\\"@title\\\",\\\"@flash\\\",\\\"@flashType\\\"],[[30,1],[30,2],[28,[32,1],[\\\"chat.channel_archive.title\\\"],null],[30,0,[\\\"flash\\\"]],[30,0,[\\\"flashType\\\"]]]],[[\\\"body\\\",\\\"footer\\\"],[[[[1,\\\"\\\\n \\\"],[10,2],[14,0,\\\"chat-modal-archive-channel__instructions\\\"],[12],[1,\\\"\\\\n \\\"],[1,[30,0,[\\\"instructionsText\\\"]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[8,[32,2],null,[[\\\"@selection\\\",\\\"@topicTitle\\\",\\\"@categoryId\\\",\\\"@tags\\\",\\\"@topicChangedCallback\\\",\\\"@selectedTopicId\\\",\\\"@instructionLabels\\\",\\\"@allowNewMessage\\\"],[[30,0,[\\\"selection\\\"]],[30,0,[\\\"topicTitle\\\"]],[30,0,[\\\"categoryId\\\"]],[30,0,[\\\"tags\\\"]],[30,0,[\\\"newTopicSelected\\\"]],[30,0,[\\\"selectedTopicId\\\"]],[30,0,[\\\"instructionLabels\\\"]],false]],null],[1,\\\"\\\\n \\\"]],[]],[[[1,\\\"\\\\n \\\"],[8,[32,3],[[24,1,\\\"chat-confirm-archive-channel\\\"],[24,0,\\\"btn-primary\\\"]],[[\\\"@disabled\\\",\\\"@action\\\",\\\"@label\\\"],[[30,0,[\\\"buttonDisabled\\\"]],[30,0,[\\\"archiveChannel\\\"]],\\\"chat.channel_archive.title\\\"]],null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[\\\"@closeModal\\\",\\\"@inline\\\"],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/modal/archive-channel.js\",\n \"scope\": () => [_dModal.default, _discourseI18n.i18n, _chatToTopicSelector.default, _dButton.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatModalArchiveChannel;\n});","define(\"discourse/plugins/chat/discourse/components/chat/modal/create-channel\", [\"exports\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/component\", \"@ember/helper\", \"@ember/modifier\", \"@ember/object\", \"@ember/runloop\", \"@ember/service\", \"@ember/template\", \"@ember/utils\", \"discourse/components/d-modal\", \"discourse/helpers/concat-class\", \"discourse/helpers/d-icon\", \"discourse/helpers/with-event-value\", \"discourse/lib/ajax\", \"discourse/lib/ajax-error\", \"discourse/lib/debounce\", \"discourse/lib/utilities\", \"discourse/models/category\", \"discourse-i18n\", \"select-kit/components/category-chooser\", \"float-kit/components/d-tooltip\", \"@ember/template-factory\"], function (_exports, _component, _tracking, _component2, _helper, _modifier, _object, _runloop, _service, _template, _utils, _dModal, _concatClass, _dIcon, _withEventValue, _ajax, _ajaxError, _debounce, _utilities, _category3, _discourseI18n, _categoryChooser, _dTooltip, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const DEFAULT_HINT = (0, _template.htmlSafe)((0, _discourseI18n.i18n)(\"chat.create_channel.choose_category.default_hint\", {\n link: \"/categories\",\n category: \"category\"\n }));\n class ChatModalCreateChannel extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"dialog\", [_service.service]))();\n #dialog = (() => (dt7948.i(this, \"dialog\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"chatChannelsManager\", [_service.service]))();\n #chatChannelsManager = (() => (dt7948.i(this, \"chatChannelsManager\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"chatApi\", [_service.service]))();\n #chatApi = (() => (dt7948.i(this, \"chatApi\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n static #_6 = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n static #_7 = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n static #_8 = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n static #_9 = (() => dt7948.g(this.prototype, \"flash\", [_tracking.tracked]))();\n #flash = (() => (dt7948.i(this, \"flash\"), void 0))();\n static #_10 = (() => dt7948.g(this.prototype, \"name\", [_tracking.tracked]))();\n #name = (() => (dt7948.i(this, \"name\"), void 0))();\n static #_11 = (() => dt7948.g(this.prototype, \"category\", [_tracking.tracked]))();\n #category = (() => (dt7948.i(this, \"category\"), void 0))();\n static #_12 = (() => dt7948.g(this.prototype, \"categoryId\", [_tracking.tracked]))();\n #categoryId = (() => (dt7948.i(this, \"categoryId\"), void 0))();\n static #_13 = (() => dt7948.g(this.prototype, \"autoGeneratedSlug\", [_tracking.tracked], function () {\n return \"\";\n }))();\n #autoGeneratedSlug = (() => (dt7948.i(this, \"autoGeneratedSlug\"), void 0))();\n static #_14 = (() => dt7948.g(this.prototype, \"categoryPermissionsHint\", [_tracking.tracked]))();\n #categoryPermissionsHint = (() => (dt7948.i(this, \"categoryPermissionsHint\"), void 0))();\n static #_15 = (() => dt7948.g(this.prototype, \"autoJoinWarning\", [_tracking.tracked], function () {\n return \"\";\n }))();\n #autoJoinWarning = (() => (dt7948.i(this, \"autoJoinWarning\"), void 0))();\n static #_16 = (() => dt7948.g(this.prototype, \"loadingPermissionHint\", [_tracking.tracked], function () {\n return false;\n }))();\n #loadingPermissionHint = (() => (dt7948.i(this, \"loadingPermissionHint\"), void 0))();\n #generateSlugHandler = null;\n willDestroy() {\n super.willDestroy(...arguments);\n (0, _runloop.cancel)(this.#generateSlugHandler);\n }\n get autoJoinAvailable() {\n return this.siteSettings.max_chat_auto_joined_users > 0;\n }\n get categorySelected() {\n return (0, _utils.isPresent)(this.category);\n }\n get createDisabled() {\n return !this.categorySelected || (0, _utils.isBlank)(this.name);\n }\n get categoryName() {\n return this.categorySelected ? (0, _utilities.escapeExpression)(this.category?.name) : null;\n }\n onShow() {\n this.categoryPermissionsHint = DEFAULT_HINT;\n }\n static #_17 = (() => dt7948.n(this.prototype, \"onShow\", [_object.action]))();\n onCategoryChange(categoryId) {\n const category = categoryId ? _category3.default.findById(categoryId) : null;\n this.#updatePermissionsHint(category);\n const name = this.name || category?.name || \"\";\n this.categoryId = categoryId;\n this.category = category;\n this.name = name;\n this.#debouncedGenerateSlug(name);\n }\n static #_18 = (() => dt7948.n(this.prototype, \"onCategoryChange\", [_object.action]))();\n onNameChange(name) {\n this.#debouncedGenerateSlug(name);\n }\n static #_19 = (() => dt7948.n(this.prototype, \"onNameChange\", [_object.action]))();\n onSave(event) {\n event.preventDefault();\n if (this.createDisabled) {\n return;\n }\n const formData = new FormData(event.currentTarget);\n const data = Object.fromEntries(formData.entries());\n data.auto_join_users = data.auto_join_users === \"on\";\n data.slug ??= this.autoGeneratedSlug;\n data.threading_enabled = data.threading_enabled === \"on\";\n if (data.auto_join_users) {\n this.dialog.yesNoConfirm({\n message: this.autoJoinWarning,\n didConfirm: () => this.#createChannel(data)\n });\n } else {\n this.#createChannel(data);\n }\n }\n static #_20 = (() => dt7948.n(this.prototype, \"onSave\", [_object.action]))();\n async #createChannel(data) {\n try {\n const channel = await this.chatApi.createChannel(data);\n this.args.closeModal();\n this.chatChannelsManager.follow(channel);\n this.router.transitionTo(\"chat.channel\", ...channel.routeModels);\n } catch (e) {\n this.flash = (0, _ajaxError.extractError)(e);\n }\n }\n #buildCategorySlug(category) {\n const parent = category.parentCategory;\n if (parent) {\n return `${this.#buildCategorySlug(parent)}/${category.slug}`;\n } else {\n return category.slug;\n }\n }\n #updateAutoJoinConfirmWarning(category, catPermissions) {\n const allowedGroups = catPermissions.allowed_groups;\n let warning;\n if (catPermissions.private) {\n switch (allowedGroups.length) {\n case 1:\n warning = (0, _discourseI18n.i18n)(\"chat.create_channel.auto_join_users.warning_1_group\", {\n count: catPermissions.members_count,\n group: (0, _utilities.escapeExpression)(allowedGroups[0])\n });\n break;\n case 2:\n warning = (0, _discourseI18n.i18n)(\"chat.create_channel.auto_join_users.warning_2_groups\", {\n count: catPermissions.members_count,\n group1: (0, _utilities.escapeExpression)(allowedGroups[0]),\n group2: (0, _utilities.escapeExpression)(allowedGroups[1])\n });\n break;\n default:\n warning = _discourseI18n.default.messageFormat(\"chat.create_channel.auto_join_users.warning_multiple_groups_MF\", {\n groupCount: allowedGroups.length - 1,\n userCount: catPermissions.members_count,\n groupName: (0, _utilities.escapeExpression)(allowedGroups[0])\n });\n break;\n }\n } else {\n warning = (0, _discourseI18n.i18n)(\"chat.create_channel.auto_join_users.public_category_warning\", {\n category: (0, _utilities.escapeExpression)(category.name)\n });\n }\n this.autoJoinWarning = warning;\n }\n #updatePermissionsHint(category) {\n if (category) {\n const fullSlug = this.#buildCategorySlug(category);\n this.loadingPermissionHint = true;\n return this.chatApi.categoryPermissions(category.id).then(catPermissions => {\n this.#updateAutoJoinConfirmWarning(category, catPermissions);\n const allowedGroups = catPermissions.allowed_groups;\n const settingLink = `/c/${(0, _utilities.escapeExpression)(fullSlug)}/edit/security`;\n let hint;\n switch (allowedGroups.length) {\n case 1:\n hint = (0, _discourseI18n.i18n)(\"chat.create_channel.choose_category.hint_1_group\", {\n settingLink,\n group: (0, _utilities.escapeExpression)(allowedGroups[0])\n });\n break;\n case 2:\n hint = (0, _discourseI18n.i18n)(\"chat.create_channel.choose_category.hint_2_groups\", {\n settingLink,\n group1: (0, _utilities.escapeExpression)(allowedGroups[0]),\n group2: (0, _utilities.escapeExpression)(allowedGroups[1])\n });\n break;\n default:\n hint = (0, _discourseI18n.i18n)(\"chat.create_channel.choose_category.hint_multiple_groups\", {\n settingLink,\n group: (0, _utilities.escapeExpression)(allowedGroups[0]),\n count: allowedGroups.length - 1\n });\n break;\n }\n this.categoryPermissionsHint = (0, _template.htmlSafe)(hint);\n }).finally(() => {\n this.loadingPermissionHint = false;\n });\n } else {\n this.categoryPermissionsHint = DEFAULT_HINT;\n this.autoJoinWarning = \"\";\n }\n }\n // intentionally not showing AJAX error for this, we will autogenerate\n // the slug server-side if they leave it blank\n #generateSlug(name) {\n return (0, _ajax.ajax)(\"/slugs.json\", {\n type: \"POST\",\n data: {\n name\n }\n }).then(response => {\n this.autoGeneratedSlug = response.slug;\n });\n }\n #debouncedGenerateSlug(name) {\n (0, _runloop.cancel)(this.#generateSlugHandler);\n this.autoGeneratedSlug = \"\";\n if (!name) {\n return;\n }\n this.#generateSlugHandler = (0, _debounce.default)(this, this.#generateSlug, name, 300);\n }\n static #_21 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n <:body>\n
    \n \n \n
    \n \n
    \n \n \n
    \n \n
    \n \n \n
    \n \n
    \n \n \n \n {{#if this.categoryPermissionsHint}}\n \n {{this.categoryPermissionsHint}}\n
    \n {{/if}}\n \n \n {{#if this.autoJoinAvailable}}\n
    \n \n
    \n {{/if}}\n \n
    \n \n
    \n \n <:footer>\n \n {{i18n \"chat.create_channel.create\"}}\n \n \n \n \n */\n {\n \"id\": \"XlC5C9Sd\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[8,[32,0],[[24,0,\\\"chat-modal-create-channel\\\"],[4,[32,2],[\\\"submit\\\",[30,0,[\\\"onSave\\\"]]],null]],[[\\\"@closeModal\\\",\\\"@inline\\\",\\\"@title\\\",\\\"@flash\\\",\\\"@tagName\\\"],[[30,1],[30,2],[28,[32,1],[\\\"chat.create_channel.title\\\"],null],[30,0,[\\\"flash\\\"]],\\\"form\\\"]],[[\\\"body\\\",\\\"footer\\\"],[[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-modal-create-channel__control -name\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"name\\\"],[14,0,\\\"chat-modal-create-channel__label\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,1],[\\\"chat.create_channel.name\\\"],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[8,[32,3],[[24,3,\\\"name\\\"],[24,0,\\\"chat-modal-create-channel__input\\\"],[4,[32,2],[\\\"input\\\",[28,[32,4],[[30,0,[\\\"onNameChange\\\"]]],null]],null]],[[\\\"@type\\\",\\\"@value\\\"],[\\\"text\\\",[30,0,[\\\"name\\\"]]]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\\n \\\"],[10,0],[14,0,\\\"chat-modal-create-channel__control -slug\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"slug\\\"],[14,0,\\\"chat-modal-create-channel__label\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,1],[\\\"chat.create_channel.slug\\\"],null]],[1,\\\" \\\\n \\\"],[10,1],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,5],[\\\"circle-info\\\"],null]],[1,\\\"\\\\n \\\"],[8,[32,6],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[1,[28,[32,1],[\\\"chat.channel_edit_name_slug_modal.slug_description\\\"],null]],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[8,[32,3],[[24,3,\\\"slug\\\"],[24,0,\\\"chat-modal-create-channel__input\\\"],[16,\\\"placeholder\\\",[30,0,[\\\"autoGeneratedSlug\\\"]]]],[[\\\"@type\\\",\\\"@value\\\"],[\\\"text\\\",[30,0,[\\\"slug\\\"]]]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\\n \\\"],[10,0],[14,0,\\\"chat-modal-create-channel__control -description\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"description\\\"],[14,0,\\\"chat-modal-create-channel__label\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,1],[\\\"chat.create_channel.description\\\"],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[8,[32,3],[[24,3,\\\"description\\\"],[24,0,\\\"chat-modal-create-channel__input\\\"]],[[\\\"@type\\\",\\\"@value\\\"],[\\\"textarea\\\",[30,0,[\\\"description\\\"]]]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\\n \\\"],[10,0],[14,0,\\\"chat-modal-create-channel__control\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"label\\\"],[14,0,\\\"chat-modal-create-channel__label\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,1],[\\\"chat.create_channel.choose_category.label\\\"],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[8,[32,7],null,[[\\\"@value\\\",\\\"@onChange\\\",\\\"@options\\\"],[[30,0,[\\\"categoryId\\\"]],[30,0,[\\\"onCategoryChange\\\"]],[28,[32,8],null,[[\\\"formName\\\",\\\"none\\\"],[\\\"chatable_id\\\",\\\"chat.create_channel.choose_category.none\\\"]]]]],null],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"categoryPermissionsHint\\\"]],[[[1,\\\" \\\"],[10,0],[15,0,[28,[32,9],[\\\"chat-modal-create-channel__hint\\\",[52,[30,0,[\\\"loadingPermissionHint\\\"]],\\\"loading-permissions\\\"]],null]],[12],[1,\\\"\\\\n \\\"],[1,[30,0,[\\\"categoryPermissionsHint\\\"]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"autoJoinAvailable\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-modal-create-channel__control -auto-join\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"label\\\"],[14,0,\\\"chat-modal-create-channel__label\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,3],[[24,3,\\\"auto_join_users\\\"]],[[\\\"@type\\\",\\\"@checked\\\"],[\\\"checkbox\\\",[30,0,[\\\"autoJoinUsers\\\"]]]],null],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"auto-join-channel\\\"],[12],[1,\\\"\\\\n \\\"],[10,1],[14,0,\\\"chat-modal-create-channel__label-title\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,1],[\\\"chat.settings.auto_join_users_label\\\"],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[10,2],[14,0,\\\"chat-modal-create-channel__label-description\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"categoryName\\\"]],[[[1,\\\" \\\"],[1,[28,[32,1],[\\\"chat.settings.auto_join_users_info\\\"],[[\\\"category\\\"],[[30,0,[\\\"categoryName\\\"]]]]]],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[1,[28,[32,1],[\\\"chat.settings.auto_join_users_info_no_category\\\"],null]],[1,\\\"\\\\n\\\"]],[]]],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-modal-create-channel__control -threading-toggle\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"label\\\"],[14,0,\\\"chat-modal-create-channel__label\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,3],[[24,3,\\\"threading_enabled\\\"]],[[\\\"@type\\\",\\\"@checked\\\"],[\\\"checkbox\\\",[30,0,[\\\"threadingEnabled\\\"]]]],null],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"threading-channel\\\"],[12],[1,\\\"\\\\n \\\"],[10,1],[14,0,\\\"chat-modal-create-channel__label-title\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,1],[\\\"chat.create_channel.threading.label\\\"],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[10,2],[14,0,\\\"chat-modal-create-channel__label-description\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,1],[\\\"chat.settings.channel_threading_description\\\"],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[]],[[[1,\\\"\\\\n \\\"],[10,\\\"button\\\"],[14,0,\\\"btn btn-primary create\\\"],[15,\\\"disabled\\\",[30,0,[\\\"createDisabled\\\"]]],[14,4,\\\"submit\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,1],[\\\"chat.create_channel.create\\\"],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[\\\"@closeModal\\\",\\\"@inline\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/modal/create-channel.js\",\n \"scope\": () => [_dModal.default, _discourseI18n.i18n, _modifier.on, _component2.Input, _withEventValue.default, _dIcon.default, _dTooltip.default, _categoryChooser.default, _helper.hash, _concatClass.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatModalCreateChannel;\n});","define(\"discourse/plugins/chat/discourse/components/chat/modal/delete-channel\", [\"exports\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/helper\", \"@ember/modifier\", \"@ember/object\", \"@ember/service\", \"@ember/template\", \"@ember/utils\", \"discourse/components/d-button\", \"discourse/components/d-modal\", \"discourse/helpers/with-event-value\", \"discourse/lib/ajax-error\", \"discourse/lib/later\", \"discourse-i18n\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _tracking, _helper, _modifier, _object, _service, _template, _utils, _dButton, _dModal, _withEventValue, _ajaxError, _later, _discourseI18n, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatModalDeleteChannel extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chatApi\", [_service.service]))();\n #chatApi = (() => (dt7948.i(this, \"chatApi\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"channelNameConfirmation\", [_tracking.tracked]))();\n #channelNameConfirmation = (() => (dt7948.i(this, \"channelNameConfirmation\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"deleting\", [_tracking.tracked], function () {\n return false;\n }))();\n #deleting = (() => (dt7948.i(this, \"deleting\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"confirmed\", [_tracking.tracked], function () {\n return false;\n }))();\n #confirmed = (() => (dt7948.i(this, \"confirmed\"), void 0))();\n static #_6 = (() => dt7948.g(this.prototype, \"flash\", [_tracking.tracked]))();\n #flash = (() => (dt7948.i(this, \"flash\"), void 0))();\n static #_7 = (() => dt7948.g(this.prototype, \"flashType\", [_tracking.tracked]))();\n #flashType = (() => (dt7948.i(this, \"flashType\"), void 0))();\n get channel() {\n return this.args.model.channel;\n }\n get buttonDisabled() {\n if (this.deleting || this.confirmed) {\n return true;\n }\n if ((0, _utils.isEmpty)(this.channelNameConfirmation) || this.channelNameConfirmation.toLowerCase() !== this.channel.title.toLowerCase()) {\n return true;\n }\n return false;\n }\n get instructionsText() {\n return (0, _template.htmlSafe)((0, _discourseI18n.i18n)(\"chat.channel_delete.instructions\", {\n name: this.channel.escapedTitle\n }));\n }\n deleteChannel() {\n this.deleting = true;\n return this.chatApi.destroyChannel(this.channel.id, this.channelNameConfirmation).then(() => {\n this.confirmed = true;\n this.flash = (0, _discourseI18n.i18n)(\"chat.channel_delete.process_started\");\n this.flashType = \"success\";\n (0, _later.default)(() => {\n this.args.closeModal();\n this.router.transitionTo(\"chat\");\n }, 3000);\n }).catch(_ajaxError.popupAjaxError).finally(() => this.deleting = false);\n }\n static #_8 = (() => dt7948.n(this.prototype, \"deleteChannel\", [_object.action]))();\n static #_9 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n <:body>\n

    \n {{this.instructionsText}}\n

    \n \n \n <:footer>\n \n \n \n \n \n */\n {\n \"id\": \"wcStbX5W\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[8,[32,0],[[24,0,\\\"chat-modal-delete-channel\\\"]],[[\\\"@closeModal\\\",\\\"@inline\\\",\\\"@title\\\",\\\"@flash\\\",\\\"@flashType\\\"],[[30,1],[30,2],[28,[32,1],[\\\"chat.channel_delete.title\\\"],null],[30,0,[\\\"flash\\\"]],[30,0,[\\\"flashType\\\"]]]],[[\\\"body\\\",\\\"footer\\\"],[[[[1,\\\"\\\\n \\\"],[10,2],[14,0,\\\"chat-modal-delete-channel__instructions\\\"],[12],[1,\\\"\\\\n \\\"],[1,[30,0,[\\\"instructionsText\\\"]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[11,\\\"input\\\"],[24,1,\\\"channel-delete-confirm-name\\\"],[16,\\\"placeholder\\\",[28,[32,1],[\\\"chat.channel_delete.confirm_channel_name\\\"],null]],[24,\\\"autocorrect\\\",\\\"off\\\"],[24,\\\"autocapitalize\\\",\\\"off\\\"],[24,4,\\\"text\\\"],[4,[32,2],[\\\"input\\\",[28,[32,3],[[28,[32,4],[[28,[31,0],[[30,0,[\\\"channelNameConfirmation\\\"]]],null]],null]],null]],null],[12],[13],[1,\\\"\\\\n \\\"]],[]],[[[1,\\\"\\\\n \\\"],[8,[32,5],[[24,1,\\\"chat-confirm-delete-channel\\\"],[24,0,\\\"btn-danger\\\"]],[[\\\"@disabled\\\",\\\"@action\\\",\\\"@label\\\"],[[30,0,[\\\"buttonDisabled\\\"]],[30,0,[\\\"deleteChannel\\\"]],\\\"chat.channel_delete.confirm\\\"]],null],[1,\\\"\\\\n \\\"],[8,[32,5],[[24,0,\\\"btn-flat\\\"]],[[\\\"@label\\\",\\\"@action\\\"],[\\\"cancel\\\",[30,1]]],null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[\\\"@closeModal\\\",\\\"@inline\\\"],false,[\\\"mut\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/modal/delete-channel.js\",\n \"scope\": () => [_dModal.default, _discourseI18n.i18n, _modifier.on, _withEventValue.default, _helper.fn, _dButton.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatModalDeleteChannel;\n});","define(\"discourse/plugins/chat/discourse/components/chat/modal/delete-messages-confirm\", [\"exports\", \"@glimmer/component\", \"@ember/object\", \"@ember/service\", \"discourse/components/d-button\", \"discourse/components/d-modal\", \"discourse/components/d-modal-cancel\", \"discourse/lib/ajax-error\", \"discourse-i18n\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _object, _service, _dButton, _dModal, _dModalCancel, _ajaxError, _discourseI18n, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class DeleteMessagesConfirm extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chatApi\", [_service.service]))();\n #chatApi = (() => (dt7948.i(this, \"chatApi\"), void 0))();\n async delete() {\n try {\n await this.chatApi.trashMessages(this.args.model.sourceChannel.id, this.args.model.selectedMessageIds);\n } catch (error) {\n (0, _ajaxError.popupAjaxError)(error);\n } finally {\n this.args.closeModal();\n }\n }\n static #_2 = (() => dt7948.n(this.prototype, \"delete\", [_object.action]))();\n static #_3 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n <:body>\n {{i18n\n \"chat.delete_messages.confirm\"\n count=@model.selectedMessageIds.length\n }}\n \n <:footer>\n \n \n \n \n \n */\n {\n \"id\": \"Uybvpxw2\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[8,[32,0],null,[[\\\"@closeModal\\\",\\\"@headerClass\\\"],[[30,1],\\\"hidden\\\"]],[[\\\"body\\\",\\\"footer\\\"],[[[[1,\\\"\\\\n \\\"],[1,[28,[32,1],[\\\"chat.delete_messages.confirm\\\"],[[\\\"count\\\"],[[30,2,[\\\"selectedMessageIds\\\",\\\"length\\\"]]]]]],[1,\\\"\\\\n \\\"]],[]],[[[1,\\\"\\\\n \\\"],[8,[32,2],[[24,0,\\\"btn-primary\\\"]],[[\\\"@action\\\",\\\"@label\\\",\\\"@icon\\\"],[[30,0,[\\\"delete\\\"]],\\\"delete\\\",\\\"trash-can\\\"]],null],[1,\\\"\\\\n \\\"],[8,[32,3],null,[[\\\"@close\\\"],[[30,1]]],null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[\\\"@closeModal\\\",\\\"@model\\\"],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/modal/delete-messages-confirm.js\",\n \"scope\": () => [_dModal.default, _discourseI18n.i18n, _dButton.default, _dModalCancel.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = DeleteMessagesConfirm;\n});","define(\"discourse/plugins/chat/discourse/components/chat/modal/edit-channel-description\", [\"exports\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/modifier\", \"@ember/object\", \"@ember/service\", \"discourse/components/char-counter\", \"discourse/components/d-button\", \"discourse/components/d-modal\", \"discourse/components/d-modal-cancel\", \"discourse/helpers/with-event-value\", \"discourse/lib/ajax-error\", \"discourse-i18n\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _tracking, _modifier, _object, _service, _charCounter, _dButton, _dModal, _dModalCancel, _withEventValue, _ajaxError, _discourseI18n, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const DESCRIPTION_MAX_LENGTH = 280;\n class ChatModalEditChannelDescription extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chatApi\", [_service.service]))();\n #chatApi = (() => (dt7948.i(this, \"chatApi\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"editedDescription\", [_tracking.tracked], function () {\n return this.channel.description || \"\";\n }))();\n #editedDescription = (() => (dt7948.i(this, \"editedDescription\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"flash\", [_tracking.tracked]))();\n #flash = (() => (dt7948.i(this, \"flash\"), void 0))();\n get channel() {\n return this.args.model;\n }\n get isSaveDisabled() {\n return this.channel.description === this.editedDescription || this.editedDescription?.length > DESCRIPTION_MAX_LENGTH;\n }\n get descriptionMaxLength() {\n return DESCRIPTION_MAX_LENGTH;\n }\n async onSaveChatChannelDescription() {\n try {\n const result = await this.chatApi.updateChannel(this.channel.id, {\n description: this.editedDescription\n });\n this.channel.description = result.channel.description;\n this.args.closeModal();\n } catch (error) {\n this.flash = (0, _ajaxError.extractError)(error);\n }\n }\n static #_4 = (() => dt7948.n(this.prototype, \"onSaveChatChannelDescription\", [_object.action]))();\n onChangeChatChannelDescription(description) {\n this.flash = null;\n this.editedDescription = description;\n }\n static #_5 = (() => dt7948.n(this.prototype, \"onChangeChatChannelDescription\", [_object.action]))();\n static #_6 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n <:body>\n {{i18n\n \"chat.channel_edit_description_modal.description\"\n }}\n \n {{this.editedDescription}}\n \n \n <:footer>\n \n \n \n \n \n */\n {\n \"id\": \"juDC4SoW\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[8,[32,0],[[24,0,\\\"chat-modal-edit-channel-description\\\"]],[[\\\"@closeModal\\\",\\\"@inline\\\",\\\"@title\\\",\\\"@flash\\\"],[[30,1],[30,2],[28,[32,1],[\\\"chat.channel_edit_description_modal.title\\\"],null],[30,0,[\\\"flash\\\"]]]],[[\\\"body\\\",\\\"footer\\\"],[[[[1,\\\"\\\\n \\\"],[10,1],[14,0,\\\"chat-modal-edit-channel-description__description\\\"],[12],[1,[28,[32,1],[\\\"chat.channel_edit_description_modal.description\\\"],null]],[13],[1,\\\"\\\\n \\\"],[8,[32,2],null,[[\\\"@value\\\",\\\"@max\\\"],[[30,0,[\\\"editedDescription\\\"]],[30,0,[\\\"descriptionMaxLength\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[11,\\\"textarea\\\"],[24,0,\\\"chat-modal-edit-channel-description__description-input\\\"],[16,\\\"placeholder\\\",[28,[32,1],[\\\"chat.channel_edit_description_modal.input_placeholder\\\"],null]],[4,[32,3],[\\\"input\\\",[28,[32,4],[[30,0,[\\\"onChangeChatChannelDescription\\\"]]],null]],null],[12],[1,[30,0,[\\\"editedDescription\\\"]]],[13],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[]],[[[1,\\\"\\\\n \\\"],[8,[32,5],[[24,0,\\\"btn-primary create\\\"]],[[\\\"@action\\\",\\\"@label\\\",\\\"@disabled\\\"],[[30,0,[\\\"onSaveChatChannelDescription\\\"]],\\\"save\\\",[30,0,[\\\"isSaveDisabled\\\"]]]],null],[1,\\\"\\\\n \\\"],[8,[32,6],null,[[\\\"@close\\\"],[[30,1]]],null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[\\\"@closeModal\\\",\\\"@inline\\\"],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/modal/edit-channel-description.js\",\n \"scope\": () => [_dModal.default, _discourseI18n.i18n, _charCounter.default, _modifier.on, _withEventValue.default, _dButton.default, _dModalCancel.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatModalEditChannelDescription;\n});","define(\"discourse/plugins/chat/discourse/components/chat/modal/edit-channel-name\", [\"exports\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/component\", \"@ember/modifier\", \"@ember/object\", \"@ember/runloop\", \"@ember/service\", \"discourse/components/d-button\", \"discourse/components/d-modal\", \"discourse/components/d-modal-cancel\", \"discourse/lib/ajax\", \"discourse/lib/ajax-error\", \"discourse/lib/debounce\", \"discourse-i18n\", \"float-kit/components/d-tooltip\", \"discourse/plugins/chat/discourse/lib/slugify-channel\", \"@ember/template-factory\"], function (_exports, _component, _tracking, _component2, _modifier, _object, _runloop, _service, _dButton, _dModal, _dModalCancel, _ajax, _ajaxError, _debounce, _discourseI18n, _dTooltip, _slugifyChannel, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const SLUG_MAX_LENGTH = 100;\n class ChatModalEditChannelName extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chatApi\", [_service.service]))();\n #chatApi = (() => (dt7948.i(this, \"chatApi\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"editedName\", [_tracking.tracked], function () {\n return this.channel.title;\n }))();\n #editedName = (() => (dt7948.i(this, \"editedName\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"editedSlug\", [_tracking.tracked], function () {\n return this.channel.slug;\n }))();\n #editedSlug = (() => (dt7948.i(this, \"editedSlug\"), void 0))();\n static #_6 = (() => dt7948.g(this.prototype, \"autoGeneratedSlug\", [_tracking.tracked], function () {\n return this.channel.slug ?? (0, _slugifyChannel.default)(this.channel);\n }))();\n #autoGeneratedSlug = (() => (dt7948.i(this, \"autoGeneratedSlug\"), void 0))();\n static #_7 = (() => dt7948.g(this.prototype, \"flash\", [_tracking.tracked]))();\n #flash = (() => (dt7948.i(this, \"flash\"), void 0))();\n #generateSlugHandler = null;\n get channel() {\n return this.args.model;\n }\n get isSaveDisabled() {\n return this.channel.title === this.editedName && this.channel.slug === this.editedSlug || this.editedName?.length > this.siteSettings.max_topic_title_length || this.editedSlug?.length > SLUG_MAX_LENGTH;\n }\n async onSave() {\n try {\n const result = await this.chatApi.updateChannel(this.channel.id, {\n name: this.editedName,\n slug: this.editedSlug || this.autoGeneratedSlug || this.channel.slug\n });\n this.channel.title = result.channel.title;\n this.channel.slug = result.channel.slug;\n await this.args.closeModal();\n this.router.replaceWith(\"chat.channel\", ...this.channel.routeModels);\n } catch (error) {\n this.flash = (0, _ajaxError.extractError)(error);\n }\n }\n static #_8 = (() => dt7948.n(this.prototype, \"onSave\", [_object.action]))();\n onChangeChatChannelName(event) {\n this.flash = null;\n this.#debouncedGenerateSlug(event?.target?.value);\n }\n static #_9 = (() => dt7948.n(this.prototype, \"onChangeChatChannelName\", [_object.action]))();\n onChangeChatChannelSlug() {\n this.flash = null;\n this.#debouncedGenerateSlug(this.editedName);\n }\n static #_10 = (() => dt7948.n(this.prototype, \"onChangeChatChannelSlug\", [_object.action]))();\n #debouncedGenerateSlug(name) {\n (0, _runloop.cancel)(this.#generateSlugHandler);\n this.autoGeneratedSlug = \"\";\n if (!name) {\n return;\n }\n this.#generateSlugHandler = (0, _debounce.default)(this, this.#generateSlug, name, 300);\n }\n async #generateSlug(name) {\n try {\n await (0, _ajax.ajax)(\"/slugs.json\", {\n type: \"POST\",\n data: {\n name\n }\n }).then(response => {\n this.autoGeneratedSlug = response.slug;\n });\n } catch (error) {\n // eslint-disable-next-line no-console\n console.log(error);\n }\n }\n static #_11 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n <:body>\n
    \n \n \n
    \n \n
    \n \n \n
    \n \n <:footer>\n \n \n \n \n \n */\n {\n \"id\": \"pTFBqtm1\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[8,[32,0],[[24,0,\\\"chat-modal-edit-channel-name\\\"]],[[\\\"@closeModal\\\",\\\"@inline\\\",\\\"@title\\\",\\\"@flash\\\"],[[30,1],[30,2],[28,[32,1],[\\\"chat.channel_edit_name_slug_modal.title\\\"],null],[30,0,[\\\"flash\\\"]]]],[[\\\"body\\\",\\\"footer\\\"],[[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"edit-channel-control\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"channel-name\\\"],[14,0,\\\"edit-channel-label\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,1],[\\\"chat.channel_edit_name_slug_modal.name\\\"],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[8,[32,2],[[24,3,\\\"channel-name\\\"],[24,0,\\\"chat-channel-edit-name-slug-modal__name-input\\\"],[16,\\\"placeholder\\\",[28,[32,1],[\\\"chat.channel_edit_name_slug_modal.input_placeholder\\\"],null]],[4,[32,3],[\\\"input\\\",[30,0,[\\\"onChangeChatChannelName\\\"]]],null]],[[\\\"@type\\\",\\\"@value\\\"],[\\\"text\\\",[30,0,[\\\"editedName\\\"]]]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\\n \\\"],[10,0],[14,0,\\\"edit-channel-control\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"channel-slug\\\"],[14,0,\\\"edit-channel-label\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,1],[\\\"chat.channel_edit_name_slug_modal.slug\\\"],null]],[1,\\\" \\\\n \\\"],[8,[32,4],null,[[\\\"@icon\\\",\\\"@content\\\"],[\\\"circle-info\\\",[28,[32,1],[\\\"chat.channel_edit_name_slug_modal.slug_description\\\"],null]]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[8,[32,2],[[24,3,\\\"channel-slug\\\"],[24,0,\\\"chat-channel-edit-name-slug-modal__slug-input\\\"],[16,\\\"placeholder\\\",[30,0,[\\\"autoGeneratedSlug\\\"]]],[4,[32,3],[\\\"input\\\",[30,0,[\\\"onChangeChatChannelSlug\\\"]]],null]],[[\\\"@type\\\",\\\"@value\\\"],[\\\"text\\\",[30,0,[\\\"editedSlug\\\"]]]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[]],[[[1,\\\"\\\\n \\\"],[8,[32,5],[[24,0,\\\"btn-primary create\\\"]],[[\\\"@action\\\",\\\"@label\\\",\\\"@disabled\\\"],[[30,0,[\\\"onSave\\\"]],\\\"save\\\",[30,0,[\\\"isSaveDisabled\\\"]]]],null],[1,\\\"\\\\n \\\"],[8,[32,6],null,[[\\\"@close\\\"],[[30,1]]],null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[\\\"@closeModal\\\",\\\"@inline\\\"],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/modal/edit-channel-name.js\",\n \"scope\": () => [_dModal.default, _discourseI18n.i18n, _component2.Input, _modifier.on, _dTooltip.default, _dButton.default, _dModalCancel.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatModalEditChannelName;\n});","define(\"discourse/plugins/chat/discourse/components/chat/modal/move-message-to-channel\", [\"exports\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/object\", \"@ember/service\", \"@ember/template\", \"@ember/utils\", \"discourse/components/d-button\", \"discourse/components/d-modal\", \"discourse/lib/ajax-error\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/chat-channel-chooser\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _tracking, _object, _service, _template, _utils, _dButton, _dModal, _ajaxError, _discourseI18n, _chatChannelChooser, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatModalMoveMessageToChannel extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"chatApi\", [_service.service]))();\n #chatApi = (() => (dt7948.i(this, \"chatApi\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"chatChannelsManager\", [_service.service]))();\n #chatChannelsManager = (() => (dt7948.i(this, \"chatChannelsManager\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"destinationChannelId\", [_tracking.tracked]))();\n #destinationChannelId = (() => (dt7948.i(this, \"destinationChannelId\"), void 0))();\n get sourceChannel() {\n return this.args.model.sourceChannel;\n }\n get selectedMessageIds() {\n return this.args.model.selectedMessageIds;\n }\n get selectedMessageCount() {\n return this.selectedMessageIds?.length;\n }\n get disableMoveButton() {\n return (0, _utils.isBlank)(this.destinationChannelId);\n }\n get availableChannels() {\n return (this.args.model.availableChannels || this.chatChannelsManager.publicMessageChannels).rejectBy(\"id\", this.sourceChannel.id);\n }\n get instructionsText() {\n return (0, _template.htmlSafe)((0, _discourseI18n.i18n)(\"chat.move_to_channel.instructions\", {\n channelTitle: this.sourceChannel.escapedTitle,\n count: this.selectedMessageCount\n }));\n }\n moveMessages() {\n return this.chatApi.moveChannelMessages(this.sourceChannel.id, {\n message_ids: this.selectedMessageIds,\n destination_channel_id: this.destinationChannelId\n }).then(response => {\n this.args.closeModal();\n this.router.transitionTo(\"chat.channel.near-message\", \"-\", response.destination_channel_id, response.first_moved_message_id);\n }).catch(_ajaxError.popupAjaxError);\n }\n static #_6 = (() => dt7948.n(this.prototype, \"moveMessages\", [_object.action]))();\n static #_7 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n <:body>\n {{#if this.selectedMessageCount}}\n

    {{this.instructionsText}}

    \n {{/if}}\n \n \n \n <:footer>\n \n \n \n \n \n */\n {\n \"id\": \"rdFvTUpN\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[8,[32,0],[[24,0,\\\"chat-modal-move-message-to-channel\\\"]],[[\\\"@closeModal\\\",\\\"@inline\\\",\\\"@title\\\"],[[30,1],[30,2],[28,[32,1],[\\\"chat.move_to_channel.title\\\"],null]]],[[\\\"body\\\",\\\"footer\\\"],[[[[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"selectedMessageCount\\\"]],[[[1,\\\" \\\"],[10,2],[12],[1,[30,0,[\\\"instructionsText\\\"]]],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n \\\"],[8,[32,2],[[24,0,\\\"chat-modal-move-message-to-channel__channel-chooser\\\"]],[[\\\"@content\\\",\\\"@value\\\",\\\"@nameProperty\\\"],[[30,0,[\\\"availableChannels\\\"]],[30,0,[\\\"destinationChannelId\\\"]],\\\"title\\\"]],null],[1,\\\"\\\\n \\\"]],[]],[[[1,\\\"\\\\n \\\"],[8,[32,3],[[24,0,\\\"btn-primary\\\"]],[[\\\"@icon\\\",\\\"@disabled\\\",\\\"@action\\\",\\\"@label\\\"],[\\\"right-from-bracket\\\",[30,0,[\\\"disableMoveButton\\\"]],[30,0,[\\\"moveMessages\\\"]],\\\"chat.move_to_channel.confirm_move\\\"]],null],[1,\\\"\\\\n \\\"],[8,[32,3],[[24,0,\\\"btn-flat\\\"]],[[\\\"@label\\\",\\\"@action\\\"],[\\\"cancel\\\",[30,1]]],null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[\\\"@closeModal\\\",\\\"@inline\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/modal/move-message-to-channel.js\",\n \"scope\": () => [_dModal.default, _discourseI18n.i18n, _chatChannelChooser.default, _dButton.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatModalMoveMessageToChannel;\n});","define(\"discourse/plugins/chat/discourse/components/chat/modal/new-message\", [\"exports\", \"@glimmer/component\", \"@ember/service\", \"discourse/components/d-modal\", \"discourse/plugins/chat/discourse/components/chat/message-creator\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _service, _dModal, _messageCreator, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatModalNewMessage extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n get shouldRender() {\n return this.siteSettings.enable_public_channels || this.chat.userCanDirectMessage;\n }\n static #_3 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if this.shouldRender}}\n \n \n \n {{/if}}\n \n */\n {\n \"id\": \"N7heamcy\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"shouldRender\\\"]],[[[1,\\\" \\\"],[8,[32,0],[[24,0,\\\"chat-modal-new-message --quick-palette\\\"]],[[\\\"@closeModal\\\",\\\"@title\\\",\\\"@inline\\\",\\\"@hideHeader\\\"],[[30,1],\\\"chat.new_message_modal.title\\\",[30,2],true]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,1],null,[[\\\"@onClose\\\",\\\"@channel\\\"],[[30,1],[30,3]]],null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[\\\"@closeModal\\\",\\\"@inline\\\",\\\"@model\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/modal/new-message.js\",\n \"scope\": () => [_dModal.default, _messageCreator.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatModalNewMessage;\n});","define(\"discourse/plugins/chat/discourse/components/chat/modal/thread-settings\", [\"exports\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/component\", \"@ember/object\", \"@ember/service\", \"@ember/template\", \"discourse/components/d-button\", \"discourse/components/d-modal\", \"discourse/helpers/d-icon\", \"discourse/lib/ajax-error\", \"discourse-i18n\", \"@ember/template-factory\"], function (_exports, _component, _tracking, _component2, _object, _service, _template, _dButton, _dModal, _dIcon, _ajaxError, _discourseI18n, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatModalThreadSettings extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chatApi\", [_service.service]))();\n #chatApi = (() => (dt7948.i(this, \"chatApi\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"editedTitle\", [_tracking.tracked], function () {\n return this.thread.title || \"\";\n }))();\n #editedTitle = (() => (dt7948.i(this, \"editedTitle\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"saving\", [_tracking.tracked], function () {\n return false;\n }))();\n #saving = (() => (dt7948.i(this, \"saving\"), void 0))();\n get buttonDisabled() {\n return this.saving;\n }\n get thread() {\n return this.args.model;\n }\n get threadTitleLength() {\n return this.editedTitle.length;\n }\n saveThread() {\n this.saving = true;\n this.chatApi.editThread(this.thread.channel.id, this.thread.id, {\n title: this.editedTitle\n }).then(() => {\n this.thread.title = this.editedTitle;\n this.args.closeModal();\n }).catch(_ajaxError.popupAjaxError).finally(() => {\n this.saving = false;\n });\n }\n static #_5 = (() => dt7948.n(this.prototype, \"saveThread\", [_object.action]))();\n static #_6 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n <:headerPrimaryAction>\n \n \n <:body>\n \n
    \n {{this.threadTitleLength}}/100\n
    \n \n {{#if this.currentUser.admin}}\n
    \n

    {{icon \"circle-info\"}}\n {{i18n \"chat.thread_title_modal.discourse_ai.title\"}}

    \n

    {{htmlSafe\n (i18n\n \"chat.thread_title_modal.discourse_ai.description\"\n url=\"Discourse AI\"\n )\n }}\n

    \n
    \n {{/if}}\n \n <:footer>\n \n \n \n \n */\n {\n \"id\": \"aKtbFbwp\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[8,[32,0],[[24,0,\\\"chat-modal-thread-settings\\\"]],[[\\\"@closeModal\\\",\\\"@inline\\\",\\\"@title\\\"],[[30,1],[30,2],[28,[32,1],[\\\"chat.thread_title_modal.title\\\"],null]]],[[\\\"headerPrimaryAction\\\",\\\"body\\\",\\\"footer\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,2],[[24,0,\\\"btn-transparent btn-primary\\\"]],[[\\\"@disabled\\\",\\\"@action\\\",\\\"@label\\\"],[[30,0,[\\\"buttonDisabled\\\"]],[30,0,[\\\"saveThread\\\"]],\\\"chat.save\\\"]],null],[1,\\\"\\\\n \\\"]],[]],[[[1,\\\"\\\\n \\\"],[8,[32,3],[[24,3,\\\"thread-title\\\"],[24,0,\\\"chat-modal-thread-settings__title-input\\\"],[24,\\\"maxlength\\\",\\\"100\\\"],[16,\\\"placeholder\\\",[28,[32,1],[\\\"chat.thread_title_modal.input_placeholder\\\"],null]]],[[\\\"@type\\\",\\\"@value\\\"],[\\\"text\\\",[30,0,[\\\"editedTitle\\\"]]]],null],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"thread-title-length\\\"],[12],[1,\\\"\\\\n \\\"],[10,1],[12],[1,[30,0,[\\\"threadTitleLength\\\"]]],[13],[1,\\\"/100\\\\n \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"currentUser\\\",\\\"admin\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"discourse-ai-cta\\\"],[12],[1,\\\"\\\\n \\\"],[10,2],[14,0,\\\"discourse-ai-cta__title\\\"],[12],[1,[28,[32,4],[\\\"circle-info\\\"],null]],[1,\\\"\\\\n \\\"],[1,[28,[32,1],[\\\"chat.thread_title_modal.discourse_ai.title\\\"],null]],[13],[1,\\\"\\\\n \\\"],[10,2],[14,0,\\\"discourse-ai-cta__description\\\"],[12],[1,[28,[32,5],[[28,[32,1],[\\\"chat.thread_title_modal.discourse_ai.description\\\"],[[\\\"url\\\"],[\\\"Discourse AI\\\"]]]],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[]],[[[1,\\\"\\\\n \\\"],[8,[32,2],[[24,0,\\\"btn-primary\\\"]],[[\\\"@disabled\\\",\\\"@action\\\",\\\"@label\\\"],[[30,0,[\\\"buttonDisabled\\\"]],[30,0,[\\\"saveThread\\\"]],\\\"save\\\"]],null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[\\\"@closeModal\\\",\\\"@inline\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/modal/thread-settings.js\",\n \"scope\": () => [_dModal.default, _discourseI18n.i18n, _dButton.default, _component2.Input, _dIcon.default, _template.htmlSafe],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatModalThreadSettings;\n});","define(\"discourse/plugins/chat/discourse/components/chat/modal/toggle-channel-status\", [\"exports\", \"@glimmer/component\", \"@ember/object\", \"@ember/service\", \"@ember/template\", \"discourse/components/d-button\", \"discourse/components/d-modal\", \"discourse/lib/ajax-error\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/models/chat-channel\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _object, _service, _template, _dButton, _dModal, _ajaxError, _discourseI18n, _chatChannel, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatModalToggleChannelStatus extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chatApi\", [_service.service]))();\n #chatApi = (() => (dt7948.i(this, \"chatApi\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n get channel() {\n return this.args.model;\n }\n get buttonLabel() {\n if (this.channel?.isClosed) {\n return \"chat.channel_settings.open_channel\";\n } else {\n return \"chat.channel_settings.close_channel\";\n }\n }\n get instructions() {\n if (this.channel?.isClosed) {\n return (0, _template.htmlSafe)((0, _discourseI18n.i18n)(\"chat.channel_open.instructions\"));\n } else {\n return (0, _template.htmlSafe)((0, _discourseI18n.i18n)(\"chat.channel_close.instructions\"));\n }\n }\n get modalTitle() {\n if (this.channel?.isClosed) {\n return \"chat.channel_open.title\";\n } else {\n return \"chat.channel_close.title\";\n }\n }\n onStatusChange() {\n const status = this.channel.isClosed ? _chatChannel.CHANNEL_STATUSES.open : _chatChannel.CHANNEL_STATUSES.closed;\n return this.chatApi.updateChannelStatus(this.channel.id, status).then(() => {\n this.args.closeModal();\n this.router.transitionTo(\"chat.channel\", ...this.channel.routeModels);\n }).catch(_ajaxError.popupAjaxError);\n }\n static #_3 = (() => dt7948.n(this.prototype, \"onStatusChange\", [_object.action]))();\n static #_4 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n <:body>\n {{this.instructions}}

    \n \n <:footer>\n \n \n \n \n */\n {\n \"id\": \"S6HBIoaZ\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[8,[32,0],[[24,0,\\\"chat-modal-toggle-channel-status\\\"]],[[\\\"@closeModal\\\",\\\"@inline\\\",\\\"@title\\\"],[[30,1],[30,2],[28,[32,1],[[30,0,[\\\"modalTitle\\\"]]],null]]],[[\\\"body\\\",\\\"footer\\\"],[[[[1,\\\"\\\\n \\\"],[10,2],[14,0,\\\"chat-modal-toggle-channel-status__instructions\\\"],[12],[1,[30,0,[\\\"instructions\\\"]]],[13],[1,\\\"\\\\n \\\"]],[]],[[[1,\\\"\\\\n \\\"],[8,[32,2],[[24,1,\\\"chat-channel-toggle-btn\\\"],[24,0,\\\"btn-primary\\\"]],[[\\\"@action\\\",\\\"@label\\\"],[[30,0,[\\\"onStatusChange\\\"]],[30,0,[\\\"buttonLabel\\\"]]]],null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[\\\"@closeModal\\\",\\\"@inline\\\"],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/modal/toggle-channel-status.js\",\n \"scope\": () => [_dModal.default, _discourseI18n.i18n, _dButton.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatModalToggleChannelStatus;\n});","define(\"discourse/plugins/chat/discourse/components/chat/navbar/actions\", [\"exports\", \"@ember/helper\", \"discourse/plugins/chat/discourse/components/chat/navbar/browse-channels-button\", \"discourse/plugins/chat/discourse/components/chat/navbar/close-drawer-button\", \"discourse/plugins/chat/discourse/components/chat/navbar/close-thread-button\", \"discourse/plugins/chat/discourse/components/chat/navbar/close-threads-button\", \"discourse/plugins/chat/discourse/components/chat/navbar/full-page-button\", \"discourse/plugins/chat/discourse/components/chat/navbar/new-channel-button\", \"discourse/plugins/chat/discourse/components/chat/navbar/new-direct-message-button\", \"discourse/plugins/chat/discourse/components/chat/navbar/open-drawer-button\", \"discourse/plugins/chat/discourse/components/chat/navbar/thread-settings-button\", \"discourse/plugins/chat/discourse/components/chat/navbar/thread-tracking-dropdown\", \"discourse/plugins/chat/discourse/components/chat/navbar/threads-list-button\", \"discourse/plugins/chat/discourse/components/chat/navbar/toggle-drawer-button\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _helper, _browseChannelsButton, _closeDrawerButton, _closeThreadButton, _closeThreadsButton, _fullPageButton, _newChannelButton, _newDirectMessageButton, _openDrawerButton, _threadSettingsButton, _threadTrackingDropdown, _threadsListButton, _toggleDrawerButton, _component, _templateFactory, _templateOnly) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const ChatNavbarActions = (0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n \n */\n {\n \"id\": \"luKcWzo7\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,\\\"nav\\\"],[14,0,\\\"c-navbar__actions\\\"],[12],[1,\\\"\\\\n \\\"],[18,1,[[28,[32,0],null,[[\\\"OpenDrawerButton\\\",\\\"BrowseChannelsButton\\\",\\\"NewDirectMessageButton\\\",\\\"NewChannelButton\\\",\\\"ThreadTrackingDropdown\\\",\\\"CloseThreadButton\\\",\\\"CloseThreadsButton\\\",\\\"ThreadSettingsButton\\\",\\\"ThreadsListButton\\\",\\\"CloseDrawerButton\\\",\\\"ToggleDrawerButton\\\",\\\"FullPageButton\\\"],[[32,1],[32,2],[32,3],[32,4],[32,5],[32,6],[32,7],[32,8],[32,9],[32,10],[32,11],[32,12]]]]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[\\\"&default\\\"],false,[\\\"yield\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/navbar/actions.js\",\n \"scope\": () => [_helper.hash, _openDrawerButton.default, _browseChannelsButton.default, _newDirectMessageButton.default, _newChannelButton.default, _threadTrackingDropdown.default, _closeThreadButton.default, _closeThreadsButton.default, _threadSettingsButton.default, _threadsListButton.default, _closeDrawerButton.default, _toggleDrawerButton.default, _fullPageButton.default],\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, \"actions:ChatNavbarActions\"));\n var _default = _exports.default = ChatNavbarActions;\n});","define(\"discourse/plugins/chat/discourse/components/chat/navbar/back-button\", [\"exports\", \"@glimmer/component\", \"@ember/routing\", \"@ember/service\", \"discourse/helpers/d-icon\", \"discourse-i18n\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _routing, _service, _dIcon, _discourseI18n, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatNavbarBackButton extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chatStateManager\", [_service.service]))();\n #chatStateManager = (() => (dt7948.i(this, \"chatStateManager\"), void 0))();\n get icon() {\n return this.args.icon ?? \"chevron-left\";\n }\n get title() {\n return this.args.title ?? (0, _discourseI18n.i18n)(\"chat.browse.back\");\n }\n get targetRoute() {\n return this.args.route ?? \"chat\";\n }\n get showBackButton() {\n return this.chatStateManager.isDrawerExpanded || this.chatStateManager.isFullPageActive;\n }\n static #_2 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if this.showBackButton}}\n {{#if @routeModels}}\n \n {{#if (has-block)}}\n {{yield}}\n {{else}}\n {{icon this.icon}}\n {{/if}}\n \n {{else}}\n \n {{#if (has-block)}}\n {{yield}}\n {{else}}\n {{icon this.icon}}\n {{/if}}\n \n {{/if}}\n {{/if}}\n \n */\n {\n \"id\": \"Sn6WZQhb\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"showBackButton\\\"]],[[[41,[30,1],[[[1,\\\" \\\"],[8,[32,0],[[24,0,\\\"c-navbar__back-button no-text btn-transparent btn\\\"],[16,\\\"title\\\",[30,0,[\\\"title\\\"]]]],[[\\\"@route\\\",\\\"@models\\\"],[[30,2],[30,1]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[41,[48,[30,3]],[[[1,\\\" \\\"],[18,3,null],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[1,[28,[32,1],[[30,0,[\\\"icon\\\"]]],null]],[1,\\\"\\\\n\\\"]],[]]],[1,\\\" \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[8,[32,0],[[24,0,\\\"c-navbar__back-button no-text btn-transparent btn\\\"],[16,\\\"title\\\",[30,0,[\\\"title\\\"]]]],[[\\\"@route\\\"],[[30,0,[\\\"targetRoute\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[41,[48,[30,3]],[[[1,\\\" \\\"],[18,3,null],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[1,[28,[32,1],[[30,0,[\\\"icon\\\"]]],null]],[1,\\\"\\\\n\\\"]],[]]],[1,\\\" \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]]]],[]],null],[1,\\\" \\\"]],[\\\"@routeModels\\\",\\\"@route\\\",\\\"&default\\\"],false,[\\\"if\\\",\\\"has-block\\\",\\\"yield\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/navbar/back-button.js\",\n \"scope\": () => [_routing.LinkTo, _dIcon.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatNavbarBackButton;\n});","define(\"discourse/plugins/chat/discourse/components/chat/navbar/browse-channels-button\", [\"exports\", \"@glimmer/component\", \"@ember/routing\", \"@ember/service\", \"discourse/helpers/d-icon\", \"discourse-i18n\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _routing, _service, _dIcon, _discourseI18n, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatNavbarBrowseChannelsButton extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n browseChannelsLabel = (() => (0, _discourseI18n.i18n)(\"chat.channels_list_popup.browse\"))();\n get showBrowseChannelsButton() {\n return this.router.currentRoute.name === \"chat.channels\";\n }\n static #_2 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if this.showBrowseChannelsButton}}\n \n {{icon \"pencil\"}}\n \n {{/if}}\n \n */\n {\n \"id\": \"yqGCXhpN\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"showBrowseChannelsButton\\\"]],[[[1,\\\" \\\"],[8,[32,0],[[24,0,\\\"btn no-text btn-flat c-navbar__browse-button\\\"],[16,\\\"title\\\",[30,0,[\\\"browseChannelsLabel\\\"]]]],[[\\\"@route\\\"],[\\\"chat.browse\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[1,[28,[32,1],[\\\"pencil\\\"],null]],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/navbar/browse-channels-button.js\",\n \"scope\": () => [_routing.LinkTo, _dIcon.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatNavbarBrowseChannelsButton;\n});","define(\"discourse/plugins/chat/discourse/components/chat/navbar/channel-title\", [\"exports\", \"@glimmer/component\", \"@ember/routing\", \"@ember/service\", \"discourse/plugins/chat/discourse/components/channel-title\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _routing, _service, _channelTitle, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatNavbarChannelTitle extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chatStateManager\", [_service.service]))();\n #chatStateManager = (() => (dt7948.i(this, \"chatStateManager\"), void 0))();\n get shouldLinkToSettings() {\n return this.chatStateManager.isDrawerExpanded || this.chatStateManager.isFullPageActive;\n }\n static #_2 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if @channel}}\n {{#if this.shouldLinkToSettings}}\n \n \n \n {{else}}\n
    \n \n
    \n {{/if}}\n {{/if}}\n \n */\n {\n \"id\": \"zqTvGae+\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,1],[[[41,[30,0,[\\\"shouldLinkToSettings\\\"]],[[[1,\\\" \\\"],[8,[32,0],[[24,0,\\\"c-navbar__channel-title\\\"]],[[\\\"@route\\\",\\\"@models\\\"],[\\\"chat.channel.info.settings\\\",[30,1,[\\\"routeModels\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,1],null,[[\\\"@channel\\\"],[[30,1]]],null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"c-navbar__channel-title\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,1],null,[[\\\"@channel\\\"],[[30,1]]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]]]],[]],null],[1,\\\" \\\"]],[\\\"@channel\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/navbar/channel-title.js\",\n \"scope\": () => [_routing.LinkTo, _channelTitle.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatNavbarChannelTitle;\n});","define(\"discourse/plugins/chat/discourse/components/chat/navbar/close-drawer-button\", [\"exports\", \"@glimmer/component\", \"@ember/object\", \"@ember/service\", \"discourse/components/d-button\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _object, _service, _dButton, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatNavbarCloseDrawerButton extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"chatStateManager\", [_service.service]))();\n #chatStateManager = (() => (dt7948.i(this, \"chatStateManager\"), void 0))();\n closeDrawer() {\n this.chatStateManager.didCloseDrawer();\n this.chat.activeChannel = null;\n }\n static #_3 = (() => dt7948.n(this.prototype, \"closeDrawer\", [_object.action]))();\n static #_4 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n \n */\n {\n \"id\": \"TAWVg/ye\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[8,[32,0],[[24,0,\\\"btn-transparent no-text c-navbar__close-drawer-button\\\"]],[[\\\"@icon\\\",\\\"@action\\\",\\\"@title\\\"],[\\\"xmark\\\",[30,0,[\\\"closeDrawer\\\"]],\\\"chat.close\\\"]],null],[1,\\\"\\\\n \\\"]],[],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/navbar/close-drawer-button.js\",\n \"scope\": () => [_dButton.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatNavbarCloseDrawerButton;\n});","define(\"discourse/plugins/chat/discourse/components/chat/navbar/close-thread-button\", [\"exports\", \"@glimmer/component\", \"@ember/routing\", \"@ember/service\", \"discourse/helpers/d-icon\", \"discourse-i18n\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _routing, _service, _dIcon, _discourseI18n, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatNavbarCloseThreadButton extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n static #_2 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if this.site.desktopView}}\n \n {{icon \"xmark\"}}\n \n {{/if}}\n \n */\n {\n \"id\": \"ovcFx+Tj\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"site\\\",\\\"desktopView\\\"]],[[[1,\\\" \\\"],[8,[32,0],[[24,0,\\\"c-navbar__close-thread-button btn-transparent btn btn-icon no-text\\\"],[16,\\\"title\\\",[28,[32,1],[\\\"chat.thread.close\\\"],null]]],[[\\\"@route\\\",\\\"@models\\\"],[\\\"chat.channel\\\",[30,1,[\\\"channel\\\",\\\"routeModels\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[1,[28,[32,2],[\\\"xmark\\\"],null]],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[\\\"@thread\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/navbar/close-thread-button.js\",\n \"scope\": () => [_routing.LinkTo, _discourseI18n.i18n, _dIcon.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatNavbarCloseThreadButton;\n});","define(\"discourse/plugins/chat/discourse/components/chat/navbar/close-threads-button\", [\"exports\", \"@glimmer/component\", \"@ember/routing\", \"@ember/service\", \"discourse/helpers/d-icon\", \"discourse-i18n\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _routing, _service, _dIcon, _discourseI18n, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatNavbarCloseThreadsButton extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n closeButtonTitle = (() => (0, _discourseI18n.i18n)(\"chat.thread.close\"))();\n static #_2 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if this.site.desktopView}}\n \n {{icon \"xmark\"}}\n \n {{/if}}\n \n */\n {\n \"id\": \"R+DUT5Sk\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"site\\\",\\\"desktopView\\\"]],[[[1,\\\" \\\"],[8,[32,0],[[24,0,\\\"c-navbar__close-threads-button btn-transparent btn btn-icon no-text\\\"],[16,\\\"title\\\",[30,0,[\\\"closeButtonTitle\\\"]]]],[[\\\"@route\\\",\\\"@models\\\"],[\\\"chat.channel\\\",[30,1,[\\\"routeModels\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[1,[28,[32,1],[\\\"xmark\\\"],null]],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[\\\"@channel\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/navbar/close-threads-button.js\",\n \"scope\": () => [_routing.LinkTo, _dIcon.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatNavbarCloseThreadsButton;\n});","define(\"discourse/plugins/chat/discourse/components/chat/navbar/full-page-button\", [\"exports\", \"@glimmer/component\", \"@ember/object\", \"@ember/runloop\", \"@ember/service\", \"discourse/components/d-button\", \"discourse/lib/url\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _object, _runloop, _service, _dButton, _url, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatNavbarFullPageButton extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"chatStateManager\", [_service.service]))();\n #chatStateManager = (() => (dt7948.i(this, \"chatStateManager\"), void 0))();\n async openInFullPage() {\n this.chatStateManager.storeAppURL();\n this.chatStateManager.prefersFullPage();\n this.chat.activeChannel = null;\n await new Promise(resolve => (0, _runloop.next)(resolve));\n _url.default.routeTo(this.chatStateManager.lastKnownChatURL);\n }\n static #_3 = (() => dt7948.n(this.prototype, \"openInFullPage\", [_object.action]))();\n static #_4 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if this.chatStateManager.isDrawerExpanded}}\n \n {{/if}}\n \n */\n {\n \"id\": \"L4RK4IA3\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"chatStateManager\\\",\\\"isDrawerExpanded\\\"]],[[[1,\\\" \\\"],[8,[32,0],[[24,0,\\\"btn-transparent no-text c-navbar__full-page-button\\\"]],[[\\\"@icon\\\",\\\"@title\\\",\\\"@action\\\"],[\\\"discourse-expand\\\",\\\"chat.open_full_page\\\",[30,0,[\\\"openInFullPage\\\"]]]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/navbar/full-page-button.js\",\n \"scope\": () => [_dButton.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatNavbarFullPageButton;\n});","define(\"discourse/plugins/chat/discourse/components/chat/navbar/index\", [\"exports\", \"@glimmer/component\", \"@ember/helper\", \"@ember/modifier\", \"@ember/object\", \"discourse/helpers/concat-class\", \"discourse/helpers/noop\", \"discourse/modifiers/on-resize\", \"discourse/plugins/chat/discourse/components/chat/navbar/actions\", \"discourse/plugins/chat/discourse/components/chat/navbar/back-button\", \"discourse/plugins/chat/discourse/components/chat/navbar/channel-title\", \"discourse/plugins/chat/discourse/components/chat/navbar/title\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _helper, _modifier, _object, _concatClass, _noop, _onResize, _actions, _backButton, _channelTitle, _title, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatNavbar extends _component.default {\n handleResize(entries) {\n for (let entry of entries) {\n const height = entry.target.clientHeight;\n requestAnimationFrame(() => {\n document.documentElement.style.setProperty(\"--chat-header-expanded-offset\", `${height}px`);\n });\n }\n }\n static #_ = (() => dt7948.n(this.prototype, \"handleResize\", [_object.action]))();\n static #_2 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{! template-lint-disable no-invalid-interactive }}\n \n \n \n \n */\n {\n \"id\": \"R0D/h7pQ\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[1,\\\" \\\"],[11,0],[16,0,[28,[32,0],[\\\"c-navbar-container\\\",[52,[30,1],\\\"-clickable\\\"]],null]],[4,[32,1],[\\\"click\\\",[52,[30,1],[30,1],[28,[32,2],null,null]]],null],[4,[32,3],[[30,0,[\\\"handleResize\\\"]]],null],[12],[1,\\\"\\\\n \\\"],[10,\\\"nav\\\"],[14,0,\\\"c-navbar\\\"],[12],[1,\\\"\\\\n \\\"],[18,2,[[28,[32,4],null,[[\\\"BackButton\\\",\\\"ChannelTitle\\\",\\\"Title\\\",\\\"Actions\\\"],[[32,5],[32,6],[32,7],[32,8]]]]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"@onClick\\\",\\\"&default\\\"],false,[\\\"if\\\",\\\"yield\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/navbar/index.js\",\n \"scope\": () => [_concatClass.default, _modifier.on, _noop.default, _onResize.default, _helper.hash, _backButton.default, _channelTitle.default, _title.default, _actions.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatNavbar;\n});","define(\"discourse/plugins/chat/discourse/components/chat/navbar/new-channel-button\", [\"exports\", \"@glimmer/component\", \"@ember/object\", \"@ember/service\", \"discourse/components/d-button\", \"discourse/plugins/chat/discourse/components/chat/modal/create-channel\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _object, _service, _dButton, _createChannel2, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatNavbarNewChannelButton extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chatStateManager\", [_service.service]))();\n #chatStateManager = (() => (dt7948.i(this, \"chatStateManager\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"modal\", [_service.service]))();\n #modal = (() => (dt7948.i(this, \"modal\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n createChannel() {\n this.modal.show(_createChannel2.default);\n }\n static #_5 = (() => dt7948.n(this.prototype, \"createChannel\", [_object.action]))();\n static #_6 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if this.currentUser.staff}}\n \n {{/if}}\n \n */\n {\n \"id\": \"PEwkGjH5\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"currentUser\\\",\\\"staff\\\"]],[[[1,\\\" \\\"],[8,[32,0],[[24,0,\\\"c-navbar__new-channel-button btn-transparent\\\"]],[[\\\"@action\\\",\\\"@icon\\\",\\\"@label\\\"],[[30,0,[\\\"createChannel\\\"]],\\\"plus\\\",[52,[30,0,[\\\"site\\\",\\\"desktopView\\\"]],\\\"chat.create_channel.title\\\"]]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/navbar/new-channel-button.js\",\n \"scope\": () => [_dButton.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatNavbarNewChannelButton;\n});","define(\"discourse/plugins/chat/discourse/components/chat/navbar/new-direct-message-button\", [\"exports\", \"@glimmer/component\", \"@ember/object\", \"@ember/service\", \"discourse/components/d-button\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/chat/modal/new-message\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _object, _service, _dButton, _discourseI18n, _newMessage, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatNavbarNewDirectMessageButton extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"modal\", [_service.service]))();\n #modal = (() => (dt7948.i(this, \"modal\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n buttonLabel = (() => (0, _discourseI18n.i18n)(\"chat.channels_list_popup.browse\"))();\n get showButtonComponent() {\n return this.router.currentRoute.name === \"chat.direct-messages\" && this.canCreateDirectMessageChannel;\n }\n get canCreateDirectMessageChannel() {\n return this.chat.userCanDirectMessage;\n }\n openNewMessageModal() {\n this.modal.show(_newMessage.default);\n }\n static #_4 = (() => dt7948.n(this.prototype, \"openNewMessageModal\", [_object.action]))();\n static #_5 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if this.showButtonComponent}}\n \n {{/if}}\n \n */\n {\n \"id\": \"hO5vSjgE\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"showButtonComponent\\\"]],[[[1,\\\" \\\"],[8,[32,0],[[24,0,\\\"btn no-text btn-flat c-navbar__new-dm-button\\\"],[16,\\\"title\\\",[30,0,[\\\"buttonLabel\\\"]]]],[[\\\"@action\\\",\\\"@icon\\\"],[[30,0,[\\\"openNewMessageModal\\\"]],\\\"plus\\\"]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/navbar/new-direct-message-button.js\",\n \"scope\": () => [_dButton.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatNavbarNewDirectMessageButton;\n});","define(\"discourse/plugins/chat/discourse/components/chat/navbar/open-drawer-button\", [\"exports\", \"@glimmer/component\", \"@ember/object\", \"@ember/service\", \"discourse/components/d-button\", \"discourse/lib/url\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _object, _service, _dButton, _url, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatNavbarOpenDrawerButton extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chatStateManager\", [_service.service]))();\n #chatStateManager = (() => (dt7948.i(this, \"chatStateManager\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n async openDrawer() {\n this.chatStateManager.prefersDrawer();\n _url.default.routeTo(this.chatStateManager.lastKnownAppURL).then(() => {\n _url.default.routeTo(this.chatStateManager.lastKnownChatURL);\n });\n }\n static #_3 = (() => dt7948.n(this.prototype, \"openDrawer\", [_object.action]))();\n static #_4 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if this.site.desktopView}}\n \n {{/if}}\n \n */\n {\n \"id\": \"rzfCPs7o\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"site\\\",\\\"desktopView\\\"]],[[[1,\\\" \\\"],[8,[32,0],[[24,0,\\\"c-navbar__open-drawer-button btn-transparent\\\"]],[[\\\"@icon\\\",\\\"@title\\\",\\\"@action\\\"],[\\\"discourse-compress\\\",\\\"chat.close_full_page\\\",[30,0,[\\\"openDrawer\\\"]]]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/navbar/open-drawer-button.js\",\n \"scope\": () => [_dButton.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatNavbarOpenDrawerButton;\n});","define(\"discourse/plugins/chat/discourse/components/chat/navbar/sub-title\", [\"exports\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _component, _templateFactory, _templateOnly) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const ChatNavbarSubTitle = (0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
    \n {{#if (has-block)}}\n {{yield}}\n {{else}}\n {{@title}}\n {{/if}}\n
    \n \n */\n {\n \"id\": \"v8Ekg8XF\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"c-navbar__sub-title\\\"],[12],[1,\\\"\\\\n\\\"],[41,[48,[30,2]],[[[1,\\\" \\\"],[18,2,null],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[1,[30,1]],[1,\\\"\\\\n\\\"]],[]]],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\"]],[\\\"@title\\\",\\\"&default\\\"],false,[\\\"if\\\",\\\"has-block\\\",\\\"yield\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/navbar/sub-title.js\",\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, \"sub-title:ChatNavbarSubTitle\"));\n var _default = _exports.default = ChatNavbarSubTitle;\n});","define(\"discourse/plugins/chat/discourse/components/chat/navbar/thread-settings-button\", [\"exports\", \"@glimmer/component\", \"@ember/object\", \"@ember/service\", \"discourse/components/d-button\", \"discourse/plugins/chat/discourse/components/chat/modal/thread-settings\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _object, _service, _dButton, _threadSettings, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatNavbarThreadSettingsButton extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"modal\", [_service.service]))();\n #modal = (() => (dt7948.i(this, \"modal\"), void 0))();\n get canChangeThreadSettings() {\n if (!this.args.thread) {\n return false;\n }\n return this.currentUser.staff || this.currentUser.id === this.args.thread.originalMessage.user.id;\n }\n openThreadSettings() {\n this.modal.show(_threadSettings.default, {\n model: this.args.thread\n });\n }\n static #_3 = (() => dt7948.n(this.prototype, \"openThreadSettings\", [_object.action]))();\n static #_4 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if this.canChangeThreadSettings}}\n \n {{/if}}\n \n */\n {\n \"id\": \"+/omuWcJ\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"canChangeThreadSettings\\\"]],[[[1,\\\" \\\"],[8,[32,0],[[24,0,\\\"btn-transparent c-navbar__thread-settings-button\\\"]],[[\\\"@action\\\",\\\"@icon\\\",\\\"@title\\\"],[[30,0,[\\\"openThreadSettings\\\"]],\\\"gear\\\",\\\"chat.thread.settings\\\"]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/navbar/thread-settings-button.js\",\n \"scope\": () => [_dButton.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatNavbarThreadSettingsButton;\n});","define(\"discourse/plugins/chat/discourse/components/chat/navbar/thread-tracking-dropdown\", [\"exports\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/object\", \"@ember/service\", \"discourse/helpers/concat-class\", \"discourse/lib/ajax-error\", \"discourse/lib/notification-levels\", \"discourse/plugins/chat/discourse/components/thread-notifications-tracking\", \"discourse/plugins/chat/discourse/models/user-chat-thread-membership\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _tracking, _object, _service, _concatClass, _ajaxError, _notificationLevels, _threadNotificationsTracking, _userChatThreadMembership, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatNavbarThreadTrackingDropdown extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chatApi\", [_service.service]))();\n #chatApi = (() => (dt7948.i(this, \"chatApi\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"persistedNotificationLevel\", [_tracking.tracked], function () {\n return true;\n }))();\n #persistedNotificationLevel = (() => (dt7948.i(this, \"persistedNotificationLevel\"), void 0))();\n get threadNotificationLevel() {\n return this.membership?.notificationLevel || _notificationLevels.NotificationLevels.REGULAR;\n }\n get membership() {\n return this.args.thread.currentUserMembership;\n }\n async updateThreadNotificationLevel(newNotificationLevel) {\n this.persistedNotificationLevel = false;\n let currentNotificationLevel;\n if (this.membership) {\n currentNotificationLevel = this.membership.notificationLevel;\n this.membership.notificationLevel = newNotificationLevel;\n } else {\n this.args.thread.currentUserMembership = _userChatThreadMembership.default.create({\n notification_level: newNotificationLevel,\n last_read_message_id: null\n });\n }\n try {\n const response = await this.chatApi.updateCurrentUserThreadNotificationsSettings(this.args.thread.channel.id, this.args.thread.id, {\n notificationLevel: newNotificationLevel\n });\n this.membership.last_read_message_id = response.membership.last_read_message_id;\n this.persistedNotificationLevel = true;\n } catch (error) {\n this.membership.notificationLevel = currentNotificationLevel;\n (0, _ajaxError.popupAjaxError)(error);\n }\n }\n static #_3 = (() => dt7948.n(this.prototype, \"updateThreadNotificationLevel\", [_object.action]))();\n static #_4 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n \n */\n {\n \"id\": \"cIi7k6xf\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[8,[32,0],[[16,0,[28,[32,1],[\\\"c-navbar__thread-tracking-dropdown\\\",[52,[30,0,[\\\"persistedNotificationLevel\\\"]],\\\"-persisted\\\"]],null]]],[[\\\"@levelId\\\",\\\"@onChange\\\"],[[30,0,[\\\"threadNotificationLevel\\\"]],[30,0,[\\\"updateThreadNotificationLevel\\\"]]]],null],[1,\\\"\\\\n \\\"]],[],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/navbar/thread-tracking-dropdown.js\",\n \"scope\": () => [_threadNotificationsTracking.default, _concatClass.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatNavbarThreadTrackingDropdown;\n});","define(\"discourse/plugins/chat/discourse/components/chat/navbar/threads-list-button\", [\"exports\", \"@glimmer/component\", \"@ember/routing\", \"@ember/service\", \"discourse/helpers/concat-class\", \"discourse/helpers/d-icon\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/chat/thread/header-unread-indicator\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _routing, _service, _concatClass, _dIcon, _discourseI18n, _headerUnreadIndicator, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatNavbarThreadsListButton extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n threadsListLabel = (() => (0, _discourseI18n.i18n)(\"chat.threads.list\"))();\n get showThreadsListButton() {\n return this.args.channel?.threadingEnabled && this.router.currentRoute.name !== \"chat.channel.threads\" && this.router.currentRoute.name !== \"chat.channel.thread\" && this.router.currentRoute.name !== \"chat.channel.thread.index\";\n }\n static #_2 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if this.showThreadsListButton}}\n \n {{icon \"discourse-threads\"}}\n \n \n {{/if}}\n \n */\n {\n \"id\": \"dXGiHwIw\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"showThreadsListButton\\\"]],[[[1,\\\" \\\"],[8,[32,0],[[16,\\\"title\\\",[30,0,[\\\"threadsListLabel\\\"]]],[16,0,[28,[32,1],[\\\"c-navbar__threads-list-button\\\",\\\"btn\\\",\\\"no-text\\\",\\\"btn-transparent\\\",[52,[30,1,[\\\"threadsManager\\\",\\\"unreadThreadCount\\\"]],\\\"has-unreads\\\"]],null]]],[[\\\"@route\\\",\\\"@models\\\"],[\\\"chat.channel.threads\\\",[30,1,[\\\"routeModels\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[1,[28,[32,2],[\\\"discourse-threads\\\"],null]],[1,\\\"\\\\n \\\"],[8,[32,3],null,[[\\\"@channel\\\"],[[30,1]]],null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[\\\"@channel\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/navbar/threads-list-button.js\",\n \"scope\": () => [_routing.LinkTo, _concatClass.default, _dIcon.default, _headerUnreadIndicator.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatNavbarThreadsListButton;\n});","define(\"discourse/plugins/chat/discourse/components/chat/navbar/title\", [\"exports\", \"@ember/helper\", \"discourse/helpers/concat-class\", \"discourse/helpers/d-icon\", \"discourse/plugins/chat/discourse/components/chat/navbar/sub-title\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _helper, _concatClass, _dIcon, _subTitle, _component, _templateFactory, _templateOnly) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const ChatNavbarTitle = (0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n \n {{if @icon (icon @icon)}}\n {{@title}}\n \n \n {{#if (has-block)}}\n {{yield (hash SubTitle=SubTitle)}}\n {{/if}}\n \n \n */\n {\n \"id\": \"lFlbIKdB\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[11,0],[16,\\\"title\\\",[30,1]],[16,0,[28,[32,0],[\\\"c-navbar__title\\\",[52,[30,2],\\\"full-title\\\"]],null]],[17,3],[12],[1,\\\"\\\\n \\\"],[10,1],[14,0,\\\"c-navbar__title-text\\\"],[12],[1,\\\"\\\\n \\\"],[1,[52,[30,4],[28,[32,1],[[30,4]],null]]],[1,\\\"\\\\n \\\"],[1,[30,1]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[48,[30,5]],[[[1,\\\" \\\"],[18,5,[[28,[32,2],null,[[\\\"SubTitle\\\"],[[32,3]]]]]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\"]],[\\\"@title\\\",\\\"@showFullTitle\\\",\\\"&attrs\\\",\\\"@icon\\\",\\\"&default\\\"],false,[\\\"if\\\",\\\"has-block\\\",\\\"yield\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/navbar/title.js\",\n \"scope\": () => [_concatClass.default, _dIcon.default, _helper.hash, _subTitle.default],\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, \"title:ChatNavbarTitle\"));\n var _default = _exports.default = ChatNavbarTitle;\n});","define(\"discourse/plugins/chat/discourse/components/chat/navbar/toggle-drawer-button\", [\"exports\", \"@glimmer/component\", \"@ember/service\", \"discourse/components/d-button\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _service, _dButton, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatNavbarToggleDrawerButton extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"chatStateManager\", [_service.service]))();\n #chatStateManager = (() => (dt7948.i(this, \"chatStateManager\"), void 0))();\n static #_3 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n \n */\n {\n \"id\": \"JOSsU1xt\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[8,[32,0],[[24,0,\\\"btn-transparent no-text c-navbar__toggle-drawer-button\\\"]],[[\\\"@icon\\\",\\\"@action\\\",\\\"@title\\\"],[[52,[30,0,[\\\"chatStateManager\\\",\\\"isDrawerExpanded\\\"]],\\\"angles-down\\\",\\\"angles-up\\\"],[30,0,[\\\"chat\\\",\\\"toggleDrawer\\\"]],[52,[30,0,[\\\"chatStateManager\\\",\\\"isDrawerExpanded\\\"]],\\\"chat.collapse\\\",\\\"chat.expand\\\"]]],null],[1,\\\"\\\\n \\\"]],[],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/navbar/toggle-drawer-button.js\",\n \"scope\": () => [_dButton.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatNavbarToggleDrawerButton;\n});","define(\"discourse/plugins/chat/discourse/components/chat/notices/mention_without_membership\", [\"exports\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/modifier\", \"@ember/object\", \"@ember/service\", \"discourse/helpers/d-icon\", \"discourse/lib/ajax-error\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/modifiers/chat/later-fn\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _tracking, _modifier, _object, _service, _dIcon, _ajaxError, _discourseI18n, _laterFn, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class MentionWithoutMembership extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chatApi\", [(0, _service.service)(\"chat-api\")]))();\n #chatApi = (() => (dt7948.i(this, \"chatApi\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"invitationsSent\", [_tracking.tracked], function () {\n return false;\n }))();\n #invitationsSent = (() => (dt7948.i(this, \"invitationsSent\"), void 0))();\n get userIds() {\n return this.args.notice.data.user_ids;\n }\n async sendInvitations(event) {\n // preventDefault to avoid a refresh\n event.preventDefault();\n try {\n await this.chatApi.invite(this.args.channel.id, this.userIds, {\n messageId: this.args.notice.data.messageId\n });\n this.invitationsSent = true;\n } catch (error) {\n (0, _ajaxError.popupAjaxError)(error);\n }\n }\n static #_3 = (() => dt7948.n(this.prototype, \"sendInvitations\", [_object.action]))();\n static #_4 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
    \n {{#if this.invitationsSent}}\n \n {{icon \"check\"}}\n \n {{i18n\n \"chat.mention_warning.invitations_sent\"\n count=this.userIds.length\n }}\n \n \n {{else}}\n

    \n {{@notice.data.text}}\n \n {{i18n \"chat.mention_warning.invite\"}}\n \n

    \n {{/if}}\n
    \n \n */\n {\n \"id\": \"43SYY4H4\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"mention-without-membership-notice\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"invitationsSent\\\"]],[[[1,\\\" \\\"],[11,1],[24,0,\\\"mention-without-membership-notice__invitation-sent\\\"],[4,[32,0],[[30,1],3000],null],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,1],[\\\"check\\\"],null]],[1,\\\"\\\\n \\\"],[10,1],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,2],[\\\"chat.mention_warning.invitations_sent\\\"],[[\\\"count\\\"],[[30,0,[\\\"userIds\\\",\\\"length\\\"]]]]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[10,2],[14,0,\\\"mention-without-membership-notice__body -without-membership\\\"],[12],[1,\\\"\\\\n \\\"],[10,1],[14,0,\\\"mention-without-membership-notice__body__text\\\"],[12],[1,[30,2,[\\\"data\\\",\\\"text\\\"]]],[13],[1,\\\"\\\\n \\\"],[11,3],[24,0,\\\"mention-without-membership-notice__body__link\\\"],[24,6,\\\"\\\"],[4,[32,3],[\\\"click\\\",[30,0,[\\\"sendInvitations\\\"]]],null],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,2],[\\\"chat.mention_warning.invite\\\"],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]]],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"@clearNotice\\\",\\\"@notice\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/notices/mention_without_membership.js\",\n \"scope\": () => [_laterFn.default, _dIcon.default, _discourseI18n.i18n, _modifier.on],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = MentionWithoutMembership;\n});","define(\"discourse/plugins/chat/discourse/components/chat/routes/channel-info-members\", [\"exports\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/helper\", \"@ember/modifier\", \"@ember/object\", \"@ember/routing\", \"@ember/service\", \"ember-modifier\", \"discourse/components/d-button\", \"discourse/components/filter-input\", \"discourse/helpers/d-icon\", \"discourse/lib/debounce\", \"discourse/lib/decorators\", \"discourse/lib/environment\", \"discourse/lib/is-element-in-viewport\", \"discourse/lib/url\", \"discourse/modifiers/auto-focus\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/chat/message-creator\", \"discourse/plugins/chat/discourse/components/chat/message-creator/constants\", \"discourse/plugins/chat/discourse/components/chat-user-info\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _tracking, _helper, _modifier, _object, _routing, _service, _emberModifier, _dButton, _filterInput, _dIcon, _debounce, _decorators, _environment, _isElementInViewport, _url, _autoFocus, _discourseI18n, _messageCreator, _constants, _chatUserInfo, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatRouteChannelInfoMembers extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"appEvents\", [_service.service]))();\n #appEvents = (() => (dt7948.i(this, \"appEvents\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"chatApi\", [_service.service]))();\n #chatApi = (() => (dt7948.i(this, \"chatApi\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"modal\", [_service.service]))();\n #modal = (() => (dt7948.i(this, \"modal\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"loadingSlider\", [_service.service]))();\n #loadingSlider = (() => (dt7948.i(this, \"loadingSlider\"), void 0))();\n static #_6 = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n static #_7 = (() => dt7948.g(this.prototype, \"filter\", [_tracking.tracked], function () {\n return \"\";\n }))();\n #filter = (() => (dt7948.i(this, \"filter\"), void 0))();\n static #_8 = (() => dt7948.g(this.prototype, \"updatedAt\", [_tracking.tracked], function () {\n return Date.now();\n }))();\n #updatedAt = (() => (dt7948.i(this, \"updatedAt\"), void 0))();\n static #_9 = (() => dt7948.g(this.prototype, \"showAddMembers\", [_tracking.tracked], function () {\n return false;\n }))();\n #showAddMembers = (() => (dt7948.i(this, \"showAddMembers\"), void 0))();\n addMemberLabel = (() => (0, _discourseI18n.i18n)(\"chat.members_view.add_member\"))();\n filterPlaceholder = (() => (0, _discourseI18n.i18n)(\"chat.members_view.filter_placeholder\"))();\n noMembershipsFoundLabel = (() => (0, _discourseI18n.i18n)(\"chat.channel.no_memberships_found\"))();\n noMembershipsLabel = (() => (0, _discourseI18n.i18n)(\"chat.channel.no_memberships\"))();\n onEnter = (() => (0, _emberModifier.modifier)((element, _ref) => {\n let [callback] = _ref;\n const handler = event => {\n if (event.key !== \"Enter\") {\n return;\n }\n callback(event);\n };\n element.addEventListener(\"keydown\", handler);\n return () => {\n element.removeEventListener(\"keydown\", handler);\n };\n }))();\n fill = (() => (0, _emberModifier.modifier)(element => {\n this.resizeObserver = new ResizeObserver(() => {\n if ((0, _isElementInViewport.default)(element)) {\n this.load();\n }\n });\n this.resizeObserver.observe(element);\n return () => {\n this.resizeObserver.disconnect();\n };\n }))();\n loadMore = (() => (0, _emberModifier.modifier)(element => {\n this.intersectionObserver = new IntersectionObserver(this.load);\n this.intersectionObserver.observe(element);\n return () => {\n this.intersectionObserver.disconnect();\n };\n }))();\n get noResults() {\n return this.members.fetchedOnce && !this.members.loading;\n }\n get members() {\n const params = {};\n if (this.filter?.length) {\n params.username = this.filter;\n }\n this.updatedAt;\n return this.chatApi.listChannelMemberships(this.args.channel.id, params);\n }\n static #_10 = (() => dt7948.n(this.prototype, \"members\", [_tracking.cached]))();\n load() {\n (0, _debounce.default)(this, this.debouncedLoad, _environment.INPUT_DELAY);\n }\n static #_11 = (() => dt7948.n(this.prototype, \"load\", [_object.action]))();\n mutFilter(event) {\n this.filter = event.target.value;\n this.load();\n }\n static #_12 = (() => dt7948.n(this.prototype, \"mutFilter\", [_object.action]))();\n addMember() {\n this.showAddMembers = true;\n }\n static #_13 = (() => dt7948.n(this.prototype, \"addMember\", [_object.action]))();\n hideAddMember() {\n this.showAddMembers = false;\n }\n static #_14 = (() => dt7948.n(this.prototype, \"hideAddMember\", [_object.action]))();\n openMemberCard(user, event) {\n event.preventDefault();\n _url.default.routeTo((0, _url.userPath)(user.username_lower));\n }\n static #_15 = (() => dt7948.n(this.prototype, \"openMemberCard\", [_object.action]))();\n async removeMember(user) {\n await this.chatApi.removeMemberFromChannel(this.args.channel.id, user.id);\n this.updatedAt = Date.now();\n this.load();\n }\n static #_16 = (() => dt7948.n(this.prototype, \"removeMember\", [_object.action]))();\n canRemoveMember(user) {\n return this.args.channel.canRemoveMembers && user.id !== this.currentUser.id;\n }\n static #_17 = (() => dt7948.n(this.prototype, \"canRemoveMember\", [_decorators.bind]))();\n async debouncedLoad() {\n this.loadingSlider.transitionStarted();\n await this.members.load({\n limit: 20\n });\n this.loadingSlider.transitionEnded();\n }\n get addMembersMode() {\n return _constants.MODES.add_members;\n }\n get canAddMembers() {\n if (!this.args.channel.isDirectMessageChannel) {\n return false;\n }\n return this.args.channel.chatable.group || this.args.channel.messagesManager.messages.length === 0;\n }\n static #_18 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
    \n {{#if this.site.mobileView}}\n \n {{icon \"chevron-left\"}}\n {{i18n \"chat.members_view.back_to_settings\"}}\n \n {{/if}}\n {{#if this.showAddMembers}}\n \n {{else}}\n
    \n \n \n
      \n {{#if this.canAddMembers}}\n \n {{icon \"plus\"}}\n {{this.addMemberLabel}}\n \n {{/if}}\n {{#each this.members as |membership|}}\n
    • \n \n \n
    \n {{#if (this.canRemoveMember membership.user)}}\n \n {{/if}}\n \n {{else}}\n {{#if this.noResults}}\n \n {{this.noMembershipsFoundLabel}}\n \n {{/if}}\n {{/each}}\n \n \n
    \n
    \n
    \n
    \n {{/if}}\n \n \n */\n {\n \"id\": \"7SHt6cOk\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"c-routes --channel-info-members\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"site\\\",\\\"mobileView\\\"]],[[[1,\\\" \\\"],[8,[32,0],[[24,0,\\\"c-back-button\\\"]],[[\\\"@route\\\",\\\"@model\\\"],[\\\"chat.channel.info.settings\\\",[30,1]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[1,[28,[32,1],[\\\"chevron-left\\\"],null]],[1,\\\"\\\\n \\\"],[1,[28,[32,2],[\\\"chat.members_view.back_to_settings\\\"],null]],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]],null],[41,[30,0,[\\\"showAddMembers\\\"]],[[[1,\\\" \\\"],[8,[32,3],null,[[\\\"@mode\\\",\\\"@channel\\\",\\\"@onClose\\\",\\\"@onCancel\\\"],[[30,0,[\\\"addMembersMode\\\"]],[30,1],[30,0,[\\\"hideAddMember\\\"]],[30,0,[\\\"hideAddMember\\\"]]]],null],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"c-channel-members\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,4],[[16,\\\"placeholder\\\",[30,0,[\\\"filterPlaceholder\\\"]]],[4,[32,6],null,null]],[[\\\"@filterAction\\\",\\\"@icons\\\",\\\"@containerClass\\\"],[[30,0,[\\\"mutFilter\\\"]],[28,[32,5],null,[[\\\"right\\\"],[\\\"magnifying-glass\\\"]]],\\\"c-channel-members__filter\\\"]],null],[1,\\\"\\\\n\\\\n \\\"],[11,\\\"ul\\\"],[24,0,\\\"c-channel-members__list\\\"],[4,[30,0,[\\\"fill\\\"]],null,null],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"canAddMembers\\\"]],[[[1,\\\" \\\"],[11,\\\"li\\\"],[24,0,\\\"c-channel-members__list-item -add-member\\\"],[24,\\\"role\\\",\\\"button\\\"],[24,\\\"tabindex\\\",\\\"0\\\"],[4,[32,7],[\\\"click\\\",[30,0,[\\\"addMember\\\"]]],null],[4,[30,0,[\\\"onEnter\\\"]],[[30,0,[\\\"addMember\\\"]]],null],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,1],[\\\"plus\\\"],null]],[1,\\\"\\\\n \\\"],[10,1],[12],[1,[30,0,[\\\"addMemberLabel\\\"]]],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[42,[28,[31,2],[[28,[31,2],[[30,0,[\\\"members\\\"]]],null]],null],null,[[[1,\\\" \\\"],[10,\\\"li\\\"],[14,0,\\\"c-channel-members__list-item -member\\\"],[14,\\\"tabindex\\\",\\\"0\\\"],[12],[1,\\\"\\\\n \\\"],[11,0],[24,0,\\\"c-channel-members__list-item -user-info\\\"],[24,\\\"role\\\",\\\"button\\\"],[4,[32,7],[\\\"click\\\",[28,[32,8],[[30,0,[\\\"openMemberCard\\\"]],[30,2,[\\\"user\\\"]]],null]],null],[4,[30,0,[\\\"onEnter\\\"]],[[28,[32,8],[[30,0,[\\\"openMemberCard\\\"]],[30,2,[\\\"user\\\"]]],null]],null],[12],[1,\\\"\\\\n \\\"],[8,[32,9],null,[[\\\"@user\\\",\\\"@avatarSize\\\",\\\"@interactive\\\",\\\"@showStatus\\\",\\\"@showStatusDescription\\\"],[[30,2,[\\\"user\\\"]],\\\"tiny\\\",false,true,true]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"],[41,[28,[30,0,[\\\"canRemoveMember\\\"]],[[30,2,[\\\"user\\\"]]],null],[[[1,\\\" \\\"],[8,[32,10],[[24,0,\\\"btn-flat -remove-member\\\"]],[[\\\"@action\\\",\\\"@label\\\"],[[28,[32,8],[[30,0,[\\\"removeMember\\\"]],[30,2,[\\\"user\\\"]]],null],\\\"chat.channel_info.remove_member\\\"]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\"]],[2]],[[[41,[30,0,[\\\"noResults\\\"]],[[[1,\\\" \\\"],[10,\\\"li\\\"],[14,0,\\\"c-channel-members__list-item -no-results alert alert-info\\\"],[12],[1,\\\"\\\\n \\\"],[1,[30,0,[\\\"noMembershipsFoundLabel\\\"]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null]],[]]],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\\n \\\"],[11,0],[4,[30,0,[\\\"loadMore\\\"]],null,null],[12],[1,\\\"\\\\n \\\"],[10,\\\"br\\\"],[12],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]]],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"@channel\\\",\\\"membership\\\"],false,[\\\"if\\\",\\\"each\\\",\\\"-track-array\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/routes/channel-info-members.js\",\n \"scope\": () => [_routing.LinkTo, _dIcon.default, _discourseI18n.i18n, _messageCreator.default, _filterInput.default, _helper.hash, _autoFocus.default, _modifier.on, _helper.fn, _chatUserInfo.default, _dButton.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatRouteChannelInfoMembers;\n});","define(\"discourse/plugins/chat/discourse/components/chat/routes/channel-info-nav\", [\"exports\", \"@glimmer/component\", \"@ember/routing\", \"@ember/service\", \"truth-helpers\", \"discourse-i18n\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _routing, _service, _truthHelpers, _discourseI18n, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatRoutesChannelInfoNav extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n get showTabs() {\n return this.site.desktopView && this.args.channel.isOpen;\n }\n static #_2 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
    \n {{#if this.showTabs}}\n \n {{/if}}\n
    \n \n */\n {\n \"id\": \"FVfuhaf3\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"c-routes --channel-info-nav\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"showTabs\\\"]],[[[1,\\\" \\\"],[10,\\\"nav\\\"],[14,0,\\\"c-channel-info__nav\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"ul\\\"],[14,0,\\\"nav nav-pills\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,0],[[16,0,[52,[28,[32,1],[[30,1],\\\"settings\\\"],null],\\\"active\\\"]]],[[\\\"@route\\\",\\\"@models\\\",\\\"@replace\\\"],[\\\"chat.channel.info.settings\\\",[30,2,[\\\"routeModels\\\"]],true]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[1,[28,[32,2],[\\\"chat.channel_info.tabs.settings\\\"],null]],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,0],[[16,0,[52,[28,[32,1],[[30,1],\\\"members\\\"],null],\\\"active\\\"]]],[[\\\"@route\\\",\\\"@models\\\",\\\"@replace\\\"],[\\\"chat.channel.info.members\\\",[30,2,[\\\"routeModels\\\"]],true]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[1,[28,[32,2],[\\\"chat.channel_info.tabs.members\\\"],null]],[1,\\\"\\\\n\\\"],[41,[30,2,[\\\"isCategoryChannel\\\"]],[[[1,\\\" \\\"],[10,1],[14,0,\\\"c-channel-info__member-count\\\"],[12],[1,\\\"(\\\"],[1,[30,2,[\\\"membershipsCount\\\"]]],[1,\\\")\\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[]]]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"@tab\\\",\\\"@channel\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/routes/channel-info-nav.js\",\n \"scope\": () => [_routing.LinkTo, _truthHelpers.eq, _discourseI18n.i18n],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatRoutesChannelInfoNav;\n});","define(\"discourse/plugins/chat/discourse/components/chat/routes/channel-info-settings\", [\"exports\", \"@glimmer/component\", \"@ember/helper\", \"@ember/modifier\", \"@ember/object\", \"@ember/routing\", \"@ember/service\", \"discourse/components/d-button\", \"discourse/components/d-toggle-switch\", \"discourse/helpers/category-badge\", \"discourse/helpers/d-icon\", \"discourse/helpers/replace-emoji\", \"discourse/lib/ajax-error\", \"discourse-i18n\", \"select-kit/components/combo-box\", \"discourse/plugins/chat/discourse/components/chat/form\", \"discourse/plugins/chat/discourse/components/chat/modal/archive-channel\", \"discourse/plugins/chat/discourse/components/chat/modal/delete-channel\", \"discourse/plugins/chat/discourse/components/chat/modal/edit-channel-description\", \"discourse/plugins/chat/discourse/components/chat/modal/edit-channel-name\", \"discourse/plugins/chat/discourse/components/chat/modal/toggle-channel-status\", \"discourse/plugins/chat/discourse/components/chat-retention-reminder-text\", \"discourse/plugins/chat/discourse/components/toggle-channel-membership-button\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _helper, _modifier, _object, _routing, _service, _dButton, _dToggleSwitch, _categoryBadge, _dIcon, _replaceEmoji, _ajaxError, _discourseI18n, _comboBox, _form, _archiveChannel, _deleteChannel, _editChannelDescription, _editChannelName, _toggleChannelStatus, _chatRetentionReminderText, _toggleChannelMembershipButton, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const NOTIFICATION_LEVELS = [{\n name: (0, _discourseI18n.i18n)(\"chat.notification_levels.never\"),\n value: \"never\"\n }, {\n name: (0, _discourseI18n.i18n)(\"chat.notification_levels.mention\"),\n value: \"mention\"\n }, {\n name: (0, _discourseI18n.i18n)(\"chat.notification_levels.always\"),\n value: \"always\"\n }];\n class ChatRouteChannelInfoSettings extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chatApi\", [_service.service]))();\n #chatApi = (() => (dt7948.i(this, \"chatApi\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"chatGuardian\", [_service.service]))();\n #chatGuardian = (() => (dt7948.i(this, \"chatGuardian\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"chatChannelsManager\", [_service.service]))();\n #chatChannelsManager = (() => (dt7948.i(this, \"chatChannelsManager\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n static #_6 = (() => dt7948.g(this.prototype, \"dialog\", [_service.service]))();\n #dialog = (() => (dt7948.i(this, \"dialog\"), void 0))();\n static #_7 = (() => dt7948.g(this.prototype, \"modal\", [_service.service]))();\n #modal = (() => (dt7948.i(this, \"modal\"), void 0))();\n static #_8 = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n static #_9 = (() => dt7948.g(this.prototype, \"toasts\", [_service.service]))();\n #toasts = (() => (dt7948.i(this, \"toasts\"), void 0))();\n static #_10 = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n notificationLevels = (() => NOTIFICATION_LEVELS)();\n settingsSectionTitle = (() => (0, _discourseI18n.i18n)(\"chat.settings.settings_title\"))();\n channelInfoSectionTitle = (() => (0, _discourseI18n.i18n)(\"chat.settings.info_title\"))();\n categoryLabel = (() => (0, _discourseI18n.i18n)(\"chat.settings.category_label\"))();\n historyLabel = (() => (0, _discourseI18n.i18n)(\"chat.settings.history_label\"))();\n adminSectionTitle = (() => (0, _discourseI18n.i18n)(\"chat.settings.admin_title\"))();\n membersLabel = (() => (0, _discourseI18n.i18n)(\"chat.channel_info.tabs.members\"))();\n descriptionSectionTitle = (() => (0, _discourseI18n.i18n)(\"chat.about_view.description\"))();\n titleSectionTitle = (() => (0, _discourseI18n.i18n)(\"chat.about_view.title\"))();\n descriptionPlaceholder = (() => (0, _discourseI18n.i18n)(\"chat.channel_edit_description_modal.description\"))();\n toggleThreadingLabel = (() => (0, _discourseI18n.i18n)(\"chat.settings.channel_threading_label\"))();\n toggleThreadingDescription = (() => (0, _discourseI18n.i18n)(\"chat.settings.channel_threading_description\"))();\n muteSectionLabel = (() => (0, _discourseI18n.i18n)(\"chat.settings.mute\"))();\n channelWideMentionsLabel = (() => (0, _discourseI18n.i18n)(\"chat.settings.channel_wide_mentions_label\"))();\n autoJoinLabel = (() => (0, _discourseI18n.i18n)(\"chat.settings.auto_join_users_label\"))();\n notificationsLevelLabel = (() => (0, _discourseI18n.i18n)(\"chat.settings.notification_level\"))();\n get canEditChannel() {\n if (this.args.channel.isCategoryChannel && this.chatGuardian.canEditChatChannel()) {\n return true;\n }\n if (this.args.channel.isDirectMessageChannel && this.args.channel.chatable.group) {\n return true;\n }\n return false;\n }\n get shouldRenderDescriptionSection() {\n return this.args.channel.isCategoryChannel;\n }\n get shouldRenderStatusSection() {\n return this.args.channel.isCategoryChannel;\n }\n get shouldRenderArchiveRow() {\n return this.chatGuardian.canArchiveChannel(this.args.channel);\n }\n get toggleChannelWideMentionsAvailable() {\n return this.args.channel.isCategoryChannel && this.args.channel.isOpen;\n }\n get toggleThreadingCategoryChannel() {\n return this.args.channel.isCategoryChannel && this.args.channel.isOpen;\n }\n get toggleThreadingDirectMessage() {\n return this.args.channel.isDirectMessageChannel && this.args.channel.isOpen;\n }\n get channelWideMentionsDescription() {\n return (0, _discourseI18n.i18n)(\"chat.settings.channel_wide_mentions_description\", {\n channel: this.args.channel.title\n });\n }\n get isChannelMuted() {\n return this.args.channel.currentUserMembership.muted;\n }\n get shouldRenderChannelWideMentionsAvailable() {\n return this.args.channel.isCategoryChannel;\n }\n get shouldRenderNotificationsLevelSection() {\n return !this.isChannelMuted;\n }\n get autoJoinAvailable() {\n return this.siteSettings.max_chat_auto_joined_users > 0 && this.args.channel.isCategoryChannel && this.args.channel.isOpen;\n }\n get shouldRenderAdminSection() {\n return this.canEditChannel && (this.toggleChannelWideMentionsAvailable || this.args.channel.isCategoryChannel);\n }\n async onToggleChannelWideMentions() {\n const newValue = !this.args.channel.allowChannelWideMentions;\n if (this.args.channel.allowChannelWideMentions === newValue) {\n return;\n }\n try {\n this.args.channel.allowChannelWideMentions = newValue;\n const result = await this._updateChannelProperty(this.args.channel, \"allow_channel_wide_mentions\", newValue);\n this.args.channel.allowChannelWideMentions = result.channel.allow_channel_wide_mentions;\n } catch (error) {\n (0, _ajaxError.popupAjaxError)(error);\n }\n }\n static #_11 = (() => dt7948.n(this.prototype, \"onToggleChannelWideMentions\", [_object.action]))();\n async onToggleAutoJoinUsers() {\n if (this.args.channel.autoJoinUsers) {\n return await this.onDisableAutoJoinUsers();\n }\n return await this.onEnableAutoJoinUsers();\n }\n static #_12 = (() => dt7948.n(this.prototype, \"onToggleAutoJoinUsers\", [_object.action]))();\n async onDisableAutoJoinUsers() {\n if (this.args.channel.autoJoinUsers === false) {\n return;\n }\n try {\n this.args.channel.autoJoinUsers = false;\n const result = await this._updateChannelProperty(this.args.channel, \"auto_join_users\", false);\n this.args.channel.autoJoinUsers = result.channel.auto_join_users;\n } catch (error) {\n (0, _ajaxError.popupAjaxError)(error);\n }\n }\n static #_13 = (() => dt7948.n(this.prototype, \"onDisableAutoJoinUsers\", [_object.action]))();\n onEnableAutoJoinUsers() {\n if (this.args.channel.autoJoinUsers === true) {\n return;\n }\n return this.dialog.confirm({\n message: (0, _discourseI18n.i18n)(\"chat.settings.auto_join_users_warning\", {\n category: this.args.channel.chatable.name\n }),\n didConfirm: async () => {\n try {\n const result = await this._updateChannelProperty(this.args.channel, \"auto_join_users\", true);\n this.args.channel.autoJoinUsers = result.channel.auto_join_users;\n } catch (error) {\n (0, _ajaxError.popupAjaxError)(error);\n }\n }\n });\n }\n static #_14 = (() => dt7948.n(this.prototype, \"onEnableAutoJoinUsers\", [_object.action]))();\n onToggleMuted() {\n const newValue = !this.args.channel.currentUserMembership.muted;\n this.saveNotificationSettings(\"muted\", \"muted\", newValue);\n }\n static #_15 = (() => dt7948.n(this.prototype, \"onToggleMuted\", [_object.action]))();\n async saveNotificationSettings(frontendKey, backendKey, newValue) {\n if (this.args.channel.currentUserMembership[frontendKey] === newValue) {\n return;\n }\n this.args.channel.currentUserMembership[frontendKey] = newValue;\n const settings = {};\n settings[backendKey] = newValue;\n try {\n const result = await this.chatApi.updateCurrentUserChannelNotificationsSettings(this.args.channel.id, settings);\n this.args.channel.currentUserMembership[frontendKey] = result.membership[backendKey];\n this.toasts.success({\n data: {\n message: (0, _discourseI18n.i18n)(\"saved\")\n }\n });\n } catch (error) {\n (0, _ajaxError.popupAjaxError)(error);\n }\n }\n static #_16 = (() => dt7948.n(this.prototype, \"saveNotificationSettings\", [_object.action]))();\n async _updateChannelProperty(channel, property, value) {\n try {\n const result = await this.chatApi.updateChannel(channel.id, {\n [property]: value\n });\n this.toasts.success({\n data: {\n message: (0, _discourseI18n.i18n)(\"saved\")\n }\n });\n return result;\n } catch (error) {\n (0, _ajaxError.popupAjaxError)(error);\n }\n }\n static #_17 = (() => dt7948.n(this.prototype, \"_updateChannelProperty\", [_object.action]))();\n async onToggleThreadingEnabled(value) {\n try {\n this.args.channel.threadingEnabled = !value;\n const result = await this._updateChannelProperty(this.args.channel, \"threading_enabled\", !value);\n this.args.channel.threadingEnabled = result.channel.threading_enabled;\n } catch (error) {\n (0, _ajaxError.popupAjaxError)(error);\n }\n }\n static #_18 = (() => dt7948.n(this.prototype, \"onToggleThreadingEnabled\", [_object.action]))();\n onToggleChannelState() {\n return this.modal.show(_toggleChannelStatus.default, {\n model: this.args.channel\n });\n }\n static #_19 = (() => dt7948.n(this.prototype, \"onToggleChannelState\", [_object.action]))();\n onArchiveChannel() {\n return this.modal.show(_archiveChannel.default, {\n model: {\n channel: this.args.channel\n }\n });\n }\n static #_20 = (() => dt7948.n(this.prototype, \"onArchiveChannel\", [_object.action]))();\n onDeleteChannel() {\n return this.modal.show(_deleteChannel.default, {\n model: {\n channel: this.args.channel\n }\n });\n }\n static #_21 = (() => dt7948.n(this.prototype, \"onDeleteChannel\", [_object.action]))();\n onEditChannelTitle() {\n return this.modal.show(_editChannelName.default, {\n model: this.args.channel\n });\n }\n static #_22 = (() => dt7948.n(this.prototype, \"onEditChannelTitle\", [_object.action]))();\n onLeaveChannel(channel) {\n this.chatChannelsManager.remove(channel);\n return this.router.transitionTo(\"chat\");\n }\n static #_23 = (() => dt7948.n(this.prototype, \"onLeaveChannel\", [_object.action]))();\n onEditChannelDescription() {\n return this.modal.show(_editChannelDescription.default, {\n model: this.args.channel\n });\n }\n static #_24 = (() => dt7948.n(this.prototype, \"onEditChannelDescription\", [_object.action]))();\n static #_25 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
    \n
    \n \n \n \n <:default>\n
    \n {{replaceEmoji @channel.title}}\n
    \n \n {{#if @channel.isCategoryChannel}}\n
    \n \n /chat/c/{{@channel.slug}}/{{@channel.id}}\n \n
    \n {{/if}}\n \n \n <:action>\n {{#if this.canEditChannel}}\n \n {{/if}}\n \n \n
    \n
    \n \n {{#if this.shouldRenderDescriptionSection}}\n \n \n <:default>\n {{#if @channel.description.length}}\n {{@channel.description}}\n {{else}}\n {{this.descriptionPlaceholder}}\n {{/if}}\n \n \n <:action>\n {{#if this.canEditChannel}}\n \n {{/if}}\n \n \n \n {{/if}}\n \n {{#if this.site.mobileView}}\n \n \n \n {{/if}}\n \n {{#if @channel.isOpen}}\n \n \n <:action>\n \n \n \n \n {{#if this.shouldRenderNotificationsLevelSection}}\n \n <:action>\n \n \n \n {{/if}}\n \n {{#if this.toggleThreadingDirectMessage}}\n \n <:action>\n \n \n \n <:description>\n {{this.toggleThreadingDescription}}\n \n \n {{/if}}\n \n {{/if}}\n \n \n {{#if @channel.isCategoryChannel}}\n \n {{categoryBadge\n @channel.chatable\n link=true\n allowUncategorized=true\n }}\n \n {{/if}}\n \n \n \n \n \n \n {{#if this.shouldRenderAdminSection}}\n \n {{#if this.autoJoinAvailable}}\n \n <:action>\n \n \n \n {{/if}}\n \n {{#if this.toggleChannelWideMentionsAvailable}}\n \n <:action>\n \n \n \n <:description>\n {{this.channelWideMentionsDescription}}\n \n \n {{/if}}\n \n {{#if this.toggleThreadingCategoryChannel}}\n \n <:action>\n \n \n \n <:description>\n {{this.toggleThreadingDescription}}\n \n \n {{/if}}\n \n {{#if this.shouldRenderStatusSection}}\n {{#if this.shouldRenderArchiveRow}}\n \n <:action>\n \n \n \n {{/if}}\n \n \n <:action>\n {{#if @channel.isOpen}}\n \n {{else}}\n \n {{/if}}\n \n \n \n \n <:action>\n \n \n \n {{/if}}\n \n \n {{/if}}\n \n \n {{#if @channel.chatable.group}}\n
    \n {{icon \"triangle-exclamation\"}}\n {{i18n \"chat.channel_settings.leave_groupchat_info\"}}\n
    \n {{/if}}\n \n <:action>\n \n \n \n
    \n
    \n
    \n
    \n \n */\n {\n \"id\": \"wpqkZVXA\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"c-routes --channel-info-settings\\\"],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"c-channel-settings\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[30,1,[\\\"section\\\"]],null,[[\\\"@title\\\"],[[30,0,[\\\"titleSectionTitle\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[30,2,[\\\"row\\\"]],null,null,[[\\\"default\\\",\\\"action\\\"],[[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"c-channel-settings__name\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,1],[[30,3,[\\\"title\\\"]]],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,3,[\\\"isCategoryChannel\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"c-channel-settings__slug\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,2],null,[[\\\"@route\\\",\\\"@models\\\"],[\\\"chat.channel\\\",[30,3,[\\\"routeModels\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n /chat/c/\\\"],[1,[30,3,[\\\"slug\\\"]]],[1,\\\"/\\\"],[1,[30,3,[\\\"id\\\"]]],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[]],[[[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"canEditChannel\\\"]],[[[1,\\\" \\\"],[8,[32,3],[[24,0,\\\"edit-name-slug-btn btn-flat\\\"]],[[\\\"@label\\\",\\\"@action\\\"],[\\\"chat.channel_settings.edit\\\",[30,0,[\\\"onEditChannelTitle\\\"]]]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[2]]]]],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"shouldRenderDescriptionSection\\\"]],[[[1,\\\" \\\"],[8,[30,1,[\\\"section\\\"]],null,[[\\\"@title\\\"],[[30,0,[\\\"descriptionSectionTitle\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[30,4,[\\\"row\\\"]],null,null,[[\\\"default\\\",\\\"action\\\"],[[[[1,\\\"\\\\n\\\"],[41,[30,3,[\\\"description\\\",\\\"length\\\"]],[[[1,\\\" \\\"],[1,[30,3,[\\\"description\\\"]]],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[1,[30,0,[\\\"descriptionPlaceholder\\\"]]],[1,\\\"\\\\n\\\"]],[]]],[1,\\\" \\\"]],[]],[[[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"canEditChannel\\\"]],[[[1,\\\" \\\"],[8,[32,3],[[24,0,\\\"edit-description-btn btn-flat\\\"]],[[\\\"@label\\\",\\\"@action\\\"],[[52,[30,3,[\\\"description\\\",\\\"length\\\"]],\\\"chat.channel_settings.edit\\\",\\\"chat.channel_settings.add\\\"],[30,0,[\\\"onEditChannelDescription\\\"]]]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[4]]]]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"site\\\",\\\"mobileView\\\"]],[[[1,\\\" \\\"],[8,[30,1,[\\\"section\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[30,5,[\\\"row\\\"]],null,[[\\\"@label\\\",\\\"@route\\\",\\\"@routeModels\\\"],[[30,0,[\\\"membersLabel\\\"]],\\\"chat.channel.info.members\\\",[30,3,[\\\"routeModels\\\"]]]],null],[1,\\\"\\\\n \\\"]],[5]]]]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[30,3,[\\\"isOpen\\\"]],[[[1,\\\" \\\"],[8,[30,1,[\\\"section\\\"]],null,[[\\\"@title\\\"],[[30,0,[\\\"settingsSectionTitle\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[30,6,[\\\"row\\\"]],null,[[\\\"@label\\\"],[[30,0,[\\\"muteSectionLabel\\\"]]]],[[\\\"action\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,4],[[24,0,\\\"c-channel-settings__mute-switch\\\"],[4,[32,5],[\\\"click\\\",[30,0,[\\\"onToggleMuted\\\"]]],null]],[[\\\"@state\\\"],[[30,3,[\\\"currentUserMembership\\\",\\\"muted\\\"]]]],null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"shouldRenderNotificationsLevelSection\\\"]],[[[1,\\\" \\\"],[8,[30,6,[\\\"row\\\"]],null,[[\\\"@label\\\"],[[30,0,[\\\"notificationsLevelLabel\\\"]]]],[[\\\"action\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,6],[[24,0,\\\"c-channel-settings__selector c-channel-settings__notifications-selector\\\"]],[[\\\"@content\\\",\\\"@value\\\",\\\"@valueProperty\\\",\\\"@onChange\\\"],[[30,0,[\\\"notificationLevels\\\"]],[30,3,[\\\"currentUserMembership\\\",\\\"notificationLevel\\\"]],\\\"value\\\",[28,[32,7],[[30,0,[\\\"saveNotificationSettings\\\"]],\\\"notificationLevel\\\",\\\"notification_level\\\"],null]]],null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"toggleThreadingDirectMessage\\\"]],[[[1,\\\" \\\"],[8,[30,6,[\\\"row\\\"]],null,[[\\\"@label\\\"],[[30,0,[\\\"toggleThreadingLabel\\\"]]]],[[\\\"action\\\",\\\"description\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,4],[[24,0,\\\"c-channel-settings__threading-switch\\\"],[4,[32,5],[\\\"click\\\",[28,[32,7],[[30,0,[\\\"onToggleThreadingEnabled\\\"]],[30,3,[\\\"threadingEnabled\\\"]]],null]],null]],[[\\\"@state\\\"],[[30,3,[\\\"threadingEnabled\\\"]]]],null],[1,\\\"\\\\n \\\"]],[]],[[[1,\\\"\\\\n \\\"],[1,[30,0,[\\\"toggleThreadingDescription\\\"]]],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[6]]]]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n \\\"],[8,[30,1,[\\\"section\\\"]],null,[[\\\"@title\\\"],[[30,0,[\\\"channelInfoSectionTitle\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[41,[30,3,[\\\"isCategoryChannel\\\"]],[[[1,\\\" \\\"],[8,[30,7,[\\\"row\\\"]],null,[[\\\"@label\\\"],[[30,0,[\\\"categoryLabel\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[1,[28,[32,8],[[30,3,[\\\"chatable\\\"]]],[[\\\"link\\\",\\\"allowUncategorized\\\"],[true,true]]]],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n \\\"],[8,[30,7,[\\\"row\\\"]],null,[[\\\"@label\\\"],[[30,0,[\\\"historyLabel\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,9],null,[[\\\"@channel\\\",\\\"@type\\\"],[[30,3],\\\"short\\\"]],null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[7]]]]],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"shouldRenderAdminSection\\\"]],[[[1,\\\" \\\"],[8,[30,1,[\\\"section\\\"]],[[24,\\\"data-section\\\",\\\"admin\\\"]],[[\\\"@title\\\"],[[30,0,[\\\"adminSectionTitle\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"autoJoinAvailable\\\"]],[[[1,\\\" \\\"],[8,[30,8,[\\\"row\\\"]],null,[[\\\"@label\\\"],[[30,0,[\\\"autoJoinLabel\\\"]]]],[[\\\"action\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,4],[[24,0,\\\"c-channel-settings__auto-join-switch\\\"],[4,[32,5],[\\\"click\\\",[28,[32,7],[[30,0,[\\\"onToggleAutoJoinUsers\\\"]],[30,3,[\\\"autoJoinUsers\\\"]]],null]],null]],[[\\\"@state\\\"],[[30,3,[\\\"autoJoinUsers\\\"]]]],null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"toggleChannelWideMentionsAvailable\\\"]],[[[1,\\\" \\\"],[8,[30,8,[\\\"row\\\"]],null,[[\\\"@label\\\"],[[30,0,[\\\"channelWideMentionsLabel\\\"]]]],[[\\\"action\\\",\\\"description\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,4],[[24,0,\\\"c-channel-settings__channel-wide-mentions\\\"],[4,[32,5],[\\\"click\\\",[28,[32,7],[[30,0,[\\\"onToggleChannelWideMentions\\\"]],[30,3,[\\\"allowChannelWideMentions\\\"]]],null]],null]],[[\\\"@state\\\"],[[30,3,[\\\"allowChannelWideMentions\\\"]]]],null],[1,\\\"\\\\n \\\"]],[]],[[[1,\\\"\\\\n \\\"],[1,[30,0,[\\\"channelWideMentionsDescription\\\"]]],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"toggleThreadingCategoryChannel\\\"]],[[[1,\\\" \\\"],[8,[30,8,[\\\"row\\\"]],null,[[\\\"@label\\\"],[[30,0,[\\\"toggleThreadingLabel\\\"]]]],[[\\\"action\\\",\\\"description\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,4],[[24,0,\\\"c-channel-settings__threading-switch\\\"],[4,[32,5],[\\\"click\\\",[28,[32,7],[[30,0,[\\\"onToggleThreadingEnabled\\\"]],[30,3,[\\\"threadingEnabled\\\"]]],null]],null]],[[\\\"@state\\\"],[[30,3,[\\\"threadingEnabled\\\"]]]],null],[1,\\\"\\\\n \\\"]],[]],[[[1,\\\"\\\\n \\\"],[1,[30,0,[\\\"toggleThreadingDescription\\\"]]],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"shouldRenderStatusSection\\\"]],[[[41,[30,0,[\\\"shouldRenderArchiveRow\\\"]],[[[1,\\\" \\\"],[8,[30,8,[\\\"row\\\"]],null,null,[[\\\"action\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,3],[[24,0,\\\"archive-btn chat-form__btn btn-transparent\\\"]],[[\\\"@action\\\",\\\"@label\\\",\\\"@icon\\\"],[[30,0,[\\\"onArchiveChannel\\\"]],\\\"chat.channel_settings.archive_channel\\\",\\\"box-archive\\\"]],null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n \\\"],[8,[30,8,[\\\"row\\\"]],null,null,[[\\\"action\\\"],[[[[1,\\\"\\\\n\\\"],[41,[30,3,[\\\"isOpen\\\"]],[[[1,\\\" \\\"],[8,[32,3],[[24,0,\\\"close-btn chat-form__btn btn-transparent\\\"]],[[\\\"@action\\\",\\\"@label\\\",\\\"@icon\\\"],[[30,0,[\\\"onToggleChannelState\\\"]],\\\"chat.channel_settings.close_channel\\\",\\\"lock\\\"]],null],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[8,[32,3],[[24,0,\\\"open-btn chat-form__btn btn-transparent\\\"]],[[\\\"@action\\\",\\\"@label\\\",\\\"@icon\\\"],[[30,0,[\\\"onToggleChannelState\\\"]],\\\"chat.channel_settings.open_channel\\\",\\\"unlock\\\"]],null],[1,\\\"\\\\n\\\"]],[]]],[1,\\\" \\\"]],[]]]]],[1,\\\"\\\\n\\\\n \\\"],[8,[30,8,[\\\"row\\\"]],null,null,[[\\\"action\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,3],[[24,0,\\\"delete-btn chat-form__btn btn-transparent\\\"]],[[\\\"@action\\\",\\\"@label\\\",\\\"@icon\\\"],[[30,0,[\\\"onDeleteChannel\\\"]],\\\"chat.channel_settings.delete_channel\\\",\\\"trash-can\\\"]],null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n \\\"]],[8]]]]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n \\\"],[8,[30,1,[\\\"section\\\"]],[[24,0,\\\"--leave-channel\\\"]],null,[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[41,[30,3,[\\\"chatable\\\",\\\"group\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"c-channel-settings__leave-info\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,10],[\\\"triangle-exclamation\\\"],null]],[1,\\\"\\\\n \\\"],[1,[28,[32,11],[\\\"chat.channel_settings.leave_groupchat_info\\\"],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[8,[30,9,[\\\"row\\\"]],null,null,[[\\\"action\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,12],null,[[\\\"@channel\\\",\\\"@onLeave\\\",\\\"@options\\\"],[[30,3],[30,0,[\\\"onLeaveChannel\\\"]],[28,[32,13],null,[[\\\"joinClass\\\",\\\"leaveClass\\\",\\\"joinIcon\\\",\\\"leaveIcon\\\"],[\\\"btn-primary\\\",\\\"btn-danger\\\",\\\"right-to-bracket\\\",\\\"right-from-bracket\\\"]]]]],null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[9]]]]],[1,\\\"\\\\n \\\"]],[1]]]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"form\\\",\\\"section\\\",\\\"@channel\\\",\\\"section\\\",\\\"section\\\",\\\"section\\\",\\\"section\\\",\\\"section\\\",\\\"section\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/routes/channel-info-settings.js\",\n \"scope\": () => [_form.default, _replaceEmoji.default, _routing.LinkTo, _dButton.default, _dToggleSwitch.default, _modifier.on, _comboBox.default, _helper.fn, _categoryBadge.default, _chatRetentionReminderText.default, _dIcon.default, _discourseI18n.i18n, _toggleChannelMembershipButton.default, _helper.hash],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatRouteChannelInfoSettings;\n});","define(\"discourse/plugins/chat/discourse/components/chat/routes/channel-info\", [\"exports\", \"@glimmer/component\", \"@ember/object\", \"@ember/service\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/chat/modal/edit-channel-name\", \"discourse/plugins/chat/discourse/components/chat/navbar\", \"discourse/plugins/chat/discourse/components/chat-channel-status\", \"discourse/plugins/chat/discourse/components/chat/routes/channel-info-nav\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _object, _service, _discourseI18n, _editChannelName, _navbar, _chatChannelStatus, _channelInfoNav, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatRoutesChannelInfo extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chatChannelInfoRouteOriginManager\", [_service.service]))();\n #chatChannelInfoRouteOriginManager = (() => (dt7948.i(this, \"chatChannelInfoRouteOriginManager\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"modal\", [_service.service]))();\n #modal = (() => (dt7948.i(this, \"modal\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"chatGuardian\", [_service.service]))();\n #chatGuardian = (() => (dt7948.i(this, \"chatGuardian\"), void 0))();\n get canEditChannel() {\n return this.chatGuardian.canEditChatChannel() && (this.args.channel.isCategoryChannel || this.args.channel.isDirectMessageChannel && this.args.channel.chatable.group);\n }\n editChannelTitle() {\n return this.modal.show(_editChannelName.default, {\n model: this.args.channel\n });\n }\n static #_5 = (() => dt7948.n(this.prototype, \"editChannelTitle\", [_object.action]))();\n static #_6 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
    \n \n {{#if this.chatChannelInfoRouteOriginManager.isBrowse}}\n \n {{else}}\n \n {{/if}}\n \n \n \n \n \n
    \n \n {{outlet}}\n
    \n
    \n \n */\n {\n \"id\": \"IjOuECP+\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"c-routes --channel-info\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"chatChannelInfoRouteOriginManager\\\",\\\"isBrowse\\\"]],[[[1,\\\" \\\"],[8,[30,1,[\\\"BackButton\\\"]],null,[[\\\"@route\\\",\\\"@title\\\"],[\\\"chat.browse\\\",[28,[32,1],[\\\"chat.channel_info.back_to_all_channels\\\"],null]]],null],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[8,[30,1,[\\\"BackButton\\\"]],null,[[\\\"@route\\\",\\\"@routeModels\\\",\\\"@title\\\"],[\\\"chat.channel\\\",[30,2,[\\\"routeModels\\\"]],[28,[32,1],[\\\"chat.channel_info.back_to_channel\\\"],null]]],null],[1,\\\"\\\\n\\\"]],[]]],[1,\\\" \\\"],[8,[30,1,[\\\"ChannelTitle\\\"]],null,[[\\\"@channel\\\"],[[30,2]]],null],[1,\\\"\\\\n \\\"]],[1]]]]],[1,\\\"\\\\n\\\\n \\\"],[8,[32,2],null,[[\\\"@channel\\\"],[[30,2]]],null],[1,\\\"\\\\n\\\\n \\\"],[10,0],[14,0,\\\"c-channel-info\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,3],null,[[\\\"@channel\\\"],[[30,2]]],null],[1,\\\"\\\\n \\\"],[46,[28,[31,2],null,null],null,null,null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"navbar\\\",\\\"@channel\\\"],false,[\\\"if\\\",\\\"component\\\",\\\"-outlet\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/routes/channel-info.js\",\n \"scope\": () => [_navbar.default, _discourseI18n.i18n, _chatChannelStatus.default, _channelInfoNav.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatRoutesChannelInfo;\n});","define(\"discourse/plugins/chat/discourse/components/chat/routes/channel-thread\", [\"exports\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/helper\", \"@ember/object\", \"discourse/plugins/chat/discourse/components/chat/thread/header\", \"discourse/plugins/chat/discourse/components/chat-thread\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _tracking, _helper, _object, _header, _chatThread, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatRoutesChannelThread extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"showfullTitle\", [_tracking.tracked], function () {\n return false;\n }))();\n #showfullTitle = (() => (dt7948.i(this, \"showfullTitle\"), void 0))();\n setFullTitle(value) {\n this.showfullTitle = value;\n }\n static #_2 = (() => dt7948.n(this.prototype, \"setFullTitle\", [_object.action]))();\n static #_3 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
    \n {{#each (array @thread) as |thread|}}\n \n \n \n {{/each}}\n
    \n \n */\n {\n \"id\": \"LoaL3WoT\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"c-routes --channel-thread\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[31,1],[[28,[31,1],[[28,[32,0],[[30,1]],null]],null]],null],null,[[[1,\\\" \\\"],[8,[32,1],null,[[\\\"@thread\\\",\\\"@showFullTitle\\\"],[[30,2],[30,0,[\\\"showfullTitle\\\"]]]],null],[1,\\\"\\\\n\\\\n \\\"],[8,[32,2],null,[[\\\"@thread\\\",\\\"@targetMessageId\\\",\\\"@includeHeader\\\",\\\"@setFullTitle\\\"],[[30,2],[30,3],true,[30,0,[\\\"setFullTitle\\\"]]]],null],[1,\\\"\\\\n\\\"]],[2]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"@thread\\\",\\\"thread\\\",\\\"@targetMessageId\\\"],false,[\\\"each\\\",\\\"-track-array\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/routes/channel-thread.js\",\n \"scope\": () => [_helper.array, _header.default, _chatThread.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatRoutesChannelThread;\n});","define(\"discourse/plugins/chat/discourse/components/chat/routes/channel-threads\", [\"exports\", \"discourse/plugins/chat/discourse/components/chat/thread-list/header\", \"discourse/plugins/chat/discourse/components/chat-thread-list\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _header, _chatThreadList, _component, _templateFactory, _templateOnly) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const ChatRoutesChannelThreads = (0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
    \n \n \n
    \n \n */\n {\n \"id\": \"vbnP5grD\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"c-routes --channel-threads\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,0],null,[[\\\"@channel\\\"],[[30,1]]],null],[1,\\\"\\\\n \\\"],[8,[32,1],null,[[\\\"@channel\\\",\\\"@includeHeader\\\"],[[30,1],true]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[\\\"@channel\\\"],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/routes/channel-threads.js\",\n \"scope\": () => [_header.default, _chatThreadList.default],\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, \"channel-threads:ChatRoutesChannelThreads\"));\n var _default = _exports.default = ChatRoutesChannelThreads;\n});","define(\"discourse/plugins/chat/discourse/components/chat/routes/channel\", [\"exports\", \"@glimmer/component\", \"@ember/service\", \"discourse/plugins/chat/discourse/components/chat/navbar\", \"discourse/plugins/chat/discourse/components/chat-side-panel\", \"discourse/plugins/chat/discourse/components/full-page-chat\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _service, _navbar, _chatSidePanel, _fullPageChat, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatRoutesChannel extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n get getChannelsRoute() {\n return this.args.channel.isDirectMessageChannel ? \"chat.direct-messages\" : \"chat.channels\";\n }\n static #_2 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
    \n \n {{#if this.site.mobileView}}\n \n {{/if}}\n \n \n \n \n \n \n \n \n
    \n \n \n {{outlet}}\n \n \n */\n {\n \"id\": \"sx6yGhpf\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"c-routes --channel\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"site\\\",\\\"mobileView\\\"]],[[[1,\\\" \\\"],[8,[30,1,[\\\"BackButton\\\"]],null,[[\\\"@route\\\"],[[30,0,[\\\"getChannelsRoute\\\"]]]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[8,[30,1,[\\\"ChannelTitle\\\"]],null,[[\\\"@channel\\\"],[[30,2]]],null],[1,\\\"\\\\n \\\"],[8,[30,1,[\\\"Actions\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[30,3,[\\\"OpenDrawerButton\\\"]],null,null,null],[1,\\\"\\\\n \\\"],[8,[30,3,[\\\"ThreadsListButton\\\"]],null,[[\\\"@channel\\\"],[[30,2]]],null],[1,\\\"\\\\n \\\"]],[3]]]]],[1,\\\"\\\\n \\\"]],[1]]]]],[1,\\\"\\\\n\\\\n \\\"],[8,[32,1],null,[[\\\"@channel\\\",\\\"@targetMessageId\\\"],[[30,2],[30,4]]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\\n \\\"],[8,[32,2],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[46,[28,[31,2],null,null],null,null,null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[\\\"navbar\\\",\\\"@channel\\\",\\\"action\\\",\\\"@targetMessageId\\\"],false,[\\\"if\\\",\\\"component\\\",\\\"-outlet\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/routes/channel.js\",\n \"scope\": () => [_navbar.default, _fullPageChat.default, _chatSidePanel.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatRoutesChannel;\n});","define(\"discourse/plugins/chat/discourse/components/chat/routes/channels\", [\"exports\", \"@glimmer/component\", \"@ember/service\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/channels-list-public\", \"discourse/plugins/chat/discourse/components/chat/navbar\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _service, _discourseI18n, _channelsListPublic, _navbar, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatRoutesChannels extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n static #_2 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
    \n \n \n \n \n \n \n \n \n \n
    \n \n */\n {\n \"id\": \"TVtwXT8Z\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"c-routes --channels\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[30,1,[\\\"Title\\\"]],null,[[\\\"@title\\\"],[[28,[32,1],[\\\"chat.chat_channels\\\"],null]]],null],[1,\\\"\\\\n \\\"],[8,[30,1,[\\\"Actions\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[30,2,[\\\"OpenDrawerButton\\\"]],null,null,null],[1,\\\"\\\\n \\\"],[8,[30,2,[\\\"BrowseChannelsButton\\\"]],null,null,null],[1,\\\"\\\\n \\\"]],[2]]]]],[1,\\\"\\\\n \\\"]],[1]]]]],[1,\\\"\\\\n\\\\n \\\"],[8,[32,2],null,null,null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"navbar\\\",\\\"action\\\"],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/routes/channels.js\",\n \"scope\": () => [_navbar.default, _discourseI18n.i18n, _channelsListPublic.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatRoutesChannels;\n});","define(\"discourse/plugins/chat/discourse/components/chat/routes/direct-messages\", [\"exports\", \"@glimmer/component\", \"@ember/service\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/channels-list-direct\", \"discourse/plugins/chat/discourse/components/chat/navbar\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _service, _discourseI18n, _channelsListDirect, _navbar, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatRoutesDirectMessages extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n static #_2 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
    \n \n \n \n \n \n \n \n \n \n
    \n \n */\n {\n \"id\": \"cRfGHFSG\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"c-routes --direct-messages\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[30,1,[\\\"Title\\\"]],null,[[\\\"@title\\\"],[[28,[32,1],[\\\"chat.direct_messages.title\\\"],null]]],null],[1,\\\"\\\\n \\\"],[8,[30,1,[\\\"Actions\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[30,2,[\\\"OpenDrawerButton\\\"]],null,null,null],[1,\\\"\\\\n \\\"],[8,[30,2,[\\\"NewDirectMessageButton\\\"]],null,null,null],[1,\\\"\\\\n \\\"]],[2]]]]],[1,\\\"\\\\n \\\"]],[1]]]]],[1,\\\"\\\\n\\\\n \\\"],[8,[32,2],null,null,null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"navbar\\\",\\\"action\\\"],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/routes/direct-messages.js\",\n \"scope\": () => [_navbar.default, _discourseI18n.i18n, _channelsListDirect.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatRoutesDirectMessages;\n});","define(\"discourse/plugins/chat/discourse/components/chat/routes/threads\", [\"exports\", \"@glimmer/component\", \"@ember/service\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/chat/navbar\", \"discourse/plugins/chat/discourse/components/user-threads\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _service, _discourseI18n, _navbar, _userThreads, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatRoutesThreads extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n static #_2 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
    \n \n \n \n \n \n \n \n \n \n
    \n \n */\n {\n \"id\": \"7u0t/aqW\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"c-routes --threads\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[30,1,[\\\"Title\\\"]],null,[[\\\"@title\\\"],[[28,[32,1],[\\\"chat.my_threads.title\\\"],null]]],null],[1,\\\"\\\\n\\\\n \\\"],[8,[30,1,[\\\"Actions\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[30,2,[\\\"OpenDrawerButton\\\"]],null,null,null],[1,\\\"\\\\n \\\"]],[2]]]]],[1,\\\"\\\\n \\\"]],[1]]]]],[1,\\\"\\\\n\\\\n \\\"],[8,[32,2],null,null,null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"navbar\\\",\\\"action\\\"],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/routes/threads.js\",\n \"scope\": () => [_navbar.default, _discourseI18n.i18n, _userThreads.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatRoutesThreads;\n});","define(\"discourse/plugins/chat/discourse/components/chat/scroll-to-bottom-arrow\", [\"exports\", \"discourse/components/d-button\", \"discourse/helpers/concat-class\", \"discourse/helpers/d-icon\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _dButton, _concatClass, _dIcon, _component, _templateFactory, _templateOnly) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const ScrollToBottomArrow = (0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
    \n \n \n {{icon \"arrow-down\"}}\n \n \n
    \n \n */\n {\n \"id\": \"pDQSNCUh\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-scroll-to-bottom\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,0],[[16,0,[28,[32,1],[\\\"btn-flat\\\",\\\"chat-scroll-to-bottom__button\\\",[52,[30,1],\\\"visible\\\"]],null]]],[[\\\"@action\\\"],[[30,2]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[10,1],[14,0,\\\"chat-scroll-to-bottom__arrow\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,2],[\\\"arrow-down\\\"],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[\\\"@isVisible\\\",\\\"@onScrollToBottom\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/scroll-to-bottom-arrow.js\",\n \"scope\": () => [_dButton.default, _concatClass.default, _dIcon.default],\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, \"scroll-to-bottom-arrow:ScrollToBottomArrow\"));\n var _default = _exports.default = ScrollToBottomArrow;\n});","define(\"discourse/plugins/chat/discourse/components/chat/selection-manager\", [\"exports\", \"@glimmer/component\", \"@ember/object\", \"@ember/owner\", \"@ember/service\", \"truth-helpers\", \"discourse/components/d-button\", \"discourse/lib/ajax-error\", \"discourse/lib/decorators\", \"discourse/lib/environment\", \"discourse/lib/utilities\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/chat/modal/delete-messages-confirm\", \"discourse/plugins/chat/discourse/components/chat/modal/move-message-to-channel\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _object, _owner, _service, _truthHelpers, _dButton, _ajaxError, _decorators, _environment, _utilities, _discourseI18n, _deleteMessagesConfirm, _moveMessageToChannel, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const DELETE_COUNT_LIMIT = 200;\n class ChatSelectionManager extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"topicComposer\", [(0, _service.service)(\"composer\")]))();\n #topicComposer = (() => (dt7948.i(this, \"topicComposer\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"modal\", [_service.service]))();\n #modal = (() => (dt7948.i(this, \"modal\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"toasts\", [_service.service]))();\n #toasts = (() => (dt7948.i(this, \"toasts\"), void 0))();\n static #_6 = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n static #_7 = (() => dt7948.g(this.prototype, \"api\", [(0, _service.service)(\"chat-api\")]))();\n #api = (() => (dt7948.i(this, \"api\"), void 0))();\n get enableMove() {\n return this.args.enableMove ?? false;\n }\n get anyMessagesSelected() {\n return this.args.pane.selectedMessageIds.length > 0;\n }\n get deleteCountLimitReached() {\n return this.args.pane.selectedMessageIds.length > DELETE_COUNT_LIMIT;\n }\n get canDeleteMessages() {\n return this.args.pane.selectedMessageIds.every(id => {\n return this.canDeleteMessage(id);\n });\n }\n canDeleteMessage(id) {\n const message = this.args.messagesManager?.findMessage(id);\n if (message) {\n const canDelete = this.currentUser.id === message.user.id ? message.channel?.canDeleteSelf : message.channel?.canDeleteOthers;\n return canDelete && !message.deletedAt && message.channel?.canModifyMessages?.(this.currentUser);\n }\n }\n get deleteButtonTitle() {\n return (0, _discourseI18n.i18n)(\"chat.selection.delete\", {\n selectionCount: this.args.pane.selectedMessageIds.length,\n totalCount: DELETE_COUNT_LIMIT\n });\n }\n async generateQuote() {\n const {\n markdown\n } = await this.api.generateQuote(this.args.pane.channel.id, this.args.pane.selectedMessageIds);\n return new Blob([markdown], {\n type: \"text/plain\"\n });\n }\n static #_8 = (() => dt7948.n(this.prototype, \"generateQuote\", [_decorators.bind]))();\n openMoveMessageModal() {\n this.modal.show(_moveMessageToChannel.default, {\n model: {\n sourceChannel: this.args.pane.channel,\n selectedMessageIds: this.args.pane.selectedMessageIds\n }\n });\n }\n static #_9 = (() => dt7948.n(this.prototype, \"openMoveMessageModal\", [_object.action]))();\n openDeleteMessagesModal() {\n this.modal.show(_deleteMessagesConfirm.default, {\n model: {\n sourceChannel: this.args.pane.channel,\n selectedMessageIds: this.args.pane.selectedMessageIds\n }\n });\n }\n static #_10 = (() => dt7948.n(this.prototype, \"openDeleteMessagesModal\", [_object.action]))();\n async quoteMessages() {\n let quoteMarkdown;\n try {\n const quoteMarkdownBlob = await this.generateQuote();\n quoteMarkdown = await quoteMarkdownBlob.text();\n } catch (error) {\n (0, _ajaxError.popupAjaxError)(error);\n }\n const openOpts = {};\n if (this.args.pane.channel.isCategoryChannel) {\n openOpts.categoryId = this.args.pane.channel.chatableId;\n }\n if (this.site.mobileView) {\n // go to the relevant chatable (e.g. category) and open the\n // composer to insert text\n if (this.args.pane.channel.chatableUrl) {\n this.router.transitionTo(this.args.pane.channel.chatableUrl);\n }\n await this.topicComposer.focusComposer({\n fallbackToNewTopic: true,\n insertText: quoteMarkdown,\n openOpts\n });\n } else {\n // open the composer and insert text, reply to the current\n // topic if there is one, use the active draft if there is one\n const container = (0, _owner.getOwner)(this);\n const topic = container.lookup(\"controller:topic\");\n await this.topicComposer.focusComposer({\n fallbackToNewTopic: true,\n topic: topic?.model,\n insertText: quoteMarkdown,\n openOpts\n });\n }\n }\n static #_11 = (() => dt7948.n(this.prototype, \"quoteMessages\", [_object.action]))();\n async copyMessages() {\n try {\n if (!(0, _environment.isTesting)()) {\n // clipboard API throws errors in tests\n await (0, _utilities.clipboardCopyAsync)(this.generateQuote);\n this.toasts.success({\n duration: \"short\",\n data: {\n message: (0, _discourseI18n.i18n)(\"chat.quote.copy_success\")\n }\n });\n }\n } catch (error) {\n (0, _ajaxError.popupAjaxError)(error);\n }\n }\n static #_12 = (() => dt7948.n(this.prototype, \"copyMessages\", [_object.action]))();\n static #_13 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n
    \n \n \n \n \n {{#if this.enableMove}}\n \n {{/if}}\n \n \n \n \n
    \n \n \n */\n {\n \"id\": \"vcoRJbgB\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-selection-management\\\"],[15,\\\"data-last-copy-successful\\\",[30,0,[\\\"lastCopySuccessful\\\"]]],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-selection-management__buttons\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,0],[[24,1,\\\"chat-quote-btn\\\"]],[[\\\"@icon\\\",\\\"@label\\\",\\\"@disabled\\\",\\\"@action\\\"],[\\\"quote-left\\\",\\\"chat.selection.quote_selection\\\",[28,[32,1],[[30,0,[\\\"anyMessagesSelected\\\"]]],null],[30,0,[\\\"quoteMessages\\\"]]]],null],[1,\\\"\\\\n\\\\n \\\"],[8,[32,0],[[24,1,\\\"chat-copy-btn\\\"]],[[\\\"@icon\\\",\\\"@label\\\",\\\"@disabled\\\",\\\"@action\\\"],[\\\"copy\\\",\\\"chat.selection.copy\\\",[28,[32,1],[[30,0,[\\\"anyMessagesSelected\\\"]]],null],[30,0,[\\\"copyMessages\\\"]]]],null],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"enableMove\\\"]],[[[1,\\\" \\\"],[8,[32,0],[[24,1,\\\"chat-move-to-channel-btn\\\"]],[[\\\"@icon\\\",\\\"@label\\\",\\\"@disabled\\\",\\\"@action\\\"],[\\\"right-from-bracket\\\",\\\"chat.selection.move_selection_to_channel\\\",[28,[32,1],[[30,0,[\\\"anyMessagesSelected\\\"]]],null],[30,0,[\\\"openMoveMessageModal\\\"]]]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n \\\"],[8,[32,0],[[24,1,\\\"chat-delete-btn\\\"]],[[\\\"@icon\\\",\\\"@translatedLabel\\\",\\\"@disabled\\\",\\\"@action\\\"],[\\\"trash-can\\\",[30,0,[\\\"deleteButtonTitle\\\"]],[28,[32,2],[[28,[32,1],[[30,0,[\\\"anyMessagesSelected\\\"]]],null],[28,[32,1],[[30,0,[\\\"canDeleteMessages\\\"]]],null],[30,0,[\\\"deleteCountLimitReached\\\"]]],null],[30,0,[\\\"openDeleteMessagesModal\\\"]]]],null],[1,\\\"\\\\n\\\\n \\\"],[8,[32,0],[[24,1,\\\"chat-cancel-selection-btn\\\"],[24,0,\\\"btn-secondary cancel-btn\\\"]],[[\\\"@icon\\\",\\\"@label\\\",\\\"@action\\\"],[\\\"xmark\\\",\\\"chat.selection.cancel\\\",[30,1,[\\\"cancelSelecting\\\"]]]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"@pane\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/selection-manager.js\",\n \"scope\": () => [_dButton.default, _truthHelpers.not, _truthHelpers.or],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatSelectionManager;\n});","define(\"discourse/plugins/chat/discourse/components/chat/thread-list/header\", [\"exports\", \"@glimmer/component\", \"@ember/service\", \"@ember/template\", \"discourse/helpers/replace-emoji\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/chat/navbar\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _service, _template, _replaceEmoji, _discourseI18n, _navbar, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatThreadListHeader extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n threadListTitle = (() => (0, _discourseI18n.i18n)(\"chat.threads.list\"))();\n get title() {\n let title = (0, _replaceEmoji.default)(this.threadListTitle);\n if (this.site.mobileView) {\n title += \" - \" + (0, _replaceEmoji.default)(this.args.channel.title);\n }\n return (0, _template.htmlSafe)(title);\n }\n static #_3 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n {{#if this.site.mobileView}}\n \n {{/if}}\n \n \n \n \n \n \n \n \n */\n {\n \"id\": \"AB7Sztyh\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[8,[32,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"site\\\",\\\"mobileView\\\"]],[[[1,\\\" \\\"],[8,[30,1,[\\\"BackButton\\\"]],null,[[\\\"@route\\\",\\\"@routeModels\\\",\\\"@title\\\"],[\\\"chat.channel\\\",[30,2,[\\\"routeModels\\\"]],[28,[32,1],[\\\"chat.return_to_channel\\\"],null]]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n \\\"],[8,[30,1,[\\\"Title\\\"]],null,[[\\\"@title\\\",\\\"@icon\\\"],[[30,0,[\\\"title\\\"]],\\\"discourse-threads\\\"]],null],[1,\\\"\\\\n\\\\n \\\"],[8,[30,1,[\\\"Actions\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[30,3,[\\\"CloseThreadsButton\\\"]],null,[[\\\"@channel\\\"],[[30,2]]],null],[1,\\\"\\\\n \\\"]],[3]]]]],[1,\\\"\\\\n \\\"]],[1]]]]],[1,\\\"\\\\n \\\"]],[\\\"navbar\\\",\\\"@channel\\\",\\\"action\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/thread-list/header.js\",\n \"scope\": () => [_navbar.default, _discourseI18n.i18n],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatThreadListHeader;\n});","define(\"discourse/plugins/chat/discourse/components/chat/thread-list/item\", [\"exports\", \"@glimmer/component\", \"@ember/helper\", \"@ember/modifier\", \"@ember/object\", \"@ember/service\", \"truth-helpers\", \"discourse/helpers/concat-class\", \"discourse/helpers/format-date\", \"discourse/helpers/replace-emoji\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/thread-unread-indicator\", \"discourse/plugins/chat/discourse/components/chat-thread-participants\", \"discourse/plugins/chat/discourse/components/chat-user-avatar\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _helper, _modifier, _object, _service, _truthHelpers, _concatClass, _formatDate, _replaceEmoji, _discourseI18n, _threadUnreadIndicator, _chatThreadParticipants, _chatUserAvatar, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatThreadListItem extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n openThread(thread) {\n this.router.transitionTo(\"chat.channel.thread\", ...thread.routeModels);\n }\n static #_2 = (() => dt7948.n(this.prototype, \"openThread\", [_object.action]))();\n static #_3 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n
    \n \n
    \n
    \n {{#if @thread.title}}\n {{replaceEmoji @thread.title}}\n {{else}}\n {{replaceEmoji @thread.originalMessage.excerpt}}\n {{/if}}\n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n \n
    \n \n
    \n {{#if @thread.preview.lastReplyCreatedAt}}\n {{formatDate\n @thread.preview.lastReplyCreatedAt\n leaveAgo=\"true\"\n }}\n {{/if}}\n
    \n
    \n
    \n \n \n \n */\n {\n \"id\": \"sKgcgRsx\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[11,0],[16,0,[28,[32,0],[\\\"chat-thread-list-item\\\",[52,[28,[32,1],[[30,1,[\\\"tracking\\\",\\\"unreadCount\\\"]],0],null],\\\"-is-unread\\\"],[52,[28,[32,1],[[30,1,[\\\"tracking\\\",\\\"watchedThreadsUnreadCount\\\"]],0],null],\\\"-is-urgent\\\"]],null]],[16,\\\"data-thread-id\\\",[30,1,[\\\"id\\\"]]],[17,2],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-thread-list-item__main\\\"],[12],[1,\\\"\\\\n \\\"],[11,0],[16,\\\"title\\\",[28,[32,2],[\\\"chat.thread.view_thread\\\"],null]],[24,\\\"role\\\",\\\"button\\\"],[24,0,\\\"chat-thread-list-item__open-button\\\"],[4,[32,3],[\\\"click\\\",[28,[32,4],[[30,0,[\\\"openThread\\\"]],[30,1]],null]],[[\\\"passive\\\"],[true]]],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-thread-list-item__header\\\"],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-thread-list-item__title\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"title\\\"]],[[[1,\\\" \\\"],[1,[28,[32,5],[[30,1,[\\\"title\\\"]]],null]],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[1,[28,[32,5],[[30,1,[\\\"originalMessage\\\",\\\"excerpt\\\"]]],null]],[1,\\\"\\\\n\\\"]],[]]],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-thread-list-item__unread-indicator\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,6],null,[[\\\"@thread\\\"],[[30,1]]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\\n \\\"],[10,0],[14,0,\\\"chat-thread-list-item__metadata\\\"],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-thread-list-item__members\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,7],null,[[\\\"@user\\\",\\\"@showPresence\\\",\\\"@interactive\\\"],[[30,1,[\\\"originalMessage\\\",\\\"user\\\"]],false,false]],null],[1,\\\"\\\\n \\\"],[8,[32,8],[[24,0,\\\"chat-thread-list-item__participants\\\"]],[[\\\"@thread\\\",\\\"@includeOriginalMessageUser\\\"],[[30,1],false]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\\n \\\"],[10,0],[14,0,\\\"chat-thread-list-item__last-reply-timestamp\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"preview\\\",\\\"lastReplyCreatedAt\\\"]],[[[1,\\\" \\\"],[1,[28,[32,9],[[30,1,[\\\"preview\\\",\\\"lastReplyCreatedAt\\\"]]],[[\\\"leaveAgo\\\"],[\\\"true\\\"]]]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"@thread\\\",\\\"&attrs\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/thread-list/item.js\",\n \"scope\": () => [_concatClass.default, _truthHelpers.gt, _discourseI18n.i18n, _modifier.on, _helper.fn, _replaceEmoji.default, _threadUnreadIndicator.default, _chatUserAvatar.default, _chatThreadParticipants.default, _formatDate.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatThreadListItem;\n});","define(\"discourse/plugins/chat/discourse/components/chat/thread/header-unread-indicator\", [\"exports\", \"@glimmer/component\", \"@ember/service\", \"discourse-i18n\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _service, _discourseI18n, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ThreadHeaderUnreadIndicator extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n unreadCountLabel = (() => (0, _discourseI18n.i18n)(\"chat.unread_threads_count\", {\n count: this.cappedUnreadCount\n }))();\n get unreadCount() {\n return this.args.channel.threadsManager.unreadThreadCount;\n }\n get showUnreadIndicator() {\n return !this.currentUser.isInDoNotDisturb() && this.unreadCount > 0;\n }\n get cappedUnreadCount() {\n return this.unreadCount > 99 ? \"99+\" : this.unreadCount;\n }\n static #_2 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if this.showUnreadIndicator}}\n \n {{this.cappedUnreadCount}}\n \n {{/if}}\n \n */\n {\n \"id\": \"z2Rw0liX\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"showUnreadIndicator\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"chat-thread-header-unread-indicator\\\"],[15,\\\"title\\\",[30,0,[\\\"unreadCountLabel\\\"]]],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-thread-header-unread-indicator__number\\\"],[12],[1,[30,0,[\\\"cappedUnreadCount\\\"]]],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/thread/header-unread-indicator.js\",\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ThreadHeaderUnreadIndicator;\n});","define(\"discourse/plugins/chat/discourse/components/chat/thread/header\", [\"exports\", \"@glimmer/component\", \"@ember/modifier\", \"@ember/service\", \"truth-helpers\", \"discourse/helpers/d-icon\", \"discourse/helpers/noop\", \"discourse/helpers/replace-emoji\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/chat/modal/thread-settings\", \"discourse/plugins/chat/discourse/components/chat/navbar\", \"discourse/plugins/chat/discourse/components/chat/thread/header-unread-indicator\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _modifier, _service, _truthHelpers, _dIcon, _noop, _replaceEmoji, _discourseI18n, _threadSettings, _navbar, _headerUnreadIndicator, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatThreadHeader extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"chatHistory\", [_service.service]))();\n #chatHistory = (() => (dt7948.i(this, \"chatHistory\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"modal\", [_service.service]))();\n #modal = (() => (dt7948.i(this, \"modal\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n get backLink() {\n const prevPage = this.chatHistory.previousRoute?.name;\n let route, title, models;\n if (prevPage === \"chat.channel.threads\") {\n route = \"chat.channel.threads\";\n title = (0, _discourseI18n.i18n)(\"chat.return_to_threads_list\");\n models = this.channel?.routeModels;\n } else if (prevPage === \"chat.channel.index\" && this.site.desktopView) {\n route = \"chat.channel.threads\";\n title = (0, _discourseI18n.i18n)(\"chat.return_to_threads_list\");\n models = this.channel?.routeModels;\n } else if (prevPage === \"chat.threads\") {\n route = \"chat.threads\";\n title = (0, _discourseI18n.i18n)(\"chat.my_threads.title\");\n models = [];\n } else if (!this.currentUser.isInDoNotDisturb() && this.unreadCount > 0) {\n route = \"chat.channel.threads\";\n title = (0, _discourseI18n.i18n)(\"chat.return_to_threads_list\");\n models = this.channel?.routeModels;\n } else {\n route = \"chat.channel.index\";\n title = (0, _discourseI18n.i18n)(\"chat.return_to_channel\");\n models = this.channel?.routeModels;\n }\n return {\n route,\n models,\n title\n };\n }\n get channel() {\n return this.args.thread?.channel;\n }\n get headerTitle() {\n return this.args.thread?.title ?? (0, _discourseI18n.i18n)(\"chat.thread.label\");\n }\n get unreadCount() {\n return this.channel?.threadsManager?.unreadThreadCount;\n }\n get showThreadUnreadIndicator() {\n return this.backLink.route === \"chat.channel.threads\" && this.unreadCount > 0;\n }\n get openThreadTitleModal() {\n if (this.currentUser.admin || this.currentUser.id === this.args.thread?.originalMessage?.user?.id) {\n return () => this.modal.show(_threadSettings.default, {\n model: this.args.thread\n });\n }\n }\n static #_5 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n {{#if (and this.channel.threadingEnabled @thread)}}\n \n {{#if this.showThreadUnreadIndicator}}\n \n {{/if}}\n {{icon \"chevron-left\"}}\n \n {{/if}}\n \n \n \n \n \n \n \n \n \n */\n {\n \"id\": \"E+aMsIur\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[8,[32,0],null,[[\\\"@showFullTitle\\\"],[[30,1]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[41,[28,[32,1],[[30,0,[\\\"channel\\\",\\\"threadingEnabled\\\"]],[30,3]],null],[[[1,\\\" \\\"],[8,[30,2,[\\\"BackButton\\\"]],null,[[\\\"@route\\\",\\\"@routeModels\\\",\\\"@title\\\"],[[30,0,[\\\"backLink\\\",\\\"route\\\"]],[30,0,[\\\"backLink\\\",\\\"models\\\"]],[30,0,[\\\"backLink\\\",\\\"title\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"showThreadUnreadIndicator\\\"]],[[[1,\\\" \\\"],[8,[32,2],null,[[\\\"@channel\\\"],[[30,0,[\\\"channel\\\"]]]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[1,[28,[32,3],[\\\"chevron-left\\\"],null]],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n \\\"],[8,[30,2,[\\\"Title\\\"]],[[16,\\\"role\\\",[52,[30,0,[\\\"openThreadTitleModal\\\"]],\\\"button\\\"]],[16,0,[52,[30,0,[\\\"openThreadTitleModal\\\"]],\\\"clickable\\\"]],[4,[32,5],[\\\"click\\\",[28,[32,6],[[30,0,[\\\"openThreadTitleModal\\\"]],[32,7]],null]],null]],[[\\\"@title\\\"],[[28,[32,4],[[30,0,[\\\"headerTitle\\\"]]],null]]],null],[1,\\\"\\\\n \\\"],[8,[30,2,[\\\"Actions\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[30,4,[\\\"ThreadTrackingDropdown\\\"]],null,[[\\\"@thread\\\"],[[30,3]]],null],[1,\\\"\\\\n \\\"],[8,[30,4,[\\\"ThreadSettingsButton\\\"]],null,[[\\\"@thread\\\"],[[30,3]]],null],[1,\\\"\\\\n \\\"],[8,[30,4,[\\\"CloseThreadButton\\\"]],null,[[\\\"@thread\\\"],[[30,3]]],null],[1,\\\"\\\\n \\\"]],[4]]]]],[1,\\\"\\\\n \\\"]],[2]]]]],[1,\\\"\\\\n \\\"]],[\\\"@showFullTitle\\\",\\\"navbar\\\",\\\"@thread\\\",\\\"action\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/chat/thread/header.js\",\n \"scope\": () => [_navbar.default, _truthHelpers.and, _headerUnreadIndicator.default, _dIcon.default, _replaceEmoji.default, _modifier.on, _truthHelpers.or, _noop.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatThreadHeader;\n});","define(\"discourse/plugins/chat/discourse/components/collapser\", [\"exports\", \"@ember/component\", \"@ember/object\", \"@ember-decorators/component\", \"discourse/components/d-button\", \"discourse/helpers/concat-class\", \"@ember/template-factory\"], function (_exports, _component, _object, _component2, _dButton, _concatClass, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const Collapser = dt7948.c(class Collapser extends _component.default {\n collapsed = false;\n header = null;\n onToggle = null;\n open() {\n this.set(\"collapsed\", false);\n this.onToggle?.(false);\n }\n static #_ = (() => dt7948.n(this.prototype, \"open\", [_object.action]))();\n close() {\n this.set(\"collapsed\", true);\n this.onToggle?.(true);\n }\n static #_2 = (() => dt7948.n(this.prototype, \"close\", [_object.action]))();\n static #_3 = (() => (0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
    \n {{this.header}}\n \n {{#if this.collapsed}}\n \n {{else}}\n \n {{/if}}\n
    \n \n \n {{yield this.collapsed}}\n \n \n */\n {\n \"id\": \"5YSNqkmZ\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-message-collapser-header\\\"],[12],[1,\\\"\\\\n \\\"],[1,[30,0,[\\\"header\\\"]]],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"collapsed\\\"]],[[[1,\\\" \\\"],[8,[32,0],[[24,0,\\\"chat-message-collapser-button chat-message-collapser-closed\\\"]],[[\\\"@action\\\",\\\"@icon\\\"],[[30,0,[\\\"open\\\"]],\\\"caret-right\\\"]],null],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[8,[32,0],[[24,0,\\\"chat-message-collapser-button chat-message-collapser-opened\\\"]],[[\\\"@action\\\",\\\"@icon\\\"],[[30,0,[\\\"close\\\"]],\\\"caret-down\\\"]],null],[1,\\\"\\\\n\\\"]],[]]],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\\n \\\"],[10,0],[15,0,[28,[32,1],[\\\"chat-message-collapser-body\\\",[52,[30,0,[\\\"collapsed\\\"]],\\\"hidden\\\"]],null]],[12],[1,\\\"\\\\n \\\"],[18,1,[[30,0,[\\\"collapsed\\\"]]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"&default\\\"],false,[\\\"if\\\",\\\"yield\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/collapser.js\",\n \"scope\": () => [_dButton.default, _concatClass.default],\n \"isStrictMode\": true\n }), this))();\n }, [(0, _component2.tagName)(\"\")]);\n var _default = _exports.default = Collapser;\n});","define(\"discourse/plugins/chat/discourse/components/full-page-chat\", [\"exports\", \"@glimmer/component\", \"@ember/helper\", \"@ember/service\", \"discourse/plugins/chat/discourse/components/chat-channel\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _helper, _service, _chatChannel, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class FullPageChat extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#each (array @channel) as |channel|}}\n \n {{/each}}\n \n */\n {\n \"id\": \"gGk4kwJK\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[42,[28,[31,1],[[28,[31,1],[[28,[32,0],[[30,1]],null]],null]],null],null,[[[1,\\\" \\\"],[8,[32,1],null,[[\\\"@channel\\\",\\\"@targetMessageId\\\"],[[30,2],[30,3]]],null],[1,\\\"\\\\n\\\"]],[2]],null],[1,\\\" \\\"]],[\\\"@channel\\\",\\\"channel\\\",\\\"@targetMessageId\\\"],false,[\\\"each\\\",\\\"-track-array\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/full-page-chat.js\",\n \"scope\": () => [_helper.array, _chatChannel.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = FullPageChat;\n});","define(\"discourse/plugins/chat/discourse/components/reviewable-chat-message\", [\"exports\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/helper\", \"@ember/routing\", \"@ember/service\", \"@ember/template\", \"truth-helpers\", \"discourse/components/reviewable-created-by\", \"discourse/components/reviewable-post-header\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/channel-title\", \"discourse/plugins/chat/discourse/models/chat-channel\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _tracking, _helper, _routing, _service, _template, _truthHelpers, _reviewableCreatedBy, _reviewablePostHeader, _discourseI18n, _channelTitle, _chatChannel, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ReviewableChatMessage extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"store\", [_service.service]))();\n #store = (() => (dt7948.i(this, \"store\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"chatChannelsManager\", [_service.service]))();\n #chatChannelsManager = (() => (dt7948.i(this, \"chatChannelsManager\"), void 0))();\n get channel() {\n if (!this.args.reviewable.chat_channel) {\n return;\n }\n return _chatChannel.default.create(this.args.reviewable.chat_channel);\n }\n static #_3 = (() => dt7948.n(this.prototype, \"channel\", [_tracking.cached]))();\n static #_4 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if this.channel}}\n
    \n \n \n \n
    \n {{/if}}\n \n
    \n \n
    \n \n \n
    \n {{htmlSafe\n (or @reviewable.payload.message_cooked @reviewable.cooked)\n }}\n
    \n \n {{#if @reviewable.payload.transcript_topic_id}}\n
    \n \n {{i18n \"review.transcript.view\"}}\n \n
    \n {{/if}}\n \n {{yield}}\n
    \n
    \n \n */\n {\n \"id\": \"QMkQiG4Z\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"channel\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"flagged-post-header\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,0],null,[[\\\"@route\\\",\\\"@models\\\"],[\\\"chat.channel.near-message\\\",[28,[32,1],[[30,0,[\\\"channel\\\",\\\"slugifiedTitle\\\"]],[30,0,[\\\"channel\\\",\\\"id\\\"]],[30,1,[\\\"target_id\\\"]]],null]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,2],null,[[\\\"@channel\\\"],[[30,0,[\\\"channel\\\"]]]],null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"post-contents-wrapper\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,3],null,[[\\\"@user\\\"],[[30,1,[\\\"target_created_by\\\"]]]],null],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"post-contents\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,4],null,[[\\\"@reviewable\\\",\\\"@createdBy\\\",\\\"@tagName\\\"],[[30,1],[30,1,[\\\"target_created_by\\\"]],\\\"\\\"]],null],[1,\\\"\\\\n\\\\n \\\"],[10,0],[14,0,\\\"post-body\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,5],[[28,[32,6],[[30,1,[\\\"payload\\\",\\\"message_cooked\\\"]],[30,1,[\\\"cooked\\\"]]],null]],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,1,[\\\"payload\\\",\\\"transcript_topic_id\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"transcript\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,0],[[24,0,\\\"btn btn-small\\\"]],[[\\\"@route\\\",\\\"@models\\\"],[\\\"topic\\\",[28,[32,1],[\\\"-\\\",[30,1,[\\\"payload\\\",\\\"transcript_topic_id\\\"]]],null]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[1,[28,[32,7],[\\\"review.transcript.view\\\"],null]],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n \\\"],[18,2,null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"@reviewable\\\",\\\"&default\\\"],false,[\\\"if\\\",\\\"yield\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/reviewable-chat-message.js\",\n \"scope\": () => [_routing.LinkTo, _helper.array, _channelTitle.default, _reviewableCreatedBy.default, _reviewablePostHeader.default, _template.htmlSafe, _truthHelpers.or, _discourseI18n.i18n],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ReviewableChatMessage;\n});","define(\"discourse/plugins/chat/discourse/components/styleguide/chat-composer-message-details\", [\"exports\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/object\", \"@ember/owner\", \"@ember/service\", \"discourse/components/d-button\", \"discourse/lib/utilities\", \"discourse/plugins/chat/discourse/components/chat-composer-message-details\", \"discourse/plugins/chat/discourse/lib/fabricators\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _tracking, _object, _owner, _service, _dButton, _utilities, _chatComposerMessageDetails, _fabricators, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const StyleguideComponent = (0, _utilities.optionalRequire)(\"discourse/plugins/styleguide/discourse/components/styleguide/component\");\n const Controls = (0, _utilities.optionalRequire)(\"discourse/plugins/styleguide/discourse/components/styleguide/controls\");\n const Row = (0, _utilities.optionalRequire)(\"discourse/plugins/styleguide/discourse/components/styleguide/controls/row\");\n const StyleguideExample = (0, _utilities.optionalRequire)(\"discourse/plugins/styleguide/discourse/components/styleguide-example\");\n class ChatStyleguideChatComposerMessageDetails extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"session\", [_service.service]))();\n #session = (() => (dt7948.i(this, \"session\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"keyValueStore\", [_service.service]))();\n #keyValueStore = (() => (dt7948.i(this, \"keyValueStore\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n get message() {\n return new _fabricators.default((0, _owner.getOwner)(this)).message({\n user: this.currentUser\n });\n }\n static #_5 = (() => dt7948.n(this.prototype, \"message\", [_tracking.cached]))();\n toggleMode() {\n if (this.message.editing) {\n this.message.editing = false;\n this.message.inReplyTo = new _fabricators.default((0, _owner.getOwner)(this)).message();\n } else {\n this.message.editing = true;\n this.message.inReplyTo = null;\n }\n }\n static #_6 = (() => dt7948.n(this.prototype, \"toggleMode\", [_object.action]))();\n static #_7 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \">\n \n \n \n \n \n \n {{#if this.message.editing}}\n \n {{else}}\n \n {{/if}}\n \n \n \n \n */\n {\n \"id\": \"BJma8QwK\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[8,[32,0],null,[[\\\"@title\\\"],[\\\"\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,1],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,2],null,[[\\\"@message\\\"],[[30,0,[\\\"message\\\"]]]],null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n\\\\n \\\"],[8,[32,3],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,4],null,[[\\\"@name\\\"],[\\\"Mode\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"message\\\",\\\"editing\\\"]],[[[1,\\\" \\\"],[8,[32,5],null,[[\\\"@action\\\",\\\"@translatedLabel\\\"],[[30,0,[\\\"toggleMode\\\"]],\\\"Reply\\\"]],null],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[8,[32,5],null,[[\\\"@action\\\",\\\"@translatedLabel\\\"],[[30,0,[\\\"toggleMode\\\"]],\\\"Editing\\\"]],null],[1,\\\"\\\\n\\\"]],[]]],[1,\\\" \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/styleguide/chat-composer-message-details.js\",\n \"scope\": () => [StyleguideExample, StyleguideComponent, _chatComposerMessageDetails.default, Controls, Row, _dButton.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatStyleguideChatComposerMessageDetails;\n});","define(\"discourse/plugins/chat/discourse/components/styleguide/chat-composer\", [\"exports\", \"@glimmer/component\", \"@ember/modifier\", \"@ember/object\", \"@ember/owner\", \"@ember/service\", \"discourse/components/d-toggle-switch\", \"discourse/lib/utilities\", \"discourse/plugins/chat/discourse/components/chat/composer/channel\", \"discourse/plugins/chat/discourse/lib/fabricators\", \"discourse/plugins/chat/discourse/models/chat-channel\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _modifier, _object, _owner, _service, _dToggleSwitch, _utilities, _channel, _fabricators, _chatChannel, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const StyleguideComponent = (0, _utilities.optionalRequire)(\"discourse/plugins/styleguide/discourse/components/styleguide/component\");\n const Controls = (0, _utilities.optionalRequire)(\"discourse/plugins/styleguide/discourse/components/styleguide/controls\");\n const Row = (0, _utilities.optionalRequire)(\"discourse/plugins/styleguide/discourse/components/styleguide/controls/row\");\n const StyleguideExample = (0, _utilities.optionalRequire)(\"discourse/plugins/styleguide/discourse/components/styleguide-example\");\n class ChatStyleguideChatComposer extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chatChannelComposer\", [_service.service]))();\n #chatChannelComposer = (() => (dt7948.i(this, \"chatChannelComposer\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"chatChannelPane\", [_service.service]))();\n #chatChannelPane = (() => (dt7948.i(this, \"chatChannelPane\"), void 0))();\n channel = (() => new _fabricators.default((0, _owner.getOwner)(this)).channel({\n id: -999\n }))();\n toggleDisabled() {\n if (this.channel.status === _chatChannel.CHANNEL_STATUSES.open) {\n this.channel.status = _chatChannel.CHANNEL_STATUSES.readOnly;\n } else {\n this.channel.status = _chatChannel.CHANNEL_STATUSES.open;\n }\n }\n static #_3 = (() => dt7948.n(this.prototype, \"toggleDisabled\", [_object.action]))();\n toggleSending() {\n this.chatChannelPane.sending = !this.chatChannelPane.sending;\n }\n static #_4 = (() => dt7948.n(this.prototype, \"toggleSending\", [_object.action]))();\n onSendMessage() {\n this.chatChannelComposer.reset();\n }\n static #_5 = (() => dt7948.n(this.prototype, \"onSendMessage\", [_object.action]))();\n static #_6 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \">\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n */\n {\n \"id\": \"u6OnAUb7\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[8,[32,0],null,[[\\\"@title\\\"],[\\\"\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,1],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,2],null,[[\\\"@channel\\\",\\\"@onSendMessage\\\"],[[30,0,[\\\"channel\\\"]],[30,0,[\\\"onSendMessage\\\"]]]],null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n\\\\n \\\"],[8,[32,3],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,4],null,[[\\\"@name\\\"],[\\\"Disabled\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,5],[[4,[32,6],[\\\"click\\\",[30,0,[\\\"toggleDisabled\\\"]]],null]],[[\\\"@state\\\"],[[30,0,[\\\"channel\\\",\\\"isReadOnly\\\"]]]],null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"],[8,[32,4],null,[[\\\"@name\\\"],[\\\"Sending\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,5],[[4,[32,6],[\\\"click\\\",[30,0,[\\\"toggleSending\\\"]]],null]],[[\\\"@state\\\"],[[30,0,[\\\"chatChannelPane\\\",\\\"sending\\\"]]]],null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/styleguide/chat-composer.js\",\n \"scope\": () => [StyleguideExample, StyleguideComponent, _channel.default, Controls, Row, _dToggleSwitch.default, _modifier.on],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatStyleguideChatComposer;\n});","define(\"discourse/plugins/chat/discourse/components/styleguide/chat-header-icon\", [\"exports\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/modifier\", \"@ember/object\", \"discourse/components/d-toggle-switch\", \"discourse/lib/utilities\", \"select-kit/components/combo-box\", \"discourse/plugins/chat/discourse/components/chat/header/icon\", \"discourse/plugins/chat/discourse/controllers/preferences-chat\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _tracking, _modifier, _object, _dToggleSwitch, _utilities, _comboBox, _icon, _preferencesChat, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const StyleguideComponent = (0, _utilities.optionalRequire)(\"discourse/plugins/styleguide/discourse/components/styleguide/component\");\n const Controls = (0, _utilities.optionalRequire)(\"discourse/plugins/styleguide/discourse/components/styleguide/controls\");\n const Row = (0, _utilities.optionalRequire)(\"discourse/plugins/styleguide/discourse/components/styleguide/controls/row\");\n const StyleguideExample = (0, _utilities.optionalRequire)(\"discourse/plugins/styleguide/discourse/components/styleguide-example\");\n class ChatStyleguideChatHeaderIcon extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"isActive\", [_tracking.tracked], function () {\n return false;\n }))();\n #isActive = (() => (dt7948.i(this, \"isActive\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"currentUserInDnD\", [_tracking.tracked], function () {\n return false;\n }))();\n #currentUserInDnD = (() => (dt7948.i(this, \"currentUserInDnD\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"urgentCount\", [_tracking.tracked]))();\n #urgentCount = (() => (dt7948.i(this, \"urgentCount\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"unreadCount\", [_tracking.tracked]))();\n #unreadCount = (() => (dt7948.i(this, \"unreadCount\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"indicatorPreference\", [_tracking.tracked], function () {\n return _preferencesChat.HEADER_INDICATOR_PREFERENCE_ALL_NEW;\n }))();\n #indicatorPreference = (() => (dt7948.i(this, \"indicatorPreference\"), void 0))();\n get indicatorPreferences() {\n return [_preferencesChat.HEADER_INDICATOR_PREFERENCE_ALL_NEW, _preferencesChat.HEADER_INDICATOR_PREFERENCE_DM_AND_MENTIONS, _preferencesChat.HEADER_INDICATOR_PREFERENCE_ONLY_MENTIONS, _preferencesChat.HEADER_INDICATOR_PREFERENCE_NEVER];\n }\n toggleIsActive() {\n this.isActive = !this.isActive;\n }\n static #_6 = (() => dt7948.n(this.prototype, \"toggleIsActive\", [_object.action]))();\n toggleCurrentUserInDnD() {\n this.currentUserInDnD = !this.currentUserInDnD;\n }\n static #_7 = (() => dt7948.n(this.prototype, \"toggleCurrentUserInDnD\", [_object.action]))();\n updateUnreadCount(event) {\n this.unreadCount = event.target.value;\n }\n static #_8 = (() => dt7948.n(this.prototype, \"updateUnreadCount\", [_object.action]))();\n updateUrgentCount(event) {\n this.urgentCount = event.target.value;\n }\n static #_9 = (() => dt7948.n(this.prototype, \"updateUrgentCount\", [_object.action]))();\n updateIndicatorPreference(value) {\n this.indicatorPreference = value;\n }\n static #_10 = (() => dt7948.n(this.prototype, \"updateIndicatorPreference\", [_object.action]))();\n static #_11 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \">\n \n \n
      \n
    • \n \n
    • \n
    \n \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n */\n {\n \"id\": \"m8QDiVfp\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[8,[32,0],null,[[\\\"@title\\\"],[\\\"\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,1],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[10,\\\"header\\\"],[14,0,\\\"d-header\\\"],[14,5,\\\"display: flex; align-items: center; justify-content: center;\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"ul\\\"],[14,0,\\\"d-header-icons\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"li\\\"],[14,0,\\\"header-dropdown-toggle chat-header-icon\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,2],null,[[\\\"@isActive\\\",\\\"@currentUserInDnD\\\",\\\"@unreadCount\\\",\\\"@urgentCount\\\",\\\"@indicatorPreference\\\"],[[30,0,[\\\"isActive\\\"]],[30,0,[\\\"currentUserInDnD\\\"]],[30,0,[\\\"unreadCount\\\"]],[30,0,[\\\"urgentCount\\\"]],[30,0,[\\\"indicatorPreference\\\"]]]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n\\\\n \\\"],[8,[32,3],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,4],null,[[\\\"@name\\\"],[\\\"isActive\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,5],[[4,[32,6],[\\\"click\\\",[30,0,[\\\"toggleIsActive\\\"]]],null]],[[\\\"@state\\\"],[[30,0,[\\\"isActive\\\"]]]],null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"],[8,[32,4],null,[[\\\"@name\\\"],[\\\"currentUserInDnD\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,5],[[4,[32,6],[\\\"click\\\",[30,0,[\\\"toggleCurrentUserInDnD\\\"]]],null]],[[\\\"@state\\\"],[[30,0,[\\\"currentUserInDnD\\\"]]]],null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"],[8,[32,4],null,[[\\\"@name\\\"],[\\\"Unread count\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[11,\\\"input\\\"],[16,2,[30,0,[\\\"unreadCount\\\"]]],[24,4,\\\"number\\\"],[4,[32,6],[\\\"input\\\",[30,0,[\\\"updateUnreadCount\\\"]]],null],[12],[13],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"],[8,[32,4],null,[[\\\"@name\\\"],[\\\"Urgent count\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[11,\\\"input\\\"],[16,2,[30,0,[\\\"urgentCount\\\"]]],[24,4,\\\"number\\\"],[4,[32,6],[\\\"input\\\",[30,0,[\\\"updateUrgentCount\\\"]]],null],[12],[13],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"],[8,[32,4],null,[[\\\"@name\\\"],[\\\"Indicator preference\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,7],null,[[\\\"@value\\\",\\\"@content\\\",\\\"@onChange\\\",\\\"@valueProperty\\\",\\\"@nameProperty\\\"],[[30,0,[\\\"indicatorPreference\\\"]],[30,0,[\\\"indicatorPreferences\\\"]],[30,0,[\\\"updateIndicatorPreference\\\"]],null,null]],null],[1,\\\"\\\\n\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/styleguide/chat-header-icon.js\",\n \"scope\": () => [StyleguideExample, StyleguideComponent, _icon.default, Controls, Row, _dToggleSwitch.default, _modifier.on, _comboBox.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatStyleguideChatHeaderIcon;\n});","define(\"discourse/plugins/chat/discourse/components/styleguide/chat-message\", [\"exports\", \"@glimmer/component\", \"@ember/modifier\", \"@ember/object\", \"@ember/owner\", \"@ember/service\", \"truth-helpers\", \"discourse/components/d-toggle-switch\", \"discourse/lib/utilities\", \"discourse/plugins/chat/discourse/components/chat-message\", \"discourse/plugins/chat/discourse/lib/chat-messages-manager\", \"discourse/plugins/chat/discourse/lib/fabricators\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _modifier, _object, _owner, _service, _truthHelpers, _dToggleSwitch, _utilities, _chatMessage, _chatMessagesManager, _fabricators, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const StyleguideComponent = (0, _utilities.optionalRequire)(\"discourse/plugins/styleguide/discourse/components/styleguide/component\");\n const Controls = (0, _utilities.optionalRequire)(\"discourse/plugins/styleguide/discourse/components/styleguide/controls\");\n const Row = (0, _utilities.optionalRequire)(\"discourse/plugins/styleguide/discourse/components/styleguide/controls/row\");\n const StyleguideExample = (0, _utilities.optionalRequire)(\"discourse/plugins/styleguide/discourse/components/styleguide-example\");\n class ChatStyleguideChatMessage extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n manager = (() => new _chatMessagesManager.default((0, _owner.getOwner)(this)))();\n constructor() {\n super(...arguments);\n this.message = new _fabricators.default((0, _owner.getOwner)(this)).message({\n user: this.currentUser\n });\n this.message.cook();\n }\n toggleDeleted() {\n if (this.message.deletedAt) {\n this.message.deletedAt = null;\n } else {\n this.message.deletedAt = moment();\n }\n }\n static #_2 = (() => dt7948.n(this.prototype, \"toggleDeleted\", [_object.action]))();\n toggleBookmarked() {\n if (this.message.bookmark) {\n this.message.bookmark = null;\n } else {\n this.message.bookmark = new _fabricators.default((0, _owner.getOwner)(this)).bookmark();\n }\n }\n static #_3 = (() => dt7948.n(this.prototype, \"toggleBookmarked\", [_object.action]))();\n toggleHighlighted() {\n this.message.highlighted = !this.message.highlighted;\n }\n static #_4 = (() => dt7948.n(this.prototype, \"toggleHighlighted\", [_object.action]))();\n toggleEdited() {\n this.message.edited = !this.message.edited;\n }\n static #_5 = (() => dt7948.n(this.prototype, \"toggleEdited\", [_object.action]))();\n toggleThread() {\n if (this.message.thread) {\n this.message.channel.threadingEnabled = false;\n this.message.thread = null;\n } else {\n this.message.thread = new _fabricators.default((0, _owner.getOwner)(this)).thread({\n channel: this.message.channel\n });\n this.message.thread.preview.replyCount = 1;\n this.message.channel.threadingEnabled = true;\n }\n }\n static #_6 = (() => dt7948.n(this.prototype, \"toggleThread\", [_object.action]))();\n async updateMessage(event) {\n this.message.message = event.target.value;\n await this.message.cook();\n }\n static #_7 = (() => dt7948.n(this.prototype, \"updateMessage\", [_object.action]))();\n toggleReaction() {\n if (this.message.reactions?.length) {\n this.message.reactions = [];\n } else {\n this.message.reactions = [new _fabricators.default((0, _owner.getOwner)(this)).reaction({\n emoji: \"heart\"\n }), new _fabricators.default((0, _owner.getOwner)(this)).reaction({\n emoji: \"rocket\",\n reacted: true\n })];\n }\n }\n static #_8 = (() => dt7948.n(this.prototype, \"toggleReaction\", [_object.action]))();\n toggleUpload() {\n if (this.message.uploads?.length) {\n this.message.uploads = [];\n } else {\n this.message.uploads = [new _fabricators.default((0, _owner.getOwner)(this)).upload(), new _fabricators.default((0, _owner.getOwner)(this)).upload()];\n }\n }\n static #_9 = (() => dt7948.n(this.prototype, \"toggleUpload\", [_object.action]))();\n static #_10 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \">\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {{this.message.message}}\n \n \n \n \n */\n {\n \"id\": \"Fz02RnSD\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[8,[32,0],null,[[\\\"@title\\\"],[\\\"\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,1],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,2],null,[[\\\"@message\\\",\\\"@context\\\"],[[30,0,[\\\"message\\\"]],\\\"channel\\\"]],null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n\\\\n \\\"],[8,[32,3],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,4],null,[[\\\"@name\\\"],[\\\"Deleted\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,5],[[4,[32,7],[\\\"click\\\",[30,0,[\\\"toggleDeleted\\\"]]],null]],[[\\\"@state\\\"],[[28,[32,6],[[28,[32,6],[[30,0,[\\\"message\\\",\\\"deletedAt\\\"]]],null]],null]]],null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"],[8,[32,4],null,[[\\\"@name\\\"],[\\\"Bookmark\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,5],[[4,[32,7],[\\\"click\\\",[30,0,[\\\"toggleBookmarked\\\"]]],null]],[[\\\"@state\\\"],[[28,[32,6],[[28,[32,6],[[30,0,[\\\"message\\\",\\\"bookmark\\\"]]],null]],null]]],null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"],[8,[32,4],null,[[\\\"@name\\\"],[\\\"Thread\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,5],[[4,[32,7],[\\\"click\\\",[30,0,[\\\"toggleThread\\\"]]],null]],[[\\\"@state\\\"],[[28,[32,6],[[28,[32,6],[[30,0,[\\\"message\\\",\\\"thread\\\"]]],null]],null]]],null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"],[8,[32,4],null,[[\\\"@name\\\"],[\\\"Reactions\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,5],[[4,[32,7],[\\\"click\\\",[30,0,[\\\"toggleReaction\\\"]]],null]],[[\\\"@state\\\"],[[28,[32,6],[[28,[32,6],[[30,0,[\\\"message\\\",\\\"reactions\\\"]]],null]],null]]],null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"],[8,[32,4],null,[[\\\"@name\\\"],[\\\"Upload\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,5],[[4,[32,7],[\\\"click\\\",[30,0,[\\\"toggleUpload\\\"]]],null]],[[\\\"@state\\\"],[[28,[32,6],[[28,[32,6],[[30,0,[\\\"message\\\",\\\"uploads\\\"]]],null]],null]]],null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"],[8,[32,4],null,[[\\\"@name\\\"],[\\\"Message\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[11,\\\"textarea\\\"],[4,[32,7],[\\\"input\\\",[30,0,[\\\"updateMessage\\\"]]],null],[12],[1,[30,0,[\\\"message\\\",\\\"message\\\"]]],[13],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/styleguide/chat-message.js\",\n \"scope\": () => [StyleguideExample, StyleguideComponent, _chatMessage.default, Controls, Row, _dToggleSwitch.default, _truthHelpers.not, _modifier.on],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatStyleguideChatMessage;\n});","define(\"discourse/plugins/chat/discourse/components/styleguide/chat-modal-archive-channel\", [\"exports\", \"@glimmer/component\", \"@ember/object\", \"@ember/owner\", \"@ember/service\", \"discourse/components/d-button\", \"discourse/lib/utilities\", \"discourse/plugins/chat/discourse/components/chat/modal/archive-channel\", \"discourse/plugins/chat/discourse/lib/fabricators\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _object, _owner, _service, _dButton, _utilities, _archiveChannel, _fabricators, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const Row = (0, _utilities.optionalRequire)(\"discourse/plugins/styleguide/discourse/components/styleguide/controls/row\");\n const StyleguideExample = (0, _utilities.optionalRequire)(\"discourse/plugins/styleguide/discourse/components/styleguide-example\");\n class ChatStyleguideChatModalArchiveChannel extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"modal\", [_service.service]))();\n #modal = (() => (dt7948.i(this, \"modal\"), void 0))();\n channel = (() => new _fabricators.default((0, _owner.getOwner)(this)).channel())();\n openModal() {\n return this.modal.show(_archiveChannel.default, {\n model: {\n channel: this.channel\n }\n });\n }\n static #_2 = (() => dt7948.n(this.prototype, \"openModal\", [_object.action]))();\n static #_3 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \">\n \n \n \n \n \n */\n {\n \"id\": \"ySDt8wch\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[8,[32,0],null,[[\\\"@title\\\"],[\\\"\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,1],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,2],null,[[\\\"@translatedLabel\\\",\\\"@action\\\"],[\\\"Open modal\\\",[30,0,[\\\"openModal\\\"]]]],null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/styleguide/chat-modal-archive-channel.js\",\n \"scope\": () => [StyleguideExample, Row, _dButton.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatStyleguideChatModalArchiveChannel;\n});","define(\"discourse/plugins/chat/discourse/components/styleguide/chat-modal-create-channel\", [\"exports\", \"@glimmer/component\", \"@ember/object\", \"@ember/service\", \"discourse/components/d-button\", \"discourse/lib/utilities\", \"discourse/plugins/chat/discourse/components/chat/modal/create-channel\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _object, _service, _dButton, _utilities, _createChannel, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const Row = (0, _utilities.optionalRequire)(\"discourse/plugins/styleguide/discourse/components/styleguide/controls/row\");\n const StyleguideExample = (0, _utilities.optionalRequire)(\"discourse/plugins/styleguide/discourse/components/styleguide-example\");\n class ChatStyleguideChatModalCreateChannel extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"modal\", [_service.service]))();\n #modal = (() => (dt7948.i(this, \"modal\"), void 0))();\n openModal() {\n return this.modal.show(_createChannel.default);\n }\n static #_2 = (() => dt7948.n(this.prototype, \"openModal\", [_object.action]))();\n static #_3 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \">\n \n \n \n \n \n */\n {\n \"id\": \"IaHitYZH\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[8,[32,0],null,[[\\\"@title\\\"],[\\\"\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,1],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,2],null,[[\\\"@translatedLabel\\\",\\\"@action\\\"],[\\\"Open modal\\\",[30,0,[\\\"openModal\\\"]]]],null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/styleguide/chat-modal-create-channel.js\",\n \"scope\": () => [StyleguideExample, Row, _dButton.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatStyleguideChatModalCreateChannel;\n});","define(\"discourse/plugins/chat/discourse/components/styleguide/chat-modal-delete-channel\", [\"exports\", \"@glimmer/component\", \"@ember/object\", \"@ember/owner\", \"@ember/service\", \"discourse/components/d-button\", \"discourse/lib/utilities\", \"discourse/plugins/chat/discourse/components/chat/modal/delete-channel\", \"discourse/plugins/chat/discourse/lib/fabricators\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _object, _owner, _service, _dButton, _utilities, _deleteChannel, _fabricators, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const Row = (0, _utilities.optionalRequire)(\"discourse/plugins/styleguide/discourse/components/styleguide/controls/row\");\n const StyleguideExample = (0, _utilities.optionalRequire)(\"discourse/plugins/styleguide/discourse/components/styleguide-example\");\n class ChatStyleguideChatModalDeleteChannel extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"modal\", [_service.service]))();\n #modal = (() => (dt7948.i(this, \"modal\"), void 0))();\n channel = (() => new _fabricators.default((0, _owner.getOwner)(this)).channel())();\n openModal() {\n return this.modal.show(_deleteChannel.default, {\n model: {\n channel: this.channel\n }\n });\n }\n static #_2 = (() => dt7948.n(this.prototype, \"openModal\", [_object.action]))();\n static #_3 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \">\n \n \n \n \n \n */\n {\n \"id\": \"/R96GmRd\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[8,[32,0],null,[[\\\"@title\\\"],[\\\"\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,1],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,2],null,[[\\\"@translatedLabel\\\",\\\"@action\\\"],[\\\"Open modal\\\",[30,0,[\\\"openModal\\\"]]]],null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/styleguide/chat-modal-delete-channel.js\",\n \"scope\": () => [StyleguideExample, Row, _dButton.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatStyleguideChatModalDeleteChannel;\n});","define(\"discourse/plugins/chat/discourse/components/styleguide/chat-modal-edit-channel-description\", [\"exports\", \"@glimmer/component\", \"@ember/object\", \"@ember/owner\", \"@ember/service\", \"discourse/components/d-button\", \"discourse/lib/utilities\", \"discourse/plugins/chat/discourse/components/chat/modal/edit-channel-description\", \"discourse/plugins/chat/discourse/lib/fabricators\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _object, _owner, _service, _dButton, _utilities, _editChannelDescription, _fabricators, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const Row = (0, _utilities.optionalRequire)(\"discourse/plugins/styleguide/discourse/components/styleguide/controls/row\");\n const StyleguideExample = (0, _utilities.optionalRequire)(\"discourse/plugins/styleguide/discourse/components/styleguide-example\");\n class ChatStyleguideChatModalEditChannelDescription extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"modal\", [_service.service]))();\n #modal = (() => (dt7948.i(this, \"modal\"), void 0))();\n channel = (() => new _fabricators.default((0, _owner.getOwner)(this)).channel())();\n openModal() {\n return this.modal.show(_editChannelDescription.default, {\n model: this.channel\n });\n }\n static #_2 = (() => dt7948.n(this.prototype, \"openModal\", [_object.action]))();\n static #_3 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \">\n \n \n \n \n \n */\n {\n \"id\": \"2yuDN6PY\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[8,[32,0],null,[[\\\"@title\\\"],[\\\"\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,1],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,2],null,[[\\\"@translatedLabel\\\",\\\"@action\\\"],[\\\"Open modal\\\",[30,0,[\\\"openModal\\\"]]]],null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/styleguide/chat-modal-edit-channel-description.js\",\n \"scope\": () => [StyleguideExample, Row, _dButton.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatStyleguideChatModalEditChannelDescription;\n});","define(\"discourse/plugins/chat/discourse/components/styleguide/chat-modal-edit-channel-name\", [\"exports\", \"@glimmer/component\", \"@ember/object\", \"@ember/owner\", \"@ember/service\", \"discourse/components/d-button\", \"discourse/lib/utilities\", \"discourse/plugins/chat/discourse/components/chat/modal/edit-channel-name\", \"discourse/plugins/chat/discourse/lib/fabricators\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _object, _owner, _service, _dButton, _utilities, _editChannelName, _fabricators, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const Row = (0, _utilities.optionalRequire)(\"discourse/plugins/styleguide/discourse/components/styleguide/controls/row\");\n const StyleguideExample = (0, _utilities.optionalRequire)(\"discourse/plugins/styleguide/discourse/components/styleguide-example\");\n class ChatStyleguideChatModalEditChannelName extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"modal\", [_service.service]))();\n #modal = (() => (dt7948.i(this, \"modal\"), void 0))();\n channel = (() => new _fabricators.default((0, _owner.getOwner)(this)).channel())();\n openModal() {\n return this.modal.show(_editChannelName.default, {\n model: this.channel\n });\n }\n static #_2 = (() => dt7948.n(this.prototype, \"openModal\", [_object.action]))();\n static #_3 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \">\n \n \n \n \n \n */\n {\n \"id\": \"lyFRb/+L\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[8,[32,0],null,[[\\\"@title\\\"],[\\\"\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,1],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,2],null,[[\\\"@translatedLabel\\\",\\\"@action\\\"],[\\\"Open modal\\\",[30,0,[\\\"openModal\\\"]]]],null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/styleguide/chat-modal-edit-channel-name.js\",\n \"scope\": () => [StyleguideExample, Row, _dButton.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatStyleguideChatModalEditChannelName;\n});","define(\"discourse/plugins/chat/discourse/components/styleguide/chat-modal-move-message-to-channel\", [\"exports\", \"@glimmer/component\", \"@ember/object\", \"@ember/owner\", \"@ember/service\", \"discourse/components/d-button\", \"discourse/lib/utilities\", \"discourse/plugins/chat/discourse/components/chat/modal/move-message-to-channel\", \"discourse/plugins/chat/discourse/lib/fabricators\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _object, _owner, _service, _dButton, _utilities, _moveMessageToChannel, _fabricators, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const Row = (0, _utilities.optionalRequire)(\"discourse/plugins/styleguide/discourse/components/styleguide/controls/row\");\n const StyleguideExample = (0, _utilities.optionalRequire)(\"discourse/plugins/styleguide/discourse/components/styleguide-example\");\n class ChatStyleguideChatModalMoveMessageToChannel extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"modal\", [_service.service]))();\n #modal = (() => (dt7948.i(this, \"modal\"), void 0))();\n channel = (() => new _fabricators.default((0, _owner.getOwner)(this)).channel())();\n selectedMessageIds = (() => [new _fabricators.default((0, _owner.getOwner)(this)).message({\n channel: this.channel\n })].mapBy(\"id\"))();\n openModal() {\n return this.modal.show(_moveMessageToChannel.default, {\n model: {\n sourceChannel: this.channel,\n selectedMessageIds: [new _fabricators.default((0, _owner.getOwner)(this)).message({\n channel: this.channel\n })].mapBy(\"id\")\n }\n });\n }\n static #_2 = (() => dt7948.n(this.prototype, \"openModal\", [_object.action]))();\n static #_3 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \">\n \n \n \n \n \n */\n {\n \"id\": \"1yKGh+4F\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[8,[32,0],null,[[\\\"@title\\\"],[\\\"\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,1],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,2],null,[[\\\"@translatedLabel\\\",\\\"@action\\\"],[\\\"Open modal\\\",[30,0,[\\\"openModal\\\"]]]],null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/styleguide/chat-modal-move-message-to-channel.js\",\n \"scope\": () => [StyleguideExample, Row, _dButton.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatStyleguideChatModalMoveMessageToChannel;\n});","define(\"discourse/plugins/chat/discourse/components/styleguide/chat-modal-new-message\", [\"exports\", \"@glimmer/component\", \"@ember/object\", \"@ember/service\", \"discourse/components/d-button\", \"discourse/lib/utilities\", \"discourse/plugins/chat/discourse/components/chat/modal/new-message\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _object, _service, _dButton, _utilities, _newMessage, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const Row = (0, _utilities.optionalRequire)(\"discourse/plugins/styleguide/discourse/components/styleguide/controls/row\");\n const StyleguideExample = (0, _utilities.optionalRequire)(\"discourse/plugins/styleguide/discourse/components/styleguide-example\");\n class ChatStyleguideChatModalNewMessage extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"modal\", [_service.service]))();\n #modal = (() => (dt7948.i(this, \"modal\"), void 0))();\n openModal() {\n return this.modal.show(_newMessage.default);\n }\n static #_2 = (() => dt7948.n(this.prototype, \"openModal\", [_object.action]))();\n static #_3 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \">\n \n \n \n \n \n */\n {\n \"id\": \"9Lz930Hi\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[8,[32,0],null,[[\\\"@title\\\"],[\\\"\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,1],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,2],null,[[\\\"@translatedLabel\\\",\\\"@action\\\"],[\\\"Open modal\\\",[30,0,[\\\"openModal\\\"]]]],null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/styleguide/chat-modal-new-message.js\",\n \"scope\": () => [StyleguideExample, Row, _dButton.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatStyleguideChatModalNewMessage;\n});","define(\"discourse/plugins/chat/discourse/components/styleguide/chat-modal-thread-settings\", [\"exports\", \"@glimmer/component\", \"@ember/object\", \"@ember/owner\", \"@ember/service\", \"discourse/components/d-button\", \"discourse/lib/utilities\", \"discourse/plugins/chat/discourse/components/chat/modal/thread-settings\", \"discourse/plugins/chat/discourse/lib/fabricators\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _object, _owner, _service, _dButton, _utilities, _threadSettings, _fabricators, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const Row = (0, _utilities.optionalRequire)(\"discourse/plugins/styleguide/discourse/components/styleguide/controls/row\");\n const StyleguideExample = (0, _utilities.optionalRequire)(\"discourse/plugins/styleguide/discourse/components/styleguide-example\");\n class ChatStyleguideChatModalThreadSettings extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"modal\", [_service.service]))();\n #modal = (() => (dt7948.i(this, \"modal\"), void 0))();\n openModal() {\n return this.modal.show(_threadSettings.default, {\n model: new _fabricators.default((0, _owner.getOwner)(this)).thread()\n });\n }\n static #_2 = (() => dt7948.n(this.prototype, \"openModal\", [_object.action]))();\n static #_3 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \">\n \n \n \n \n \n */\n {\n \"id\": \"LcvHxEKp\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[8,[32,0],null,[[\\\"@title\\\"],[\\\"\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,1],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,2],null,[[\\\"@translatedLabel\\\",\\\"@action\\\"],[\\\"Open modal\\\",[30,0,[\\\"openModal\\\"]]]],null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/styleguide/chat-modal-thread-settings.js\",\n \"scope\": () => [StyleguideExample, Row, _dButton.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatStyleguideChatModalThreadSettings;\n});","define(\"discourse/plugins/chat/discourse/components/styleguide/chat-modal-toggle-channel-status\", [\"exports\", \"@glimmer/component\", \"@ember/object\", \"@ember/owner\", \"@ember/service\", \"discourse/components/d-button\", \"discourse/lib/utilities\", \"discourse/plugins/chat/discourse/components/chat/modal/toggle-channel-status\", \"discourse/plugins/chat/discourse/lib/fabricators\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _object, _owner, _service, _dButton, _utilities, _toggleChannelStatus, _fabricators, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const Row = (0, _utilities.optionalRequire)(\"discourse/plugins/styleguide/discourse/components/styleguide/controls/row\");\n const StyleguideExample = (0, _utilities.optionalRequire)(\"discourse/plugins/styleguide/discourse/components/styleguide-example\");\n class ChatStyleguideChatModalToggleChannelStatus extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"modal\", [_service.service]))();\n #modal = (() => (dt7948.i(this, \"modal\"), void 0))();\n openModal() {\n return this.modal.show(_toggleChannelStatus.default, {\n model: new _fabricators.default((0, _owner.getOwner)(this)).channel()\n });\n }\n static #_2 = (() => dt7948.n(this.prototype, \"openModal\", [_object.action]))();\n static #_3 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \">\n \n \n \n \n \n */\n {\n \"id\": \"dTM0S7Wc\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[8,[32,0],null,[[\\\"@title\\\"],[\\\"\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,1],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,2],null,[[\\\"@translatedLabel\\\",\\\"@action\\\"],[\\\"Open modal\\\",[30,0,[\\\"openModal\\\"]]]],null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/styleguide/chat-modal-toggle-channel-status.js\",\n \"scope\": () => [StyleguideExample, Row, _dButton.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatStyleguideChatModalToggleChannelStatus;\n});","define(\"discourse/plugins/chat/discourse/components/styleguide/chat-thread-list-item\", [\"exports\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/owner\", \"@ember/runloop\", \"@ember/service\", \"discourse/lib/utilities\", \"discourse/plugins/chat/discourse/components/chat/thread-list/item\", \"discourse/plugins/chat/discourse/lib/fabricators\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _tracking, _owner, _runloop, _service, _utilities, _item, _fabricators, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const StyleguideComponent = (0, _utilities.optionalRequire)(\"discourse/plugins/styleguide/discourse/components/styleguide/component\");\n const StyleguideExample = (0, _utilities.optionalRequire)(\"discourse/plugins/styleguide/discourse/components/styleguide-example\");\n class ChatStyleguideChatThreadListItem extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"thread\", [_tracking.tracked]))();\n #thread = (() => (dt7948.i(this, \"thread\"), void 0))();\n constructor() {\n super(...arguments);\n (0, _runloop.next)(() => {\n this.thread = new _fabricators.default((0, _owner.getOwner)(this)).thread();\n });\n }\n static #_3 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \">\n \n {{#if this.thread}}\n \n {{/if}}\n \n \n \n */\n {\n \"id\": \"NOR5hYi2\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[8,[32,0],null,[[\\\"@title\\\"],[\\\"\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,1],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"thread\\\"]],[[[1,\\\" \\\"],[8,[32,2],null,[[\\\"@thread\\\"],[[30,0,[\\\"thread\\\"]]]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/styleguide/chat-thread-list-item.js\",\n \"scope\": () => [StyleguideExample, StyleguideComponent, _item.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatStyleguideChatThreadListItem;\n});","define(\"discourse/plugins/chat/discourse/components/styleguide/organisms/chat\", [\"exports\", \"discourse/plugins/chat/discourse/components/styleguide/chat-composer\", \"discourse/plugins/chat/discourse/components/styleguide/chat-composer-message-details\", \"discourse/plugins/chat/discourse/components/styleguide/chat-header-icon\", \"discourse/plugins/chat/discourse/components/styleguide/chat-message\", \"discourse/plugins/chat/discourse/components/styleguide/chat-modal-archive-channel\", \"discourse/plugins/chat/discourse/components/styleguide/chat-modal-create-channel\", \"discourse/plugins/chat/discourse/components/styleguide/chat-modal-delete-channel\", \"discourse/plugins/chat/discourse/components/styleguide/chat-modal-edit-channel-description\", \"discourse/plugins/chat/discourse/components/styleguide/chat-modal-edit-channel-name\", \"discourse/plugins/chat/discourse/components/styleguide/chat-modal-move-message-to-channel\", \"discourse/plugins/chat/discourse/components/styleguide/chat-modal-new-message\", \"discourse/plugins/chat/discourse/components/styleguide/chat-modal-thread-settings\", \"discourse/plugins/chat/discourse/components/styleguide/chat-modal-toggle-channel-status\", \"discourse/plugins/chat/discourse/components/styleguide/chat-thread-list-item\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _chatComposer, _chatComposerMessageDetails, _chatHeaderIcon, _chatMessage, _chatModalArchiveChannel, _chatModalCreateChannel, _chatModalDeleteChannel, _chatModalEditChannelDescription, _chatModalEditChannelName, _chatModalMoveMessageToChannel, _chatModalNewMessage, _chatModalThreadSettings, _chatModalToggleChannelStatus, _chatThreadListItem, _component, _templateFactory, _templateOnly) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const ChatOrganism = (0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n \n \n \n \n \n

    Modals

    \n \n \n \n \n \n \n \n \n \n \n \n */\n {\n \"id\": \"D76d53AZ\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[8,[32,0],null,null,null],[1,\\\"\\\\n \\\"],[8,[32,1],null,null,null],[1,\\\"\\\\n \\\"],[8,[32,2],null,null,null],[1,\\\"\\\\n \\\"],[8,[32,3],null,null,null],[1,\\\"\\\\n \\\"],[8,[32,4],null,null,null],[1,\\\"\\\\n\\\\n \\\"],[10,\\\"h2\\\"],[12],[1,\\\"Modals\\\"],[13],[1,\\\"\\\\n\\\\n \\\"],[8,[32,5],null,null,null],[1,\\\"\\\\n \\\"],[8,[32,6],null,null,null],[1,\\\"\\\\n \\\"],[8,[32,7],null,null,null],[1,\\\"\\\\n \\\"],[8,[32,8],null,null,null],[1,\\\"\\\\n \\\"],[8,[32,9],null,null,null],[1,\\\"\\\\n \\\"],[8,[32,10],null,null,null],[1,\\\"\\\\n \\\"],[8,[32,11],null,null,null],[1,\\\"\\\\n \\\"],[8,[32,12],null,null,null],[1,\\\"\\\\n \\\"],[8,[32,13],null,null,null],[1,\\\"\\\\n\\\"]],[],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/styleguide/organisms/chat.js\",\n \"scope\": () => [_chatMessage.default, _chatComposer.default, _chatThreadListItem.default, _chatComposerMessageDetails.default, _chatHeaderIcon.default, _chatModalArchiveChannel.default, _chatModalMoveMessageToChannel.default, _chatModalDeleteChannel.default, _chatModalEditChannelDescription.default, _chatModalEditChannelName.default, _chatModalThreadSettings.default, _chatModalCreateChannel.default, _chatModalToggleChannelStatus.default, _chatModalNewMessage.default],\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, \"chat:ChatOrganism\"));\n var _default = _exports.default = ChatOrganism;\n});","define(\"discourse/plugins/chat/discourse/components/svg/chat-zero\", [\"exports\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _component, _templateFactory, _templateOnly) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const SvgChatZero = (0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n \n \n \n \n \n \n \n \n \n \n \n */\n {\n \"id\": \"z1h0oRMV\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,\\\"svg\\\"],[14,\\\"width\\\",\\\"217\\\"],[14,\\\"height\\\",\\\"163\\\"],[14,\\\"viewBox\\\",\\\"0 0 217 163\\\"],[14,\\\"fill\\\",\\\"none\\\"],[14,\\\"xmlns\\\",\\\"http://www.w3.org/2000/svg\\\",\\\"http://www.w3.org/2000/xmlns/\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"path\\\"],[14,\\\"d\\\",\\\"M4 128.5C12.5 128.5 30.5 148.5 69.5 142.5C86.9422 139.817 168.5 84.5 197.5 73\\\"],[14,\\\"stroke\\\",\\\"var(--tertiary-high)\\\"],[14,\\\"stroke-linecap\\\",\\\"round\\\"],[14,\\\"stroke-dasharray\\\",\\\"6 6\\\"],[12],[13],[1,\\\"\\\\n \\\"],[10,\\\"path\\\"],[14,\\\"fill-rule\\\",\\\"evenodd\\\"],[14,\\\"clip-rule\\\",\\\"evenodd\\\"],[14,\\\"d\\\",\\\"M53 15C39.7452 15 29 25.7452 29 39V96.4576C29 109.377 39.2089 119.913 52 120.437V137L74.3809 120.458H156C169.255 120.458 180 109.712 180 96.4576V39C180 25.7452 169.255 15 156 15H53Z\\\"],[14,\\\"fill\\\",\\\"var(--secondary)\\\"],[12],[13],[1,\\\"\\\\n \\\"],[10,\\\"path\\\"],[14,\\\"d\\\",\\\"M52 120.437H52.5V119.957L52.0205 119.938L52 120.437ZM52 137H51.5V137.991L52.2972 137.402L52 137ZM74.3809 120.458V119.958H74.2162L74.0837 120.056L74.3809 120.458ZM29.5 39C29.5 26.0213 40.0213 15.5 53 15.5V14.5C39.469 14.5 28.5 25.469 28.5 39H29.5ZM29.5 96.4576V39H28.5V96.4576H29.5ZM52.0205 119.938C39.4962 119.424 29.5 109.108 29.5 96.4576H28.5C28.5 109.647 38.9216 120.402 51.9795 120.937L52.0205 119.938ZM52.5 137V120.437H51.5V137H52.5ZM74.0837 120.056L51.7028 136.598L52.2972 137.402L74.6781 120.86L74.0837 120.056ZM156 119.958H74.3809V120.958H156V119.958ZM179.5 96.4576C179.5 109.436 168.979 119.958 156 119.958V120.958C169.531 120.958 180.5 109.989 180.5 96.4576H179.5ZM179.5 39V96.4576H180.5V39H179.5ZM156 15.5C168.979 15.5 179.5 26.0213 179.5 39H180.5C180.5 25.469 169.531 14.5 156 14.5V15.5ZM53 15.5H156V14.5H53V15.5Z\\\"],[14,\\\"fill\\\",\\\"var(--tertiary-high)\\\"],[12],[13],[1,\\\"\\\\n \\\"],[10,\\\"ellipse\\\"],[14,\\\"cx\\\",\\\"104\\\"],[14,\\\"cy\\\",\\\"156\\\"],[14,\\\"rx\\\",\\\"96\\\"],[14,\\\"ry\\\",\\\"7\\\"],[14,\\\"fill\\\",\\\"var(--primary-low)\\\"],[12],[13],[1,\\\"\\\\n \\\"],[10,\\\"path\\\"],[14,\\\"d\\\",\\\"M215.833 65.4678L209.881 73.3052C209.749 73.5001 209.525 73.6186 209.283 73.6212C209.158 73.6066 209.033 73.592 208.909 73.525C208.827 73.4803 208.755 73.415 208.695 73.3292L206.751 70.9161L204.851 71.9128C204.691 72.0124 204.513 71.9961 204.369 71.9179C204.142 71.7951 204.057 71.5092 204.18 71.2825L205.252 69.3042C205.341 69.1393 205.46 69.0174 205.598 68.959L213.217 65.6229L204.2 67.8014L202.557 65.7653C202.386 65.5394 202.333 65.244 202.478 64.9761C202.614 64.6765 202.849 64.5374 203.143 64.5366L215.222 64.2836C215.495 64.2716 215.784 64.4279 215.912 64.6838C216.04 64.9397 216.009 65.2428 215.833 65.4678Z\\\"],[14,\\\"fill\\\",\\\"var(--tertiary-high)\\\"],[12],[13],[1,\\\"\\\\n \\\"],[10,\\\"ellipse\\\"],[14,\\\"cx\\\",\\\"148\\\"],[14,\\\"cy\\\",\\\"18.4167\\\"],[14,\\\"rx\\\",\\\"17\\\"],[14,\\\"ry\\\",\\\"18.4167\\\"],[14,\\\"fill\\\",\\\"var(--primary-low)\\\"],[12],[13],[1,\\\"\\\\n \\\"],[10,\\\"path\\\"],[14,\\\"d\\\",\\\"M147.883 8.27081C149.963 8.27081 151.589 9.013 152.761 10.4974C154.157 12.2552 154.855 15.1702 154.855 19.2425C154.855 23.305 154.152 26.2249 152.746 28.0023C151.584 29.4671 149.963 30.1995 147.883 30.1995C145.793 30.1995 144.108 29.3987 142.829 27.7972C141.55 26.1859 140.91 23.3196 140.91 19.1985C140.91 15.1556 141.613 12.2454 143.02 10.4681C144.182 9.00323 145.803 8.27081 147.883 8.27081ZM147.883 11.6839C147.385 11.6839 146.94 11.845 146.55 12.1673C146.159 12.4798 145.856 13.0462 145.642 13.8665C145.358 14.931 145.217 16.723 145.217 19.2425C145.217 21.762 145.344 23.4954 145.598 24.4427C145.852 25.3802 146.169 26.0052 146.55 26.3177C146.94 26.6302 147.385 26.7864 147.883 26.7864C148.381 26.7864 148.825 26.6302 149.216 26.3177C149.606 25.9954 149.909 25.4241 150.124 24.6038C150.407 23.5491 150.549 21.762 150.549 19.2425C150.549 16.723 150.422 14.9944 150.168 14.0569C149.914 13.1097 149.592 12.4798 149.201 12.1673C148.82 11.845 148.381 11.6839 147.883 11.6839Z\\\"],[14,\\\"fill\\\",\\\"var(--primary)\\\"],[12],[13],[1,\\\"\\\\n \\\"],[10,\\\"path\\\"],[14,\\\"d\\\",\\\"M13.013 41.1986C13.4829 41.2395 13.9951 41.6417 14.228 42.2301C14.4696 42.8402 14.3716 43.484 14.057 43.8355L15.3252 47.0389C15.4373 47.3221 15.3665 47.6527 15.1482 47.8652C14.9298 48.0776 14.5988 48.1331 14.3251 48.0146L12.9866 47.4353C11.5265 46.8034 9.87709 46.7758 8.39524 47.3625L8.22091 47.4315L9.32521 50.2209C9.4805 50.6131 9.27441 51.0476 8.90395 51.1943L7.50927 51.7464C7.11702 51.9017 6.69115 51.7174 6.53585 51.3252L5.43155 48.5358C4.64704 48.8464 3.7953 48.4778 3.48472 47.6933L2.65649 45.6013C2.35453 44.8386 2.71451 43.965 3.49901 43.6545L6.46271 42.4811C7.94455 41.8945 9.12808 40.7453 9.7686 39.307L10.3478 37.9685C10.4663 37.6948 10.7455 37.5086 11.0502 37.514C11.3548 37.5195 11.6327 37.7119 11.7362 37.9734L13.013 41.1986ZM7.01486 43.8758L6.84052 43.9448L7.66875 46.0368L7.84309 45.9678C9.58644 45.2776 11.5232 45.2671 13.2748 45.9348L11.0058 40.2036C10.186 41.8893 8.75821 43.1856 7.01486 43.8758Z\\\"],[14,\\\"fill\\\",\\\"var(--tertiary-high)\\\"],[12],[13],[1,\\\"\\\\n \\\"],[10,\\\"path\\\"],[14,\\\"d\\\",\\\"M148.762 128.636C149.155 128.701 149.422 129.101 149.358 129.494C149.29 129.91 148.913 130.181 148.52 130.116C148.103 130.048 147.833 129.671 147.901 129.255C147.965 128.862 148.346 128.568 148.762 128.636ZM151.353 129.061C151.746 129.125 152.013 129.525 151.948 129.918C151.888 130.288 151.484 130.578 151.114 130.518C150.721 130.453 150.427 130.073 150.491 129.679C150.559 129.263 150.936 128.992 151.353 129.061ZM153.943 129.485C154.336 129.549 154.626 129.953 154.539 130.343C154.471 130.759 154.094 131.03 153.701 130.965C153.307 130.901 153.014 130.52 153.082 130.104C153.146 129.711 153.527 129.417 153.943 129.485ZM152.02 124.99C155.281 125.524 157.558 128.153 157.126 130.79C156.694 133.427 153.705 135.146 150.443 134.612C149.68 134.486 148.959 134.25 148.345 133.935C147.572 134.307 146.367 134.704 144.956 134.473C144.725 134.435 144.536 134.285 144.504 134.042C144.469 133.823 144.53 133.595 144.718 133.46C144.718 133.46 145.564 132.791 146.059 131.946C145.428 131.011 145.132 129.918 145.31 128.831C145.746 126.171 148.735 124.452 152.02 124.99ZM150.625 133.501C153.262 133.933 155.659 132.64 155.996 130.581C156.329 128.546 154.451 126.528 151.815 126.096C149.178 125.664 146.754 126.977 146.421 129.013C146.258 130.007 146.622 130.827 146.966 131.334L147.369 131.923L147.008 132.529C146.84 132.834 146.625 133.131 146.394 133.378C146.98 133.284 147.484 133.105 147.845 132.927L148.338 132.675L148.843 132.924C149.391 133.204 150.001 133.399 150.625 133.501Z\\\"],[14,\\\"fill\\\",\\\"var(--tertiary-high)\\\"],[12],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/svg/chat-zero.js\",\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, \"chat-zero:SvgChatZero\"));\n var _default = _exports.default = SvgChatZero;\n});","define(\"discourse/plugins/chat/discourse/components/thread-notifications-tracking\", [\"exports\", \"discourse/components/notifications-tracking\", \"discourse/plugins/chat/discourse/lib/chat-notification-levels\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _notificationsTracking, _chatNotificationLevels, _component, _templateFactory, _templateOnly) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const ThreadNotificationsTracking = (0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n \n */\n {\n \"id\": \"EYsKXFrP\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[8,[32,0],[[24,0,\\\"thread-notifications-tracking\\\"]],[[\\\"@onChange\\\",\\\"@levels\\\",\\\"@levelId\\\",\\\"@showCaret\\\",\\\"@showFullTitle\\\",\\\"@prefix\\\",\\\"@triggerClass\\\"],[[30,1],[32,1],[30,2],false,false,\\\"chat.thread.notifications\\\",\\\"btn-transparent\\\"]],null],[1,\\\"\\\\n\\\"]],[\\\"@onChange\\\",\\\"@levelId\\\"],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/thread-notifications-tracking.js\",\n \"scope\": () => [_notificationsTracking.default, _chatNotificationLevels.threadNotificationButtonLevels],\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, \"thread-notifications-tracking:ThreadNotificationsTracking\"));\n var _default = _exports.default = ThreadNotificationsTracking;\n});","define(\"discourse/plugins/chat/discourse/components/thread-title/index\", [\"exports\", \"@glimmer/component\", \"@ember/routing\", \"@ember/service\", \"@ember/template\", \"discourse/helpers/replace-emoji\", \"discourse/lib/utilities\", \"discourse/plugins/chat/discourse/components/thread-unread-indicator\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _routing, _service, _template, _replaceEmoji, _utilities, _threadUnreadIndicator, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatThreadTitle extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n get title() {\n if (this.args.thread.title) {\n return (0, _replaceEmoji.default)((0, _template.htmlSafe)((0, _utilities.escapeExpression)(this.args.thread.title)));\n } else {\n return (0, _replaceEmoji.default)((0, _template.htmlSafe)(this.args.thread.originalMessage.excerpt));\n }\n }\n static #_2 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n \n {{#if this.site.desktopView}}\n \n {{this.title}}\n \n {{else}}\n \n {{this.title}}\n \n {{/if}}\n \n \n \n \n \n */\n {\n \"id\": \"gnX2H9Yh\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,1],[14,0,\\\"chat__thread-title-container\\\"],[12],[1,\\\"\\\\n \\\"],[10,1],[14,0,\\\"chat__thread-title\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"site\\\",\\\"desktopView\\\"]],[[[1,\\\" \\\"],[8,[32,0],[[24,0,\\\"chat__thread-title__name\\\"]],[[\\\"@route\\\",\\\"@models\\\"],[\\\"chat.channel.thread\\\",[30,1,[\\\"routeModels\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[1,[30,0,[\\\"title\\\"]]],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[10,1],[14,0,\\\"chat__thread-title__name\\\"],[12],[1,\\\"\\\\n \\\"],[1,[30,0,[\\\"title\\\"]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[8,[32,1],null,[[\\\"@thread\\\"],[[30,1]]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"@thread\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/thread-title/index.js\",\n \"scope\": () => [_routing.LinkTo, _threadUnreadIndicator.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatThreadTitle;\n});","define(\"discourse/plugins/chat/discourse/components/thread-unread-indicator/index\", [\"exports\", \"@glimmer/component\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const MAX_UNREAD_COUNT = 99;\n class ChatThreadUnreadIndicator extends _component.default {\n get unreadCount() {\n return this.args.thread.tracking.unreadCount;\n }\n get urgentCount() {\n return this.args.thread.tracking.mentionCount + this.args.thread.tracking.watchedThreadsUnreadCount;\n }\n get showUnreadIndicator() {\n return this.unreadCount > 0 || this.urgentCount > 0;\n }\n get unreadCountLabel() {\n const count = this.urgentCount > 0 ? this.urgentCount : this.unreadCount;\n return count > MAX_UNREAD_COUNT ? `${MAX_UNREAD_COUNT}+` : count;\n }\n get isUrgent() {\n return this.urgentCount > 0 ? \"-urgent\" : \"\";\n }\n static #_ = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if this.showUnreadIndicator}}\n \n \n {{this.unreadCountLabel}}\n \n \n {{/if}}\n \n */\n {\n \"id\": \"bb5wuSVn\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"showUnreadIndicator\\\"]],[[[1,\\\" \\\"],[10,1],[15,0,[29,[\\\"chat-thread-list-item-unread-indicator \\\",[30,0,[\\\"isUrgent\\\"]]]]],[12],[1,\\\"\\\\n \\\"],[10,1],[14,0,\\\"chat-thread-list-item-unread-indicator__number\\\"],[12],[1,\\\"\\\\n \\\"],[1,[30,0,[\\\"unreadCountLabel\\\"]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/thread-unread-indicator/index.js\",\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatThreadUnreadIndicator;\n});","define(\"discourse/plugins/chat/discourse/components/toggle-channel-membership-button\", [\"exports\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/object\", \"@ember/service\", \"discourse/components/d-button\", \"discourse/components/plugin-outlet\", \"discourse/helpers/concat-class\", \"discourse/helpers/lazy-hash\", \"discourse/lib/ajax-error\", \"discourse-i18n\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _tracking, _object, _service, _dButton, _pluginOutlet, _concatClass, _lazyHash, _ajaxError, _discourseI18n, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ToggleChannelMembershipButton extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"chatApi\", [_service.service]))();\n #chatApi = (() => (dt7948.i(this, \"chatApi\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"isLoading\", [_tracking.tracked], function () {\n return false;\n }))();\n #isLoading = (() => (dt7948.i(this, \"isLoading\"), void 0))();\n options = {};\n constructor() {\n super(...arguments);\n this.options = {\n labelType: \"normal\",\n joinTitle: (0, _discourseI18n.i18n)(\"chat.channel_settings.join_channel\"),\n joinIcon: \"\",\n joinClass: \"\",\n leaveTitle: (0, _discourseI18n.i18n)(\"chat.channel_settings.leave_channel\"),\n leaveIcon: \"\",\n leaveClass: \"\",\n ...this.args.options\n };\n }\n get label() {\n if (this.options.labelType === \"none\") {\n return \"\";\n }\n if (this.options.labelType === \"short\") {\n if (this.args.channel.currentUserMembership.following) {\n return (0, _discourseI18n.i18n)(\"chat.channel_settings.leave\");\n } else {\n return (0, _discourseI18n.i18n)(\"chat.channel_settings.join\");\n }\n }\n if (this.args.channel.currentUserMembership.following) {\n return (0, _discourseI18n.i18n)(\"chat.channel_settings.leave_channel\");\n } else {\n return (0, _discourseI18n.i18n)(\"chat.channel_settings.join_channel\");\n }\n }\n onJoinChannel() {\n this.isLoading = true;\n return this.chat.followChannel(this.args.channel).then(() => {\n this.args.onJoin?.(this.args.channel);\n }).catch(_ajaxError.popupAjaxError).finally(() => {\n if (this.isDestroying || this.isDestroyed) {\n return;\n }\n this.isLoading = false;\n });\n }\n static #_4 = (() => dt7948.n(this.prototype, \"onJoinChannel\", [_object.action]))();\n async onLeaveChannel() {\n this.isLoading = true;\n try {\n if (this.args.channel.chatable.group) {\n await this.chatApi.leaveChannel(this.args.channel.id);\n } else {\n await this.chat.unfollowChannel(this.args.channel);\n }\n this.args.onLeave?.(this.args.channel);\n } catch (error) {\n (0, _ajaxError.popupAjaxError)(error);\n } finally {\n this.isLoading = false;\n }\n }\n static #_5 = (() => dt7948.n(this.prototype, \"onLeaveChannel\", [_object.action]))();\n static #_6 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if @channel.currentUserMembership.following}}\n \n {{else}}\n \n \n \n {{/if}}\n \n */\n {\n \"id\": \"7Vy5YBdY\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"currentUserMembership\\\",\\\"following\\\"]],[[[1,\\\" \\\"],[8,[32,0],[[16,0,[28,[32,1],[\\\"toggle-channel-membership-button -leave\\\",[30,0,[\\\"options\\\",\\\"leaveClass\\\"]]],null]]],[[\\\"@action\\\",\\\"@translatedLabel\\\",\\\"@translatedTitle\\\",\\\"@icon\\\",\\\"@disabled\\\"],[[30,0,[\\\"onLeaveChannel\\\"]],[30,0,[\\\"label\\\"]],[30,0,[\\\"options\\\",\\\"leaveTitle\\\"]],[30,0,[\\\"options\\\",\\\"leaveIcon\\\"]],[30,0,[\\\"isLoading\\\"]]]],null],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[8,[32,2],null,[[\\\"@name\\\",\\\"@outletArgs\\\",\\\"@defaultGlimmer\\\"],[\\\"chat-join-channel-button\\\",[28,[32,3],null,[[\\\"onJoinChannel\\\",\\\"channel\\\",\\\"icon\\\",\\\"title\\\",\\\"label\\\",\\\"disabled\\\"],[[30,0,[\\\"onJoinChannel\\\"]],[30,1],[30,0,[\\\"options\\\",\\\"joinIcon\\\"]],[30,0,[\\\"options\\\",\\\"joinTitle\\\"]],[30,0,[\\\"label\\\"]],[30,0,[\\\"isLoading\\\"]]]]],true]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,0],[[16,0,[28,[32,1],[\\\"toggle-channel-membership-button -join\\\",[30,0,[\\\"options\\\",\\\"joinClass\\\"]]],null]]],[[\\\"@action\\\",\\\"@translatedLabel\\\",\\\"@translatedTitle\\\",\\\"@icon\\\",\\\"@disabled\\\"],[[30,0,[\\\"onJoinChannel\\\"]],[30,0,[\\\"label\\\"]],[30,0,[\\\"options\\\",\\\"joinTitle\\\"]],[30,0,[\\\"options\\\",\\\"joinIcon\\\"]],[30,0,[\\\"isLoading\\\"]]]],null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]]],[1,\\\" \\\"]],[\\\"@channel\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/toggle-channel-membership-button.js\",\n \"scope\": () => [_dButton.default, _concatClass.default, _pluginOutlet.default, _lazyHash.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ToggleChannelMembershipButton;\n});","define(\"discourse/plugins/chat/discourse/components/user-menu/chat-notifications-list-empty-state\", [\"exports\", \"discourse/components/empty-state\", \"discourse/helpers/get-url\", \"discourse/helpers/html-safe\", \"discourse-i18n\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _emptyState, _getUrl, _htmlSafe, _discourseI18n, _component, _templateFactory, _templateOnly) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const ChatNotificationsListEmptyState = (0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n \n */\n {\n \"id\": \"9lS6l8y9\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[8,[32,0],null,[[\\\"@title\\\",\\\"@body\\\"],[[28,[32,1],[\\\"user_menu.no_chat_notifications_title\\\"],null],[28,[32,2],[[28,[32,1],[\\\"user_menu.no_chat_notifications_body\\\"],[[\\\"preferencesUrl\\\"],[[28,[32,3],[\\\"/my/preferences/notifications\\\"],null]]]]],null]]],null],[1,\\\"\\\\n\\\"]],[],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/user-menu/chat-notifications-list-empty-state.js\",\n \"scope\": () => [_emptyState.default, _discourseI18n.i18n, _htmlSafe.default, _getUrl.default],\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, \"chat-notifications-list-empty-state:ChatNotificationsListEmptyState\"));\n var _default = _exports.default = ChatNotificationsListEmptyState;\n});","define(\"discourse/plugins/chat/discourse/components/user-menu/chat-notifications-list\", [\"exports\", \"discourse/components/user-menu/notifications-list\"], function (_exports, _notificationsList) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class UserMenuChatNotificationsList extends _notificationsList.default {\n get dismissTypes() {\n return this.filterByTypes;\n }\n get emptyStateComponent() {\n return \"user-menu/chat-notifications-list-empty-state\";\n }\n }\n _exports.default = UserMenuChatNotificationsList;\n});","define(\"discourse/plugins/chat/discourse/components/user-threads/index\", [\"exports\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/routing\", \"@ember/service\", \"discourse/lib/decorators\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/channel-icon\", \"discourse/plugins/chat/discourse/components/channel-title\", \"discourse/plugins/chat/discourse/components/chat/list\", \"discourse/plugins/chat/discourse/components/chat-message-thread-indicator\", \"discourse/plugins/chat/discourse/components/thread-title\", \"discourse/plugins/chat/discourse/components/user-threads/preview\", \"discourse/plugins/chat/discourse/models/chat-thread-preview\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _tracking, _routing, _service, _decorators, _discourseI18n, _channelIcon, _channelTitle, _list, _chatMessageThreadIndicator, _threadTitle, _preview, _chatThreadPreview, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class UserThreads extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"chatApi\", [_service.service]))();\n #chatApi = (() => (dt7948.i(this, \"chatApi\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"chatChannelsManager\", [_service.service]))();\n #chatChannelsManager = (() => (dt7948.i(this, \"chatChannelsManager\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"messageBus\", [_service.service]))();\n #messageBus = (() => (dt7948.i(this, \"messageBus\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n trackedChannels = {};\n willDestroy() {\n super.willDestroy(...arguments);\n Object.keys(this.trackedChannels).forEach(id => {\n this.messageBus.unsubscribe(`/chat/${id}`, this.onMessage);\n });\n this.trackedChannels = {};\n }\n get threadsCollection() {\n return this.chatApi.userThreads(this.handleLoadedThreads);\n }\n static #_6 = (() => dt7948.n(this.prototype, \"threadsCollection\", [_tracking.cached]))();\n handleLoadedThreads(result) {\n return result.threads.map(threadObject => {\n const channel = this.chatChannelsManager.store(threadObject.channel);\n const thread = channel.threadsManager.add(channel, threadObject);\n const tracking = result.tracking[thread.id];\n if (tracking) {\n thread.tracking.mentionCount = tracking.mention_count;\n thread.tracking.unreadCount = tracking.unread_count;\n thread.tracking.watchedThreadsUnreadCount = tracking.watched_threads_unread_count;\n }\n this.trackChannel(thread.channel);\n return thread;\n });\n }\n static #_7 = (() => dt7948.n(this.prototype, \"handleLoadedThreads\", [_decorators.bind]))();\n trackChannel(channel) {\n if (this.trackedChannels[channel.id]) {\n return;\n }\n this.trackedChannels[channel.id] = channel;\n this.messageBus.subscribe(`/chat/${channel.id}`, this.onMessage, channel.channelMessageBusLastId);\n }\n onMessage(data) {\n if (data.type === \"update_thread_original_message\") {\n const channel = this.trackedChannels[data.channel_id];\n if (!channel) {\n return;\n }\n const thread = channel.threadsManager.threads.find(t => t.id === data.thread_id);\n if (thread) {\n thread.preview = _chatThreadPreview.default.create(data.preview);\n }\n }\n }\n static #_8 = (() => dt7948.n(this.prototype, \"onMessage\", [_decorators.bind]))();\n static #_9 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n \n
    \n {{#if this.site.mobileView}}\n \n {{/if}}\n \n {{#if this.site.mobileView}}\n \n \n \n \n \n \n {{else}}\n \n \n \n \n {{/if}}\n
    \n
    \n \n
    \n {{i18n \"chat.empty_state.my_threads\"}}\n
    \n
    \n \n \n */\n {\n \"id\": \"fPGEq7KN\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[8,[32,0],[[24,0,\\\"c-user-threads\\\"]],[[\\\"@collection\\\"],[[30,0,[\\\"threadsCollection\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[30,1,[\\\"Item\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"c-user-thread\\\"],[15,\\\"data-id\\\",[30,2,[\\\"id\\\"]]],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"site\\\",\\\"mobileView\\\"]],[[[1,\\\" \\\"],[8,[32,1],null,[[\\\"@thread\\\"],[[30,2]]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"site\\\",\\\"mobileView\\\"]],[[[1,\\\" \\\"],[8,[32,2],[[24,0,\\\"c-user-thread__link\\\"]],[[\\\"@route\\\",\\\"@models\\\"],[\\\"chat.channel.thread\\\",[30,2,[\\\"routeModels\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[32,3],null,[[\\\"@channel\\\"],[[30,2,[\\\"channel\\\"]]]],null],[1,\\\"\\\\n \\\"],[8,[32,4],null,[[\\\"@thread\\\"],[[30,2]]],null],[1,\\\"\\\\n\\\\n \\\"],[8,[32,5],null,[[\\\"@preview\\\"],[[30,2,[\\\"preview\\\"]]]],null],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[8,[32,3],null,[[\\\"@channel\\\"],[[30,2,[\\\"channel\\\"]]]],null],[1,\\\"\\\\n \\\"],[8,[32,4],null,[[\\\"@thread\\\"],[[30,2]]],null],[1,\\\"\\\\n\\\\n \\\"],[8,[32,6],[[24,\\\"tabindex\\\",\\\"-1\\\"]],[[\\\"@message\\\",\\\"@interactiveUser\\\",\\\"@interactiveThread\\\"],[[30,2,[\\\"originalMessage\\\"]],false,false]],null],[1,\\\"\\\\n\\\"]],[]]],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"]],[2]]]]],[1,\\\"\\\\n \\\"],[8,[30,1,[\\\"EmptyState\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"empty-state-threads\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,7],[\\\"chat.empty_state.my_threads\\\"],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"]],[1]]]]],[1,\\\"\\\\n \\\"]],[\\\"list\\\",\\\"thread\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/user-threads/index.js\",\n \"scope\": () => [_list.default, _channelIcon.default, _routing.LinkTo, _channelTitle.default, _threadTitle.default, _preview.default, _chatMessageThreadIndicator.default, _discourseI18n.i18n],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = UserThreads;\n});","define(\"discourse/plugins/chat/discourse/components/user-threads/preview\", [\"exports\", \"@glimmer/component\", \"@ember/template\", \"discourse/helpers/format-date\", \"discourse/helpers/replace-emoji\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _template, _formatDate, _replaceEmoji, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ThreadPreview extends _component.default {\n get lastReplyDate() {\n return (0, _formatDate.default)(this.args.preview.lastReplyCreatedAt, {\n leaveAgo: true\n });\n }\n static #_ = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n {{this.lastReplyDate}}\n \n \n \n {{@preview.lastReplyUser.username}}\n \n :\n \n {{replaceEmoji (htmlSafe @preview.lastReplyExcerpt)}}\n \n \n \n */\n {\n \"id\": \"n1JPhyTG\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,1],[14,0,\\\"chat-message-thread-indicator__last-reply-timestamp\\\"],[12],[1,\\\"\\\\n \\\"],[1,[30,0,[\\\"lastReplyDate\\\"]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[10,1],[14,0,\\\"c-user-thread__excerpt\\\"],[12],[1,\\\"\\\\n \\\"],[10,1],[14,0,\\\"c-user-thread__excerpt-poster\\\"],[12],[1,\\\"\\\\n \\\"],[1,[30,1,[\\\"lastReplyUser\\\",\\\"username\\\"]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[10,1],[12],[1,\\\":\\\"],[13],[1,\\\"\\\\n \\\"],[10,1],[14,0,\\\"c-user-thread__excerpt-text\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,0],[[28,[32,1],[[30,1,[\\\"lastReplyExcerpt\\\"]]],null]],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"@preview\\\"],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/components/user-threads/preview.js\",\n \"scope\": () => [_replaceEmoji.default, _template.htmlSafe],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ThreadPreview;\n});","define(\"discourse/plugins/chat/discourse/connectors/above-site-header/chat-body-class\", [\"exports\", \"@glimmer/component\", \"@ember/service\", \"discourse/helpers/body-class\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _service, _bodyClass, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatBodyClass extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"chatStateManager\", [_service.service]))();\n #chatStateManager = (() => (dt7948.i(this, \"chatStateManager\"), void 0))();\n static #_2 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if this.chatStateManager.hasPreloadedChannels}}\n {{bodyClass \"has-preloaded-chat-channels\"}}\n {{/if}}\n \n */\n {\n \"id\": \"9oA6S80b\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"chatStateManager\\\",\\\"hasPreloadedChannels\\\"]],[[[1,\\\" \\\"],[1,[28,[32,0],[\\\"has-preloaded-chat-channels\\\"],null]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/connectors/above-site-header/chat-body-class.js\",\n \"scope\": () => [_bodyClass.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatBodyClass;\n});","define(\"discourse/plugins/chat/discourse/connectors/below-footer/chat-drawer-outlet\", [\"exports\", \"discourse/plugins/chat/discourse/components/chat-drawer\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _chatDrawer, _component, _templateFactory, _templateOnly) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const ChatDrawerOutlet = (0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n \n */\n {\n \"id\": \"S8OPtCwD\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"below-footer-outlet chat-drawer-outlet\\\"],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"chat-drawer-outlet-container\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,0],null,null,null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/connectors/below-footer/chat-drawer-outlet.js\",\n \"scope\": () => [_chatDrawer.default],\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, \"chat-drawer-outlet:ChatDrawerOutlet\"));\n var _default = _exports.default = ChatDrawerOutlet;\n});","define(\"discourse/plugins/chat/discourse/connectors/below-footer/chat-message-actions-desktop-outlet\", [\"exports\", \"discourse/plugins/chat/discourse/components/chat-message-actions-desktop\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _chatMessageActionsDesktop, _component, _templateFactory, _templateOnly) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const ChatMessageActionsDesktopOutlet = (0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n \n */\n {\n \"id\": \"eGaPVkOX\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"below-footer-outlet chat-message-actions-desktop-outlet\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,0],null,null,null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/connectors/below-footer/chat-message-actions-desktop-outlet.js\",\n \"scope\": () => [_chatMessageActionsDesktop.default],\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, \"chat-message-actions-desktop-outlet:ChatMessageActionsDesktopOutlet\"));\n var _default = _exports.default = ChatMessageActionsDesktopOutlet;\n});","define(\"discourse/plugins/chat/discourse/connectors/chat-composer-inline-buttons/emoji-picker\", [\"exports\", \"@glimmer/component\", \"@ember/service\", \"discourse/components/emoji-picker\", \"discourse/plugins/chat/discourse/components/chat/composer/separator\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _service, _emojiPicker, _separator, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatEmojiPicker extends _component.default {\n static #_ = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n static #_2 = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if this.site.desktopView}}\n \n \n \n {{/if}}\n \n */\n {\n \"id\": \"xMVkBlXu\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"site\\\",\\\"desktopView\\\"]],[[[1,\\\" \\\"],[8,[32,0],null,[[\\\"@didSelectEmoji\\\",\\\"@btnClass\\\",\\\"@context\\\"],[[30,1,[\\\"composer\\\",\\\"onSelectEmoji\\\"]],\\\"chat-composer-button btn-transparent -emoji\\\",\\\"chat\\\"]],null],[1,\\\"\\\\n\\\\n \\\"],[8,[32,1],null,null,null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"]],[\\\"@outletArgs\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/connectors/chat-composer-inline-buttons/emoji-picker.js\",\n \"scope\": () => [_emojiPicker.default, _separator.default],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatEmojiPicker;\n});","define(\"discourse/plugins/chat/discourse/connectors/home-logo-wrapper/chat-header-connector\", [\"exports\", \"discourse/plugins/chat/discourse/components/chat-header\"], function (_exports, _chatHeader) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _chatHeader.default;\n }\n });\n});","define(\"discourse/plugins/chat/discourse/connectors/user-card-below-message-button/chat-button\", [\"exports\", \"discourse/plugins/chat/discourse/components/chat/direct-message-button\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _directMessageButton, _component, _templateFactory, _templateOnly) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const ChatButton = (0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if @outletArgs.user.can_chat_user}}\n
  • \n \n
  • \n {{/if}}\n \n */\n {\n \"id\": \"qtAoYWXQ\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"user\\\",\\\"can_chat_user\\\"]],[[[1,\\\" \\\"],[10,\\\"li\\\"],[14,0,\\\"user-card-below-message-button chat-button\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,0],null,[[\\\"@user\\\",\\\"@modal\\\"],[[30,1,[\\\"user\\\"]],true]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null]],[\\\"@outletArgs\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/connectors/user-card-below-message-button/chat-button.js\",\n \"scope\": () => [_directMessageButton.default],\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, \"chat-button:ChatButton\"));\n var _default = _exports.default = ChatButton;\n});","define(\"discourse/plugins/chat/discourse/connectors/user-preferences-nav/chat-preferences\", [\"exports\", \"@glimmer/component\", \"@ember/routing\", \"discourse/helpers/d-icon\", \"discourse-i18n\", \"@ember/component\", \"@ember/template-factory\"], function (_exports, _component, _routing, _dIcon, _discourseI18n, _component2, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatPreferences extends _component.default {\n static shouldRender(_ref, _ref2) {\n let {\n model\n } = _ref;\n let {\n siteSettings,\n currentUser\n } = _ref2;\n return siteSettings.chat_enabled && (model.can_chat || currentUser?.admin);\n }\n static #_ = (() => (0, _component2.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
  • \n \n {{icon \"d-chat\"}}\n {{i18n \"chat.title_capitalized\"}}\n \n
  • \n \n */\n {\n \"id\": \"xAutR0Eb\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,\\\"li\\\"],[14,0,\\\"user-nav__preferences-chat\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,0],null,[[\\\"@route\\\"],[\\\"preferences.chat\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[1,[28,[32,1],[\\\"d-chat\\\"],null]],[1,\\\"\\\\n \\\"],[10,1],[12],[1,[28,[32,2],[\\\"chat.title_capitalized\\\"],null]],[13],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/connectors/user-preferences-nav/chat-preferences.js\",\n \"scope\": () => [_routing.LinkTo, _dIcon.default, _discourseI18n.i18n],\n \"isStrictMode\": true\n }), this))();\n }\n _exports.default = ChatPreferences;\n});","define(\"discourse/plugins/chat/discourse/connectors/user-profile-controls/chat-button\", [\"exports\", \"discourse/plugins/chat/discourse/components/chat/direct-message-button\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _directMessageButton, _component, _templateFactory, _templateOnly) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const ChatButton = (0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n {{#if @outletArgs.model.can_chat_user}}\n
  • \n \n
  • \n {{/if}}\n \n */\n {\n \"id\": \"P657XpK3\",\n \"block\": \"[[[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"model\\\",\\\"can_chat_user\\\"]],[[[1,\\\" \\\"],[10,\\\"li\\\"],[14,0,\\\"user-card-below-message-button chat-button\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,0],null,[[\\\"@user\\\"],[[30,1,[\\\"model\\\"]]]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null]],[\\\"@outletArgs\\\"],false,[\\\"if\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/connectors/user-profile-controls/chat-button.js\",\n \"scope\": () => [_directMessageButton.default],\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, \"chat-button:ChatButton\"));\n var _default = _exports.default = ChatButton;\n});","define(\"discourse/plugins/chat/discourse/controllers/chat-channel-index\", [\"exports\", \"@ember/controller\"], function (_exports, _controller) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatChannelIndexController extends _controller.default {}\n _exports.default = ChatChannelIndexController;\n});","define(\"discourse/plugins/chat/discourse/controllers/chat-channel-thread\", [\"exports\", \"@glimmer/tracking\", \"@ember/controller\", \"@ember/service\"], function (_exports, _tracking, _controller, _service) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatChannelThreadController extends _controller.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"targetMessageId\", [_tracking.tracked], function () {\n return null;\n }))();\n #targetMessageId = (() => (dt7948.i(this, \"targetMessageId\"), void 0))();\n }\n _exports.default = ChatChannelThreadController;\n});","define(\"discourse/plugins/chat/discourse/controllers/chat-channel\", [\"exports\", \"@glimmer/tracking\", \"@ember/controller\", \"@ember/service\"], function (_exports, _tracking, _controller, _service) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatChannelController extends _controller.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"targetMessageId\", [_tracking.tracked], function () {\n return null;\n }))();\n #targetMessageId = (() => (dt7948.i(this, \"targetMessageId\"), void 0))();\n // Backwards-compatibility\n queryParams = [\"messageId\"];\n }\n _exports.default = ChatChannelController;\n});","define(\"discourse/plugins/chat/discourse/controllers/chat-draft-channel\", [\"exports\", \"@ember/controller\", \"@ember/service\"], function (_exports, _controller, _service) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatDraftChannelController extends _controller.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n }\n _exports.default = ChatDraftChannelController;\n});","define(\"discourse/plugins/chat/discourse/controllers/chat-index\", [\"exports\", \"@ember/controller\", \"@ember/service\"], function (_exports, _controller, _service) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatIndexController extends _controller.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n }\n _exports.default = ChatIndexController;\n});","define(\"discourse/plugins/chat/discourse/controllers/chat-new-message\", [\"exports\", \"@ember/controller\"], function (_exports, _controller) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatNewMessageController extends _controller.default {\n queryParams = [\"recipients\"];\n }\n _exports.default = ChatNewMessageController;\n});","define(\"discourse/plugins/chat/discourse/controllers/chat\", [\"exports\", \"@ember/controller\", \"@ember/service\", \"discourse/plugins/chat/discourse/lib/chat-constants\"], function (_exports, _controller, _service, _chatConstants) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatController extends _controller.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"chatStateManager\", [_service.service]))();\n #chatStateManager = (() => (dt7948.i(this, \"chatStateManager\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"chatChannelsManager\", [_service.service]))();\n #chatChannelsManager = (() => (dt7948.i(this, \"chatChannelsManager\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n get shouldUseChatSidebar() {\n if (this.site.mobileView) {\n return false;\n }\n if (this.shouldUseCoreSidebar) {\n return false;\n }\n return true;\n }\n get publicMessageChannelsEmpty() {\n return this.chatChannelsManager.publicMessageChannels?.length === 0 && this.chatStateManager.hasPreloadedChannels;\n }\n get shouldUseCoreSidebar() {\n return this.siteSettings.navigation_menu === \"sidebar\";\n }\n get enabledRouteCount() {\n return [this.siteSettings.chat_threads_enabled, this.chat.userCanAccessDirectMessages, this.siteSettings.enable_public_channels].filter(Boolean).length;\n }\n get shouldUseChatFooter() {\n return _chatConstants.FOOTER_NAV_ROUTES.includes(this.router.currentRouteName) && this.enabledRouteCount > 1;\n }\n get mainOutletModifierClasses() {\n let modifierClasses = [];\n if (this.chatStateManager.isSidePanelExpanded) {\n modifierClasses.push(\"has-side-panel-expanded\");\n }\n if (!this.router.currentRouteName.startsWith(\"chat.channel.info\") && !this.router.currentRouteName.startsWith(\"chat.browse\")) {\n modifierClasses.push(\"chat-view\");\n }\n return modifierClasses.join(\" \");\n }\n }\n _exports.default = ChatController;\n});","define(\"discourse/plugins/chat/discourse/controllers/preferences-chat\", [\"exports\", \"@ember/controller\", \"@ember/object\", \"@ember/service\", \"discourse/lib/ajax-error\", \"discourse/lib/decorators\", \"discourse/lib/environment\", \"discourse/lib/keyboard-shortcuts\", \"discourse/lib/utilities\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/services/chat-audio-manager\"], function (_exports, _controller, _object, _service, _ajaxError, _decorators, _environment, _keyboardShortcuts, _utilities, _discourseI18n, _chatAudioManager3) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = _exports.HEADER_INDICATOR_PREFERENCE_ONLY_MENTIONS = _exports.HEADER_INDICATOR_PREFERENCE_NEVER = _exports.HEADER_INDICATOR_PREFERENCE_DM_AND_MENTIONS = _exports.HEADER_INDICATOR_PREFERENCE_ALL_NEW = _exports.CHAT_QUICK_REACTIONS_CUSTOM_DEFAULT = void 0;\n const CHAT_ATTRS = [\"chat_enabled\", \"only_chat_push_notifications\", \"ignore_channel_wide_mention\", \"show_thread_title_prompts\", \"chat_sound\", \"chat_email_frequency\", \"chat_header_indicator_preference\", \"chat_separate_sidebar_mode\", \"chat_send_shortcut\", \"chat_quick_reaction_type\", \"chat_quick_reactions_custom\"];\n const CHAT_QUICK_REACTIONS_CUSTOM_DEFAULT = _exports.CHAT_QUICK_REACTIONS_CUSTOM_DEFAULT = \"heart|+1|smile\";\n const HEADER_INDICATOR_PREFERENCE_NEVER = _exports.HEADER_INDICATOR_PREFERENCE_NEVER = \"never\";\n const HEADER_INDICATOR_PREFERENCE_DM_AND_MENTIONS = _exports.HEADER_INDICATOR_PREFERENCE_DM_AND_MENTIONS = \"dm_and_mentions\";\n const HEADER_INDICATOR_PREFERENCE_ALL_NEW = _exports.HEADER_INDICATOR_PREFERENCE_ALL_NEW = \"all_new\";\n const HEADER_INDICATOR_PREFERENCE_ONLY_MENTIONS = _exports.HEADER_INDICATOR_PREFERENCE_ONLY_MENTIONS = \"only_mentions\";\n class PreferencesChatController extends _controller.default {\n static #_ = (() => dt7948.g(this.prototype, \"chatAudioManager\", [_service.service]))();\n #chatAudioManager = (() => (dt7948.i(this, \"chatAudioManager\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n subpageTitle = (() => (0, _discourseI18n.i18n)(\"chat.admin.title\"))();\n chatQuickReactionTypes = (() => [{\n label: (0, _discourseI18n.i18n)(\"chat.quick_reaction_type.options.frequent\"),\n value: \"frequent\"\n }, {\n label: (0, _discourseI18n.i18n)(\"chat.quick_reaction_type.options.custom\"),\n value: \"custom\"\n }])();\n chatSendShortcutOptions = (() => [{\n label: (0, _discourseI18n.i18n)(\"chat.send_shortcut.enter.label\"),\n value: \"enter\",\n description: (0, _discourseI18n.i18n)(\"chat.send_shortcut.enter.description\")\n }, {\n label: (0, _discourseI18n.i18n)(\"chat.send_shortcut.meta_enter.label\", {\n meta_key: (0, _utilities.translateModKey)(_keyboardShortcuts.PLATFORM_KEY_MODIFIER)\n }),\n value: \"meta_enter\",\n description: (0, _discourseI18n.i18n)(\"chat.send_shortcut.meta_enter.description\")\n }])();\n emailFrequencyOptions = (() => [{\n name: (0, _discourseI18n.i18n)(\"chat.email_frequency.never\"),\n value: \"never\"\n }, {\n name: (0, _discourseI18n.i18n)(\"chat.email_frequency.when_away\"),\n value: \"when_away\"\n }])();\n headerIndicatorOptions = (() => [{\n name: (0, _discourseI18n.i18n)(\"chat.header_indicator_preference.all_new\"),\n value: HEADER_INDICATOR_PREFERENCE_ALL_NEW\n }, {\n name: (0, _discourseI18n.i18n)(\"chat.header_indicator_preference.dm_and_mentions\"),\n value: HEADER_INDICATOR_PREFERENCE_DM_AND_MENTIONS\n }, {\n name: (0, _discourseI18n.i18n)(\"chat.header_indicator_preference.only_mentions\"),\n value: HEADER_INDICATOR_PREFERENCE_ONLY_MENTIONS\n }, {\n name: (0, _discourseI18n.i18n)(\"chat.header_indicator_preference.never\"),\n value: HEADER_INDICATOR_PREFERENCE_NEVER\n }])();\n chatSeparateSidebarModeOptions = (() => [{\n name: (0, _discourseI18n.i18n)(\"admin.site_settings.chat_separate_sidebar_mode.always\"),\n value: \"always\"\n }, {\n name: (0, _discourseI18n.i18n)(\"admin.site_settings.chat_separate_sidebar_mode.fullscreen\"),\n value: \"fullscreen\"\n }, {\n name: (0, _discourseI18n.i18n)(\"admin.site_settings.chat_separate_sidebar_mode.never\"),\n value: \"never\"\n }])();\n get chatSeparateSidebarMode() {\n const mode = this.model.get(\"user_option.chat_separate_sidebar_mode\");\n if (mode === \"default\") {\n return this.siteSettings.chat_separate_sidebar_mode;\n } else {\n return mode;\n }\n }\n get chatSendShortcut() {\n return this.model.get(\"user_option.chat_send_shortcut\");\n }\n get chatQuickReactionsCustom() {\n const emojis = this.model.get(\"user_option.chat_quick_reactions_custom\") || CHAT_QUICK_REACTIONS_CUSTOM_DEFAULT;\n return emojis.split(\"|\");\n }\n chatSounds() {\n return Object.keys(_chatAudioManager3.CHAT_SOUNDS).map(value => {\n return {\n name: (0, _discourseI18n.i18n)(`chat.sounds.${value}`),\n value\n };\n });\n }\n static #_3 = (() => dt7948.n(this.prototype, \"chatSounds\", [_decorators.default]))();\n onChangeChatSound(sound) {\n if (sound) {\n this.chatAudioManager.play(sound);\n }\n this.model.set(\"user_option.chat_sound\", sound);\n }\n static #_4 = (() => dt7948.n(this.prototype, \"onChangeChatSound\", [_object.action]))();\n onChangeQuickReactionType(value) {\n this.model.set(\"user_option.chat_quick_reaction_type\", value);\n if (value === \"custom\") {\n this.model.set(\"user_option.chat_quick_reactions_custom\", this.chatQuickReactionsCustom.join(\"|\"));\n }\n }\n static #_5 = (() => dt7948.n(this.prototype, \"onChangeQuickReactionType\", [_object.action]))();\n didSelectEmoji(index, selected) {\n let emoji = this.chatQuickReactionsCustom;\n emoji[index] = selected;\n this.model.set(\"user_option.chat_quick_reactions_custom\", emoji.join(\"|\"));\n }\n static #_6 = (() => dt7948.n(this.prototype, \"didSelectEmoji\", [_object.action]))();\n save() {\n this.set(\"saved\", false);\n return this.model.save(CHAT_ATTRS).then(() => {\n this.set(\"saved\", true);\n if (!(0, _environment.isTesting)()) {\n location.reload();\n }\n }).catch(_ajaxError.popupAjaxError);\n }\n static #_7 = (() => dt7948.n(this.prototype, \"save\", [_object.action]))();\n }\n _exports.default = PreferencesChatController;\n});","define(\"discourse/plugins/chat/discourse/helpers/chat-guardian\", [\"exports\", \"@ember/component/helper\", \"@ember/service\", \"@ember/string\"], function (_exports, _helper, _service, _string) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatGuardianHelper extends _helper.default {\n static #_ = (() => dt7948.g(this.prototype, \"chatGuardian\", [_service.service]))();\n #chatGuardian = (() => (dt7948.i(this, \"chatGuardian\"), void 0))();\n compute(inputs) {\n const [key, ...params] = inputs;\n if (!key) {\n return;\n }\n return this.chatGuardian[(0, _string.camelize)(key)]?.(...params);\n }\n }\n _exports.default = ChatGuardianHelper;\n});","define(\"discourse/plugins/chat/discourse/helpers/first-visible-message-id\", [\"exports\", \"discourse/plugins/chat/discourse/lib/check-message-visibility\"], function (_exports, _checkMessageVisibility) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = firstVisibleMessageId;\n function firstVisibleMessageId(container) {\n let _found;\n const messages = container.querySelectorAll(\":scope .chat-messages-container > [data-id]\");\n for (let i = messages.length - 1; i >= 0; i--) {\n const message = messages[i];\n if ((0, _checkMessageVisibility.checkMessageBottomVisibility)(container, message)) {\n _found = message;\n break;\n }\n }\n const id = _found?.dataset?.id;\n return id ? parseInt(id, 10) : null;\n }\n});","define(\"discourse/plugins/chat/discourse/helpers/format-chat-date\", [\"exports\", \"@ember/template\", \"discourse/lib/get-url\", \"discourse/models/user\", \"discourse-i18n\"], function (_exports, _template, _getUrl, _user, _discourseI18n) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = formatChatDate;\n function formatChatDate(message) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const currentUser = _user.default.current();\n const tz = currentUser ? currentUser.user_option.timezone : moment.tz.guess();\n const date = moment(new Date(message.createdAt), tz);\n const title = date.format((0, _discourseI18n.i18n)(\"dates.long_with_year\"));\n const display = options.mode === \"tiny\" ? date.format((0, _discourseI18n.i18n)(\"dates.time_short\")) : date.format((0, _discourseI18n.i18n)(\"dates.time\"));\n if (message.staged) {\n return (0, _template.htmlSafe)(`${display}`);\n } else {\n let url;\n if (options.threadContext) {\n url = (0, _getUrl.default)(`/chat/c/-/${message.channel.id}/t/${message.thread.id}/${message.id}`);\n } else {\n url = (0, _getUrl.default)(`/chat/c/-/${message.channel.id}/${message.id}`);\n }\n return (0, _template.htmlSafe)(`${display}`);\n }\n }\n});","define(\"discourse/plugins/chat/discourse/initializers/chat-audio\", [\"exports\", \"discourse/lib/plugin-api\", \"discourse/lib/utilities\", \"discourse/plugins/chat/discourse/lib/chat-constants\"], function (_exports, _pluginApi, _utilities, _chatConstants) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const MENTION = 29;\n const MESSAGE = 30;\n const CHAT_NOTIFICATION_TYPES = [MENTION, MESSAGE];\n var _default = _exports.default = {\n name: \"chat-audio\",\n initialize(container) {\n const chat = container.lookup(\"service:chat\");\n if (!chat.userCanChat) {\n return;\n }\n this.canPlaySound = async () => {\n return await (0, _utilities.isPrimaryTab)();\n };\n (0, _pluginApi.withPluginApi)(\"0.12.1\", api => {\n api.registerDesktopNotificationHandler((data, siteSettings, user) => {\n const indicatorType = user.user_option.chat_header_indicator_preference;\n const isMention = data.notification_type === MENTION;\n if (user.isInDoNotDisturb()) {\n return;\n }\n if (!user.chat_sound || indicatorType === _chatConstants.INDICATOR_PREFERENCES.never) {\n return;\n }\n if (indicatorType === _chatConstants.INDICATOR_PREFERENCES.only_mentions && !isMention) {\n return;\n }\n if (indicatorType === _chatConstants.INDICATOR_PREFERENCES.dm_and_mentions && !data.is_direct_message_channel && !isMention) {\n return;\n }\n if (CHAT_NOTIFICATION_TYPES.includes(data.notification_type)) {\n this.canPlaySound().then(success => {\n if (success) {\n const chatAudioManager = container.lookup(\"service:chat-audio-manager\");\n chatAudioManager.play(user.chat_sound);\n }\n });\n }\n });\n });\n }\n };\n});","define(\"discourse/plugins/chat/discourse/initializers/chat-decorators\", [\"exports\", \"discourse/instance-initializers/onebox-decorators\", \"discourse/lib/get-url\", \"discourse/lib/hashtag-decorator\", \"discourse/lib/highlight-syntax\", \"discourse/lib/plugin-api\", \"discourse/lib/url\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/lib/lightbox\"], function (_exports, _oneboxDecorators, _getUrl, _hashtagDecorator, _highlightSyntax, _pluginApi, _url, _discourseI18n, _lightbox) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = _exports.default = {\n name: \"chat-decorators\",\n initializeWithPluginApi(api, container) {\n const siteSettings = container.lookup(\"service:site-settings\");\n const site = container.lookup(\"service:site\");\n api.decorateChatMessage(element => (0, _oneboxDecorators.decorateGithubOneboxBody)(element), {\n id: \"onebox-github-body\"\n });\n api.decorateChatMessage(element => {\n element.querySelectorAll(\".onebox.githubblob li.selected\").forEach(line => {\n const scrollingElement = this._getScrollParent(line, \"onebox\");\n\n // most likely a very small file which doesn’t need scrolling\n if (!scrollingElement) {\n return;\n }\n const scrollBarWidth = scrollingElement.offsetHeight - scrollingElement.clientHeight;\n scrollingElement.scroll({\n top: line.offsetTop + scrollBarWidth - scrollingElement.offsetHeight / 2 + line.offsetHeight / 2\n });\n });\n }, {\n id: \"onebox-github-scrolling\"\n });\n api.decorateChatMessage(element => (0, _highlightSyntax.default)(element, siteSettings, container.lookup(\"service:session\")), {\n id: \"highlightSyntax\"\n });\n api.decorateChatMessage(this.renderChatTranscriptDates, {\n id: \"transcriptDates\"\n });\n api.decorateChatMessage(this.forceLinksToOpenNewTab, {\n id: \"linksNewTab\"\n });\n api.decorateChatMessage(element => (0, _lightbox.default)(element.querySelectorAll(\"img:not(.emoji, .avatar)\")), {\n id: \"lightbox\"\n });\n api.decorateChatMessage(element => (0, _hashtagDecorator.decorateHashtags)(element, site), {\n id: \"hashtagIcons\"\n });\n },\n _getScrollParent(node, maxParentSelector) {\n if (node === null || node.classList.contains(maxParentSelector)) {\n return null;\n }\n if (node.scrollHeight > node.clientHeight) {\n return node;\n } else {\n return this._getScrollParent(node.parentNode, maxParentSelector);\n }\n },\n renderChatTranscriptDates(element) {\n element.querySelectorAll(\".chat-transcript\").forEach(transcriptEl => {\n const dateTimeRaw = transcriptEl.dataset[\"datetime\"];\n const dateTimeLinkEl = transcriptEl.querySelector(\".chat-transcript-datetime a\");\n\n // we only show date for first message\n if (!dateTimeLinkEl) {\n return;\n }\n if (dateTimeLinkEl.innerText !== \"\") {\n // same as highlight, no need to do this for every single message every time\n // any message changes\n return;\n }\n dateTimeLinkEl.innerText = moment(dateTimeRaw).format((0, _discourseI18n.i18n)(\"dates.long_no_year\"));\n });\n },\n forceLinksToOpenNewTab(element) {\n const links = element.querySelectorAll(\"a:not([target]), a[target]:not([target='_blank'])\");\n for (let linkIndex = 0; linkIndex < links.length; linkIndex++) {\n const link = links[linkIndex];\n if (!_url.default.isInternal(link.href) || !(0, _getUrl.samePrefix)(link.href)) {\n link.setAttribute(\"target\", \"_blank\");\n }\n }\n },\n initialize(container) {\n if (container.lookup(\"service:chat\").userCanChat) {\n (0, _pluginApi.withPluginApi)(\"0.8.42\", api => this.initializeWithPluginApi(api, container));\n }\n }\n };\n});","define(\"discourse/plugins/chat/discourse/initializers/chat-keyboard-shortcuts\", [\"exports\", \"discourse/lib/keyboard-shortcuts\", \"discourse/lib/plugin-api\", \"discourse/plugins/chat/discourse/components/chat/modal/new-message\"], function (_exports, _keyboardShortcuts, _pluginApi, _newMessage) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = _exports.default = {\n name: \"chat-keyboard-shortcuts\",\n initialize(container) {\n const chatService = container.lookup(\"service:chat\");\n if (!chatService.userCanChat) {\n return;\n }\n const router = container.lookup(\"service:router\");\n const appEvents = container.lookup(\"service:app-events\");\n const modal = container.lookup(\"service:modal\");\n const chatStateManager = container.lookup(\"service:chat-state-manager\");\n const chatThreadPane = container.lookup(\"service:chat-thread-pane\");\n const chatThreadListPane = container.lookup(\"service:chat-thread-list-pane\");\n const chatChannelsManager = container.lookup(\"service:chat-channels-manager\");\n const openQuickChannelSelector = e => {\n if (isInputSelection(event.target) && !isChatComposer(event.target)) {\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n modal.show(_newMessage.default);\n };\n const handleMoveUpShortcut = e => {\n e.preventDefault();\n e.stopPropagation();\n chatService.switchChannelUpOrDown(\"up\");\n };\n const handleMoveDownShortcut = e => {\n e.preventDefault();\n e.stopPropagation();\n chatService.switchChannelUpOrDown(\"down\");\n };\n const handleMoveUpUnreadShortcut = e => {\n e.preventDefault();\n e.stopPropagation();\n chatService.switchChannelUpOrDown(\"up\", true);\n };\n const handleMoveDownUnreadShortcut = e => {\n e.preventDefault();\n e.stopPropagation();\n chatService.switchChannelUpOrDown(\"down\", true);\n };\n const isChatComposer = el => el.classList.contains(\"chat-composer__input\");\n const isInputSelection = el => {\n const inputs = [\"input\", \"textarea\", \"select\", \"button\"];\n const elementTagName = el?.tagName.toLowerCase();\n return inputs.includes(elementTagName) || !!el?.closest('[contenteditable=\"true\"]');\n };\n const modifyComposerSelection = (event, type) => {\n if (!isChatComposer(event.target)) {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n appEvents.trigger(\"chat:modify-selection\", event, {\n type,\n context: event.target.dataset.chatComposerContext\n });\n };\n const openInsertLinkModal = event => {\n if (!isChatComposer(event.target)) {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n appEvents.trigger(\"chat:open-insert-link-modal\", event, {\n context: event.target.dataset.chatComposerContext\n });\n };\n const openChatDrawer = event => {\n if (isInputSelection(event.target)) {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n chatStateManager.prefersDrawer();\n router.transitionTo(chatStateManager.lastKnownChatURL || \"chat\");\n };\n const closeChat = event => {\n // TODO (joffrey): removes this when we move from magnific popup\n // there's no proper way to prevent propagation in mfp\n if (event.srcElement?.classList?.value?.includes(\"mfp-wrap\")) {\n return;\n }\n if (chatStateManager.isDrawerActive) {\n event.preventDefault();\n event.stopPropagation();\n appEvents.trigger(\"chat:toggle-close\", event);\n return;\n }\n if (chatThreadPane.isOpened) {\n event.preventDefault();\n event.stopPropagation();\n chatThreadPane.close();\n return;\n }\n if (chatThreadListPane.isOpened) {\n event.preventDefault();\n event.stopPropagation();\n chatThreadListPane.close();\n return;\n }\n };\n const markAllChannelsRead = event => {\n event.preventDefault();\n event.stopPropagation();\n if (chatStateManager.isActive) {\n chatChannelsManager.markAllChannelsRead();\n }\n };\n (0, _pluginApi.withPluginApi)(\"0.12.1\", api => {\n api.addKeyboardShortcut(`${_keyboardShortcuts.PLATFORM_KEY_MODIFIER}+k`, openQuickChannelSelector, {\n global: true,\n help: {\n category: \"chat\",\n name: \"chat.keyboard_shortcuts.open_quick_channel_selector\",\n definition: {\n keys1: [\"meta\", \"k\"],\n keysDelimiter: \"plus\"\n }\n }\n });\n api.addKeyboardShortcut(\"alt+up\", handleMoveUpShortcut, {\n global: true,\n help: {\n category: \"chat\",\n name: \"chat.keyboard_shortcuts.switch_channel_arrows\",\n definition: {\n keys1: [\"alt\", \"↑\"],\n keys2: [\"alt\", \"↓\"],\n keysDelimiter: \"plus\",\n shortcutsDelimiter: \"slash\"\n }\n }\n });\n api.addKeyboardShortcut(\"alt+down\", handleMoveDownShortcut, {\n global: true\n });\n api.addKeyboardShortcut(\"alt+shift+up\", handleMoveUpUnreadShortcut, {\n global: true,\n help: {\n category: \"chat\",\n name: \"chat.keyboard_shortcuts.switch__unread_channel_arrows\",\n definition: {\n keys1: [\"alt\", \"shift\", \"↑\"],\n keys2: [\"alt\", \"shift\", \"↓\"],\n keysDelimiter: \"plus\",\n shortcutsDelimiter: \"newline\"\n }\n }\n });\n api.addKeyboardShortcut(\"alt+shift+down\", handleMoveDownUnreadShortcut, {\n global: true\n });\n api.addKeyboardShortcut(`${_keyboardShortcuts.PLATFORM_KEY_MODIFIER}+b`, event => modifyComposerSelection(event, \"bold\"), {\n global: true,\n help: {\n category: \"chat\",\n name: \"chat.keyboard_shortcuts.composer_bold\",\n definition: {\n keys1: [\"meta\", \"b\"],\n keysDelimiter: \"plus\"\n }\n }\n });\n api.addKeyboardShortcut(`${_keyboardShortcuts.PLATFORM_KEY_MODIFIER}+i`, event => modifyComposerSelection(event, \"italic\"), {\n global: true,\n help: {\n category: \"chat\",\n name: \"chat.keyboard_shortcuts.composer_italic\",\n definition: {\n keys1: [\"meta\", \"i\"],\n keysDelimiter: \"plus\"\n }\n }\n });\n api.addKeyboardShortcut(`${_keyboardShortcuts.PLATFORM_KEY_MODIFIER}+e`, event => modifyComposerSelection(event, \"code\"), {\n global: true,\n help: {\n category: \"chat\",\n name: \"chat.keyboard_shortcuts.composer_code\",\n definition: {\n keys1: [\"meta\", \"e\"],\n keysDelimiter: \"plus\"\n }\n }\n });\n api.addKeyboardShortcut(`${_keyboardShortcuts.PLATFORM_KEY_MODIFIER}+l`, event => openInsertLinkModal(event), {\n global: true,\n help: {\n category: \"chat\",\n name: \"chat.keyboard_shortcuts.open_insert_link_modal\",\n definition: {\n keys1: [\"meta\", \"l\"],\n keysDelimiter: \"plus\"\n }\n }\n });\n api.addKeyboardShortcut(`-`, event => openChatDrawer(event), {\n global: true,\n help: {\n category: \"chat\",\n name: \"chat.keyboard_shortcuts.drawer_open\",\n definition: {\n keys1: [\"-\"]\n }\n }\n });\n api.addKeyboardShortcut(\"esc\", event => closeChat(event), {\n global: true,\n help: {\n category: \"chat\",\n name: \"chat.keyboard_shortcuts.drawer_close\",\n definition: {\n keys1: [\"esc\"]\n }\n }\n });\n api.addKeyboardShortcut(`shift+esc`, event => markAllChannelsRead(event), {\n global: true,\n help: {\n category: \"chat\",\n name: \"chat.keyboard_shortcuts.mark_all_channels_read\",\n definition: {\n keys1: [\"shift\", \"esc\"],\n keysDelimiter: \"plus\"\n }\n }\n });\n });\n }\n };\n});","define(\"discourse/plugins/chat/discourse/initializers/chat-plugin-decorators\", [\"exports\", \"discourse/lib/local-dates\", \"discourse/lib/plugin-api\"], function (_exports, _localDates, _pluginApi) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = _exports.default = {\n name: \"chat-plugin-decorators\",\n initializeWithPluginApi(api, siteSettings) {\n api.decorateChatMessage(element => {\n (0, _localDates.applyLocalDates)(element.querySelectorAll(\".discourse-local-date\"), siteSettings);\n }, {\n id: \"local-dates\"\n });\n if (siteSettings.spoiler_enabled) {\n const applySpoiler = requirejs(\"discourse/plugins/spoiler-alert/lib/apply-spoiler\").default;\n api.decorateChatMessage(element => {\n element.querySelectorAll(\".spoiler\").forEach(spoiler => {\n spoiler.classList.remove(\"spoiler\");\n spoiler.classList.add(\"spoiled\");\n applySpoiler(spoiler);\n });\n }, {\n id: \"spoiler\"\n });\n }\n },\n initialize(container) {\n if (container.lookup(\"service:chat\").userCanChat) {\n const siteSettings = container.lookup(\"service:site-settings\");\n (0, _pluginApi.withPluginApi)(\"0.8.42\", api => {\n this.initializeWithPluginApi(api, siteSettings);\n });\n }\n }\n };\n});","define(\"discourse/plugins/chat/discourse/initializers/chat-setup\", [\"exports\", \"@ember/owner\", \"@ember/service\", \"discourse/components/emoji-picker/detached\", \"discourse/lib/decorators\", \"discourse/lib/formatter\", \"discourse/lib/get-owner\", \"discourse/lib/icon-library\", \"discourse/lib/plugin-api\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/lib/chat-composer-buttons\", \"discourse/plugins/chat/discourse/lib/hashtag-types/channel\", \"discourse/plugins/chat/lib/rich-editor-extension\", \"discourse/plugins/chat/discourse/components/chat/header/icon\", \"discourse/plugins/chat/discourse/components/styleguide/organisms/chat\"], function (_exports, _owner, _service, _detached, _decorators, _formatter, _getOwner, _iconLibrary, _pluginApi, _discourseI18n, _chatComposerButtons, _channel, _richEditorExtension, _icon, _chat) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n let _lastForcedRefreshAt;\n const MIN_REFRESH_DURATION_MS = 180000; // 3 minutes\n\n (0, _iconLibrary.replaceIcon)(\"d-chat\", \"comment\");\n class ChatSetupInit {\n static #_ = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"chatService\", [(0, _service.service)(\"chat\")]))();\n #chatService = (() => (dt7948.i(this, \"chatService\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"chatHistory\", [_service.service]))();\n #chatHistory = (() => (dt7948.i(this, \"chatHistory\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n static #_6 = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n static #_7 = (() => dt7948.g(this.prototype, \"appEvents\", [_service.service]))();\n #appEvents = (() => (dt7948.i(this, \"appEvents\"), void 0))();\n constructor(owner) {\n (0, _owner.setOwner)(this, owner);\n this.appEvents.on(\"discourse:focus-changed\", this, \"_handleFocusChanged\");\n (0, _pluginApi.withPluginApi)(\"0.12.1\", api => {\n api.addAboutPageActivity(\"chat_messages\", periods => {\n const count = periods[\"7_days\"];\n if (count) {\n return {\n icon: \"comment-dots\",\n class: \"chat-messages\",\n activityText: (0, _discourseI18n.i18n)(\"about.activities.chat_messages\", {\n count,\n formatted_number: (0, _formatter.number)(count)\n }),\n period: (0, _discourseI18n.i18n)(\"about.activities.periods.last_7_days\")\n };\n }\n });\n if (!this.chatService.userCanChat) {\n return;\n }\n api.onPageChange(path => {\n const route = this.router.recognize(path);\n if (route.name.startsWith(\"chat.\")) {\n this.chatHistory.visit(route);\n }\n });\n api.registerHashtagType(\"channel\", new _channel.default(owner));\n if (this.siteSettings.enable_emoji) {\n api.registerChatComposerButton({\n label: \"chat.emoji\",\n id: \"emoji\",\n class: \"chat-emoji-btn\",\n icon: \"face-smile\",\n position: \"dropdown\",\n displayed: owner.lookup(\"service:site\").mobileView,\n action(context) {\n const didSelectEmoji = emoji => {\n const composer = owner.lookup(`service:chat-${context}-composer`);\n composer.textarea.addText(composer.textarea.getSelected(), `:${emoji}:`);\n };\n owner.lookup(\"service:menu\").show(document.body, {\n identifier: \"emoji-picker\",\n groupIdentifier: \"emoji-picker\",\n component: _detached.default,\n modalForMobile: true,\n data: {\n context: \"chat\",\n didSelectEmoji\n }\n });\n }\n });\n }\n api.registerChatComposerButton({\n id: \"chat-upload-btn\",\n icon: \"far-image\",\n label: \"chat.upload\",\n position: \"dropdown\",\n action: \"uploadClicked\",\n dependentKeys: [\"canAttachUploads\"],\n displayed() {\n return this.canAttachUploads;\n }\n });\n if (this.siteSettings.discourse_local_dates_enabled) {\n api.registerChatComposerButton({\n label: \"discourse_local_dates.title\",\n id: \"local-dates\",\n class: \"chat-local-dates-btn\",\n icon: \"calendar-days\",\n position: \"dropdown\",\n action() {\n this.insertDiscourseLocalDate();\n }\n });\n }\n\n // we want to decorate the chat quote dates regardless\n // of whether the current user has chat enabled\n api.decorateCookedElement(elem => {\n const currentUser = (0, _getOwner.getOwnerWithFallback)(this).lookup(\"service:current-user\");\n const currentUserTimezone = currentUser?.user_option?.timezone;\n const chatTranscriptElements = elem.querySelectorAll(\".chat-transcript\");\n chatTranscriptElements.forEach(el => {\n const dateTimeRaw = el.dataset[\"datetime\"];\n const dateTimeEl = el.querySelector(\".chat-transcript-datetime a, .chat-transcript-datetime span\");\n if (currentUserTimezone) {\n dateTimeEl.innerText = moment.tz(dateTimeRaw, currentUserTimezone).format((0, _discourseI18n.i18n)(\"dates.long_no_year\"));\n } else {\n dateTimeEl.innerText = moment(dateTimeRaw).format((0, _discourseI18n.i18n)(\"dates.long_no_year\"));\n }\n dateTimeEl.dataset.dateFormatted = true;\n });\n });\n if (!this.chatService.userCanChat) {\n return;\n }\n document.body.classList.add(\"chat-enabled\");\n this.chatService.loadChannels();\n const chatNotificationManager = owner.lookup(\"service:chat-notification-manager\");\n chatNotificationManager.start();\n if (!this._registeredDocumentTitleCountCallback) {\n api.addDocumentTitleCounter(this.documentTitleCountCallback);\n this._registeredDocumentTitleCountCallback = true;\n }\n api.addCardClickListenerSelector(\".chat-drawer-outlet\");\n if (this.chatService.userCanChat) {\n api.headerIcons.add(\"chat\", _icon.default, {\n after: \"search\",\n before: \"hamburger\"\n });\n }\n api.addStyleguideSection?.({\n component: _chat.default,\n category: \"organisms\",\n id: \"chat\"\n });\n api.registerRichEditorExtension(_richEditorExtension.default);\n });\n }\n documentTitleCountCallback() {\n return this.chatService.getDocumentTitleCount();\n }\n static #_8 = (() => dt7948.n(this.prototype, \"documentTitleCountCallback\", [_decorators.bind]))();\n teardown() {\n this.appEvents.off(\"discourse:focus-changed\", this, \"_handleFocusChanged\");\n if (!this.chatService.userCanChat) {\n return;\n }\n _lastForcedRefreshAt = null;\n (0, _chatComposerButtons.clearChatComposerButtons)();\n }\n _handleFocusChanged(hasFocus) {\n if (!this.chatService.userCanChat) {\n return;\n }\n if (!hasFocus) {\n _lastForcedRefreshAt = Date.now();\n return;\n }\n _lastForcedRefreshAt = _lastForcedRefreshAt || Date.now();\n const duration = Date.now() - _lastForcedRefreshAt;\n if (duration <= MIN_REFRESH_DURATION_MS) {\n return;\n }\n _lastForcedRefreshAt = Date.now();\n }\n static #_9 = (() => dt7948.n(this.prototype, \"_handleFocusChanged\", [_decorators.bind]))();\n }\n var _default = _exports.default = {\n name: \"chat-setup\",\n before: \"hashtag-css-generator\",\n initialize(owner) {\n this.instance = new ChatSetupInit(owner);\n },\n teardown() {\n this.instance.teardown();\n this.instance = null;\n }\n };\n});","define(\"discourse/plugins/chat/discourse/initializers/chat-sidebar\", [\"exports\", \"@glimmer/tracking\", \"@ember/service\", \"@ember/string\", \"@ember/template\", \"discourse/components/user-status-message\", \"discourse/helpers/decorate-username-selector\", \"discourse/lib/avatar-utils\", \"discourse/lib/decorators\", \"discourse/lib/plugin-api\", \"discourse/lib/text\", \"discourse/lib/utilities\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/chat/modal/new-message\", \"discourse/plugins/chat/discourse/lib/init-sidebar-state\"], function (_exports, _tracking, _service, _string, _template, _userStatusMessage, _decorateUsernameSelector, _avatarUtils, _decorators, _pluginApi, _text, _utilities, _discourseI18n, _newMessage, _initSidebarState) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = _exports.default = {\n name: \"chat-sidebar\",\n initialize(container) {\n this.chatService = container.lookup(\"service:chat\");\n if (!this.chatService.userCanChat) {\n return;\n }\n this.siteSettings = container.lookup(\"service:site-settings\");\n this.currentUser = container.lookup(\"service:current-user\");\n (0, _pluginApi.withPluginApi)(\"1.8.0\", api => {\n const chatStateManager = container.lookup(\"service:chat-state-manager\");\n api.addSidebarPanel(BaseCustomSidebarPanel => class ChatSidebarPanel extends BaseCustomSidebarPanel {\n key = (() => _initSidebarState.CHAT_PANEL)();\n switchButtonLabel = (() => (0, _discourseI18n.i18n)(\"sidebar.panels.chat.label\"))();\n switchButtonIcon = \"d-chat\";\n get switchButtonDefaultUrl() {\n return chatStateManager.lastKnownChatURL || \"/chat\";\n }\n });\n (0, _initSidebarState.initSidebarState)(api, api.getCurrentUser());\n });\n (0, _pluginApi.withPluginApi)(\"1.3.0\", api => {\n const chatChannelsManager = container.lookup(\"service:chat-channels-manager\");\n const chatStateManager = container.lookup(\"service:chat-state-manager\");\n api.addSidebarSection((BaseCustomSidebarSection, BaseCustomSidebarSectionLink) => {\n const SidebarChatMyThreadsSectionLink = class extends BaseCustomSidebarSectionLink {\n route = \"chat.threads\";\n text = (() => (0, _discourseI18n.i18n)(\"chat.my_threads.title\"))();\n title = (() => (0, _discourseI18n.i18n)(\"chat.my_threads.title\"))();\n name = \"user-threads\";\n prefixType = \"icon\";\n prefixValue = \"discourse-threads\";\n suffixType = \"icon\";\n constructor() {\n super(...arguments);\n if (container.isDestroyed) {\n return;\n }\n }\n get suffixValue() {\n return chatChannelsManager.allChannels.some(channel => channel.unreadThreadsCount > 0) ? \"circle\" : \"\";\n }\n get suffixCSSClass() {\n return chatChannelsManager.allChannels.some(channel => channel.tracking.watchedThreadsUnreadCount > 0) ? \"urgent\" : \"unread\";\n }\n };\n const SidebarChatMyThreadsSection = class extends BaseCustomSidebarSection {\n static #_ = (() => dt7948.g(this.prototype, \"chatChannelsManager\", [_service.service]))();\n #chatChannelsManager = (() => (dt7948.i(this, \"chatChannelsManager\"), void 0))();\n // we only show `My Threads` link\n hideSectionHeader = true;\n name = \"user-threads\";\n\n // sidebar API doesn’t let you have undefined values\n // even if you don't show the section’s header\n title = \"\";\n get links() {\n return [new SidebarChatMyThreadsSectionLink()];\n }\n get text() {\n return null;\n }\n get displaySection() {\n return this.chatChannelsManager.hasThreadedChannels;\n }\n };\n return SidebarChatMyThreadsSection;\n }, _initSidebarState.CHAT_PANEL);\n if (this.siteSettings.enable_public_channels) {\n api.addSidebarSection((BaseCustomSidebarSection, BaseCustomSidebarSectionLink) => {\n const SidebarChatChannelsSectionLink = class extends BaseCustomSidebarSectionLink {\n constructor(_ref) {\n let {\n channel,\n chatService\n } = _ref;\n super(...arguments);\n this.channel = channel;\n this.chatService = chatService;\n this.chatStateManager = chatStateManager;\n }\n get name() {\n return (0, _string.dasherize)(this.channel.slugifiedTitle);\n }\n get classNames() {\n const classes = [];\n if (this.channel.currentUserMembership.muted) {\n classes.push(\"sidebar-section-link--muted\");\n }\n if (this.channel.id === this.chatService.activeChannel?.id && (this.chatStateManager.isDrawerExpanded || this.chatStateManager.isFullPageActive)) {\n classes.push(\"sidebar-section-link--active\");\n }\n classes.push(`channel-${this.channel.id}`);\n return classes.join(\" \");\n }\n get route() {\n return \"chat.channel\";\n }\n get models() {\n return this.channel.routeModels;\n }\n get text() {\n return (0, _template.htmlSafe)((0, _text.emojiUnescape)(this.channel.escapedTitle));\n }\n get prefixType() {\n return \"icon\";\n }\n get prefixValue() {\n return \"d-chat\";\n }\n get prefixColor() {\n return this.channel.chatable.color;\n }\n get title() {\n return this.channel.escapedDescription ? (0, _template.htmlSafe)(this.channel.escapedDescription) : `${this.channel.escapedTitle} ${(0, _discourseI18n.i18n)(\"chat.title\")}`;\n }\n get prefixBadge() {\n return this.channel.chatable.read_restricted ? \"lock\" : \"\";\n }\n get suffixType() {\n return \"icon\";\n }\n get suffixValue() {\n return this.channel.tracking.unreadCount > 0 ||\n // We want to do this so we don't show a blue dot if the user is inside\n // the channel and a new unread thread comes in.\n this.chatService.activeChannel?.id !== this.channel.id && this.channel.unreadThreadsCountSinceLastViewed > 0 ? \"circle\" : \"\";\n }\n get suffixCSSClass() {\n return this.channel.tracking.mentionCount > 0 || this.channel.tracking.watchedThreadsUnreadCount > 0 ? \"urgent\" : \"unread\";\n }\n };\n const SidebarChatChannelsSection = class extends BaseCustomSidebarSection {\n static #_ = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"chatStateManager\", [_service.service]))();\n #chatStateManager = (() => (dt7948.i(this, \"chatStateManager\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"currentUserCanJoinPublicChannels\", [_tracking.tracked], function () {\n return this.currentUser && (this.currentUser.staff || this.currentUser.has_joinable_public_channels);\n }))();\n #currentUserCanJoinPublicChannels = (() => (dt7948.i(this, \"currentUserCanJoinPublicChannels\"), void 0))();\n constructor() {\n super(...arguments);\n if (container.isDestroyed) {\n return;\n }\n this.chatService = container.lookup(\"service:chat\");\n this.chatChannelsManager = container.lookup(\"service:chat-channels-manager\");\n this.router = container.lookup(\"service:router\");\n }\n get sectionLinks() {\n return this.chatChannelsManager.publicMessageChannels.map(channel => new SidebarChatChannelsSectionLink({\n channel,\n chatService: this.chatService\n }));\n }\n get name() {\n return \"chat-channels\";\n }\n get title() {\n return (0, _discourseI18n.i18n)(\"chat.chat_channels\");\n }\n get text() {\n return (0, _discourseI18n.i18n)(\"chat.chat_channels\");\n }\n get actions() {\n return [{\n id: \"browseChannels\",\n title: (0, _discourseI18n.i18n)(\"chat.channels_list_popup.browse\"),\n action: () => this.router.transitionTo(\"chat.browse.open\")\n }];\n }\n get actionsIcon() {\n return \"pencil\";\n }\n get links() {\n return this.sectionLinks;\n }\n get displaySection() {\n return this.chatStateManager.hasPreloadedChannels && (this.sectionLinks.length > 0 || this.currentUserCanJoinPublicChannels);\n }\n };\n return SidebarChatChannelsSection;\n }, _initSidebarState.CHAT_PANEL);\n }\n api.addSidebarSection((BaseCustomSidebarSection, BaseCustomSidebarSectionLink) => {\n const SidebarChatDirectMessagesSectionLink = class extends BaseCustomSidebarSectionLink {\n route = \"chat.channel\";\n suffixType = \"icon\";\n hoverType = \"icon\";\n hoverValue = \"xmark\";\n hoverTitle = (() => (0, _discourseI18n.i18n)(\"chat.direct_messages.close\"))();\n constructor(_ref2) {\n let {\n channel,\n chatService,\n currentUser\n } = _ref2;\n super(...arguments);\n this.channel = channel;\n this.chatService = chatService;\n this.currentUser = currentUser;\n this.chatStateManager = chatStateManager;\n if (this.oneOnOneMessage) {\n const user = this.channel.chatable.users[0];\n if (user.username !== (0, _discourseI18n.i18n)(\"chat.deleted_chat_username\")) {\n user.statusManager.trackStatus();\n }\n }\n }\n willDestroy() {\n if (this.oneOnOneMessage) {\n this.channel.chatable.users[0].statusManager.stopTrackingStatus();\n }\n }\n static #_ = (() => dt7948.n(this.prototype, \"willDestroy\", [_decorators.bind]))();\n get oneOnOneMessage() {\n return this.channel.chatable.users.length === 1;\n }\n get contentComponentArgs() {\n return this.channel.chatable.users[0].get(\"status\");\n }\n get contentComponent() {\n if (this.oneOnOneMessage) {\n return _userStatusMessage.default;\n }\n }\n get name() {\n return this.channel.slugifiedTitle;\n }\n get classNames() {\n const classes = [];\n if (this.channel.currentUserMembership.muted) {\n classes.push(\"sidebar-section-link--muted\");\n }\n if (this.channel.id === this.chatService.activeChannel?.id && (this.chatStateManager.isDrawerExpanded || this.chatStateManager.isFullPageActive)) {\n classes.push(\"sidebar-section-link--active\");\n }\n classes.push(`channel-${this.channel.id}`);\n return classes.join(\" \");\n }\n get models() {\n return this.channel.routeModels;\n }\n get title() {\n if (this.channel.chatable.group) {\n return (0, _discourseI18n.i18n)(\"chat.placeholder_channel\", {\n channelName: this.channel.escapedTitle\n });\n } else {\n return (0, _discourseI18n.i18n)(\"chat.placeholder_users\", {\n commaSeparatedNames: this.channel.escapedTitle\n });\n }\n }\n get text() {\n if (this.channel.chatable.group) {\n return this.channel.title;\n } else {\n const username = this.channel.escapedTitle.replaceAll(\"@\", \"\");\n return (0, _template.htmlSafe)(`${(0, _utilities.escapeExpression)(username)}${(0, _decorateUsernameSelector.decorateUsername)((0, _utilities.escapeExpression)(username))}`);\n }\n }\n get prefixType() {\n if (this.channel.iconUploadUrl) {\n return \"image\";\n } else if (this.channel.chatable.group) {\n return \"text\";\n } else {\n return \"image\";\n }\n }\n get prefixValue() {\n if (this.channel.iconUploadUrl) {\n return this.channel.iconUploadUrl;\n } else if (this.channel.chatable.group) {\n return this.channel.membershipsCount;\n } else {\n return (0, _avatarUtils.avatarUrl)(this.channel.chatable.users[0].avatar_template, \"tiny\");\n }\n }\n get prefixCSSClass() {\n const activeUsers = this.chatService.presenceChannel.users;\n const user = this.channel.chatable.users[0];\n if (!!activeUsers?.findBy(\"id\", user?.id) || !!activeUsers?.findBy(\"username\", user?.username)) {\n return \"active\";\n }\n return \"\";\n }\n get suffixValue() {\n return this.channel.tracking.unreadCount > 0 || this.channel.unreadThreadsCountSinceLastViewed > 0 ? \"circle\" : \"\";\n }\n get suffixCSSClass() {\n return this.channel.tracking.unreadCount > 0 || this.channel.tracking.mentionCount > 0 || this.channel.tracking.watchedThreadsUnreadCount > 0 ? \"urgent\" : \"unread\";\n }\n get hoverAction() {\n return event => {\n event.stopPropagation();\n event.preventDefault();\n this.chatService.unfollowChannel(this.channel);\n };\n }\n };\n const SidebarChatDirectMessagesSection = class extends BaseCustomSidebarSection {\n static #_ = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"modal\", [_service.service]))();\n #modal = (() => (dt7948.i(this, \"modal\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"chatStateManager\", [_service.service]))();\n #chatStateManager = (() => (dt7948.i(this, \"chatStateManager\"), void 0))();\n static #_6 = (() => dt7948.g(this.prototype, \"userCanDirectMessage\", [_tracking.tracked], function () {\n return this.chatService.userCanDirectMessage;\n }))();\n #userCanDirectMessage = (() => (dt7948.i(this, \"userCanDirectMessage\"), void 0))();\n constructor() {\n super(...arguments);\n if (container.isDestroyed) {\n return;\n }\n this.chatService = container.lookup(\"service:chat\");\n this.chatChannelsManager = container.lookup(\"service:chat-channels-manager\");\n }\n get sectionLinks() {\n return this.chatChannelsManager.truncatedDirectMessageChannels.map(channel => new SidebarChatDirectMessagesSectionLink({\n channel,\n chatService: this.chatService,\n currentUser: this.currentUser\n }));\n }\n get name() {\n return \"chat-dms\";\n }\n get title() {\n return (0, _discourseI18n.i18n)(\"chat.direct_messages.title\");\n }\n get text() {\n return (0, _discourseI18n.i18n)(\"chat.direct_messages.title\");\n }\n get actions() {\n if (!this.userCanDirectMessage) {\n return [];\n }\n return [{\n id: \"startDm\",\n title: (0, _discourseI18n.i18n)(\"chat.direct_messages.new\"),\n action: () => {\n this.modal.show(_newMessage.default);\n }\n }];\n }\n get actionsIcon() {\n return \"plus\";\n }\n get links() {\n return this.sectionLinks;\n }\n get displaySection() {\n return this.chatStateManager.hasPreloadedChannels && (this.sectionLinks.length > 0 || this.userCanDirectMessage);\n }\n };\n return SidebarChatDirectMessagesSection;\n }, \"chat\");\n });\n }\n };\n});","define(\"discourse/plugins/chat/discourse/initializers/chat-user-menu\", [\"exports\", \"discourse/lib/get-url\", \"discourse/lib/plugin-api\", \"discourse/lib/utilities\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/lib/slugify-channel\"], function (_exports, _getUrl, _pluginApi, _utilities, _discourseI18n, _slugifyChannel) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = _exports.default = {\n name: \"chat-user-menu\",\n initialize(container) {\n (0, _pluginApi.withPluginApi)(\"1.3.0\", api => {\n const chat = container.lookup(\"service:chat\");\n if (!chat.userCanChat) {\n return;\n }\n if (api.registerNotificationTypeRenderer) {\n api.registerNotificationTypeRenderer(\"chat_invitation\", NotificationItemBase => {\n return class extends NotificationItemBase {\n linkTitle = (() => (0, _discourseI18n.i18n)(\"notifications.titles.chat_invitation\"))();\n icon = \"link\";\n description = (() => (0, _discourseI18n.i18n)(\"notifications.chat_invitation\"))();\n get linkHref() {\n const data = this.notification.data;\n const slug = (0, _slugifyChannel.default)({\n title: data.chat_channel_title,\n slug: data.chat_channel_slug\n });\n let url = `/chat/c/${slug || \"-\"}/${data.chat_channel_id}`;\n if (data.chat_message_id) {\n url += `/${data.chat_message_id}`;\n }\n return (0, _getUrl.default)(url);\n }\n get label() {\n return (0, _utilities.formatUsername)(this.notification.data.invited_by_username);\n }\n };\n });\n api.registerNotificationTypeRenderer(\"chat_mention\", NotificationItemBase => {\n return class extends NotificationItemBase {\n get linkHref() {\n const slug = (0, _slugifyChannel.default)({\n title: this.notification.data.chat_channel_title,\n slug: this.notification.data.chat_channel_slug\n });\n let notificationRoute = `/chat/c/${slug || \"-\"}/${this.notification.data.chat_channel_id}`;\n if (this.notification.data.chat_thread_id) {\n notificationRoute += `/t/${this.notification.data.chat_thread_id}`;\n } else {\n notificationRoute += `/${this.notification.data.chat_message_id}`;\n }\n return (0, _getUrl.default)(notificationRoute);\n }\n get linkTitle() {\n return (0, _discourseI18n.i18n)(\"notifications.titles.chat_mention\");\n }\n get icon() {\n return \"d-chat\";\n }\n get label() {\n return (0, _utilities.formatUsername)(this.notification.data.mentioned_by_username);\n }\n get description() {\n const identifier = this.notification.data.identifier ? `@${this.notification.data.identifier}` : null;\n const i18nPrefix = this.notification.data.is_direct_message_channel ? \"notifications.popup.direct_message_chat_mention\" : \"notifications.popup.chat_mention\";\n const i18nSuffix = identifier ? \"other_plain\" : \"direct\";\n return (0, _discourseI18n.i18n)(`${i18nPrefix}.${i18nSuffix}`, {\n identifier,\n channel: this.notification.data.chat_channel_title\n });\n }\n };\n });\n api.registerNotificationTypeRenderer(\"chat_watched_thread\", NotificationItemBase => {\n return class extends NotificationItemBase {\n icon = \"discourse-threads\";\n linkTitle = (() => (0, _discourseI18n.i18n)(\"notifications.titles.chat_watched_thread\"))();\n description = this.notification.data.description;\n get label() {\n const data = this.notification.data;\n if (data.user_ids.length > 2) {\n return (0, _discourseI18n.i18n)(\"notifications.chat_watched_thread_label\", {\n username: (0, _utilities.formatUsername)(data.username2),\n count: data.user_ids.length - 1\n });\n } else if (data.user_ids.length === 2) {\n return (0, _discourseI18n.i18n)(\"notifications.chat_watched_thread_label\", {\n username: (0, _utilities.formatUsername)(data.username2),\n username2: (0, _utilities.formatUsername)(data.username),\n count: 1\n });\n } else {\n return (0, _utilities.formatUsername)(data.username);\n }\n }\n get linkHref() {\n const data = this.notification.data;\n return (0, _getUrl.default)(`/chat/c/-/${data.chat_channel_id}/t/${data.chat_thread_id}/${data.chat_message_id}`);\n }\n };\n });\n }\n if (api.registerUserMenuTab) {\n api.registerUserMenuTab(UserMenuTab => {\n return class extends UserMenuTab {\n get id() {\n return \"chat-notifications\";\n }\n get panelComponent() {\n return \"user-menu/chat-notifications-list\";\n }\n get icon() {\n return \"d-chat\";\n }\n get count() {\n return this.getUnreadCountForType(\"chat_mention\") + this.getUnreadCountForType(\"chat_invitation\") + this.getUnreadCountForType(\"chat_watched_thread\");\n }\n get notificationTypes() {\n return [\"chat_invitation\", \"chat_mention\", \"chat_message\", \"chat_quoted\", \"chat_watched_thread\"];\n }\n };\n });\n }\n });\n }\n };\n});","define(\"discourse/plugins/chat/discourse/initializers/chat-user-options\", [\"exports\", \"discourse/lib/plugin-api\"], function (_exports, _pluginApi) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const CHAT_ENABLED_FIELD = \"chat_enabled\";\n const ONLY_CHAT_PUSH_NOTIFICATIONS_FIELD = \"only_chat_push_notifications\";\n const IGNORE_CHANNEL_WIDE_MENTION = \"ignore_channel_wide_mention\";\n const SHOW_THREAD_TITLE_PROMPTS = \"show_thread_title_prompts\";\n const CHAT_SOUND = \"chat_sound\";\n const CHAT_EMAIL_FREQUENCY = \"chat_email_frequency\";\n const CHAT_HEADER_INDICATOR_PREFERENCE = \"chat_header_indicator_preference\";\n const CHAT_SEPARATE_SIDEBAR_MODE = \"chat_separate_sidebar_mode\";\n const CHAT_SEND_SHORTCUT = \"chat_send_shortcut\";\n const CHAT_QUICK_REACTION_TYPE = \"chat_quick_reaction_type\";\n const CHAT_QUICK_REACTIONS_CUSTOM = \"chat_quick_reactions_custom\";\n var _default = _exports.default = {\n name: \"chat-user-options\",\n initialize(container) {\n (0, _pluginApi.withPluginApi)(\"0.11.0\", api => {\n const siteSettings = container.lookup(\"service:site-settings\");\n if (siteSettings.chat_enabled) {\n api.addSaveableUserOptionField(CHAT_ENABLED_FIELD);\n api.addSaveableUserOptionField(ONLY_CHAT_PUSH_NOTIFICATIONS_FIELD);\n api.addSaveableUserOptionField(IGNORE_CHANNEL_WIDE_MENTION);\n api.addSaveableUserOptionField(SHOW_THREAD_TITLE_PROMPTS);\n api.addSaveableUserOptionField(CHAT_SOUND);\n api.addSaveableUserOptionField(CHAT_EMAIL_FREQUENCY);\n api.addSaveableUserOptionField(CHAT_HEADER_INDICATOR_PREFERENCE);\n api.addSaveableUserOptionField(CHAT_SEPARATE_SIDEBAR_MODE);\n api.addSaveableUserOptionField(CHAT_SEND_SHORTCUT);\n api.addSaveableUserOptionField(CHAT_QUICK_REACTION_TYPE);\n api.addSaveableUserOptionField(CHAT_QUICK_REACTIONS_CUSTOM);\n }\n });\n }\n };\n});","define(\"discourse/plugins/chat/discourse/lib/chat-channel-subscription-manager\", [\"exports\", \"@glimmer/tracking\", \"@ember/owner\", \"@ember/service\", \"discourse/lib/decorators\", \"discourse/lib/object\", \"discourse/plugins/chat/discourse/models/chat-message\", \"discourse/plugins/chat/discourse/models/chat-thread-preview\"], function (_exports, _tracking, _owner, _service, _decorators, _object, _chatMessage, _chatThreadPreview) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatChannelSubscriptionManager {\n static #_ = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"chatChannelNoticesManager\", [_service.service]))();\n #chatChannelNoticesManager = (() => (dt7948.i(this, \"chatChannelNoticesManager\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"messageBus\", [_service.service]))();\n #messageBus = (() => (dt7948.i(this, \"messageBus\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"channel\", [_tracking.tracked]))();\n #channel = (() => (dt7948.i(this, \"channel\"), void 0))();\n constructor(context, channel) {\n let {\n onNewMessage\n } = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n (0, _owner.setOwner)(this, (0, _owner.getOwner)(context));\n this.channel = channel;\n this.onNewMessage = onNewMessage;\n this.messageBus.subscribe(this.messageBusChannel, this.onMessage, this.channel.channelMessageBusLastId);\n }\n get messagesManager() {\n return this.channel.messagesManager;\n }\n get messageBusChannel() {\n return `/chat/${this.channel.id}`;\n }\n teardown() {\n this.messageBus.unsubscribe(this.messageBusChannel, this.onMessage);\n }\n onMessage(busData) {\n switch (busData.type) {\n case \"sent\":\n this.handleSentMessage(busData);\n break;\n case \"reaction\":\n this.handleReactionMessage(busData);\n break;\n case \"processed\":\n this.handleProcessedMessage(busData);\n break;\n case \"edit\":\n this.handleEditMessage(busData);\n break;\n case \"refresh\":\n this.handleRefreshMessage(busData);\n break;\n case \"delete\":\n this.handleDeleteMessage(busData);\n break;\n case \"bulk_delete\":\n this.handleBulkDeleteMessage(busData);\n break;\n case \"restore\":\n this.handleRestoreMessage(busData);\n break;\n case \"self_flagged\":\n this.handleSelfFlaggedMessage(busData);\n break;\n case \"flag\":\n this.handleFlaggedMessage(busData);\n break;\n case \"thread_created\":\n this.handleNewThreadCreated(busData);\n break;\n case \"update_thread_original_message\":\n this.handleThreadOriginalMessageUpdate(busData);\n break;\n case \"notice\":\n this.handleNotice(busData);\n break;\n }\n }\n static #_5 = (() => dt7948.n(this.prototype, \"onMessage\", [_decorators.bind]))();\n handleSentMessage(data) {\n if (data.chat_message.user.id === this.currentUser.id && data.staged_id) {\n const stagedMessage = this.handleStagedMessage(this.channel, this.messagesManager, data);\n if (stagedMessage) {\n return;\n }\n }\n const message = _chatMessage.default.create(this.channel, data.chat_message);\n message.manager = this.channel.messagesManager;\n this.onNewMessage?.(message);\n this.channel.lastMessage = message;\n }\n handleStagedMessage(channel, messagesManager, data) {\n const stagedMessage = messagesManager.findStagedMessage(data.staged_id);\n if (!stagedMessage) {\n return;\n }\n stagedMessage.error = null;\n stagedMessage.id = data.chat_message.id;\n stagedMessage.staged = false;\n stagedMessage.excerpt = data.chat_message.excerpt;\n stagedMessage.channel = channel;\n stagedMessage.createdAt = new Date(data.chat_message.created_at);\n stagedMessage.cooked = data.chat_message.cooked;\n return stagedMessage;\n }\n handleProcessedMessage(data) {\n const message = this.messagesManager.findMessage(data.chat_message.id);\n if (message) {\n message.cooked = data.chat_message.cooked;\n message.uploads = (0, _object.cloneJSON)(data.chat_message.uploads || []);\n message.processed = true;\n message.incrementVersion();\n }\n }\n handleReactionMessage(data) {\n const message = this.messagesManager.findMessage(data.chat_message_id);\n if (message) {\n message.react(data.emoji, data.action, data.user, this.currentUser.id);\n }\n }\n handleEditMessage(data) {\n const message = this.messagesManager.findMessage(data.chat_message.id);\n if (message) {\n message.message = data.chat_message.message;\n message.cooked = data.chat_message.cooked;\n message.excerpt = data.chat_message.excerpt;\n message.uploads = (0, _object.cloneJSON)(data.chat_message.uploads || []);\n message.edited = data.chat_message.edited;\n message.streaming = data.chat_message.streaming;\n }\n }\n handleRefreshMessage(data) {\n const message = this.messagesManager.findMessage(data.chat_message.id);\n if (message) {\n message.incrementVersion();\n }\n }\n handleBulkDeleteMessage(data) {\n data.deleted_ids.forEach(deletedId => {\n this.handleDeleteMessage({\n deleted_id: deletedId,\n deleted_at: data.deleted_at\n });\n });\n }\n handleDeleteMessage(data) {\n const deletedId = data.deleted_id;\n const targetMsg = this.messagesManager.findMessage(deletedId);\n if (!targetMsg) {\n return;\n }\n if (this.currentUser.staff || this.currentUser.id === targetMsg.user.id) {\n targetMsg.deletedAt = data.deleted_at;\n targetMsg.deletedById = data.deleted_by_id;\n targetMsg.expanded = false;\n } else {\n this.messagesManager.removeMessage(targetMsg);\n }\n if (this.channel.currentUserMembership.lastReadMessageId === targetMsg.id) {\n this.channel.currentUserMembership.lastReadMessageId = data.latest_not_deleted_message_id;\n }\n }\n handleRestoreMessage(data) {\n const message = this.messagesManager.findMessage(data.chat_message.id);\n if (message) {\n message.deletedAt = null;\n } else {\n const newMessage = _chatMessage.default.create(this.channel, data.chat_message);\n newMessage.manager = this.messagesManager;\n this.messagesManager.addMessages([newMessage]);\n }\n }\n handleSelfFlaggedMessage(data) {\n const message = this.messagesManager.findMessage(data.chat_message_id);\n if (message) {\n message.userFlagStatus = data.user_flag_status;\n }\n }\n handleFlaggedMessage(data) {\n const message = this.messagesManager.findMessage(data.chat_message_id);\n if (message) {\n message.reviewableId = data.reviewable_id;\n }\n }\n handleNewThreadCreated(data) {\n this.channel.threadsManager.find(this.channel.id, data.thread_id, {\n fetchIfNotFound: true\n }).then(thread => {\n const channelOriginalMessage = this.channel.messagesManager.findMessage(thread.originalMessage.id);\n if (channelOriginalMessage) {\n channelOriginalMessage.thread = thread;\n }\n });\n }\n handleNotice(data) {\n this.chatChannelNoticesManager.handleNotice(data);\n }\n handleThreadOriginalMessageUpdate(data) {\n const message = this.messagesManager.findMessage(data.original_message_id);\n if (message?.thread) {\n if (message.thread.preview) {\n message.thread.preview.update(data.preview);\n } else {\n message.thread.preview = _chatThreadPreview.default.create(data.preview);\n }\n }\n }\n }\n _exports.default = ChatChannelSubscriptionManager;\n});","define(\"discourse/plugins/chat/discourse/lib/chat-channel-thread-subscription-manager\", [\"exports\", \"@glimmer/tracking\", \"@ember/owner\", \"@ember/service\", \"discourse/lib/decorators\", \"discourse/lib/object\", \"discourse/plugins/chat/discourse/models/chat-message\"], function (_exports, _tracking, _owner, _service, _decorators, _object, _chatMessage) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatChannelThreadSubscriptionManager {\n static #_ = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"messageBus\", [_service.service]))();\n #messageBus = (() => (dt7948.i(this, \"messageBus\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"channel\", [_tracking.tracked]))();\n #channel = (() => (dt7948.i(this, \"channel\"), void 0))();\n constructor(context, thread) {\n let {\n onNewMessage\n } = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n (0, _owner.setOwner)(this, (0, _owner.getOwner)(context));\n this.thread = thread;\n this.onNewMessage = onNewMessage;\n this.messageBus.subscribe(this.messageBusChannel, this.onMessage, this.thread.threadMessageBusLastId);\n }\n get messagesManager() {\n return this.thread.messagesManager;\n }\n get messageBusChannel() {\n return `/chat/${this.thread.channel.id}/thread/${this.thread.id}`;\n }\n teardown() {\n this.messageBus.unsubscribe(this.messageBusChannel, this.onMessage);\n }\n onMessage(busData, _, __, lastMessageBusId) {\n switch (busData.type) {\n case \"sent\":\n this.handleSentMessage(busData);\n break;\n case \"reaction\":\n this.handleReactionMessage(busData);\n break;\n case \"processed\":\n this.handleProcessedMessage(busData);\n break;\n case \"edit\":\n this.handleEditMessage(busData);\n break;\n case \"refresh\":\n this.handleRefreshMessage(busData);\n break;\n case \"delete\":\n this.handleDeleteMessage(busData);\n break;\n case \"bulk_delete\":\n this.handleBulkDeleteMessage(busData);\n break;\n case \"restore\":\n this.handleRestoreMessage(busData);\n break;\n case \"self_flagged\":\n this.handleSelfFlaggedMessage(busData);\n break;\n case \"flag\":\n this.handleFlaggedMessage(busData);\n break;\n case \"thread_created\":\n this.handleNewThreadCreated(busData);\n break;\n }\n this.thread.threadMessageBusLastId = lastMessageBusId;\n }\n static #_4 = (() => dt7948.n(this.prototype, \"onMessage\", [_decorators.bind]))();\n handleSentMessage(data) {\n if (data.chat_message.user.id === this.currentUser.id && data.staged_id) {\n const stagedMessage = this.handleStagedMessage(this.thread.channel, this.messagesManager, data);\n if (stagedMessage) {\n return;\n }\n }\n const message = _chatMessage.default.create(this.thread.channel, data.chat_message);\n message.thread = this.thread;\n message.manager = this.messagesManager;\n this.onNewMessage?.(message);\n }\n handleStagedMessage(channel, messagesManager, data) {\n const stagedMessage = messagesManager.findStagedMessage(data.staged_id);\n if (!stagedMessage) {\n return;\n }\n stagedMessage.error = null;\n stagedMessage.id = data.chat_message.id;\n stagedMessage.staged = false;\n stagedMessage.excerpt = data.chat_message.excerpt;\n stagedMessage.channel = channel;\n stagedMessage.createdAt = new Date(data.chat_message.created_at);\n return stagedMessage;\n }\n handleProcessedMessage(data) {\n const message = this.messagesManager.findMessage(data.chat_message.id);\n if (message) {\n message.cooked = data.chat_message.cooked;\n message.uploads = (0, _object.cloneJSON)(data.chat_message.uploads || []);\n message.processed = true;\n message.incrementVersion();\n }\n }\n handleReactionMessage(data) {\n const message = this.messagesManager.findMessage(data.chat_message_id);\n if (message) {\n message.react(data.emoji, data.action, data.user, this.currentUser.id);\n }\n }\n handleEditMessage(data) {\n const message = this.messagesManager.findMessage(data.chat_message.id);\n if (message) {\n message.excerpt = data.chat_message.excerpt;\n message.uploads = (0, _object.cloneJSON)(data.chat_message.uploads || []);\n message.edited = data.chat_message.edited;\n message.streaming = data.chat_message.streaming;\n }\n }\n handleRefreshMessage(data) {\n const message = this.messagesManager.findMessage(data.chat_message.id);\n if (message) {\n message.incrementVersion();\n }\n }\n handleBulkDeleteMessage(data) {\n data.deleted_ids.forEach(deletedId => {\n this.handleDeleteMessage({\n deleted_id: deletedId,\n deleted_at: data.deleted_at\n });\n });\n }\n handleDeleteMessage(data) {\n const deletedId = data.deleted_id;\n const targetMsg = this.messagesManager.findMessage(deletedId);\n if (!targetMsg) {\n return;\n }\n if (this.currentUser.staff || this.currentUser.id === targetMsg.user.id) {\n targetMsg.deletedAt = data.deleted_at;\n targetMsg.deletedById = data.deleted_by_id;\n targetMsg.expanded = false;\n } else {\n this.messagesManager.removeMessage(targetMsg);\n }\n if (this.thread.currentUserMembership?.lastReadMessageId === targetMsg.id) {\n this.thread.currentUserMembership.lastReadMessageId = data.latest_not_deleted_message_id;\n }\n }\n handleRestoreMessage(data) {\n const message = this.messagesManager.findMessage(data.chat_message.id);\n if (message) {\n message.deletedAt = null;\n } else {\n const newMessage = _chatMessage.default.create(this.model, data.chat_message);\n newMessage.manager = this.messagesManager;\n this.messagesManager.addMessages([newMessage]);\n }\n }\n handleSelfFlaggedMessage(data) {\n const message = this.messagesManager.findMessage(data.chat_message_id);\n if (message) {\n message.userFlagStatus = data.user_flag_status;\n }\n }\n handleFlaggedMessage(data) {\n const message = this.messagesManager.findMessage(data.chat_message_id);\n if (message) {\n message.reviewableId = data.reviewable_id;\n }\n }\n handleNewThreadCreated(data) {\n this.thread.threadsManager.find(this.thread.id, data.thread_id, {\n fetchIfNotFound: true\n }).then(thread => {\n const channelOriginalMessage = this.thread.messagesManager.findMessage(thread.originalMessage.id);\n if (channelOriginalMessage) {\n channelOriginalMessage.thread = thread;\n }\n });\n }\n }\n _exports.default = ChatChannelThreadSubscriptionManager;\n});","define(\"discourse/plugins/chat/discourse/lib/chat-composer-buttons\", [\"exports\", \"discourse-i18n\"], function (_exports, _discourseI18n) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.chatComposerButtons = chatComposerButtons;\n _exports.chatComposerButtonsDependentKeys = chatComposerButtonsDependentKeys;\n _exports.clearChatComposerButtons = clearChatComposerButtons;\n _exports.registerChatComposerButton = registerChatComposerButton;\n let _chatComposerButtons = {};\n function registerChatComposerButton(button) {\n if (!button.id) {\n throw new Error(\"Attempted to register a chat composer button with no id.\");\n }\n if (_chatComposerButtons[button.id]) {\n return;\n }\n const defaultButton = {\n id: null,\n action: null,\n icon: null,\n title: null,\n translatedTitle: null,\n label: null,\n translatedLabel: null,\n ariaLabel: null,\n translatedAriaLabel: null,\n position: \"inline\",\n classNames: [],\n dependentKeys: [],\n displayed: true,\n disabled: false,\n priority: 0\n };\n const normalizedButton = Object.assign(defaultButton, button);\n if (!normalizedButton.icon && !normalizedButton.label && !normalizedButton.translatedLabel) {\n throw new Error(`Attempted to register a chat composer button: ${button.id} with no icon or label.`);\n }\n _chatComposerButtons[normalizedButton.id] = normalizedButton;\n }\n function computeButton(context, button, property) {\n const field = button[property];\n if (isFunction(field)) {\n return field.apply(context);\n }\n return field;\n }\n function isFunction(descriptor) {\n return descriptor && typeof descriptor === \"function\";\n }\n function chatComposerButtonsDependentKeys() {\n return [].concat(...Object.values(_chatComposerButtons).mapBy(\"dependentKeys\").filter(Boolean));\n }\n function chatComposerButtons(composer, position, context) {\n return Object.values(_chatComposerButtons).filter(button => {\n let valid = computeButton(composer, button, \"displayed\") && computeButton(composer, button, \"position\") === position;\n if (button.context) {\n valid = valid && computeButton(composer, button, \"context\") === context;\n }\n return valid;\n }).map(button => {\n const result = {\n id: button.id\n };\n const label = computeButton(composer, button, \"label\");\n result.label = label ? label : computeButton(composer, button, \"translatedLabel\");\n const ariaLabel = computeButton(composer, button, \"ariaLabel\");\n if (ariaLabel) {\n result.ariaLabel = (0, _discourseI18n.i18n)(ariaLabel);\n } else {\n const translatedAriaLabel = computeButton(composer, button, \"translatedAriaLabel\");\n result.ariaLabel = translatedAriaLabel || result.label;\n }\n const title = computeButton(composer, button, \"title\");\n result.title = title ? (0, _discourseI18n.i18n)(title) : computeButton(composer, button, \"translatedTitle\");\n result.classNames = (computeButton(composer, button, \"classNames\") || []).join(\" \");\n result.icon = computeButton(composer, button, \"icon\");\n result.disabled = computeButton(composer, button, \"disabled\");\n result.priority = computeButton(composer, button, \"priority\");\n if (isFunction(button.action)) {\n result.action = () => {\n button.action.apply(composer, [context]);\n };\n } else {\n const actionName = button.action;\n result.action = () => {\n composer[actionName](context);\n };\n }\n return result;\n });\n }\n function clearChatComposerButtons() {\n _chatComposerButtons = [];\n }\n});","define(\"discourse/plugins/chat/discourse/lib/chat-constants\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.THREAD_TITLE_PROMPT_THRESHOLD = _exports.READ_INTERVAL_MS = _exports.PAST = _exports.INDICATOR_PREFERENCES = _exports.FUTURE = _exports.FOOTER_NAV_ROUTES = _exports.DEFAULT_MESSAGE_PAGE_SIZE = void 0;\n const PAST = _exports.PAST = \"past\";\n const FUTURE = _exports.FUTURE = \"future\";\n const READ_INTERVAL_MS = _exports.READ_INTERVAL_MS = 1000;\n const DEFAULT_MESSAGE_PAGE_SIZE = _exports.DEFAULT_MESSAGE_PAGE_SIZE = 50;\n const THREAD_TITLE_PROMPT_THRESHOLD = _exports.THREAD_TITLE_PROMPT_THRESHOLD = 5;\n const FOOTER_NAV_ROUTES = _exports.FOOTER_NAV_ROUTES = [\"chat.direct-messages\", \"chat.channels\", \"chat.threads\"];\n const INDICATOR_PREFERENCES = _exports.INDICATOR_PREFERENCES = {\n all_new: \"all_new\",\n dm_and_mentions: \"dm_and_mentions\",\n only_mentions: \"only_mentions\",\n never: \"never\"\n };\n});","define(\"discourse/plugins/chat/discourse/lib/chat-ios-hacks\", [\"exports\", \"discourse/services/capabilities\"], function (_exports, _capabilities) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.stackingContextFix = stackingContextFix;\n // since -webkit-overflow-scrolling: touch can't be used anymore to disable momentum scrolling\n // we use different hacks to work around this\n // if you change any line in this method, make sure to test on iOS\n function stackingContextFix(scrollable, callback) {\n callback?.();\n if (_capabilities.capabilities.isIOS) {\n // stores scroll position otherwise we will lose it\n const currentScroll = scrollable.scrollTop;\n const display = scrollable.style.display;\n scrollable.style.display = \"none\"; // forces redraw on the container\n scrollable.offsetHeight; // triggers a reflow\n scrollable.style.display = display;\n scrollable.scrollTop = currentScroll;\n }\n }\n});","define(\"discourse/plugins/chat/discourse/lib/chat-message-container\", [\"exports\", \"discourse/plugins/chat/discourse/components/chat-message\"], function (_exports, _chatMessage) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = chatMessageContainer;\n function chatMessageContainer(id, context) {\n let selector;\n if (context === _chatMessage.MESSAGE_CONTEXT_THREAD) {\n selector = `.chat-thread .chat-message-container[data-id=\"${id}\"]`;\n } else {\n selector = `.chat-channel .chat-message-container[data-id=\"${id}\"]`;\n }\n return document.querySelector(selector);\n }\n});","define(\"discourse/plugins/chat/discourse/lib/chat-message-flag\", [\"exports\", \"@ember/owner\", \"@ember/service\", \"discourse/lib/ajax-error\", \"discourse/lib/get-url\", \"discourse-i18n\"], function (_exports, _owner, _service, _ajaxError, _getUrl, _discourseI18n) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatMessageFlag {\n static #_ = (() => dt7948.g(this.prototype, \"chatApi\", [_service.service]))();\n #chatApi = (() => (dt7948.i(this, \"chatApi\"), void 0))();\n constructor(owner) {\n (0, _owner.setOwner)(this, owner);\n }\n title() {\n return \"flagging.title\";\n }\n customSubmitLabel() {\n return \"flagging.notify_action\";\n }\n submitLabel() {\n return \"chat.flagging.action\";\n }\n targetsTopic() {\n return false;\n }\n editable() {\n return false;\n }\n _rewriteFlagDescriptions(flags) {\n return flags.map(flag => {\n flag.set(\"description\", (0, _discourseI18n.i18n)(`chat.flags.${flag.name_key}`, {\n basePath: (0, _getUrl.default)(\"\"),\n defaultValue: flag.description\n }));\n return flag;\n });\n }\n flagsAvailable(flagModal) {\n let flagsAvailable = flagModal.site.flagTypes;\n flagsAvailable = flagsAvailable.filter(flag => {\n return flagModal.args.model.flagModel.availableFlags.includes(flag.name_key) && flag.applies_to.includes(\"Chat::Message\");\n });\n\n // \"message user\" option should be at the top\n const notifyUserIndex = flagsAvailable.indexOf(flagsAvailable.filterBy(\"name_key\", \"notify_user\")[0]);\n if (notifyUserIndex !== -1) {\n const notifyUser = flagsAvailable[notifyUserIndex];\n flagsAvailable.splice(notifyUserIndex, 1);\n flagsAvailable.splice(0, 0, notifyUser);\n }\n return this._rewriteFlagDescriptions(flagsAvailable);\n }\n async create(flagModal, opts) {\n flagModal.args.closeModal();\n const channelId = flagModal.args.model.flagModel.channel.id;\n const messageId = flagModal.args.model.flagModel.id;\n try {\n await this.chatApi.flagMessage(channelId, messageId, {\n flag_type_id: flagModal.selected.id,\n message: opts.message,\n is_warning: opts.isWarning,\n take_action: opts.takeAction,\n queue_for_review: opts.queue_for_review\n });\n } catch (error) {\n (0, _ajaxError.popupAjaxError)(error);\n }\n }\n }\n _exports.default = ChatMessageFlag;\n});","define(\"discourse/plugins/chat/discourse/lib/chat-message-interactor\", [\"exports\", \"@glimmer/tracking\", \"@ember/object\", \"@ember/owner\", \"@ember/service\", \"pretty-text/emoji\", \"discourse/components/emoji-picker/detached\", \"discourse/components/modal/bookmark\", \"discourse/components/modal/flag\", \"discourse/lib/ajax-error\", \"discourse/lib/bookmark-form-data\", \"discourse/lib/decorators\", \"discourse/lib/get-url\", \"discourse/lib/utilities\", \"discourse/models/bookmark\", \"discourse/services/emoji-store\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/chat-message\", \"discourse/plugins/chat/discourse/lib/chat-message-flag\", \"discourse/plugins/chat/discourse/models/chat-message\", \"discourse/plugins/chat/discourse/models/chat-message-reaction\"], function (_exports, _tracking, _object, _owner, _service, _emoji, _detached, _bookmark, _flag2, _ajaxError, _bookmarkFormData, _decorators, _getUrl, _utilities, _bookmark2, _emojiStore3, _discourseI18n, _chatMessage, _chatMessageFlag, _chatMessage2, _chatMessageReaction) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n _exports.removeChatComposerSecondaryActions = removeChatComposerSecondaryActions;\n _exports.resetRemovedChatComposerSecondaryActions = resetRemovedChatComposerSecondaryActions;\n const removedSecondaryActions = new Set();\n function removeChatComposerSecondaryActions(actionIds) {\n actionIds.forEach(id => removedSecondaryActions.add(id));\n }\n function resetRemovedChatComposerSecondaryActions() {\n removedSecondaryActions.clear();\n }\n class ChatemojiReactions {\n static #_ = (() => dt7948.g(this.prototype, \"appEvents\", [_service.service]))();\n #appEvents = (() => (dt7948.i(this, \"appEvents\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"dialog\", [_service.service]))();\n #dialog = (() => (dt7948.i(this, \"dialog\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"chatChannelComposer\", [_service.service]))();\n #chatChannelComposer = (() => (dt7948.i(this, \"chatChannelComposer\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"chatThreadComposer\", [_service.service]))();\n #chatThreadComposer = (() => (dt7948.i(this, \"chatThreadComposer\"), void 0))();\n static #_6 = (() => dt7948.g(this.prototype, \"chatChannelPane\", [_service.service]))();\n #chatChannelPane = (() => (dt7948.i(this, \"chatChannelPane\"), void 0))();\n static #_7 = (() => dt7948.g(this.prototype, \"chatThreadPane\", [_service.service]))();\n #chatThreadPane = (() => (dt7948.i(this, \"chatThreadPane\"), void 0))();\n static #_8 = (() => dt7948.g(this.prototype, \"chatApi\", [_service.service]))();\n #chatApi = (() => (dt7948.i(this, \"chatApi\"), void 0))();\n static #_9 = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n static #_10 = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n static #_11 = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n static #_12 = (() => dt7948.g(this.prototype, \"modal\", [_service.service]))();\n #modal = (() => (dt7948.i(this, \"modal\"), void 0))();\n static #_13 = (() => dt7948.g(this.prototype, \"capabilities\", [_service.service]))();\n #capabilities = (() => (dt7948.i(this, \"capabilities\"), void 0))();\n static #_14 = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n static #_15 = (() => dt7948.g(this.prototype, \"menu\", [_service.service]))();\n #menu = (() => (dt7948.i(this, \"menu\"), void 0))();\n static #_16 = (() => dt7948.g(this.prototype, \"toasts\", [_service.service]))();\n #toasts = (() => (dt7948.i(this, \"toasts\"), void 0))();\n static #_17 = (() => dt7948.g(this.prototype, \"interactedChatMessage\", [_service.service]))();\n #interactedChatMessage = (() => (dt7948.i(this, \"interactedChatMessage\"), void 0))();\n static #_18 = (() => dt7948.g(this.prototype, \"emojiStore\", [_service.service]))();\n #emojiStore = (() => (dt7948.i(this, \"emojiStore\"), void 0))();\n static #_19 = (() => dt7948.g(this.prototype, \"message\", [_tracking.tracked], function () {\n return null;\n }))();\n #message = (() => (dt7948.i(this, \"message\"), void 0))();\n static #_20 = (() => dt7948.g(this.prototype, \"context\", [_tracking.tracked], function () {\n return null;\n }))();\n #context = (() => (dt7948.i(this, \"context\"), void 0))();\n constructor(owner, message, context) {\n (0, _owner.setOwner)(this, owner);\n this.message = message;\n this.context = context;\n }\n get emojiReactions() {\n const userQuickReactionsCustom = (this.currentUser.user_option.chat_quick_reaction_type === \"custom\" && this.currentUser.user_option.chat_quick_reactions_custom || \"\").split(\"|\").filter(Boolean);\n const frequentReactions = this.emojiStore.favoritesForContext(\"chat\");\n const defaultReactions = this.siteSettings.default_emoji_reactions.split(\"|\").map(emoji => {\n if (this.emojiStore.diversity !== _emojiStore3.DEFAULT_DIVERSITY && (0, _emoji.isSkinTonableEmoji)(emoji)) {\n return `${emoji}:t${this.emojiStore.diversity}`;\n }\n return emoji;\n });\n const allReactionsInOrder = userQuickReactionsCustom.concat(frequentReactions).concat(defaultReactions);\n return allReactionsInOrder.filter((item, index) => {\n return allReactionsInOrder.indexOf(item) === index;\n }).filter(Boolean).slice(0, 3).map(emoji => this.message.reactions.find(reaction => reaction.emoji === emoji) || _chatMessageReaction.default.create({\n emoji\n }));\n }\n get pane() {\n return this.context === _chatMessage.MESSAGE_CONTEXT_THREAD ? this.chatThreadPane : this.chatChannelPane;\n }\n get canEdit() {\n return !this.message.deletedAt && this.currentUser.id === this.message.user.id && this.message.channel?.canModifyMessages?.(this.currentUser);\n }\n get canInteractWithMessage() {\n return !this.message?.deletedAt && this.message?.channel?.canModifyMessages(this.currentUser);\n }\n get canRestoreMessage() {\n return this.message?.deletedAt && (this.currentUser.staff || this.message?.user?.id === this.currentUser.id && this.message?.deletedById === this.currentUser.id) && this.message.channel?.canModifyMessages?.(this.currentUser);\n }\n get canBookmark() {\n return this.message?.channel?.canModifyMessages?.(this.currentUser);\n }\n get canReply() {\n return this.canInteractWithMessage && this.context !== _chatMessage.MESSAGE_CONTEXT_THREAD;\n }\n get canReact() {\n return this.canInteractWithMessage;\n }\n get canFlagMessage() {\n return this.currentUser.id !== this.message?.user?.id && this.message?.userFlagStatus === undefined && this.message.channel?.canFlag && !this.message?.chatWebhookEvent && !this.message?.deletedAt;\n }\n get canRebakeMessage() {\n return this.currentUser.staff && this.message.channel?.canModifyMessages?.(this.currentUser);\n }\n get canDeleteMessage() {\n return this.canDelete && !this.message?.deletedAt && this.message.channel?.canModifyMessages?.(this.currentUser);\n }\n get canDelete() {\n return this.currentUser.id === this.message.user.id ? this.message.channel?.canDeleteSelf : this.message.channel?.canDeleteOthers;\n }\n get composer() {\n return this.context === _chatMessage.MESSAGE_CONTEXT_THREAD ? this.chatThreadComposer : this.chatChannelComposer;\n }\n get secondaryActions() {\n const buttons = [];\n buttons.push({\n id: \"copyLink\",\n name: (0, _discourseI18n.i18n)(\"chat.copy_link\"),\n icon: \"link\"\n });\n if (this.site.mobileView) {\n buttons.push({\n id: \"copyText\",\n name: (0, _discourseI18n.i18n)(\"chat.copy_text\"),\n icon: \"clipboard\"\n });\n }\n if (this.canEdit) {\n buttons.push({\n id: \"edit\",\n name: (0, _discourseI18n.i18n)(\"chat.edit\"),\n icon: \"pencil\"\n });\n }\n if (!this.pane.selectingMessages) {\n buttons.push({\n id: \"select\",\n name: (0, _discourseI18n.i18n)(\"chat.select\"),\n icon: \"list-check\"\n });\n }\n if (this.canFlagMessage) {\n buttons.push({\n id: \"flag\",\n name: (0, _discourseI18n.i18n)(\"chat.flag\"),\n icon: \"flag\"\n });\n }\n if (this.canDeleteMessage) {\n buttons.push({\n id: \"delete\",\n name: (0, _discourseI18n.i18n)(\"chat.delete\"),\n icon: \"trash-can\"\n });\n }\n if (this.canRestoreMessage) {\n buttons.push({\n id: \"restore\",\n name: (0, _discourseI18n.i18n)(\"chat.restore\"),\n icon: \"arrow-rotate-left\"\n });\n }\n if (this.canRebakeMessage) {\n buttons.push({\n id: \"rebake\",\n name: (0, _discourseI18n.i18n)(\"chat.rebake_message\"),\n icon: \"rotate\"\n });\n }\n return buttons.reject(button => removedSecondaryActions.has(button.id));\n }\n select() {\n let checked = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n this.message.selected = checked;\n this.pane.onSelectMessage(this.message);\n }\n bulkSelect(checked) {\n const manager = this.message.manager;\n const lastSelectedIndex = manager.findIndexOfMessage(this.pane.lastSelectedMessage.id);\n const newlySelectedIndex = manager.findIndexOfMessage(this.message.id);\n const sortedIndices = [lastSelectedIndex, newlySelectedIndex].sort((a, b) => a - b);\n for (let i = sortedIndices[0]; i <= sortedIndices[1]; i++) {\n manager.messages[i].selected = checked;\n }\n }\n copyText() {\n (0, _utilities.clipboardCopy)(this.message.message);\n this.toasts.success({\n duration: \"short\",\n data: {\n message: (0, _discourseI18n.i18n)(\"chat.text_copied\")\n }\n });\n }\n copyLink() {\n const {\n protocol,\n host\n } = window.location;\n const channelId = this.message.channel.id;\n const threadId = this.message.thread?.id;\n let url;\n if (this.context === _chatMessage.MESSAGE_CONTEXT_THREAD && threadId) {\n url = (0, _getUrl.default)(`/chat/c/-/${channelId}/t/${threadId}/${this.message.id}`);\n } else {\n url = (0, _getUrl.default)(`/chat/c/-/${channelId}/${this.message.id}`);\n }\n url = url.indexOf(\"/\") === 0 ? protocol + \"//\" + host + url : url;\n (0, _utilities.clipboardCopy)(url);\n this.toasts.success({\n duration: \"short\",\n data: {\n message: (0, _discourseI18n.i18n)(\"chat.link_copied\")\n }\n });\n }\n react(emoji, reactAction) {\n if (!this.chat.userCanInteractWithChat) {\n return;\n }\n if (this.pane.reacting) {\n return;\n }\n if (this.capabilities.userHasBeenActive && this.capabilities.canVibrate) {\n navigator.vibrate(5);\n }\n if (this.site.mobileView) {\n this.chat.activeMessage = null;\n }\n this.pane.reacting = true;\n this.message.react(emoji, reactAction, this.currentUser, this.currentUser.id);\n return this.chatApi.publishReaction(this.message.channel.id, this.message.id, emoji, reactAction).catch(errResult => {\n (0, _ajaxError.popupAjaxError)(errResult);\n this.message.react(emoji, _chatMessageReaction.REACTIONS.remove, this.currentUser, this.currentUser.id);\n }).finally(() => {\n this.pane.reacting = false;\n });\n }\n static #_21 = (() => dt7948.n(this.prototype, \"react\", [_object.action]))();\n toggleBookmark() {\n // somehow, this works around a low-level chrome rendering issue which\n // causes a complete browser crash when saving/deleting bookmarks in chat.\n // Error message: \"Check failed: !NeedsToUpdateCachedValues().\"\n // Internal topic: t/143485\n // Hopefully, this can be dropped in future chrome versions\n document.activeElement?.blur();\n this.modal.show(_bookmark.default, {\n model: {\n bookmark: new _bookmarkFormData.BookmarkFormData(this.message.bookmark || _bookmark2.default.createFor(this.currentUser, \"Chat::Message\", this.message.id)),\n afterSave: bookmarkFormData => {\n const bookmark = _bookmark2.default.create(bookmarkFormData.saveData);\n this.message.bookmark = bookmark;\n this.appEvents.trigger(\"bookmarks:changed\", bookmarkFormData.saveData, bookmark.attachedTo());\n },\n afterDelete: () => {\n this.message.bookmark = null;\n }\n }\n });\n }\n static #_22 = (() => dt7948.n(this.prototype, \"toggleBookmark\", [_object.action]))();\n flag() {\n const model = new _chatMessage2.default(this.message.channel, this.message);\n model.username = this.message.user?.username;\n model.user_id = this.message.user?.id;\n this.modal.show(_flag2.default, {\n model: {\n flagTarget: new _chatMessageFlag.default((0, _owner.getOwner)(this)),\n flagModel: model,\n setHidden: () => model.set(\"hidden\", true)\n }\n });\n }\n static #_23 = (() => dt7948.n(this.prototype, \"flag\", [_object.action]))();\n delete() {\n return this.chatApi.trashMessage(this.message.channel.id, this.message.id).catch(_ajaxError.popupAjaxError);\n }\n static #_24 = (() => dt7948.n(this.prototype, \"delete\", [_object.action]))();\n restore() {\n return this.chatApi.restoreMessage(this.message.channel.id, this.message.id).catch(_ajaxError.popupAjaxError);\n }\n static #_25 = (() => dt7948.n(this.prototype, \"restore\", [_object.action]))();\n rebake() {\n return this.chatApi.rebakeMessage(this.message.channel.id, this.message.id).catch(_ajaxError.popupAjaxError);\n }\n static #_26 = (() => dt7948.n(this.prototype, \"rebake\", [_object.action]))();\n reply() {\n this.composer.replyTo(this.message);\n }\n static #_27 = (() => dt7948.n(this.prototype, \"reply\", [_object.action]))();\n edit() {\n this.composer.edit(this.message);\n }\n static #_28 = (() => dt7948.n(this.prototype, \"edit\", [_object.action]))();\n async openEmojiPicker(trigger) {\n this.interactedChatMessage.emojiPickerOpen = true;\n await this.menu.show(trigger, {\n identifier: \"emoji-picker\",\n groupIdentifier: \"emoji-picker\",\n component: _detached.default,\n onClose: () => {\n this.interactedChatMessage.emojiPickerOpen = false;\n },\n data: {\n context: \"chat\",\n didSelectEmoji: emoji => {\n this.selectReaction(emoji);\n }\n }\n });\n }\n static #_29 = (() => dt7948.n(this.prototype, \"openEmojiPicker\", [_object.action]))();\n async closeEmojiPicker() {\n await this.menu.close(\"emoji-picker\");\n this.interactedChatMessage.emojiPickerOpen = false;\n }\n static #_30 = (() => dt7948.n(this.prototype, \"closeEmojiPicker\", [_object.action]))();\n selectReaction(emoji) {\n if (!this.chat.userCanInteractWithChat) {\n return;\n }\n this.react(emoji, _chatMessageReaction.REACTIONS.add);\n }\n static #_31 = (() => dt7948.n(this.prototype, \"selectReaction\", [_decorators.bind]))();\n handleSecondaryActions(id) {\n this[id](this.message);\n }\n static #_32 = (() => dt7948.n(this.prototype, \"handleSecondaryActions\", [_object.action]))();\n }\n _exports.default = ChatemojiReactions;\n});","define(\"discourse/plugins/chat/discourse/lib/chat-messages-loader\", [\"exports\", \"@glimmer/tracking\", \"@ember/owner\", \"@ember/service\", \"discourse/lib/ajax-error\", \"discourse/plugins/chat/discourse/lib/chat-constants\", \"discourse/plugins/chat/discourse/models/chat-channel\"], function (_exports, _tracking, _owner, _service, _ajaxError, _chatConstants, _chatChannel) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatMessagesLoader {\n static #_ = (() => dt7948.g(this.prototype, \"chatApi\", [_service.service]))();\n #chatApi = (() => (dt7948.i(this, \"chatApi\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"loading\", [_tracking.tracked], function () {\n return false;\n }))();\n #loading = (() => (dt7948.i(this, \"loading\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"canLoadMorePast\", [_tracking.tracked], function () {\n return false;\n }))();\n #canLoadMorePast = (() => (dt7948.i(this, \"canLoadMorePast\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"canLoadMoreFuture\", [_tracking.tracked], function () {\n return false;\n }))();\n #canLoadMoreFuture = (() => (dt7948.i(this, \"canLoadMoreFuture\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"fetchedOnce\", [_tracking.tracked], function () {\n return false;\n }))();\n #fetchedOnce = (() => (dt7948.i(this, \"fetchedOnce\"), void 0))();\n constructor(owner, model) {\n (0, _owner.setOwner)(this, owner);\n this.model = model;\n }\n get loadedPast() {\n return this.canLoadMorePast === false && this.fetchedOnce;\n }\n async loadMore() {\n let args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (this.canLoadMoreFuture === false && args.direction === _chatConstants.FUTURE) {\n return;\n }\n if (this.canLoadMorePast === false && args.direction === _chatConstants.PAST) {\n return;\n }\n const nextTargetMessage = this.#computeNextTargetMessage(args.direction, this.model);\n args = {\n direction: args.direction,\n page_size: _chatConstants.DEFAULT_MESSAGE_PAGE_SIZE,\n target_message_id: nextTargetMessage?.id\n };\n args = this.#cleanArgs(args);\n let result;\n try {\n this.loading = true;\n result = await this.#apiFunction(args);\n this.canLoadMoreFuture = result.meta.can_load_more_future;\n this.canLoadMorePast = result.meta.can_load_more_past;\n } catch (error) {\n (0, _ajaxError.popupAjaxError)(error);\n } finally {\n this.loading = false;\n }\n return result;\n }\n async load() {\n let args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.canLoadMorePast = true;\n this.canLoadMoreFuture = true;\n this.fetchedOnce = false;\n this.loading = true;\n args.page_size ??= _chatConstants.DEFAULT_MESSAGE_PAGE_SIZE;\n args = this.#cleanArgs(args);\n let result;\n try {\n result = await this.#apiFunction(args);\n this.canLoadMoreFuture = result.meta.can_load_more_future;\n this.canLoadMorePast = result.meta.can_load_more_past;\n this.fetchedOnce = true;\n } catch (error) {\n (0, _ajaxError.popupAjaxError)(error);\n } finally {\n this.loading = false;\n }\n return result;\n }\n #apiFunction() {\n let args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (this.model instanceof _chatChannel.default) {\n return this.chatApi.channelMessages(this.model.id, args);\n } else {\n return this.chatApi.channelThreadMessages(this.model.channel.id, this.model.id, args);\n }\n }\n #cleanArgs(args) {\n return Object.keys(args).filter(k => args[k] != null).reduce((a, k) => ({\n ...a,\n [k]: args[k]\n }), {});\n }\n #computeNextTargetMessage(direction, model) {\n return direction === _chatConstants.PAST ? model.messagesManager.messages.find(message => !message.staged) : model.messagesManager.messages.findLast(message => !message.staged);\n }\n }\n _exports.default = ChatMessagesLoader;\n});","define(\"discourse/plugins/chat/discourse/lib/chat-messages-manager\", [\"exports\", \"@glimmer/tracking\", \"@ember/owner\"], function (_exports, _tracking, _owner) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatMessagesManager {\n static #_ = (() => dt7948.g(this.prototype, \"messages\", [_tracking.tracked], function () {\n return [];\n }))();\n #messages = (() => (dt7948.i(this, \"messages\"), void 0))();\n constructor(owner) {\n (0, _owner.setOwner)(this, owner);\n }\n get stagedMessages() {\n return this.messages.filterBy(\"staged\");\n }\n static #_2 = (() => dt7948.n(this.prototype, \"stagedMessages\", [_tracking.cached]))();\n get selectedMessages() {\n return this.messages.filterBy(\"selected\");\n }\n static #_3 = (() => dt7948.n(this.prototype, \"selectedMessages\", [_tracking.cached]))();\n clearSelectedMessages() {\n this.selectedMessages.forEach(message => message.selected = false);\n }\n clear() {\n this.messages = [];\n }\n addMessages() {\n let messages = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n this.messages = this.messages.concat(messages).uniqBy(\"id\").sort((a, b) => a.createdAt - b.createdAt);\n }\n findMessage(messageId) {\n return this.messages.find(message => message.id === parseInt(messageId, 10));\n }\n findFirstMessageOfDay(a) {\n return this.messages.find(b => a.getFullYear() === b.createdAt.getFullYear() && a.getMonth() === b.createdAt.getMonth() && a.getDate() === b.createdAt.getDate());\n }\n removeMessage(message) {\n return this.messages.removeObject(message);\n }\n findStagedMessage(stagedMessageId) {\n return this.stagedMessages.find(message => message.id === stagedMessageId);\n }\n findIndexOfMessage(id) {\n return this.messages.findIndex(m => m.id === id);\n }\n findLastMessage() {\n return this.messages.findLast(message => !message.deletedAt);\n }\n findLastUserMessage(user) {\n return this.messages.findLast(message => message.user.id === user.id && !message.deletedAt);\n }\n }\n _exports.default = ChatMessagesManager;\n});","define(\"discourse/plugins/chat/discourse/lib/chat-notification-levels\", [\"exports\", \"discourse/lib/notification-levels\"], function (_exports, _notificationLevels) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.threadNotificationButtonLevels = void 0;\n const threadNotificationButtonLevels = _exports.threadNotificationButtonLevels = [_notificationLevels.NotificationLevels.WATCHING, _notificationLevels.NotificationLevels.TRACKING, _notificationLevels.NotificationLevels.REGULAR].map(_notificationLevels.buttonDetails);\n});","define(\"discourse/plugins/chat/discourse/lib/chat-threads-manager\", [\"exports\", \"@glimmer/tracking\", \"@ember/owner\", \"@ember/service\", \"@ember-compat/tracked-built-ins\", \"rsvp\", \"discourse/plugins/chat/discourse/models/chat-thread\"], function (_exports, _tracking, _owner, _service, _trackedBuiltIns, _rsvp, _chatThread) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n /*\n The ChatThreadsManager is responsible for managing the loaded chat threads\n for a ChatChannel model.\n \n It provides helpers to facilitate using and managing loaded threads instead of constantly\n fetching them from the server.\n */\n\n class ChatThreadsManager {\n static #_ = (() => dt7948.g(this.prototype, \"chatTrackingStateManager\", [_service.service]))();\n #chatTrackingStateManager = (() => (dt7948.i(this, \"chatTrackingStateManager\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"chatChannelsManager\", [_service.service]))();\n #chatChannelsManager = (() => (dt7948.i(this, \"chatChannelsManager\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"chatApi\", [_service.service]))();\n #chatApi = (() => (dt7948.i(this, \"chatApi\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"_cached\", [_tracking.tracked], function () {\n return new _trackedBuiltIns.TrackedObject();\n }))();\n #_cached = (() => (dt7948.i(this, \"_cached\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"_unreadThreadOverview\", [_tracking.tracked], function () {\n return new _trackedBuiltIns.TrackedMap();\n }))();\n #_unreadThreadOverview = (() => (dt7948.i(this, \"_unreadThreadOverview\"), void 0))();\n constructor(owner) {\n (0, _owner.setOwner)(this, owner);\n }\n get unreadThreadCount() {\n return this.unreadThreadOverview.size;\n }\n get unreadThreadOverview() {\n return this._unreadThreadOverview;\n }\n set unreadThreadOverview(unreadThreadOverview) {\n this._unreadThreadOverview.clear();\n for (const [threadId, lastReplyCreatedAt] of Object.entries(unreadThreadOverview)) {\n this.markThreadUnread(threadId, lastReplyCreatedAt);\n }\n }\n markThreadUnread(threadId, lastReplyCreatedAt) {\n this.unreadThreadOverview.set(parseInt(threadId, 10), new Date(lastReplyCreatedAt));\n }\n get threads() {\n return Object.values(this._cached);\n }\n static #_6 = (() => dt7948.n(this.prototype, \"threads\", [_tracking.cached]))();\n async find(channelId, threadId) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n fetchIfNotFound: true\n };\n const existingThread = this.#getFromCache(threadId);\n if (existingThread) {\n return _rsvp.default.resolve(existingThread);\n } else if (options.fetchIfNotFound) {\n return this.#fetchFromServer(channelId, threadId);\n } else {\n return _rsvp.default.resolve();\n }\n }\n remove(threadObject) {\n delete this._cached[threadObject.id];\n }\n add(channel, threadObject) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n let model;\n if (!options.replace) {\n model = this.#getFromCache(threadObject.id);\n }\n if (!model) {\n if (threadObject instanceof _chatThread.default) {\n model = threadObject;\n } else {\n model = _chatThread.default.create(channel, threadObject);\n }\n this.#cache(model);\n }\n if (threadObject?.meta?.message_bus_last_ids?.thread_message_bus_last_id !== undefined) {\n model.threadMessageBusLastId = threadObject.meta.message_bus_last_ids.thread_message_bus_last_id;\n }\n return model;\n }\n #cache(thread) {\n this._cached[thread.id] = thread;\n }\n #getFromCache(id) {\n return this._cached[id];\n }\n async #fetchFromServer(channelId, threadId) {\n return this.chatApi.thread(channelId, threadId).then(result => {\n return this.chatChannelsManager.find(channelId).then(channel => {\n return channel.threadsManager.add(channel, result.thread);\n });\n });\n }\n }\n _exports.default = ChatThreadsManager;\n});","define(\"discourse/plugins/chat/discourse/lib/chat-user-preferences\", [\"exports\", \"discourse/plugins/chat/discourse/controllers/preferences-chat\"], function (_exports, _preferencesChat) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.hasChatIndicator = hasChatIndicator;\n function hasChatIndicator(user) {\n const pref = user.user_option.chat_header_indicator_preference;\n return {\n ALL_NEW: pref === _preferencesChat.HEADER_INDICATOR_PREFERENCE_ALL_NEW,\n DM_AND_MENTIONS: pref === _preferencesChat.HEADER_INDICATOR_PREFERENCE_DM_AND_MENTIONS,\n ONLY_MENTIONS: pref === _preferencesChat.HEADER_INDICATOR_PREFERENCE_ONLY_MENTIONS,\n NEVER: pref === _preferencesChat.HEADER_INDICATOR_PREFERENCE_NEVER\n };\n }\n});","define(\"discourse/plugins/chat/discourse/lib/check-message-visibility\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.checkMessageBottomVisibility = checkMessageBottomVisibility;\n _exports.checkMessageTopVisibility = checkMessageTopVisibility;\n function checkMessageBottomVisibility(list, message) {\n const distanceToTop = window.pageYOffset + list.getBoundingClientRect().top;\n const bounding = message.getBoundingClientRect();\n return bounding.bottom - distanceToTop <= list.clientHeight + 1;\n }\n function checkMessageTopVisibility(list, message) {\n const distanceToTop = window.pageYOffset + list.getBoundingClientRect().top;\n const bounding = message.getBoundingClientRect();\n return bounding.top - distanceToTop >= -1;\n }\n});","define(\"discourse/plugins/chat/discourse/lib/collection\", [\"exports\", \"@glimmer/tracking\", \"rsvp\", \"discourse/lib/ajax\", \"discourse/lib/decorators\"], function (_exports, _tracking, _rsvp, _ajax, _decorators) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n /**\n * Handles a paginated API response.\n */\n class Collection {\n static #_ = (() => dt7948.g(this.prototype, \"items\", [_tracking.tracked], function () {\n return [];\n }))();\n #items = (() => (dt7948.i(this, \"items\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"meta\", [_tracking.tracked], function () {\n return {};\n }))();\n #meta = (() => (dt7948.i(this, \"meta\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"loading\", [_tracking.tracked], function () {\n return false;\n }))();\n #loading = (() => (dt7948.i(this, \"loading\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"fetchedOnce\", [_tracking.tracked], function () {\n return false;\n }))();\n #fetchedOnce = (() => (dt7948.i(this, \"fetchedOnce\"), void 0))();\n constructor(resourceURL, handler) {\n let params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n this._resourceURL = resourceURL;\n this._handler = handler;\n this._params = params;\n this._fetchedAll = false;\n }\n get loadMoreURL() {\n return this.meta?.load_more_url;\n }\n get totalRows() {\n return this.meta?.total_rows;\n }\n get length() {\n return this.items?.length;\n }\n\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols\n [Symbol.iterator]() {\n let index = 0;\n return {\n next: () => {\n if (index < this.length) {\n return {\n value: this.items[index++],\n done: false\n };\n } else {\n return {\n done: true\n };\n }\n }\n };\n }\n\n /**\n * Loads first batch of results\n * @returns {Promise}\n */\n load() {\n let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (this.loading || this._fetchedAll || this.totalRows && this.items.length >= this.totalRows) {\n return _rsvp.Promise.resolve();\n }\n this.loading = true;\n let endpoint;\n if (this.loadMoreURL) {\n endpoint = this.loadMoreURL;\n } else {\n const filteredQueryParams = Object.entries(params).filter(_ref => {\n let [, v] = _ref;\n return v !== undefined;\n });\n const queryString = new URLSearchParams(filteredQueryParams).toString();\n endpoint = this._resourceURL + (queryString ? `?${queryString}` : \"\");\n }\n return this.#fetch(endpoint).then(result => {\n const items = this._handler(result);\n if (items.length) {\n this.items = (this.items ?? []).concat(items);\n }\n if (!items.length || items.length < params.limit) {\n this._fetchedAll = true;\n }\n this.meta = result.meta;\n this.fetchedOnce = true;\n }).finally(() => {\n this.loading = false;\n });\n }\n static #_5 = (() => dt7948.n(this.prototype, \"load\", [_decorators.bind]))();\n #fetch(url) {\n return (0, _ajax.ajax)(url, {\n type: \"GET\",\n data: this._params\n });\n }\n }\n _exports.default = Collection;\n});","define(\"discourse/plugins/chat/discourse/lib/dates-separators-positioner\", [\"exports\", \"@ember/runloop\"], function (_exports, _runloop) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class DatesSeparatorsPositioner {\n static apply(list) {\n (0, _runloop.schedule)(\"afterRender\", () => {\n const dates = [...list.querySelectorAll(\".chat-message-separator-date\")].reverse();\n const height = list.querySelector(\".chat-messages-container\").clientHeight;\n dates.map((date, index) => {\n const item = {\n bottom: 0,\n date\n };\n const line = date.nextElementSibling;\n if (index > 0) {\n const prevDate = dates[index - 1];\n const prevLine = prevDate.nextElementSibling;\n item.bottom = height - prevLine.offsetTop;\n }\n if (dates.length === 1) {\n item.height = height;\n } else {\n if (index === 0) {\n item.height = height - line.offsetTop;\n } else {\n const prevDate = dates[index - 1];\n const prevLine = prevDate.nextElementSibling;\n item.height = height - line.offsetTop - (height - prevLine.offsetTop);\n }\n }\n return item;\n })\n // group all writes at the end\n .forEach(item => {\n item.date.style.bottom = item.bottom + \"px\";\n item.date.style.height = item.height + \"px\";\n });\n });\n }\n }\n _exports.default = DatesSeparatorsPositioner;\n});","define(\"discourse/plugins/chat/discourse/lib/extract-current-topic-info\", [\"exports\", \"@ember/owner\"], function (_exports, _owner) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.extractCurrentTopicInfo = extractCurrentTopicInfo;\n function extractCurrentTopicInfo(context) {\n const topic = (0, _owner.getOwner)(context).lookup(\"controller:topic\")?.model;\n if (!topic) {\n return;\n }\n const info = {\n context_topic_id: topic.id\n };\n const currentPostNumber = topic.currentPost;\n const posts = topic.postStream.posts;\n const currentPost = posts.find(post => post.post_number === currentPostNumber);\n const previousPost = posts.findLast(post => !post.hidden && !post.deleted_at && post.post_number < currentPostNumber);\n const nextPost = posts.find(post => !post.hidden && !post.deleted_at && post.post_number > currentPostNumber);\n info.context_post_ids = [previousPost?.id, currentPost?.id, nextPost?.id].filter(Boolean);\n return info;\n }\n});","define(\"discourse/plugins/chat/discourse/lib/fabricators\", [\"exports\", \"@ember/application/instance\", \"@ember/owner\", \"discourse/lib/fabricators\", \"discourse/models/category\", \"discourse/plugins/chat/discourse/models/chat-channel\", \"discourse/plugins/chat/discourse/models/chat-direct-message\", \"discourse/plugins/chat/discourse/models/chat-message\", \"discourse/plugins/chat/discourse/models/chat-message-reaction\", \"discourse/plugins/chat/discourse/models/chat-thread\", \"discourse/plugins/chat/discourse/models/chat-thread-preview\"], function (_exports, _instance, _owner, _fabricators, _category, _chatChannel, _chatDirectMessage, _chatMessage, _chatMessageReaction, _chatThread, _chatThreadPreview) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n /*\n Fabricators are used to create fake data for testing purposes.\n The following fabricators are available in lib folder to allow\n styleguide to use them, and eventually to generate dummy data\n in a placeholder component. It should not be used for any other case.\n */\n\n class ChatFabricators {\n constructor(owner) {\n if (owner && !(owner instanceof _instance.default)) {\n throw new Error(\"First argument of ChatFabricators constructor must be the owning ApplicationInstance\");\n }\n (0, _owner.setOwner)(this, owner);\n this.coreFabricators = new _fabricators.default(owner);\n }\n message() {\n let args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const channel = args.channel || this.channel();\n const message = _chatMessage.default.create(channel, Object.assign({\n id: args.id || (0, _fabricators.incrementSequence)(),\n user: args.user || this.coreFabricators.user(),\n message: args.message || \"@discobot **abc**defghijklmnopqrstuvwxyz [discourse](discourse.org) :rocket: \",\n created_at: args.created_at || moment()\n }, args));\n const excerptLength = 50;\n const text = message.message.toString();\n if (text.length <= excerptLength) {\n message.excerpt = text;\n } else {\n message.excerpt = text.slice(0, excerptLength) + \"...\";\n }\n return message;\n }\n channel() {\n let args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const id = args.id || (0, _fabricators.incrementSequence)();\n const chatable = args.chatable || this.coreFabricators.category();\n const channel = _chatChannel.default.create({\n id,\n chatable_type: (chatable instanceof _category.default ? _chatChannel.CHATABLE_TYPES.categoryChannel : _chatChannel.CHATABLE_TYPES.directMessageChannel) || chatable?.type || args.chatable_type,\n chatable_id: chatable?.id || args.chatable_id,\n title: args.title ? args.title : chatable instanceof _category.default ? chatable.name : null,\n description: args.description,\n chatable,\n status: args.status || _chatChannel.CHANNEL_STATUSES.open,\n slug: chatable?.slug || chatable instanceof _category.default ? chatable.slug : null,\n meta: {\n can_delete_self: true,\n ...(args.meta || {})\n },\n archive_failed: args.archive_failed ?? false,\n memberships_count: args.memberships_count ?? 0\n });\n channel.lastMessage = this.message({\n channel\n });\n return channel;\n }\n directMessage() {\n let args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return _chatDirectMessage.default.create({\n group: args.group ?? false,\n users: args.users ?? [this.coreFabricators.user(), this.coreFabricators.user()]\n });\n }\n directMessageChannel() {\n let args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const directMessage = args.chatable || this.directMessage({\n id: args.chatable_id || (0, _fabricators.incrementSequence)(),\n group: args.group ?? false,\n users: args.users\n });\n return this.channel(Object.assign(args, {\n chatable_type: _chatChannel.CHATABLE_TYPES.directMessageChannel,\n chatable_id: directMessage.id,\n chatable: directMessage,\n memberships_count: directMessage.users.length\n }));\n }\n thread() {\n let args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const channel = args.channel || this.channel();\n return _chatThread.default.create(channel, {\n id: args.id || (0, _fabricators.incrementSequence)(),\n title: args.title,\n original_message: args.original_message || this.message({\n channel\n }),\n preview: args.preview || this.threadPreview({\n channel\n })\n });\n }\n threadPreview() {\n let args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return _chatThreadPreview.default.create({\n last_reply_id: args.last_reply_id || (0, _fabricators.incrementSequence)(),\n last_reply_created_at: args.last_reply_created_at || Date.now(),\n last_reply_excerpt: args.last_reply_excerpt || \"This is a reply\",\n participant_count: args.participant_count ?? 0,\n participant_users: args.participant_users ?? []\n });\n }\n reaction() {\n let args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return _chatMessageReaction.default.create({\n count: args.count ?? 1,\n users: args.users || [this.coreFabricators.user()],\n emoji: args.emoji || \"heart\",\n reacted: args.reacted ?? false\n });\n }\n }\n _exports.default = ChatFabricators;\n});","define(\"discourse/plugins/chat/discourse/lib/get-reaction-text\", [\"exports\", \"discourse-i18n\"], function (_exports, _discourseI18n) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.MAX_DISPLAYED_USERNAMES = void 0;\n _exports.getReactionText = getReactionText;\n const MAX_DISPLAYED_USERNAMES = _exports.MAX_DISPLAYED_USERNAMES = 15;\n function filterUsernames(users, currentUser) {\n return users.filter(user => user.id !== currentUser?.id).slice(0, MAX_DISPLAYED_USERNAMES).mapBy(\"username\");\n }\n function reactionIncludingCurrentUser(reaction, currentUser) {\n if (reaction.count === 1) {\n return (0, _discourseI18n.i18n)(\"chat.reactions.only_you\", {\n emoji: reaction.emoji\n });\n }\n const usernames = filterUsernames(reaction.users, currentUser);\n if (reaction.count === 2) {\n return (0, _discourseI18n.i18n)(\"chat.reactions.you_and_single_user\", {\n emoji: reaction.emoji,\n username: usernames.pop()\n });\n }\n\n // - 1 for \"you\"\n const unnamedUserCount = reaction.count - usernames.length - 1;\n if (unnamedUserCount > 0) {\n return (0, _discourseI18n.i18n)(\"chat.reactions.you_multiple_users_and_more\", {\n emoji: reaction.emoji,\n commaSeparatedUsernames: joinUsernames(usernames),\n count: unnamedUserCount\n });\n }\n return (0, _discourseI18n.i18n)(\"chat.reactions.you_and_multiple_users\", {\n emoji: reaction.emoji,\n username: usernames.pop(),\n commaSeparatedUsernames: joinUsernames(usernames)\n });\n }\n function reactionText(reaction, currentUser) {\n const usernames = filterUsernames(reaction.users, currentUser);\n if (reaction.count === 1) {\n return (0, _discourseI18n.i18n)(\"chat.reactions.single_user\", {\n emoji: reaction.emoji,\n username: usernames.pop()\n });\n }\n const unnamedUserCount = reaction.count - usernames.length;\n if (unnamedUserCount > 0) {\n return (0, _discourseI18n.i18n)(\"chat.reactions.multiple_users_and_more\", {\n emoji: reaction.emoji,\n commaSeparatedUsernames: joinUsernames(usernames),\n count: unnamedUserCount\n });\n }\n return (0, _discourseI18n.i18n)(\"chat.reactions.multiple_users\", {\n emoji: reaction.emoji,\n username: usernames.pop(),\n commaSeparatedUsernames: joinUsernames(usernames)\n });\n }\n function joinUsernames(usernames) {\n return usernames.join((0, _discourseI18n.i18n)(\"word_connector.comma\"));\n }\n function getReactionText(reaction, currentUser) {\n if (reaction.count === 0) {\n return;\n }\n if (reaction.reacted) {\n return reactionIncludingCurrentUser(reaction, currentUser);\n } else {\n return reactionText(reaction, currentUser);\n }\n }\n});","define(\"discourse/plugins/chat/discourse/lib/get-user-chat-separate-sidebar-mode\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.getUserChatSeparateSidebarMode = getUserChatSeparateSidebarMode;\n function getUserChatSeparateSidebarMode(user) {\n let mode = user?.get(\"user_option.chat_separate_sidebar_mode\");\n if (mode === \"default\") {\n mode = user.siteSettings.chat_separate_sidebar_mode;\n }\n return {\n never: \"never\" === mode,\n always: \"always\" === mode,\n fullscreen: \"fullscreen\" === mode\n };\n }\n});","define(\"discourse/plugins/chat/discourse/lib/hashtag-types/channel\", [\"exports\", \"@ember/service\", \"discourse/lib/hashtag-types/base\", \"discourse/lib/icon-library\"], function (_exports, _service, _base, _iconLibrary) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChannelHashtagType extends _base.default {\n static #_ = (() => dt7948.g(this.prototype, \"chatChannelsManager\", [_service.service]))();\n #chatChannelsManager = (() => (dt7948.i(this, \"chatChannelsManager\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n get type() {\n return \"channel\";\n }\n get preloadedData() {\n if (this.currentUser) {\n return this.chatChannelsManager.publicMessageChannels;\n } else {\n return [];\n }\n }\n generateColorCssClasses(channelOrHashtag) {\n const color = channelOrHashtag.colors ? channelOrHashtag.colors[0] : channelOrHashtag.chatable.color;\n return [`.d-icon.hashtag-color--${this.type}-${channelOrHashtag.id} { color: #${color} }`];\n }\n generateIconHTML(hashtag) {\n hashtag.colors ? this.onLoad(hashtag) : this.load(hashtag.id);\n return (0, _iconLibrary.iconHTML)(hashtag.icon, {\n class: `hashtag-color--${this.type}-${hashtag.id}`\n });\n }\n isLoaded(id) {\n return super.isLoaded(id);\n }\n }\n _exports.default = ChannelHashtagType;\n});","define(\"discourse/plugins/chat/discourse/lib/init-sidebar-state\", [\"exports\", \"discourse/lib/sidebar/panels\", \"discourse/plugins/chat/discourse/lib/get-user-chat-separate-sidebar-mode\"], function (_exports, _panels, _getUserChatSeparateSidebarMode) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.CHAT_PANEL = void 0;\n _exports.initSidebarState = initSidebarState;\n const CHAT_PANEL = _exports.CHAT_PANEL = \"chat\";\n function initSidebarState(api, user) {\n const chatSeparateSidebarMode = (0, _getUserChatSeparateSidebarMode.getUserChatSeparateSidebarMode)(user);\n if (chatSeparateSidebarMode.fullscreen) {\n api.setCombinedSidebarMode();\n api.showSidebarSwitchPanelButtons();\n } else if (chatSeparateSidebarMode.always) {\n api.setSeparatedSidebarMode();\n } else {\n api.setCombinedSidebarMode();\n api.hideSidebarSwitchPanelButtons();\n }\n if (api.getSidebarPanel()?.key !== _panels.MAIN_PANEL && api.getSidebarPanel()?.key !== CHAT_PANEL) {\n return;\n }\n api.setSidebarPanel(_panels.MAIN_PANEL);\n }\n});","define(\"discourse/plugins/chat/discourse/lib/lightbox\", [\"exports\", \"jquery\", \"discourse/helpers/loading-spinner\", \"discourse/lib/load-script\", \"discourse-i18n\"], function (_exports, _jquery, _loadingSpinner, _loadScript, _discourseI18n) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = lightbox;\n function lightbox(images) {\n (0, _loadScript.default)(\"/javascripts/jquery.magnific-popup.min.js\").then(function () {\n (0, _jquery.default)(images).magnificPopup({\n type: \"image\",\n closeOnContentClick: false,\n mainClass: \"mfp-zoom-in\",\n tClose: (0, _discourseI18n.i18n)(\"lightbox.close\"),\n tLoading: _loadingSpinner.spinnerHTML,\n image: {\n verticalFit: true\n },\n gallery: {\n enabled: true\n },\n callbacks: {\n elementParse: item => {\n item.src = item.el[0].dataset.largeSrc || item.el[0].src;\n },\n open: function () {\n this.touchActionValue = document.body.style.touchAction;\n document.body.style.touchAction = \"\";\n },\n close: function () {\n document.body.style.touchAction = this.touchActionValue;\n }\n }\n });\n });\n }\n});","define(\"discourse/plugins/chat/discourse/lib/scroll-helpers\", [\"exports\", \"@ember/runloop\", \"discourse/plugins/chat/discourse/lib/chat-ios-hacks\"], function (_exports, _runloop, _chatIosHacks) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.scrollListToBottom = scrollListToBottom;\n _exports.scrollListToMessage = scrollListToMessage;\n _exports.scrollListToTop = scrollListToTop;\n async function scrollListToBottom(list) {\n await new Promise(resolve => {\n (0, _chatIosHacks.stackingContextFix)(list, () => {\n list.scrollTo({\n top: 0,\n behavior: \"auto\"\n });\n (0, _runloop.next)(resolve);\n });\n });\n }\n async function scrollListToTop(list) {\n await new Promise(resolve => {\n (0, _chatIosHacks.stackingContextFix)(list, () => {\n list.scrollTo({\n top: -list.scrollHeight,\n behavior: \"auto\"\n });\n (0, _runloop.next)(resolve);\n });\n });\n }\n function scrollListToMessage(list, message) {\n let opts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n highlight: false,\n position: \"start\",\n autoExpand: false\n };\n if (!message) {\n return;\n }\n if (message?.deletedAt && opts.autoExpand) {\n message.expanded = true;\n }\n (0, _runloop.schedule)(\"afterRender\", () => {\n const messageEl = list.querySelector(`.chat-message-container[data-id='${message.id}']`);\n if (!messageEl) {\n return;\n }\n if (opts.highlight) {\n message.highlight();\n }\n (0, _chatIosHacks.stackingContextFix)(list, () => {\n messageEl.scrollIntoView({\n behavior: \"auto\",\n block: opts.position || \"center\"\n });\n });\n });\n }\n});","define(\"discourse/plugins/chat/discourse/lib/slugify-channel\", [\"exports\", \"discourse/lib/utilities\"], function (_exports, _utilities) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = slugifyChannel;\n function slugifyChannel(channel) {\n if (channel.slug) {\n return channel.slug;\n }\n if (!channel.escapedTitle && !channel.title) {\n return \"-\";\n }\n const slug = (0, _utilities.slugify)(channel.escapedTitle || channel.title);\n const resolvedSlug = (slug.length ? slug : channel.title.trim().toLowerCase().replace(/\\s|_+/g, \"-\")).slice(0, 100);\n if (!resolvedSlug) {\n return \"-\";\n }\n return resolvedSlug;\n }\n});","define(\"discourse/plugins/chat/discourse/lib/textarea-interactor\", [\"exports\", \"@ember/destroyable\", \"@ember/object\", \"@ember/owner\", \"@ember/runloop\", \"@ember/service\", \"discourse/lib/decorators\", \"discourse/lib/textarea-text-manipulation\"], function (_exports, _destroyable, _object, _owner, _runloop, _service, _decorators, _textareaTextManipulation) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n // This class sole purpose is to provide a way to interact with the textarea\n // using the existing TextareaTextManipulation mixin without using it directly\n // in the composer component. It will make future migration easier.\n class TextareaInteractor extends _object.default {\n static #_ = (() => dt7948.g(this.prototype, \"capabilities\", [_service.service]))();\n #capabilities = (() => (dt7948.i(this, \"capabilities\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n textManipulation;\n constructor(owner, textarea) {\n super(...arguments);\n (0, _owner.setOwner)(this, owner);\n this.textarea = textarea;\n this.element = textarea;\n this.textManipulation = new _textareaTextManipulation.default(owner, {\n textarea,\n // we don't need app events\n eventPrefix: null\n });\n\n // paste is using old native ember events defined on composer\n this.textarea.addEventListener(\"paste\", this.textManipulation.paste);\n (0, _destroyable.registerDestructor)(this, instance => instance.teardown());\n }\n teardown() {\n this.textarea.removeEventListener(\"paste\", this.textManipulation.paste);\n }\n set value(value) {\n this.textarea.value = value;\n const event = new Event(\"input\", {\n bubbles: true,\n cancelable: true\n });\n this.textarea.dispatchEvent(event);\n }\n blur() {\n (0, _runloop.next)(() => {\n this.textarea.blur();\n });\n }\n static #_4 = (() => dt7948.n(this.prototype, \"blur\", [_decorators.bind]))();\n focus() {\n let opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n ensureAtEnd: false,\n refreshHeight: true,\n addText: null\n };\n (0, _runloop.next)(() => {\n if (opts.refreshHeight) {\n this.refreshHeight();\n }\n if (opts.ensureAtEnd) {\n this.ensureCaretAtEnd();\n }\n if (this.capabilities.isIpadOS || this.site.mobileView) {\n return;\n }\n if (opts.addText) {\n this.textManipulation.addText(this.textManipulation.getSelected(), opts.addText);\n }\n this.textManipulation.blurAndFocus();\n });\n }\n static #_5 = (() => dt7948.n(this.prototype, \"focus\", [_decorators.bind]))();\n ensureCaretAtEnd() {\n (0, _runloop.schedule)(\"afterRender\", () => {\n this.textarea.setSelectionRange(this.textarea.value.length, this.textarea.value.length);\n });\n }\n static #_6 = (() => dt7948.n(this.prototype, \"ensureCaretAtEnd\", [_decorators.bind]))();\n refreshHeight() {\n (0, _runloop.schedule)(\"afterRender\", () => {\n // this is a quirk which forces us to `auto` first or textarea\n // won't resize\n this.textarea.style.height = \"auto\";\n\n // +1 is to workaround a rounding error visible on electron\n // causing scrollbars to show when they shouldn’t\n this.textarea.style.height = this.textarea.scrollHeight + 1 + \"px\";\n });\n }\n static #_7 = (() => dt7948.n(this.prototype, \"refreshHeight\", [_decorators.bind]))();\n getSelected() {\n return this.textManipulation.getSelected(...arguments);\n }\n static #_8 = (() => dt7948.n(this.prototype, \"getSelected\", [_decorators.bind]))();\n applySurround() {\n return this.textManipulation.applySurround(...arguments);\n }\n static #_9 = (() => dt7948.n(this.prototype, \"applySurround\", [_decorators.bind]))();\n addText() {\n return this.textManipulation.addText(...arguments);\n }\n static #_10 = (() => dt7948.n(this.prototype, \"addText\", [_decorators.bind]))();\n isInside() {\n return this.textManipulation.isInside(...arguments);\n }\n static #_11 = (() => dt7948.n(this.prototype, \"isInside\", [_decorators.bind]))();\n emojiSelected(code) {\n this.textManipulation.emojiSelected(code);\n }\n }\n _exports.default = TextareaInteractor;\n});","define(\"discourse/plugins/chat/discourse/lib/transform-auto-links\", [\"exports\", \"discourse/lib/get-url\", \"discourse/lib/hashtag-decorator\"], function (_exports, _getUrl, _hashtagDecorator) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = transformAutolinks;\n const domParser = new DOMParser();\n function transformAutolinks(cooked) {\n const html = domParser.parseFromString(cooked, \"text/html\");\n transformMentions(html);\n transformHashtags(html);\n return html.body.innerHTML;\n }\n function transformMentions(html) {\n (html.querySelectorAll(\"span.mention\") || []).forEach(mentionSpan => {\n let mentionLink = document.createElement(\"a\");\n let mentionText = document.createTextNode(mentionSpan.innerText);\n mentionLink.classList.add(\"mention\");\n mentionLink.appendChild(mentionText);\n mentionLink.href = (0, _getUrl.default)(`/u/${mentionSpan.innerText.substring(1)}`);\n mentionSpan.replaceWith(mentionLink);\n });\n }\n function transformHashtags(html) {\n (html.querySelectorAll(\"span.hashtag-raw\") || []).forEach(hashtagSpan => {\n // Doesn't matter what \"type\" of hashtag we use here, it will get replaced anyway,\n // this is just for the placeholder HTML.\n (0, _hashtagDecorator.generatePlaceholderHashtagHTML)(\"category\", hashtagSpan, {\n id: -1,\n text: \"...\",\n relative_url: \"/\",\n slug: \"\",\n icon: \"square-full\"\n });\n });\n }\n});","define(\"discourse/plugins/chat/discourse/models/chat-channel-archive\", [\"exports\", \"@glimmer/tracking\"], function (_exports, _tracking) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatChannelArchive {\n static create() {\n let args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new ChatChannelArchive(args);\n }\n static #_ = (() => dt7948.g(this.prototype, \"failed\", [_tracking.tracked]))();\n #failed = (() => (dt7948.i(this, \"failed\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"completed\", [_tracking.tracked]))();\n #completed = (() => (dt7948.i(this, \"completed\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"messages\", [_tracking.tracked]))();\n #messages = (() => (dt7948.i(this, \"messages\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"topicId\", [_tracking.tracked]))();\n #topicId = (() => (dt7948.i(this, \"topicId\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"totalMessages\", [_tracking.tracked]))();\n #totalMessages = (() => (dt7948.i(this, \"totalMessages\"), void 0))();\n constructor() {\n let args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.failed = args.archive_failed;\n this.completed = args.archive_completed;\n this.messages = args.archived_messages;\n this.topicId = args.archive_topic_id;\n this.totalMessages = args.total_messages;\n }\n }\n _exports.default = ChatChannelArchive;\n});","define(\"discourse/plugins/chat/discourse/models/chat-channel\", [\"exports\", \"@glimmer/tracking\", \"pretty-text/guid\", \"discourse/lib/get-owner\", \"discourse/lib/get-url\", \"discourse/lib/utilities\", \"discourse/models/category\", \"discourse/plugins/chat/discourse/lib/chat-messages-manager\", \"discourse/plugins/chat/discourse/lib/chat-threads-manager\", \"discourse/plugins/chat/discourse/lib/slugify-channel\", \"discourse/plugins/chat/discourse/models/chat-channel-archive\", \"discourse/plugins/chat/discourse/models/chat-direct-message\", \"discourse/plugins/chat/discourse/models/chat-message\", \"discourse/plugins/chat/discourse/models/chat-tracking-state\", \"discourse/plugins/chat/discourse/models/user-chat-channel-membership\"], function (_exports, _tracking3, _guid, _getOwner, _getUrl, _utilities, _category, _chatMessagesManager, _chatThreadsManager, _slugifyChannel, _chatChannelArchive, _chatDirectMessage, _chatMessage, _chatTrackingState, _userChatChannelMembership) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.CHATABLE_TYPES = _exports.CHANNEL_STATUSES = void 0;\n _exports.channelStatusIcon = channelStatusIcon;\n _exports.default = void 0;\n const CHATABLE_TYPES = _exports.CHATABLE_TYPES = {\n directMessageChannel: \"DirectMessage\",\n categoryChannel: \"Category\"\n };\n const CHANNEL_STATUSES = _exports.CHANNEL_STATUSES = {\n open: \"open\",\n readOnly: \"read_only\",\n closed: \"closed\",\n archived: \"archived\"\n };\n function channelStatusIcon(channelStatus) {\n if (channelStatus === CHANNEL_STATUSES.open) {\n return null;\n }\n switch (channelStatus) {\n case CHANNEL_STATUSES.closed:\n return \"lock\";\n case CHANNEL_STATUSES.readOnly:\n return \"comment-slash\";\n case CHANNEL_STATUSES.archived:\n return \"box-archive\";\n }\n }\n const STAFF_READONLY_STATUSES = [CHANNEL_STATUSES.readOnly, CHANNEL_STATUSES.archived];\n const READONLY_STATUSES = [CHANNEL_STATUSES.closed, CHANNEL_STATUSES.readOnly, CHANNEL_STATUSES.archived];\n class ChatChannel {\n static create() {\n let args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new ChatChannel(args);\n }\n static #_ = (() => dt7948.g(this.prototype, \"title\", [_tracking3.tracked]))();\n #title = (() => (dt7948.i(this, \"title\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"slug\", [_tracking3.tracked]))();\n #slug = (() => (dt7948.i(this, \"slug\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"description\", [_tracking3.tracked]))();\n #description = (() => (dt7948.i(this, \"description\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"status\", [_tracking3.tracked]))();\n #status = (() => (dt7948.i(this, \"status\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"activeThread\", [_tracking3.tracked]))();\n #activeThread = (() => (dt7948.i(this, \"activeThread\"), void 0))();\n static #_6 = (() => dt7948.g(this.prototype, \"meta\", [_tracking3.tracked]))();\n #meta = (() => (dt7948.i(this, \"meta\"), void 0))();\n static #_7 = (() => dt7948.g(this.prototype, \"chatableId\", [_tracking3.tracked]))();\n #chatableId = (() => (dt7948.i(this, \"chatableId\"), void 0))();\n static #_8 = (() => dt7948.g(this.prototype, \"chatableType\", [_tracking3.tracked]))();\n #chatableType = (() => (dt7948.i(this, \"chatableType\"), void 0))();\n static #_9 = (() => dt7948.g(this.prototype, \"chatableUrl\", [_tracking3.tracked]))();\n #chatableUrl = (() => (dt7948.i(this, \"chatableUrl\"), void 0))();\n static #_10 = (() => dt7948.g(this.prototype, \"autoJoinUsers\", [_tracking3.tracked]))();\n #autoJoinUsers = (() => (dt7948.i(this, \"autoJoinUsers\"), void 0))();\n static #_11 = (() => dt7948.g(this.prototype, \"allowChannelWideMentions\", [_tracking3.tracked]))();\n #allowChannelWideMentions = (() => (dt7948.i(this, \"allowChannelWideMentions\"), void 0))();\n static #_12 = (() => dt7948.g(this.prototype, \"membershipsCount\", [_tracking3.tracked]))();\n #membershipsCount = (() => (dt7948.i(this, \"membershipsCount\"), void 0))();\n static #_13 = (() => dt7948.g(this.prototype, \"archive\", [_tracking3.tracked]))();\n #archive = (() => (dt7948.i(this, \"archive\"), void 0))();\n static #_14 = (() => dt7948.g(this.prototype, \"tracking\", [_tracking3.tracked]))();\n #tracking = (() => (dt7948.i(this, \"tracking\"), void 0))();\n static #_15 = (() => dt7948.g(this.prototype, \"threadingEnabled\", [_tracking3.tracked]))();\n #threadingEnabled = (() => (dt7948.i(this, \"threadingEnabled\"), void 0))();\n static #_16 = (() => dt7948.g(this.prototype, \"draft\", [_tracking3.tracked]))();\n #draft = (() => (dt7948.i(this, \"draft\"), void 0))();\n static #_17 = (() => dt7948.g(this.prototype, \"newestMessage\", [_tracking3.tracked]))();\n #newestMessage = (() => (dt7948.i(this, \"newestMessage\"), void 0))();\n threadsManager = (() => new _chatThreadsManager.default((0, _getOwner.getOwnerWithFallback)(this)))();\n messagesManager = (() => new _chatMessagesManager.default((0, _getOwner.getOwnerWithFallback)(this)))();\n static #_18 = (() => dt7948.g(this.prototype, \"_currentUserMembership\", [_tracking3.tracked]))();\n #_currentUserMembership = (() => (dt7948.i(this, \"_currentUserMembership\"), void 0))();\n static #_19 = (() => dt7948.g(this.prototype, \"_lastMessage\", [_tracking3.tracked]))();\n #_lastMessage = (() => (dt7948.i(this, \"_lastMessage\"), void 0))();\n constructor() {\n let args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.id = args.id;\n this.chatableId = args.chatable_id;\n this.chatableUrl = args.chatable_url;\n this.chatableType = args.chatable_type;\n this.membershipsCount = args.memberships_count;\n this.slug = args.slug;\n this.title = args.title;\n this.unicodeTitle = args.unicode_title;\n this.status = args.status;\n this.description = args.description;\n this.threadingEnabled = args.threading_enabled;\n this.autoJoinUsers = args.auto_join_users;\n this.allowChannelWideMentions = args.allow_channel_wide_mentions;\n this.currentUserMembership = args.current_user_membership;\n this.lastMessage = args.last_message;\n this.meta = args.meta;\n this.iconUploadUrl = args.icon_upload_url ? (0, _getUrl.getURLWithCDN)(args.icon_upload_url) : null;\n this.chatable = this.#initChatable(args.chatable ?? []);\n this.tracking = new _chatTrackingState.default((0, _getOwner.getOwnerWithFallback)(this));\n if (args.archive_completed || args.archive_failed) {\n this.archive = _chatChannelArchive.default.create(args);\n }\n }\n get unreadThreadsCountSinceLastViewed() {\n return Array.from(this.threadsManager.unreadThreadOverview.values()).filter(lastReplyCreatedAt => lastReplyCreatedAt >= this.currentUserMembership.lastViewedAt).length;\n }\n get unreadThreadsCount() {\n return this.threadsManager.unreadThreadCount;\n }\n get lastUnreadThreadDate() {\n if (this.unreadThreadsCount === 0) {\n return this.lastMessage.createdAt;\n }\n return Array.from(this.threadsManager.unreadThreadOverview.values()).sort((a, b) => b - a).pop();\n }\n get watchedThreadsUnreadCount() {\n return this.threadsManager.threads.reduce((unreadCount, thread) => {\n return unreadCount + thread.tracking.watchedThreadsUnreadCount;\n }, 0);\n }\n updateLastViewedAt() {\n this.currentUserMembership.lastViewedAt = new Date();\n }\n get canDeleteSelf() {\n return this.meta.can_delete_self;\n }\n get canDeleteOthers() {\n return this.meta.can_delete_others;\n }\n get canFlag() {\n return this.meta.can_flag;\n }\n get userSilenced() {\n return this.meta.user_silenced;\n }\n get canModerate() {\n return this.meta.can_moderate;\n }\n get canRemoveMembers() {\n return this.meta.can_remove_members;\n }\n get escapedTitle() {\n return (0, _utilities.escapeExpression)(this.title);\n }\n get escapedDescription() {\n return (0, _utilities.escapeExpression)(this.description);\n }\n get slugifiedTitle() {\n return this.slug || (0, _slugifyChannel.default)(this);\n }\n get routeModels() {\n return [this.slugifiedTitle, this.id];\n }\n get isDirectMessageChannel() {\n return this.chatableType === CHATABLE_TYPES.directMessageChannel;\n }\n get isCategoryChannel() {\n return this.chatableType === CHATABLE_TYPES.categoryChannel;\n }\n get isOpen() {\n return !this.status || this.status === CHANNEL_STATUSES.open;\n }\n get isReadOnly() {\n return this.status === CHANNEL_STATUSES.readOnly;\n }\n get isClosed() {\n return this.status === CHANNEL_STATUSES.closed;\n }\n get isArchived() {\n return this.status === CHANNEL_STATUSES.archived;\n }\n get isJoinable() {\n return this.isOpen && !this.isArchived;\n }\n get isFollowing() {\n return this.currentUserMembership.following;\n }\n get canJoin() {\n return this.meta.can_join_chat_channel;\n }\n get hasUnread() {\n return this.tracking.unreadCount + this.tracking.mentionCount + this.tracking.watchedThreadsUnreadCount + this.threadsManager.unreadThreadCount > 0;\n }\n async stageMessage(message) {\n message.id = (0, _guid.default)();\n message.staged = true;\n message.processed = false;\n message.draft = false;\n message.createdAt = new Date();\n message.channel = this;\n if (message.inReplyTo) {\n if (!this.threadingEnabled) {\n this.messagesManager.addMessages([message]);\n }\n } else {\n this.messagesManager.addMessages([message]);\n }\n message.manager = this.messagesManager;\n }\n resetDraft(user) {\n this.draft = _chatMessage.default.createDraftMessage(this, {\n user\n });\n }\n canModifyMessages(user) {\n if (user.staff) {\n return !STAFF_READONLY_STATUSES.includes(this.status);\n }\n return !READONLY_STATUSES.includes(this.status);\n }\n get currentUserMembership() {\n return this._currentUserMembership;\n }\n set currentUserMembership(membership) {\n if (membership instanceof _userChatChannelMembership.default) {\n this._currentUserMembership = membership;\n } else {\n this._currentUserMembership = _userChatChannelMembership.default.create(membership);\n }\n }\n get lastMessage() {\n return this._lastMessage;\n }\n set lastMessage(message) {\n if (!message) {\n this._lastMessage = null;\n return;\n }\n if (message instanceof _chatMessage.default) {\n this._lastMessage = message;\n } else {\n this._lastMessage = _chatMessage.default.create(this, message);\n }\n }\n #initChatable(chatable) {\n if (!chatable || chatable instanceof _category.default || chatable instanceof _chatDirectMessage.default) {\n return chatable;\n } else {\n if (this.isDirectMessageChannel) {\n return _chatDirectMessage.default.create({\n users: chatable?.users,\n group: chatable?.group\n });\n } else {\n return _category.default.create(chatable);\n }\n }\n }\n }\n _exports.default = ChatChannel;\n});","define(\"discourse/plugins/chat/discourse/models/chat-chatable\", [\"exports\", \"@glimmer/tracking\", \"@ember/service\", \"discourse/models/category\", \"discourse/models/group\", \"discourse/models/user\", \"discourse/plugins/chat/discourse/models/chat-channel\"], function (_exports, _tracking3, _service, _category, _group, _user, _chatChannel) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatChatable {\n static create() {\n let args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new ChatChatable(args);\n }\n static createUser(model) {\n return new ChatChatable({\n type: \"user\",\n model,\n identifier: `u-${model.id}`\n });\n }\n static createGroup(model) {\n return new ChatChatable({\n type: \"group\",\n model,\n identifier: `g-${model.id}`\n });\n }\n static createChannel(model) {\n return new ChatChatable({\n type: \"channel\",\n model,\n identifier: `c-${model.id}`\n });\n }\n static #_ = (() => dt7948.g(this.prototype, \"chatChannelsManager\", [_service.service]))();\n #chatChannelsManager = (() => (dt7948.i(this, \"chatChannelsManager\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"identifier\", [_tracking3.tracked]))();\n #identifier = (() => (dt7948.i(this, \"identifier\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"type\", [_tracking3.tracked]))();\n #type = (() => (dt7948.i(this, \"type\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"model\", [_tracking3.tracked]))();\n #model = (() => (dt7948.i(this, \"model\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"enabled\", [_tracking3.tracked], function () {\n return true;\n }))();\n #enabled = (() => (dt7948.i(this, \"enabled\"), void 0))();\n static #_6 = (() => dt7948.g(this.prototype, \"tracking\", [_tracking3.tracked]))();\n #tracking = (() => (dt7948.i(this, \"tracking\"), void 0))();\n constructor() {\n let args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.identifier = args.identifier;\n this.type = args.type;\n switch (this.type) {\n case \"channel\":\n if (args.model.chatable?.users?.length === 1) {\n this.enabled = args.model.chatable?.users[0].has_chat_enabled;\n }\n if (args.model instanceof _chatChannel.default) {\n this.model = args.model;\n break;\n }\n this.model = _chatChannel.default.create(args.model);\n break;\n case \"user\":\n this.enabled = args.model.has_chat_enabled;\n if (args.model instanceof _user.default) {\n this.model = args.model;\n break;\n }\n this.model = _user.default.create(args.model);\n break;\n case \"group\":\n this.enabled = args.model.can_chat;\n if (args.model instanceof _group.default) {\n this.model = args.model;\n break;\n }\n this.model = _group.default.create(args.model);\n break;\n }\n }\n get isUser() {\n return this.type === \"user\";\n }\n get isGroup() {\n return this.type === \"group\";\n }\n get isCategory() {\n return this instanceof _category.default;\n }\n }\n _exports.default = ChatChatable;\n});","define(\"discourse/plugins/chat/discourse/models/chat-direct-message\", [\"exports\", \"@glimmer/tracking\", \"discourse/models/user\", \"discourse/plugins/chat/discourse/models/chat-channel\"], function (_exports, _tracking, _user, _chatChannel) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatDirectMessage {\n static create() {\n let args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new ChatDirectMessage(args);\n }\n static #_ = (() => dt7948.g(this.prototype, \"users\", [_tracking.tracked]))();\n #users = (() => (dt7948.i(this, \"users\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"group\", [_tracking.tracked]))();\n #group = (() => (dt7948.i(this, \"group\"), void 0))();\n type = (() => _chatChannel.CHATABLE_TYPES.directMessageChannel)();\n constructor() {\n let args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.group = args.group ?? false;\n this.users = this.#initUsers(args.users || []);\n }\n #initUsers(users) {\n return users.map(user => {\n if (!user || user instanceof _user.default) {\n return user;\n } else {\n return _user.default.create(user);\n }\n });\n }\n }\n _exports.default = ChatDirectMessage;\n});","define(\"discourse/plugins/chat/discourse/models/chat-message-reaction\", [\"exports\", \"@glimmer/tracking\", \"@ember-compat/tracked-built-ins\", \"discourse/models/user\"], function (_exports, _tracking, _trackedBuiltIns, _user) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = _exports.REACTIONS = void 0;\n const REACTIONS = _exports.REACTIONS = {\n add: \"add\",\n remove: \"remove\"\n };\n class ChatMessageReaction {\n static create() {\n let args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new ChatMessageReaction(args);\n }\n static #_ = (() => dt7948.g(this.prototype, \"count\", [_tracking.tracked]))();\n #count = (() => (dt7948.i(this, \"count\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"reacted\", [_tracking.tracked]))();\n #reacted = (() => (dt7948.i(this, \"reacted\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"users\", [_tracking.tracked]))();\n #users = (() => (dt7948.i(this, \"users\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"emoji\", [_tracking.tracked]))();\n #emoji = (() => (dt7948.i(this, \"emoji\"), void 0))();\n constructor() {\n let args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.count = args.count;\n this.emoji = args.emoji;\n this.reacted = args.reacted;\n this.users = this.#initUsersModels(args.users);\n }\n #initUsersModels() {\n let users = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n return new _trackedBuiltIns.TrackedArray(users.map(user => {\n if (user instanceof _user.default) {\n return user;\n }\n return _user.default.create(user);\n }));\n }\n }\n _exports.default = ChatMessageReaction;\n});","define(\"discourse/plugins/chat/discourse/models/chat-message\", [\"exports\", \"@glimmer/tracking\", \"@ember-compat/tracked-built-ins\", \"discourse/lib/get-owner\", \"discourse/lib/later\", \"discourse/lib/text\", \"discourse/models/bookmark\", \"discourse/models/user\", \"discourse/plugins/chat/discourse/lib/transform-auto-links\", \"discourse/plugins/chat/discourse/models/chat-message-reaction\"], function (_exports, _tracking, _trackedBuiltIns, _getOwner, _later, _text, _bookmark3, _user3, _transformAutoLinks, _chatMessageReaction) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatMessage {\n static cookFunction = null;\n static create(channel) {\n let args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return new ChatMessage(channel, args);\n }\n static createDraftMessage(channel) {\n let args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n args.draft = true;\n return ChatMessage.create(channel, args);\n }\n static #_ = (() => dt7948.g(this.prototype, \"id\", [_tracking.tracked]))();\n #id = (() => (dt7948.i(this, \"id\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"error\", [_tracking.tracked]))();\n #error = (() => (dt7948.i(this, \"error\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"selected\", [_tracking.tracked]))();\n #selected = (() => (dt7948.i(this, \"selected\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"channel\", [_tracking.tracked]))();\n #channel = (() => (dt7948.i(this, \"channel\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"staged\", [_tracking.tracked]))();\n #staged = (() => (dt7948.i(this, \"staged\"), void 0))();\n static #_6 = (() => dt7948.g(this.prototype, \"processed\", [_tracking.tracked]))();\n #processed = (() => (dt7948.i(this, \"processed\"), void 0))();\n static #_7 = (() => dt7948.g(this.prototype, \"draftSaved\", [_tracking.tracked]))();\n #draftSaved = (() => (dt7948.i(this, \"draftSaved\"), void 0))();\n static #_8 = (() => dt7948.g(this.prototype, \"draft\", [_tracking.tracked]))();\n #draft = (() => (dt7948.i(this, \"draft\"), void 0))();\n static #_9 = (() => dt7948.g(this.prototype, \"createdAt\", [_tracking.tracked]))();\n #createdAt = (() => (dt7948.i(this, \"createdAt\"), void 0))();\n static #_10 = (() => dt7948.g(this.prototype, \"uploads\", [_tracking.tracked]))();\n #uploads = (() => (dt7948.i(this, \"uploads\"), void 0))();\n static #_11 = (() => dt7948.g(this.prototype, \"excerpt\", [_tracking.tracked]))();\n #excerpt = (() => (dt7948.i(this, \"excerpt\"), void 0))();\n static #_12 = (() => dt7948.g(this.prototype, \"reactions\", [_tracking.tracked]))();\n #reactions = (() => (dt7948.i(this, \"reactions\"), void 0))();\n static #_13 = (() => dt7948.g(this.prototype, \"reviewableId\", [_tracking.tracked]))();\n #reviewableId = (() => (dt7948.i(this, \"reviewableId\"), void 0))();\n static #_14 = (() => dt7948.g(this.prototype, \"user\", [_tracking.tracked]))();\n #user = (() => (dt7948.i(this, \"user\"), void 0))();\n static #_15 = (() => dt7948.g(this.prototype, \"inReplyTo\", [_tracking.tracked]))();\n #inReplyTo = (() => (dt7948.i(this, \"inReplyTo\"), void 0))();\n static #_16 = (() => dt7948.g(this.prototype, \"expanded\", [_tracking.tracked]))();\n #expanded = (() => (dt7948.i(this, \"expanded\"), void 0))();\n static #_17 = (() => dt7948.g(this.prototype, \"bookmark\", [_tracking.tracked]))();\n #bookmark = (() => (dt7948.i(this, \"bookmark\"), void 0))();\n static #_18 = (() => dt7948.g(this.prototype, \"userFlagStatus\", [_tracking.tracked]))();\n #userFlagStatus = (() => (dt7948.i(this, \"userFlagStatus\"), void 0))();\n static #_19 = (() => dt7948.g(this.prototype, \"hidden\", [_tracking.tracked]))();\n #hidden = (() => (dt7948.i(this, \"hidden\"), void 0))();\n static #_20 = (() => dt7948.g(this.prototype, \"version\", [_tracking.tracked], function () {\n return 0;\n }))();\n #version = (() => (dt7948.i(this, \"version\"), void 0))();\n static #_21 = (() => dt7948.g(this.prototype, \"edited\", [_tracking.tracked]))();\n #edited = (() => (dt7948.i(this, \"edited\"), void 0))();\n static #_22 = (() => dt7948.g(this.prototype, \"editing\", [_tracking.tracked]))();\n #editing = (() => (dt7948.i(this, \"editing\"), void 0))();\n static #_23 = (() => dt7948.g(this.prototype, \"chatWebhookEvent\", [_tracking.tracked]))();\n #chatWebhookEvent = (() => (dt7948.i(this, \"chatWebhookEvent\"), void 0))();\n static #_24 = (() => dt7948.g(this.prototype, \"mentionWarning\", [_tracking.tracked]))();\n #mentionWarning = (() => (dt7948.i(this, \"mentionWarning\"), void 0))();\n static #_25 = (() => dt7948.g(this.prototype, \"availableFlags\", [_tracking.tracked]))();\n #availableFlags = (() => (dt7948.i(this, \"availableFlags\"), void 0))();\n static #_26 = (() => dt7948.g(this.prototype, \"highlighted\", [_tracking.tracked]))();\n #highlighted = (() => (dt7948.i(this, \"highlighted\"), void 0))();\n static #_27 = (() => dt7948.g(this.prototype, \"firstOfResults\", [_tracking.tracked]))();\n #firstOfResults = (() => (dt7948.i(this, \"firstOfResults\"), void 0))();\n static #_28 = (() => dt7948.g(this.prototype, \"message\", [_tracking.tracked]))();\n #message = (() => (dt7948.i(this, \"message\"), void 0))();\n static #_29 = (() => dt7948.g(this.prototype, \"manager\", [_tracking.tracked]))();\n #manager = (() => (dt7948.i(this, \"manager\"), void 0))();\n static #_30 = (() => dt7948.g(this.prototype, \"deletedById\", [_tracking.tracked]))();\n #deletedById = (() => (dt7948.i(this, \"deletedById\"), void 0))();\n static #_31 = (() => dt7948.g(this.prototype, \"streaming\", [_tracking.tracked]))();\n #streaming = (() => (dt7948.i(this, \"streaming\"), void 0))();\n static #_32 = (() => dt7948.g(this.prototype, \"_deletedAt\", [_tracking.tracked]))();\n #_deletedAt = (() => (dt7948.i(this, \"_deletedAt\"), void 0))();\n static #_33 = (() => dt7948.g(this.prototype, \"_cooked\", [_tracking.tracked]))();\n #_cooked = (() => (dt7948.i(this, \"_cooked\"), void 0))();\n static #_34 = (() => dt7948.g(this.prototype, \"_thread\", [_tracking.tracked]))();\n #_thread = (() => (dt7948.i(this, \"_thread\"), void 0))();\n constructor(channel) {\n let args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.id = args.id;\n this.channel = channel;\n this.streaming = args.streaming;\n this.manager = args.manager;\n this.draftSaved = args.draftSaved ?? args.draft_saved ?? false;\n this.firstOfResults = args.firstOfResults ?? args.first_of_results ?? false;\n this.staged = args.staged ?? false;\n this.processed = args.processed ?? true;\n this.edited = args.edited ?? false;\n this.editing = args.editing ?? false;\n this.availableFlags = args.availableFlags ?? args.available_flags;\n this.hidden = args.hidden ?? false;\n this.chatWebhookEvent = args.chatWebhookEvent ?? args.chat_webhook_event;\n this.createdAt = args.created_at ? new Date(args.created_at) : new Date(args.createdAt);\n this.deletedById = args.deletedById || args.deleted_by_id;\n this._deletedAt = args.deletedAt || args.deleted_at;\n this.expanded = this.hidden || this._deletedAt ? false : args.expanded ?? true;\n this.excerpt = args.excerpt;\n this.reviewableId = args.reviewableId ?? args.reviewable_id;\n this.userFlagStatus = args.userFlagStatus ?? args.user_flag_status;\n this.draft = args.draft;\n this.message = args.message ?? \"\";\n this._cooked = args.cooked ?? \"\";\n this.inReplyTo = args.inReplyTo ?? (args.in_reply_to ?? args.replyToMsg ? ChatMessage.create(channel, args.in_reply_to ?? args.replyToMsg) : null);\n this.reactions = this.#initChatMessageReactionModel(args.reactions);\n this.uploads = new _trackedBuiltIns.TrackedArray(args.uploads || []);\n this.user = this.#initUserModel(args.user);\n this.bookmark = args.bookmark ? _bookmark3.default.create(args.bookmark) : null;\n this.mentionedUsers = this.#initMentionedUsers(args.mentioned_users);\n this.blocks = args.blocks;\n if (args.thread) {\n this.thread = args.thread;\n }\n }\n get persisted() {\n return !!this.id && !this.staged;\n }\n get replyable() {\n return !this.staged && !this.error;\n }\n get editable() {\n return !this.staged && !this.error;\n }\n get thread() {\n return this._thread;\n }\n set thread(thread) {\n if (!thread) {\n this._thread = null;\n return;\n }\n this._thread = this.channel.threadsManager.add(this.channel, thread, {\n replace: true\n });\n }\n get deletedAt() {\n return this._deletedAt;\n }\n set deletedAt(value) {\n this._deletedAt = value;\n this.incrementVersion();\n }\n get cooked() {\n return this._cooked;\n }\n set cooked(newCooked) {\n // some markdown is cooked differently on the server-side, e.g.\n // quotes, avatar images etc.\n if (newCooked !== this._cooked) {\n this._cooked = newCooked;\n this.incrementVersion();\n }\n }\n async cook() {\n if (this.isDestroyed || this.isDestroying) {\n return;\n }\n await this.#ensureCookFunctionInitialized();\n this.cooked = ChatMessage.cookFunction(this.message);\n }\n get read() {\n return this.channel.currentUserMembership?.lastReadMessageId >= this.id;\n }\n get isOriginalThreadMessage() {\n return this.thread?.originalMessage?.id === this.id;\n }\n get index() {\n return this.manager?.messages?.indexOf(this);\n }\n static #_35 = (() => dt7948.n(this.prototype, \"index\", [_tracking.cached]))();\n get previousMessage() {\n return this.manager?.messages?.objectAt?.(this.index - 1);\n }\n static #_36 = (() => dt7948.n(this.prototype, \"previousMessage\", [_tracking.cached]))();\n get nextMessage() {\n return this.manager?.messages?.objectAt?.(this.index + 1);\n }\n static #_37 = (() => dt7948.n(this.prototype, \"nextMessage\", [_tracking.cached]))();\n highlight() {\n this.highlighted = true;\n (0, _later.default)(() => {\n if (this.isDestroying || this.isDestroyed) {\n return;\n }\n this.highlighted = false;\n }, 2000);\n }\n incrementVersion() {\n this.version++;\n }\n async parseMentions() {\n return await (0, _text.parseMentions)(this.message, this.#markdownOptions);\n }\n toJSONDraft() {\n if (this.message?.length === 0 && this.uploads?.length === 0 && !this.inReplyTo) {\n return null;\n }\n const data = {};\n if (this.uploads?.length > 0) {\n data.uploads = this.uploads;\n }\n if (this.message?.length > 0) {\n data.message = this.message;\n }\n if (this.inReplyTo) {\n data.replyToMsg = {\n id: this.inReplyTo.id,\n excerpt: this.inReplyTo.excerpt,\n user: {\n id: this.inReplyTo.user.id,\n name: this.inReplyTo.user.name,\n avatar_template: this.inReplyTo.user.avatar_template,\n username: this.inReplyTo.user.username\n }\n };\n }\n if (this.editing) {\n data.editing = true;\n data.id = this.id;\n data.excerpt = this.excerpt;\n }\n return JSON.stringify(data);\n }\n react(emoji, action, actor, currentUserId) {\n const selfReaction = actor.id === currentUserId;\n const existingReaction = this.reactions.find(reaction => reaction.emoji === emoji);\n if (existingReaction) {\n if (action === \"add\") {\n if (selfReaction && existingReaction.reacted) {\n return;\n }\n\n // we might receive a message bus event while loading a channel who would\n // already have the reaction added to the message\n if (existingReaction.users.find(user => user.id === actor.id)) {\n return;\n }\n existingReaction.count = existingReaction.count + 1;\n if (selfReaction) {\n existingReaction.reacted = true;\n }\n existingReaction.users.pushObject(actor);\n } else {\n const existingUserReaction = existingReaction.users.find(user => user.id === actor.id);\n if (!existingUserReaction) {\n return;\n }\n if (selfReaction) {\n existingReaction.reacted = false;\n }\n if (existingReaction.count === 1) {\n this.reactions.removeObject(existingReaction);\n } else {\n existingReaction.count = existingReaction.count - 1;\n existingReaction.users.removeObject(existingUserReaction);\n }\n }\n } else {\n if (action === \"add\") {\n this.reactions.pushObject(_chatMessageReaction.default.create({\n count: 1,\n emoji,\n reacted: selfReaction,\n users: [actor]\n }));\n }\n }\n }\n async #ensureCookFunctionInitialized() {\n if (ChatMessage.cookFunction) {\n return;\n }\n const cookFunction = await (0, _text.generateCookFunction)(this.#markdownOptions);\n ChatMessage.cookFunction = raw => {\n return (0, _transformAutoLinks.default)(cookFunction(raw));\n };\n }\n get #markdownOptions() {\n const site = (0, _getOwner.getOwnerWithFallback)(this).lookup(\"service:site\");\n return {\n featuresOverride: site.markdown_additional_options?.chat?.limited_pretty_text_features,\n markdownItRules: site.markdown_additional_options?.chat?.limited_pretty_text_markdown_rules,\n hashtagTypesInPriorityOrder: site.hashtag_configurations?.[\"chat-composer\"],\n hashtagIcons: site.hashtag_icons\n };\n }\n #initChatMessageReactionModel() {\n let reactions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n return reactions.map(reaction => _chatMessageReaction.default.create(reaction));\n }\n #initMentionedUsers(mentionedUsers) {\n const map = new Map();\n if (mentionedUsers) {\n mentionedUsers.forEach(userData => {\n const user = _user3.default.create(userData);\n map.set(user.id, user);\n });\n }\n return map;\n }\n #initUserModel(user) {\n if (!user || user instanceof _user3.default) {\n return user;\n }\n return _user3.default.create(user);\n }\n }\n _exports.default = ChatMessage;\n});","define(\"discourse/plugins/chat/discourse/models/chat-notice\", [\"exports\", \"@glimmer/tracking\"], function (_exports, _tracking) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatNotice {\n static create() {\n let args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new ChatNotice(args);\n }\n static #_ = (() => dt7948.g(this.prototype, \"channelId\", [_tracking.tracked]))();\n #channelId = (() => (dt7948.i(this, \"channelId\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"textContent\", [_tracking.tracked]))();\n #textContent = (() => (dt7948.i(this, \"textContent\"), void 0))();\n constructor() {\n let args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.channelId = args.channel_id;\n this.textContent = args.text_content;\n this.type = args.notice_type;\n this.data = args.data;\n }\n }\n _exports.default = ChatNotice;\n});","define(\"discourse/plugins/chat/discourse/models/chat-thread-preview\", [\"exports\", \"@glimmer/tracking\"], function (_exports, _tracking) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatThreadPreview {\n static create() {\n let args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new ChatThreadPreview(args);\n }\n static #_ = (() => dt7948.g(this.prototype, \"replyCount\", [_tracking.tracked]))();\n #replyCount = (() => (dt7948.i(this, \"replyCount\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"lastReplyId\", [_tracking.tracked]))();\n #lastReplyId = (() => (dt7948.i(this, \"lastReplyId\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"lastReplyCreatedAt\", [_tracking.tracked]))();\n #lastReplyCreatedAt = (() => (dt7948.i(this, \"lastReplyCreatedAt\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"lastReplyExcerpt\", [_tracking.tracked]))();\n #lastReplyExcerpt = (() => (dt7948.i(this, \"lastReplyExcerpt\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"lastReplyUser\", [_tracking.tracked]))();\n #lastReplyUser = (() => (dt7948.i(this, \"lastReplyUser\"), void 0))();\n static #_6 = (() => dt7948.g(this.prototype, \"participantCount\", [_tracking.tracked]))();\n #participantCount = (() => (dt7948.i(this, \"participantCount\"), void 0))();\n static #_7 = (() => dt7948.g(this.prototype, \"participantUsers\", [_tracking.tracked]))();\n #participantUsers = (() => (dt7948.i(this, \"participantUsers\"), void 0))();\n constructor(args) {\n this.update(args || {});\n }\n get otherParticipantCount() {\n return this.participantCount - this.participantUsers.length;\n }\n update() {\n let args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.replyCount = args.reply_count ?? args.replyCount ?? 0;\n this.lastReplyId = args.last_reply_id ?? args.lastReplyId;\n this.lastReplyCreatedAt = new Date(args.last_reply_created_at ?? args.lastReplyCreatedAt);\n this.lastReplyExcerpt = args.last_reply_excerpt ?? args.lastReplyExcerpt;\n this.participantCount = args.participant_count ?? args.participantCount ?? 0;\n\n // cheap trick to avoid avatars flickering\n const lastReplyUser = args.last_reply_user ?? args.lastReplyUser;\n if (lastReplyUser?.id !== this.lastReplyUser?.id) {\n this.lastReplyUser = lastReplyUser;\n }\n\n // cheap trick to avoid avatars flickering\n const participantUsers = args.participant_users ?? args.participantUsers ?? [];\n if (participantUsers?.map(u => u.id).join(\",\") !== this.participantUsers?.map(u => u.id).join(\",\")) {\n this.participantUsers = participantUsers;\n }\n }\n }\n _exports.default = ChatThreadPreview;\n});","define(\"discourse/plugins/chat/discourse/models/chat-thread\", [\"exports\", \"@glimmer/tracking\", \"pretty-text/guid\", \"discourse/lib/get-owner\", \"discourse/plugins/chat/discourse/lib/chat-messages-manager\", \"discourse/plugins/chat/discourse/models/chat-message\", \"discourse/plugins/chat/discourse/models/chat-thread-preview\", \"discourse/plugins/chat/discourse/models/chat-tracking-state\", \"discourse/plugins/chat/discourse/models/user-chat-thread-membership\"], function (_exports, _tracking3, _guid, _getOwner, _chatMessagesManager, _chatMessage, _chatThreadPreview, _chatTrackingState, _userChatThreadMembership) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = _exports.THREAD_STATUSES = void 0;\n const THREAD_STATUSES = _exports.THREAD_STATUSES = {\n open: \"open\",\n readOnly: \"read_only\",\n closed: \"closed\",\n archived: \"archived\"\n };\n class ChatThread {\n static create(channel) {\n let args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return new ChatThread(channel, args);\n }\n static #_ = (() => dt7948.g(this.prototype, \"id\", [_tracking3.tracked]))();\n #id = (() => (dt7948.i(this, \"id\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"title\", [_tracking3.tracked]))();\n #title = (() => (dt7948.i(this, \"title\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"status\", [_tracking3.tracked]))();\n #status = (() => (dt7948.i(this, \"status\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"draft\", [_tracking3.tracked]))();\n #draft = (() => (dt7948.i(this, \"draft\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"staged\", [_tracking3.tracked]))();\n #staged = (() => (dt7948.i(this, \"staged\"), void 0))();\n static #_6 = (() => dt7948.g(this.prototype, \"channel\", [_tracking3.tracked]))();\n #channel = (() => (dt7948.i(this, \"channel\"), void 0))();\n static #_7 = (() => dt7948.g(this.prototype, \"originalMessage\", [_tracking3.tracked]))();\n #originalMessage = (() => (dt7948.i(this, \"originalMessage\"), void 0))();\n static #_8 = (() => dt7948.g(this.prototype, \"lastMessageId\", [_tracking3.tracked]))();\n #lastMessageId = (() => (dt7948.i(this, \"lastMessageId\"), void 0))();\n static #_9 = (() => dt7948.g(this.prototype, \"threadMessageBusLastId\", [_tracking3.tracked]))();\n #threadMessageBusLastId = (() => (dt7948.i(this, \"threadMessageBusLastId\"), void 0))();\n static #_10 = (() => dt7948.g(this.prototype, \"replyCount\", [_tracking3.tracked]))();\n #replyCount = (() => (dt7948.i(this, \"replyCount\"), void 0))();\n static #_11 = (() => dt7948.g(this.prototype, \"tracking\", [_tracking3.tracked]))();\n #tracking = (() => (dt7948.i(this, \"tracking\"), void 0))();\n static #_12 = (() => dt7948.g(this.prototype, \"currentUserMembership\", [_tracking3.tracked]))();\n #currentUserMembership = (() => (dt7948.i(this, \"currentUserMembership\"), void 0))();\n static #_13 = (() => dt7948.g(this.prototype, \"preview\", [_tracking3.tracked]))();\n #preview = (() => (dt7948.i(this, \"preview\"), void 0))();\n static #_14 = (() => dt7948.g(this.prototype, \"force\", [_tracking3.tracked]))();\n #force = (() => (dt7948.i(this, \"force\"), void 0))();\n messagesManager = (() => new _chatMessagesManager.default((0, _getOwner.getOwnerWithFallback)(this)))();\n constructor(channel) {\n let args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.id = args.id;\n this.channel = channel;\n this.status = args.status;\n this.staged = args.staged;\n this.replyCount = args.reply_count;\n this.force = args.force;\n this.originalMessage = args.original_message ? _chatMessage.default.create(channel, args.original_message) : null;\n if (this.originalMessage) {\n this.originalMessage.thread = this;\n }\n this.lastMessageId = args.last_message_id;\n this.title = args.title;\n if (args.current_user_membership) {\n this.currentUserMembership = _userChatThreadMembership.default.create(args.current_user_membership);\n }\n this.tracking = new _chatTrackingState.default((0, _getOwner.getOwnerWithFallback)(this));\n this.preview = _chatThreadPreview.default.create(args.preview);\n }\n resetDraft(user) {\n this.draft = _chatMessage.default.createDraftMessage(this.channel, {\n user,\n thread: this\n });\n }\n async stageMessage(message) {\n message.id = (0, _guid.default)();\n message.staged = true;\n message.processed = false;\n message.draft = false;\n message.createdAt = new Date();\n message.thread = this;\n this.messagesManager.addMessages([message]);\n message.manager = this.messagesManager;\n }\n get routeModels() {\n return [...this.channel.routeModels, this.id];\n }\n }\n _exports.default = ChatThread;\n});","define(\"discourse/plugins/chat/discourse/models/chat-tracking-state\", [\"exports\", \"@glimmer/tracking\", \"@ember/owner\", \"@ember/service\"], function (_exports, _tracking, _owner, _service) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatTrackingState {\n static #_ = (() => dt7948.g(this.prototype, \"chatTrackingStateManager\", [_service.service]))();\n #chatTrackingStateManager = (() => (dt7948.i(this, \"chatTrackingStateManager\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"_unreadCount\", [_tracking.tracked]))();\n #_unreadCount = (() => (dt7948.i(this, \"_unreadCount\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"_mentionCount\", [_tracking.tracked]))();\n #_mentionCount = (() => (dt7948.i(this, \"_mentionCount\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"_watchedThreadsUnreadCount\", [_tracking.tracked]))();\n #_watchedThreadsUnreadCount = (() => (dt7948.i(this, \"_watchedThreadsUnreadCount\"), void 0))();\n constructor(owner) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n (0, _owner.setOwner)(this, owner);\n this._unreadCount = params.unreadCount ?? 0;\n this._mentionCount = params.mentionCount ?? 0;\n this._watchedThreadsUnreadCount = params.watchedThreadsUnreadCount ?? 0;\n }\n reset() {\n this._unreadCount = 0;\n this._mentionCount = 0;\n this._watchedThreadsUnreadCount = 0;\n }\n get unreadCount() {\n return this._unreadCount;\n }\n set unreadCount(value) {\n const valueChanged = this._unreadCount !== value;\n if (valueChanged) {\n this._unreadCount = value;\n this.chatTrackingStateManager.triggerNotificationsChanged();\n }\n }\n get mentionCount() {\n return this._mentionCount;\n }\n set mentionCount(value) {\n const valueChanged = this._mentionCount !== value;\n if (valueChanged) {\n this._mentionCount = value;\n this.chatTrackingStateManager.triggerNotificationsChanged();\n }\n }\n get watchedThreadsUnreadCount() {\n return this._watchedThreadsUnreadCount;\n }\n set watchedThreadsUnreadCount(value) {\n const valueChanged = this._watchedThreadsUnreadCount !== value;\n if (valueChanged) {\n this._watchedThreadsUnreadCount = value;\n this.chatTrackingStateManager.triggerNotificationsChanged();\n }\n }\n }\n _exports.default = ChatTrackingState;\n});","define(\"discourse/plugins/chat/discourse/models/user-chat-channel-membership\", [\"exports\", \"@glimmer/tracking\", \"discourse/models/user\"], function (_exports, _tracking, _user3) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class UserChatChannelMembership {\n static create() {\n let args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new UserChatChannelMembership(args);\n }\n static #_ = (() => dt7948.g(this.prototype, \"following\", [_tracking.tracked]))();\n #following = (() => (dt7948.i(this, \"following\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"muted\", [_tracking.tracked]))();\n #muted = (() => (dt7948.i(this, \"muted\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"notificationLevel\", [_tracking.tracked]))();\n #notificationLevel = (() => (dt7948.i(this, \"notificationLevel\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"lastReadMessageId\", [_tracking.tracked]))();\n #lastReadMessageId = (() => (dt7948.i(this, \"lastReadMessageId\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"lastViewedAt\", [_tracking.tracked]))();\n #lastViewedAt = (() => (dt7948.i(this, \"lastViewedAt\"), void 0))();\n static #_6 = (() => dt7948.g(this.prototype, \"user\", [_tracking.tracked]))();\n #user = (() => (dt7948.i(this, \"user\"), void 0))();\n constructor() {\n let args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.following = args.following;\n this.muted = args.muted;\n this.notificationLevel = args.notification_level;\n this.lastReadMessageId = args.last_read_message_id;\n this.lastViewedAt = new Date(args.last_viewed_at);\n this.user = this.#initUserModel(args.user);\n }\n #initUserModel(user) {\n if (!user || user instanceof _user3.default) {\n return user;\n }\n return _user3.default.create(user);\n }\n }\n _exports.default = UserChatChannelMembership;\n});","define(\"discourse/plugins/chat/discourse/models/user-chat-thread-membership\", [\"exports\", \"@glimmer/tracking\", \"discourse/lib/notification-levels\"], function (_exports, _tracking, _notificationLevels) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class UserChatThreadMembership {\n static create() {\n let args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new UserChatThreadMembership(args);\n }\n static #_ = (() => dt7948.g(this.prototype, \"lastReadMessageId\", [_tracking.tracked]))();\n #lastReadMessageId = (() => (dt7948.i(this, \"lastReadMessageId\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"notificationLevel\", [_tracking.tracked]))();\n #notificationLevel = (() => (dt7948.i(this, \"notificationLevel\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"threadTitlePromptSeen\", [_tracking.tracked]))();\n #threadTitlePromptSeen = (() => (dt7948.i(this, \"threadTitlePromptSeen\"), void 0))();\n constructor() {\n let args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.lastReadMessageId = args.last_read_message_id;\n this.notificationLevel = args.notification_level;\n this.threadTitlePromptSeen = args.thread_title_prompt_seen;\n }\n get isQuiet() {\n return this.notificationLevel === _notificationLevels.NotificationLevels.REGULAR || this.notificationLevel === _notificationLevels.NotificationLevels.MUTED;\n }\n }\n _exports.default = UserChatThreadMembership;\n});","define(\"discourse/plugins/chat/discourse/modifiers/chat/later-fn\", [\"exports\", \"@ember/destroyable\", \"@ember/runloop\", \"ember-modifier\", \"discourse/lib/later\"], function (_exports, _destroyable, _runloop, _emberModifier, _later) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatLaterFn extends _emberModifier.default {\n constructor(owner, args) {\n super(owner, args);\n (0, _destroyable.registerDestructor)(this, instance => instance.cleanup());\n }\n modify(element, _ref) {\n let [fn, delay] = _ref;\n this.handler = (0, _later.default)(() => {\n fn?.(element);\n }, delay);\n }\n cleanup() {\n (0, _runloop.cancel)(this.handler);\n }\n }\n _exports.default = ChatLaterFn;\n});","define(\"discourse/plugins/chat/discourse/modifiers/chat/on-animation-end\", [\"exports\", \"@ember/destroyable\", \"@ember/runloop\", \"ember-modifier\", \"discourse/lib/decorators\"], function (_exports, _destroyable, _runloop, _emberModifier, _decorators) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatOnAnimationEnd extends _emberModifier.default {\n constructor(owner, args) {\n super(owner, args);\n (0, _destroyable.registerDestructor)(this, instance => instance.cleanup());\n }\n modify(element, _ref) {\n let [fn] = _ref;\n this.element = element;\n this.fn = fn;\n this.handler = (0, _runloop.schedule)(\"afterRender\", () => {\n this.element.addEventListener(\"animationend\", this.handleAnimationEnd);\n });\n }\n handleAnimationEnd() {\n if (this.isDestroying || this.isDestroyed) {\n return;\n }\n this.fn?.(this.element);\n }\n static #_ = (() => dt7948.n(this.prototype, \"handleAnimationEnd\", [_decorators.bind]))();\n cleanup() {\n (0, _runloop.cancel)(this.handler);\n this.element?.removeEventListener(\"animationend\", this.handleAnimationEnd);\n }\n }\n _exports.default = ChatOnAnimationEnd;\n});","define(\"discourse/plugins/chat/discourse/modifiers/chat/on-long-press\", [\"exports\", \"@ember/destroyable\", \"@ember/runloop\", \"@ember/service\", \"ember-modifier\", \"discourse/lib/decorators\", \"discourse/lib/later\"], function (_exports, _destroyable, _runloop, _service, _emberModifier, _decorators, _later) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n function cancelEvent(event) {\n event.stopPropagation();\n }\n class ChatOnLongPress extends _emberModifier.default {\n static #_ = (() => dt7948.g(this.prototype, \"capabilities\", [_service.service]))();\n #capabilities = (() => (dt7948.i(this, \"capabilities\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n constructor(owner, args) {\n super(owner, args);\n (0, _destroyable.registerDestructor)(this, instance => instance.cleanup());\n }\n get enabled() {\n return this.capabilities.touch && this.site.mobileView;\n }\n modify(element, _ref) {\n let [onLongPressStart, onLongPressEnd, onLongPressCancel] = _ref;\n if (!this.enabled) {\n return;\n }\n this.element = element;\n this.onLongPressStart = onLongPressStart || (() => {});\n this.onLongPressEnd = onLongPressEnd || (() => {});\n this.onLongPressCancel = onLongPressCancel || (() => {});\n this.element.addEventListener(\"touchstart\", this.handleTouchStart, {\n passive: true\n });\n }\n onCancel() {\n (0, _runloop.cancel)(this.timeout);\n if (this.capabilities.touch) {\n this.element.removeEventListener(\"touchmove\", this.onCancel, {\n passive: true\n });\n this.element.removeEventListener(\"touchend\", this.onCancel);\n this.element.removeEventListener(\"touchcancel\", this.onCancel);\n }\n this.onLongPressCancel(this.element);\n }\n static #_3 = (() => dt7948.n(this.prototype, \"onCancel\", [_decorators.bind]))();\n handleTouchStart(event) {\n if (event.touches.length > 1) {\n this.onCancel();\n return;\n }\n this.onLongPressStart(this.element, event);\n this.element.addEventListener(\"touchmove\", this.onCancel, {\n passive: true\n });\n this.element.addEventListener(\"touchend\", this.onCancel);\n this.element.addEventListener(\"touchcancel\", this.onCancel);\n this.timeout = (0, _later.default)(() => {\n if (this.isDestroying || this.isDestroyed) {\n return;\n }\n this.element.addEventListener(\"touchend\", cancelEvent, {\n once: true,\n passive: true\n });\n this.onLongPressEnd(this.element, event);\n }, 400);\n }\n static #_4 = (() => dt7948.n(this.prototype, \"handleTouchStart\", [_decorators.bind]))();\n cleanup() {\n if (!this.enabled) {\n return;\n }\n this.element.removeEventListener(\"touchstart\", this.handleTouchStart, {\n passive: true\n });\n this.onCancel();\n }\n }\n _exports.default = ChatOnLongPress;\n});","define(\"discourse/plugins/chat/discourse/modifiers/chat/on-scroll\", [\"exports\", \"@ember/destroyable\", \"@ember/runloop\", \"ember-modifier\", \"discourse/lib/decorators\"], function (_exports, _destroyable, _runloop, _emberModifier, _decorators) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatOnScroll extends _emberModifier.default {\n constructor(owner, args) {\n super(owner, args);\n (0, _destroyable.registerDestructor)(this, instance => instance.cleanup());\n }\n modify(element, _ref) {\n let [callback, options] = _ref;\n this.element = element;\n this.callback = callback;\n this.options = options;\n this.element.addEventListener(\"scroll\", this.throttledCallback, {\n passive: true\n });\n }\n throttledCallback(event) {\n this.throttledHandler = (0, _runloop.throttle)(this, this.callback, event, this.options.delay ?? 100, this.options.immediate ?? false);\n }\n static #_ = (() => dt7948.n(this.prototype, \"throttledCallback\", [_decorators.bind]))();\n cleanup() {\n (0, _runloop.cancel)(this.throttledHandler);\n this.element.removeEventListener(\"scroll\", this.throttledCallback);\n }\n }\n _exports.default = ChatOnScroll;\n});","define(\"discourse/plugins/chat/discourse/modifiers/chat/resizable-node\", [\"exports\", \"@ember/destroyable\", \"@ember/runloop\", \"ember-modifier\", \"discourse/lib/decorators\"], function (_exports, _destroyable, _runloop, _emberModifier, _decorators) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const MINIMUM_SIZE = 20;\n class ResizableNode extends _emberModifier.default {\n element = null;\n resizerSelector = null;\n didResizeContainer = null;\n options = null;\n _originalWidth = 0;\n _originalHeight = 0;\n _originalX = 0;\n _originalY = 0;\n _originalPageX = 0;\n _originalPageY = 0;\n constructor(owner, args) {\n super(owner, args);\n (0, _destroyable.registerDestructor)(this, instance => instance.cleanup());\n }\n modify(element, _ref) {\n let [resizerSelector, didResizeContainer, options = {}] = _ref;\n this.resizerSelector = resizerSelector;\n this.element = element;\n this.didResizeContainer = didResizeContainer;\n this.options = Object.assign({\n vertical: true,\n horizontal: true,\n position: true,\n mutate: true,\n resetOnWindowResize: false\n }, options);\n this.element.querySelector(this.resizerSelector)?.addEventListener(\"touchstart\", this._startResize);\n this.element.querySelector(this.resizerSelector)?.addEventListener(\"mousedown\", this._startResize);\n window.addEventListener(\"resize\", this._resizeWindow);\n }\n cleanup() {\n this.element.querySelector(this.resizerSelector)?.removeEventListener(\"touchstart\", this._startResize);\n this.element.querySelector(this.resizerSelector)?.removeEventListener(\"mousedown\", this._startResize);\n window.removeEventListener(\"resize\", this._resizeWindow);\n (0, _runloop.cancel)(this._throttledResizeHandler);\n }\n _startResize(event) {\n event.preventDefault();\n this._minimumWidth = parseFloat(getComputedStyle(this.element, null).getPropertyValue(\"min-width\").replace(\"px\", \"\") || MINIMUM_SIZE);\n this._minimumHeight = parseFloat(getComputedStyle(this.element, null).getPropertyValue(\"min-height\").replace(\"px\", \"\") || MINIMUM_SIZE);\n this._originalWidth = parseFloat(getComputedStyle(this.element, null).getPropertyValue(\"width\").replace(\"px\", \"\"));\n this._originalHeight = parseFloat(getComputedStyle(this.element, null).getPropertyValue(\"height\").replace(\"px\", \"\"));\n this._originalX = this.element.getBoundingClientRect().left;\n this._originalY = this.element.getBoundingClientRect().top;\n this._originalPageX = this._eventValueForProperty(event, \"pageX\");\n this._originalPageY = this._eventValueForProperty(event, \"pageY\");\n window.addEventListener(\"touchmove\", this._resize);\n window.addEventListener(\"touchend\", this._stopResize);\n window.addEventListener(\"mousemove\", this._resize);\n window.addEventListener(\"mouseup\", this._stopResize);\n }\n\n /*\n The bulk of the logic is to calculate the new width and height of the element\n based on the current position on page: width is calculated by subtracting\n the difference between the current pageX and the original this._originalPageX\n from the original this._originalWidth, and rounding up to the nearest integer.\n height is calculated in a similar way using pageY and this._originalPageY.\n In this example (B) is the current element top/left and (A) is x/y of the mouse after dragging:\n A------\n | |\n | B--|\n | | |\n -------\n */\n static #_ = (() => dt7948.n(this.prototype, \"_startResize\", [_decorators.bind]))();\n _resize(event) {\n let width = this._originalWidth;\n let diffWidth = this._eventValueForProperty(event, \"pageX\") - this._originalPageX;\n if (document.documentElement.classList.contains(\"rtl\")) {\n width = Math.ceil(width + diffWidth);\n } else {\n width = Math.ceil(width - diffWidth);\n }\n const height = Math.ceil(this._originalHeight - (this._eventValueForProperty(event, \"pageY\") - this._originalPageY));\n const newStyle = {};\n if (this.options.horizontal && width >= this._minimumWidth) {\n newStyle.width = width + \"px\";\n if (this.options.position) {\n newStyle.left = Math.ceil(this._originalX + (this._eventValueForProperty(event, \"pageX\") - this._originalPageX)) + \"px\";\n }\n }\n if (this.options.vertical && height >= this._minimumHeight) {\n newStyle.height = height + \"px\";\n if (this.options.position) {\n newStyle.top = Math.ceil(this._originalY + (this._eventValueForProperty(event, \"pageY\") - this._originalPageY)) + \"px\";\n }\n }\n if (this.options.mutate) {\n Object.assign(this.element.style, newStyle);\n }\n const containerStyle = {};\n const containerWidth = width >= this._minimumWidth ? width : this._minimumWidth;\n if (containerWidth) {\n containerStyle.width = containerWidth;\n }\n const containerHeight = height >= this._minimumHeight ? height : this._minimumHeight;\n if (containerHeight) {\n containerStyle.height = containerHeight;\n }\n this.didResizeContainer?.(this.element, containerStyle);\n }\n static #_2 = (() => dt7948.n(this.prototype, \"_resize\", [_decorators.bind]))();\n _resizeWindow(event) {\n if (!this.options.resetOnWindowResize) {\n return;\n }\n this._throttledResizeHandler = (0, _runloop.throttle)(this, this._resize, event, 100);\n }\n static #_3 = (() => dt7948.n(this.prototype, \"_resizeWindow\", [_decorators.bind]))();\n _stopResize() {\n window.removeEventListener(\"touchmove\", this._resize);\n window.removeEventListener(\"touchend\", this._stopResize);\n window.removeEventListener(\"mousemove\", this._resize);\n window.removeEventListener(\"mouseup\", this._stopResize);\n }\n static #_4 = (() => dt7948.n(this.prototype, \"_stopResize\", [_decorators.bind]))();\n _eventValueForProperty(event, property) {\n if (event.changedTouches) {\n return event.changedTouches[0][property];\n } else {\n return event[property];\n }\n }\n }\n _exports.default = ResizableNode;\n});","define(\"discourse/plugins/chat/discourse/modifiers/chat/scrollable-list\", [\"exports\", \"@ember/destroyable\", \"@ember/runloop\", \"ember-modifier\", \"discourse/lib/decorators\", \"discourse/lib/later\", \"discourse/plugins/chat/discourse/helpers/first-visible-message-id\"], function (_exports, _destroyable, _runloop, _emberModifier, _decorators, _later, _firstVisibleMessageId) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const UP = \"up\";\n const DOWN = \"down\";\n class ChatScrollableList extends _emberModifier.default {\n constructor(owner, args) {\n super(owner, args);\n (0, _destroyable.registerDestructor)(this, instance => instance.cleanup());\n }\n modify(element, _ref) {\n let [options] = _ref;\n this.element = element;\n this.options = options;\n this.lastScrollTop = this.computeInitialScrollTop();\n this.element.addEventListener(\"scroll\", this.handleScroll, {\n passive: true\n });\n // listen for wheel events to detect scrolling even when at the top or bottom\n this.element.addEventListener(\"wheel\", this.handleWheel, {\n passive: true\n });\n this.throttleComputeScroll();\n }\n handleScroll() {\n this.throttleComputeScroll();\n }\n static #_ = (() => dt7948.n(this.prototype, \"handleScroll\", [_decorators.bind]))();\n handleWheel() {\n this.throttleComputeScroll();\n }\n static #_2 = (() => dt7948.n(this.prototype, \"handleWheel\", [_decorators.bind]))();\n computeScroll() {\n const scrollTop = this.element.scrollTop;\n this.options.onScroll?.(this.computeState());\n this.lastScrollTop = scrollTop;\n }\n static #_3 = (() => dt7948.n(this.prototype, \"computeScroll\", [_decorators.bind]))();\n throttleComputeScroll() {\n (0, _runloop.cancel)(this.scrollTimer);\n this.throttleTimer = (0, _runloop.throttle)(this, this.computeScroll, 50, true);\n this.scrollTimer = (0, _later.default)(() => {\n this.options.onScrollEnd?.(Object.assign(this.computeState(), {\n firstVisibleId: (0, _firstVisibleMessageId.default)(this.element)\n }));\n }, this.options.delay || 250);\n }\n cleanup() {\n (0, _runloop.cancel)(this.scrollTimer);\n (0, _runloop.cancel)(this.throttleTimer);\n this.element.removeEventListener(\"scroll\", this.handleScroll);\n this.element.removeEventListener(\"wheel\", this.handleWheel);\n }\n computeState() {\n const direction = this.computeScrollDirection();\n const distanceToBottom = this.computeDistanceToBottom();\n const distanceToTop = this.computeDistanceToTop();\n return {\n up: direction === UP,\n down: direction === DOWN,\n distanceToBottom,\n distanceToTop,\n atBottom: distanceToBottom.pixels <= 1,\n atTop: distanceToTop.pixels <= 1\n };\n }\n computeInitialScrollTop() {\n if (this.options.reverse) {\n return this.element.scrollHeight - this.element.clientHeight;\n } else {\n return this.element.scrollTop;\n }\n }\n computeScrollTop() {\n if (this.options.reverse) {\n return this.element.scrollHeight - this.element.clientHeight - this.element.scrollTop;\n } else {\n return this.element.scrollTop;\n }\n }\n computeDistanceToTop() {\n let pixels;\n const height = this.element.scrollHeight - this.element.clientHeight;\n if (this.options.reverse) {\n pixels = height - Math.abs(this.element.scrollTop);\n } else {\n pixels = Math.abs(this.element.scrollTop);\n }\n return {\n pixels,\n percentage: Math.round(pixels / height * 100)\n };\n }\n computeDistanceToBottom() {\n let pixels;\n const height = this.element.scrollHeight - this.element.clientHeight;\n if (this.options.reverse) {\n pixels = -this.element.scrollTop;\n } else {\n pixels = height - Math.abs(this.element.scrollTop);\n }\n return {\n pixels,\n percentage: Math.round(pixels / height * 100)\n };\n }\n computeScrollDirection() {\n if (this.element.scrollTop === this.lastScrollTop) {\n return null;\n }\n return this.element.scrollTop < this.lastScrollTop ? UP : DOWN;\n }\n }\n _exports.default = ChatScrollableList;\n});","define(\"discourse/plugins/chat/discourse/modifiers/chat/track-message-separator-date\", [\"exports\", \"@ember/destroyable\", \"ember-modifier\"], function (_exports, _destroyable, _emberModifier) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const IS_PINNED_CLASS = \"is-pinned\";\n\n /*\n This modifier is used to track the date separator in the chat message list.\n The trick is to have an element with `top: -1px` which will stop fully intersecting\n as soon as it's scrolled a little bit.\n */\n class ChatTrackMessageSeparatorDate extends _emberModifier.default {\n constructor(owner, args) {\n super(owner, args);\n (0, _destroyable.registerDestructor)(this, instance => instance.cleanup());\n }\n modify(element) {\n this.intersectionObserver = new IntersectionObserver(_ref => {\n let [entry] = _ref;\n if (entry.isIntersecting && entry.intersectionRatio < 1 && entry.boundingClientRect.y < entry.intersectionRect.y) {\n entry.target.classList.add(IS_PINNED_CLASS);\n } else {\n entry.target.classList.remove(IS_PINNED_CLASS);\n }\n }, {\n threshold: [0, 1]\n });\n this.intersectionObserver.observe(element);\n }\n cleanup() {\n this.intersectionObserver?.disconnect();\n }\n }\n _exports.default = ChatTrackMessageSeparatorDate;\n});","define(\"discourse/plugins/chat/discourse/modifiers/chat/track-message\", [\"exports\", \"@ember/destroyable\", \"ember-modifier\", \"discourse/lib/decorators\"], function (_exports, _destroyable, _emberModifier, _decorators) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatTrackMessage extends _emberModifier.default {\n didEnterViewport = null;\n didLeaveViewport = null;\n constructor(owner, args) {\n super(owner, args);\n (0, _destroyable.registerDestructor)(this, instance => instance.cleanup());\n }\n modify(element, _ref) {\n let [didEnterViewport, didLeaveViewport] = _ref;\n this.didEnterViewport = didEnterViewport;\n this.didLeaveViewport = didLeaveViewport;\n this.intersectionObserver = new IntersectionObserver(this._intersectionObserverCallback, {\n root: document,\n threshold: 0\n });\n this.intersectionObserver.observe(element);\n }\n cleanup() {\n this.intersectionObserver?.disconnect();\n }\n _intersectionObserverCallback(entries) {\n entries.forEach(entry => {\n if (entry.isIntersecting) {\n this.didEnterViewport?.();\n } else {\n this.didLeaveViewport?.();\n }\n });\n }\n static #_ = (() => dt7948.n(this.prototype, \"_intersectionObserverCallback\", [_decorators.bind]))();\n }\n _exports.default = ChatTrackMessage;\n});","define(\"discourse/plugins/chat/discourse/pre-initializers/chat-plugin-api\", [\"exports\", \"discourse/lib/plugin-api\", \"discourse/plugins/chat/discourse/components/chat-message\", \"discourse/plugins/chat/discourse/lib/chat-composer-buttons\", \"discourse/plugins/chat/discourse/lib/chat-message-interactor\", \"discourse/plugins/chat/discourse/services/chat-state-manager\"], function (_exports, _pluginApi, _chatMessage, _chatComposerButtons, _chatMessageInteractor, _chatStateManager) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n /**\n * Class exposing the javascript API available to plugins and themes.\n * @class PluginApi\n */\n /**\n * Callback used to decorate a chat message\n *\n * @callback PluginApi~decorateChatMessageCallback\n * @param {ChatMessage} chatMessage - model\n * @param {HTMLElement} messageContainer - DOM node\n * @param {ChatChannel} chatChannel - model\n */\n /**\n * Callback used to decorate a chat message\n *\n * @callback PluginApi~chatDrawerStateCallback\n * @param {Object} state\n * @param {boolean} state.isDrawerActive - is the chat drawer active\n * @param {boolean} state.isDrawerExpanded - is the chat drawer expanded\n */\n /**\n * Decorate a chat message\n *\n * @memberof PluginApi\n * @instance\n * @function decorateChatMessage\n * @param {PluginApi~decorateChatMessageCallback} decorator\n * @example\n *\n * api.decorateChatMessage((chatMessage, messageContainer) => {\n * messageContainer.dataset.foo = chatMessage.id;\n * });\n */\n /**\n * Register a button in the chat composer\n *\n * @memberof PluginApi\n * @instance\n * @function registerChatComposerButton\n * @param {Object} options\n * @param {number} options.id - The id of the button\n * @param {function} options.action - An action name or an anonymous function called when the button is pressed, eg: \"onFooClicked\" or `() => { console.log(\"clicked\") }`\n * @param {string} options.icon - A valid font awesome icon name, eg: \"far fa-image\"\n * @param {string} options.label - Text displayed on the button, a translatable key, eg: \"foo.bar\"\n * @param {string} options.translatedLabel - Text displayed on the button, a string, eg: \"Add gifs\"\n * @param {string} [options.position] - Can be \"inline\" or \"dropdown\", defaults to \"inline\"\n * @param {string} [options.title] - Title attribute of the button, a translatable key, eg: \"foo.bar\"\n * @param {string} [options.translatedTitle] - Title attribute of the button, a string, eg: \"Add gifs\"\n * @param {string} [options.ariaLabel] - aria-label attribute of the button, a translatable key, eg: \"foo.bar\"\n * @param {string} [options.translatedAriaLabel] - aria-label attribute of the button, a string, eg: \"Add gifs\"\n * @param {string} [options.classNames] - Additional names to add to the button’s class attribute, eg: [\"foo\", \"bar\"]\n * @param {boolean} [options.displayed] - Hide or show the button\n * @param {boolean} [options.disabled] - Sets the disabled attribute on the button\n * @param {number} [options.priority] - An integer defining the order of the buttons, higher comes first, eg: `700`\n * @param {Array.} [options.dependentKeys] - List of property names which should trigger a refresh of the buttons when changed, eg: `[\"foo.bar\", \"bar.baz\"]`\n * @example\n *\n * api.registerChatComposerButton({\n * id: \"foo\",\n * displayed() {\n * return this.site.mobileView && this.canAttachUploads;\n * }\n * });\n */\n /**\n * Callback when the sate of the chat drawer changes\n *\n * @memberof PluginApi\n * @instance\n * @function addChatDrawerStateCallback\n * @param {PluginApi~chatDrawerStateCallback} callback\n * @example\n *\n * api.addChatDrawerStateCallback(({isDrawerExpanded, isDrawerActive}) => {\n * if (isDrawerActive && isDrawerExpanded) {\n * // do something\n * }\n * });\n */\n /**\n * Send a chat message, message or uploads must be provided\n *\n * @memberof PluginApi\n * @instance\n * @function sendChatMessage\n * @param {number} channelId - The id of the channel\n * @param {Object} options\n * @param {string} [options.message] - The content of the message to send\n * @param {string} [options.uploads] - A list of uploads to send\n * @param {number} [options.threadId] - The thread id where the message should be sent\n *\n * @example\n *\n * api.sendChatMessage(\n * 1,\n * { message: \"Hello world\", threadId: 2 }\n * );\n */\n /**\n * Removes secondary actions from the chat composer\n *\n * @memberof PluginApi\n * @instance\n * @function removeChatComposerSecondaryActions\n * @param {...string} [1] - List of secondary action ids to remove, eg: `\"copyLink\", \"select\"\n * @example\n *\n * api.removeChatComposerSecondaryActions(\"copyLink\", \"select\");\n */\n var _default = _exports.default = {\n name: \"chat-plugin-api\",\n after: \"inject-discourse-objects\",\n initialize() {\n (0, _pluginApi.withPluginApi)(\"1.2.0\", api => {\n const apiPrototype = Object.getPrototypeOf(api);\n if (!apiPrototype.hasOwnProperty(\"decorateChatMessage\")) {\n Object.defineProperty(apiPrototype, \"decorateChatMessage\", {\n value(decorator) {\n (0, _chatMessage.addChatMessageDecorator)(decorator);\n }\n });\n }\n if (!apiPrototype.hasOwnProperty(\"registerChatComposerButton\")) {\n Object.defineProperty(apiPrototype, \"registerChatComposerButton\", {\n value(button) {\n (0, _chatComposerButtons.registerChatComposerButton)(button);\n }\n });\n }\n if (!apiPrototype.hasOwnProperty(\"addChatDrawerStateCallback\")) {\n Object.defineProperty(apiPrototype, \"addChatDrawerStateCallback\", {\n value(callback) {\n (0, _chatStateManager.addChatDrawerStateCallback)(callback);\n }\n });\n }\n if (!apiPrototype.hasOwnProperty(\"sendChatMessage\")) {\n Object.defineProperty(apiPrototype, \"sendChatMessage\", {\n async value(channelId) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return this.container.lookup(\"service:chat-api\").sendMessage(channelId, {\n thread_id: options.threadId,\n post_ids: options.postIds,\n topic_id: options.topicId,\n message: options.message,\n uploads: options.uploads\n });\n }\n });\n }\n if (!apiPrototype.hasOwnProperty(\"removeChatComposerSecondaryActions\")) {\n Object.defineProperty(apiPrototype, \"removeChatComposerSecondaryActions\", {\n value() {\n for (var _len = arguments.length, actionIds = new Array(_len), _key = 0; _key < _len; _key++) {\n actionIds[_key] = arguments[_key];\n }\n (0, _chatMessageInteractor.removeChatComposerSecondaryActions)(actionIds);\n }\n });\n }\n });\n },\n teardown() {\n (0, _chatMessage.resetChatMessageDecorators)();\n }\n };\n});","define(\"discourse/plugins/chat/discourse/preferences-chat-route-map\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = _exports.default = {\n resource: \"user.preferences\",\n map() {\n this.route(\"chat\");\n }\n };\n});","define(\"discourse/plugins/chat/discourse/routes/chat-browse-archived\", [\"exports\", \"@ember/service\", \"discourse/routes/discourse\"], function (_exports, _service, _discourse) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatBrowseIndexRoute extends _discourse.default {\n static #_ = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n afterModel() {\n if (!this.siteSettings.chat_allow_archiving_channels) {\n this.router.replaceWith(\"chat.browse\");\n }\n }\n }\n _exports.default = ChatBrowseIndexRoute;\n});","define(\"discourse/plugins/chat/discourse/routes/chat-browse-index\", [\"exports\", \"@ember/service\", \"discourse/lib/utilities\", \"discourse/routes/discourse\"], function (_exports, _service, _utilities, _discourse) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatBrowseIndexRoute extends _discourse.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n beforeModel() {\n if (!this.siteSettings.enable_public_channels) {\n return this.router.transitionTo(`discovery.${(0, _utilities.defaultHomepage)()}`);\n }\n }\n activate() {\n this.chat.activeChannel = null;\n }\n afterModel() {\n this.router.replaceWith(\"chat.browse.open\");\n }\n }\n _exports.default = ChatBrowseIndexRoute;\n});","define(\"discourse/plugins/chat/discourse/routes/chat-channel-decorator\", [\"exports\", \"@ember/service\"], function (_exports, _service) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = withChatChannel;\n function withChatChannel(extendedClass) {\n return class WithChatChannel extends extendedClass {\n static #_ = (() => dt7948.g(this.prototype, \"chatChannelsManager\", [_service.service]))();\n #chatChannelsManager = (() => (dt7948.i(this, \"chatChannelsManager\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n async model(params) {\n return this.chatChannelsManager.find(params.channelId);\n }\n titleToken() {\n if (!this.currentModel) {\n return;\n }\n const title = this.currentModel.unicodeTitle || this.currentModel.title;\n if (this.currentModel.isDirectMessageChannel) {\n return `${title}`;\n } else {\n return `#${title}`;\n }\n }\n afterModel(model) {\n super.afterModel?.(...arguments);\n this.chat.activeChannel = model;\n if (!model) {\n return this.router.replaceWith(\"chat\");\n }\n let {\n channelTitle\n } = this.paramsFor(this.routeName);\n if (channelTitle && channelTitle !== model.slugifiedTitle) {\n if (this.routeName === \"chat.channel.info\") {\n return this.router.replaceWith(\"chat.channel.info\", ...model.routeModels);\n }\n const messageId = this.paramsFor(\"chat.channel.near-message\").messageId;\n const threadId = this.paramsFor(\"chat.channel.thread\").threadId;\n if (threadId) {\n const threadMessageId = this.paramsFor(\"chat.channel.thread.near-message\").messageId;\n if (threadMessageId) {\n this.router.replaceWith(\"chat.channel.thread.near-message\", ...model.routeModels, threadId, threadMessageId);\n } else {\n this.router.replaceWith(\"chat.channel.thread\", ...model.routeModels, threadId);\n }\n } else if (messageId) {\n this.router.replaceWith(\"chat.channel.near-message\", ...model.routeModels, messageId);\n } else {\n this.router.replaceWith(\"chat.channel\", ...model.routeModels);\n }\n } else {\n this.controllerFor(\"chat-channel\").set(\"targetMessageId\", null);\n }\n }\n };\n }\n});","define(\"discourse/plugins/chat/discourse/routes/chat-channel-info-index\", [\"exports\", \"@ember/service\", \"discourse/routes/discourse\"], function (_exports, _service, _discourse) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatChannelInfoIndexRoute extends _discourse.default {\n static #_ = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n afterModel() {\n this.router.replaceWith(\"chat.channel.info.settings\");\n }\n }\n _exports.default = ChatChannelInfoIndexRoute;\n});","define(\"discourse/plugins/chat/discourse/routes/chat-channel-info-members\", [\"exports\", \"@ember/service\", \"discourse/routes/discourse\"], function (_exports, _service, _discourse) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatChannelInfoMembersRoute extends _discourse.default {\n static #_ = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n afterModel(model) {\n if (!model.isOpen) {\n return this.router.replaceWith(\"chat.channel.info.settings\");\n }\n }\n }\n _exports.default = ChatChannelInfoMembersRoute;\n});","define(\"discourse/plugins/chat/discourse/routes/chat-channel-info\", [\"exports\", \"@ember/service\", \"discourse/routes/discourse\", \"discourse/plugins/chat/discourse/services/chat-channel-info-route-origin-manager\", \"discourse/plugins/chat/discourse/routes/chat-channel-decorator\"], function (_exports, _service, _discourse, _chatChannelInfoRouteOriginManager, _chatChannelDecorator) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const ChatChannelInfoRoute = dt7948.c(class ChatChannelInfoRoute extends _discourse.default {\n static #_ = (() => dt7948.g(this.prototype, \"chatChannelInfoRouteOriginManager\", [_service.service]))();\n #chatChannelInfoRouteOriginManager = (() => (dt7948.i(this, \"chatChannelInfoRouteOriginManager\"), void 0))();\n activate(transition) {\n const name = transition?.from?.name;\n if (name) {\n this.chatChannelInfoRouteOriginManager.origin = name.startsWith(\"chat.browse\") ? _chatChannelInfoRouteOriginManager.ORIGINS.browse : _chatChannelInfoRouteOriginManager.ORIGINS.channel;\n }\n }\n deactivate() {\n this.chatChannelInfoRouteOriginManager.origin = null;\n }\n }, [_chatChannelDecorator.default]);\n var _default = _exports.default = ChatChannelInfoRoute;\n});","define(\"discourse/plugins/chat/discourse/routes/chat-channel-legacy\", [\"exports\", \"@ember/service\", \"discourse/routes/discourse\"], function (_exports, _service, _discourse) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatChannelLegacyRoute extends _discourse.default {\n static #_ = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n redirect() {\n const {\n channelTitle,\n channelId,\n messageId\n } = this.paramsFor(this.routeName);\n this.router.replaceWith(\"chat.channel\", channelTitle, channelId, {\n queryParams: {\n messageId\n }\n });\n }\n }\n _exports.default = ChatChannelLegacyRoute;\n});","define(\"discourse/plugins/chat/discourse/routes/chat-channel-near-message-with-thread\", [\"exports\", \"@ember/service\", \"discourse/routes/discourse\"], function (_exports, _service, _discourse) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n // This route is only here as a convenience method for a clean `/c/:channelTitle/:channelId/:messageId/t/:threadId` URL.\n // It's not a real route, it just redirects to the real route after setting a param on the controller.\n class ChatChannelNearMessageWithThread extends _discourse.default {\n static #_ = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n beforeModel() {\n const channel = this.modelFor(\"chat-channel\");\n const {\n messageId,\n threadId\n } = this.paramsFor(this.routeName);\n this.controllerFor(\"chat-channel\").set(\"messageId\", null);\n if (messageId || this.controllerFor(\"chat-channel\").get(\"targetMessageId\")) {\n this.controllerFor(\"chat-channel\").set(\"targetMessageId\", messageId);\n }\n if (threadId && this.site.desktopView) {\n this.router.replaceWith(\"chat.channel.thread\", ...channel.routeModels, threadId);\n }\n }\n }\n _exports.default = ChatChannelNearMessageWithThread;\n});","define(\"discourse/plugins/chat/discourse/routes/chat-channel-near-message\", [\"exports\", \"@ember/service\", \"discourse/routes/discourse\"], function (_exports, _service, _discourse) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n // This route is only here as a convenience method for a clean `/c/:channelTitle/:channelId/:messageId` URL.\n // It's not a real route, it just redirects to the real route after setting a param on the controller.\n class ChatChannelNearMessage extends _discourse.default {\n static #_ = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n beforeModel() {\n const channel = this.modelFor(\"chat-channel\");\n const {\n messageId\n } = this.paramsFor(this.routeName);\n this.controllerFor(\"chat-channel\").set(\"messageId\", null);\n if (messageId || this.controllerFor(\"chat-channel\").get(\"targetMessageId\")) {\n this.controllerFor(\"chat-channel\").set(\"targetMessageId\", messageId);\n }\n this.router.replaceWith(\"chat.channel\", ...channel.routeModels);\n }\n }\n _exports.default = ChatChannelNearMessage;\n});","define(\"discourse/plugins/chat/discourse/routes/chat-channel-thread-near-message\", [\"exports\", \"@ember/service\", \"discourse/routes/discourse\"], function (_exports, _service, _discourse) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n // This route is only here as a convenience method for a clean `/c/:channelTitle/:channelId/t/:threadId/:messageId` URL.\n // It's not a real route, it just redirects to the real route after setting a param on the controller.\n class ChatChannelThreadNearMessage extends _discourse.default {\n static #_ = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n beforeModel() {\n const thread = this.modelFor(\"chat-channel-thread\");\n const {\n messageId\n } = this.paramsFor(this.routeName);\n if (messageId || this.controllerFor(\"chat-channel-thread\").get(\"targetMessageId\")) {\n this.controllerFor(\"chat-channel-thread\").set(\"targetMessageId\", messageId);\n }\n this.router.replaceWith(\"chat.channel.thread\", ...thread.routeModels);\n }\n }\n _exports.default = ChatChannelThreadNearMessage;\n});","define(\"discourse/plugins/chat/discourse/routes/chat-channel-thread\", [\"exports\", \"@ember/object\", \"@ember/service\", \"discourse/routes/discourse\"], function (_exports, _object, _service, _discourse) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatChannelThread extends _discourse.default {\n static #_ = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"chatStateManager\", [_service.service]))();\n #chatStateManager = (() => (dt7948.i(this, \"chatStateManager\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n redirectToChannel(channel, transition) {\n transition.abort();\n this.chatStateManager.closeSidePanel();\n this.router.transitionTo(\"chat.channel\", ...channel.routeModels);\n }\n model(params, transition) {\n const channel = this.modelFor(\"chat.channel\");\n return channel.threadsManager.find(channel.id, params.threadId).catch(() => {\n this.redirectToChannel(channel, transition);\n return;\n });\n }\n afterModel(thread, transition) {\n const channel = this.modelFor(\"chat.channel\");\n if (!channel.threadingEnabled && !thread.force) {\n this.redirectToChannel(channel, transition);\n return;\n }\n channel.activeThread = thread;\n }\n activate() {\n this.chat.activeMessage = null;\n this.chatStateManager.openSidePanel();\n }\n static #_4 = (() => dt7948.n(this.prototype, \"activate\", [_object.action]))();\n deactivate() {\n this.chatStateManager.closeSidePanel();\n }\n static #_5 = (() => dt7948.n(this.prototype, \"deactivate\", [_object.action]))();\n beforeModel() {\n const {\n messageId\n } = this.paramsFor(this.routeName + \".near-message\");\n if (!messageId && this.controllerFor(\"chat-channel-thread\").get(\"targetMessageId\")) {\n this.controllerFor(\"chat-channel-thread\").set(\"targetMessageId\", null);\n }\n }\n }\n _exports.default = ChatChannelThread;\n});","define(\"discourse/plugins/chat/discourse/routes/chat-channel-threads\", [\"exports\", \"@ember/object\", \"@ember/service\", \"discourse/routes/discourse\"], function (_exports, _object, _service, _discourse) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatChannelThreads extends _discourse.default {\n static #_ = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"chatThreadListPane\", [_service.service]))();\n #chatThreadListPane = (() => (dt7948.i(this, \"chatThreadListPane\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"chatStateManager\", [_service.service]))();\n #chatStateManager = (() => (dt7948.i(this, \"chatStateManager\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n beforeModel(transition) {\n const channel = this.modelFor(\"chat.channel\");\n if (!channel.threadingEnabled) {\n transition.abort();\n this.router.transitionTo(\"chat.channel\", ...channel.routeModels);\n return;\n }\n }\n activate() {\n this.chat.activeMessage = null;\n this.chatStateManager.openSidePanel();\n }\n static #_5 = (() => dt7948.n(this.prototype, \"activate\", [_object.action]))();\n deactivate() {\n this.chatStateManager.closeSidePanel();\n }\n static #_6 = (() => dt7948.n(this.prototype, \"deactivate\", [_object.action]))();\n }\n _exports.default = ChatChannelThreads;\n});","define(\"discourse/plugins/chat/discourse/routes/chat-channel\", [\"exports\", \"@ember/service\", \"discourse/routes/discourse\", \"discourse/plugins/chat/discourse/routes/chat-channel-decorator\"], function (_exports, _service, _discourse, _chatChannelDecorator) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const ChatChannelRoute = dt7948.c(class ChatChannelRoute extends _discourse.default {\n static #_ = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n redirect(model) {\n if (this.site.mobileView) {\n return;\n }\n const messageId = this.paramsFor(\"chat.channel.near-message\").messageId;\n const threadId = this.paramsFor(\"chat.channel.thread\").threadId;\n if (model.threadingEnabled && !messageId && !threadId && model.threadsManager.unreadThreadCount > 0) {\n this.router.transitionTo(\"chat.channel.threads\", ...model.routeModels);\n }\n }\n }, [_chatChannelDecorator.default]);\n var _default = _exports.default = ChatChannelRoute;\n});","define(\"discourse/plugins/chat/discourse/routes/chat-channels\", [\"exports\", \"@ember/service\", \"discourse/routes/discourse\"], function (_exports, _service, _discourse) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatChannelsRoute extends _discourse.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"chatChannelsManager\", [_service.service]))();\n #chatChannelsManager = (() => (dt7948.i(this, \"chatChannelsManager\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n activate() {\n this.chat.activeChannel = null;\n }\n beforeModel() {\n const id = this.currentUser.custom_fields.last_chat_channel_id;\n if (this.site.desktopView) {\n if (id) {\n this.chatChannelsManager.find(id).then(c => {\n return this.router.replaceWith(\"chat.channel\", ...c.routeModels);\n });\n } else {\n this.router.replaceWith(\"chat.browse.open\");\n }\n }\n }\n model() {\n return this.chatChannelsManager.publicMessageChannels;\n }\n }\n _exports.default = ChatChannelsRoute;\n});","define(\"discourse/plugins/chat/discourse/routes/chat-direct-messages\", [\"exports\", \"@ember/service\", \"discourse/routes/discourse\"], function (_exports, _service, _discourse) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatDirectMessagesRoute extends _discourse.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"chatChannelsManager\", [_service.service]))();\n #chatChannelsManager = (() => (dt7948.i(this, \"chatChannelsManager\"), void 0))();\n activate() {\n this.chat.activeChannel = null;\n }\n beforeModel() {\n if (this.site.desktopView) {\n if (this.chatChannelsManager.directMessageChannels.length === 0) {\n // first time browsing chat and the preferred index is dms\n this.router.replaceWith(\"chat.direct-messages\");\n } else {\n // there should be at least one dm channel\n // we can reroute using the last channel id\n const id = this.currentUser.custom_fields.last_chat_channel_id;\n this.chatChannelsManager.find(id).then(c => {\n return this.router.replaceWith(\"chat.channel\", ...c.routeModels);\n });\n }\n }\n }\n model() {\n return this.chatChannelsManager.directMessageChannels;\n }\n }\n _exports.default = ChatDirectMessagesRoute;\n});","define(\"discourse/plugins/chat/discourse/routes/chat-draft-channel\", [\"exports\", \"@ember/service\", \"discourse/routes/discourse\"], function (_exports, _service, _discourse) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatDraftChannelRoute extends _discourse.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n beforeModel() {\n if (!this.chat.userCanDirectMessage) {\n this.router.transitionTo(\"chat\");\n }\n }\n activate() {\n this.chat.activeChannel = null;\n }\n }\n _exports.default = ChatDraftChannelRoute;\n});","define(\"discourse/plugins/chat/discourse/routes/chat-index\", [\"exports\", \"@ember/service\", \"discourse/routes/discourse\"], function (_exports, _service, _discourse) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatIndexRoute extends _discourse.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"chatChannelsManager\", [_service.service]))();\n #chatChannelsManager = (() => (dt7948.i(this, \"chatChannelsManager\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n get hasThreads() {\n if (!this.siteSettings.chat_threads_enabled) {\n return false;\n }\n return this.chatChannelsManager.hasThreadedChannels;\n }\n get hasDirectMessages() {\n return this.chat.userCanAccessDirectMessages;\n }\n get isPublicChannelsEnabled() {\n return this.siteSettings.enable_public_channels;\n }\n activate() {\n this.chat.activeChannel = null;\n }\n async model() {\n return await this.chat.loadChannels();\n }\n async redirect() {\n if (this.siteSettings.chat_preferred_index === \"my_threads\" && this.hasThreads) {\n return this.router.replaceWith(\"chat.threads\");\n } else if (this.siteSettings.chat_preferred_index === \"direct_messages\" && this.hasDirectMessages) {\n return this.router.replaceWith(\"chat.direct-messages\");\n } else if (this.siteSettings.chat_preferred_index === \"channels\" && this.isPublicChannelsEnabled) {\n return this.router.replaceWith(\"chat.channels\");\n }\n if (!this.isPublicChannelsEnabled && this.hasDirectMessages) {\n return this.router.replaceWith(\"chat.direct-messages\");\n }\n return this.router.replaceWith(\"chat.browse.open\");\n }\n }\n _exports.default = ChatIndexRoute;\n});","define(\"discourse/plugins/chat/discourse/routes/chat-new-message\", [\"exports\", \"@ember/service\", \"discourse/routes/discourse\"], function (_exports, _service, _discourse) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatNewMessageRoute extends _discourse.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n beforeModel(transition) {\n const recipients = this.paramsFor(this.routeName).recipients?.split(\",\");\n if (!recipients) {\n transition.abort();\n return this.router.transitionTo(\"chat\");\n }\n this.chat.upsertDmChannel({\n usernames: recipients\n }).then(channel => {\n this.router.transitionTo(\"chat.channel\", channel.title, channel.id);\n });\n }\n }\n _exports.default = ChatNewMessageRoute;\n});","define(\"discourse/plugins/chat/discourse/routes/chat-threads\", [\"exports\", \"@ember/service\", \"discourse/routes/discourse\"], function (_exports, _service, _discourse) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatChannelThreads extends _discourse.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"chatStateManager\", [_service.service]))();\n #chatStateManager = (() => (dt7948.i(this, \"chatStateManager\"), void 0))();\n activate() {\n this.chat.activeChannel = null;\n this.chatStateManager.closeSidePanel();\n }\n }\n _exports.default = ChatChannelThreads;\n});","define(\"discourse/plugins/chat/discourse/routes/chat\", [\"exports\", \"@ember/runloop\", \"@ember/service\", \"discourse/lib/plugin-api\", \"discourse/lib/scroll-top\", \"discourse/lib/utilities\", \"discourse/routes/discourse\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/lib/get-user-chat-separate-sidebar-mode\", \"discourse/plugins/chat/discourse/lib/init-sidebar-state\"], function (_exports, _runloop, _service, _pluginApi, _scrollTop, _utilities, _discourse, _discourseI18n, _getUserChatSeparateSidebarMode, _initSidebarState) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatRoute extends _discourse.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"chatStateManager\", [_service.service]))();\n #chatStateManager = (() => (dt7948.i(this, \"chatStateManager\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"chatDrawerRouter\", [_service.service]))();\n #chatDrawerRouter = (() => (dt7948.i(this, \"chatDrawerRouter\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n titleToken() {\n return (0, _discourseI18n.i18n)(\"chat.title_capitalized\");\n }\n beforeModel(transition) {\n if (!this.chat.userCanChat) {\n return this.router.transitionTo(`discovery.${(0, _utilities.defaultHomepage)()}`);\n }\n if (transition.from &&\n // don't intercept when directly loading chat\n this.chatStateManager.isDrawerPreferred && this.chatDrawerRouter.canHandleRoute(transition.to)) {\n transition.abort();\n let url = transition.intent.url;\n if (transition.targetName.startsWith(\"chat.channel\")) {\n url ??= this.router.urlFor(transition.targetName, ...transition.intent.contexts);\n } else {\n url ??= this.router.urlFor(transition.targetName);\n }\n this.appEvents.trigger(\"chat:open-url\", url);\n return;\n }\n this.appEvents.trigger(\"chat:toggle-close\");\n }\n activate() {\n (0, _pluginApi.withPluginApi)(\"1.8.0\", api => {\n api.setSidebarPanel(_initSidebarState.CHAT_PANEL);\n const chatSeparateSidebarMode = (0, _getUserChatSeparateSidebarMode.getUserChatSeparateSidebarMode)(this.currentUser);\n if (chatSeparateSidebarMode.never) {\n api.setCombinedSidebarMode();\n api.hideSidebarSwitchPanelButtons();\n } else {\n api.setSeparatedSidebarMode();\n }\n });\n this.chatStateManager.storeAppURL();\n this.chat.updatePresence();\n (0, _runloop.schedule)(\"afterRender\", () => {\n document.body.classList.add(\"has-full-page-chat\", \"has-chat\");\n document.documentElement.classList.add(\"has-full-page-chat\", \"has-chat\");\n (0, _scrollTop.scrollTop)();\n });\n }\n deactivate(transition) {\n (0, _pluginApi.withPluginApi)(\"1.8.0\", api => {\n (0, _initSidebarState.initSidebarState)(api, this.currentUser);\n });\n if (transition) {\n let url = this.router.urlFor(transition.from.name);\n if (this.router.rootURL !== \"/\") {\n url = url.replace(new RegExp(`^${this.router.rootURL}`), \"/\");\n }\n this.chatStateManager.storeChatURL(url);\n }\n this.chat.activeChannel = null;\n this.chat.updatePresence();\n (0, _runloop.schedule)(\"afterRender\", () => {\n document.body.classList.remove(\"has-full-page-chat\", \"has-chat\");\n document.documentElement.classList.remove(\"has-full-page-chat\", \"has-chat\");\n });\n }\n }\n _exports.default = ChatRoute;\n});","define(\"discourse/plugins/chat/discourse/routes/preferences-chat\", [\"exports\", \"@ember/service\", \"discourse/lib/utilities\", \"discourse/routes/restricted-user\"], function (_exports, _service, _utilities, _restrictedUser) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class PreferencesChatRoute extends _restrictedUser.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n showFooter = true;\n setupController(controller, user) {\n if (!this.siteSettings.chat_enabled || !user.can_chat && !this.currentUser?.admin) {\n return this.router.transitionTo(`discovery.${(0, _utilities.defaultHomepage)()}`);\n }\n controller.set(\"model\", user);\n }\n }\n _exports.default = PreferencesChatRoute;\n});","define(\"discourse/plugins/chat/discourse/services/chat-admin-api\", [\"exports\", \"@ember/service\", \"discourse/lib/ajax\"], function (_exports, _service, _ajax) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatAdminApi extends _service.default {\n async exportMessages() {\n await this.#post(`/export/messages`);\n }\n get #basePath() {\n return \"/chat/admin\";\n }\n #post(endpoint) {\n let data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return (0, _ajax.ajax)(`${this.#basePath}${endpoint}`, {\n type: \"POST\",\n data\n });\n }\n }\n _exports.default = ChatAdminApi;\n});","define(\"discourse/plugins/chat/discourse/services/chat-api\", [\"exports\", \"@ember/service\", \"discourse/lib/ajax\", \"discourse/plugins/chat/discourse/models/user-chat-channel-membership\", \"discourse/plugins/chat/discourse/lib/collection\"], function (_exports, _service, _ajax, _userChatChannelMembership, _collection) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n /**\n * Chat API service. Provides methods to interact with the chat API.\n *\n * @module ChatApi\n * @implements {@ember/service}\n */\n class ChatApi extends _service.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"chatChannelsManager\", [_service.service]))();\n #chatChannelsManager = (() => (dt7948.i(this, \"chatChannelsManager\"), void 0))();\n channel(channelId) {\n return this.#getRequest(`/channels/${channelId}`);\n }\n channelThreadMessages(channelId, threadId) {\n let params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return this.#getRequest(`/channels/${channelId}/threads/${threadId}/messages?${new URLSearchParams(params).toString()}`);\n }\n channelMessages(channelId) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return this.#getRequest(`/channels/${channelId}/messages?${new URLSearchParams(params).toString()}`);\n }\n\n /**\n * Flags a message in a channel.\n * @param {number} channelId - The ID of the channel.\n * @param {number} messageId - The ID of the message to flag.\n * @param {object} params - Params of the flag.\n * @param {integer} params.flag_type_id\n * @param {string} [params.message]\n * @param {boolean} [params.is_warning]\n * @param {boolean} [params.queue_for_review]\n * @param {boolean} [params.take_action]\n * @returns {Promise}\n *\n * @example\n *\n * this.chatApi.flagMessage(5, 1);\n */\n flagMessage(channelId, messageId) {\n let params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return this.#postRequest(`/channels/${channelId}/messages/${messageId}/flags`, params);\n }\n\n /**\n * Get a thread in a channel by its ID.\n * @param {number} channelId - The ID of the channel.\n * @param {number} threadId - The ID of the thread.\n * @returns {Promise}\n *\n * @example\n *\n * this.chatApi.thread(5, 1).then(thread => { ... })\n */\n thread(channelId, threadId) {\n return this.#getRequest(`/channels/${channelId}/threads/${threadId}`);\n }\n\n /**\n * Loads all threads for a channel.\n * For now we only get the 50 threads ordered\n * by the last message sent by the user then the\n * thread creation date, later we will paginate\n * and add filters.\n * @param {number} channelId - The ID of the channel.\n * @returns {Promise}\n */\n threads(channelId, handler) {\n return new _collection.default(`${this.#basePath}/channels/${channelId}/threads`, handler);\n }\n\n /**\n * List all accessible category channels of the current user.\n * @returns {Collection}\n *\n * @example\n *\n * this.chatApi.channels.then(channels => { ... })\n */\n channels() {\n let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _collection.default(`${this.#basePath}/channels`, response => {\n return response.channels.map(channel => this.chatChannelsManager.store(channel));\n }, params);\n }\n\n /**\n * Moves messages from one channel to another.\n * @param {number} channelId - The ID of the original channel.\n * @param {object} data - Params of the move.\n * @param {Array.} data.message_ids - IDs of the moved messages.\n * @param {number} data.destination_channel_id - ID of the channel where the messages are moved to.\n * @returns {Promise}\n *\n * @example\n *\n * this.chatApi\n * .moveChannelMessages(1, {\n * message_ids: [2, 3],\n * destination_channel_id: 4,\n * }).then(() => { ... })\n */\n moveChannelMessages(channelId) {\n let data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return this.#postRequest(`/channels/${channelId}/messages/moves`, {\n move: data\n });\n }\n\n /**\n * Destroys a channel.\n * @param {number} channelId - The ID of the channel.\n * @returns {Promise}\n *\n * @example\n *\n * this.chatApi.destroyChannel(1).then(() => { ... })\n */\n destroyChannel(channelId) {\n return this.#deleteRequest(`/channels/${channelId}`);\n }\n\n /**\n * Creates a channel.\n * @param {object} data - Params of the channel.\n * @param {string} data.name - The name of the channel.\n * @param {string} data.chatable_id - The category of the channel.\n * @param {string} data.description - The description of the channel.\n * @param {boolean} [data.auto_join_users] - Should users join this channel automatically.\n * @returns {Promise}\n *\n * @example\n *\n * this.chatApi\n * .createChannel({ name: \"foo\", chatable_id: 1, description \"bar\" })\n * .then((channel) => { ... })\n */\n createChannel() {\n let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return this.#postRequest(\"/channels\", {\n channel: data\n }).then(response => this.chatChannelsManager.store(response.channel));\n }\n\n /**\n * Lists chat permissions for a category.\n * @param {number} categoryId - ID of the category.\n * @returns {Promise}\n */\n categoryPermissions(categoryId) {\n return this.#getRequest(`/category-chatables/${categoryId}/permissions`);\n }\n\n /**\n * Sends a message.\n * @param {number} channelId - ID of the channel.\n * @param {object} data - Params of the message.\n * @param {string} data.message - The raw content of the message in markdown.\n * @param {string} data.cooked - The cooked content of the message.\n * @param {number} [data.in_reply_to_id] - The ID of the replied-to message.\n * @param {number} [data.staged_id] - The staged ID of the message before it was persisted.\n * @param {number} [data.thread_id] - The ID of the thread where this message should be posted.\n * @param {number} [data.topic_id] - The ID of the currently visible topic in drawer mode.\n * @param {number} [data.post_ids] - The ID of the currently visible posts in drawer mode.\n * @param {Array.} [data.upload_ids] - Array of upload ids linked to the message.\n * @returns {Promise}\n */\n sendMessage(channelId) {\n let data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return (0, _ajax.ajax)(`/chat/${channelId}`, {\n ignoreUnsent: false,\n type: \"POST\",\n data\n });\n }\n\n /**\n * Stop streaming of a message\n * @param {number} channelId - ID of the channel.\n * @param {number} messageId - ID of the message.\n * @returns {Promise}\n */\n stopMessageStreaming(channelId, messageId) {\n return this.#deleteRequest(`/channels/${channelId}/messages/${messageId}/streaming`);\n }\n\n /**\n * Trashes (soft deletes) a chat message.\n * @param {number} channelId - ID of the channel.\n * @param {number} messageId - ID of the message.\n * @returns {Promise}\n */\n trashMessage(channelId, messageId) {\n return this.#deleteRequest(`/channels/${channelId}/messages/${messageId}`);\n }\n\n /**\n * Trashes (soft deletes) multiple chat messages.\n * @param {number} channelId - ID of the channel.\n * @param {Array.} messageIds - IDs of the messages to delete.\n * @returns {Promise}\n */\n trashMessages(channelId, messageIds) {\n return this.#deleteRequest(`/channels/${channelId}/messages`, {\n message_ids: messageIds\n });\n }\n\n /**\n * Creates a channel archive.\n * @param {number} channelId - The ID of the channel.\n * @param {object} data - Params of the archive.\n * @param {string} data.selection - \"new_topic\" or \"existing_topic\".\n * @param {string} [data.title] - Title of the topic when creating a new topic.\n * @param {string} [data.category_id] - ID of the category used when creating a new topic.\n * @param {Array.} [data.tags] - tags used when creating a new topic.\n * @param {string} [data.topic_id] - ID of the topic when using an existing topic.\n * @returns {Promise}\n */\n createChannelArchive(channelId) {\n let data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return this.#postRequest(`/channels/${channelId}/archives`, {\n archive: data\n });\n }\n\n /**\n * Updates a channel.\n * @param {number} channelId - The ID of the channel.\n * @param {object} data - Params of the archive.\n * @param {string} [data.description] - Description of the channel.\n * @param {string} [data.name] - Name of the channel.\n * @returns {Promise}\n */\n updateChannel(channelId) {\n let data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return this.#putRequest(`/channels/${channelId}`, {\n channel: data\n });\n }\n\n /**\n * Creates a thread.\n * @param {number} channelId - The ID of the channel.\n * @param {number} originalMessageId - The ID of the original message.\n * @param {object} data - Params of the thread.\n * @param {string} [data.title] - Title of the thread.\n * @returns {Promise}\n */\n createThread(channelId, originalMessageId) {\n let data = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return this.#postRequest(`/channels/${channelId}/threads`, {\n title: data.title,\n original_message_id: originalMessageId\n });\n }\n\n /**\n * Creates a message interaction.\n * @param {number} channelId - The ID of the channel.\n * @param {number} messageId - The ID of the message.\n * @param {object} data - Params of the intereaction.\n * @param {string} data.action_id - The ID of the action.\n * @returns {Promise}\n */\n createInteraction(channelId, messageId) {\n let data = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return this.#postRequest(`/channels/${channelId}/messages/${messageId}/interactions`, data);\n }\n\n /**\n * Updates the status of a channel.\n * @param {number} channelId - The ID of the channel.\n * @param {string} status - The new status, can be \"open\" or \"closed\".\n * @returns {Promise}\n */\n updateChannelStatus(channelId, status) {\n return this.#putRequest(`/channels/${channelId}/status`, {\n status\n });\n }\n\n /**\n * Lists members of a channel.\n * @param {number} channelId - The ID of the channel.\n * @returns {Collection}\n */\n listChannelMemberships(channelId) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return new _collection.default(`${this.#basePath}/channels/${channelId}/memberships`, response => {\n return response.memberships.map(membership => _userChatChannelMembership.default.create(membership));\n }, params);\n }\n\n /**\n * Lists public and direct message channels of the current user.\n * @returns {Promise}\n */\n listCurrentUserChannels() {\n return this.#getRequest(\"/me/channels\");\n }\n\n /**\n * Makes current user follow a channel.\n * @param {number} channelId - The ID of the channel.\n * @returns {Promise}\n */\n followChannel(channelId) {\n return this.#postRequest(`/channels/${channelId}/memberships/me`).then(result => _userChatChannelMembership.default.create(result.membership));\n }\n\n /**\n * Makes current user unfollow a channel.\n * @param {number} channelId - The ID of the channel.\n * @returns {Promise}\n */\n unfollowChannel(channelId) {\n return this.#deleteRequest(`/channels/${channelId}/memberships/me/follows`).then(result => _userChatChannelMembership.default.create(result.membership));\n }\n\n /**\n * Destroys the membership of current user on a channel.\n *\n * @param {number} channelId - The ID of the channel.\n * @returns {Promise}\n */\n async leaveChannel(channelId) {\n await this.#deleteRequest(`/channels/${channelId}/memberships/me`);\n const channel = await this.chatChannelsManager.find(channelId, {\n fetchIfNotFound: false\n });\n if (channel) {\n this.chatChannelsManager.remove(channel);\n }\n }\n\n /**\n * Get the list of tracked threads for the current user.\n *\n * @returns {Promise}\n */\n userThreads(handler) {\n return new _collection.default(`${this.#basePath}/me/threads`, handler);\n }\n\n /**\n * Update notifications settings of current user for a channel.\n * @param {number} channelId - The ID of the channel.\n * @param {object} data - The settings to modify.\n * @param {boolean} [data.muted] - Mutes the channel.\n * @param {string} [data.notification_level] - Notifications level: never, mention or always.\n * @returns {Promise}\n */\n updateCurrentUserChannelNotificationsSettings(channelId) {\n let data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return this.#putRequest(`/channels/${channelId}/notifications-settings/me`, {\n notifications_settings: data\n });\n }\n\n /**\n * Update notifications settings of current user for a thread.\n * @param {number} channelId - The ID of the channel.\n * @param {number} threadId - The ID of the thread.\n * @param {object} data - The settings to modify.\n * @param {boolean} [data.notification_level] - The new notification level, c.f. Chat::NotificationLevels. Threads only support\n * \"regular\" and \"tracking\" for now.\n * @returns {Promise}\n */\n updateCurrentUserThreadNotificationsSettings(channelId, threadId, data) {\n return this.#putRequest(`/channels/${channelId}/threads/${threadId}/notifications-settings/me`, {\n notification_level: data.notificationLevel\n });\n }\n\n /**\n * Update thread title prompt of current user for a thread.\n * @param {number} channelId - The ID of the channel.\n * @param {number} threadId - The ID of the thread.\n * @returns {Promise}\n */\n updateCurrentUserThreadTitlePrompt(channelId, threadId) {\n return this.#postRequest(`/channels/${channelId}/threads/${threadId}/mark-thread-title-prompt-seen/me`);\n }\n\n /**\n * Saves a draft for the channel, which includes message contents and uploads.\n * @param {number} channelId - The ID of the channel.\n * @param {object} data - The draft data, see ChatMessage.toJSONDraft() for more details.\n * @returns {Promise}\n */\n saveDraft(channelId, data) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n let endpoint = `/chat/api/channels/${channelId}`;\n if (options.threadId) {\n endpoint += `/threads/${options.threadId}`;\n }\n endpoint += \"/drafts\";\n return (0, _ajax.ajax)(endpoint, {\n type: \"POST\",\n data: {\n data\n },\n ignoreUnsent: false\n }).then(() => {\n this.chat.markNetworkAsReliable();\n }).catch(error => {\n // we ignore a draft which can't be saved because it's too big\n // and only deal with network error for now\n if (!error.jqXHR?.responseJSON?.errors?.length) {\n this.chat.markNetworkAsUnreliable();\n }\n });\n }\n\n /**\n * Adds or removes an emoji reaction for a message inside a channel.\n * @param {number} channelId - The ID of the channel.\n * @param {number} messageId - The ID of the message to react on.\n * @param {string} emoji - The text version of the emoji without colons, e.g. tada\n * @param {string} reaction - Either \"add\" or \"remove\"\n * @returns {Promise}\n */\n publishReaction(channelId, messageId, emoji, reactAction) {\n return (0, _ajax.ajax)(`/chat/${channelId}/react/${messageId}`, {\n type: \"PUT\",\n data: {\n react_action: reactAction,\n emoji\n }\n });\n }\n\n /**\n * Restores a single deleted chat message in a channel.\n *\n * @param {number} channelId - The ID of the channel for the message being restored.\n * @param {number} messageId - The ID of the message being restored.\n */\n restoreMessage(channelId, messageId) {\n return this.#putRequest(`/channels/${channelId}/messages/${messageId}/restore`);\n }\n\n /**\n * Rebakes the cooked HTML of a single message in a channel.\n *\n * @param {number} channelId - The ID of the channel for the message being restored.\n * @param {number} messageId - The ID of the message being restored.\n */\n rebakeMessage(channelId, messageId) {\n return (0, _ajax.ajax)(`/chat/${channelId}/${messageId}/rebake`, {\n type: \"PUT\"\n });\n }\n\n /**\n * Saves an edit to a message's contents in a channel.\n *\n * @param {number} channelId - The ID of the channel for the message being edited.\n * @param {number} messageId - The ID of the message being edited.\n * @param {object} data - Params of the edit.\n * @param {string} data.new_message - The edited content of the message.\n * @param {Array} data.upload_ids - The uploads attached to the message after editing.\n */\n editMessage(channelId, messageId, data) {\n return this.#putRequest(`/channels/${channelId}/messages/${messageId}`, data);\n }\n\n /**\n * Marks messages for all of a user's chat channel memberships as read.\n *\n * @returns {Promise}\n */\n markAllChannelsAsRead() {\n return this.#putRequest(`/channels/read`);\n }\n\n /**\n * Lists all possible chatables.\n *\n * @param {term} string - The term to search for. # prefix will scope to channels, @ to users.\n *\n * @returns {Promise}\n */\n chatables() {\n let args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return this.#getRequest(\"/chatables\", args);\n }\n\n /**\n * Marks messages for a single user chat channel membership as read. If no\n * message ID is provided, then the latest message for the channel is fetched\n * on the server and used for the last read message.\n *\n * @param {number} channelId - The ID of the channel for the message being marked as read.\n * @param {number} [messageId] - The ID of the message being marked as read.\n * @returns {Promise}\n */\n markChannelAsRead(channelId) {\n let messageId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n return this.#putRequest(`/channels/${channelId}/read?message_id=${messageId}`);\n }\n\n /**\n * Marks messages for a single user chat thread membership as read. If no\n * message ID is provided, then the latest message for the channel is fetched\n * on the server and used for the last read message.\n *\n * @param {number} channelId - The ID of the channel for the thread being marked as read.\n * @param {number} threadId - The ID of the thread being marked as read.\n * @param {number} messageId - The ID of the message being marked as read.\n * @returns {Promise}\n */\n markThreadAsRead(channelId, threadId, messageId) {\n return this.#putRequest(`/channels/${channelId}/threads/${threadId}/read?message_id=${messageId}`);\n }\n\n /**\n * Updates settings of a thread.\n *\n * @param {number} channelId - The ID of the channel for the thread being edited.\n * @param {number} threadId - The ID of the thread being edited.\n * @param {object} data - Params of the edit.\n * @param {string} data.title - The new title for the thread.\n */\n editThread(channelId, threadId, data) {\n return this.#putRequest(`/channels/${channelId}/threads/${threadId}`, data);\n }\n\n /**\n * Generate a quote for a list of messages.\n *\n * @param {number} channelId - The ID of the channel containing the messages.\n * @param {Array} messageIds - The IDs of the messages to quote.\n */\n generateQuote(channelId, messageIds) {\n return (0, _ajax.ajax)(`/chat/${channelId}/quote`, {\n type: \"POST\",\n data: {\n message_ids: messageIds\n }\n });\n }\n\n /**\n * Invite users to a channel.\n *\n * @param {number} channelId - The ID of the channel.\n * @param {Array} userIds - The IDs of the users to invite.\n * @param {object} options\n * @param {number} options.chat_message_id - A message ID to display in the invite.\n */\n invite(channelId, userIds) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return this.#postRequest(`/channels/${channelId}/invites`, {\n user_ids: userIds,\n message_id: options.messageId\n });\n }\n\n /**\n * Add members to a channel.\n *\n * @param {number} channelId - The ID of the channel.\n * @param {object} targets\n * @param {Array} targets.usernames - The usernames of the users to add.\n * @param {Array} targets.groups - The groups names of the groups to add.\n */\n addMembersToChannel(channelId, targets) {\n return this.#postRequest(`/channels/${channelId}/memberships`, {\n usernames: targets.usernames,\n groups: targets.groups\n });\n }\n\n /**\n * Remove member from a channel.\n *\n * @param {number} channelId - The ID of the channel.\n * @param {string} userId - The ID of the user to remove.\n */\n removeMemberFromChannel(channelId, userId) {\n return this.#deleteRequest(`/channels/${channelId}/memberships/${userId}`);\n }\n get #basePath() {\n return \"/chat/api\";\n }\n #getRequest(endpoint) {\n let data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return (0, _ajax.ajax)(`${this.#basePath}${endpoint}`, {\n type: \"GET\",\n data\n });\n }\n #putRequest(endpoint) {\n let data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return (0, _ajax.ajax)(`${this.#basePath}${endpoint}`, {\n type: \"PUT\",\n data\n });\n }\n #postRequest(endpoint) {\n let data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return (0, _ajax.ajax)(`${this.#basePath}${endpoint}`, {\n type: \"POST\",\n data\n });\n }\n #deleteRequest(endpoint) {\n let data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return (0, _ajax.ajax)(`${this.#basePath}${endpoint}`, {\n type: \"DELETE\",\n data\n });\n }\n }\n _exports.default = ChatApi;\n});","define(\"discourse/plugins/chat/discourse/services/chat-audio-manager\", [\"exports\", \"@ember/service\", \"discourse/lib/environment\", \"discourse/lib/get-url\"], function (_exports, _service, _environment, _getUrl) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = _exports.CHAT_SOUNDS = void 0;\n const CHAT_SOUNDS = _exports.CHAT_SOUNDS = {\n bell: [{\n src: \"/plugins/chat/audio/bell.mp3\",\n type: \"audio/mpeg\"\n }],\n ding: [{\n src: \"/plugins/chat/audio/ding.mp3\",\n type: \"audio/mpeg\"\n }]\n };\n const DEFAULT_SOUND_NAME = \"bell\";\n const THROTTLE_TIME = 3000; // 3 seconds\n\n class ChatAudioManager extends _service.default {\n canPlay = true;\n async play(name) {\n if (this.canPlay) {\n await this.#tryPlay(name);\n this.canPlay = false;\n setTimeout(() => {\n this.canPlay = true;\n }, THROTTLE_TIME);\n }\n }\n async #tryPlay(name) {\n const src = (0, _getUrl.getURLWithCDN)((CHAT_SOUNDS[name] || CHAT_SOUNDS[DEFAULT_SOUND_NAME])[0].src);\n const audio = new Audio(src);\n try {\n await audio.play();\n } catch {\n if (!(0, _environment.isTesting)()) {\n // eslint-disable-next-line no-console\n console.info(\"[chat] User needs to interact with DOM before we can play notification sounds.\");\n }\n }\n }\n }\n _exports.default = ChatAudioManager;\n});","define(\"discourse/plugins/chat/discourse/services/chat-channel-composer\", [\"exports\", \"@glimmer/tracking\", \"@ember/object\", \"@ember/runloop\", \"@ember/service\", \"discourse/lib/body-scroll-lock\"], function (_exports, _tracking, _object, _runloop, _service, _bodyScrollLock) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatChannelComposer extends _service.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"chatApi\", [_service.service]))();\n #chatApi = (() => (dt7948.i(this, \"chatApi\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"threadComposer\", [(0, _service.service)(\"chat-thread-composer\")]))();\n #threadComposer = (() => (dt7948.i(this, \"threadComposer\"), void 0))();\n static #_6 = (() => dt7948.g(this.prototype, \"loadingSlider\", [_service.service]))();\n #loadingSlider = (() => (dt7948.i(this, \"loadingSlider\"), void 0))();\n static #_7 = (() => dt7948.g(this.prototype, \"capabilities\", [_service.service]))();\n #capabilities = (() => (dt7948.i(this, \"capabilities\"), void 0))();\n static #_8 = (() => dt7948.g(this.prototype, \"appEvents\", [_service.service]))();\n #appEvents = (() => (dt7948.i(this, \"appEvents\"), void 0))();\n static #_9 = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n static #_10 = (() => dt7948.g(this.prototype, \"textarea\", [_tracking.tracked]))();\n #textarea = (() => (dt7948.i(this, \"textarea\"), void 0))();\n static #_11 = (() => dt7948.g(this.prototype, \"scroller\", [_tracking.tracked]))();\n #scroller = (() => (dt7948.i(this, \"scroller\"), void 0))();\n init() {\n super.init(...arguments);\n this.appEvents.on(\"discourse:focus-changed\", this, this.blur);\n }\n willDestroy() {\n super.willDestroy(...arguments);\n this.appEvents.off(\"discourse:focus-changed\", this, this.blur);\n }\n focus() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.textarea?.focus(options);\n (0, _runloop.schedule)(\"afterRender\", () => {\n if (this.capabilities.isIOS && !this.capabilities.isIpadOS) {\n (0, _bodyScrollLock.disableBodyScroll)(this.scroller, {\n reverse: true\n });\n }\n });\n }\n static #_12 = (() => dt7948.n(this.prototype, \"focus\", [_object.action]))();\n blur() {\n this.textarea?.blur();\n }\n static #_13 = (() => dt7948.n(this.prototype, \"blur\", [_object.action]))();\n edit(message) {\n this.chat.activeMessage = null;\n message.editing = true;\n message.channel.draft = message;\n if (this.site.desktopView) {\n this.focus({\n refreshHeight: true,\n ensureAtEnd: true\n });\n }\n }\n static #_14 = (() => dt7948.n(this.prototype, \"edit\", [_object.action]))();\n async replyTo(message) {\n this.chat.activeMessage = null;\n if (message.channel.threadingEnabled) {\n if (!message.thread?.id) {\n try {\n this.loadingSlider.transitionStarted();\n const threadObject = await this.chatApi.createThread(message.channel.id, message.id);\n message.thread = message.channel.threadsManager.add(message.channel, threadObject);\n } finally {\n this.loadingSlider.transitionEnded();\n }\n }\n message.channel.resetDraft(this.currentUser);\n try {\n await this.router.transitionTo(\"chat.channel.thread\", ...message.thread.routeModels);\n } catch (e) {\n if (e.name !== \"TransitionAborted\") {\n throw e;\n }\n }\n this.threadComposer.focus({\n ensureAtEnd: true,\n refreshHeight: true\n });\n } else {\n message.channel.draft.inReplyTo = message;\n this.focus({\n ensureAtEnd: true,\n refreshHeight: true\n });\n }\n }\n static #_15 = (() => dt7948.n(this.prototype, \"replyTo\", [_object.action]))();\n }\n _exports.default = ChatChannelComposer;\n});","define(\"discourse/plugins/chat/discourse/services/chat-channel-info-route-origin-manager\", [\"exports\", \"@ember/service\", \"@ember/utils\", \"discourse/lib/key-value-store\"], function (_exports, _service, _utils, _keyValueStore) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = _exports.ORIGINS = _exports.INFO_ROUTE_NAMESPACE = _exports.BACK_KEY = void 0;\n const BACK_KEY = _exports.BACK_KEY = \"back\";\n const INFO_ROUTE_NAMESPACE = _exports.INFO_ROUTE_NAMESPACE = \"discourse_chat_info_route\";\n const ORIGINS = _exports.ORIGINS = {\n channel: \"channel\",\n browse: \"browse\"\n };\n class ChatChannelInfoRouteOriginManager extends _service.default {\n store = (() => new _keyValueStore.default(INFO_ROUTE_NAMESPACE))();\n get origin() {\n const origin = this.store.getObject(BACK_KEY);\n if (origin) {\n return ORIGINS[origin];\n }\n }\n set origin(value) {\n this.store.setObject({\n key: BACK_KEY,\n value\n });\n }\n get isBrowse() {\n return this.origin === ORIGINS.browse;\n }\n get isChannel() {\n return this.origin === ORIGINS.channel || (0, _utils.isEmpty)(this.origin);\n }\n }\n _exports.default = ChatChannelInfoRouteOriginManager;\n});","define(\"discourse/plugins/chat/discourse/services/chat-channel-notices-manager\", [\"exports\", \"@glimmer/tracking\", \"@ember/service\", \"@ember-compat/tracked-built-ins\", \"discourse/plugins/chat/discourse/models/chat-notice\"], function (_exports, _tracking, _service, _trackedBuiltIns, _chatNotice) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatChannelNoticesManager extends _service.default {\n static #_ = (() => dt7948.g(this.prototype, \"notices\", [_tracking.tracked], function () {\n return new _trackedBuiltIns.TrackedArray();\n }))();\n #notices = (() => (dt7948.i(this, \"notices\"), void 0))();\n handleNotice(data) {\n this.notices.pushObject(_chatNotice.default.create(data));\n }\n clearNotice(notice) {\n this.notices.removeObject(notice);\n }\n }\n _exports.default = ChatChannelNoticesManager;\n});","define(\"discourse/plugins/chat/discourse/services/chat-channel-pane\", [\"exports\", \"@glimmer/tracking\", \"@ember/object\", \"@ember/service\"], function (_exports, _tracking, _object, _service) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatChannelPane extends _service.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"reacting\", [_tracking.tracked], function () {\n return false;\n }))();\n #reacting = (() => (dt7948.i(this, \"reacting\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"selectingMessages\", [_tracking.tracked], function () {\n return false;\n }))();\n #selectingMessages = (() => (dt7948.i(this, \"selectingMessages\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"lastSelectedMessage\", [_tracking.tracked], function () {\n return null;\n }))();\n #lastSelectedMessage = (() => (dt7948.i(this, \"lastSelectedMessage\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"sending\", [_tracking.tracked], function () {\n return false;\n }))();\n #sending = (() => (dt7948.i(this, \"sending\"), void 0))();\n get channel() {\n return this.chat.activeChannel;\n }\n get selectedMessageIds() {\n return this.channel.messagesManager.selectedMessages.mapBy(\"id\");\n }\n cancelSelecting() {\n this.selectingMessages = false;\n this.channel.messagesManager.clearSelectedMessages();\n }\n static #_6 = (() => dt7948.n(this.prototype, \"cancelSelecting\", [_object.action]))();\n onSelectMessage(message) {\n this.lastSelectedMessage = message;\n this.selectingMessages = true;\n }\n static #_7 = (() => dt7948.n(this.prototype, \"onSelectMessage\", [_object.action]))();\n }\n _exports.default = ChatChannelPane;\n});","define(\"discourse/plugins/chat/discourse/services/chat-channel-scroll-positions\", [\"exports\", \"@glimmer/tracking\", \"@ember/service\", \"@ember-compat/tracked-built-ins\"], function (_exports, _tracking, _service, _trackedBuiltIns) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatChannelScrollPositions extends _service.default {\n static #_ = (() => dt7948.g(this.prototype, \"positions\", [_tracking.tracked], function () {\n return new _trackedBuiltIns.TrackedMap();\n }))();\n #positions = (() => (dt7948.i(this, \"positions\"), void 0))();\n get(id) {\n return this.positions.get(id);\n }\n set(id, position) {\n this.positions.set(id, position);\n }\n delete(id) {\n if (this.positions.has(id)) {\n this.positions.delete(id);\n }\n }\n }\n _exports.default = ChatChannelScrollPositions;\n});","define(\"discourse/plugins/chat/discourse/services/chat-channels-manager\", [\"exports\", \"@glimmer/tracking\", \"@ember/service\", \"@ember-compat/tracked-built-ins\", \"rsvp\", \"discourse/lib/ajax-error\", \"discourse/lib/decorators\", \"discourse/plugins/chat/discourse/models/chat-channel\"], function (_exports, _tracking, _service, _trackedBuiltIns, _rsvp, _ajaxError, _decorators, _chatChannel) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const DIRECT_MESSAGE_CHANNELS_LIMIT = 50;\n\n /*\n The ChatChannelsManager service is responsible for managing the loaded chat channels.\n It provides helpers to facilitate using and managing loaded channels instead of constantly\n fetching them from the server.\n */\n\n class ChatChannelsManager extends _service.default {\n static #_ = (() => dt7948.g(this.prototype, \"chatApi\", [_service.service]))();\n #chatApi = (() => (dt7948.i(this, \"chatApi\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"chatSubscriptionsManager\", [_service.service]))();\n #chatSubscriptionsManager = (() => (dt7948.i(this, \"chatSubscriptionsManager\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"chatStateManager\", [_service.service]))();\n #chatStateManager = (() => (dt7948.i(this, \"chatStateManager\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n static #_6 = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n static #_7 = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n static #_8 = (() => dt7948.g(this.prototype, \"_cached\", [_tracking.tracked], function () {\n return new _trackedBuiltIns.TrackedObject();\n }))();\n #_cached = (() => (dt7948.i(this, \"_cached\"), void 0))();\n async find(id) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n fetchIfNotFound: true\n };\n const existingChannel = this.#findStale(id);\n if (existingChannel) {\n return _rsvp.default.resolve(existingChannel);\n } else if (options.fetchIfNotFound) {\n return this.#find(id);\n } else {\n return _rsvp.default.resolve();\n }\n }\n get channels() {\n return Object.values(this._cached);\n }\n static #_9 = (() => dt7948.n(this.prototype, \"channels\", [_tracking.cached]))();\n store(channelObject) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let model;\n if (!options.replace) {\n model = this.#findStale(channelObject.id);\n }\n if (!model) {\n if (channelObject instanceof _chatChannel.default) {\n model = channelObject;\n } else {\n model = _chatChannel.default.create(channelObject);\n }\n this.#cache(model);\n }\n if (channelObject.meta?.message_bus_last_ids?.channel_message_bus_last_id !== undefined) {\n model.channelMessageBusLastId = channelObject.meta.message_bus_last_ids.channel_message_bus_last_id;\n }\n return model;\n }\n async follow(model) {\n this.chatSubscriptionsManager.startChannelSubscription(model);\n if (!model.currentUserMembership.following) {\n return this.chatApi.followChannel(model.id).then(membership => {\n model.currentUserMembership = membership;\n return model;\n });\n } else {\n return model;\n }\n }\n async unfollow(model) {\n try {\n this.chatSubscriptionsManager.stopChannelSubscription(model);\n model.currentUserMembership = await this.chatApi.unfollowChannel(model.id);\n return model;\n } catch (error) {\n (0, _ajaxError.popupAjaxError)(error);\n }\n }\n async markAllChannelsRead() {\n // The user tracking state for each channel marked read will be propagated by MessageBus\n return this.chatApi.markAllChannelsAsRead();\n }\n static #_10 = (() => dt7948.n(this.prototype, \"markAllChannelsRead\", [(0, _decorators.debounce)(300)]))();\n remove(model) {\n if (!model) {\n return;\n }\n this.chatSubscriptionsManager.stopChannelSubscription(model);\n delete this._cached[model.id];\n }\n get hasThreadedChannels() {\n return this.allChannels?.some(channel => channel.threadingEnabled);\n }\n static #_11 = (() => dt7948.n(this.prototype, \"hasThreadedChannels\", [_tracking.cached]))();\n get allChannels() {\n return [...this.publicMessageChannels, ...this.directMessageChannels].sort((a, b) => {\n return b?.currentUserMembership?.lastViewedAt?.localeCompare?.(a?.currentUserMembership?.lastViewedAt);\n });\n }\n get publicMessageChannels() {\n return this.channels.filter(channel => channel.isCategoryChannel && channel.currentUserMembership.following).sort((a, b) => a?.slug?.localeCompare?.(b?.slug));\n }\n static #_12 = (() => dt7948.n(this.prototype, \"publicMessageChannels\", [_tracking.cached]))();\n get publicMessageChannelsWithActivity() {\n return this.publicMessageChannels.filter(channel => channel.hasUnread);\n }\n get publicMessageChannelsByActivity() {\n return this.#sortChannelsByActivity([...this.publicMessageChannels]);\n }\n get directMessageChannels() {\n return this.#sortDirectMessageChannels(this.channels.filter(channel => {\n const membership = channel.currentUserMembership;\n return channel.isDirectMessageChannel && membership.following;\n }));\n }\n static #_13 = (() => dt7948.n(this.prototype, \"directMessageChannels\", [_tracking.cached]))();\n get directMessageChannelsWithActivity() {\n return this.directMessageChannels.filter(channel => channel.hasUnread);\n }\n get truncatedDirectMessageChannels() {\n return this.directMessageChannels.slice(0, DIRECT_MESSAGE_CHANNELS_LIMIT);\n }\n async #find(id) {\n try {\n const result = await this.chatApi.channel(id);\n return this.store(result.channel);\n } catch (error) {\n (0, _ajaxError.popupAjaxError)(error);\n }\n }\n get publicMessageChannelsEmpty() {\n return this.publicMessageChannels?.length === 0 && this.chatStateManager.hasPreloadedChannels;\n }\n get displayPublicChannels() {\n if (!this.siteSettings.enable_public_channels) {\n return false;\n }\n if (!this.chatStateManager.hasPreloadedChannels) {\n return false;\n }\n if (this.publicMessageChannelsEmpty) {\n return this.currentUser?.staff || this.currentUser?.has_joinable_public_channels;\n }\n return true;\n }\n #cache(channel) {\n if (!channel) {\n return;\n }\n this._cached[channel.id] = channel;\n }\n #findStale(id) {\n return this._cached[id];\n }\n #sortChannelsByActivity(channels) {\n return channels.sort((a, b) => {\n const stats = {\n a: {\n urgent: a.tracking.mentionCount + a.tracking.watchedThreadsUnreadCount,\n unread: a.tracking.unreadCount + a.unreadThreadsCountSinceLastViewed\n },\n b: {\n urgent: b.tracking.mentionCount + b.tracking.watchedThreadsUnreadCount,\n unread: b.tracking.unreadCount + b.unreadThreadsCountSinceLastViewed\n }\n };\n\n // if both channels have urgent count, sort by slug\n // otherwise prioritize channel with urgent count\n if (stats.a.urgent > 0 && stats.b.urgent > 0) {\n return a.slug?.localeCompare?.(b.slug);\n }\n if (stats.a.urgent > 0 || stats.b.urgent > 0) {\n return stats.a.urgent > stats.b.urgent ? -1 : 1;\n }\n\n // if both channels have unread messages or threads, sort by slug\n // otherwise prioritize channel with unread count\n if (stats.a.unread > 0 && stats.b.unread > 0) {\n return a.slug?.localeCompare?.(b.slug);\n }\n if (stats.a.unread > 0 || stats.b.unread > 0) {\n return stats.a.unread > stats.b.unread ? -1 : 1;\n }\n return a.slug?.localeCompare?.(b.slug);\n });\n }\n #sortDirectMessageChannels(channels) {\n return channels.sort((a, b) => {\n if (!a.lastMessage.id) {\n return 1;\n }\n if (!b.lastMessage.id) {\n return -1;\n }\n const aUrgent = a.tracking.unreadCount + a.tracking.mentionCount + a.tracking.watchedThreadsUnreadCount;\n const bUrgent = b.tracking.unreadCount + b.tracking.mentionCount + b.tracking.watchedThreadsUnreadCount;\n const aUnread = a.unreadThreadsCountSinceLastViewed;\n const bUnread = b.unreadThreadsCountSinceLastViewed;\n\n // if both channels have urgent count, sort by last message date\n if (aUrgent > 0 && bUrgent > 0) {\n return new Date(a.lastMessage.createdAt) > new Date(b.lastMessage.createdAt) ? -1 : 1;\n }\n\n // otherwise prioritize channel with urgent count\n if (aUrgent > 0 || bUrgent > 0) {\n return aUrgent > bUrgent ? -1 : 1;\n }\n\n // if both channels have unread threads, sort by last thread reply date\n if (aUnread > 0 && bUnread > 0) {\n return a.lastUnreadThreadDate > b.lastUnreadThreadDate ? -1 : 1;\n }\n\n // otherwise prioritize channel with unread thread count\n if (aUnread > 0 || bUnread > 0) {\n return aUnread > bUnread ? -1 : 1;\n }\n\n // read channels are sorted by last message date\n return new Date(a.lastMessage.createdAt) > new Date(b.lastMessage.createdAt) ? -1 : 1;\n });\n }\n }\n _exports.default = ChatChannelsManager;\n});","define(\"discourse/plugins/chat/discourse/services/chat-composer-warnings-tracker\", [\"exports\", \"@glimmer/tracking\", \"@ember/runloop\", \"@ember/service\", \"discourse/lib/ajax\", \"discourse/lib/debounce\", \"discourse/lib/decorators\"], function (_exports, _tracking, _runloop, _service, _ajax, _debounce, _decorators) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const MENTION_RESULT = {\n invalid: -1,\n unreachable: 0,\n over_members_limit: 1\n };\n const MENTION_DEBOUNCE_MS = 1000;\n class ChatComposerWarningsTracker extends _service.default {\n static #_ = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"unreachableGroupMentions\", [_tracking.tracked], function () {\n return [];\n }))();\n #unreachableGroupMentions = (() => (dt7948.i(this, \"unreachableGroupMentions\"), void 0))(); // Track mention hints to display warnings\n static #_3 = (() => dt7948.g(this.prototype, \"overMembersLimitGroupMentions\", [_tracking.tracked], function () {\n return [];\n }))();\n #overMembersLimitGroupMentions = (() => (dt7948.i(this, \"overMembersLimitGroupMentions\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"tooManyMentions\", [_tracking.tracked], function () {\n return false;\n }))();\n #tooManyMentions = (() => (dt7948.i(this, \"tooManyMentions\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"channelWideMentionDisallowed\", [_tracking.tracked], function () {\n return false;\n }))();\n #channelWideMentionDisallowed = (() => (dt7948.i(this, \"channelWideMentionDisallowed\"), void 0))();\n static #_6 = (() => dt7948.g(this.prototype, \"mentionsCount\", [_tracking.tracked], function () {\n return 0;\n }))();\n #mentionsCount = (() => (dt7948.i(this, \"mentionsCount\"), void 0))();\n static #_7 = (() => dt7948.g(this.prototype, \"mentionsTimer\", [_tracking.tracked], function () {\n return null;\n }))();\n #mentionsTimer = (() => (dt7948.i(this, \"mentionsTimer\"), void 0))();\n // Complimentary structure to avoid repeating mention checks.\n _mentionWarningsSeen = {};\n willDestroy() {\n (0, _runloop.cancel)(this.mentionsTimer);\n }\n reset() {\n this.#resetMentionStats();\n this.mentionsCount = 0;\n (0, _runloop.cancel)(this.mentionsTimer);\n }\n static #_8 = (() => dt7948.n(this.prototype, \"reset\", [_decorators.bind]))();\n trackMentions(currentMessage, skipDebounce) {\n if (skipDebounce) {\n return this._trackMentions(currentMessage);\n }\n this.mentionsTimer = (0, _debounce.default)(this, this._trackMentions, currentMessage, MENTION_DEBOUNCE_MS);\n }\n static #_9 = (() => dt7948.n(this.prototype, \"trackMentions\", [_decorators.bind]))();\n _trackMentions(currentMessage) {\n if (!this.siteSettings.enable_mentions) {\n return;\n }\n currentMessage.parseMentions().then(mentions => {\n this.mentionsCount = mentions?.length;\n if (this.mentionsCount > 0) {\n this.tooManyMentions = this.mentionsCount > this.siteSettings.max_mentions_per_chat_message;\n if (!this.tooManyMentions) {\n const newMentions = mentions.filter(mention => !(mention in this._mentionWarningsSeen));\n this.channelWideMentionDisallowed = !currentMessage.channel.allowChannelWideMentions && (mentions.includes(\"here\") || mentions.includes(\"all\"));\n if (newMentions?.length > 0) {\n this.#recordNewWarnings(newMentions, mentions);\n } else {\n this.#rebuildWarnings(mentions);\n }\n }\n } else {\n this.#resetMentionStats();\n }\n });\n }\n static #_10 = (() => dt7948.n(this.prototype, \"_trackMentions\", [_decorators.bind]))();\n #resetMentionStats() {\n this.tooManyMentions = false;\n this.channelWideMentionDisallowed = false;\n this.unreachableGroupMentions = [];\n this.overMembersLimitGroupMentions = [];\n }\n #recordNewWarnings(newMentions, mentions) {\n (0, _ajax.ajax)(\"/chat/api/mentions/groups.json\", {\n data: {\n mentions: newMentions\n }\n }).then(newWarnings => {\n newWarnings.unreachable.forEach(warning => {\n this._mentionWarningsSeen[warning] = MENTION_RESULT[\"unreachable\"];\n });\n newWarnings.over_members_limit.forEach(warning => {\n this._mentionWarningsSeen[warning] = MENTION_RESULT[\"over_members_limit\"];\n });\n newWarnings.invalid.forEach(warning => {\n this._mentionWarningsSeen[warning] = MENTION_RESULT[\"invalid\"];\n });\n this.#rebuildWarnings(mentions);\n }).catch(this.#rebuildWarnings(mentions));\n }\n #rebuildWarnings(mentions) {\n const newWarnings = mentions.reduce((memo, mention) => {\n if (mention in this._mentionWarningsSeen && !(this._mentionWarningsSeen[mention] === MENTION_RESULT[\"invalid\"])) {\n if (this._mentionWarningsSeen[mention] === MENTION_RESULT[\"unreachable\"]) {\n memo[0].push(mention);\n } else {\n memo[1].push(mention);\n }\n }\n return memo;\n }, [[], []]);\n this.unreachableGroupMentions = newWarnings[0];\n this.overMembersLimitGroupMentions = newWarnings[1];\n }\n }\n _exports.default = ChatComposerWarningsTracker;\n});","define(\"discourse/plugins/chat/discourse/services/chat-drafts-manager\", [\"exports\", \"@ember/runloop\", \"@ember/service\"], function (_exports, _runloop, _service) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatDraftsManager extends _service.default {\n static #_ = (() => dt7948.g(this.prototype, \"chatApi\", [_service.service]))();\n #chatApi = (() => (dt7948.i(this, \"chatApi\"), void 0))();\n drafts = {};\n willDestroy() {\n super.willDestroy(...arguments);\n (0, _runloop.cancel)(this._persistHandler);\n }\n async add(message, channelId, threadId) {\n let persist = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;\n try {\n this.drafts[this.key(channelId, threadId)] = message;\n if (persist) {\n await this.persistDraft(message, channelId, threadId);\n }\n } catch (e) {\n // eslint-disable-next-line no-console\n console.log(\"Couldn't save draft\", e);\n }\n }\n get(channelId, threadId) {\n return this.drafts[this.key(channelId, threadId)];\n }\n remove(channelId, threadId) {\n delete this.drafts[this.key(channelId, threadId)];\n }\n reset() {\n this.drafts = {};\n }\n key(channelId, threadId) {\n let key = `c-${channelId}`;\n if (threadId) {\n key += `:t-${threadId}`;\n }\n return key.toString();\n }\n async persistDraft(message, channelId, threadId) {\n try {\n await this.chatApi.saveDraft(channelId, message.toJSONDraft(), {\n threadId\n });\n message.draftSaved = true;\n } catch {\n // We don't want to throw an error if the draft fails to save\n }\n }\n }\n _exports.default = ChatDraftsManager;\n});","define(\"discourse/plugins/chat/discourse/services/chat-drawer-router\", [\"exports\", \"@glimmer/tracking\", \"@ember/service\", \"discourse/lib/ajax-error\", \"discourse/plugins/chat/discourse/components/chat/drawer-routes/browse\", \"discourse/plugins/chat/discourse/components/chat/drawer-routes/channel\", \"discourse/plugins/chat/discourse/components/chat/drawer-routes/channel-info-members\", \"discourse/plugins/chat/discourse/components/chat/drawer-routes/channel-info-settings\", \"discourse/plugins/chat/discourse/components/chat/drawer-routes/channel-thread\", \"discourse/plugins/chat/discourse/components/chat/drawer-routes/channel-threads\", \"discourse/plugins/chat/discourse/components/chat/drawer-routes/channels\", \"discourse/plugins/chat/discourse/components/chat/drawer-routes/direct-messages\", \"discourse/plugins/chat/discourse/components/chat/drawer-routes/threads\"], function (_exports, _tracking, _service, _ajaxError, _browse, _channel, _channelInfoMembers, _channelInfoSettings, _channelThread, _channelThreads, _channels, _directMessages, _threads) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const ROUTES = {\n chat: {\n name: _channels.default,\n redirect: context => {\n if (context.siteSettings.chat_preferred_index === \"my_threads\" && context.hasThreads) {\n return \"/chat/threads\";\n }\n if (context.siteSettings.chat_preferred_index === \"direct_messages\" && context.hasDirectMessages) {\n return \"/chat/direct-messages\";\n }\n if (!context.siteSettings.enable_public_channels) {\n return \"/chat/direct-messages\";\n }\n }\n },\n \"chat.browse\": {\n name: _browse.default,\n extractParams: () => ({\n currentTab: \"open\"\n })\n },\n \"chat.browse.open\": {\n name: _browse.default,\n extractParams: r => ({\n currentTab: r.localName\n })\n },\n \"chat.browse.archived\": {\n name: _browse.default,\n extractParams: r => ({\n currentTab: r.localName\n })\n },\n \"chat.browse.closed\": {\n name: _browse.default,\n extractParams: r => ({\n currentTab: r.localName\n })\n },\n \"chat.browse.all\": {\n name: _browse.default,\n extractParams: r => ({\n currentTab: r.localName\n })\n },\n \"chat.channels\": {\n name: _channels.default\n },\n \"chat.channel\": {\n name: _channel.default,\n async model(params) {\n const channel = await this.chatChannelsManager.find(params.channelId);\n return {\n channel\n };\n },\n afterModel(model) {\n this.chat.activeChannel = model.channel;\n },\n deactivate() {\n this.chat.activeChannel = null;\n }\n },\n \"chat.channel.thread\": {\n name: _channelThread.default,\n extractParams: route => {\n return {\n channelId: route.parent.params.channelId,\n threadId: route.params.threadId\n };\n },\n async model(params) {\n const channel = await this.chatChannelsManager.find(params.channelId);\n const thread = await channel.threadsManager.find(channel.id, params.threadId);\n return {\n channel,\n thread\n };\n },\n afterModel(model) {\n this.chat.activeChannel = model.channel;\n this.chat.activeChannel.activeThread = model.thread;\n },\n deactivate() {\n this.chat.activeChannel = null;\n }\n },\n \"chat.channel.thread.near-message\": {\n name: _channelThread.default,\n extractParams: route => {\n return {\n channelId: route.parent.parent.params.channelId,\n threadId: route.parent.params.threadId,\n messageId: route.params.messageId\n };\n },\n async model(params) {\n const channel = await this.chatChannelsManager.find(params.channelId);\n const thread = await channel.threadsManager.find(channel.id, params.threadId);\n return {\n channel,\n thread\n };\n },\n afterModel(model) {\n this.chat.activeChannel = model.channel;\n this.chat.activeChannel.activeThread = model.thread;\n },\n deactivate() {\n this.chat.activeChannel = null;\n }\n },\n \"chat.channel.threads\": {\n name: _channelThreads.default,\n extractParams: route => {\n return {\n channelId: route.parent.params.channelId\n };\n },\n async model(params) {\n const channel = await this.chatChannelsManager.find(params.channelId);\n return {\n channel\n };\n },\n afterModel(model) {\n this.chat.activeChannel = model.channel;\n },\n deactivate() {\n this.chat.activeChannel = null;\n }\n },\n \"chat.direct-messages\": {\n name: _directMessages.default\n },\n \"chat.threads\": {\n name: _threads.default\n },\n \"chat.channel.near-message\": {\n name: _channel.default,\n extractParams: route => {\n return {\n channelId: route.parent.params.channelId,\n messageId: route.params.messageId\n };\n },\n async model(params) {\n const channel = await this.chatChannelsManager.find(params.channelId);\n return {\n channel\n };\n },\n afterModel(model) {\n this.chat.activeChannel = model.channel;\n },\n deactivate() {\n this.chat.activeChannel = null;\n }\n },\n \"chat.channel.near-message-with-thread\": {\n name: _channel.default,\n extractParams: route => {\n return {\n channelId: route.parent.params.channelId,\n messageId: route.params.messageId\n };\n },\n async model(params) {\n const channel = await this.chatChannelsManager.find(params.channelId);\n return {\n channel\n };\n },\n afterModel(model) {\n this.chat.activeChannel = model.channel;\n },\n deactivate() {\n this.chat.activeChannel = null;\n }\n },\n \"chat.channel.info.settings\": {\n name: _channelInfoSettings.default,\n extractParams: route => {\n return {\n channelId: route.parent.params.channelId\n };\n },\n async model(params) {\n const channel = await this.chatChannelsManager.find(params.channelId);\n return {\n channel\n };\n },\n afterModel(model) {\n this.chat.activeChannel = model.channel;\n },\n deactivate() {\n this.chat.activeChannel = null;\n }\n },\n \"chat.channel.info.members\": {\n name: _channelInfoMembers.default,\n extractParams: route => {\n return {\n channelId: route.parent.params.channelId\n };\n },\n async model(params) {\n const channel = await this.chatChannelsManager.find(params.channelId);\n return {\n channel\n };\n },\n afterModel(model) {\n this.chat.activeChannel = model.channel;\n },\n deactivate() {\n this.chat.activeChannel = null;\n }\n }\n };\n class ChatDrawerRouter extends _service.default {\n static #_ = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"chatHistory\", [_service.service]))();\n #chatHistory = (() => (dt7948.i(this, \"chatHistory\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"chatStateManager\", [_service.service]))();\n #chatStateManager = (() => (dt7948.i(this, \"chatStateManager\"), void 0))();\n static #_6 = (() => dt7948.g(this.prototype, \"chatChannelsManager\", [_service.service]))();\n #chatChannelsManager = (() => (dt7948.i(this, \"chatChannelsManager\"), void 0))();\n static #_7 = (() => dt7948.g(this.prototype, \"component\", [_tracking.tracked], function () {\n return null;\n }))();\n #component = (() => (dt7948.i(this, \"component\"), void 0))();\n static #_8 = (() => dt7948.g(this.prototype, \"drawerRoute\", [_tracking.tracked], function () {\n return null;\n }))();\n #drawerRoute = (() => (dt7948.i(this, \"drawerRoute\"), void 0))();\n static #_9 = (() => dt7948.g(this.prototype, \"params\", [_tracking.tracked], function () {\n return null;\n }))();\n #params = (() => (dt7948.i(this, \"params\"), void 0))();\n static #_10 = (() => dt7948.g(this.prototype, \"currentRouteName\", [_tracking.tracked], function () {\n return null;\n }))();\n #currentRouteName = (() => (dt7948.i(this, \"currentRouteName\"), void 0))();\n static #_11 = (() => dt7948.g(this.prototype, \"model\", [_tracking.tracked], function () {\n return null;\n }))();\n #model = (() => (dt7948.i(this, \"model\"), void 0))();\n routeNames = (() => Object.keys(ROUTES))();\n canHandleRoute(route) {\n return !!ROUTES[this.#forceParentRouteForIndex(route).name];\n }\n get activeChannelId() {\n return this.model?.channel?.id;\n }\n get hasThreads() {\n if (!this.siteSettings.chat_threads_enabled) {\n return false;\n }\n return this.chatChannelsManager.hasThreadedChannels;\n }\n get hasDirectMessages() {\n return this.chat.userCanAccessDirectMessages;\n }\n async stateFor(route) {\n this.drawerRoute?.deactivate?.call(this, this.chatHistory.currentRoute);\n this.chatHistory.visit(route);\n this.drawerRoute = ROUTES[this.#forceParentRouteForIndex(route).name];\n this.params = this.drawerRoute?.extractParams?.call(this, route) || route.params;\n try {\n this.model = await this.drawerRoute?.model?.call(this, this.params);\n this.drawerRoute?.afterModel?.call(this, this.model);\n } catch (e) {\n (0, _ajaxError.popupAjaxError)(e);\n }\n this.component = this.drawerRoute?.name || _channels.default;\n this.currentRouteName = route.name;\n this.drawerRoute.activate?.(route);\n const redirectedRoute = this.drawerRoute.redirect?.(this);\n if (redirectedRoute) {\n this.stateFor(this.#routeFromURL(redirectedRoute));\n }\n }\n #routeFromURL(url) {\n const route = this.router.recognize(url);\n return this.#forceParentRouteForIndex(route);\n }\n #forceParentRouteForIndex(route) {\n // ember might recognize the index subroute\n if (route.localName === \"index\") {\n return route.parent;\n }\n return route;\n }\n }\n _exports.default = ChatDrawerRouter;\n});","define(\"discourse/plugins/chat/discourse/services/chat-drawer-size\", [\"exports\", \"@ember/service\", \"discourse/lib/key-value-store\"], function (_exports, _service, _keyValueStore) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatDrawerSize extends _service.default {\n STORE_NAMESPACE = \"discourse_chat_drawer_size_\";\n MIN_HEIGHT = 300;\n MIN_WIDTH = 250;\n store = (() => new _keyValueStore.default(this.STORE_NAMESPACE))();\n get size() {\n return {\n width: this.store.getObject(\"width\") || 400,\n height: this.store.getObject(\"height\") || 530\n };\n }\n set size(_ref) {\n let {\n width,\n height\n } = _ref;\n this.store.setObject({\n key: \"width\",\n value: this.#min(width, this.MIN_WIDTH)\n });\n this.store.setObject({\n key: \"height\",\n value: this.#min(height, this.MIN_HEIGHT)\n });\n }\n #min(number, min) {\n return Math.max(number, min);\n }\n }\n _exports.default = ChatDrawerSize;\n});","define(\"discourse/plugins/chat/discourse/services/chat-guardian\", [\"exports\", \"@ember/service\"], function (_exports, _service) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatGuardian extends _service.default {\n static #_ = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n canEditChatChannel() {\n return this.canUseChat() && this.currentUser.staff;\n }\n canArchiveChannel(channel) {\n return this.canEditChatChannel() && this.siteSettings.chat_allow_archiving_channels && !channel.isArchived && !channel.isReadOnly;\n }\n canUseChat() {\n return this.currentUser?.has_chat_enabled && this.siteSettings.chat_enabled;\n }\n }\n _exports.default = ChatGuardian;\n});","define(\"discourse/plugins/chat/discourse/services/chat-history\", [\"exports\", \"@glimmer/tracking\", \"@ember/service\"], function (_exports, _tracking, _service) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatHistory extends _service.default {\n static #_ = (() => dt7948.g(this.prototype, \"history\", [_tracking.tracked]))();\n #history = (() => (dt7948.i(this, \"history\"), void 0))();\n get previousRoute() {\n if (this.history?.length > 1) {\n return this.history[this.history.length - 2];\n }\n }\n get currentRoute() {\n if (this.history?.length > 0) {\n return this.history[this.history.length - 1];\n }\n }\n visit(route) {\n this.history = (this.history || []).slice(-9).concat([route]);\n }\n }\n _exports.default = ChatHistory;\n});","define(\"discourse/plugins/chat/discourse/services/chat-notification-manager\", [\"exports\", \"@ember/service\", \"discourse/lib/decorators\", \"discourse/lib/desktop-notifications\", \"discourse/lib/environment\"], function (_exports, _service, _decorators, _desktopNotifications, _environment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatNotificationManager extends _service.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"appEvents\", [_service.service]))();\n #appEvents = (() => (dt7948.i(this, \"appEvents\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n willDestroy() {\n super.willDestroy(...arguments);\n if (!this.#shouldRun) {\n return;\n }\n this.messageBus.unsubscribe(this.messageBusChannel, this.onMessage);\n }\n start() {\n if (!this.#shouldRun) {\n return;\n }\n this.messageBus.subscribe(this.messageBusChannel, this.onMessage);\n }\n get messageBusChannel() {\n return `/chat${(0, _desktopNotifications.alertChannel)(this.currentUser)}`;\n }\n async onMessage(data) {\n // if the user is currently focused on this tab and channel,\n // we don't want to show a desktop notification\n if (this.session.hasFocus && data.channel_id === this.chat.activeChannel?.id) {\n return;\n }\n return (0, _desktopNotifications.onNotification)(data, this.siteSettings, this.currentUser, this.appEvents);\n }\n static #_5 = (() => dt7948.n(this.prototype, \"onMessage\", [_decorators.bind]))();\n get #shouldRun() {\n return this.site.desktopView && this.chat.userCanChat && !(0, _environment.isTesting)();\n }\n }\n _exports.default = ChatNotificationManager;\n});","define(\"discourse/plugins/chat/discourse/services/chat-state-manager\", [\"exports\", \"@glimmer/tracking\", \"@ember/service\", \"discourse/lib/key-value-store\", \"discourse/lib/plugin-api\", \"discourse/lib/sidebar/panels\", \"discourse/lib/utilities\", \"discourse/plugins/chat/discourse/lib/get-user-chat-separate-sidebar-mode\", \"discourse/plugins/chat/discourse/lib/init-sidebar-state\"], function (_exports, _tracking, _service, _keyValueStore, _pluginApi, _panels, _utilities, _getUserChatSeparateSidebarMode, _initSidebarState) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.addChatDrawerStateCallback = addChatDrawerStateCallback;\n _exports.default = void 0;\n _exports.resetChatDrawerStateCallbacks = resetChatDrawerStateCallbacks;\n const PREFERRED_MODE_KEY = \"preferred_mode\";\n const PREFERRED_MODE_STORE_NAMESPACE = \"discourse_chat_\";\n const FULL_PAGE_CHAT = \"FULL_PAGE_CHAT\";\n const DRAWER_CHAT = \"DRAWER_CHAT\";\n let chatDrawerStateCallbacks = [];\n function addChatDrawerStateCallback(callback) {\n chatDrawerStateCallbacks.push(callback);\n }\n function resetChatDrawerStateCallbacks() {\n chatDrawerStateCallbacks = [];\n }\n class ChatStateManager extends _service.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"chatHistory\", [_service.service]))();\n #chatHistory = (() => (dt7948.i(this, \"chatHistory\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"chatDrawerRouter\", [_service.service]))();\n #chatDrawerRouter = (() => (dt7948.i(this, \"chatDrawerRouter\"), void 0))();\n static #_6 = (() => dt7948.g(this.prototype, \"isSidePanelExpanded\", [_tracking.tracked], function () {\n return false;\n }))();\n #isSidePanelExpanded = (() => (dt7948.i(this, \"isSidePanelExpanded\"), void 0))();\n static #_7 = (() => dt7948.g(this.prototype, \"isDrawerExpanded\", [_tracking.tracked], function () {\n return false;\n }))();\n #isDrawerExpanded = (() => (dt7948.i(this, \"isDrawerExpanded\"), void 0))();\n static #_8 = (() => dt7948.g(this.prototype, \"isDrawerActive\", [_tracking.tracked], function () {\n return false;\n }))();\n #isDrawerActive = (() => (dt7948.i(this, \"isDrawerActive\"), void 0))();\n static #_9 = (() => dt7948.g(this.prototype, \"hasPreloadedChannels\", [_tracking.tracked], function () {\n return false;\n }))();\n #hasPreloadedChannels = (() => (dt7948.i(this, \"hasPreloadedChannels\"), void 0))();\n static #_10 = (() => dt7948.g(this.prototype, \"_chatURL\", [_tracking.tracked], function () {\n return null;\n }))();\n #_chatURL = (() => (dt7948.i(this, \"_chatURL\"), void 0))();\n static #_11 = (() => dt7948.g(this.prototype, \"_appURL\", [_tracking.tracked], function () {\n return null;\n }))();\n #_appURL = (() => (dt7948.i(this, \"_appURL\"), void 0))();\n _store = (() => new _keyValueStore.default(PREFERRED_MODE_STORE_NAMESPACE))();\n reset() {\n this._store.remove(PREFERRED_MODE_KEY);\n this._chatURL = null;\n this._appURL = null;\n }\n prefersFullPage() {\n this._store.setObject({\n key: PREFERRED_MODE_KEY,\n value: FULL_PAGE_CHAT\n });\n }\n prefersDrawer() {\n this._store.setObject({\n key: PREFERRED_MODE_KEY,\n value: DRAWER_CHAT\n });\n }\n openSidePanel() {\n this.isSidePanelExpanded = true;\n }\n closeSidePanel() {\n this.isSidePanelExpanded = false;\n }\n didOpenDrawer() {\n let url = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n (0, _pluginApi.withPluginApi)(\"1.8.0\", api => {\n if (api.getSidebarPanel()?.key === _panels.MAIN_PANEL || api.getSidebarPanel()?.key === _initSidebarState.CHAT_PANEL) {\n if ((0, _getUserChatSeparateSidebarMode.getUserChatSeparateSidebarMode)(this.currentUser).always) {\n api.setSeparatedSidebarMode();\n api.hideSidebarSwitchPanelButtons();\n } else {\n api.setCombinedSidebarMode();\n }\n }\n });\n this.isDrawerActive = true;\n this.isDrawerExpanded = true;\n if (url) {\n this.storeChatURL(url);\n }\n this.chat.updatePresence();\n this.#publishStateChange();\n }\n didCloseDrawer() {\n (0, _pluginApi.withPluginApi)(\"1.8.0\", api => {\n if (api.getSidebarPanel()?.key === _panels.MAIN_PANEL || api.getSidebarPanel()?.key === _initSidebarState.CHAT_PANEL) {\n const chatSeparateSidebarMode = (0, _getUserChatSeparateSidebarMode.getUserChatSeparateSidebarMode)(this.currentUser);\n api.setSidebarPanel(_panels.MAIN_PANEL);\n if (chatSeparateSidebarMode.fullscreen) {\n api.setCombinedSidebarMode();\n api.showSidebarSwitchPanelButtons();\n } else if (chatSeparateSidebarMode.always) {\n api.setSeparatedSidebarMode();\n api.showSidebarSwitchPanelButtons();\n } else {\n api.setCombinedSidebarMode();\n api.hideSidebarSwitchPanelButtons();\n }\n }\n });\n this.chatDrawerRouter.currentRouteName = null;\n this.isDrawerActive = false;\n this.isDrawerExpanded = false;\n this.chat.updatePresence();\n this.#publishStateChange();\n }\n didExpandDrawer() {\n this.isDrawerActive = true;\n this.isDrawerExpanded = true;\n this.chat.updatePresence();\n }\n didCollapseDrawer() {\n this.isDrawerActive = true;\n this.isDrawerExpanded = false;\n this.#publishStateChange();\n }\n didToggleDrawer() {\n this.isDrawerExpanded = !this.isDrawerExpanded;\n this.isDrawerActive = true;\n this.#publishStateChange();\n }\n get isFullPagePreferred() {\n return !!(this.site.mobileView || this._store.getObject(PREFERRED_MODE_KEY) === FULL_PAGE_CHAT);\n }\n get isDrawerPreferred() {\n return !!(!this.isFullPagePreferred || this.site.desktopView && (this.hasNoPreferredMode || this._store.getObject(PREFERRED_MODE_KEY) === DRAWER_CHAT));\n }\n get hasNoPreferredMode() {\n return !this._store.getObject(PREFERRED_MODE_KEY);\n }\n get isFullPageActive() {\n return this.router.currentRouteName?.startsWith(\"chat\");\n }\n get isActive() {\n return this.isFullPageActive || this.isDrawerActive;\n }\n storeAppURL() {\n let url = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n if (url) {\n this._appURL = url;\n } else if (this.router.currentURL?.startsWith(\"/chat\")) {\n this._appURL = \"/\";\n } else {\n this._appURL = this.router.currentURL;\n }\n }\n storeChatURL(url) {\n this._chatURL = url;\n }\n get lastKnownAppURL() {\n const url = this._appURL;\n if (url && url !== \"/\") {\n return url;\n }\n return this.router.urlFor(`discovery.${(0, _utilities.defaultHomepage)()}`);\n }\n get lastKnownChatURL() {\n return this._chatURL || \"/chat\";\n }\n #publishStateChange() {\n const state = {\n isDrawerActive: this.isDrawerActive,\n isDrawerExpanded: this.isDrawerExpanded\n };\n chatDrawerStateCallbacks.forEach(callback => callback(state));\n }\n }\n _exports.default = ChatStateManager;\n});","define(\"discourse/plugins/chat/discourse/services/chat-subscriptions-manager\", [\"exports\", \"@ember/service\", \"discourse/lib/decorators\", \"discourse/lib/notification-levels\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/models/chat-channel\", \"discourse/plugins/chat/discourse/models/chat-channel-archive\"], function (_exports, _service, _decorators, _notificationLevels, _discourseI18n, _chatChannel, _chatChannelArchive) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatSubscriptionsManager extends _service.default {\n static #_ = (() => dt7948.g(this.prototype, \"store\", [_service.service]))();\n #store = (() => (dt7948.i(this, \"store\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"chatChannelsManager\", [_service.service]))();\n #chatChannelsManager = (() => (dt7948.i(this, \"chatChannelsManager\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"chatTrackingStateManager\", [_service.service]))();\n #chatTrackingStateManager = (() => (dt7948.i(this, \"chatTrackingStateManager\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"appEvents\", [_service.service]))();\n #appEvents = (() => (dt7948.i(this, \"appEvents\"), void 0))();\n static #_6 = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_7 = (() => dt7948.g(this.prototype, \"dialog\", [_service.service]))();\n #dialog = (() => (dt7948.i(this, \"dialog\"), void 0))();\n static #_8 = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n _channelSubscriptions = (() => new Set())();\n startChannelSubscription(channel) {\n if (channel.currentUserMembership.muted || this._channelSubscriptions.has(channel.id)) {\n return;\n }\n this._channelSubscriptions.add(channel.id);\n this._startChannelMentionsSubscription(channel);\n if (!channel.isDirectMessageChannel) {\n this._startKickFromChannelSubscription(channel);\n }\n this._startChannelNewMessagesSubscription(channel);\n }\n stopChannelSubscription(channel) {\n this.messageBus.unsubscribe(`/chat/${channel.id}/new-messages`, this._onNewMessages);\n if (!channel.isDirectMessageChannel) {\n this.messageBus.unsubscribe(`/chat/${channel.id}/new-mentions`, this._onNewMentions);\n this.messageBus.unsubscribe(`/chat/${channel.id}/kick`, this._onKickFromChannel);\n }\n this._channelSubscriptions.delete(channel.id);\n }\n startChannelsSubscriptions(messageBusIds) {\n this._startNewChannelSubscription(messageBusIds.new_channel);\n this._startChannelArchiveStatusSubscription(messageBusIds.archive_status);\n this._startUserTrackingStateSubscription(messageBusIds.user_tracking_state);\n this._startChannelsEditsSubscription(messageBusIds.channel_edits);\n this._startChannelsStatusChangesSubscription(messageBusIds.channel_status);\n this._startChannelsMetadataChangesSubscription(messageBusIds.channel_metadata);\n }\n stopChannelsSubscriptions() {\n this._stopNewChannelSubscription();\n this._stopChannelArchiveStatusSubscription();\n this._stopUserTrackingStateSubscription();\n this._stopChannelsEditsSubscription();\n this._stopChannelsStatusChangesSubscription();\n this._stopChannelsMetadataChangesSubscription();\n (this.chatChannelsManager.channels || []).forEach(channel => {\n this.stopChannelSubscription(channel);\n });\n }\n _startChannelArchiveStatusSubscription(lastId) {\n if (this.currentUser.admin) {\n this.messageBus.subscribe(\"/chat/channel-archive-status\", this._onChannelArchiveStatusUpdate, lastId);\n }\n }\n _stopChannelArchiveStatusSubscription() {\n if (this.currentUser.admin) {\n this.messageBus.unsubscribe(\"/chat/channel-archive-status\", this._onChannelArchiveStatusUpdate);\n }\n }\n _startChannelMentionsSubscription(channel) {\n this.messageBus.subscribe(`/chat/${channel.id}/new-mentions`, this._onNewMentions, channel.meta.message_bus_last_ids.new_mentions);\n }\n _startKickFromChannelSubscription(channel) {\n this.messageBus.subscribe(`/chat/${channel.id}/kick`, this._onKickFromChannel, channel.meta.message_bus_last_ids.kick);\n }\n _onChannelArchiveStatusUpdate(busData) {\n // we don't want to fetch a channel we don't have locally because archive status changed\n this.chatChannelsManager.find(busData.chat_channel_id, {\n fetchIfNotFound: false\n }).then(channel => {\n if (!channel) {\n return;\n }\n channel.archive = _chatChannelArchive.default.create(busData);\n });\n }\n static #_9 = (() => dt7948.n(this.prototype, \"_onChannelArchiveStatusUpdate\", [_decorators.bind]))();\n _onNewMentions(busData) {\n this.chatChannelsManager.find(busData.channel_id).then(channel => {\n const membership = channel.currentUserMembership;\n if (busData.message_id > membership?.lastReadMessageId) {\n channel.tracking.mentionCount++;\n }\n });\n }\n static #_10 = (() => dt7948.n(this.prototype, \"_onNewMentions\", [_decorators.bind]))();\n _onKickFromChannel(busData) {\n this.chatChannelsManager.find(busData.channel_id).then(channel => {\n if (this.chat.activeChannel?.id === channel.id) {\n this.dialog.alert({\n message: (0, _discourseI18n.i18n)(\"chat.kicked_from_channel\"),\n didConfirm: () => {\n this.chatChannelsManager.remove(channel);\n const firstChannel = this.chatChannelsManager.publicMessageChannels[0];\n if (firstChannel) {\n this.router.transitionTo(\"chat.channel\", ...firstChannel.routeModels);\n } else {\n this.router.transitionTo(\"chat.browse\");\n }\n }\n });\n } else {\n this.chatChannelsManager.remove(channel);\n }\n });\n }\n static #_11 = (() => dt7948.n(this.prototype, \"_onKickFromChannel\", [_decorators.bind]))();\n _startChannelNewMessagesSubscription(channel) {\n this.messageBus.subscribe(`/chat/${channel.id}/new-messages`, this._onNewMessages, channel.meta.message_bus_last_ids.new_messages);\n }\n _onNewMessages(busData) {\n switch (busData.type) {\n case \"channel\":\n this._onNewChannelMessage(busData);\n break;\n case \"thread\":\n this._onNewThreadMessage(busData);\n break;\n }\n }\n static #_12 = (() => dt7948.n(this.prototype, \"_onNewMessages\", [_decorators.bind]))();\n _onNewChannelMessage(busData) {\n this.chatChannelsManager.find(busData.channel_id).then(channel => {\n channel.lastMessage = busData.message;\n const user = busData.message.user;\n if (user.id === this.currentUser.id) {\n // User sent message, update tracking state to no unread\n channel.currentUserMembership.lastReadMessageId = channel.lastMessage.id;\n } else {\n // Ignored user sent message, update tracking state to no unread\n if (this.currentUser.ignored_users.includes(user.username)) {\n channel.currentUserMembership.lastReadMessageId = channel.lastMessage.id;\n } else {\n if (channel.lastMessage.id > (channel.currentUserMembership.lastReadMessageId || 0)) {\n channel.tracking.unreadCount++;\n }\n\n // Thread should be considered unread if not already.\n if (busData.thread_id && channel.threadingEnabled) {\n channel.threadsManager.find(channel.id, busData.thread_id).then(thread => {\n if (thread.currentUserMembership) {\n channel.threadsManager.markThreadUnread(busData.thread_id, busData.message.created_at);\n this._updateActiveLastViewedAt(channel);\n }\n });\n }\n }\n }\n });\n }\n _onNewThreadMessage(busData) {\n this.chatChannelsManager.find(busData.channel_id).then(channel => {\n if (!channel.threadingEnabled && !busData.force_thread) {\n return;\n }\n channel.threadsManager.find(busData.channel_id, busData.thread_id).then(thread => {\n thread.lastMessageId = busData.message.id;\n if (busData.message.user.id === this.currentUser.id) {\n // Thread should no longer be considered unread.\n if (thread.currentUserMembership) {\n channel.threadsManager.unreadThreadOverview.delete(parseInt(busData.thread_id, 10));\n thread.currentUserMembership.lastReadMessageId = busData.message.id;\n }\n } else {\n // Ignored user sent message, update tracking state to no unread\n if (this.currentUser.ignored_users.includes(busData.message.user.username)) {\n if (thread.currentUserMembership) {\n thread.currentUserMembership.lastReadMessageId = busData.message.id;\n }\n } else {\n // Message from other user. Increment unread for thread tracking state.\n if (thread.currentUserMembership && busData.message.id > (thread.currentUserMembership.lastReadMessageId || 0) && !thread.currentUserMembership.isQuiet) {\n channel.threadsManager.markThreadUnread(busData.thread_id, busData.message.created_at);\n if (thread.currentUserMembership.notificationLevel === _notificationLevels.NotificationLevels.WATCHING) {\n thread.tracking.watchedThreadsUnreadCount++;\n channel.tracking.watchedThreadsUnreadCount++;\n } else {\n thread.tracking.unreadCount++;\n }\n this._updateActiveLastViewedAt(channel);\n }\n }\n }\n });\n });\n }\n\n // If the user is currently looking at this channel via activeChannel, we don't want the unread\n // indicator to show in the sidebar for unread threads (since that is based on the lastViewedAt).\n _updateActiveLastViewedAt(channel) {\n if (this.chat.activeChannel?.id === channel.id) {\n channel.updateLastViewedAt();\n }\n }\n _startUserTrackingStateSubscription(lastId) {\n if (!this.currentUser) {\n return;\n }\n this.messageBus.subscribe(`/chat/user-tracking-state/${this.currentUser.id}`, this._onUserTrackingStateUpdate, lastId);\n this.messageBus.subscribe(`/chat/bulk-user-tracking-state/${this.currentUser.id}`, this._onBulkUserTrackingStateUpdate, lastId);\n }\n _stopUserTrackingStateSubscription() {\n if (!this.currentUser) {\n return;\n }\n this.messageBus.unsubscribe(`/chat/user-tracking-state/${this.currentUser.id}`, this._onUserTrackingStateUpdate);\n this.messageBus.unsubscribe(`/chat/bulk-user-tracking-state/${this.currentUser.id}`, this._onBulkUserTrackingStateUpdate);\n }\n _onBulkUserTrackingStateUpdate(busData) {\n Object.keys(busData).forEach(channelId => {\n this._updateChannelTrackingData(channelId, busData[channelId]);\n });\n }\n static #_13 = (() => dt7948.n(this.prototype, \"_onBulkUserTrackingStateUpdate\", [_decorators.bind]))();\n _onUserTrackingStateUpdate(busData) {\n this._updateChannelTrackingData(busData.channel_id, busData);\n }\n static #_14 = (() => dt7948.n(this.prototype, \"_onUserTrackingStateUpdate\", [_decorators.bind]))();\n _updateChannelTrackingData(channelId, busData) {\n this.chatChannelsManager.find(channelId).then(channel => {\n if (!busData.thread_id) {\n channel.currentUserMembership.lastReadMessageId = busData.last_read_message_id;\n }\n channel.tracking.unreadCount = busData.unread_count;\n channel.tracking.mentionCount = busData.mention_count;\n channel.tracking.watchedThreadsUnreadCount = busData.watched_threads_unread_count;\n if (busData.hasOwnProperty(\"unread_thread_overview\") && channel.threadingEnabled) {\n channel.threadsManager.unreadThreadOverview = busData.unread_thread_overview;\n }\n if (busData.thread_id && busData.hasOwnProperty(\"thread_tracking\") && channel.threadingEnabled) {\n channel.threadsManager.find(channelId, busData.thread_id).then(thread => {\n if (thread.currentUserMembership && !thread.currentUserMembership.isQuiet) {\n thread.currentUserMembership.lastReadMessageId = busData.last_read_message_id;\n thread.tracking.unreadCount = busData.thread_tracking.unread_count;\n thread.tracking.mentionCount = busData.thread_tracking.mention_count;\n thread.tracking.watchedThreadsUnreadCount = busData.thread_tracking.watched_threads_unread_count;\n }\n });\n }\n });\n }\n static #_15 = (() => dt7948.n(this.prototype, \"_updateChannelTrackingData\", [_decorators.bind]))();\n _startNewChannelSubscription(lastId) {\n this.messageBus.subscribe(\"/chat/new-channel\", this._onNewChannelSubscription, lastId);\n }\n _stopNewChannelSubscription() {\n this.messageBus.unsubscribe(\"/chat/new-channel\", this._onNewChannelSubscription);\n }\n _onNewChannelSubscription(data) {\n this.chatChannelsManager.find(data.channel.id).then(channel => {\n // we need to refresh here to have correct last message ids\n channel.meta = data.channel.meta;\n channel.currentUserMembership = data.channel.current_user_membership;\n if (channel.isDirectMessageChannel && !channel.currentUserMembership.following) {\n channel.tracking.unreadCount = 1;\n }\n this.chatChannelsManager.follow(channel);\n });\n }\n static #_16 = (() => dt7948.n(this.prototype, \"_onNewChannelSubscription\", [_decorators.bind]))();\n _startChannelsMetadataChangesSubscription(lastId) {\n this.messageBus.subscribe(\"/chat/channel-metadata\", this._onChannelMetadata, lastId);\n }\n _startChannelsEditsSubscription(lastId) {\n this.messageBus.subscribe(\"/chat/channel-edits\", this._onChannelEdits, lastId);\n }\n _startChannelsStatusChangesSubscription(lastId) {\n this.messageBus.subscribe(\"/chat/channel-status\", this._onChannelStatus, lastId);\n }\n _stopChannelsStatusChangesSubscription() {\n this.messageBus.unsubscribe(\"/chat/channel-status\", this._onChannelStatus);\n }\n _stopChannelsEditsSubscription() {\n this.messageBus.unsubscribe(\"/chat/channel-edits\", this._onChannelEdits);\n }\n _stopChannelsMetadataChangesSubscription() {\n this.messageBus.unsubscribe(\"/chat/channel-metadata\", this._onChannelMetadata);\n }\n _onChannelMetadata(busData) {\n this.chatChannelsManager.find(busData.chat_channel_id, {\n fetchIfNotFound: false\n }).then(channel => {\n if (channel) {\n channel.membershipsCount = busData.memberships_count;\n this.appEvents.trigger(\"chat:refresh-channel-members\");\n }\n });\n }\n static #_17 = (() => dt7948.n(this.prototype, \"_onChannelMetadata\", [_decorators.bind]))();\n _onChannelEdits(busData) {\n this.chatChannelsManager.find(busData.chat_channel_id).then(channel => {\n if (channel) {\n channel.title = busData.name;\n channel.description = busData.description;\n channel.slug = busData.slug;\n }\n });\n }\n static #_18 = (() => dt7948.n(this.prototype, \"_onChannelEdits\", [_decorators.bind]))();\n _onChannelStatus(busData) {\n this.chatChannelsManager.find(busData.chat_channel_id).then(channel => {\n channel.status = busData.status;\n\n // it is not possible for the user to set their last read message id\n // if the channel has been archived, because all the messages have\n // been deleted. we don't want them seeing the blue dot anymore so\n // just completely reset the unreads\n if (busData.status === _chatChannel.CHANNEL_STATUSES.archived) {\n channel.tracking.reset();\n }\n });\n }\n static #_19 = (() => dt7948.n(this.prototype, \"_onChannelStatus\", [_decorators.bind]))();\n }\n _exports.default = ChatSubscriptionsManager;\n});","define(\"discourse/plugins/chat/discourse/services/chat-thread-composer\", [\"exports\", \"@glimmer/tracking\", \"@ember/object\", \"@ember/runloop\", \"@ember/service\", \"discourse/lib/body-scroll-lock\"], function (_exports, _tracking, _object, _runloop, _service, _bodyScrollLock) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatThreadComposer extends _service.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"capabilities\", [_service.service]))();\n #capabilities = (() => (dt7948.i(this, \"capabilities\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"appEvents\", [_service.service]))();\n #appEvents = (() => (dt7948.i(this, \"appEvents\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"textarea\", [_tracking.tracked]))();\n #textarea = (() => (dt7948.i(this, \"textarea\"), void 0))();\n static #_6 = (() => dt7948.g(this.prototype, \"scroller\", [_tracking.tracked]))();\n #scroller = (() => (dt7948.i(this, \"scroller\"), void 0))();\n init() {\n super.init(...arguments);\n this.appEvents.on(\"discourse:focus-changed\", this, this.blur);\n }\n willDestroy() {\n super.willDestroy(...arguments);\n this.appEvents.off(\"discourse:focus-changed\", this, this.blur);\n }\n focus() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.textarea?.focus(options);\n (0, _runloop.schedule)(\"afterRender\", () => {\n if (this.capabilities.isIOS && !this.capabilities.isIpadOS) {\n (0, _bodyScrollLock.disableBodyScroll)(this.scroller, {\n reverse: true\n });\n }\n });\n }\n static #_7 = (() => dt7948.n(this.prototype, \"focus\", [_object.action]))();\n blur() {\n this.textarea?.blur();\n }\n static #_8 = (() => dt7948.n(this.prototype, \"blur\", [_object.action]))();\n edit(message) {\n this.chat.activeMessage = null;\n message.editing = true;\n message.thread.draft = message;\n if (this.site.desktopView) {\n this.focus({\n refreshHeight: true,\n ensureAtEnd: true\n });\n }\n }\n static #_9 = (() => dt7948.n(this.prototype, \"edit\", [_object.action]))();\n replyTo() {\n this.chat.activeMessage = null;\n }\n static #_10 = (() => dt7948.n(this.prototype, \"replyTo\", [_object.action]))();\n }\n _exports.default = ChatThreadComposer;\n});","define(\"discourse/plugins/chat/discourse/services/chat-thread-list-pane\", [\"exports\", \"@ember/service\"], function (_exports, _service) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatThreadListPane extends _service.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n get isOpened() {\n return this.router.currentRoute.name === \"chat.channel.threads\";\n }\n async close() {\n await this.router.transitionTo(\"chat.channel\", ...this.chat.activeChannel.routeModels);\n }\n async open() {\n await this.router.transitionTo(\"chat.channel.threads\", ...this.chat.activeChannel.routeModels);\n }\n }\n _exports.default = ChatThreadListPane;\n});","define(\"discourse/plugins/chat/discourse/services/chat-thread-pane\", [\"exports\", \"@ember/service\", \"discourse/plugins/chat/discourse/services/chat-channel-pane\"], function (_exports, _service, _chatChannelPane) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class ChatThreadPane extends _chatChannelPane.default {\n static #_ = (() => dt7948.g(this.prototype, \"chat\", [_service.service]))();\n #chat = (() => (dt7948.i(this, \"chat\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n get thread() {\n return this.channel?.activeThread;\n }\n get isOpened() {\n return this.router.currentRoute.name === \"chat.channel.thread\" || this.router.currentRoute.name === \"chat.channel.thread.index\";\n }\n get selectedMessageIds() {\n return this.thread.messagesManager.selectedMessages.mapBy(\"id\");\n }\n async close() {\n await this.router.transitionTo(\"chat.channel\", ...this.channel.routeModels);\n }\n async open(thread) {\n await this.router.transitionTo(\"chat.channel.thread\", ...thread.routeModels);\n }\n }\n _exports.default = ChatThreadPane;\n});","define(\"discourse/plugins/chat/discourse/services/chat-tracking-state-manager\", [\"exports\", \"@ember/owner\", \"@ember/runloop\", \"@ember/service\", \"discourse/lib/debounce\", \"discourse/plugins/chat/discourse/models/chat-tracking-state\"], function (_exports, _owner, _runloop, _service, _debounce, _chatTrackingState) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n /**\n * This service is used to provide a global interface to tracking individual\n * channels and threads. In many places in the app, we need to know the global\n * unread count for channels, threads, etc.\n *\n * The individual tracking state of each channel and thread is stored in\n * a ChatTrackingState class instance and changed via the getters/setters\n * provided there.\n *\n * This service is also used to preload bulk tracking state for channels\n * and threads, which is used when the user first loads the app, and in\n * certain cases where we need to set the state for many items at once.\n */\n class ChatTrackingStateManager extends _service.default {\n static #_ = (() => dt7948.g(this.prototype, \"chatChannelsManager\", [_service.service]))();\n #chatChannelsManager = (() => (dt7948.i(this, \"chatChannelsManager\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"appEvents\", [_service.service]))();\n #appEvents = (() => (dt7948.i(this, \"appEvents\"), void 0))();\n // NOTE: In future, we may want to preload some thread tracking state\n // as well, but for now we do that on demand when the user opens a channel,\n willDestroy() {\n super.willDestroy(...arguments);\n (0, _runloop.cancel)(this._onTriggerNotificationDebounceHandler);\n }\n\n // to avoid having to load all the threads across all channels into memory at once.\n setupWithPreloadedState(_ref) {\n let {\n channel_tracking = {}\n } = _ref;\n this.chatChannelsManager.channels.forEach(channel => {\n if (channel_tracking[channel.id.toString()]) {\n this.#setState(channel, channel_tracking[channel.id.toString()]);\n }\n });\n }\n setupChannelThreadState(channel, threadTracking) {\n channel.threadsManager.threads.forEach(thread => {\n const tracking = threadTracking[thread.id.toString()];\n if (tracking) {\n this.#setState(thread, tracking);\n }\n });\n }\n get publicChannelUnreadCount() {\n return this.#publicChannels.reduce((unreadCount, channel) => {\n return unreadCount + channel.tracking.unreadCount;\n }, 0);\n }\n get directMessageUnreadCount() {\n return this.#directMessageChannels.reduce((unreadCount, channel) => {\n return unreadCount + channel.tracking.unreadCount;\n }, 0);\n }\n get publicChannelMentionCount() {\n return this.#publicChannels.reduce((mentionCount, channel) => {\n return mentionCount + channel.tracking.mentionCount;\n }, 0);\n }\n get directMessageMentionCount() {\n return this.#directMessageChannels.reduce((dmMentionCount, channel) => {\n return dmMentionCount + channel.tracking.mentionCount;\n }, 0);\n }\n get allChannelMentionCount() {\n return this.publicChannelMentionCount + this.directMessageMentionCount;\n }\n get allChannelUrgentCount() {\n return this.allChannelMentionCount + this.directMessageUnreadCount + this.watchedThreadsUnreadCount;\n }\n get hasUnreadThreads() {\n return this.#allChannels.some(channel => channel.unreadThreadsCount > 0);\n }\n get watchedThreadsUnreadCount() {\n return this.#allChannels.reduce((unreadCount, channel) => {\n return unreadCount + channel.tracking.watchedThreadsUnreadCount;\n }, 0);\n }\n\n /**\n * Some reactivity in the app such as the document title\n * updates are only done via appEvents -- rather than\n * sprinkle this appEvent call everywhere we just define\n * it here so it can be changed as required.\n */\n triggerNotificationsChanged() {\n this._onTriggerNotificationDebounceHandler = (0, _debounce.default)(this, this.#triggerNotificationsChanged, 100);\n }\n #triggerNotificationsChanged() {\n this.appEvents.trigger(\"notifications:changed\");\n }\n #setState(model, state) {\n if (!model.tracking) {\n model.tracking = new _chatTrackingState.default((0, _owner.getOwner)(this));\n }\n model.tracking.unreadCount = state.unread_count;\n model.tracking.mentionCount = state.mention_count;\n model.tracking.watchedThreadsUnreadCount = state.watched_threads_unread_count;\n }\n get #publicChannels() {\n return this.chatChannelsManager.publicMessageChannels;\n }\n get #directMessageChannels() {\n return this.chatChannelsManager.directMessageChannels;\n }\n get #allChannels() {\n return this.chatChannelsManager.allChannels;\n }\n }\n _exports.default = ChatTrackingStateManager;\n});","define(\"discourse/plugins/chat/discourse/services/chat\", [\"exports\", \"@glimmer/tracking\", \"@ember/object\", \"@ember/object/computed\", \"@ember/runloop\", \"@ember/service\", \"discourse/lib/ajax\", \"discourse/lib/ajax-error\", \"discourse/lib/decorators\", \"discourse/lib/deprecated\", \"discourse/lib/later\", \"discourse/lib/user-presence\", \"discourse/plugins/chat/discourse/models/chat-message\"], function (_exports, _tracking, _object, _computed, _runloop, _service, _ajax, _ajaxError, _decorators, _deprecated, _later, _userPresence, _chatMessage) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const CHAT_ONLINE_OPTIONS = {\n userUnseenTime: 300000,\n // 5 minutes seconds with no interaction\n browserHiddenTime: 300000 // Or the browser has been in the background for 5 minutes\n };\n class Chat extends _service.default {\n static #_ = (() => dt7948.g(this.prototype, \"chatApi\", [_service.service]))();\n #chatApi = (() => (dt7948.i(this, \"chatApi\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"appEvents\", [_service.service]))();\n #appEvents = (() => (dt7948.i(this, \"appEvents\"), void 0))();\n static #_3 = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n static #_4 = (() => dt7948.g(this.prototype, \"chatNotificationManager\", [_service.service]))();\n #chatNotificationManager = (() => (dt7948.i(this, \"chatNotificationManager\"), void 0))();\n static #_5 = (() => dt7948.g(this.prototype, \"chatSubscriptionsManager\", [_service.service]))();\n #chatSubscriptionsManager = (() => (dt7948.i(this, \"chatSubscriptionsManager\"), void 0))();\n static #_6 = (() => dt7948.g(this.prototype, \"chatStateManager\", [_service.service]))();\n #chatStateManager = (() => (dt7948.i(this, \"chatStateManager\"), void 0))();\n static #_7 = (() => dt7948.g(this.prototype, \"chatDraftsManager\", [_service.service]))();\n #chatDraftsManager = (() => (dt7948.i(this, \"chatDraftsManager\"), void 0))();\n static #_8 = (() => dt7948.g(this.prototype, \"presence\", [_service.service]))();\n #presence = (() => (dt7948.i(this, \"presence\"), void 0))();\n static #_9 = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n #router = (() => (dt7948.i(this, \"router\"), void 0))();\n static #_10 = (() => dt7948.g(this.prototype, \"site\", [_service.service]))();\n #site = (() => (dt7948.i(this, \"site\"), void 0))();\n static #_11 = (() => dt7948.g(this.prototype, \"chatChannelsManager\", [_service.service]))();\n #chatChannelsManager = (() => (dt7948.i(this, \"chatChannelsManager\"), void 0))();\n static #_12 = (() => dt7948.g(this.prototype, \"chatTrackingStateManager\", [_service.service]))();\n #chatTrackingStateManager = (() => (dt7948.i(this, \"chatTrackingStateManager\"), void 0))();\n cook = null;\n presenceChannel = null;\n isNetworkUnreliable = false;\n static #_13 = (() => dt7948.g(this.prototype, \"userCanChat\", [(0, _computed.and)(\"currentUser.has_chat_enabled\", \"siteSettings.chat_enabled\")]))();\n #userCanChat = (() => (dt7948.i(this, \"userCanChat\"), void 0))();\n static #_14 = (() => dt7948.g(this.prototype, \"_activeMessage\", [_tracking.tracked], function () {\n return null;\n }))();\n #_activeMessage = (() => (dt7948.i(this, \"_activeMessage\"), void 0))();\n static #_15 = (() => dt7948.g(this.prototype, \"_activeChannel\", [_tracking.tracked], function () {\n return null;\n }))();\n #_activeChannel = (() => (dt7948.i(this, \"_activeChannel\"), void 0))();\n init() {\n super.init(...arguments);\n if (this.userCanChat) {\n this.presenceChannel = this.presence.getChannel(\"/chat/online\");\n (0, _userPresence.onPresenceChange)({\n callback: this.onPresenceChangeCallback,\n browserHiddenTime: 150000,\n userUnseenTime: 150000\n });\n }\n }\n willDestroy() {\n super.willDestroy(...arguments);\n if (this.userCanChat) {\n this.chatSubscriptionsManager.stopChannelsSubscriptions();\n (0, _userPresence.removeOnPresenceChange)(this.onPresenceChangeCallback);\n }\n }\n get activeChannel() {\n return this._activeChannel;\n }\n set activeChannel(channel) {\n if (!channel) {\n this._activeMessage = null;\n }\n if (this._activeChannel) {\n this._activeChannel.activeThread = null;\n }\n this._activeChannel = channel;\n }\n get userCanDirectMessage() {\n if (!this.currentUser) {\n return false;\n }\n return this.currentUser.staff || this.currentUser.can_direct_message;\n }\n static #_16 = (() => dt7948.n(this.prototype, \"userCanDirectMessage\", [(0, _object.computed)(\"currentUser.staff\", \"currentUser.groups.[]\")]))();\n get userHasDirectMessages() {\n return this.chatChannelsManager.directMessageChannels?.length > 0;\n }\n static #_17 = (() => dt7948.n(this.prototype, \"userHasDirectMessages\", [(0, _object.computed)(\"chatChannelsManager.directMessageChannels\")]))();\n get userCanAccessDirectMessages() {\n return this.userCanDirectMessage || this.userHasDirectMessages;\n }\n get userCanInteractWithChat() {\n return !this.activeChannel?.userSilenced;\n }\n static #_18 = (() => dt7948.n(this.prototype, \"userCanInteractWithChat\", [(0, _object.computed)(\"activeChannel.userSilenced\")]))();\n get activeMessage() {\n return this._activeMessage;\n }\n set activeMessage(hash) {\n if (hash) {\n this._activeMessage = hash;\n } else {\n this._activeMessage = null;\n }\n }\n onPresenceChangeCallback(present) {\n if (present) {\n // NOTE: channels is more than a simple array, it also contains\n // tracking and membership data, see Chat::StructuredChannelSerializer\n this.chatApi.listCurrentUserChannels().then(channelsView => {\n this.chatSubscriptionsManager.stopChannelsSubscriptions();\n this.chatSubscriptionsManager.startChannelsSubscriptions(channelsView.meta.message_bus_last_ids);\n [...channelsView.public_channels, ...channelsView.direct_message_channels].forEach(channelObject => {\n this.chatChannelsManager.find(channelObject.id, {\n fetchIfNotFound: false\n }).then(channel => {\n if (!channel) {\n return;\n }\n // NOTE: We need to do something here for thread tracking\n // state as well on presence change, otherwise we will be back in\n // the same place as the channels were.\n //\n // At some point it would likely be better to just fetch an\n // endpoint that gives you all channel tracking state and the\n // thread tracking state for the current channel.\n\n // ensures we have the latest message bus ids\n channel.meta.message_bus_last_ids = channelObject.meta.message_bus_last_ids;\n const state = channelsView.tracking.channel_tracking[channel.id];\n channel.tracking.unreadCount = state.unread_count;\n channel.tracking.mentionCount = state.mention_count;\n channel.tracking.watchedThreadsUnreadCount = state.watched_threads_unread_count;\n channel.currentUserMembership = channelObject.current_user_membership;\n this.chatSubscriptionsManager.startChannelSubscription(channel);\n });\n });\n });\n }\n }\n static #_19 = (() => dt7948.n(this.prototype, \"onPresenceChangeCallback\", [_decorators.bind]))();\n markNetworkAsUnreliable() {\n (0, _runloop.cancel)(this._networkCheckHandler);\n this.set(\"isNetworkUnreliable\", true);\n this._networkCheckHandler = (0, _later.default)(() => {\n if (this.isDestroyed || this.isDestroying) {\n return;\n }\n this.markNetworkAsReliable();\n }, 30000);\n }\n markNetworkAsReliable() {\n (0, _runloop.cancel)(this._networkCheckHandler);\n this.set(\"isNetworkUnreliable\", false);\n }\n async loadChannels() {\n // We want to be able to call this method multiple times, but only\n // actually load the channels once. This is because we might call\n // this method before the chat is fully initialized, and we don't\n // want to load the channels multiple times in that case.\n try {\n if (this.chatStateManager.hasPreloadedChannels) {\n return;\n }\n if (this.loadingChannels) {\n return this.loadingChannels;\n }\n this.loadingChannels = new Promise(resolve => {\n this.chatApi.listCurrentUserChannels().then(result => {\n this.setupWithPreloadedChannels(result);\n this.chatStateManager.hasPreloadedChannels = true;\n resolve();\n });\n });\n } catch (e) {\n (0, _ajaxError.popupAjaxError)(e);\n }\n }\n setupWithPreloadedChannels(channelsView) {\n this.chatSubscriptionsManager.startChannelsSubscriptions(channelsView.meta.message_bus_last_ids);\n this.presenceChannel.subscribe(channelsView.global_presence_channel_state);\n [...channelsView.public_channels, ...channelsView.direct_message_channels].forEach(channelObject => {\n const storedChannel = this.chatChannelsManager.store(channelObject);\n const storedDrafts = (this.currentUser?.chat_drafts || []).filter(draft => draft.channel_id === storedChannel.id);\n storedDrafts.forEach(storedDraft => {\n this.chatDraftsManager.add(_chatMessage.default.createDraftMessage(storedChannel, Object.assign({\n user: this.currentUser\n }, JSON.parse(storedDraft.data))), storedDraft.channel_id, storedDraft.thread_id, false);\n });\n if (channelsView.unread_thread_overview?.[storedChannel.id]) {\n storedChannel.threadsManager.unreadThreadOverview = channelsView.unread_thread_overview[storedChannel.id];\n }\n return this.chatChannelsManager.follow(storedChannel);\n });\n this.chatTrackingStateManager.setupWithPreloadedState(channelsView.tracking);\n }\n updatePresence() {\n (0, _runloop.next)(() => {\n if (this.isDestroyed || this.isDestroying) {\n return;\n }\n if (this.currentUser.user_option?.hide_presence) {\n return;\n }\n if (this.chatStateManager.isActive) {\n this.presenceChannel.enter({\n activeOptions: CHAT_ONLINE_OPTIONS\n });\n } else {\n this.presenceChannel.leave();\n }\n });\n }\n getDocumentTitleCount() {\n return this.chatTrackingStateManager.allChannelUrgentCount;\n }\n switchChannelUpOrDown(direction) {\n let unreadOnly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n const {\n activeChannel\n } = this;\n if (!activeChannel) {\n return; // Chat isn't open. Return and do nothing!\n }\n let publicChannels, directChannels;\n if (unreadOnly) {\n publicChannels = this.chatChannelsManager.publicMessageChannelsWithActivity;\n directChannels = this.chatChannelsManager.directMessageChannelsWithActivity;\n\n // If the active channel has no unread messages, we need to manually insert it into\n // the list, so we can find the next/previous unread channel.\n if (!activeChannel.hasUnread) {\n const allChannels = activeChannel.isDirectMessageChannel ? this.chatChannelsManager.directMessageChannels : this.chatChannelsManager.publicMessageChannels;\n\n // Find the ID of the channel before the active channel, which is unread\n let checkChannelIndex = allChannels.findIndex(c => c.id === activeChannel.id) - 1;\n\n // If we get back to the start of the list, we can stop\n while (checkChannelIndex >= 0) {\n if (allChannels[checkChannelIndex].hasUnread) {\n break;\n }\n checkChannelIndex--;\n }\n\n // Insert the active channel after unread channel we found (or at the start of the list)\n if (activeChannel.isDirectMessageChannel) {\n const unreadChannelIndex = checkChannelIndex < 0 ? 0 : directChannels.findIndex(c => c.id === allChannels[checkChannelIndex].id);\n directChannels.splice(unreadChannelIndex + 1, 0, activeChannel);\n } else {\n const unreadChannelIndex = checkChannelIndex < 0 ? -1 : publicChannels.findIndex(c => c.id === allChannels[checkChannelIndex].id);\n publicChannels.splice(unreadChannelIndex + 1, 0, activeChannel);\n }\n }\n } else {\n publicChannels = this.chatChannelsManager.publicMessageChannels;\n directChannels = this.chatChannelsManager.directMessageChannels;\n }\n let currentList, otherList;\n if (activeChannel.isDirectMessageChannel) {\n currentList = directChannels;\n otherList = publicChannels;\n } else {\n currentList = publicChannels;\n otherList = directChannels;\n }\n const directionUp = direction === \"up\";\n const currentChannelIndex = currentList.findIndex(c => c.id === activeChannel.id);\n let nextChannelInSameList = currentList[currentChannelIndex + (directionUp ? -1 : 1)];\n if (nextChannelInSameList) {\n // You're navigating in the same list of channels, just use index +- 1\n return this.router.transitionTo(\"chat.channel\", ...nextChannelInSameList.routeModels);\n }\n\n // You need to go to the next list of channels, if it exists.\n const nextList = otherList.length ? otherList : currentList;\n const nextChannel = directionUp ? nextList[nextList.length - 1] : nextList[0];\n if (nextChannel.id !== activeChannel.id) {\n return this.router.transitionTo(\"chat.channel\", ...nextChannel.routeModels);\n }\n }\n _fireOpenFloatAppEvent(channel) {\n let messageId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n messageId ? this.router.transitionTo(\"chat.channel.near-message\", ...channel.routeModels, messageId) : this.router.transitionTo(\"chat.channel\", ...channel.routeModels);\n }\n async followChannel(channel) {\n return this.chatChannelsManager.follow(channel);\n }\n async unfollowChannel(channel) {\n return this.chatChannelsManager.unfollow(channel).then(() => {\n if (channel === this.activeChannel && channel.isDirectMessageChannel) {\n this.router.transitionTo(\"chat\");\n }\n });\n }\n upsertDmChannelForUser(channel, user) {\n const usernames = (channel.chatable.users || []).mapBy(\"username\").concat(user.username).uniq();\n return this.upsertDmChannel({\n usernames\n });\n }\n\n // @param {object} targets - The targets to create or fetch the direct message\n // channel for. The current user will automatically be included in the channel when it is created.\n // @param {array} [targets.usernames] - The usernames to include in the direct message channel.\n // @param {array} [targets.groups] - The groups to include in the direct message channel.\n // @param {object} opts - Optional values when fetching or creating the direct message channel.\n // @param {string|null} [opts.name] - Name for the direct message channel.\n // @param {boolean} [opts.upsert] - Should we attempt to fetch existing channel before creating a new one.\n createDmChannel(targets) {\n let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n name: null,\n upsert: false\n };\n return (0, _ajax.ajax)(\"/chat/api/direct-message-channels.json\", {\n method: \"POST\",\n data: {\n target_usernames: targets.usernames?.uniq(),\n target_groups: targets.groups?.uniq(),\n upsert: opts.upsert,\n name: opts.name\n }\n }).then(response => {\n const channel = this.chatChannelsManager.store(response.channel);\n this.chatChannelsManager.follow(channel);\n return channel;\n }).catch(_ajaxError.popupAjaxError);\n }\n upsertDmChannel(targets) {\n let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n return this.createDmChannel(targets, {\n name,\n upsert: true\n });\n }\n\n // @param {array} usernames - The usernames to fetch the direct message\n // channel for. The current user will automatically be included as a\n // participant to fetch the channel for.\n getDmChannelForUsernames(usernames) {\n return (0, _ajax.ajax)(\"/chat/direct_messages.json\", {\n data: {\n usernames: usernames.uniq().join(\",\")\n }\n });\n }\n addToolbarButton() {\n (0, _deprecated.default)(\"Use the new chat API `api.registerChatComposerButton` instead of `chat.addToolbarButton`\", {\n id: \"discourse.chat.addToolbarButton\"\n });\n }\n toggleDrawer() {\n this.chatStateManager.didToggleDrawer();\n this.appEvents.trigger(\"chat:toggle-expand\", this.chatStateManager.isDrawerExpanded);\n }\n static #_20 = (() => dt7948.n(this.prototype, \"toggleDrawer\", [_object.action]))();\n }\n _exports.default = Chat;\n});","define(\"discourse/plugins/chat/discourse/services/interacted-chat-message\", [\"exports\", \"@glimmer/tracking\", \"@ember/service\"], function (_exports, _tracking, _service) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n class InteractedChatMessage extends _service.default {\n static #_ = (() => dt7948.g(this.prototype, \"secondaryOptionsOpen\", [_tracking.tracked], function () {\n return false;\n }))();\n #secondaryOptionsOpen = (() => (dt7948.i(this, \"secondaryOptionsOpen\"), void 0))();\n static #_2 = (() => dt7948.g(this.prototype, \"emojiPickerOpen\", [_tracking.tracked], function () {\n return false;\n }))();\n #emojiPickerOpen = (() => (dt7948.i(this, \"emojiPickerOpen\"), void 0))();\n }\n _exports.default = InteractedChatMessage;\n});","define(\"discourse/plugins/chat/discourse/templates/chat-browse-all\", [\"exports\", \"ember-route-template\", \"discourse/plugins/chat/discourse/components/browse-channels\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _emberRouteTemplate, _browseChannels, _component, _templateFactory, _templateOnly) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = _exports.default = (0, _emberRouteTemplate.default)((0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n */\n {\n \"id\": \"qqzS51ja\",\n \"block\": \"[[[8,[32,0],null,[[\\\"@currentTab\\\"],[\\\"all\\\"]],null]],[],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/templates/chat-browse-all.js\",\n \"scope\": () => [_browseChannels.default],\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, undefined)));\n});","define(\"discourse/plugins/chat/discourse/templates/chat-browse-archived\", [\"exports\", \"ember-route-template\", \"discourse/plugins/chat/discourse/components/browse-channels\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _emberRouteTemplate, _browseChannels, _component, _templateFactory, _templateOnly) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = _exports.default = (0, _emberRouteTemplate.default)((0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n */\n {\n \"id\": \"UojRD1SS\",\n \"block\": \"[[[8,[32,0],null,[[\\\"@currentTab\\\"],[\\\"archived\\\"]],null]],[],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/templates/chat-browse-archived.js\",\n \"scope\": () => [_browseChannels.default],\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, undefined)));\n});","define(\"discourse/plugins/chat/discourse/templates/chat-browse-closed\", [\"exports\", \"ember-route-template\", \"discourse/plugins/chat/discourse/components/browse-channels\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _emberRouteTemplate, _browseChannels, _component, _templateFactory, _templateOnly) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = _exports.default = (0, _emberRouteTemplate.default)((0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n */\n {\n \"id\": \"YveojwMM\",\n \"block\": \"[[[8,[32,0],null,[[\\\"@currentTab\\\"],[\\\"closed\\\"]],null]],[],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/templates/chat-browse-closed.js\",\n \"scope\": () => [_browseChannels.default],\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, undefined)));\n});","define(\"discourse/plugins/chat/discourse/templates/chat-browse-open\", [\"exports\", \"ember-route-template\", \"discourse/plugins/chat/discourse/components/browse-channels\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _emberRouteTemplate, _browseChannels, _component, _templateFactory, _templateOnly) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = _exports.default = (0, _emberRouteTemplate.default)((0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n */\n {\n \"id\": \"KHmBbGkj\",\n \"block\": \"[[[8,[32,0],null,[[\\\"@currentTab\\\"],[\\\"open\\\"]],null]],[],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/templates/chat-browse-open.js\",\n \"scope\": () => [_browseChannels.default],\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, undefined)));\n});","define(\"discourse/plugins/chat/discourse/templates/chat-browse\", [\"exports\", \"ember-route-template\", \"discourse-i18n\", \"discourse/plugins/chat/discourse/components/chat/navbar\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _emberRouteTemplate, _discourseI18n, _navbar, _component, _templateFactory, _templateOnly) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = _exports.default = (0, _emberRouteTemplate.default)((0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
    \n \n \n \n \n \n \n \n \n \n \n {{outlet}}\n
    \n \n */\n {\n \"id\": \"RzvkAPeF\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"c-routes --browse\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,0],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[30,1,[\\\"BackButton\\\"]],null,null,null],[1,\\\"\\\\n \\\"],[8,[30,1,[\\\"Title\\\"]],null,[[\\\"@title\\\"],[[28,[32,1],[\\\"chat.browse.title\\\"],null]]],null],[1,\\\"\\\\n\\\\n \\\"],[8,[30,1,[\\\"Actions\\\"]],null,null,[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[8,[30,2,[\\\"NewChannelButton\\\"]],null,null,null],[1,\\\"\\\\n \\\"],[8,[30,2,[\\\"OpenDrawerButton\\\"]],null,null,null],[1,\\\"\\\\n \\\"]],[2]]]]],[1,\\\"\\\\n \\\"]],[1]]]]],[1,\\\"\\\\n\\\\n \\\"],[46,[28,[31,1],null,null],null,null,null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"navbar\\\",\\\"a\\\"],false,[\\\"component\\\",\\\"-outlet\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/templates/chat-browse.js\",\n \"scope\": () => [_navbar.default, _discourseI18n.i18n],\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, undefined)));\n});","define(\"discourse/plugins/chat/discourse/templates/chat-channel-info-members\", [\"exports\", \"ember-route-template\", \"discourse/plugins/chat/discourse/components/chat/routes/channel-info-members\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _emberRouteTemplate, _channelInfoMembers, _component, _templateFactory, _templateOnly) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = _exports.default = (0, _emberRouteTemplate.default)((0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n */\n {\n \"id\": \"275Sk0bE\",\n \"block\": \"[[[8,[32,0],null,[[\\\"@channel\\\"],[[30,1,[\\\"model\\\"]]]],null]],[\\\"@controller\\\"],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/templates/chat-channel-info-members.js\",\n \"scope\": () => [_channelInfoMembers.default],\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, undefined)));\n});","define(\"discourse/plugins/chat/discourse/templates/chat-channel-info-settings\", [\"exports\", \"ember-route-template\", \"discourse/plugins/chat/discourse/components/chat/routes/channel-info-settings\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _emberRouteTemplate, _channelInfoSettings, _component, _templateFactory, _templateOnly) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = _exports.default = (0, _emberRouteTemplate.default)((0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n */\n {\n \"id\": \"ZJihx489\",\n \"block\": \"[[[8,[32,0],null,[[\\\"@channel\\\"],[[30,1,[\\\"model\\\"]]]],null]],[\\\"@controller\\\"],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/templates/chat-channel-info-settings.js\",\n \"scope\": () => [_channelInfoSettings.default],\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, undefined)));\n});","define(\"discourse/plugins/chat/discourse/templates/chat-channel-info\", [\"exports\", \"ember-route-template\", \"discourse/plugins/chat/discourse/components/chat/routes/channel-info\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _emberRouteTemplate, _channelInfo, _component, _templateFactory, _templateOnly) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = _exports.default = (0, _emberRouteTemplate.default)((0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n */\n {\n \"id\": \"Qmwtpaut\",\n \"block\": \"[[[8,[32,0],null,[[\\\"@channel\\\"],[[30,1,[\\\"model\\\"]]]],null]],[\\\"@controller\\\"],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/templates/chat-channel-info.js\",\n \"scope\": () => [_channelInfo.default],\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, undefined)));\n});","define(\"discourse/plugins/chat/discourse/templates/chat-channel-thread\", [\"exports\", \"ember-route-template\", \"discourse/plugins/chat/discourse/components/chat/routes/channel-thread\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _emberRouteTemplate, _channelThread, _component, _templateFactory, _templateOnly) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = _exports.default = (0, _emberRouteTemplate.default)((0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n \n */\n {\n \"id\": \"zYjW6drO\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[8,[32,0],null,[[\\\"@thread\\\",\\\"@targetMessageId\\\"],[[30,1,[\\\"model\\\"]],[30,1,[\\\"targetMessageId\\\"]]]],null],[1,\\\"\\\\n \\\"]],[\\\"@controller\\\"],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/templates/chat-channel-thread.js\",\n \"scope\": () => [_channelThread.default],\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, undefined)));\n});","define(\"discourse/plugins/chat/discourse/templates/chat-channel-threads\", [\"exports\", \"ember-route-template\", \"discourse/plugins/chat/discourse/components/chat/routes/channel-threads\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _emberRouteTemplate, _channelThreads, _component, _templateFactory, _templateOnly) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = _exports.default = (0, _emberRouteTemplate.default)((0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n */\n {\n \"id\": \"ou7AZHyy\",\n \"block\": \"[[[8,[32,0],null,[[\\\"@channel\\\"],[[30,1,[\\\"model\\\"]]]],null]],[\\\"@controller\\\"],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/templates/chat-channel-threads.js\",\n \"scope\": () => [_channelThreads.default],\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, undefined)));\n});","define(\"discourse/plugins/chat/discourse/templates/chat-channel\", [\"exports\", \"ember-route-template\", \"discourse/plugins/chat/discourse/components/chat/routes/channel\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _emberRouteTemplate, _channel, _component, _templateFactory, _templateOnly) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = _exports.default = (0, _emberRouteTemplate.default)((0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n \n */\n {\n \"id\": \"hkiRLNm4\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[8,[32,0],null,[[\\\"@channel\\\",\\\"@targetMessageId\\\"],[[30,1,[\\\"model\\\"]],[30,1,[\\\"targetMessageId\\\"]]]],null],[1,\\\"\\\\n \\\"]],[\\\"@controller\\\"],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/templates/chat-channel.js\",\n \"scope\": () => [_channel.default],\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, undefined)));\n});","define(\"discourse/plugins/chat/discourse/templates/chat-channels\", [\"exports\", \"ember-route-template\", \"discourse/plugins/chat/discourse/components/chat/routes/channels\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _emberRouteTemplate, _channels, _component, _templateFactory, _templateOnly) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = _exports.default = (0, _emberRouteTemplate.default)((0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n */\n {\n \"id\": \"3v5V+QVg\",\n \"block\": \"[[[8,[32,0],null,null,null]],[],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/templates/chat-channels.js\",\n \"scope\": () => [_channels.default],\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, undefined)));\n});","define(\"discourse/plugins/chat/discourse/templates/chat-direct-messages\", [\"exports\", \"ember-route-template\", \"discourse/plugins/chat/discourse/components/chat/routes/direct-messages\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _emberRouteTemplate, _directMessages, _component, _templateFactory, _templateOnly) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = _exports.default = (0, _emberRouteTemplate.default)((0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n */\n {\n \"id\": \"yOFw3wWg\",\n \"block\": \"[[[8,[32,0],null,null,null]],[],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/templates/chat-direct-messages.js\",\n \"scope\": () => [_directMessages.default],\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, undefined)));\n});","define(\"discourse/plugins/chat/discourse/templates/chat-index\", [\"exports\", \"ember-route-template\", \"discourse/plugins/chat/discourse/components/channels-list\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _emberRouteTemplate, _channelsList, _component, _templateFactory, _templateOnly) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = _exports.default = (0, _emberRouteTemplate.default)((0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n */\n {\n \"id\": \"zZg/9f56\",\n \"block\": \"[[[8,[32,0],null,null,null]],[],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/templates/chat-index.js\",\n \"scope\": () => [_channelsList.default],\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, undefined)));\n});","define(\"discourse/plugins/chat/discourse/templates/chat-threads\", [\"exports\", \"ember-route-template\", \"discourse/plugins/chat/discourse/components/chat/routes/threads\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _emberRouteTemplate, _threads, _component, _templateFactory, _templateOnly) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = _exports.default = (0, _emberRouteTemplate.default)((0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n */\n {\n \"id\": \"i1pkA8Zf\",\n \"block\": \"[[[8,[32,0],null,null,null]],[],false,[]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/templates/chat-threads.js\",\n \"scope\": () => [_threads.default],\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, undefined)));\n});","define(\"discourse/plugins/chat/discourse/templates/chat\", [\"exports\", \"ember-route-template\", \"discourse/helpers/concat-class\", \"discourse/plugins/chat/discourse/components/channels-list\", \"discourse/plugins/chat/discourse/components/chat-footer\", \"@ember/component\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _emberRouteTemplate, _concatClass, _channelsList, _chatFooter, _component, _templateFactory, _templateOnly) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = _exports.default = (0, _emberRouteTemplate.default)((0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n
    \n \n \n {{#if @controller.shouldUseChatSidebar}}\n \n {{/if}}\n \n \n {{outlet}}\n {{#if @controller.shouldUseChatFooter}}\n \n {{/if}}\n \n \n \n */\n {\n \"id\": \"1J1z/GKI\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,0],[14,1,\\\"chat-progress-bar-container\\\"],[12],[13],[1,\\\"\\\\n\\\\n \\\"],[10,0],[15,0,[28,[32,0],[\\\"full-page-chat\\\",[52,[30,1,[\\\"shouldUseCoreSidebar\\\"]],\\\"full-page-chat-sidebar-enabled\\\"]],null]],[12],[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"shouldUseChatSidebar\\\"]],[[[1,\\\" \\\"],[8,[32,1],null,null,null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n \\\"],[10,0],[14,1,\\\"main-chat-outlet\\\"],[15,0,[28,[32,0],[\\\"main-chat-outlet\\\",[30,1,[\\\"mainOutletModifierClasses\\\"]]],null]],[12],[1,\\\"\\\\n \\\"],[46,[28,[31,2],null,null],null,null,null],[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"shouldUseChatFooter\\\"]],[[[1,\\\" \\\"],[8,[32,2],null,null,null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[\\\"@controller\\\"],false,[\\\"if\\\",\\\"component\\\",\\\"-outlet\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/templates/chat.js\",\n \"scope\": () => [_concatClass.default, _channelsList.default, _chatFooter.default],\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, undefined)));\n});","define(\"discourse/plugins/chat/discourse/templates/preferences/chat\", [\"exports\", \"@ember/component\", \"@ember/helper\", \"@ember/modifier\", \"ember-route-template\", \"truth-helpers\", \"discourse/components/emoji-picker\", \"discourse/components/save-controls\", \"discourse/helpers/with-event-value\", \"discourse-i18n\", \"select-kit/components/combo-box\", \"@ember/template-factory\", \"@ember/component/template-only\"], function (_exports, _component, _helper, _modifier, _emberRouteTemplate, _truthHelpers, _emojiPicker, _saveControls, _withEventValue, _discourseI18n, _comboBox, _templateFactory, _templateOnly) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = _exports.default = (0, _emberRouteTemplate.default)((0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n \n \n \n \n \n \n {{i18n\n \"chat.quick_reaction_type.title\"\n }}\n
    \n {{#each @controller.chatQuickReactionTypes as |option|}}\n
    \n \n
    \n {{/each}}\n
    \n \n {{#if\n (eq @controller.model.user_option.chat_quick_reaction_type \"custom\")\n }}\n
    \n {{#each (array 0 1 2) as |index|}}\n \n {{/each}}\n
    \n {{/if}}\n \n \n \n \n \n {{i18n \"chat.only_chat_push_notifications.description\"}}\n \n \n \n \n \n \n {{i18n \"chat.ignore_channel_wide_mention.description\"}}\n \n \n \n \n \n \n \n \n \n \n \n {{#if\n (eq @controller.model.user_option.chat_email_frequency \"when_away\")\n }}\n
    \n {{i18n \"chat.email_frequency.description\"}}\n
    \n {{/if}}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n {{#each @controller.chatSendShortcutOptions as |option|}}\n
    \n \n \n {{option.description}}\n \n
    \n {{/each}}\n
    \n \n \n \n \n */\n {\n \"id\": \"Q6FGUiph\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[10,\\\"label\\\"],[14,0,\\\"control-label\\\"],[12],[1,[28,[32,0],[\\\"chat.title_capitalized\\\"],null]],[13],[1,\\\"\\\\n\\\\n \\\"],[10,0],[14,0,\\\"control-group chat-setting\\\"],[14,\\\"data-setting-name\\\",\\\"user_chat_enabled\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"label\\\"],[14,0,\\\"controls\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,1],[[24,1,\\\"user_chat_enabled\\\"]],[[\\\"@type\\\",\\\"@checked\\\"],[\\\"checkbox\\\",[30,1,[\\\"model\\\",\\\"user_option\\\",\\\"chat_enabled\\\"]]]],null],[1,\\\"\\\\n \\\"],[1,[28,[32,0],[\\\"chat.enable\\\"],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\\n \\\"],[10,\\\"fieldset\\\"],[14,0,\\\"control-group chat-setting\\\"],[14,\\\"data-setting-name\\\",\\\"user_chat_quick_reaction_type\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"legend\\\"],[14,0,\\\"control-label\\\"],[12],[1,[28,[32,0],[\\\"chat.quick_reaction_type.title\\\"],null]],[13],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"radio-group\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[31,1],[[28,[31,1],[[30,1,[\\\"chatQuickReactionTypes\\\"]]],null]],null],null,[[[1,\\\" \\\"],[10,0],[14,0,\\\"radio-group-option\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"label\\\"],[14,0,\\\"controls\\\"],[12],[1,\\\"\\\\n \\\"],[11,\\\"input\\\"],[24,3,\\\"user_chat_quick_reaction_type\\\"],[16,1,[28,[32,2],[\\\"user_chat_quick_reaction_type_\\\",[30,2,[\\\"value\\\"]]],null]],[16,2,[30,2,[\\\"value\\\"]]],[16,\\\"checked\\\",[28,[32,3],[[30,1,[\\\"model\\\",\\\"user_option\\\",\\\"chat_quick_reaction_type\\\"]],[30,2,[\\\"value\\\"]]],null]],[24,4,\\\"radio\\\"],[4,[32,4],[\\\"change\\\",[28,[32,5],[[30,1,[\\\"onChangeQuickReactionType\\\"]]],null]],null],[12],[13],[1,\\\"\\\\n \\\"],[1,[30,2,[\\\"label\\\"]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[2]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[28,[32,3],[[30,1,[\\\"model\\\",\\\"user_option\\\",\\\"chat_quick_reaction_type\\\"]],\\\"custom\\\"],null],[[[1,\\\" \\\"],[10,0],[14,0,\\\"controls tracking-controls emoji-pickers\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[31,1],[[28,[31,1],[[28,[32,6],[0,1,2],null]],null]],null],null,[[[1,\\\" \\\"],[8,[32,7],null,[[\\\"@emoji\\\",\\\"@didSelectEmoji\\\",\\\"@context\\\"],[[28,[32,8],[[30,1,[\\\"chatQuickReactionsCustom\\\"]],[30,3]],null],[28,[32,9],[[30,1,[\\\"didSelectEmoji\\\"]],[30,3]],null],\\\"chat_preferences\\\"]],null],[1,\\\"\\\\n\\\"]],[3]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\\n \\\"],[10,0],[14,0,\\\"control-group chat-setting\\\"],[14,\\\"data-setting-name\\\",\\\"user_chat_only_push_notifications\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"label\\\"],[14,0,\\\"controls\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,1],[[24,1,\\\"user_chat_only_push_notifications\\\"]],[[\\\"@type\\\",\\\"@checked\\\"],[\\\"checkbox\\\",[30,1,[\\\"model\\\",\\\"user_option\\\",\\\"only_chat_push_notifications\\\"]]]],null],[1,\\\"\\\\n \\\"],[1,[28,[32,0],[\\\"chat.only_chat_push_notifications.title\\\"],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[10,1],[14,0,\\\"control-instructions\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,0],[\\\"chat.only_chat_push_notifications.description\\\"],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\\n \\\"],[10,0],[14,0,\\\"control-group chat-setting\\\"],[14,\\\"data-setting-name\\\",\\\"user_chat_ignore_channel_wide_mention\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"label\\\"],[14,0,\\\"controls\\\"],[12],[1,\\\"\\\\n \\\"],[8,[32,1],[[24,1,\\\"user_chat_ignore_channel_wide_mention\\\"]],[[\\\"@type\\\",\\\"@checked\\\"],[\\\"checkbox\\\",[30,1,[\\\"model\\\",\\\"user_option\\\",\\\"ignore_channel_wide_mention\\\"]]]],null],[1,\\\"\\\\n \\\"],[1,[28,[32,0],[\\\"chat.ignore_channel_wide_mention.title\\\"],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[10,1],[14,0,\\\"control-instructions\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,0],[\\\"chat.ignore_channel_wide_mention.description\\\"],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\\n \\\"],[10,0],[14,0,\\\"control-group chat-setting controls-dropdown\\\"],[14,\\\"data-setting-name\\\",\\\"user_chat_sounds\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"user_chat_sounds\\\"],[12],[1,[28,[32,0],[\\\"chat.sound.title\\\"],null]],[13],[1,\\\"\\\\n \\\"],[8,[32,10],null,[[\\\"@options\\\",\\\"@valueProperty\\\",\\\"@content\\\",\\\"@value\\\",\\\"@id\\\",\\\"@onChange\\\"],[[28,[32,11],null,[[\\\"none\\\"],[\\\"chat.sounds.none\\\"]]],\\\"value\\\",[30,1,[\\\"chatSounds\\\"]],[30,1,[\\\"model\\\",\\\"user_option\\\",\\\"chat_sound\\\"]],\\\"user_chat_sounds\\\",[30,1,[\\\"onChangeChatSound\\\"]]]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\\n \\\"],[10,0],[14,0,\\\"control-group chat-setting controls-dropdown\\\"],[14,\\\"data-setting-name\\\",\\\"user_chat_email_frequency\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"user_chat_email_frequency\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,0],[\\\"chat.email_frequency.title\\\"],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[8,[32,10],null,[[\\\"@valueProperty\\\",\\\"@content\\\",\\\"@value\\\",\\\"@id\\\",\\\"@onChange\\\"],[\\\"value\\\",[30,1,[\\\"emailFrequencyOptions\\\"]],[30,1,[\\\"model\\\",\\\"user_option\\\",\\\"chat_email_frequency\\\"]],\\\"user_chat_email_frequency\\\",[28,[32,9],[[28,[31,3],[[30,1,[\\\"model\\\",\\\"user_option\\\",\\\"chat_email_frequency\\\"]]],null]],null]]],null],[1,\\\"\\\\n\\\"],[41,[28,[32,3],[[30,1,[\\\"model\\\",\\\"user_option\\\",\\\"chat_email_frequency\\\"]],\\\"when_away\\\"],null],[[[1,\\\" \\\"],[10,0],[14,0,\\\"control-instructions\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,0],[\\\"chat.email_frequency.description\\\"],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\\n \\\"],[10,0],[14,0,\\\"control-group chat-setting controls-dropdown\\\"],[14,\\\"data-setting-name\\\",\\\"user_chat_header_indicator_preference\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"user_chat_header_indicator_preference\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,0],[\\\"chat.header_indicator_preference.title\\\"],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[8,[32,10],null,[[\\\"@valueProperty\\\",\\\"@content\\\",\\\"@value\\\",\\\"@id\\\",\\\"@onChange\\\"],[\\\"value\\\",[30,1,[\\\"headerIndicatorOptions\\\"]],[30,1,[\\\"model\\\",\\\"user_option\\\",\\\"chat_header_indicator_preference\\\"]],\\\"user_chat_header_indicator_preference\\\",[28,[32,9],[[28,[31,3],[[30,1,[\\\"model\\\",\\\"user_option\\\",\\\"chat_header_indicator_preference\\\"]]],null]],null]]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\\n \\\"],[10,0],[14,0,\\\"control-group chat-setting controls-dropdown\\\"],[14,\\\"data-setting-name\\\",\\\"user_chat_separate_sidebar_mode\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"user_chat_separate_sidebar_mode\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[32,0],[\\\"chat.separate_sidebar_mode.title\\\"],null]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\\n \\\"],[8,[32,10],null,[[\\\"@valueProperty\\\",\\\"@content\\\",\\\"@value\\\",\\\"@id\\\",\\\"@onChange\\\"],[\\\"value\\\",[30,1,[\\\"chatSeparateSidebarModeOptions\\\"]],[30,1,[\\\"chatSeparateSidebarMode\\\"]],\\\"user_chat_separate_sidebar_mode\\\",[28,[32,9],[[28,[31,3],[[30,1,[\\\"model\\\",\\\"user_option\\\",\\\"chat_separate_sidebar_mode\\\"]]],null]],null]]],null],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\\n \\\"],[10,0],[14,0,\\\"control-group chat-setting controls-dropdown\\\"],[14,\\\"data-setting-name\\\",\\\"user_chat_send_shortcut\\\"],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"radio-group\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[31,1],[[28,[31,1],[[30,1,[\\\"chatSendShortcutOptions\\\"]]],null]],null],null,[[[1,\\\" \\\"],[10,0],[14,0,\\\"radio-group-option\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"label\\\"],[14,0,\\\"controls\\\"],[12],[1,\\\"\\\\n \\\"],[11,\\\"input\\\"],[24,3,\\\"chat_send_shortcut\\\"],[16,1,[28,[32,2],[\\\"chat_send_shortcut_\\\",[30,4,[\\\"value\\\"]]],null]],[16,2,[30,4,[\\\"value\\\"]]],[16,\\\"checked\\\",[28,[32,3],[[30,1,[\\\"model\\\",\\\"user_option\\\",\\\"chat_send_shortcut\\\"]],[30,4,[\\\"value\\\"]]],null]],[24,4,\\\"radio\\\"],[4,[32,4],[\\\"change\\\",[28,[32,5],[[28,[32,9],[[28,[31,3],[[30,1,[\\\"model\\\",\\\"user_option\\\",\\\"chat_send_shortcut\\\"]]],null]],null]],null]],null],[12],[13],[1,\\\"\\\\n \\\"],[1,[30,4,[\\\"label\\\"]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[10,1],[14,0,\\\"control-instructions\\\"],[12],[1,\\\"\\\\n \\\"],[1,[30,4,[\\\"description\\\"]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[4]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\\n \\\"],[8,[32,12],null,[[\\\"@id\\\",\\\"@model\\\",\\\"@action\\\",\\\"@saved\\\"],[\\\"user_chat_preference_save\\\",[30,1,[\\\"model\\\"]],[30,1,[\\\"save\\\"]],[30,1,[\\\"saved\\\"]]]],null],[1,\\\"\\\\n \\\"]],[\\\"@controller\\\",\\\"option\\\",\\\"index\\\",\\\"option\\\"],false,[\\\"each\\\",\\\"-track-array\\\",\\\"if\\\",\\\"mut\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/chat/discourse/templates/preferences/chat.js\",\n \"scope\": () => [_discourseI18n.i18n, _component.Input, _helper.concat, _truthHelpers.eq, _modifier.on, _withEventValue.default, _helper.array, _emojiPicker.default, _helper.get, _helper.fn, _comboBox.default, _helper.hash, _saveControls.default],\n \"isStrictMode\": true\n }), (0, _templateOnly.default)(undefined, undefined)));\n});","define(\"discourse/plugins/chat/lib/discourse-markdown/chat-html-inline\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.setup = setup;\n // inspired from https://github.com/markdown-it/markdown-it/blob/master/lib/rules_inline/html_inline.mjs\n // note that allow lister will run on top of it, so if a tag is allowed here but not on\n // the allow list, then it won't show up\n\n const inline_names = [\"kbd\", \"mark\"];\n const patterns = inline_names.join(\"|\");\n const attr_name = \"[a-zA-Z_:][a-zA-Z0-9:._-]*\";\n const unquoted = \"[^\\\"'=<>`\\\\x00-\\\\x20]+\";\n const single_quoted = \"'[^']*'\";\n const double_quoted = '\"[^\"]*\"';\n const attr_value = \"(?:\" + unquoted + \"|\" + single_quoted + \"|\" + double_quoted + \")\";\n const attribute = \"(?:\\\\s+\" + attr_name + \"(?:\\\\s*=\\\\s*\" + attr_value + \")?)\";\n const open_tag = `<(${patterns})` + attribute + \"*\\\\s*\\\\/?>\";\n const close_tag = `<\\\\/(${patterns})\\\\s*>`;\n const comment = \"\";\n const processing = \"<[?][\\\\s\\\\S]*?[?]>\";\n const declaration = \"]*>\";\n const cdata = \"\";\n const HTML_TAG_RE = new RegExp(\"^(?:\" + open_tag + \"|\" + close_tag + \"|\" + comment + \"|\" + processing + \"|\" + declaration + \"|\" + cdata + \")\");\n function isLinkOpen(str) {\n return /^\\s]/i.test(str);\n }\n function isLinkClose(str) {\n return /^<\\/a\\s*>/i.test(str);\n }\n function isLetter(ch) {\n /*eslint no-bitwise:0*/\n let lc = ch | 0x20; // to lower case\n return lc >= 0x61 /* a */ && lc <= 0x7a /* z */;\n }\n function chatHtmlInlineRule(state, silent) {\n let ch,\n match,\n max,\n token,\n pos = state.pos;\n if (!state.md.options.html) {\n return false;\n }\n\n // Check start\n max = state.posMax;\n if (state.src.charCodeAt(pos) !== 0x3c /* < */ || pos + 2 >= max) {\n return false;\n }\n\n // Quick fail on second char\n ch = state.src.charCodeAt(pos + 1);\n if (ch !== 0x21 /* ! */ && ch !== 0x3f /* ? */ && ch !== 0x2f /* / */ && !isLetter(ch)) {\n return false;\n }\n match = state.src.slice(pos).match(HTML_TAG_RE);\n if (!match) {\n return false;\n }\n if (!silent) {\n token = state.push(\"html_inline\", \"\", 0);\n token.content = match[0];\n if (isLinkOpen(token.content)) {\n state.linkLevel++;\n }\n if (isLinkClose(token.content)) {\n state.linkLevel--;\n }\n }\n state.pos += match[0].length;\n return true;\n }\n function setup(helper) {\n helper.registerPlugin(md => {\n if (md.options.discourse.features[\"chat-html-inline\"]) {\n md.inline.ruler.push(\"chat-html-inline\", chatHtmlInlineRule);\n }\n });\n }\n});","define(\"discourse/plugins/chat/lib/discourse-markdown/chat-transcript\", [\"exports\", \"pretty-text/emoji\", \"discourse-i18n\"], function (_exports, _emoji, _discourseI18n) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.setup = setup;\n // NOTE: When updating this file you also must consider the ProseMirror rich editor extension\n // for chat transcripts, because it manually constructs the same HTML structure as this rule.\n\n let customMarkdownCookFn;\n const chatTranscriptRule = {\n tag: \"chat\",\n replace: function (state, tagInfo, content) {\n // Shouldn't really happen but we don't want to break rendering if it does\n if (!customMarkdownCookFn) {\n return;\n }\n const options = state.md.options.discourse;\n const [username, messageIdStart, messageTimeStart] = tagInfo.attrs.quote && tagInfo.attrs.quote.split(\";\") || [];\n\n // NOTE: Reactions are only included when archiving a channel, not when quoting a message\n const reactions = tagInfo.attrs.reactions;\n const multiQuote = !!tagInfo.attrs.multiQuote;\n const noLink = !!tagInfo.attrs.noLink;\n const channelName = tagInfo.attrs.channel;\n const channelId = tagInfo.attrs.channelId;\n const threadId = tagInfo.attrs.threadId;\n const threadTitle = tagInfo.attrs.threadTitle;\n const channelLink = channelId ? options.getURL(`/chat/c/-/${channelId}`) : null;\n if (!username || !messageIdStart || !messageTimeStart) {\n return;\n }\n const isThread = threadId && content.includes(\"[chat\");\n const wrapperDivToken = state.push(\"div_chat_transcript_wrap_open\", \"div\", 1);\n let unescapedChannelName;\n if (channelName) {\n unescapedChannelName = (0, _emoji.performEmojiUnescape)(channelName, {\n getURL: options.getURL,\n emojiSet: options.emojiSet,\n emojiCDNUrl: options.emojiCDNUrl,\n enableEmojiShortcuts: options.enableEmojiShortcuts,\n inlineEmoji: options.inlineEmoji,\n lazy: true\n });\n }\n if (channelName && multiQuote) {\n const metaDivToken = state.push(\"div_chat_transcript_meta_open\", \"div\", 1);\n metaDivToken.attrs = [[\"class\", \"chat-transcript-meta\"]];\n const channelToken = state.push(\"html_inline\", \"\", 0);\n channelToken.content = (0, _discourseI18n.i18n)(\"chat.quote.original_channel\", {\n channel: unescapedChannelName,\n channelLink\n });\n state.push(\"div_chat_transcript_meta_close\", \"div\", -1);\n }\n if (isThread) {\n state.push(\"details_chat_transcript_wrap_open\", \"details\", 1);\n state.push(\"summary_chat_transcript_open\", \"summary\", 1);\n const threadToken = state.push(\"div_thread_open\", \"div\", 1);\n threadToken.attrs = [[\"class\", \"chat-transcript-thread\"]];\n const threadHeaderToken = state.push(\"div_thread_header_open\", \"div\", 1);\n threadHeaderToken.attrs = [[\"class\", \"chat-transcript-thread-header\"]];\n const threadSvgHeader = state.push(\"svg_thread_header_open\", \"svg\", 1);\n threadSvgHeader.block = false;\n threadSvgHeader.attrs = [[\"class\", \"fa d-icon d-icon-discourse-threads svg-icon svg-node\"]];\n const threadUseSvg = state.push(\"use_svg_thread_open\", \"use\", 1);\n threadUseSvg.block = false;\n threadUseSvg.attrs = [[\"href\", \"#discourse-threads\"]];\n state.push(\"use_svg_thread_close\", \"use\", -1);\n state.push(\"svg_thread_header_close\", \"svg\", -1);\n const threadTitleContainerToken = state.push(\"span_thread_title_open\", \"span\", 1);\n threadTitleContainerToken.attrs = [[\"class\", \"chat-transcript-thread-header__title\"]];\n const threadTitleToken = state.push(\"html_inline\", \"\", 0);\n const unescapedThreadTitle = (0, _emoji.performEmojiUnescape)(threadTitle, {\n getURL: options.getURL,\n emojiSet: options.emojiSet,\n emojiCDNUrl: options.emojiCDNUrl,\n enableEmojiShortcuts: options.enableEmojiShortcuts,\n inlineEmoji: options.inlineEmoji,\n lazy: true\n });\n threadTitleToken.content = unescapedThreadTitle ? unescapedThreadTitle : (0, _discourseI18n.i18n)(\"chat.quote.default_thread_title\");\n state.push(\"span_thread_title_close\", \"span\", -1);\n state.push(\"div_thread_header_close\", \"div\", -1);\n }\n const wrapperClasses = [\"chat-transcript\"];\n if (tagInfo.attrs.chained) {\n wrapperClasses.push(\"chat-transcript-chained\");\n }\n wrapperDivToken.content = content;\n wrapperDivToken.attrs = [[\"class\", wrapperClasses.join(\" \")]];\n wrapperDivToken.attrs.push([\"data-message-id\", messageIdStart]);\n wrapperDivToken.attrs.push([\"data-username\", username]);\n wrapperDivToken.attrs.push([\"data-datetime\", messageTimeStart]);\n if (tagInfo.attrs.chained) {\n wrapperDivToken.attrs.push([\"data-chained\", \"true\"]);\n }\n if (reactions) {\n wrapperDivToken.attrs.push([\"data-reactions\", reactions]);\n }\n if (channelName) {\n wrapperDivToken.attrs.push([\"data-channel-name\", channelName]);\n }\n if (channelId) {\n wrapperDivToken.attrs.push([\"data-channel-id\", channelId]);\n }\n if (multiQuote) {\n wrapperDivToken.attrs.push([\"data-multiquote\", \"true\"]);\n }\n if (threadId) {\n wrapperDivToken.attrs.push([\"data-thread-id\", threadId]);\n }\n if (threadTitle) {\n wrapperDivToken.attrs.push([\"data-thread-title\", threadTitle]);\n }\n const userDivToken = state.push(\"div_chat_transcript_user_open\", \"div\", 1);\n userDivToken.attrs = [[\"class\", \"chat-transcript-user\"]];\n\n // start: user avatar\n const avatarDivToken = state.push(\"div_chat_transcript_user_avatar_open\", \"div\", 1);\n avatarDivToken.attrs = [[\"class\", \"chat-transcript-user-avatar\"]];\n\n // server-side, we need to lookup the avatar from the username\n let avatarImg;\n if (options.lookupAvatar) {\n avatarImg = options.lookupAvatar(username);\n }\n if (avatarImg) {\n const avatarImgToken = state.push(\"html_inline\", \"\", 0);\n avatarImgToken.content = avatarImg;\n }\n state.push(\"div_chat_transcript_user_avatar_close\", \"div\", -1);\n // end: user avatar\n\n // start: username\n const usernameDivToken = state.push(\"div_chat_transcript_username_open\", \"div\", 1);\n usernameDivToken.attrs = [[\"class\", \"chat-transcript-username\"]];\n let displayName;\n if (options.formatUsername) {\n displayName = options.formatUsername(username);\n } else {\n displayName = username;\n }\n const usernameToken = state.push(\"html_inline\", \"\", 0);\n usernameToken.content = displayName;\n state.push(\"div_chat_transcript_username_close\", \"div\", -1);\n // end: username\n\n // start: time + link to message\n const datetimeDivToken = state.push(\"div_chat_transcript_datetime_open\", \"div\", 1);\n datetimeDivToken.attrs = [[\"class\", \"chat-transcript-datetime\"]];\n\n // for some cases, like archiving, we don't want the link to the\n // chat message because it will just result in a 404\n // also handles the case where the quote doesn’t contain\n // enough data to build a valid channel/message link\n if (noLink || !channelLink) {\n let spanToken = state.push(\"span_open\", \"span\", 1);\n spanToken.attrs = [[\"title\", messageTimeStart]];\n spanToken.block = false;\n if (channelName && !multiQuote) {\n let channelLinkToken = state.push(\"link_open\", \"a\", 1);\n channelLinkToken.attrs = [[\"class\", \"chat-transcript-channel\"], [\"href\", channelLink]];\n let inlineTextToken = state.push(\"html_inline\", \"\", 0);\n inlineTextToken.content = `#${channelName}`;\n channelLinkToken = state.push(\"link_close\", \"a\", -1);\n channelLinkToken.block = false;\n }\n spanToken = state.push(\"span_close\", \"span\", -1);\n spanToken.block = false;\n } else {\n let linkToken = state.push(\"link_open\", \"a\", 1);\n linkToken.attrs = [[\"href\", `${channelLink}/${messageIdStart}`], [\"title\", messageTimeStart]];\n linkToken.block = false;\n linkToken = state.push(\"link_close\", \"a\", -1);\n linkToken.block = false;\n }\n state.push(\"div_chat_transcript_datetime_close\", \"div\", -1);\n // end: time + link to message\n\n // start: channel link for !multiQuote\n if (channelName && !multiQuote) {\n let channelLinkToken = state.push(\"link_open\", \"a\", 1);\n channelLinkToken.attrs = [[\"class\", \"chat-transcript-channel\"], [\"href\", channelLink]];\n let inlineTextToken = state.push(\"html_inline\", \"\", 0);\n inlineTextToken.content = `#${unescapedChannelName}`;\n channelLinkToken = state.push(\"link_close\", \"a\", -1);\n channelLinkToken.block = false;\n }\n // end: channel link for !multiQuote\n\n state.push(\"div_chat_transcript_user_close\", \"div\", -1);\n const messagesToken = state.push(\"div_chat_transcript_messages_open\", \"div\", 1);\n messagesToken.attrs = [[\"class\", \"chat-transcript-messages\"]];\n if (isThread) {\n const regex = /\\[chat/i;\n const match = regex.exec(content);\n if (match) {\n const threadToken = state.push(\"html_raw\", \"\", 1);\n threadToken.content = customMarkdownCookFn(content.substring(0, match.index));\n state.push(\"html_raw\", \"\", -1);\n state.push(\"div_thread_close\", \"div\", -1);\n state.push(\"summary_chat_transcript_close\", \"summary\", -1);\n const token = state.push(\"html_raw\", \"\", 1);\n token.content = customMarkdownCookFn(content.substring(match.index));\n state.push(\"html_raw\", \"\", -1);\n state.push(\"details_chat_transcript_wrap_close\", \"details\", -1);\n }\n } else {\n // rendering chat message content with limited markdown rule subset\n const token = state.push(\"html_raw\", \"\", 1);\n token.content = customMarkdownCookFn(content);\n state.push(\"html_raw\", \"\", -1);\n }\n if (reactions) {\n const emojiHtmlCache = {};\n const reactionsToken = state.push(\"div_chat_transcript_reactions\", \"div\", 1);\n reactionsToken.attrs = [[\"class\", \"chat-transcript-reactions\"]];\n reactions.split(\";\").forEach(reaction => {\n const split = reaction.split(\":\");\n const emoji = split[0];\n const usernames = split[1].split(\",\");\n const reactToken = state.push(\"div_chat_transcript_reaction\", \"div\", 1);\n reactToken.attrs = [[\"class\", \"chat-transcript-reaction\"]];\n const emojiToken = state.push(\"html_inline\", \"\", 0);\n if (!emojiHtmlCache[emoji]) {\n emojiHtmlCache[emoji] = (0, _emoji.performEmojiUnescape)(`:${emoji}:`, {\n getURL: options.getURL,\n emojiSet: options.emojiSet,\n emojiCDNUrl: options.emojiCDNUrl,\n enableEmojiShortcuts: options.enableEmojiShortcuts,\n inlineEmoji: options.inlineEmoji,\n lazy: true\n });\n }\n emojiToken.content = `${emojiHtmlCache[emoji]} ${usernames.length.toString()}`;\n state.push(\"div_chat_transcript_reaction\", \"div\", -1);\n });\n state.push(\"div_chat_transcript_reactions\", \"div\", -1);\n }\n state.push(\"div_chat_transcript_messages_close\", \"div\", -1);\n state.push(\"div_chat_transcript_wrap_close\", \"div\", -1);\n return true;\n }\n };\n function setup(helper) {\n helper.allowList([\"svg[class=fa d-icon d-icon-discourse-threads svg-icon svg-node]\", \"use[href=#discourse-threads]\", \"div[class=chat-transcript]\", \"details[class=chat-transcript]\", \"div[class=chat-transcript chat-transcript-chained]\", \"details[class=chat-transcript chat-transcript-chained]\", \"div.chat-transcript-meta\", \"div.chat-transcript-user\", \"div.chat-transcript-username\", \"div.chat-transcript-user-avatar\", \"div.chat-transcript-messages\", \"div.chat-transcript-datetime\", \"div.chat-transcript-reactions\", \"div.chat-transcript-reaction\", \"span[title]\", \"div[data-message-id]\", \"div[data-channel-name]\", \"div[data-channel-id]\", \"div[data-username]\", \"div[data-datetime]\", \"a.chat-transcript-channel\", \"div.chat-transcript-thread\", \"div.chat-transcript-thread-header\", \"span.chat-transcript-thread-header__title\"]);\n helper.registerOptions((opts, siteSettings) => {\n opts.features[\"chat-transcript\"] = !!siteSettings.chat_enabled;\n });\n helper.registerPlugin(md => {\n if (md.options.discourse.features[\"chat-transcript\"]) {\n md.block.bbcode.ruler.push(\"chat-transcript\", chatTranscriptRule);\n }\n });\n helper.buildCookFunction((opts, generateCookFunction) => {\n if (!opts.discourse.additionalOptions?.chat) {\n return;\n }\n const chatAdditionalOpts = opts.discourse.additionalOptions.chat;\n\n // We need to be able to quote images from chat, but the image rule is usually\n // banned for chat messages\n const markdownItRules = chatAdditionalOpts.limited_pretty_text_markdown_rules.concat(\"image\");\n generateCookFunction({\n featuresOverride: chatAdditionalOpts.limited_pretty_text_features,\n markdownItRules,\n hashtagLookup: opts.discourse.hashtagLookup,\n hashtagTypesInPriorityOrder: chatAdditionalOpts.hashtag_configurations[\"chat-composer\"],\n hashtagIcons: opts.discourse.hashtagIcons\n }, customCookFn => {\n customMarkdownCookFn = customCookFn;\n });\n });\n }\n});","define(\"discourse/plugins/chat/lib/rich-editor-extension\", [\"exports\", \"discourse/lib/get-url\", \"discourse/lib/text\", \"discourse-i18n\"], function (_exports, _getUrl, _text, _discourseI18n) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n /** @type {RichEditorExtension} */\n const extension = {\n nodeSpec: {\n chat: {\n attrs: {\n messageId: {},\n username: {},\n datetime: {},\n channel: {},\n channelId: {},\n html: {},\n rawContent: {},\n multiQuote: {},\n chained: {},\n threadId: {\n default: null\n },\n threadTitle: {\n default: null\n },\n threadHtml: {\n default: null\n }\n },\n group: \"block\",\n isolating: true,\n selectable: true,\n parseDOM: [{\n tag: \"div.chat-transcript\"\n }],\n toDOM(node) {\n // NOTE: This HTML representation of the node in a lot of ways is duplicated from\n // the chat transcript markdown-it rule, this is unavoidable unless we completely\n // decouple the token generation from the HTML generation, which is a lot of work,\n // so this is acceptable for now.\n\n const wrapperElement = document.createElement(\"div\");\n wrapperElement.classList.add(\"chat-transcript\");\n if (node.attrs.chained) {\n wrapperElement.classList.add(\"chat-transcript-chained\");\n }\n let metaElement;\n let channelLinkElement;\n if (node.attrs.channel) {\n if (node.attrs.multiQuote) {\n metaElement = document.createElement(\"div\");\n metaElement.classList.add(\"chat-transcript-meta\");\n const channelLink = node.attrs.channelId ? (0, _getUrl.default)(`/chat/c/-/${node.attrs.channelId}`) : null;\n metaElement.innerHTML = (0, _discourseI18n.i18n)(\"chat.quote.original_channel\", {\n channel: (0, _text.emojiUnescape)(node.attrs.channel),\n channelLink\n });\n } else {\n channelLinkElement = document.createElement(\"a\");\n channelLinkElement.classList.add(\"chat-transcript-channel\");\n channelLinkElement.href = (0, _getUrl.default)(`/chat/c/-/${node.attrs.channelId}`);\n channelLinkElement.innerHTML = `#${(0, _text.emojiUnescape)(node.attrs.channel)}`;\n }\n }\n const userElement = document.createElement(\"div\");\n userElement.classList.add(\"chat-transcript-user\");\n\n // TODO (martin) Need to use current user's timezone here when we have\n // that available.\n const formattedDateTime = moment(node.attrs.datetime).format((0, _discourseI18n.i18n)(\"dates.long_no_year\"));\n userElement.innerHTML = `\n ${node.attrs.username}\n ${formattedDateTime}\n `;\n const messagesElement = document.createElement(\"div\");\n messagesElement.classList.add(\"chat-transcript-messages\");\n messagesElement.innerHTML = node.attrs.html;\n if (metaElement) {\n wrapperElement.appendChild(metaElement);\n }\n if (node.attrs.threadId) {\n const threadDetailsElement = document.createElement(\"details\");\n const threadSummaryElement = document.createElement(\"summary\");\n const threadElement = document.createElement(\"div\");\n threadElement.classList.add(\"chat-transcript-thread\");\n const threadHeaderElement = document.createElement(\"div\");\n threadHeaderElement.classList.add(\"chat-transcript-thread-header\");\n threadHeaderElement.innerHTML = `\n \n \n `;\n const threadTitleElement = document.createElement(\"span\");\n threadTitleElement.classList.add(\"chat-transcript-thread-header__title\");\n threadTitleElement.innerHTML = node.attrs.threadTitle ? (0, _text.emojiUnescape)(node.attrs.threadTitle) : (0, _discourseI18n.i18n)(\"chat.quote.default_thread_title\");\n threadHeaderElement.appendChild(threadTitleElement);\n threadElement.appendChild(threadHeaderElement);\n threadElement.appendChild(userElement);\n if (channelLinkElement) {\n userElement.appendChild(channelLinkElement);\n }\n threadElement.appendChild(messagesElement);\n threadSummaryElement.appendChild(threadElement);\n threadDetailsElement.appendChild(threadSummaryElement);\n if (node.attrs.threadHtml) {\n threadDetailsElement.innerHTML += node.attrs.threadHtml;\n }\n wrapperElement.appendChild(threadDetailsElement);\n } else {\n wrapperElement.appendChild(userElement);\n if (channelLinkElement) {\n userElement.appendChild(channelLinkElement);\n }\n wrapperElement.appendChild(messagesElement);\n }\n return wrapperElement;\n }\n }\n },\n serializeNode(_ref) {\n let {\n utils: {\n buildBBCodeAttrs\n }\n } = _ref;\n return {\n chat(state, node) {\n let bbCodeAttrs = `quote=\"${node.attrs.username};${node.attrs.messageId};${node.attrs.datetime}\"`;\n bbCodeAttrs += \" \" + buildBBCodeAttrs(node.attrs, {\n skipAttrs: [\"username\", \"messageId\", \"datetime\", \"rawContent\", \"html\", \"threadHtml\"]\n });\n state.write(`[chat ${bbCodeAttrs}]\\n`);\n state.write(node.attrs.rawContent);\n state.write(\"\\n[/chat]\\n\");\n }\n };\n },\n parse: {\n div_chat_transcript_wrap_open(state, token, tokens, i) {\n // The slice here makes sure we get the html_raw content\n // only for the current [chat] bbcode block based on the\n // token index.\n const nextHtmlRaw = tokens.slice(i).find(t => t.type === \"html_raw\" && t.nesting === 1);\n const messagesHtml = nextHtmlRaw?.content;\n let threadHtmlRaw;\n if (token.attrGet(\"data-thread-id\")) {\n threadHtmlRaw = tokens.slice(tokens.indexOf(nextHtmlRaw) + 1).find(t => t.type === \"html_raw\" && t.nesting === 1);\n }\n\n // So this content and the whole wrap_open happens for every single instance of\n // the `[chat]` bbcode, including nested which is the case for threads.\n //\n // Only the first one will have multiQuote and chained\n //\n // Multiquote is > 1 message\n // Chained is > 1 message by different users\n state.openNode(state.schema.nodes.chat, {\n messageId: token.attrGet(\"data-message-id\"),\n username: token.attrGet(\"data-username\"),\n datetime: token.attrGet(\"data-datetime\"),\n channel: token.attrGet(\"data-channel-name\"),\n channelId: token.attrGet(\"data-channel-id\"),\n chained: token.attrGet(\"data-chained\"),\n multiQuote: token.attrGet(\"data-multiquote\"),\n threadId: token.attrGet(\"data-thread-id\"),\n threadTitle: token.attrGet(\"data-thread-title\"),\n threadHtml: threadHtmlRaw ? threadHtmlRaw.content : null,\n html: messagesHtml,\n rawContent: token.content\n });\n return true;\n },\n div_chat_transcript_wrap_close(state) {\n state.closeNode();\n return true;\n },\n div_chat_transcript_user: {\n ignore: true\n },\n div_chat_transcript_user_avatar: {\n ignore: true\n },\n div_chat_transcript_username: {\n ignore: true\n },\n div_chat_transcript_datetime: {\n ignore: true\n },\n div_chat_transcript_messages: {\n ignore: true\n },\n div_chat_transcript_reaction: {\n ignore: true\n },\n // Reaction-related tokens are not used in the live preview,\n // they are only used when archiving a channel, not needed here.\n div_chat_transcript_reactions: {\n ignore: true\n },\n div_chat_transcript_meta: {\n ignore: true\n },\n // Thread-related tokens\n details_chat_transcript_wrap: {\n ignore: true\n },\n summary_chat_transcript: {\n ignore: true\n },\n div_thread: {\n ignore: true\n },\n div_thread_header: {\n ignore: true\n },\n svg_thread_header: {\n ignore: true\n },\n use_svg_thread: {\n ignore: true\n },\n span_thread_title: {\n ignore: true\n },\n html_raw: {\n ignore: true,\n noCloseToken: true\n },\n span_open(state) {\n if (state.top().type.name === \"chat\") {\n return true;\n }\n },\n span_close(state) {\n if (state.top().type.name === \"chat\") {\n return true;\n }\n }\n }\n };\n var _default = _exports.default = extension;\n});"],"mappings":"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","ignoreList":[]}