UNPKG

@telekom/scale-components

Version:

Scale is the digital design system for Telekom products and experiences.

143 lines (122 loc) 3.78 kB
/** * @license * Scale https://github.com/telekom/scale * * Copyright (c) 2021 Egor Kirpichev and contributors, Deutsche Telekom AG * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ :host { --track-color: var(--telekom-color-ui-faint); --bar-color: var(--telekom-color-primary-standard); --icon-color-error: var(--telekom-color-text-and-icon-functional-danger); --track-color-error: var(--telekom-color-functional-danger-subtle); --bar-color-error: var(--telekom-color-functional-danger-standard); --icon-color-success: var(--telekom-color-text-and-icon-functional-success); --track-color-success: var(--telekom-color-functional-success-subtle); --bar-color-success: var(--telekom-color-functional-success-standard); --bar-color-disabled: var(--telekom-color-ui-disabled); --color-disabled: var(--telekom-color-text-and-icon-disabled); --progress-bar-outer-size: 6px; --progress-bar-inner-size: var(--telekom-spacing-composition-space-03); --font-label: var(--telekom-text-style-ui); --color-label: var(--telekom-color-text-and-icon-standard); --color-status-description: var(--telekom-color-text-and-icon-additional); --font-status-description: var(--telekom-text-style-small-bold); } .progress-bar { width: 100%; max-width: 30rem; } .progress-bar--disabled { cursor: not-allowed; } .progress-bar__top-container { display: flex; justify-content: space-between; align-items: center; } .progress-bar--disabled .progress-bar__label, .progress-bar--disabled .progress-bar__status { color: var(--color-disabled); } .progress-bar__label { display: block; padding: var(--telekom-spacing-composition-space-05) 0; color: var(--color-label); font: var(--font-label); } .progress-bar__wrapper { width: 100%; display: flex; box-sizing: border-box; align-items: center; } .progress-bar__outer { width: 100%; height: var(--progress-bar-outer-size); margin-left: 0; overflow: hidden; position: relative; border-radius: var(--telekom-radius-pill); background: var(--track-color); } .progress-bar__inner { position: absolute; top: 0; left: 0; width: var(--progress, 0); height: var(--progress-bar-inner-size); display: flex; align-items: center; white-space: nowrap; justify-content: flex-end; border-radius: var(--telekom-radius-pill); border: 1px solid transparent; background: var(--bar-color); transition: width var(--telekom-motion-duration-immediate) var(--telekom-motion-easing-standard); } .progress-bar--disabled .progress-bar__inner { background: var(--bar-color-disabled); } .progress-bar__status { padding: var(--telekom-spacing-composition-space-05) 0; font: var(--font-label); font-variant-numeric: tabular-nums; } .progress-bar--completed .progress-bar__icon { color: var(--icon-color-success); } .progress-bar--completed .progress-bar__outer { background: var(--track-color-success); } .progress-bar--completed .progress-bar__inner { background: var(--bar-color-success); } .progress-bar--has-error .progress-bar__icon { color: var(--icon-color-error); } .progress-bar--has-error .progress-bar__outer { background: var(--track-color-error); } .progress-bar--has-error .progress-bar__inner { background: var(--bar-color-error); } .progress-bar__status-description { color: var(--color-status-description); font: var(--font-status-description); margin-top: var(--telekom-spacing-composition-space-04); } .progress-bar__aria-live { clip: rect(0 0 0 0); width: 1px; border: 0; height: 1px; margin: -1px; padding: 0; overflow: hidden; position: absolute; }