UNPKG

iep-ui

Version:

An enterprise-class UI design language and Vue-based implementation

303 lines (294 loc) 5.98 kB
.flex-center() { display: flex; align-items: center; } .center() { .flex-center(); flex-direction: column; justify-content: space-between; overflow: hidden; } .webRtc-panel { width: 400px; height: 70vh; background: fade(#000, 90%); position: fixed; top: 50%; left: 50%; z-index: 9999999; transform: translate(-50%, -50%); border-radius: 4px; .center(); &-tools { height: 32px; display: flex; justify-content: space-between; align-items: center; padding: 0 10px; box-sizing: border-box; width: 100%; background: fade(#191919, 80%); gap: 0 10px; &-left { display: flex; justify-content: flex-start; align-items: center; font-size: 14px; color: #fff; } &-right { flex: 1; display: flex; justify-content: flex-end; align-items: center; } &-item { display: flex; justify-content: center; align-items: center; transition: all 300ms; width: 28px; height: 28px; border-radius: 4px; cursor: pointer; &:active { background: #0f6efe; } .anticon { color: #8a97a0; font-size: 18px; } &:hover { .anticon { color: #0f6efe; } } } } &-wrapper { flex: 1; width: 100%; .center(); justify-content: space-around; color: #fff; position: relative; &-bg { width: 100%; height: 100%; } &-mask { width: 100%; height: 100%; position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: 1; .center(); justify-content: space-around; color: #fff; } &-user { .center(); img { width: 96px; object-fit: cover; } } &-tools { .center(); &-btn { width: 50px; height: 50px; .flex-center(); justify-content: center; background: fade(#ff4d4d, 90%); border-radius: 50%; margin-bottom: 10px; .iconfont { font-size: 22px; font-weight: bolder; } &:hover { opacity: 0.8; } } span { font-size: 14px; } } } &-camera { flex: 1; width: 100%; .center(); justify-content: space-around; color: #fff; position: relative; &-view { width: 100%; height: 100%; overflow: hidden; position: relative; &-main { background: fade(#0f6efe, 30%); width: 100%; height: 100%; } &-assist { width: 160px; height: 127px; background: fade(#0f6efe, 60%); position: absolute; top: 10px; right: 10px; border-radius: 4px; } } &-tools { position: absolute; bottom: 30px; left: 0; right: 0; .flex-center(); justify-content: space-around; } .tools-group { &-item { width: 64px; .center(); &-btn { .flex-center(); justify-content: center; width: 56px; height: 56px; border-radius: 50%; margin-bottom: 10px; cursor: pointer; .iconfont { font-size: 22px; font-weight: bolder; } &:hover { opacity: 0.8; } } &:nth-child(2) { .tools-group-item-btn { background: fade(#ff4d4d, 90%); } } &:nth-child(1) { .tools-group-item-btn { background: fade(#000, 90%); } } &:nth-child(3) { .tools-group-item-btn { background: fade(#000, 90%); } } } } &-time { position: absolute; left: 0; bottom: 160px; right: 0; text-align: center; font-size: 14px; } } &-min { width: 250px; height: 170px; bottom: 20px; .webRtc-panel-tools { justify-content: flex-end; &:hover { background: fade(#000, 60%); } } .webRtc-panel-wrapper-tools { &-btn { width: 36px; height: 36px; margin-bottom: 4px; .anticon { font-size: 18px; } } span { font-size: 12px; } } .webRtc-panel-camera { &-view-assist { left: 0; right: 0; bottom: 0; top: 0; height: 146px; width: 100%; } &-tools { display: none; } } } &-max { height: 100vh; width: 100vw; top: 0 !important; bottom: 0 !important; left: 0 !important; right: 0 !important; transform: none; .webRtc-panel-camera { width: 30vw; &-view-assist { width: 260px; height: 180px; } } } } .spinner-text { display: flex; justify-content: center; align-items: center; } .spinner > div { width: 4px; height: 4px; background-color: #fff; border-radius: 100%; display: inline-block; -webkit-animation: bouncedelay 1.4s infinite ease-in-out; animation: bouncedelay 1.4s infinite ease-in-out; -webkit-animation-fill-mode: both; animation-fill-mode: both; } .spinner .bounce1 { -webkit-animation-delay: -0.32s; animation-delay: -0.32s; } .spinner .bounce2 { -webkit-animation-delay: -0.16s; animation-delay: -0.16s; } @keyframes bouncedelay { 0%, 80%, 100% { transform: scale(0); } 40% { transform: scale(1); } } .nertc-video-container { width: 100% !important; height: 100% !important; }