|
@@ -0,0 +1,673 @@
|
|
|
+.ui-input {
|
|
|
+ display: inline-flex;
|
|
|
+ align-items: center;
|
|
|
+ --base-border-color: rgba(255, 255, 255, 0.2);
|
|
|
+ --colors-content-color: #fff;
|
|
|
+ height: 100%;
|
|
|
+ &.error {
|
|
|
+ position: relative;
|
|
|
+ --colors-primary-base: #fa3f48;
|
|
|
+ --base-border-color: #fa3f48;
|
|
|
+ .error-msg {
|
|
|
+ top: 100%;
|
|
|
+ position: absolute;
|
|
|
+ color: var(--colors-primary-base);
|
|
|
+ margin-top: 5px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ &.require {
|
|
|
+ position: relative;
|
|
|
+
|
|
|
+ &::before {
|
|
|
+ content: '*';
|
|
|
+ position: absolute;
|
|
|
+ top: 50%;
|
|
|
+ transform: translateY(-50%);
|
|
|
+ right: 100%;
|
|
|
+ margin-right: 2px;
|
|
|
+ color: #fa3f48;
|
|
|
+ line-height: 1.5em;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .input {
|
|
|
+ position: relative;
|
|
|
+ align-items: center;
|
|
|
+ display: inline-flex;
|
|
|
+
|
|
|
+ .input-div,
|
|
|
+ textarea,
|
|
|
+ input {
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ outline: none;
|
|
|
+ border: none;
|
|
|
+ font-size: 14px;
|
|
|
+ color: var(--colors-content-color);
|
|
|
+ padding-left: 4px;
|
|
|
+ resize: none;
|
|
|
+
|
|
|
+ & + .replace {
|
|
|
+ position: absolute;
|
|
|
+ z-index: 1;
|
|
|
+ }
|
|
|
+
|
|
|
+ &.replace-input {
|
|
|
+ opacity: 0;
|
|
|
+ cursor: pointer;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .pre-icon {
|
|
|
+ position: absolute;
|
|
|
+ z-index: 1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .label {
|
|
|
+ cursor: pointer;
|
|
|
+ margin-left: 7px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .radio,
|
|
|
+ .checkbox {
|
|
|
+ width: 16px;
|
|
|
+ height: 16px;
|
|
|
+
|
|
|
+ input {
|
|
|
+ & + .replace {
|
|
|
+ color: var(--colors-color);
|
|
|
+ border: 1px solid currentColor;
|
|
|
+ background-color: var(--colors-normal-back);
|
|
|
+ left: 0;
|
|
|
+ top: 0;
|
|
|
+ right: 0;
|
|
|
+ bottom: 0;
|
|
|
+ pointer-events: none;
|
|
|
+ transition: all 0.1s linear;
|
|
|
+ }
|
|
|
+
|
|
|
+ &:focus + .replace {
|
|
|
+ border-color: var(--colors-primary-base);
|
|
|
+ }
|
|
|
+
|
|
|
+ &:checked + .replace {
|
|
|
+ color: var(--colors-primary-base);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .checkbox input {
|
|
|
+ & + .replace {
|
|
|
+ border-radius: 4px;
|
|
|
+ .icon {
|
|
|
+ position: absolute;
|
|
|
+ left: 50%;
|
|
|
+ top: 50%;
|
|
|
+ transform: translate(-50%, -50%) scale(0);
|
|
|
+ transition: all 0.1s linear;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ &:checked + .replace {
|
|
|
+ .icon {
|
|
|
+ transform: translate(-50%, -50%) scale(1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .radio input {
|
|
|
+ & + .replace {
|
|
|
+ border-radius: 50%;
|
|
|
+ &::after {
|
|
|
+ content: '';
|
|
|
+ border-radius: 50%;
|
|
|
+ position: absolute;
|
|
|
+ left: 50%;
|
|
|
+ top: 50%;
|
|
|
+ transform: translate(-50%, -50%) scale(0);
|
|
|
+ transition: all 0.1s linear;
|
|
|
+ width: 60%;
|
|
|
+ height: 60%;
|
|
|
+ background-color: currentColor;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ &:checked + .replace::after {
|
|
|
+ transform: translate(-50%, -50%) scale(1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .text {
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ border-radius: 4px;
|
|
|
+
|
|
|
+ input {
|
|
|
+ background: var(--colors-normal-back);
|
|
|
+ height: 100%;
|
|
|
+ padding: 8px 10px;
|
|
|
+ border-radius: 4px;
|
|
|
+ border: 1px solid var(--base-border-color);
|
|
|
+ transition: border 0.3s ease;
|
|
|
+
|
|
|
+ &:focus {
|
|
|
+ border-color: var(--colors-primary-base);
|
|
|
+ }
|
|
|
+ &.warn {
|
|
|
+ border-color: var(--colors-warn);
|
|
|
+ &:focus {
|
|
|
+ border-color: var(--colors-warn);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ &::placeholder {
|
|
|
+ color: var(--colors-color);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ &.pre-suffix {
|
|
|
+ input {
|
|
|
+ padding-left: 30px;
|
|
|
+ }
|
|
|
+ .pre-icon {
|
|
|
+ left: 10px;
|
|
|
+ top: 50%;
|
|
|
+ transform: translateY(-50%);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ &.right input {
|
|
|
+ text-align: right;
|
|
|
+ }
|
|
|
+
|
|
|
+ &.suffix {
|
|
|
+ input {
|
|
|
+ padding-right: 60px;
|
|
|
+ }
|
|
|
+ .retouch {
|
|
|
+ position: absolute;
|
|
|
+ right: 10px;
|
|
|
+ top: 50%;
|
|
|
+ transform: translateY(-50%);
|
|
|
+ z-index: 10;
|
|
|
+ cursor: pointer;
|
|
|
+ }
|
|
|
+
|
|
|
+ .len {
|
|
|
+ font-size: var(--small-size);
|
|
|
+ color: rgba(var(--colors-primary-fill), 1);
|
|
|
+
|
|
|
+ span {
|
|
|
+ color: var(--colors-primary-base);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ &.ready {
|
|
|
+ .retouch,
|
|
|
+ input {
|
|
|
+ transition: all 0.1s linear;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .textarea {
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ min-height: 50px;
|
|
|
+
|
|
|
+ > .replace {
|
|
|
+ border-radius: 4px;
|
|
|
+ left: 0;
|
|
|
+ top: 0;
|
|
|
+ right: 0;
|
|
|
+ bottom: 0;
|
|
|
+ pointer-events: none;
|
|
|
+ background: var(--colors-normal-back);
|
|
|
+ border: 1px solid var(--base-border-color);
|
|
|
+ transition: border 0.3s ease;
|
|
|
+ }
|
|
|
+
|
|
|
+ .input-div {
|
|
|
+ overflow-y: auto;
|
|
|
+
|
|
|
+ a {
|
|
|
+ color: var(--color-main-normal);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .input-div,
|
|
|
+ textarea {
|
|
|
+ height: 100%;
|
|
|
+ width: 100%;
|
|
|
+ padding: 10px;
|
|
|
+
|
|
|
+ &:focus + .replace {
|
|
|
+ border-color: var(--colors-primary-base);
|
|
|
+ }
|
|
|
+
|
|
|
+ &::placeholder {
|
|
|
+ color: var(--colors-color);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ &.right .input-div,
|
|
|
+ &.right textarea {
|
|
|
+ text-align: right;
|
|
|
+ }
|
|
|
+
|
|
|
+ &.suffix {
|
|
|
+ --bar-height: 30px;
|
|
|
+
|
|
|
+ .input-div,
|
|
|
+ textarea {
|
|
|
+ margin-bottom: var(--bar-height);
|
|
|
+ height: calc(100% - var(--bar-height));
|
|
|
+ }
|
|
|
+
|
|
|
+ > .retouch {
|
|
|
+ position: absolute;
|
|
|
+ right: 0;
|
|
|
+ left: 0;
|
|
|
+ bottom: 0;
|
|
|
+ background-color: rgba(var(--colors-primary-fill), 0.1);
|
|
|
+ height: var(--bar-height);
|
|
|
+ display: flex;
|
|
|
+ padding: 0 10px;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: space-between;
|
|
|
+ }
|
|
|
+
|
|
|
+ .len {
|
|
|
+ justify-self: end;
|
|
|
+ font-size: var(--small-size);
|
|
|
+ color: rgba(var(--colors-primary-fill), 1);
|
|
|
+
|
|
|
+ span {
|
|
|
+ color: var(--colors-primary-base);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .number {
|
|
|
+ input {
|
|
|
+ -moz-appearance: textfield;
|
|
|
+ }
|
|
|
+ input::-webkit-inner-spin-button,
|
|
|
+ input::-webkit-outer-spin-button {
|
|
|
+ -webkit-appearance: none;
|
|
|
+ margin: 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ .ctrls {
|
|
|
+ position: absolute;
|
|
|
+ inset: 2px 0;
|
|
|
+ width: 8px;
|
|
|
+ .icon {
|
|
|
+ position: absolute;
|
|
|
+ right: 0;
|
|
|
+
|
|
|
+ &.up {
|
|
|
+ bottom: 0;
|
|
|
+ }
|
|
|
+ &.down {
|
|
|
+ top: 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ &.ctrl.suffix input {
|
|
|
+ padding-right: 20px;
|
|
|
+ z-index: 1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .select {
|
|
|
+ input {
|
|
|
+ cursor: pointer;
|
|
|
+ &.ui-text {
|
|
|
+ padding-right: 0;
|
|
|
+ }
|
|
|
+ &.icon {
|
|
|
+ padding-right: 30px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ &.focus {
|
|
|
+ input {
|
|
|
+ border-color: var(--colors-primary-base);
|
|
|
+ }
|
|
|
+ .retouch {
|
|
|
+ transform: translateY(-50%) rotateZ(180deg);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .range {
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ display: flex;
|
|
|
+ --height: 6px;
|
|
|
+ --slideSize: calc(var(--height) + 8px);
|
|
|
+
|
|
|
+ .range-content {
|
|
|
+ flex: 1;
|
|
|
+ background-color: var(--colors-normal-back);
|
|
|
+ position: relative;
|
|
|
+ cursor: pointer;
|
|
|
+ }
|
|
|
+
|
|
|
+ .range-content::before,
|
|
|
+ .range-content {
|
|
|
+ height: var(--height);
|
|
|
+ border-radius: calc(var(--height) / 2);
|
|
|
+ }
|
|
|
+
|
|
|
+ .range-content::before,
|
|
|
+ .range-content .range-slide {
|
|
|
+ content: '';
|
|
|
+ position: absolute;
|
|
|
+ }
|
|
|
+
|
|
|
+ .range-content::before {
|
|
|
+ pointer-events: none;
|
|
|
+ left: 0;
|
|
|
+ top: 0;
|
|
|
+ width: var(--percentage);
|
|
|
+ background-color: var(--colors-primary-base);
|
|
|
+ }
|
|
|
+
|
|
|
+ .range-locus {
|
|
|
+ width: calc(100% - var(--slideSize));
|
|
|
+ height: var(--height);
|
|
|
+ position: relative;
|
|
|
+
|
|
|
+ .range-slide {
|
|
|
+ cursor: pointer;
|
|
|
+ height: var(--slideSize);
|
|
|
+ width: var(--slideSize);
|
|
|
+ top: 50%;
|
|
|
+ left: var(--percentage);
|
|
|
+ transform: translateY(-50%);
|
|
|
+ background-color: var(--colors-content-color);
|
|
|
+ border-radius: 50%;
|
|
|
+ .tips{
|
|
|
+ position: absolute;
|
|
|
+ background: rgba(0, 0, 0, 0.6);
|
|
|
+ padding: 4px 6px;
|
|
|
+ border-radius: 4px;
|
|
|
+ bottom: 120%;
|
|
|
+ left: 50%;
|
|
|
+ -webkit-transform: translateX(-50%);
|
|
|
+ transform: translateX(-50%);
|
|
|
+ display: none;
|
|
|
+ font-size: 12px;
|
|
|
+ }
|
|
|
+ &:hover{
|
|
|
+ .tips{
|
|
|
+ display: block;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .range-text {
|
|
|
+ margin-left: 10px;
|
|
|
+ width: 65px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .animation {
|
|
|
+ &.range-content::before,
|
|
|
+ .range-slide {
|
|
|
+ transition: all 0.1s linear;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .switch {
|
|
|
+ --height: 24px;
|
|
|
+ width: 50px;
|
|
|
+ height: var(--height);
|
|
|
+
|
|
|
+ .replace {
|
|
|
+ background-color: rgba(255, 255, 255, 0.3);
|
|
|
+ left: 0;
|
|
|
+ top: 0;
|
|
|
+ right: 0;
|
|
|
+ bottom: 0;
|
|
|
+ border-radius: calc(var(--height) / 2);
|
|
|
+ pointer-events: none;
|
|
|
+ position: relative;
|
|
|
+ transition: background-color 0.3s ease;
|
|
|
+
|
|
|
+ &::after {
|
|
|
+ content: '';
|
|
|
+ --padding: 3px;
|
|
|
+ --size: calc(var(--height) - var(--padding) * 2);
|
|
|
+ position: absolute;
|
|
|
+ width: var(--size);
|
|
|
+ height: var(--size);
|
|
|
+ top: var(--padding);
|
|
|
+ background: var(--colors-content-color);
|
|
|
+ border-radius: 50%;
|
|
|
+ left: var(--padding);
|
|
|
+ transition: left 0.3s ease;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ input:checked + .replace {
|
|
|
+ background-color: var(--colors-primary-base);
|
|
|
+
|
|
|
+ &::after {
|
|
|
+ left: calc(100% - var(--size) - var(--padding));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .file {
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+
|
|
|
+ input {
|
|
|
+ cursor: pointer;
|
|
|
+ opacity: 0;
|
|
|
+ }
|
|
|
+ .use-replace {
|
|
|
+ position: absolute;
|
|
|
+ }
|
|
|
+ .use-replace,
|
|
|
+ .replace {
|
|
|
+ left: 0;
|
|
|
+ right: 0;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ pointer-events: none;
|
|
|
+ }
|
|
|
+
|
|
|
+ &:not(.valuable) {
|
|
|
+ .replace {
|
|
|
+ top: 0;
|
|
|
+ bottom: 0;
|
|
|
+ background: rgba(var(--colors-primary-fill), 0.1);
|
|
|
+ border-radius: 4px;
|
|
|
+ border: 1px solid rgba(var(--colors-primary-fill), 0.2);
|
|
|
+ // position: relative;
|
|
|
+
|
|
|
+ .placeholder {
|
|
|
+ text-align: center;
|
|
|
+ max-width: 80%;
|
|
|
+
|
|
|
+ p:not(:last-child) {
|
|
|
+ margin-bottom: 10px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .bottom {
|
|
|
+ font-size: 12px;
|
|
|
+ color: rgba(255, 255, 255, 0.3);
|
|
|
+ width: 90%;
|
|
|
+ position: absolute;
|
|
|
+ bottom: 10px;
|
|
|
+ left: 50%;
|
|
|
+ transform: translateX(-50%);
|
|
|
+ text-align: left;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ input {
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+
|
|
|
+ &:focus + .replace {
|
|
|
+ border-color: var(--colors-primary-base);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ &.valuable {
|
|
|
+ background: rgba(var(--colors-primary-fill), 0.1);
|
|
|
+ border-radius: 4px;
|
|
|
+ border: 1px solid rgba(var(--colors-primary-fill), 0.2);
|
|
|
+
|
|
|
+ input,
|
|
|
+ .replace {
|
|
|
+ position: absolute;
|
|
|
+ bottom: 0;
|
|
|
+ background: linear-gradient(180deg, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0.5) 100%);
|
|
|
+ height: 32px;
|
|
|
+ line-height: 32px;
|
|
|
+
|
|
|
+ .tj {
|
|
|
+ position: absolute;
|
|
|
+ right: 10px;
|
|
|
+ top: 0;
|
|
|
+ bottom: 0;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ font-size: 10px;
|
|
|
+
|
|
|
+ > span {
|
|
|
+ color: var(--colors-primary-base);
|
|
|
+ margin-right: 4px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .icons {
|
|
|
+ position: absolute;
|
|
|
+ right: 10px;
|
|
|
+ top: 0;
|
|
|
+
|
|
|
+ span {
|
|
|
+ width: 24px;
|
|
|
+ height: 24px;
|
|
|
+ border-radius: 50%;
|
|
|
+ background: rgba(0, 0, 0, 0.3);
|
|
|
+ font-size: 12px;
|
|
|
+ color: rgba(255, 255, 255, 0.6);
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ margin-top: 10px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .search {
|
|
|
+ .retouch {
|
|
|
+ transform: translateY(-50%) !important;
|
|
|
+
|
|
|
+ .clear {
|
|
|
+ // background-color: rgba(255,255,255,.3);
|
|
|
+ font-size: 16px;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ color: rgba(255, 255, 255, 0.6);
|
|
|
+ border-radius: 50%;
|
|
|
+ cursor: pointer;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .color {
|
|
|
+ &.default {
|
|
|
+ input {
|
|
|
+ opacity: 1;
|
|
|
+ border: inherit;
|
|
|
+ outline: inherit;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .replace {
|
|
|
+ pointer-events: none;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.select-float {
|
|
|
+ transition: transform 0.3s ease, opacity 0.3s ease;
|
|
|
+ transform-origin: center top;
|
|
|
+
|
|
|
+ &:not(.show) {
|
|
|
+ transform: scale(1, 0);
|
|
|
+ opacity: 0;
|
|
|
+ pointer-events: none;
|
|
|
+ }
|
|
|
+ &.show {
|
|
|
+ transform: scale(1, 1);
|
|
|
+ opacity: 1;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.select-replace {
|
|
|
+ --colors-content-color: #fff;
|
|
|
+ list-style: none;
|
|
|
+ max-height: 288px;
|
|
|
+ background: rgba(26, 26, 26, 0.8);
|
|
|
+ box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.3), inset 0 0 1px rgb(255 255 255 / 90%);
|
|
|
+ backdrop-filter: blur(4px);
|
|
|
+ border-radius: 4px;
|
|
|
+ overflow-y: auto;
|
|
|
+ color: var(--colors-content-color);
|
|
|
+ &.hide-scroll{
|
|
|
+ max-height: 100%;
|
|
|
+ }
|
|
|
+ li {
|
|
|
+ padding: 10px 10px;
|
|
|
+ font-size: 14px;
|
|
|
+
|
|
|
+ &.un-data {
|
|
|
+ padding: 20px;
|
|
|
+ color: rgba(255, 255, 255, 0.3);
|
|
|
+ pointer-events: none;
|
|
|
+ }
|
|
|
+ &.active {
|
|
|
+ background: var(--colors-normal-back);
|
|
|
+ color: var(--colors-primary-base);
|
|
|
+ }
|
|
|
+
|
|
|
+ &:not(.active):hover {
|
|
|
+ cursor: pointer;
|
|
|
+ background-color: var(--colors-primary-base);
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.is-hidden {
|
|
|
+ position: absolute;
|
|
|
+ left: -10000px;
|
|
|
+ top: -10000px;
|
|
|
+}
|
|
|
+.no-vip {
|
|
|
+ .file {
|
|
|
+ input {
|
|
|
+ pointer-events: none;
|
|
|
+ }
|
|
|
+ label {
|
|
|
+ pointer-events: none;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|