UNPKG

tdesign-react

Version:
296 lines (295 loc) 7.37 kB
/** * 颜色 */ /** * 尺寸 */ /** * 字体 */ /** * 动画 */ /** * 间距 */ /** * 位置 */ /** * 边框弧度 */ .t-drawer-fade-enter, .t-drawer-fade-appear { opacity: 0; -webkit-animation-duration: 0.2s; animation-duration: 0.2s; -webkit-animation-fill-mode: both; animation-fill-mode: both; -webkit-animation-timing-function: linear; animation-timing-function: linear; -webkit-animation-play-state: paused; animation-play-state: paused; } .t-drawer-fade-exit { -webkit-animation-duration: 0.2s; animation-duration: 0.2s; -webkit-animation-fill-mode: both; animation-fill-mode: both; -webkit-animation-timing-function: linear; animation-timing-function: linear; -webkit-animation-play-state: paused; animation-play-state: paused; } .t-drawer-fade-enter.t-drawer-fade-enter-active, .t-drawer-fade-enter.t-drawer-fade-enter-active.t-drawer-fade-enter-to, .t-drawer-fade-appear.t-drawer-fade-appear-active, .t-drawer-fade-appear.t-drawer-fade-appear-active.t-drawer-fade-appear-to { -webkit-animation-name: tDrawerFadeIn; animation-name: tDrawerFadeIn; -webkit-animation-duration: 0.2s; animation-duration: 0.2s; -webkit-animation-play-state: running; animation-play-state: running; } .t-drawer-fade-exit.t-drawer-fade-exit-active, .t-drawer-fade-leave-active.t-drawer-fade-leave-to { -webkit-animation-name: tDrawerFadeOut; animation-name: tDrawerFadeOut; -webkit-animation-duration: 0.2s; animation-duration: 0.2s; -webkit-animation-play-state: running; animation-play-state: running; } @-webkit-keyframes tDrawerFadeIn { 0% { opacity: 0; } 100% { opacity: 1; } } @keyframes tDrawerFadeIn { 0% { opacity: 0; } 100% { opacity: 1; } } @-webkit-keyframes tDrawerFadeOut { 0% { opacity: 1; } 100% { opacity: 0; } } @keyframes tDrawerFadeOut { 0% { opacity: 1; } 100% { opacity: 0; } } .t-drawer { font: var(--td-font-body-medium); color: var(--td-text-color-primary); -webkit-box-sizing: border-box; box-sizing: border-box; margin: 0; padding: 0; list-style: none; position: fixed; z-index: 1500; width: 100%; height: 100%; pointer-events: none; overflow: hidden; outline: none; } .t-drawer--lock { overflow: hidden; } .t-drawer--attach { position: absolute; } .t-drawer--left, .t-drawer--right { top: 0; } .t-drawer--left { left: 0; } .t-drawer--right { right: 0; } .t-drawer--top, .t-drawer--bottom { left: 0; } .t-drawer--top { top: 0; } .t-drawer--bottom { bottom: 0; } .t-drawer__mask { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: var(--td-mask-active); -webkit-transition: opacity 0.2s cubic-bezier(0.38, 0, 0.24, 1); transition: opacity 0.2s cubic-bezier(0.38, 0, 0.24, 1); opacity: 0; } .t-drawer__content-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; background: var(--td-bg-color-container); width: 16px; height: 16px; font-size: var(--td-font-body-medium); color: var(--td-text-color-secondary); -webkit-box-shadow: var(--td-shadow-2); box-shadow: var(--td-shadow-2); overflow: hidden; pointer-events: auto; -webkit-transition: visibility 0.28s cubic-bezier(0.38, 0, 0.24, 1), -webkit-transform 0.28s cubic-bezier(0.38, 0, 0.24, 1); transition: visibility 0.28s cubic-bezier(0.38, 0, 0.24, 1), -webkit-transform 0.28s cubic-bezier(0.38, 0, 0.24, 1); transition: transform 0.28s cubic-bezier(0.38, 0, 0.24, 1), visibility 0.28s cubic-bezier(0.38, 0, 0.24, 1); transition: transform 0.28s cubic-bezier(0.38, 0, 0.24, 1), visibility 0.28s cubic-bezier(0.38, 0, 0.24, 1), -webkit-transform 0.28s cubic-bezier(0.38, 0, 0.24, 1); position: relative; } .t-drawer .t-drawer__content-wrapper { position: absolute; width: 100%; height: 100%; visibility: hidden; } .t-drawer .t-drawer__content-wrapper--left, .t-drawer .t-drawer__content-wrapper--right { top: 0; } .t-drawer .t-drawer__content-wrapper--left { left: 0; -webkit-transform: translateX(-100%); transform: translateX(-100%); } .t-drawer .t-drawer__content-wrapper--right { right: 0; -webkit-transform: translateX(100%); transform: translateX(100%); } .t-drawer .t-drawer__content-wrapper--top, .t-drawer .t-drawer__content-wrapper--bottom { left: 0; } .t-drawer .t-drawer__content-wrapper--top { top: 0; -webkit-transform: translateY(-100%); transform: translateY(-100%); } .t-drawer .t-drawer__content-wrapper--bottom { bottom: 0; -webkit-transform: translateY(100%); transform: translateY(100%); } .t-drawer__header { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; min-height: var(--td-comp-size-xxxl); padding: 0 var(--td-comp-paddingLR-l); font: var(--td-font-title-medium); color: var(--td-text-color-primary); border-bottom: 1px solid var(--td-border-level-1-color); border-radius: var(--td-radius-small) var(--td-radius-small) 0 0; -webkit-box-sizing: border-box; box-sizing: border-box; } .t-drawer__body { padding: var(--td-comp-paddingTB-l) var(--td-comp-paddingLR-l); overflow: auto; -webkit-box-flex: 1; -ms-flex: 1; flex: 1; } .t-drawer__footer { width: 100%; padding: var(--td-comp-paddingTB-l) var(--td-comp-paddingLR-l); text-align: left; border-top: 1px solid var(--td-border-level-1-color); background-color: var(--td-bg-color-container); -webkit-box-sizing: border-box; box-sizing: border-box; } .t-drawer__footer .t-button { margin-left: var(--td-comp-margin-s); } .t-drawer__footer .t-button:first-child { margin-left: 0; } .t-drawer__close-btn { position: absolute; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; width: var(--td-comp-size-xs); height: var(--td-comp-size-xs); top: calc((var(--td-comp-size-xxxl) - var(--td-comp-size-xs)) / 2); right: var(--td-comp-margin-s); color: var(--td-text-color-primary); background-color: var(--td-bg-color-container); border-radius: var(--td-radius-default); cursor: pointer; -webkit-transition: background-color 0.2s; transition: background-color 0.2s; } .t-drawer__close-btn:hover { background-color: var(--td-bg-color-container-hover); } .t-drawer__close-btn:active { background-color: var(--td-bg-color-container-active); } .t-drawer__close-btn .t-icon { font-size: calc(var(--td-font-size-body-medium) + 2px); vertical-align: unset; } .t-drawer--open { width: 100%; height: 100%; pointer-events: auto; } .t-drawer--open > .t-drawer__content-wrapper { visibility: visible; } .t-drawer--open > .t-drawer__mask { opacity: 1; width: 100%; height: 100%; } .t-drawer--without-mask { pointer-events: none; } [tabindex='-1']:focus { outline: none !important; /* stylelint-disable-line */ }