$composition-container-height: 60px; @keyframes fadein { from { opacity: 0; } to { opacity: 1; } } @keyframes toShadow { from { opacity: 1; } to { opacity: 0.25; } } @keyframes fromShadow { from { opacity: 0.25; } to { opacity: 1; } } @keyframes pulseLight { 0% { box-shadow: 0px 0px 0px 0px $session-color-danger-alt; } 50% { box-shadow: 0px 0px 12px 0px rgba($session-color-danger-alt, 1); } 100% { box-shadow: 0px 0px 0px 0px rgba($session-color-danger-alt, 1); } } .conversation-item { display: flex; flex-grow: 1; height: 100%; outline: none; .selection-mode { .messages-container > *:not(.message-selected) { animation: toShadow $session-transition-duration; opacity: 0.25; } .conversation-header { .conversation-header { &--items-wrapper { .session-icon { opacity: 0; } user-select: none; pointer-events: none; opacity: 0.25; } } } } &__content { display: flex; flex-direction: column; width: 100%; outline: none; } &__options-pane { position: absolute; height: 100%; right: 0vw; transition: transform 1.5 * $session-transition-duration ease-in-out; transform: translateX(100%); will-change: transform; &.show { transform: none; transition: transform $session-transition-duration ease-in-out; } } } .conversation-header { &--items-wrapper { display: flex; flex-grow: 1; align-items: center; justify-content: center; } .message-selection-overlay { position: absolute; display: flex; left: 0px; right: 0px; margin: 0px $session-margin-md; align-items: center; justify-content: space-between; height: $main-view-header-height; .close-button { float: left; } .session-button.default.danger { display: flex; width: 80px; } } .message-selection-overlay div[role='button'] { display: inline-block; } .message-selection-overlay .button-group { float: right; } } .session-conversation-wrapper { position: absolute; width: 100%; height: 100%; background-color: $session-shade-2; } .messages-wrapper { display: flex; flex-grow: 1; flex-direction: column; position: relative; height: 0px; &--blocking-overlay { background-color: rgba(0, 0, 0, 0.8); position: absolute; top: 0px; bottom: 0px; left: 0px; right: 0px; } } .messages-container { display: flex; flex-grow: 1; flex-direction: column; position: relative; overflow-y: auto; scrollbar-width: 4px; padding: $session-margin-sm $session-margin-lg; &__loading { position: absolute; top: 0px; right: 0px; left: 0px; bottom: 0px; z-index: 100; background-color: $session-shade-2; display: flex; flex-grow: 1; align-items: center; justify-content: center; } } .session-message-wrapper { font-family: $session-font-default; letter-spacing: 0.03em; margin-top: 3px; margin-bottom: 3px; .react-contextmenu-wrapper { display: flex; align-items: start; } } .composition-container { display: flex; justify-content: center; align-items: center; background-color: $session-shade-4; padding: 0px $session-margin-md; min-height: min-content; & > .session-icon-button { margin-right: $session-margin-sm; } .session-icon-button { display: flex; justify-content: center; align-items: center; opacity: 0.8; .send { background-color: $session-shade-14; padding: $session-margin-xs; border-radius: 50%; height: 30px; width: 30px; } } .send-message-input { display: flex; flex-grow: 1; min-height: $composition-container-height; padding: 16px 0px; textarea { font-family: $session-font-default; min-height: $composition-container-height / 3; max-height: 2 * $composition-container-height; margin-right: $session-margin-md; color: $session-color-white; resize: none; display: flex; flex-grow: 1; background: transparent; outline: none; border: none; font-size: $session-font-md; line-height: $session-font-h2; letter-spacing: 0.5px; } } } .session-emoji-panel { position: absolute; bottom: 68px; right: 0px; padding: $session-margin-lg; z-index: 5; opacity: 0; visibility: hidden; transition: $session-transition-duration; button:focus { outline: none; } &.show { opacity: 1; visibility: visible; } & > section.emoji-mart { background-color: $session-shade-4; border: 1px solid $session-shade-6-alt; border-radius: 8px; padding-bottom: $session-margin-sm; .emoji-mart-category-label { top: -2px; span { font-family: $session-font-default; padding-top: $session-margin-sm; background-color: $session-shade-4; } } .emoji-mart-bar:last-child { border: none; .emoji-mart-preview { display: none; } } &:after { content: ''; position: absolute; top: calc(100% - 40px); left: calc(100% - 79px); width: 22px; height: 22px; background-color: $session-shade-4; transform: rotate(45deg); border-radius: 3px; transform: scaleY(1.4) rotate(45deg); border: 0.7px solid $session-shade-6-alt; clip-path: polygon(100% 100%, 7.2px 100%, 100% 7.2px); } } } .session-progress { position: relative; z-index: 100; &__progress { will-change: transform; width: 100%; position: absolute; left: 0px; font-size: 0px; height: 1px; background-color: $session-color-green; &.fade { opacity: 0; } } } .session-recording { height: $composition-container-height; display: flex; justify-content: space-between; align-items: center; flex-grow: 1; outline: none; $actions-element-size: 45px; &--actions { display: flex; align-items: center; justify-content: center; background-color: $session-shade-5; width: $actions-element-size; height: $actions-element-size; border-radius: 50%; .session-icon-button { animation: fadein $session-transition-duration; opacity: 1; border-radius: 50%; width: $actions-element-size; height: $actions-element-size; .play { margin-left: 4px; } } } &--visualisation { z-index: 1000; width: 100%; display: flex; align-items: center; justify-content: center; position: relative; canvas { position: absolute; width: 100%; padding: 0px $session-margin-lg; } } &--status { display: flex; justify-content: center; position: absolute; left: 0; right: 0; bottom: $composition-container-height + $session-margin-md; .session-button { display: flex; justify-content: center; align-items: center; width: 173px; font-weight: 300; font-family: $session-font-default; &.primary { cursor: default; user-select: none; &:hover { filter: brightness(100%); border: 2px solid #161819; } background-color: $session-shade-1-alt; border: 2px solid #161819; } } } &--timer { display: inline-flex; align-items: center; font-family: $session-font-default; font-weight: bold; font-size: 14px; &.playback-timer { margin-right: $session-margin-sm; } &-light { height: $session-margin-sm; width: $session-margin-sm; border-radius: 50%; background-color: $session-color-danger-alt; margin-left: $session-margin-sm; animation: pulseLight 4s infinite; } } } /* ************ */ /* AUDIO PLAYER */ /* ************ */ $rhap_theme-color: #212121 !default; $rhap_background-color: rgba(0,0,0,0) !default; $rhap_bar-color: #232323 !default; $rhap_time-color: #DDDDDD !default; $rhap_font-family: inherit !default; .rhap_container, .rhap_container button, .rhap_progress-container { outline: none; } .rhap_container { box-sizing: border-box; display: flex; flex-direction: column; line-height: 1; font-family: $rhap_font-family; min-width: 220px; padding: 10px 0px; &:focus:not(:focus-visible) { outline: 0; } svg { vertical-align: initial; // overwrite Bootstrap default } } .rhap_current-time { display: none; } .rhap_total-time{ margin-left: 10px; } .rhap_play-pause-button { display: flex; justify-content: center; align-items: center; } .rhap_volume-bar { display: none; } .rhap_volume-container div[role="progressbar"] { display: none; } .rhap_header { margin-bottom: 10px; } .rhap_footer { margin-top: 5px; } .rhap_main { display: flex; flex-direction: column; flex: 1 1 auto; } .rhap_stacked { .rhap_controls-section { margin-top: 8px; } } .rhap_horizontal { flex-direction: row; .rhap_controls-section { margin-left: 8px; } } .rhap_horizontal-reverse { flex-direction: row-reverse; .rhap_controls-section { margin-right: 8px; } } .rhap_stacked-reverse { flex-direction: column-reverse; .rhap_controls-section { margin-bottom: 8px; } } .rhap_progress-section { display: flex; flex: 3 1 auto; align-items: center; } .rhap_progress-container { display: flex; align-items: center; height: 20px; flex: 1 0 auto; align-self: center; margin: 0 calc(10px + 1%); cursor: pointer; -webkit-user-select: none; &:focus:not(:focus-visible) { outline: 0; } } .rhap_time { color: $rhap_time-color; font-size: 12px; user-select: none; -webkit-user-select: none; } .rhap_progress-bar { box-sizing: border-box; position: relative; z-index: 0; width: 100%; height: 5px; background-color: $rhap_bar-color; border-radius: 2px; } .rhap_progress-filled { height: 100%; position: absolute; z-index: 2; background-color: $rhap_theme-color; border-radius: 2px; } .rhap_progress-bar-show-download { background-color: rgba($rhap_bar-color, 0.5); } .rhap_download-progress { height: 100%; position: absolute; z-index: 1; background-color: $rhap_bar-color; border-radius: 2px; } .rhap_progress-indicator { box-sizing: border-box; position: absolute; z-index: 3; width: 20px; height: 20px; margin-left: -10px; top: -8px; background: $session-color-green; border-radius: 50px; box-shadow: rgba($rhap_theme-color, .5) 0 0 5px; } .rhap_controls-section { display: flex; justify-content: space-between; align-items: center; } .rhap_additional-controls { // display: flex; display: none; flex: 1 0 auto; align-items: center; } .rhap_repeat-button { font-size: 26px; width: 26px; height: 26px; color: $rhap_theme-color; margin-right: 6px; } .rhap_main-controls { flex: 0 1 auto; display: flex; align-items: center; } .rhap_main-controls-button { margin: 0 3px; color: $rhap_theme-color; font-size: 35px; width: 25px; display: flex; justify-content: start; } .rhap_volume-controls { display: flex; flex: 1 0 auto; align-items: center; } .rhap_volume-button { display: flex; align-items: center; justify-content: center; } .rhap_volume-button { flex: 0 0 26px; font-size: 20px; color: #FFFFFF; } .rhap_volume-container { display: flex; align-items: center; flex: 0 1 100px; -webkit-user-select: none; } .rhap_volume-bar-area { display: flex; align-items: center; width: 100%; height: 14px; cursor: pointer; &:focus:not(:focus-visible) { outline: 0; } } .rhap_volume-bar { box-sizing: border-box; position: relative; width: 100%; height: 4px; background: $rhap_bar-color; border-radius: 2px; } .rhap_volume-indicator { box-sizing: border-box; position: absolute; width: 12px; height: 12px; margin-left: -6px; left: 0; top: -4px; background: $rhap_theme-color; opacity: 0.9; border-radius: 50px; box-shadow: rgba($rhap_theme-color, .5) 0 0 3px; cursor: pointer; &:hover { opacity: .9; } } /* Utils */ .rhap_button-clear { background-color: transparent; border: none; padding: 0; overflow: hidden; cursor: pointer; &:hover { opacity: .9; transition-duration: .2s; } &:active { opacity: .95; } &:focus:not(:focus-visible) { outline: 0; } } /* **************** */ /* END AUDIO PLAYER */ /* **************** */