Skip to content

CSS: progress-circle

.instui-progress-circle · stable — En cirkulär framstegsring som styrs av de anpassade egenskaperna --value och --value-max.

Ringen är en conic-gradient-donut målad på ::before och klippt med en radial-gradient-mask; --value delat med --value-max styr bågen. Lägg till -should-animate och ladda interactions entry point för att animera den från noll vid mount. InstUI har inget indeterminate‑tillstånd; :indeterminate är en pantoken‑endast bästa gissning (nativ <progress> utan attributet value), som snurrar ringen med en fast båge och döljer .value eftersom det inte finns något meningsfullt nummer att visa. <meter> har inget indeterminate‑tillstånd, så den påverkas inte.

Source: progress-circle.css

TIP

JS-förbättring — Den här komponentens CSS renderas och fungerar självständigt; kombinera den med @pantoken/interactions för att lägga till det interaktiva beteendet. Dess -should-animate-modifier styrs av det beteendet. Se modifieringstabellen nedan.

Tillgänglighet

Använd det inbyggda <progress>-elementet för ett nollbaserat intervall för uppgiftens slutförande och <meter> när minimum inte är noll. Ge något av elementen ett åtkomligt namn genom att nästla det i en <label> eller genom att associera en separat <label> med matchande for- och id-värden.

Användning

css
@import "@pantoken/components/components.css";
@import "@pantoken/components/progress-circle.css";

Exempel

Nested label

html
<label>
  Uploading Document: <progress class="instui-progress-circle -size-sm" value="70">70%</progress>
</label>

External label

html
<label for="score">Score</label>
<meter id="score" class="instui-progress-circle -color-success" min="20" value="40" max="60">50%</meter>

Struktur

// Variant: nested-label

text
label
  .instui-progress-circle
    .value

// Variant: external-label

text
label
.instui-progress-circle
  .value
flowchart TD subgraph sg0 ["nested-label"] n1["label"]:::cssdoc-root n2(".instui-progress-circle"):::cssdoc-part n3(".value"):::cssdoc-part end subgraph sg4 ["external-label"] n5["label"]:::cssdoc-root n6[".instui-progress-circle"]:::cssdoc-root n7(".value"):::cssdoc-part end n2 --> n3 n1 --> n2 n6 --> n7 classDef cssdoc-root stroke-width:1px; classDef cssdoc-part stroke-width:1px; classDef cssdoc-slot stroke-width:1px; classDef cssdoc-component stroke-width:1px;

Modifierare

ModifierareBeskrivning
.-color-brandVarumärkesmätarens färg.
.-color-dangerFärg för faromätaren.
.-color-infoFärg för informationsmätare.
.-color-primary-inverseMätarfärg på mörk bakgrund (primär invers)
.-color-successFärg för framgångsmätaren.
.-color-warningVarningsmätarens färg.
.-meter-color-alertFöråldrad — use .-color-warning.
.-meter-color-brandFöråldrad — use .-color-brand.
.-meter-color-dangerFöråldrad — use .-color-danger.
.-meter-color-infoFöråldrad — use .-color-info.
.-meter-color-successFöråldrad — use .-color-success.
.-meter-color-warningFöråldrad — use .-color-warning.
.-shold-animate-on-mountAlias — maps to .-should-animate.
.-should-animateInteraction — Animate the meter, ring, and centered value into place on mount.
.-should-animate-on-mountAlias — maps to .-should-animate.
.-size-largeStor. Långformigt alias för -size-lg.
.-size-lgStor.
.-size-mdMedium (standard).
.-size-mediumMedium (standard). Långformigt alias för -size-md.
.-size-smLiten.
.-size-smallLiten. Långformigt alias för -size-sm.
.-size-x-smallExtra liten. Långformigt alias för -size-xs.
.-size-xsExtra liten.

Delar

DelBeskrivning
.valueTexten med värdet centrerad i ringens hål.

