@import "~quill-hi/dist/quill.bubble.css"; @import "~quill-mention-hi/dist/quill.mention.min.css"; .chat-input-box { display: inline-block; width: 100%; &.record-ready { .chat-input-wrapper { .chat-toolbar { > li { &.chat-send { &:before { transition: all 0.6s ease; transform: translate(-50%, -50%) scale(2); } } } } } } &.record-progress { .chat-input-wrapper { .ql-container { opacity: 0; } .chat-toolbar { > li { &.chat-send { &:before { transition: all 0.3s ease; transform: translate(-50%, -50%) scale(2.5); } } } } .chat-record { visibility: visible; opacity: 1; z-index: 1; } } } &.simple-mode { .chat-input-wrapper { border: 1px solid #e8e8e8; border-radius: 4px; .ql-container { width: 100%; } .chat-space, .chat-toolbar { display: none; } } } &.show-menu, &.show-more, &.show-emoji { .chat-input-wrapper { .chat-cover { display: block; } } } .chat-input-quick-emoji { position: absolute; top: 4px; right: 24px; width: 0; height: 0; visibility: hidden; z-index: -1; } .chat-input-wrapper { position: relative; display: inline-block; vertical-align: middle; width: 100%; .chat-quote { position: relative; padding: 0 48px 8px 24px; &:after { content: ""; position: absolute; top: 0; left: 12px; bottom: 8px; width: 3px; border-radius: 2px; transform: scaleX(0.8); transform-origin: left center; background-color: rgba($primary-color, 0.7); } .quote-label, .common-avatar { font-weight: 500; font-size: 13px; color: $primary-color; } .quote-desc { font-size: 13px; word-break: break-all; text-overflow: ellipsis; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; } i.taskfont { position: absolute; right: 0; top: 0; bottom: 8px; z-index: 1; font-size: 16px; width: 48px; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: transform 0.3s ease; &:hover { transform: rotate(-90deg); color: $primary-title-color; } } } .ql-container { display: block; float: left; width: auto; max-width: 100%; min-width: calc(100% - 170px); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; &.ql-bubble:not(.ql-disabled) { a { white-space: normal; } } .ql-editor { font-size: 14px; max-height: 200px; padding: 0; margin: 4px 7px; line-height: 22px; &::-webkit-scrollbar { display: none; } img { max-width: 150px; max-height: 150px; } ol, ul { padding-left: 0; li { &:before { color: #0088ff; text-align: left; margin-right: 0.2em; } } } ul { li { &:before { font-weight: 900; } } } ol { li { &:before { width: auto; min-width: 1.2em; } > .ql-ui:before { color: #0088ff; } &[data-list=bullet] { > .ql-ui:before { font-weight: 900; } } &[data-list=checked], &[data-list=unchecked] { > .ql-ui:before { font-family: "taskfont", "serif" !important; font-size: 14px; content: "\e6ed"; font-weight: normal; transform: scale(1.12); } } &[data-list=unchecked] { > .ql-ui:before { content: "\e6f1"; color: #777; } } } } a { &:before, &:after { display: none; } } &.ql-blank { &::before { left: 7px; right: 7px; color: #ccc; font-style: normal; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } } .mention { color: #0bc037; background-color: transparent; margin-right: 0; -webkit-user-select: auto; > span { margin: 0 2px; } } } } .ql-bubble { .ql-tooltip { z-index: 1; button { &.ql-active { position: relative; background: #3d3d3d; border-radius: 6px; } } .ql-formats { display: flex; align-items: center; } } } .chat-space { float: right; width: 170px; height: 30px; .space-input { border: none; outline: none; box-shadow: none; background: transparent; height: 1px; width: 1px; overflow: hidden; &:focus, &:active { border: none; outline: none; box-shadow: none; } } } .chat-toolbar { position: absolute; right: 2px; bottom: 8px; display: flex; align-items: center; justify-content: flex-end; user-select: none; > li { width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; cursor: pointer; .taskfont { display: inline-block; font-size: 22px; line-height: 30px; &.disabled { opacity: 0.5; } } &.chat-send { width: 48px; position: relative; &:before { content: ""; position: absolute; top: 50%; left: 50%; z-index: 2; transform: translate(-50%, -50%) scale(1); border-radius: 50%; background-color: $primary-color; width: 36px; height: 36px; transition: all 0.3s ease; opacity: 1; } .el-tooltip { height: 30px; } .taskfont { position: absolute; top: 50%; left: 50%; z-index: 3; transform: translate(-50%, -50%) scale(1); transition: all 0.3s ease; color: #ffffff; font-size: 20px; } .chat-load { position: absolute; top: 50%; left: 50%; z-index: 3; transform: translate(-50%, -50%) scale(1); display: flex; align-items: center; justify-content: center; .common-loading { width: 20px; height: 20px; } } } } } .chat-record { position: absolute; top: 0; left: 0; z-index: -1; height: 100%; width: 100%; background-color: #ffffff; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; pointer-events: none; visibility: hidden; opacity: 0; > div { flex: 1; width: 100%; max-height: 46px; display: flex; flex-direction: column; justify-content: flex-end; } } .chat-cover { display: none; position: absolute; top: 0; left: 0; right: 48px; bottom: 0; z-index: 4; } } .chat-emoji-wrapper { .chat-emoji-box { ul { width: auto; padding: 8px 2px; &::after { content: ""; flex: auto; } > li { > img { transition: none; } &:hover { > img { transform: none; } } } } } .chat-emoji-menu { width: 100%; padding: 3px 0; border-radius: 8px; // box-sizing: content-box; > li { position: relative; &:before { display: none; content: ""; position: absolute; top: 50%; left: 50%; width: 36px; height: 36px; border-radius: 8px; transform: translate(-50%, -50%); background-color: #ffffff; z-index: 1; } > span, > img, > i { position: static; z-index: 2; } &.active { background-color: transparent; &:before { display: block; } } } } } } .chat-emoji-wrapper { display: flex; flex-direction: column; position: relative; .chat-emoji-emosearch { flex-shrink: 0; padding: 8px 8px 0; } .chat-emoji-nav { flex-shrink: 0; display: flex; align-items: center; overflow: auto; background: #f8f8f8; > div { position: relative; width: 46px; height: 40px; margin: auto; color: #5e6d82; &.active { color: $primary-color; &:before { content: ""; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: #ffffff; border-top-left-radius: 4px; border-top-right-radius: 4px; z-index: 1; } } > svg { fill: currentColor; position: absolute; top: 50%; left: 50%; width: 18px; height: 18px; transform: translate(-50%, -50%); z-index: 2; } } } .chat-emoji-box { display: flex; flex-direction: column; height: 280px; ul { flex: 1; width: 360px; height: 0; display: grid; justify-content: space-between; grid-template-columns: repeat(auto-fill, 40px); padding: 8px; flex-wrap: wrap; word-break: break-all; box-sizing: content-box; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; > li { width: 40px; height: 40px; line-height: 40px; font-size: 22px; text-align: center; display: inline-block; cursor: pointer; user-select: none; > img { max-width: 100%; max-height: 100%; pointer-events: none; -webkit-touch-callout: none; transition: transform 0.3s; } &:hover { > img { transform: scale(1.4); } } } &.emoji { > li { &:active { background-color: #eeeeee; border-radius: 8px; } } } &.emosearch, &.emoticon { grid-template-columns: repeat(auto-fill, 72px); > li { width: 72px; height: 72px; padding: 8px; } } } } .chat-emoji-menu { width: 376px; height: 40px; line-height: 40px; background-color: #f2f4f7; display: flex; align-items: center; overflow: auto; &::-webkit-scrollbar { display: none; } > li { list-style: none; cursor: pointer; display: flex; align-items: center; height: 100%; &.active { background-color: #fff; } > span { padding: 0 13px; font-size: 22px; } > i { width: 48px; font-size: 18px; text-align: center; } > img { width: 24px; height: 24px; padding: 0 12px; box-sizing: content-box; } } .left-btn,.right-btn{ position: absolute !important; height: 40px; background: #f2f4f7 !important; width: 34px; z-index: 3; } .left-btn{ left: 0; box-shadow: 10px 0 10px -10px rgba(0, 0, 0, 0.5); } .right-btn{ right: 0; box-shadow: -10px 0 10px -10px rgba(0, 0, 0, 0.5); } } } .chat-input-emoji-popover { padding: 0; overflow: hidden; } .chat-quick-emoji-popover { padding: 0; overflow: hidden; min-width: 100px; } .chat-quick-emoji-wrapper { display: flex; overflow-y: hidden; overflow-x: auto; > li { flex-shrink: 0; width: 90px; height: 90px; display: flex; align-items: center; justify-content: center; cursor: pointer; > img { width: 72%; height: 72%; } } } .chat-input-more-popover { min-width: 100px; padding: 8px; .chat-input-popover-item { display: flex; align-items: center; font-size: 14px; cursor: pointer; line-height: 36px; padding: 0 8px; border-radius: 4px; &:hover { background-color: #ecf5ff; } .taskfont { font-size: 20px; margin-right: 8px; } } } .chat-input-record-transfer { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 9999; padding: 14px 26px; color: $primary-title-color; background-color: #ffffff; border-radius: 8px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2); display: flex; flex-direction: column; align-items: center; justify-content: center; transition: all 0.3s ease; .record-duration { font-size: 20px; line-height: 30px; } .record-loading { display: flex; align-items: center; justify-content: center; height: 30px; .common-pureing { width: 24px; height: 24px; margin: 0; padding: 0; } } .record-cancel { margin-top: 6px; opacity: 0.6; } &.cancel { background-color: #ff6565; color: #ffffff; } } .chat-input-full-input { .ivu-modal { .ivu-modal-content { margin-top: 46px; border-top-left-radius: 18px !important; border-top-right-radius: 18px !important; .ivu-modal-body { overflow: visible; padding: 24px !important; } .ivu-modal-close { > i { top: 3px; right: 2px; font-size: 24px; width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; background-color: #ffffff; border-radius: 50%; color: #999; } } } } .chat-input-box { height: 100%; .chat-input-wrapper { height: 100%; .ql-container { height: 100%; width: 100%; .ql-editor { max-height: none; } } } } } .ql-mention-list-container { width: auto; min-width: 220px; max-width: 280px; max-height: 360px; overflow-x: hidden; overflow-y: auto; &.task-mention { .ql-mention-list { > li { &:first-child { margin-top: 0; } } } .ql-mention-list-item { line-height: 36px; .mention-item-disabled { padding: 8px 4px 0; } } } .ql-mention-list { > li { &:first-child { margin-top: 8px; } &:last-child { margin-bottom: 8px; } } } .ql-mention-list-item { padding: 0 8px; display: flex; align-items: center; margin: 0 8px; &.selected { border-radius: 4px; } .mention-item-at { flex-shrink: 0; width: 28px; height: 28px; line-height: 28px; border-radius: 50%; text-align: center; color: #ffffff; background-color: $primary-color; overflow: hidden; } .mention-item-img { flex-shrink: 0; position: relative; display: flex; align-items: center; justify-content: center; > img { width: 28px; height: 28px; border-radius: 50%; overflow: hidden; } > em { position: absolute; right: 0; bottom: 0; width: 8px; height: 8px; border-radius: 50%; background-color: #ff9900; border: 1px solid #ffffff; transform-origin: right bottom; z-index: 1; } &.online { > em { background-color: $primary-color; } } } .mention-item-bot { font-size: 16px; margin-left: 8px; margin-right: -5px; color: $primary-color; } .mention-item-name { flex: 1; padding: 0 8px; font-size: 14px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } .mention-item-tip { flex-shrink: 0; text-align: right; color: #8f8f8e; font-size: 12px; font-style: normal; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } .mention-item-disabled { flex-shrink: 0; color: #aaa; font-size: 12px; padding: 0 4px; line-height: 40px; max-width: 100%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } } } .chat-emoji-one-modal { .ivu-modal-content { background: transparent; box-shadow: none; .ivu-modal-close { display: none; } .ivu-modal-body { .chat-emoji-wrapper { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); max-width: 94%; max-height: 94%; background: rgb(255, 255, 255); border-radius: 8px; overflow: hidden; } } } } body.window-portrait { .chat-input-box { .chat-input-quick-emoji { right: 10px; } .chat-input-wrapper { padding-left: 6px; padding-right: 6px; background-color: #ffffff; .ql-container { .ql-editor { font-size: 16px; color: $primary-title-color; } } } .chat-emoji-wrapper { margin-top: 8px; background-color: #ffffff; .chat-emoji-box { height: 246px; ul { grid-template-columns: repeat(auto-fill, 50px); > li { width: 50px; height: 50px; line-height: 50px; font-size: 28px; } &.emosearch, &.emoticon { grid-template-columns: repeat(auto-fill, 80px); > li { width: 80px; height: 80px; padding: 8px; } } } } .chat-emoji-menu { border-radius: 0; background-color: #f8f8f8; padding: 4px; width: 100%; height: 48px; > li { &.active { &:before { background-color: #e1e1e1; } } } .left-btn,.right-btn{ background: #f8f8f8 !important; } } } } }