@uploadcare/blocks
Version:
Building blocks for Uploadcare products integration
969 lines (844 loc) • 25 kB
CSS
:where(.lr-cldtr-common),
:host {
/* Theme settings >>> */
--rgb-primary-accent: 6, 2, 196;
--rgb-text-base: 0, 0, 0;
--rgb-text-accent-contrast: 255, 255, 255;
--rgb-fill-contrast: 255, 255, 255;
--rgb-fill-shaded: 245, 245, 245;
--rgb-shadow: 0, 0, 0;
--rgb-error: 209, 81, 81;
--opacity-shade-mid: 0.2;
/* <<< Theme settings */
--color-primary-accent: rgb(var(--rgb-primary-accent));
--color-text-base: rgb(var(--rgb-text-base));
--color-text-accent-contrast: rgb(var(--rgb-text-accent-contrast));
--color-text-soft: rgb(var(--rgb-fill-contrast));
--color-text-error: rgb(var(--rgb-error));
--color-fill-contrast: rgb(var(--rgb-fill-contrast));
--color-modal-backdrop: rgba(var(--rgb-fill-shaded), 0.95);
--color-image-background: rgba(var(--rgb-fill-shaded));
--color-outline: rgba(var(--rgb-text-base), var(--opacity-shade-mid));
--color-underline: rgba(var(--rgb-text-base), 0.08);
--color-shade: rgba(var(--rgb-text-base), 0.02);
--color-focus-ring: var(--color-primary-accent);
--color-input-placeholder: rgba(var(--rgb-text-base), 0.32);
--color-error: rgb(var(--rgb-error));
--font-size-ui: 16px;
--font-size-title: 18px;
--font-weight-title: 500;
--font-size-soft: 14px;
--size-touch-area: 40px;
--size-panel-heading: 66px;
--size-ui-min-width: 130px;
--size-line-width: 1px;
--size-modal-width: 650px;
--border-radius-connect: 2px;
--border-radius-editor: 3px;
--border-radius-thumb: 4px;
--border-radius-ui: 5px;
--border-radius-base: 6px;
--gap-min: 5px;
--gap-mid-1: 10px;
--gap-mid-2: 15px;
--gap-max: 20px;
--opacity-min: var(--opacity-shade-mid);
--opacity-mid: 0.1;
--opacity-max: 0.05;
--transition-duration-2: var(--transition-duration-all, 0.2s);
--transition-duration-3: var(--transition-duration-all, 0.3s);
--transition-duration-4: var(--transition-duration-all, 0.4s);
--transition-duration-5: var(--transition-duration-all, 0.5s);
--shadow-base: 0px 5px 15px rgba(var(--rgb-shadow), 0.1), 0px 1px 4px rgba(var(--rgb-shadow), 0.15);
}
:where(.lr-cldtr-common) :is([can-handle-paste]:hover, [can-handle-paste]:focus),
:host :is([can-handle-paste]:hover, [can-handle-paste]:focus) {
--can-handle-paste: 'true';
}
:where(.lr-cldtr-common)
:is([tabindex][focus-visible], [tabindex]:hover, [with-effects][focus-visible], [with-effects]:hover),
:host :is([tabindex][focus-visible], [tabindex]:hover, [with-effects][focus-visible], [with-effects]:hover) {
--filter-effect: var(--hover-filter) ;
--opacity-effect: var(--hover-opacity) ;
--color-effect: var(--hover-color-rgb) ;
}
:where(.lr-cldtr-common) :is([tabindex]:active, [with-effects]:active),
:host :is([tabindex]:active, [with-effects]:active) {
--filter-effect: var(--down-filter) ;
--opacity-effect: var(--down-opacity) ;
--color-effect: var(--down-color-rgb) ;
}
:where(.lr-cldtr-common) :is([tabindex][active], [with-effects][active]),
:host :is([tabindex][active], [with-effects][active]) {
--filter-effect: var(--active-filter) ;
--opacity-effect: var(--active-opacity) ;
--color-effect: var(--active-color-rgb) ;
}
:where(.lr-cldtr-common) [hidden-scrollbar]::-webkit-scrollbar,
:host [hidden-scrollbar]::-webkit-scrollbar {
display: none;
}
:where(.lr-cldtr-common) [hidden-scrollbar],
:host [hidden-scrollbar] {
-ms-overflow-style: none;
scrollbar-width: none;
}
lr-cloud-editor {
display: block;
width: 100%;
height: 100%;
max-height: 100%;
--modal-header-opacity: 1;
--modal-header-height: var(--size-panel-heading);
--modal-toolbar-height: var(--size-panel-heading);
--transparent-pixel: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=');
}
lr-cloud-editor.editor_ON {
--modal-header-opacity: 0;
--modal-header-height: 0px;
--modal-toolbar-height: calc(var(--size-panel-heading) * 2);
}
lr-cloud-editor.editor_OFF {
--modal-header-opacity: 1;
--modal-header-height: var(--size-panel-heading);
--modal-toolbar-height: var(--size-panel-heading);
}
lr-cloud-editor > .wrapper {
position: relative;
display: grid;
grid-template-rows: minmax(var(--l-min-img-height), var(--l-max-img-height)) minmax(var(--modal-toolbar-height), auto);
height: 100%;
overflow: hidden;
overflow-y: auto;
transition: 0.3s;
--l-min-img-height: var(--modal-toolbar-height);
--l-max-img-height: 100%;
--l-edit-button-width: 120px;
--l-toolbar-horizontal-padding: var(--gap-mid-1);
}
@media only screen and (max-width: 800px) {
lr-cloud-editor > .wrapper {
--l-edit-button-width: 70px;
--l-toolbar-horizontal-padding: var(--gap-min);
}
}
lr-cloud-editor > .wrapper > .viewport {
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
}
lr-cloud-editor > .wrapper > .viewport > .image_container > .image {
--viewer-image-opacity: 1;
position: absolute;
top: 0px;
left: 0px;
z-index: 10;
display: block;
box-sizing: border-box;
width: 100%;
height: 100%;
object-fit: scale-down;
background-color: var(--color-image-background);
transform: scale(1);
opacity: var(--viewer-image-opacity);
user-select: none;
pointer-events: auto;
}
lr-cloud-editor > .wrapper > .viewport > .image_container > .image.image_visible_viewer {
transition: opacity var(--transition-duration-3) ease-in-out, transform var(--transition-duration-4);
}
lr-cloud-editor > .wrapper > .viewport > .image_container > .image.image_hidden_to_cropper {
background-image: var(--transparent-pixel);
transform: scale(1);
transition: transform var(--transition-duration-4), opacity var(--transition-duration-3) steps(1, jump-end);
pointer-events: none;
--viewer-image-opacity: 0;
}
lr-cloud-editor > .wrapper > .viewport > .image_container > .image.image_hidden_effects {
transform: scale(1);
transition: opacity var(--transition-duration-3) cubic-bezier(0.5, 0, 1, 1), transform var(--transition-duration-4);
pointer-events: none;
--viewer-image-opacity: 0;
}
lr-cloud-editor > .wrapper > .viewport > .image_container {
position: relative;
display: block;
width: 100%;
height: 100%;
background-color: var(--color-image-background);
transition: var(--transition-duration-3);
}
lr-cloud-editor > .wrapper > .toolbar {
position: relative;
transition: 0.3s;
}
lr-cloud-editor > .wrapper > .toolbar > .toolbar_content {
position: absolute;
bottom: 0px;
left: 0px;
box-sizing: border-box;
width: 100%;
height: var(--modal-toolbar-height);
min-height: var(--size-panel-heading);
background-color: var(--color-fill-contrast);
}
lr-cloud-editor > .wrapper > .toolbar > .toolbar_content.toolbar_content__viewer {
display: flex;
align-items: center;
justify-content: space-between;
height: var(--size-panel-heading);
padding-right: var(--l-toolbar-horizontal-padding);
padding-left: var(--l-toolbar-horizontal-padding);
}
lr-cloud-editor > .wrapper > .toolbar > .toolbar_content.toolbar_content__editor {
display: flex;
}
lr-cloud-editor > .wrapper > .viewport > .info_pan {
position: absolute;
user-select: none;
}
lr-cloud-editor > .wrapper > .viewport > .file_type_outer {
position: absolute;
z-index: 2;
display: flex;
max-width: 120px;
transform: translateX(-40px);
user-select: none;
}
lr-cloud-editor > .wrapper > .viewport > .file_type_outer > .file_type {
padding: 4px 0.8em;
}
lr-cloud-editor > .wrapper > .network_problems_splash {
position: absolute;
z-index: 4;
display: flex;
flex-direction: column;
width: 100%;
height: 100%;
background-color: var(--color-fill-contrast);
}
lr-cloud-editor > .wrapper > .network_problems_splash > .network_problems_content {
display: flex;
flex: 1;
flex-direction: column;
align-items: center;
justify-content: center;
}
lr-cloud-editor > .wrapper > .network_problems_splash > .network_problems_content > .network_problems_icon {
display: flex;
align-items: center;
justify-content: center;
width: 40px;
height: 40px;
color: rgba(var(--rgb-text-base), 0.6);
background-color: rgba(var(--rgb-fill-shaded));
border-radius: 50%;
}
lr-cloud-editor > .wrapper > .network_problems_splash > .network_problems_content > .network_problems_text {
margin-top: var(--gap-max);
font-size: var(--font-size-ui);
}
lr-cloud-editor > .wrapper > .network_problems_splash > .network_problems_footer {
display: flex;
align-items: center;
justify-content: center;
height: var(--size-panel-heading);
}
lr-crop-frame > .svg {
position: absolute;
top: 0px;
left: 0px;
z-index: 2;
width: 100%;
height: 100%;
border-top-left-radius: var(--border-radius-base);
border-top-right-radius: var(--border-radius-base);
opacity: inherit;
transition: var(--transition-duration-3);
}
lr-crop-frame > .thumb {
--idle-color-rgb: var(--color-text-base);
--hover-color-rgb: var(--color-primary-accent);
--focus-color-rgb: var(--color-primary-accent);
--down-color-rgb: var(--color-primary-accent);
--color-effect: var(--idle-color-rgb);
color: var(--color-effect);
transition: color var(--transition-duration-3), opacity var(--transition-duration-3);
}
lr-crop-frame > .thumb--visible {
opacity: 1;
pointer-events: auto;
}
lr-crop-frame > .thumb--hidden {
opacity: 0;
pointer-events: none;
}
lr-crop-frame > .guides {
transition: var(--transition-duration-3);
}
lr-crop-frame > .guides--hidden {
opacity: 0;
}
lr-crop-frame > .guides--semi-hidden {
opacity: 0.2;
}
lr-crop-frame > .guides--visible {
opacity: 1;
}
lr-editor-button-control,
lr-editor-crop-button-control,
lr-editor-filter-control,
lr-editor-operation-control {
--l-base-min-width: 40px;
--l-base-height: var(--l-base-min-width);
--opacity-effect: var(--idle-opacity);
--color-effect: var(--idle-color-rgb);
--filter-effect: var(--idle-filter);
--idle-color-rgb: var(--rgb-text-base);
--idle-opacity: 0.05;
--idle-filter: 1;
--hover-color-rgb: var(--idle-color-rgb);
--hover-opacity: 0.08;
--hover-filter: 0.8;
--down-color-rgb: var(--hover-color-rgb);
--down-opacity: 0.12;
--down-filter: 0.6;
position: relative;
display: grid;
grid-template-columns: var(--l-base-min-width) auto;
align-items: center;
height: var(--l-base-height);
color: rgba(var(--idle-color-rgb));
outline: none;
cursor: pointer;
transition: var(--l-width-transition);
}
lr-editor-button-control > .active,
lr-editor-operation-control > .active,
lr-editor-crop-button-control > .active,
lr-editor-filter-control > .active {
--idle-color-rgb: var(--rgb-primary-accent);
}
lr-editor-button-control > .not_active,
lr-editor-operation-control > .not_active,
lr-editor-crop-button-control > .not_active,
lr-editor-filter-control > .not_active {
--idle-color-rgb: var(--rgb-text-base);
}
lr-editor-button-control > .before,
lr-editor-operation-control > .before,
lr-editor-crop-button-control > .before,
lr-editor-filter-control > .before {
position: absolute;
right: 0px;
left: 0px;
z-index: -1;
width: 100%;
height: 100%;
background-color: rgba(var(--color-effect), var(--opacity-effect));
border-radius: var(--border-radius-editor);
transition: var(--transition-duration-3);
}
lr-editor-button-control > .title,
lr-editor-operation-control > .title,
lr-editor-crop-button-control > .title,
lr-editor-filter-control > .title {
padding-right: var(--gap-mid-1);
font-size: 0.7em;
letter-spacing: 1.004px;
text-transform: uppercase;
}
lr-editor-filter-control > .preview {
position: absolute;
right: 0px;
left: 0px;
z-index: 1;
width: 100%;
height: var(--l-base-height);
background-repeat: no-repeat;
background-size: contain;
border-radius: var(--border-radius-editor);
opacity: 0;
filter: brightness(var(--filter-effect));
transition: var(--transition-duration-3);
}
lr-editor-filter-control > .original-icon {
color: var(--color-text-base);
opacity: 0.3;
}
lr-editor-image-cropper {
position: absolute;
top: 0px;
left: 0px;
z-index: 10;
display: block;
width: 100%;
height: 100%;
opacity: 0;
pointer-events: none;
touch-action: none;
}
lr-editor-image-cropper.active_from_editor {
transform: scale(1) translate(0px, 0px);
opacity: 1;
transition: transform var(--transition-duration-4) cubic-bezier(0.37, 0, 0.63, 1) 0.4s,
opacity var(--transition-duration-3);
pointer-events: auto;
}
lr-editor-image-cropper.active_from_viewer {
transform: scale(1) translate(0px, 0px);
opacity: 1;
transition: transform var(--transition-duration-4) cubic-bezier(0.37, 0, 0.63, 1) 0.4s,
opacity var(--transition-duration-3);
pointer-events: auto;
}
lr-editor-image-cropper.inactive_to_editor {
opacity: 0;
transition: transform var(--transition-duration-4) cubic-bezier(0.37, 0, 0.63, 1),
opacity var(--transition-duration-3) calc(var(--transition-duration-3) + 0.05s);
pointer-events: none;
}
lr-editor-image-cropper > .canvas {
position: absolute;
top: 0px;
left: 0px;
z-index: 1;
display: block;
width: 100%;
height: 100%;
}
lr-editor-image-fader {
position: absolute;
top: 0px;
left: 0px;
display: block;
width: 100%;
height: 100%;
}
lr-editor-image-fader.active_from_viewer {
z-index: 3;
transform: scale(1);
opacity: 1;
transition: transform var(--transition-duration-4), opacity var(--transition-duration-3) steps(1, jump-start);
pointer-events: auto;
}
lr-editor-image-fader.active_from_cropper {
z-index: 3;
transform: scale(1);
opacity: 1;
transition: transform var(--transition-duration-4), opacity var(--transition-duration-3) steps(1, jump-end);
pointer-events: auto;
}
lr-editor-image-fader.inactive_to_cropper {
z-index: 3;
transform: scale(1);
opacity: 0;
transition: transform var(--transition-duration-4), opacity var(--transition-duration-3) steps(1, jump-end);
pointer-events: none;
}
lr-editor-image-fader .fader-image {
position: absolute;
top: 0px;
left: 0px;
display: block;
width: 100%;
height: 100%;
object-fit: scale-down;
transform: scale(1);
user-select: none;
content-visibility: auto;
}
lr-editor-image-fader .fader-image--preview {
background-color: var(--color-image-background);
border-top-left-radius: var(--border-radius-base);
border-top-right-radius: var(--border-radius-base);
transform: scale(1);
opacity: 0;
transition: var(--transition-duration-3);
}
lr-editor-scroller {
display: flex;
align-items: center;
width: 100%;
height: 100%;
overflow-x: scroll;
}
lr-editor-slider {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 66px;
}
lr-editor-toolbar {
position: relative;
width: 100%;
height: 100%;
}
@media only screen and (max-width: 600px) {
lr-editor-toolbar {
--l-tab-gap: var(--gap-mid-1);
--l-slider-padding: var(--gap-min);
--l-controls-padding: var(--gap-min);
}
}
@media only screen and (min-width: 601px) {
lr-editor-toolbar {
--l-tab-gap: calc(var(--gap-mid-1) + var(--gap-max));
--l-slider-padding: var(--gap-mid-1);
--l-controls-padding: var(--gap-mid-1);
}
}
lr-editor-toolbar > .toolbar-container {
position: relative;
width: 100%;
height: 100%;
overflow: hidden;
}
lr-editor-toolbar > .toolbar-container > .sub-toolbar {
position: absolute;
display: grid;
grid-template-rows: 1fr 1fr;
width: 100%;
height: 100%;
background-color: var(--color-fill-contrast);
transition: opacity var(--transition-duration-3) ease-in-out, transform var(--transition-duration-3) ease-in-out,
visibility var(--transition-duration-3) ease-in-out;
}
lr-editor-toolbar > .toolbar-container > .sub-toolbar.sub-toolbar--visible {
transform: translateY(0px);
opacity: 1;
pointer-events: auto;
}
lr-editor-toolbar > .toolbar-container > .sub-toolbar.sub-toolbar--top-hidden {
transform: translateY(100%);
opacity: 0;
pointer-events: none;
}
lr-editor-toolbar > .toolbar-container > .sub-toolbar.sub-toolbar--bottom-hidden {
transform: translateY(-100%);
opacity: 0;
pointer-events: none;
}
lr-editor-toolbar > .toolbar-container > .sub-toolbar > .controls-row {
display: flex;
align-items: center;
justify-content: space-between;
padding-right: var(--l-controls-padding);
padding-left: var(--l-controls-padding);
}
lr-editor-toolbar > .toolbar-container > .sub-toolbar > .controls-row > .tab-toggles {
position: relative;
display: grid;
grid-auto-flow: column;
grid-gap: 0px var(--l-tab-gap);
align-items: center;
height: 100%;
}
lr-editor-toolbar > .toolbar-container > .sub-toolbar > .controls-row > .tab-toggles > .tab-toggles_indicator {
position: absolute;
bottom: 0px;
left: 0px;
width: var(--size-touch-area);
height: 2px;
background-color: var(--color-primary-accent);
transform: translateX(0px);
transition: transform var(--transition-duration-3);
}
lr-editor-toolbar > .toolbar-container > .sub-toolbar > .tab-content-row {
position: relative;
}
lr-editor-toolbar > .toolbar-container > .sub-toolbar > .tab-content-row > .tab-content {
position: absolute;
top: 0px;
left: 0px;
display: flex;
width: 100%;
height: 100%;
overflow: hidden;
opacity: 0;
content-visibility: auto;
}
lr-editor-toolbar > .toolbar-container > .sub-toolbar > .tab-content-row > .tab-content.tab-content--visible {
opacity: 1;
pointer-events: auto;
}
lr-editor-toolbar > .toolbar-container > .sub-toolbar > .tab-content-row > .tab-content.tab-content--hidden {
opacity: 0;
pointer-events: none;
}
lr-editor-toolbar > .toolbar-container > .sub-toolbar > .tab-content-row > .tab-content .controls-list_align {
display: grid;
grid-template-areas: '. inner .';
grid-template-columns: 1fr auto 1fr;
box-sizing: border-box;
min-width: 100%;
padding-left: var(--gap-max);
}
lr-editor-toolbar > .toolbar-container > .sub-toolbar > .tab-content-row > .tab-content .controls-list_inner {
display: grid;
grid-area: inner;
grid-auto-flow: column;
grid-gap: calc((var(--gap-min) - 1px) * 3);
}
lr-editor-toolbar
> .toolbar-container
> .sub-toolbar
> .tab-content-row
> .tab-content
.controls-list_inner:last-child {
padding-right: var(--gap-max);
}
lr-editor-toolbar .controls-list_last-item {
margin-right: var(--gap-max);
}
lr-editor-toolbar .filter-tooltip_container {
position: absolute;
display: flex;
align-items: flex-start;
justify-content: center;
width: 100%;
height: 100%;
}
lr-editor-toolbar .filter-tooltip_wrapper {
position: absolute;
top: calc(-100% - var(--gap-mid-2));
display: flex;
flex-direction: column;
justify-content: flex-end;
height: 100%;
pointer-events: none;
}
lr-editor-toolbar .filter-tooltip {
z-index: 3;
padding-top: calc(var(--gap-min) / 2);
padding-right: var(--gap-min);
padding-bottom: calc(var(--gap-min) / 2);
padding-left: var(--gap-min);
color: var(--color-text-base);
font-size: 0.7em;
letter-spacing: 1px;
text-transform: uppercase;
background-color: var(--color-text-accent-contrast);
border-radius: var(--border-radius-editor);
opacity: 0;
transition: var(--transition-duration-3);
}
lr-editor-toolbar .filter-tooltip_visible {
transform: translateY(0px);
opacity: 1;
}
lr-editor-toolbar .filter-tooltip_hidden {
transform: translateY(100%);
opacity: 0;
}
lr-editor-toolbar .slider {
padding-right: var(--l-slider-padding);
padding-left: var(--l-slider-padding);
}
lr-btn-ui {
--filter-effect: var(--idle-brightness);
--opacity-effect: var(--idle-opacity);
--color-effect: var(--idle-color-rgb);
--l-transition-effect: var(--css-transition, color var(--transition-duration-2), filter var(--transition-duration-2));
display: inline-flex;
align-items: center;
box-sizing: var(--css-box-sizing, border-box);
height: var(--css-height, var(--size-touch-area));
padding-right: var(--css-padding-right, var(--gap-mid-1));
padding-left: var(--css-padding-left, var(--gap-mid-1));
color: rgba(var(--color-effect), var(--opacity-effect));
outline: none;
cursor: pointer;
filter: brightness(var(--filter-effect));
transition: var(--l-transition-effect);
user-select: none;
}
lr-btn-ui .text {
white-space: nowrap;
}
lr-btn-ui .icon {
display: flex;
align-items: center;
justify-content: center;
color: rgba(var(--color-effect), var(--opacity-effect));
filter: brightness(var(--filter-effect));
transition: var(--l-transition-effect);
}
lr-btn-ui .icon_left {
margin-right: var(--gap-mid-1);
margin-left: 0px;
}
lr-btn-ui .icon_right {
margin-right: 0px;
margin-left: var(--gap-mid-1);
}
lr-btn-ui .icon_single {
margin-right: 0px;
margin-left: 0px;
}
lr-btn-ui .icon_hidden {
display: none;
margin: 0;
}
lr-btn-ui.primary {
--idle-color-rgb: var(--rgb-primary-accent);
--idle-brightness: 1;
--idle-opacity: 0.6;
--hover-color-rgb: var(--idle-color-rgb);
--hover-brightness: 1;
--hover-opacity: 1;
--down-color-rgb: var(--hover-color-rgb);
--down-brightness: 0.75;
--down-opacity: 1;
--active-color-rgb: var(--rgb-primary-accent);
--active-brightness: 1;
--active-opacity: 1;
}
lr-btn-ui.boring {
--idle-color-rgb: var(--rgb-text-base);
--idle-brightness: 1;
--idle-opacity: 0.6;
--hover-color-rgb: var(--rgb-text-base);
--hover-brightness: 1;
--hover-opacity: 1;
--down-color-rgb: var(--hover-color-rgb);
--down-brightness: 1;
--down-opacity: 1;
--active-color-rgb: var(--rgb-primary-accent);
--active-brightness: 1;
--active-opacity: 1;
}
lr-btn-ui.default {
--idle-color-rgb: var(--rgb-text-base);
--idle-brightness: 1;
--idle-opacity: 0.6;
--hover-color-rgb: var(--rgb-primary-accent);
--hover-brightness: 1;
--hover-opacity: 1;
--down-color-rgb: var(--hover-color-rgb);
--down-brightness: 0.75;
--down-opacity: 1;
--active-color-rgb: var(--rgb-primary-accent);
--active-brightness: 1;
--active-opacity: 1;
}
lr-line-loader-ui {
position: absolute;
top: 0px;
left: 0px;
z-index: 9999;
width: 100%;
height: 2px;
opacity: 0.5;
}
lr-line-loader-ui .inner {
width: 25%;
max-width: 200px;
height: 100%;
}
lr-line-loader-ui .line {
width: 100%;
height: 100%;
background-color: var(--color-primary-accent);
transform: translateX(-101%);
transition: transform 1s;
}
lr-slider-ui {
--l-thumb-size: 24px;
--l-zero-dot-size: 5px;
--l-zero-dot-offset: 2px;
--idle-color-rgb: var(--rgb-text-base);
--hover-color-rgb: var(--rgb-primary-accent);
--down-color-rgb: var(--rgb-primary-accent);
--color-effect: var(--idle-color-rgb);
--l-color: rgb(var(--color-effect));
position: relative;
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: calc(var(--l-thumb-size) + (var(--l-zero-dot-size) + var(--l-zero-dot-offset)) * 2);
}
lr-slider-ui .thumb {
position: absolute;
left: 0px;
width: var(--l-thumb-size);
height: var(--l-thumb-size);
background-color: var(--l-color);
border-radius: 50%;
transform: translateX(0px);
opacity: 1;
transition: opacity var(--transition-duration-2);
}
lr-slider-ui .steps {
position: absolute;
display: flex;
align-items: center;
justify-content: space-between;
box-sizing: border-box;
width: 100%;
height: 100%;
padding-right: calc(var(--l-thumb-size) / 2);
padding-left: calc(var(--l-thumb-size) / 2);
}
lr-slider-ui .border-step {
width: 0px;
height: 10px;
border-right: 1px solid var(--l-color);
opacity: 0.6;
transition: var(--transition-duration-2);
}
lr-slider-ui .minor-step {
width: 0px;
height: 4px;
border-right: 1px solid var(--l-color);
opacity: 0.2;
transition: var(--transition-duration-2);
}
lr-slider-ui .zero-dot {
position: absolute;
top: calc(100% - var(--l-zero-dot-offset) * 2);
left: calc(var(--l-thumb-size) / 2 - var(--l-zero-dot-size) / 2);
width: var(--l-zero-dot-size);
height: var(--l-zero-dot-size);
background-color: var(--color-primary-accent);
border-radius: 50%;
opacity: 0;
transition: var(--transition-duration-3);
}
lr-slider-ui .input {
position: absolute;
width: calc(100% - 10px);
height: 100%;
margin: 0;
cursor: pointer;
opacity: 0;
}
lr-presence-toggle.transition {
transition: opacity var(--transition-duration-3), visibility var(--transition-duration-3);
}
lr-presence-toggle.visible {
opacity: 1;
pointer-events: inherit;
}
lr-presence-toggle.hidden {
opacity: 0;
pointer-events: none;
}
/* TODO: remove ctx-provider */
/* stylelint-disable-next-line plugin/stylelint-force-app-name-prefix */
ctx-provider {
--color-text-base: black;
--color-primary-accent: blue;
display: flex;
align-items: center;
justify-content: center;
width: 190px;
height: 40px;
padding-right: 10px;
padding-left: 10px;
background-color: #f5f5f5;
border-radius: 3px;
}