UNPKG

@uploadcare/file-uploader

Version:

Building blocks for Uploadcare products integration

1,198 lines (1,050 loc) 30.4 kB
/* TODO: we shuoud use basic theme there */ [uc-cloud-image-editor] { --color-primary-accent: var(--uc-primary); --color-text-base: var(--uc-foreground); --color-text-accent-contrast: var(--uc-background); --color-fill-contrast: var(--uc-background); --color-modal-backdrop: oklch(0 0 0 / 0.1); --color-image-background: var(--uc-muted); --color-focus-ring: var(--color-primary-accent); --color-crop-guides: var(--uc-foreground); --font-size-ui: var(--uc-font-size); --size-touch-area: var(--uc-button-size); --size-panel-heading: calc(var(--uc-button-size) + var(--uc-padding) * 2); --size-ui-min-width: 130px; --size-line-width: 1px; --size-modal-width: 650px; --size-icon: calc(var(--uc-button-size) / 2); /* TODO: remove icon size overrides */ --border-radius-editor: var(--uc-radius); --border-radius-thumb: var(--uc-radius); --border-radius-ui: var(--uc-radius); --border-radius-base: var(--uc-radius); --cldtr-gap-min: 5px; --cldtr-gap-mid-1: 10px; --cldtr-gap-mid-2: 15px; --cldtr-gap-max: 20px; --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); --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='); display: block; width: 100%; height: 100%; max-height: 100%; } [uc-cloud-image-editor] :is([can-handle-paste]:hover, [can-handle-paste]:focus) { --can-handle-paste: 'true'; } [uc-cloud-image-editor] :is([tabindex][focus-visible], [tabindex]:hover, [with-effects][focus-visible], [with-effects]:hover) { --filter-effect: var(--hover-filter) !important; --opacity-effect: var(--hover-opacity) !important; --color-effect: var(--hover-color-rgb) !important; --background-effect: var(--hover-background) !important; } [uc-cloud-image-editor] :is([tabindex]:active, [with-effects]:active) { --filter-effect: var(--down-filter) !important; --opacity-effect: var(--down-opacity) !important; --color-effect: var(--down-color-rgb) !important; --background-effect: var(--down-background) !important; } [uc-cloud-image-editor] :is([tabindex][active], [with-effects][active]) { --filter-effect: var(--active-filter) !important; --opacity-effect: var(--active-opacity) !important; --color-effect: var(--active-color-rgb) !important; --background-effect: var(--active-background) !important; } [uc-cloud-image-editor] [hidden-scrollbar]::-webkit-scrollbar { display: none; } [uc-cloud-image-editor] [hidden-scrollbar] { -ms-overflow-style: none; scrollbar-width: none; } [uc-cloud-image-editor].uc-editor_ON { --modal-header-opacity: 0; --modal-header-height: 0px; --modal-toolbar-height: calc(var(--size-panel-heading) * 2); } [uc-cloud-image-editor].uc-editor_OFF { --modal-header-opacity: 1; --modal-header-height: var(--size-panel-heading); --modal-toolbar-height: var(--size-panel-heading); } [uc-cloud-image-editor] > .uc-wrapper { --l-min-img-height: var(--modal-toolbar-height); --l-max-img-height: 100%; --l-edit-button-width: 120px; --l-toolbar-horizontal-padding: var(--cldtr-gap-mid-1); 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; } @media only screen and (max-width: 800px) { [uc-cloud-image-editor] > .uc-wrapper { --l-edit-button-width: 70px; --l-toolbar-horizontal-padding: var(--cldtr-gap-min); } } [uc-cloud-image-editor] > .uc-wrapper > .uc-viewport { display: flex; align-items: center; justify-content: center; overflow: hidden; } [uc-cloud-image-editor] > .uc-wrapper > .uc-viewport > .uc-image_container > .uc-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; } [uc-cloud-image-editor] > .uc-wrapper > .uc-viewport > .uc-image_container > .uc-image.uc-image_visible_viewer { transition: opacity var(--transition-duration-3) ease-in-out, transform var(--transition-duration-4); } [uc-cloud-image-editor] > .uc-wrapper > .uc-viewport > .uc-image_container > .uc-image.uc-image_hidden_to_cropper { --viewer-image-opacity: 0; 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; } [uc-cloud-image-editor] > .uc-wrapper > .uc-viewport > .uc-image_container > .uc-image.uc-image_hidden_effects { --viewer-image-opacity: 0; transform: scale(1); transition: opacity var(--transition-duration-3) cubic-bezier(0.5, 0, 1, 1), transform var(--transition-duration-4); pointer-events: none; } [uc-cloud-image-editor] > .uc-wrapper > .uc-viewport > .uc-image_container { position: relative; display: block; width: 100%; height: 100%; background-color: var(--color-image-background); transition: var(--transition-duration-3); } [uc-cloud-image-editor] > .uc-wrapper > .uc-toolbar { position: relative; transition: 0.3s; } [uc-cloud-image-editor] > .uc-wrapper > .uc-toolbar > .uc-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); } [uc-cloud-image-editor] > .uc-wrapper > .uc-toolbar > .uc-toolbar_content.uc-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); } [uc-cloud-image-editor] > .uc-wrapper > .uc-toolbar > .uc-toolbar_content.uc-toolbar_content__editor { display: flex; } [uc-cloud-image-editor] > .uc-wrapper > .uc-viewport > .uc-info_pan { position: absolute; user-select: none; } [uc-cloud-image-editor] > .uc-wrapper > .uc-viewport > .uc-file_type_outer { position: absolute; z-index: 2; display: flex; max-width: 120px; transform: translateX(-40px); user-select: none; } [uc-cloud-image-editor] > .uc-wrapper > .uc-viewport > .uc-file_type_outer > .uc-file_type { padding: 4px 0.8em; } [uc-cloud-image-editor] > .uc-wrapper > .uc-network_problems_splash { position: absolute; z-index: 4; display: flex; flex-direction: column; width: 100%; height: 100%; background-color: var(--color-fill-contrast); } [uc-cloud-image-editor] > .uc-wrapper > .uc-network_problems_splash > .uc-network_problems_content { display: flex; flex: 1; flex-direction: column; align-items: center; justify-content: center; } [uc-cloud-image-editor] > .uc-wrapper > .uc-network_problems_splash > .uc-network_problems_content > .uc-network_problems_icon { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; color: var(--uc-foreground); background-color: var(--uc-muted); border-radius: 50%; } [uc-cloud-image-editor] > .uc-wrapper > .uc-network_problems_splash > .uc-network_problems_content > .uc-network_problems_text { margin-top: var(--cldtr-gap-max); font-size: var(--font-size-ui); color: var(--uc-foreground); } [uc-cloud-image-editor] > .uc-wrapper > .uc-network_problems_splash > .uc-network_problems_footer { display: flex; align-items: center; justify-content: center; height: var(--size-panel-heading); } uc-crop-frame > .uc-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); } uc-crop-frame > .uc-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); } uc-crop-frame > .uc-thumb--visible { opacity: 1; pointer-events: auto; } uc-crop-frame > .uc-thumb--hidden { opacity: 0; pointer-events: none; } uc-crop-frame > .uc-guides { transition: var(--transition-duration-3); } uc-crop-frame > .uc-guides--hidden { opacity: 0; } uc-crop-frame > .uc-guides--semi-hidden { opacity: 0.2; } uc-crop-frame > .uc-guides--visible { opacity: 1; } uc-editor-button-control, uc-editor-crop-button-control, uc-editor-filter-control, uc-editor-operation-control { --l-base-min-width: var(--uc-button-size); --l-base-height: var(--uc-button-size); --opacity-effect: var(--idle-opacity); --color-effect: var(--idle-color-rgb); --background-effect: var(--idle-background); --filter-effect: var(--idle-filter); --idle-color-rgb: var(--uc-secondary-foreground); --idle-opacity: 1; --idle-filter: 1; --idle-background: var(--uc-secondary); --hover-color-rgb: var(--uc-secondary-foreground); --hover-opacity: 1; --hover-filter: 0.8; --hover-background: var(--uc-secondary-hover); --down-color-rgb: var(--hover-color-rgb); --down-opacity: 1; --down-filter: 0.6; --down-background: var(--uc-secondary); border-radius: var(--uc-radius); } uc-editor-button-control > button, uc-editor-crop-button-control > button, uc-editor-filter-control > button, uc-editor-operation-control > button { all: unset; position: relative; display: grid; grid-template-columns: var(--l-base-min-width) auto; grid-template-rows: 100%; align-items: center; height: var(--l-base-height); color: var(--color-effect); opacity: var(--opacity-effect); cursor: pointer; transition: var(--l-width-transition); } :where(uc-editor-button-control, uc-editor-crop-button-control, uc-editor-filter-control, uc-editor-operation-control) > uc-icon > svg { width: var(--size-icon); height: var(--size-icon); } uc-editor-filter-control > uc-icon.uc-original-icon > svg { width: 100%; height: 100%; } uc-editor-button-control.uc-active, uc-editor-operation-control.uc-active, uc-editor-crop-button-control.uc-active, uc-editor-filter-control.uc-active { --idle-color-rgb: var(--uc-primary-foreground); --idle-background: var(--uc-primary); --idle-opacity: 1; --hover-color-rgb: var(--uc-primary-foreground); --hover-background: var(--uc-primary); --hover-opacity: 1; } uc-editor-filter-control.uc-not_active .uc-preview[loaded] { opacity: 1; } uc-editor-filter-control.uc-active .uc-preview { opacity: 0; } uc-editor-button-control.uc-not_active, uc-editor-operation-control.uc-not_active, uc-editor-crop-button-control.uc-not_active, uc-editor-filter-control.uc-not_active { --idle-color-rgb: var(--uc-secondary-foreground); } :where(.uc-contrast) uc-editor-button-control.uc-not_active, :where(.uc-contrast) uc-editor-operation-control.uc-not_active, :where(.uc-contrast) uc-editor-crop-button-control.uc-not_active, :where(.uc-contrast) uc-editor-filter-control.uc-not_active { --idle-background: transparent; --hover-background: var(--uc-secondary); outline: 1px solid var(--uc-border); outline-offset: -1px; } uc-editor-button-control > button::before, uc-editor-operation-control > button::before, uc-editor-crop-button-control > button::before, uc-editor-filter-control > button::before { position: absolute; content: ''; right: 0; left: 0; z-index: -1; width: 100%; height: 100%; background-color: var(--background-effect); border-radius: var(--border-radius-editor); transition: var(--transition-duration-3); } uc-editor-button-control > button .uc-title, uc-editor-operation-control > button .uc-title, uc-editor-crop-button-control > button .uc-title, uc-editor-filter-control > button .uc-title { padding-right: var(--cldtr-gap-mid-1); font-size: 0.7em; letter-spacing: 1.004px; text-transform: uppercase; } uc-editor-button-control > button uc-icon, uc-editor-operation-control > button uc-icon, uc-editor-crop-button-control > button uc-icon, uc-editor-filter-control > button uc-icon { pointer-events: none; } uc-editor-filter-control > button .uc-preview { position: absolute; right: 0; left: 0; 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); } uc-editor-filter-control > .uc-original-icon { color: var(--color-effect); opacity: 0.3; } uc-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; color: var(--color-crop-guides); } uc-editor-image-cropper.uc-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; } uc-editor-image-cropper.uc-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; } uc-editor-image-cropper.uc-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; } uc-editor-image-cropper > .uc-canvas { position: absolute; top: 0px; left: 0px; z-index: 1; display: block; width: 100%; height: 100%; } uc-editor-image-fader { position: absolute; top: 0px; left: 0px; display: block; width: 100%; height: 100%; } uc-editor-image-fader.uc-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; } uc-editor-image-fader.uc-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; } uc-editor-image-fader.uc-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; } uc-editor-image-fader .uc-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; } uc-editor-image-fader .uc-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); } uc-editor-scroller { display: flex; align-items: center; width: 100%; height: 100%; overflow-x: scroll; } uc-editor-slider { display: flex; align-items: center; justify-content: center; width: 100%; height: var(--size-panel-heading); } uc-editor-toolbar { position: relative; width: 100%; height: 100%; } @media only screen and (max-width: 600px) { uc-editor-toolbar { --l-tab-gap: var(--cldtr-gap-mid-1); --l-slider-padding: var(--uc-padding); --l-controls-padding: var(--uc-padding); } } @media only screen and (min-width: 601px) { uc-editor-toolbar { --l-tab-gap: var(--cldtr-gap-max); --l-slider-padding: var(--uc-padding); --l-controls-padding: var(--uc-padding); } } uc-editor-toolbar > .uc-toolbar-container { position: relative; width: 100%; height: 100%; overflow: hidden; } uc-editor-toolbar > .uc-toolbar-container > .uc-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; } uc-editor-toolbar > .uc-toolbar-container > .uc-sub-toolbar.uc-sub-toolbar--visible { transform: translateY(0px); opacity: 1; pointer-events: auto; } uc-editor-toolbar > .uc-toolbar-container > .uc-sub-toolbar.uc-sub-toolbar--top-hidden { transform: translateY(100%); opacity: 0; pointer-events: none; } uc-editor-toolbar > .uc-toolbar-container > .uc-sub-toolbar.uc-sub-toolbar--bottom-hidden { transform: translateY(-100%); opacity: 0; pointer-events: none; } uc-editor-toolbar > .uc-toolbar-container > .uc-sub-toolbar > .uc-controls-row { display: flex; align-items: center; justify-content: space-between; padding-right: var(--l-controls-padding); padding-left: var(--l-controls-padding); } uc-editor-toolbar > .uc-toolbar-container > .uc-sub-toolbar > .uc-controls-row > .uc-tab-toggles { position: relative; display: grid; grid-auto-flow: column; grid-gap: 0px var(--l-tab-gap); align-items: center; height: 100%; } uc-editor-toolbar > .uc-toolbar-container > .uc-sub-toolbar > .uc-controls-row > .uc-tab-toggles > .uc-tab-toggles_indicator { position: absolute; bottom: 0px; left: 0px; width: var(--size-touch-area); height: 2px; background-color: var(--uc-secondary-foreground); transform: translateX(0px); transition: transform var(--transition-duration-3); } uc-editor-toolbar > .uc-toolbar-container > .uc-sub-toolbar > .uc-tab-content-row { position: relative; } uc-editor-toolbar > .uc-toolbar-container > .uc-sub-toolbar > .uc-tab-content-row > .uc-tab-content { position: absolute; top: 0px; left: 0px; display: flex; width: 100%; height: 100%; overflow: hidden; opacity: 0; content-visibility: auto; } uc-editor-toolbar > .uc-toolbar-container > .uc-sub-toolbar > .uc-tab-content-row > .uc-tab-content.uc-tab-content--visible { opacity: 1; pointer-events: auto; } uc-editor-toolbar > .uc-toolbar-container > .uc-sub-toolbar > .uc-tab-content-row > .uc-tab-content.uc-tab-content--hidden { opacity: 0; pointer-events: none; } uc-editor-toolbar > .uc-toolbar-container > .uc-sub-toolbar > .uc-controls-row > .uc-tab-toggles > .uc-tab-toggle.uc-tab-toggle--visible { display: contents; } uc-editor-toolbar > .uc-toolbar-container > .uc-sub-toolbar > .uc-controls-row > .uc-tab-toggles > .uc-tab-toggle.uc-tab-toggle--hidden { display: none; } uc-editor-toolbar > .uc-toolbar-container > .uc-sub-toolbar > .uc-controls-row > .uc-tab-toggles.uc-tab-toggles--hidden { display: none; } uc-editor-toolbar > .uc-toolbar-container > .uc-sub-toolbar > .uc-controls-row > .uc-tab-toggles > .uc-tab-toggle > uc-btn-ui { width: var(--uc-button-size); } uc-editor-toolbar > .uc-toolbar-container > .uc-sub-toolbar > .uc-controls-row > .uc-tab-toggles > .uc-tab-toggle > uc-btn-ui > uc-icon > svg { width: var(--size-icon); height: var(--size-icon); } uc-editor-toolbar > .uc-toolbar-container > .uc-sub-toolbar > .uc-tab-content-row > .uc-tab-content .uc-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(--uc-padding); } uc-editor-toolbar > .uc-toolbar-container > .uc-sub-toolbar > .uc-tab-content-row > .uc-tab-content .uc-controls-list_inner { display: grid; grid-area: inner; grid-auto-flow: column; gap: 6px; } uc-editor-toolbar > .uc-toolbar-container > .uc-sub-toolbar > .uc-tab-content-row > .uc-tab-content .uc-controls-list_inner:last-child { padding-right: var(--uc-padding); } uc-editor-toolbar .uc-controls-list_last-item { margin-right: var(--cldtr-gap-max); } uc-editor-toolbar .uc-info-tooltip_container { position: absolute; display: flex; align-items: flex-start; justify-content: center; width: 100%; height: 100%; } uc-editor-toolbar .uc-info-tooltip_wrapper { position: absolute; top: calc(-100% - var(--cldtr-gap-mid-2)); display: flex; flex-direction: column; justify-content: flex-end; height: 100%; pointer-events: none; } uc-editor-toolbar .uc-info-tooltip { z-index: 3; padding: 3px 6px; 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); transform: translateY(100%); opacity: 0; transition: var(--transition-duration-3); } uc-editor-toolbar .uc-info-tooltip_visible { transform: translateY(0px); opacity: 1; } uc-editor-toolbar .uc-slider { padding-right: var(--l-slider-padding); padding-left: var(--l-slider-padding); } uc-btn-ui > button { --filter-effect: var(--idle-brightness); --opacity-effect: var(--idle-opacity); --color-effect: var(--idle-color-rgb); --background-effect: var(--idle-background); --l-transition-effect: var( --css-transition, color var(--transition-duration-2), background-color var(--transition-duration-2), filter var(--transition-duration-2) ); all: unset; display: inline-flex; align-items: center; box-sizing: var(--css-box-sizing, border-box); height: var(--css-height, var(--uc-button-size)); padding-right: var(--css-padding-right, 14px); padding-left: var(--css-padding-left, 14px); font-size: 1em; color: var(--color-effect); background-color: var(--background-effect); border-radius: var(--uc-radius); opacity: var(--opacity-effect); cursor: pointer; filter: brightness(var(--filter-effect)); transition: var(--l-transition-effect); user-select: none; } uc-btn-ui > button > uc-icon { pointer-events: none; } uc-btn-ui .uc-text { white-space: nowrap; } uc-btn-ui .uc-icon { display: flex; align-items: center; justify-content: center; color: var(--color-effect); filter: brightness(var(--filter-effect)); transition: var(--l-transition-effect); } uc-btn-ui .uc-icon_left { margin-right: var(--cldtr-gap-mid-1); margin-left: 0px; } uc-btn-ui .uc-icon_right { margin-right: 0px; margin-left: var(--cldtr-gap-mid-1); } uc-btn-ui .uc-icon_single { margin-right: 0px; margin-left: 0px; } uc-btn-ui .uc-icon_hidden { display: none; margin: 0; } uc-btn-ui.uc-primary > button { --idle-color-rgb: var(--uc-primary-foreground); --idle-brightness: 1; --idle-opacity: 1; --idle-background: var(--uc-primary); --hover-color-rgb: var(--uc-primary-foreground); --hover-brightness: 1; --hover-opacity: 1; --hover-background: var(--uc-primary-hover); --down-color-rgb: var(--uc-primary-foreground); --down-brightness: 0.75; --down-opacity: 1; --down-background: var(--uc-primary); --active-color-rgb: var(--uc-primary-foreground); --active-brightness: 1; --active-opacity: 1; --active-background: var(--uc-primary); } uc-btn-ui.uc-primary-icon > button { --idle-color-rgb: var(--uc-primary); --idle-brightness: 1; --idle-opacity: 1; --idle-background: transparent; --hover-color-rgb: var(--uc-primary); --hover-brightness: 1; --hover-opacity: 1; --hover-background: var(--uc-primary-transparent); --down-color-rgb: var(--uc-primary); --down-brightness: 0.75; --down-opacity: 1; --down-background: var(--uc-primary-transparent); --active-color-rgb: var(--uc-primary-foreground); --active-brightness: 1; --active-opacity: 1; --active-background: var(--uc-primary); padding: 0; width: var(--uc-button-size); } uc-btn-ui.uc-secondary > button { --idle-color-rgb: var(--uc-secondary-foreground); --idle-brightness: 1; --idle-opacity: 1; --idle-background: var(--uc-secondary); --hover-color-rgb: var(--uc-secondary-foreground); --hover-brightness: 1; --hover-opacity: 1; --hover-background: var(--uc-secondary-hover); --down-color-rgb: var(--uc-secondary-foreground); --down-brightness: 1; --down-opacity: 1; --down-background: var(--uc-secondary-hover); --active-color-rgb: var(--uc-secondary-foreground); --active-brightness: 1; --active-opacity: 1; --active-background: transparent; } :where(.uc-contrast) uc-btn-ui.uc-secondary > button { border: 1px solid var(--uc-border); } uc-btn-ui.uc-secondary-icon > button { --idle-color-rgb: var(--uc-secondary-foreground); --idle-brightness: 1; --idle-opacity: 1; --idle-background: transparent; --hover-color-rgb: var(--uc-secondary-foreground); --hover-brightness: 1; --hover-opacity: 1; --hover-background: var(--uc-secondary); --down-color-rgb: var(--uc-secondary-foreground); --down-brightness: 1; --down-opacity: 1; --down-background: var(--uc-secondary); --active-color-rgb: var(--uc-secondary-foreground); --active-brightness: 1; --active-opacity: 1; --active-background: transparent; padding: 0; width: var(--uc-button-size); } uc-btn-ui.uc-tab > button { --idle-color-rgb: var(--uc-secondary-foreground); --idle-brightness: 1; --idle-opacity: 1; --idle-background: transparent; --hover-color-rgb: var(--uc-secondary-foreground); --hover-brightness: 1; --hover-opacity: 1; --hover-background: var(--uc-secondary); --down-color-rgb: var(--uc-secondary-foreground); --down-brightness: 1; --down-opacity: 1; --down-background: var(--uc-secondary); --active-color-rgb: var(--uc-secondary-foreground); --active-brightness: 1; --active-opacity: 1; --active-background: transparent; padding: 0; width: var(--uc-button-size); } uc-btn-ui.uc-default > button { --idle-color-rgb: var(--uc-secondary-foreground); --idle-brightness: 1; --idle-opacity: 1; --idle-background: var(--uc-secondary); --hover-color-rgb: var(--uc-secondary-foreground); --hover-brightness: 1; --hover-opacity: 1; --hover-background: var(--uc-secondary-hover); --down-color-rgb: var(--uc-secondary-foreground); --down-brightness: 0.75; --down-opacity: 1; --down-background: var(--uc-secondary); --active-color-rgb: var(--uc-primary); --active-brightness: 1; --active-opacity: 1; --active-background: var(--uc-primary-transparent); } :where(.uc-contrast) uc-btn-ui.uc-default > button { --idle-background: transparent; --hover-background: var(--uc-secondary); --active-background: var(--uc-foreground); --active-color-rgb: var(--uc-background); } uc-line-loader-ui { position: absolute; top: 0px; left: 0px; z-index: 9999; width: 100%; height: 2px; opacity: 0.5; } uc-line-loader-ui .uc-inner { width: 25%; max-width: 200px; height: 100%; } uc-line-loader-ui .uc-line { width: 100%; height: 100%; background-color: var(--uc-primary); transform: translateX(-101%); transition: transform 1s; } uc-slider-ui { --l-thumb-size: 24px; --l-zero-dot-size: 5px; --l-zero-dot-offset: 2px; --idle-color-rgb: var(--uc-foreground); --hover-color-rgb: var(--uc-primary); --down-color-rgb: var(--uc-primary); --color-effect: var(--idle-color-rgb); --l-color: 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); } uc-slider-ui .uc-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), background-color var(--transition-duration-2); } uc-slider-ui .uc-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); } uc-slider-ui .uc-border-step { width: 0px; height: 10px; border-right: 1px solid var(--uc-foreground); opacity: 1; transition: border-color var(--transition-duration-2); } uc-slider-ui .uc-minor-step { width: 0px; height: 4px; border-right: 1px solid var(--uc-foreground); opacity: 0.6; transition: border-color var(--transition-duration-2); } uc-slider-ui .uc-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); } uc-slider-ui .uc-input { position: absolute; width: calc(100% - 10px); height: 100%; margin: 0; cursor: pointer; opacity: 0; } uc-presence-toggle.uc-transition { transition: opacity var(--transition-duration-3), visibility var(--transition-duration-3); } uc-presence-toggle.uc-visible { opacity: 1; pointer-events: inherit; } uc-presence-toggle.uc-hidden { opacity: 0; pointer-events: none; } uc-presence-toggle.uc-initial { display: none !important; transition: none !important; } [uc-cloud-image-editor] [role='button']:focus-visible, [uc-cloud-image-editor] button:focus-visible { outline: 1px auto Highlight; outline: 1px auto -webkit-focus-ring-color; } [uc-cloud-image-editor] .uc-cloud-mask { pointer-events: none; }