#compose_buttons { text-align: right; display: flex; flex-direction: row; align-items: center; .new_message_button { margin-left: 4px; .button.small { font-size: 1em; padding: 3px 10px; vertical-align: middle; } .compose_mobile_button { span { font-size: 1.2em !important; font-weight: 400; line-height: 1em; } } } .reply_button_container { flex: 1; min-width: 0; margin-left: 0; .compose_reply_button { width: 100%; text-align: left; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; .compose_reply_button_recipient_label { color: hsl(215, 47%, 30%); } } } .mobile_button_container { @media (width >= $sm_min) { display: none; } } .stream_button_container, .private_button_container { @media (width < $sm_min) { display: none; } } } /* Main geometry for this element is in zulip.css */ #compose-content { border-top: 1px solid hsla(0, 0%, 0%, 0.07); transition: background-color 200ms linear; padding: 4px 4px 8px; border-left: 1px solid hsl(0, 0%, 93%); border-right: 1px solid hsl(0, 0%, 93%); height: 100%; display: flex; flex-flow: column; box-sizing: border-box; } .ztable_comp_col1 { width: 10px; } .message_comp { display: none; padding: 5px 10px 0 5px; } .autocomplete_secondary { opacity: 0.8; } .active .autocomplete_secondary { opacity: 1; } .compose_table { height: 100%; display: flex; flex-flow: column; .stream-selection-header-colorblock { &.message_header_private_message { border-radius: 3px 0 0 3px; border-bottom: 0; background-color: hsl(0, 0%, 27%); } } .right_part { padding: 0; display: flex; align-items: center; width: 100%; .fa-angle-right { font-size: 0.9em; -webkit-text-stroke: 0.05em; position: relative; margin: 0 5px; } } .pm_recipient { margin-left: 5px; margin-right: 35px; display: flex; width: 100%; } #private-message .to_text { vertical-align: middle; font-weight: 600; } #compose-lock-icon, #compose-globe-icon { position: relative; left: 6px; top: 0.5px; width: 0; } #compose-globe-icon { left: 4.5px; .zulip-icon-globe { font-size: 12px; } } .message_header { background: none; background-color: hsl(0, 0%, 92%); border: none; border-radius: 0; box-shadow: none !important; } .messagebox { box-shadow: none !important; } } #send_message_form { margin: 0; height: 100%; .messagebox-wrapper { flex: 1; } .messagebox { /* normally 5px 14px; pull in the right and bottom a bit */ cursor: default; padding: 0; background: none; box-shadow: none; border: none; height: 100%; display: flex; flex-flow: column; } .message_content { margin-right: 0; } } #below-compose-content { display: flex; flex-direction: column; width: 100%; margin-top: 6px; margin-bottom: -2px; .compose_bottom_top_container { display: flex; } .compose_bottom_bottom_container { display: flex; justify-content: space-between; } } #compose_limit_indicator { margin-right: 8px; font-size: 12px; color: hsl(39, 100%, 50%); align-self: center; &.over_limit { color: hsl(0, 76%, 65%); font-weight: bold; } } #compose { position: fixed; bottom: 0; left: 0; z-index: 2; width: 100%; background-color: hsl(0, 0%, 100%); } #compose-container { display: flex; flex-direction: column; width: 100%; /* This should match the value for .app-main */ max-width: 1400px; margin: auto; } #compose_top { display: flex; justify-content: space-between; padding-bottom: 5px; } #compose_top_right { display: flex; align-items: center; margin-bottom: auto; button { background: transparent; font-size: 20px; font-weight: bold; line-height: 20px; opacity: 0.6; border: 0; padding: 0; margin-left: 4px; vertical-align: unset; &:hover { opacity: 1; } } } .collapse_composebox_button, #compose_close { display: none; } .compose_resolved_topic, .compose_invite_user, .compose_private_stream_alert, .compose-all-everyone, .compose-announce, .compose_not_subscribed { padding: 4px 0; display: flex; justify-content: space-between; position: relative; } #compose_not_subscribed_close { top: 0; right: 0; position: absolute; } .compose_resolved_topic_user_controls .compose_resolved_topic_close, .compose_invite_user_controls .compose_invite_close, .compose_private_stream_alert_controls .compose_private_stream_alert_close { display: inline-block; position: absolute; margin-top: -2px; margin-right: -2px; width: 10px; } .compose_resolved_topic_user_controls, .compose-all-everyone-controls, .compose-announce-controls, .compose_invite_user_controls, .compose_private_stream_alert_controls { float: right; position: relative; } .compose_invite_user p, .compose_resolved_topic p, .compose_not_subscribed p { margin: 5px 20px; display: inline-block; max-width: calc(100% - 100px); } #error-message-sub-button { margin-right: 30px; } /* Like .nav-tabs > li > a */ div[id^="message-edit-send-status"], #compose-send-status { padding: 8px 14px; margin-bottom: 8px; line-height: 20px; display: none; } #compose-send-status .progress { height: 10px; margin-bottom: 10px; } /* Like .alert .close */ .send-status-close, .compose-send-status-close { font-size: 17px; font-weight: bold; color: hsl(0, 0%, 0%); text-shadow: 0 1px 0 hsl(0, 0%, 100%); opacity: 0.2; float: right; } .send-status-close:hover, .compose-send-status-close:hover { cursor: pointer; opacity: 0.4; } #out-of-view-notification { position: relative; margin-bottom: 6px; background-color: hsla(152, 51%, 63%, 0.25); border: 1px solid hsla(0, 0%, 0%, 0.1); border-radius: 4px; .close { position: absolute; right: 8px; top: 4px; font-size: 17px; font-weight: bold; color: hsl(0, 0%, 0%); text-shadow: 0 1px 0 hsl(0, 0%, 100%); opacity: 0.2; } } .compose-notifications-content { padding: 4px 22px; text-align: center; } .composition-area { position: relative; flex: 1; } textarea.new_message_textarea { display: table-cell; width: calc(100% - 12px); padding: 5px; height: 1.5em; max-height: 22em; margin-bottom: 0; resize: vertical !important; margin-top: 5px; @keyframes flash { 0% { box-shadow: none; } 100% { box-shadow: 0 0 0 1pt hsl(0, 76%, 65%); } } &.over_limit, &.over_limit:focus { box-shadow: 0 0 0 1pt hsl(0, 76%, 65%); &.flash { animation: flash 0.5s ease-in-out infinite; } } } textarea.new_message_textarea, .compose_table .recipient_box { border: 1px solid hsla(0, 0%, 0%, 0.2); box-shadow: none; transition: border 0.2s ease; &:focus { border: 1px solid hsl(0, 0%, 67%); box-shadow: none; } } input.recipient_box { margin: 0; height: 1.1em; border-radius: 3px; } #stream_message_recipient_stream.recipient_box { width: 20%; border-radius: 0 3px 3px 0; border-left: 0; @media (width > $sm_min) { min-width: 120px; } &:focus { border-left: none; } &.lock-padding { padding-left: 20px; } } #stream_message_recipient_topic.recipient_box { /* This width roughly corresponds to how long of a topic can appear in the left sidebar with a single digit unread count without being cut off. */ width: 175px; } #private_message_recipient.recipient_box { width: 100%; } #compose-send-button { height: 24px; padding-top: 3px; padding-bottom: 3px; margin-bottom: 0; font-weight: 600; font-size: 0.9em; .loader { display: none; position: relative; top: -6px; } } .enter_sends_choices { .enter_sends_choice { display: flex; gap: 8px; padding-top: 4px; input[type="radio"] { position: relative; top: 5px; } &:first-child { padding: 0 0 4px; border-bottom: 1px solid hsla(0, 0%, 0%, 0.2); } } .enter_sends_choice_text { display: flex; flex-direction: column; } .enter_sends_minor, .enter_sends_minor kbd { opacity: 0.9; font-size: 11px; color: hsl(0, 0%, 50%); } } .enter_sends { font-size: 12px; height: 14px; padding-left: 4px; opacity: 0.7; margin-bottom: 5px; position: relative; top: -2px; cursor: pointer; @media (width < $mm_min) { font-size: 11px; } kbd { height: 16px; padding: 0 4px; } &:hover { opacity: 1; } .enter_sends_true, .enter_sends_false { display: none; } i { padding-left: 3px; font-size: 12px; font-weight: 600; } } .compose_left_wrapper { margin-right: auto; } #stream-message, #private-message { display: flex; } #private-message { align-items: center; width: 100%; } .tippy-content .compose_control_buttons_container { .compose_gif_icon { bottom: 5px; } } .compose_control_buttons_container { margin-right: auto; display: flex; gap: 4px; align-items: center; .compose_gif_icon { font-size: 22px; height: 18px; line-height: 18px; } .fa-eye { position: relative; top: -0.7px; } .compose_control_menu { padding: 0 7px; font-size: 15px; } .compose_control_menu_wrapper { opacity: 0.7; padding: 0; margin: 0; &:hover { opacity: 1; } .compose_control_menu { opacity: 1; } } .hide-sm, .hide-lg { display: flex; align-items: center; gap: 4px; padding: 0; margin: 0; } .divider { color: hsl(0, 0%, 88%); font-size: 20px; margin: 0 3px; } .compose_draft_button { font-size: 15px; font-weight: 600; font-family: "Source Sans 3", sans-serif; padding: 0 5px; position: relative; top: 0.7px; } .compose_help_button { font-size: 20px; line-height: 17px; } } .compose_right_float_container { display: flex; flex-direction: column; align-items: flex-end; white-space: nowrap; gap: 4px; margin-top: 2px; } a.compose_control_button { padding: 5px; opacity: 0.7; color: inherit; text-decoration: none; font-size: 17px; text-align: center; &:hover { opacity: 1; } } /* This is used to override the * properties of `a.compose_control_button` * without using `!important`. */ a.compose_control_button.hide { display: none; } .drag { display: none; height: 18px; width: 100%; top: 23px; position: relative; cursor: ns-resize; } .inline-subscribe-error { margin-left: 5px; } .preview_message_area { /* minus 5px padding. */ width: calc(100% - 12px); padding: 5px; margin-top: 5px; /* the maximum height the textarea gets to. */ max-height: 308px; /* the minimum height the textarea collapses to. */ min-height: 42px; overflow: auto; border: 1px solid hsl(0, 0%, 67%); border-radius: 4px; background-color: hsla(0, 0%, 0%, 0.02); cursor: not-allowed; } .markdown_preview_spinner { margin: auto; } .dropdown-menu { ul { list-style: none; margin: 0; background: hsl(0, 0%, 100%); } .typeahead-header { margin: 0; padding-left: 20px; padding-right: 20px; padding-top: 4px; border-top: 1px solid hsla(0, 0%, 0%, 0.2); display: flex; align-items: center; } #typeahead-header-text { font-size: 12px; } &.typeahead { background: hsl(0, 0%, 100%); } } .compose_mobile_stream_button i, .compose_mobile_private_button i { margin-right: 4px; } /* This max-width must be synced with message_viewport.is_narrow */ @media (width < $xl_min) { #compose-content { margin-right: 7px; } } @media (width < $md_min) { #compose-content { margin-right: 7px; margin-left: 7px; } } @media (width < $mm_min) { #stream_message_recipient_topic.recipient_box { /* The max-width here is designed to allow this to share space with the Stream input in small windows, without leaving empty space. */ max-width: calc(100% - 90px); min-width: 110px; } #compose-content { margin-right: 5px; margin-left: 5px; } } #compose.compose-fullscreen { z-index: 99; #compose-container { height: 100%; } .message_comp { flex: 1; display: flex !important; flex-flow: column; } #compose-textarea, #preview_message_area { max-height: none !important; flex: 1; } }