drip-table
Version:
A tiny and powerful enterprise-class solution for building tables.
241 lines (237 loc) • 7.16 kB
text/less
/**
* This file is part of the drip-table project.
* @link : https://drip-table.jd.com/
* @author : Emil Zhai (root@derzh.com)
* @modifier : Emil Zhai (root@derzh.com)
* @copyright: Copyright (c) 2021 JD Network Technology Co., Ltd.
*/
@prefixCls: jfe-drip-table-rc-image;
.@{prefixCls} {
display: inline-flex;
position: relative;
}
.@{prefixCls}-img {
width: 100%;
height: auto;
}
.@{prefixCls}-img-placeholder {
background-color: #f3f3f3;
background-repeat: no-repeat;
background-position: center center;
background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjhweCIgaGVpZ2h0PSIyMnB4IiB2aWV3Qm94PSIwIDAgMjggMjIiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDU1LjIgKDc4MTgxKSAtIGh0dHBzOi8vc2tldGNoYXBwLmNvbSAtLT4KICAgIDx0aXRsZT5pbWFnZS1maWxs5aSH5Lu9PC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGcgaWQ9Iuafpeeci+WbvueJh+S8mOWMljQuMCIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9IuWKoOi9veWbvueJhyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTU3Mi4wMDAwMDAsIC01MDYuMDAwMDAwKSI+CiAgICAgICAgICAgIDxnIGlkPSJpbWFnZS1maWxs5aSH5Lu9IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1NzAuMDAwMDAwLCA1MDEuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlIiBmaWxsPSIjMDAwMDAwIiBvcGFjaXR5PSIwIiB4PSIwIiB5PSIwIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiPjwvcmVjdD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yOSw1IEwzLDUgQzIuNDQ2ODc1LDUgMiw1LjQ0Njg3NSAyLDYgTDIsMjYgQzIsMjYuNTUzMTI1IDIuNDQ2ODc1LDI3IDMsMjcgTDI5LDI3IEMyOS41NTMxMjUsMjcgMzAsMjYuNTUzMTI1IDMwLDI2IEwzMCw2IEMzMCw1LjQ0Njg3NSAyOS41NTMxMjUsNSAyOSw1IFogTTEwLjU2MjUsOS41IEMxMS42NjU2MjUsOS41IDEyLjU2MjUsMTAuMzk2ODc1IDEyLjU2MjUsMTEuNSBDMTIuNTYyNSwxMi42MDMxMjUgMTEuNjY1NjI1LDEzLjUgMTAuNTYyNSwxMy41IEM5LjQ1OTM3NSwxMy41IDguNTYyNSwxMi42MDMxMjUgOC41NjI1LDExLjUgQzguNTYyNSwxMC4zOTY4NzUgOS40NTkzNzUsOS41IDEwLjU2MjUsOS41IFogTTI2LjYyMTg3NSwyMy4xNTkzNzUgQzI2LjU3ODEyNSwyMy4xOTY4NzUgMjYuNTE4NzUsMjMuMjE4NzUgMjYuNDU5Mzc1LDIzLjIxODc1IEw1LjUzNzUsMjMuMjE4NzUgQzUuNCwyMy4yMTg3NSA1LjI4NzUsMjMuMTA2MjUgNS4yODc1LDIyLjk2ODc1IEM1LjI4NzUsMjIuOTA5Mzc1IDUuMzA5Mzc1LDIyLjg1MzEyNSA1LjM0Njg3NSwyMi44MDYyNSBMMTAuNjY4NzUsMTYuNDkzNzUgQzEwLjc1NjI1LDE2LjM4NzUgMTAuOTE1NjI1LDE2LjM3NSAxMS4wMjE4NzUsMTYuNDYyNSBDMTEuMDMxMjUsMTYuNDcxODc1IDExLjA0Mzc1LDE2LjQ4MTI1IDExLjA1MzEyNSwxNi40OTM3NSBMMTQuMTU5Mzc1LDIwLjE4MTI1IEwxOS4xLDE0LjMyMTg3NSBDMTkuMTg3NSwxNC4yMTU2MjUgMTkuMzQ2ODc1LDE0LjIwMzEyNSAxOS40NTMxMjUsMTQuMjkwNjI1IEMxOS40NjI1LDE0LjMgMTkuNDc1LDE0LjMwOTM3NSAxOS40ODQzNzUsMTQuMzIxODc1IEwyNi42NTkzNzUsMjIuODA5Mzc1IEMyNi43NDA2MjUsMjIuOTEyNSAyNi43MjgxMjUsMjMuMDcxODc1IDI2LjYyMTg3NSwyMy4xNTkzNzUgWiIgaWQ9IlNoYXBlIiBmaWxsPSIjRThFOEU4Ij48L3BhdGg+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==");
}
.@{prefixCls}-placeholder {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
}
.@{prefixCls}-mask {
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
background: #0000004d;
opacity: 0;
pointer-events: none;
display: flex;
align-items: center;
justify-content: center;
color: #ffffff;
transition: opacity .3s;
}
.@{prefixCls}:hover .@{prefixCls}-mask {
opacity: 1;
}
.@{prefixCls}-preview {
text-align: center;
height: 100%;
pointer-events: none;
}
.@{prefixCls}-preview-body {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
overflow: hidden;
}
.@{prefixCls}-preview.zoom-enter,
.@{prefixCls}-preview.zoom-appear {
transform: none;
opacity: 0;
animation-duration: .3s;
}
.@{prefixCls}-preview-mask {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 1000;
height: 100%;
background-color: #00000073;
}
.@{prefixCls}-preview-mask-hidden {
display: none;
}
.@{prefixCls}-preview-img {
cursor: grab;
transform: scale3d(1, 1, 1);
transition: transform .3s cubic-bezier(0, 0, .25, 1) 0s;
user-select: none;
vertical-align: middle;
max-width: 100%;
max-height: 70%;
}
.@{prefixCls}-preview-img-wrapper {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
display: flex;
justify-content: center;
align-items: center;
}
.@{prefixCls}-preview-img-wrapper > * {
pointer-events: auto;
}
.@{prefixCls}-preview-moving .@{prefixCls}-preview-img {
cursor: grabbing;
}
.@{prefixCls}-preview-moving .@{prefixCls}-preview-img-wrapper {
transition-duration: 0s;
}
.@{prefixCls}-preview-wrap {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 1000;
overflow: auto;
outline: 0;
-webkit-overflow-scrolling: touch;
}
.@{prefixCls}-preview-close {
position: fixed;
top: 32px;
right: 32px;
display: flex;
color: #ffffff;
background-color: #00000080;
border-radius: 50%;
padding: 15px;
outline: 0;
border: 0;
cursor: pointer;
}
.@{prefixCls}-preview-close:hover {
opacity: .3;
}
.@{prefixCls}-preview-operations-wrapper {
position: fixed;
z-index: 1001;
}
.@{prefixCls}-preview-footer {
position: fixed;
z-index: 1001;
bottom: 32px;
left: 0;
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
}
.@{prefixCls}-preview-progress {
margin-bottom: 20px;
}
.@{prefixCls}-preview-operations {
display: flex;
color: #bbbbbb;
background: #00000073;
border-radius: 100px;
padding: 0 20px;
}
.@{prefixCls}-preview-operations-operation {
padding: 10px;
cursor: pointer;
margin-left: 10px;
font-size: 18px;
}
.@{prefixCls}-preview-operations-operation-disabled {
pointer-events: none;
color: #6e6e6e;
}
.@{prefixCls}-preview-operations-operation:first-of-type {
margin-left: 0;
}
.@{prefixCls}-preview-switch-left {
position: fixed;
left: 10px;
top: 50%;
width: 44px;
height: 44px;
margin-top: -22px;
background: #bbbbbb73;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
z-index: 1001;
cursor: pointer;
color: #bbbbbb;
}
.@{prefixCls}-preview-switch-left-disabled {
background: #bbbbbb4d;
color: #6e6e6e;
cursor: not-allowed;
}
.@{prefixCls}-preview-switch-left-disabled > .@{prefixCls}-icon {
cursor: not-allowed;
}
.@{prefixCls}-preview-switch-left > .@{prefixCls}-icon {
font-size: 24px;
}
.@{prefixCls}-preview-switch-right {
position: fixed;
right: 10px;
top: 50%;
width: 44px;
height: 44px;
margin-top: -22px;
background: #bbbbbb73;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
z-index: 1001;
cursor: pointer;
color: #bbbbbb;
}
.@{prefixCls}-preview-switch-right-disabled {
background: #bbbbbb33;
color: #6e6e6e;
cursor: not-allowed;
}
.@{prefixCls}-preview-switch-right-disabled > .@{prefixCls}-icon {
cursor: not-allowed;
}
.@{prefixCls}-preview-switch-right > .@{prefixCls}-icon {
font-size: 24px;
}
.@{prefixCls}-icon {
display: inline-block;
color: inherit;
font-style: normal;
line-height: 0;
text-align: center;
text-transform: none;
vertical-align: -.125em;
text-rendering: optimizelegibility;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}