Pseudo-element

Pseudo-elementBeskrivning
:::indeterminateAnpassad, inte en del av InstUI. Gäller endast en native <progress> som saknar attributet value; roterar ::before i en fast båge och gömmer .value.
::beforeRitar själva ringen: en konisk-gradient-donut avklippt med en radiell mask, vars båge följer den anpassade egenskapen --value.

Tillstånd

TillståndBeskrivning
:indeterminate

Anpassade egenskaper

EgenskapTypStandardBeskrivning
--animation-delay<number>Antal millisekunder att vänta innan monteringsanimationen startar (standard 0).
--max<number>Det maximala framstegsvärdet (standard 100).
--min<number>Det minsta mätarvärdet (standard 0).
--pantoken-pc-fill<color>Färgen på den fyllda bågen (mätaren); -color-* modifierarna anger den.
--pantoken-pc-stroke<length>Ringens streckbredd; -size-* modifierarna anger den.
--pantoken-pc-track<color>Färgen på det ofyllda spåret.
--value<number>Det aktuella framstegsvärdet; registrerat med @property så att det kan övergå.
--value-max<number>@alias {@link --max} Det maximala framstegsvärdet (standard 100).
--value-now<number>@alias Alias för --value.

Animeringar

AnimationBeskrivning
pantoken-progress-circle-indeterminate

Förbrukade tokens

TokenTypVärde
--instui-component-progress-circle-color<color>LightDarklight-dark(#273540, #ffffff)
--instui-component-progress-circle-color-inverse<color>LightDarklight-dark(#ffffff, #1C222B)
--instui-component-progress-circle-font-family[ <font-family-name> | <generic-font-family> ]#Atkinson Hyperlegible Next, "Helvetica Neue", Helvetica, Arial, sans-serif
--instui-component-progress-circle-font-weight<integer>600
--instui-component-progress-circle-large-size<length>9em
--instui-component-progress-circle-large-stroke-width<length>0.875em
--instui-component-progress-circle-line-height<percentage>125%
--instui-component-progress-circle-medium-size<length>7em
--instui-component-progress-circle-medium-stroke-width<length>0.625em
--instui-component-progress-circle-meter-color-brand<color>LightDarklight-dark(#1D354F, #EEF4FD)
--instui-component-progress-circle-meter-color-brand-inverse<color>LightDarklight-dark(#ffffff, #6A7883)
--instui-component-progress-circle-meter-color-danger<color>#E62429
--instui-component-progress-circle-meter-color-danger-inverse<color>LightDarklight-dark(#ffffff, #6A7883)
--instui-component-progress-circle-meter-color-info<color>#2B7ABC
--instui-component-progress-circle-meter-color-info-inverse<color>LightDarklight-dark(#ffffff, #6A7883)
--instui-component-progress-circle-meter-color-success<color>#03893D
--instui-component-progress-circle-meter-color-success-inverse<color>LightDarklight-dark(#ffffff, #6A7883)
--instui-component-progress-circle-meter-color-warning<color>#CF4A00
--instui-component-progress-circle-meter-color-warning-inverse<color>LightDarklight-dark(#ffffff, #6A7883)
--instui-component-progress-circle-small-size<length>5em
--instui-component-progress-circle-small-stroke-width<length>0.5em
--instui-component-progress-circle-track-color<color>LightDarklight-dark(#ffffff, #10141A)
--instui-component-progress-circle-track-color-inverse<color>#00000000
--instui-component-progress-circle-x-small-size<length>3em
--instui-component-progress-circle-x-small-stroke-width<length>0.2em

Webbläsarstöd

  • Registrerar de numeriska progress‑egenskaperna med @property och målar med CSS mask och conic-gradient; där övergångar för custom‑properties inte stöds renderas ringen fortfarande men kommer inte att animera.

Relaterat

progress — Den linjära stapelversionen av samma determinerade förlopp.