UNPKG

tdesign-react

Version:
583 lines (582 loc) 18.8 kB
.t-color-picker__panel { padding: 0; width: 256px; background: var(--td-bg-color-container); -webkit-box-shadow: var(--td-shadow-2), var(--td-shadow-inset-top), var(--td-shadow-inset-right), var(--td-shadow-inset-bottom), var(--td-shadow-inset-left); box-shadow: var(--td-shadow-2), var(--td-shadow-inset-top), var(--td-shadow-inset-right), var(--td-shadow-inset-bottom), var(--td-shadow-inset-left); border-radius: var(--td-radius-medium); -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .t-popup__content .t-color-picker__panel { background: transparent; -webkit-box-shadow: unset; box-shadow: unset; } .t-color-picker { 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; } .t-color-picker.t-popup__content { -webkit-box-shadow: var(--td-shadow-2), var(--td-shadow-inset-top), var(--td-shadow-inset-right), var(--td-shadow-inset-bottom), var(--td-shadow-inset-left); box-shadow: var(--td-shadow-2), var(--td-shadow-inset-top), var(--td-shadow-inset-right), var(--td-shadow-inset-bottom), var(--td-shadow-inset-left); } .t-color-picker__icon { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; font-size: var(--td-comp-size-xxxs); background: transparent; -webkit-transition: 0.2s linear; transition: 0.2s linear; color: var(--td-text-color-secondary); border-radius: var(--td-radius-default); cursor: pointer; } .t-color-picker__icon:hover { background: var(--td-bg-color-container-hover); -webkit-transition: 0.2s linear; transition: 0.2s linear; } .t-color-picker__icon.t-is-disabled { color: var(--td-text-color-disabled); pointer-events: none; } .t-color-picker__head { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; padding: var(--td-pop-padding-xl); position: relative; z-index: 2; } .t-color-picker__head .t-color-picker__close { -ms-flex-negative: 0; flex-shrink: 0; } .t-color-picker__head + .t-color-picker__body { padding-top: 0; } .t-color-picker__body { padding: var(--td-pop-padding-xl); padding-bottom: calc(var(--td-pop-padding-xl) - 4px); } .t-color-picker__thumb { position: absolute; z-index: 1; outline: none; border-color: currentcolor; width: calc(var(--td-comp-size-xxxs) + var(--td-size-1)); height: calc(var(--td-comp-size-xxxs) + var(--td-size-1)); border-radius: var(--td-radius-circle); -webkit-box-shadow: var(--td-shadow-1); box-shadow: var(--td-shadow-1); background: var(--td-text-color-anti); color: var(--td-text-color-brand); padding: 2px; -webkit-box-sizing: border-box; box-sizing: border-box; } .t-color-picker__thumb::before { content: ''; width: 100%; height: 100%; background: currentcolor; border-radius: var(--td-radius-circle); display: block; } .t-color-picker__saturation { height: 160px; border-radius: var(--td-radius-default); position: relative; overflow: hidden; background: transparent; } .t-color-picker__saturation::before, .t-color-picker__saturation::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; } .t-color-picker__saturation::before { /* stylelint-disable-next-line color-no-hex */ background: -webkit-gradient(linear, left top, right top, from(#fff), to(transparent)); background: linear-gradient(90deg, #fff, transparent); } .t-color-picker__saturation::after { /* stylelint-disable-next-line color-no-hex */ background: -webkit-gradient(linear, left bottom, left top, from(#000), to(transparent)); background: linear-gradient(0deg, #000, transparent); } .t-color-picker__saturation .t-color-picker__thumb { width: calc(var(--td-comp-size-xxxs) + var(--td-size-1)); height: calc(var(--td-comp-size-xxxs) + var(--td-size-1)); border-radius: var(--td-radius-circle); -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } .t-color-picker__slider-wrapper { border-radius: calc(8px / 2); padding: 0 calc(calc(var(--td-comp-size-xxxs) + var(--td-size-1)) / 2); position: relative; } .t-color-picker__slider-wrapper--hue-type { /* stylelint-disable-next-line color-named */ background: red; } .t-color-picker__slider-wrapper--alpha-type { background: var(--td-text-color-anti); /* stylelint-disable-next-line color-no-hex */ background-image: linear-gradient(45deg, #c5c5c5 25%, transparent 0, transparent 75%, #c5c5c5 0, #c5c5c5), linear-gradient(45deg, #c5c5c5 25%, transparent 0, transparent 75%, #c5c5c5 0, #c5c5c5); background-size: 6px 6px; background-position: 0 0, 3px 3px; } .t-color-picker__slider-padding { position: absolute; left: 0; top: 0; width: 100%; height: 8px; border-radius: calc(8px / 2); } .t-color-picker__slider { height: 8px; position: relative; border-radius: calc(8px / 2); cursor: pointer; color: transparent; outline: none; z-index: 1; } .t-color-picker__slider .t-color-picker__thumb { -webkit-transform: translate(calc(calc(var(--td-comp-size-xxxs) + var(--td-size-1)) * -0.5), -50%); transform: translate(calc(calc(var(--td-comp-size-xxxs) + var(--td-size-1)) * -0.5), -50%); top: 50%; } .t-color-picker__slider .t-color-picker__rail { position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; border-radius: inherit; } .t-color-picker__alpha, .t-color-picker__format { margin: var(--td-comp-margin-m) 0 0 0; } .t-color-picker__hue { /* stylelint-disable color-no-hex, color-named */ background: -webkit-gradient(linear, left top, right top, from(red), color-stop(17%, #ff0), color-stop(33%, #0f0), color-stop(50%, #0ff), color-stop(67%, #00f), color-stop(83%, #f0f), to(red)); background: linear-gradient(90deg, red, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, red); } .t-color-picker__alpha .t-color-picker__rail { background: -webkit-gradient(linear, left top, right top, from(transparent), to(currentcolor)); background: linear-gradient(to right, transparent, currentcolor); } .t-color-picker__sliders-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin: var(--td-comp-margin-m) 0; } .t-color-picker__sliders { width: 100%; } .t-color-picker__sliders-preview { -ms-flex-negative: 0; flex-shrink: 0; margin-left: var(--td-comp-margin-m); width: var(--td-comp-size-s); height: var(--td-comp-size-s); border-radius: var(--td-radius-default); overflow: hidden; background: var(--td-text-color-anti); /* stylelint-disable-next-line color-no-hex */ background-image: linear-gradient(45deg, #c5c5c5 25%, transparent 0, transparent 75%, #c5c5c5 0, #c5c5c5), linear-gradient(45deg, #c5c5c5 25%, transparent 0, transparent 75%, #c5c5c5 0, #c5c5c5); background-size: 6px 6px; background-position: 0 0, 3px 3px; } .t-color-picker__sliders-preview-inner { display: block; width: 100%; height: 100%; } .t-color-picker__gradient { padding: 0; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin-bottom: var(--td-comp-margin-m); } .t-color-picker__gradient-slider { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; } .t-color-picker__gradient-degree { position: relative; -ms-flex-negative: 0; flex-shrink: 0; margin-left: var(--td-comp-margin-m); width: var(--td-comp-size-xxl); } .t-color-picker__gradient-degree .t-input { margin: 0; font: var(--td-font-body-small); } .t-color-picker__gradient-degree .t-input-number { width: 100%; padding: 0; } .t-color-picker__gradient .gradient-thumbs { position: absolute; width: 100%; height: 100%; top: 0; left: 0; margin: 0; padding: 0; list-style: none; border-radius: inherit; cursor: pointer; } .t-color-picker__gradient .gradient-thumbs__item { top: 50%; left: 0; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); z-index: 0; cursor: pointer; } .t-color-picker__gradient .gradient-thumbs__item::before { display: none; } .t-color-picker__gradient .gradient-thumbs__item.t-is-active { z-index: 1; outline: 2px solid var(--td-component-border); } .t-color-picker__gradient .gradient-thumbs__item-inner { display: block; width: 100%; height: 100%; border-radius: var(--td-radius-circle); overflow: hidden; } .t-color-picker__gradient .gradient-thumbs__item-inner::before { content: ''; width: 100%; height: 100%; display: block; background-color: currentcolor; } .t-color-picker__format { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; } .t-color-picker__format--item:first-child { -ms-flex-negative: 0; flex-shrink: 0; } .t-color-picker__format--item:last-child { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; } .t-color-picker__format--item .t-size-m, .t-color-picker__format--item .t-input.t-size-m { font: var(--td-font-body-small); } .t-color-picker__format--item .t-input-number .t-input { margin: 0; } .t-color-picker__format--item .input-group { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -ms-flex-pack: distribute; justify-content: space-around; margin-left: var(--td-comp-margin-s); } .t-color-picker__format--item .input-group__item { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; width: 0; margin-left: -1px; } .t-color-picker__format--item .input-group__item .t-input { padding: 0 1px; } .t-color-picker__format--item .input-group__item .t-input:focus, .t-color-picker__format--item .input-group__item .t-input:focus-within, .t-color-picker__format--item .input-group__item .t-input:hover { z-index: 1; } .t-color-picker__format--item .input-group__item:not(:first-child):not(:last-child) .t-input { border-radius: 0; } .t-color-picker__format--item .input-group__item:first-child:not(:last-child) .t-input { border-top-right-radius: 0; border-bottom-right-radius: 0; } .t-color-picker__format--item .input-group__item:last-child:not(:first-child) .t-input { border-top-left-radius: 0; border-bottom-left-radius: 0; } .t-color-picker__format--item .input-group .t-input-number { width: 100%; padding: 0; max-width: 100%; } .t-color-picker__format-mode-select { width: 72px; display: -webkit-box; display: -ms-flexbox; display: flex; } .t-color-picker__format-mode-select .t-select, .t-color-picker__format-mode-select .t-input { padding-right: 0; } .t-color-picker__format-mode-select .t-input--prefix > .t-input__suffix { padding-left: 0; } .t-color-picker__format-mode-select .t-select__right-icon { margin-right: var(--td-comp-margin-xs); } .t-color-picker__swatches-wrap { margin-top: var(--td-comp-margin-m); position: relative; } .t-color-picker__swatches-wrap .t-color-picker__swatches + .t-color-picker__swatches { margin-top: var(--td-comp-margin-m); } .t-color-picker__swatches-wrap .t-color-picker__swatches--title { font: var(--td-font-body-small); padding: 0; color: var(--td-text-color-primary); display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; } .t-color-picker__swatches-wrap .t-color-picker__swatches--actions { margin-left: auto; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; font-size: 0; } .t-color-picker__swatches-wrap .t-color-picker__swatches--actions .t-color-picker__icon { width: var(--td-comp-size-xxxs); height: var(--td-comp-size-xxxs); margin-left: var(--td-comp-margin-s); } .t-color-picker__swatches-wrap .t-color-picker__swatches--items { width: 100%; list-style: none; display: grid; grid-template-columns: repeat(10, var(--td-comp-size-xxxs)); gap: calc((256px - (calc(var(--td-pop-padding-xl) * 2) + calc(var(--td-comp-size-xxxs) * 10))) / 9) calc((256px - (calc(var(--td-pop-padding-xl) * 2) + calc(var(--td-comp-size-xxxs) * 10))) / 9); max-height: calc(4 * calc(var(--td-comp-size-xxxs) + calc((256px - (calc(var(--td-pop-padding-xl) * 2) + calc(var(--td-comp-size-xxxs) * 10))) / 9))); overflow-x: hidden; overflow-y: auto; padding: calc(var(--td-pop-padding-xl) - 8px); position: relative; left: calc(0px - calc(var(--td-pop-padding-xl) - 8px)); -webkit-box-sizing: content-box; box-sizing: content-box; } .t-color-picker__swatches-wrap .t-color-picker__swatches--item { display: -webkit-box; display: -ms-flexbox; display: flex; width: var(--td-comp-size-xxxs); height: var(--td-comp-size-xxxs); border-radius: var(--td-radius-default); padding: 0; overflow: hidden; cursor: pointer; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; position: relative; -webkit-transform-origin: center; transform-origin: center; -webkit-transition: all 0.2s cubic-bezier(0.38, 0, 0.24, 1); transition: all 0.2s cubic-bezier(0.38, 0, 0.24, 1); -webkit-box-sizing: border-box; box-sizing: border-box; } .t-color-picker__swatches-wrap .t-color-picker__swatches--item:hover { -webkit-transform: scale(1.25); transform: scale(1.25); -webkit-transform-origin: center; transform-origin: center; } .t-color-picker__swatches-wrap .t-color-picker__swatches--item__color { width: 100%; height: 100%; position: relative; overflow: hidden; border: 1px solid var(--td-component-border); border-radius: var(--td-radius-default); -ms-flex-negative: 0; flex-shrink: 0; } .t-color-picker__swatches-wrap .t-color-picker__swatches--item__inner { width: 100%; height: 100%; display: block; } .t-color-picker__swatches-wrap .t-color-picker__swatches--item:not(.t-is-active):hover { padding: 0; } .t-color-picker__swatches-wrap .t-color-picker__swatches--item.t-is-active .t-color-picker__swatches--item__color, .t-color-picker__swatches-wrap .t-color-picker__swatches--item.t-is-active .t-color-picker__swatches--color { border-color: var(--td-text-color-brand); } .t-color-picker__swatches-wrap .t-color-picker__swatches--color { width: 100%; height: 100%; position: relative; overflow: hidden; border-radius: var(--td-radius-default); -webkit-box-sizing: border-box; box-sizing: border-box; } .t-color-picker__swatches-wrap .t-color-picker__swatches--inner { width: 100%; height: 100%; display: block; border-radius: var(--td-radius-default); -webkit-box-shadow: var(--td-shadow-inset-top), var(--td-shadow-inset-right), var(--td-shadow-inset-bottom), var(--td-shadow-inset-left); box-shadow: var(--td-shadow-inset-top), var(--td-shadow-inset-right), var(--td-shadow-inset-bottom), var(--td-shadow-inset-left); } .t-color-picker__trigger--default { display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .t-color-picker__trigger--default > .t-input { width: -webkit-fit-content; width: -moz-fit-content; width: fit-content; } .t-color-picker__trigger--default .t-input { padding: 0 var(--td-comp-paddingLR-s) 0 var(--td-comp-paddingLR-xs); } .t-color-picker__trigger--default__color { width: 100%; height: 100%; -webkit-box-sizing: border-box; box-sizing: border-box; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .t-color-picker__trigger--default__color .color-inner { border: 1px solid var(--td-scrollbar-color); display: block; width: calc(var(--td-comp-size-xs) - 2px); height: calc(var(--td-comp-size-xs) - 2px); color: transparent; position: relative; border-radius: var(--td-radius-small); } .t-color-picker__trigger--default__color .color-inner.t-size-s { width: calc(var(--td-comp-size-xxs) - 2px); height: calc(var(--td-comp-size-xxs) - 2px); } .t-color-picker__trigger--default__color .color-inner.t-size-l { width: calc(var(--td-comp-size-s) - 2px); height: calc(var(--td-comp-size-s) - 2px); } .t-color-picker__gradient-slider { padding: 0 calc(calc(var(--td-comp-size-xxxs) + var(--td-size-1)) / 2); border-radius: calc(8px / 2); } .t-color-picker__gradient-slider .t-color-picker--bg-alpha { background: var(--td-text-color-anti); /* stylelint-disable-next-line color-no-hex */ background-image: linear-gradient(45deg, #c5c5c5 25%, transparent 0, transparent 75%, #c5c5c5 0, #c5c5c5), linear-gradient(45deg, #c5c5c5 25%, transparent 0, transparent 75%, #c5c5c5 0, #c5c5c5); background-size: 6px 6px; background-position: 0 0, 3px 3px; } .t-color-picker__panel.t-is-disabled .t-color-picker__saturation, .t-color-picker__panel.t-is-disabled .t-color-picker__slider, .t-color-picker__panel.t-is-disabled .t-color-picker__swatches--item { opacity: 0.8; cursor: not-allowed; } .t-color-picker__panel.t-is-disabled .t-color-picker__gradient-slider .gradient-thumbs, .t-color-picker__panel.t-is-disabled .t-color-picker__gradient-slider .gradient-thumbs__item { cursor: not-allowed; } .t-color-picker__panel.t-is-disabled .t-color-picker__swatches--item:hover { padding: 0; } .t-color-picker__select-options > .t-popup__content { -webkit-box-shadow: var(--td-shadow-1), var(--td-shadow-inset-top), var(--td-shadow-inset-right), var(--td-shadow-inset-bottom), var(--td-shadow-inset-left); box-shadow: var(--td-shadow-1), var(--td-shadow-inset-top), var(--td-shadow-inset-right), var(--td-shadow-inset-bottom), var(--td-shadow-inset-left); }