<mds-radial-progress progress="0.65"></mds-radial-progress><!-- Neutral brand progress --><mds-radial-progress progress="0.4" variant="primary"></mds-radial-progress>
<!-- Success state - caricamento completato --><mds-radial-progress progress="1" variant="success"></mds-radial-progress>
<!-- Warning - procedura parziale --><mds-radial-progress progress="0.3" variant="warning"></mds-radial-progress>
<!-- Error - operazione fallita --><mds-radial-progress progress="0.15" variant="error"></mds-radial-progress>
<!-- AI variant - elaborazione AI in corso --><mds-radial-progress progress="0.72" variant="ai"></mds-radial-progress><!-- Caricamento file --><mds-radial-progress progress="0.55" icon="mi/baseline/cloud-upload" variant="primary"></mds-radial-progress>
<!-- Stato di salvataggio --><mds-radial-progress progress="0.9" icon="mi/baseline/save" variant="success"></mds-radial-progress><!-- Default - token "option" --><mds-radial-progress progress="0.5" typography="option"></mds-radial-progress>
<!-- Compact version - token "label" --><mds-radial-progress progress="0.5" typography="label"></mds-radial-progress>.dashboard-kpi mds-radial-progress { width: 96px;}
.compact-cell mds-radial-progress { width: 32px;}<mds-radial-progress id="upload-ring" progress="0"></mds-radial-progress>
<script> const ring = document.getElementById('upload-ring'); // Simulate upload progress let value = 0; const interval = setInterval(() => { value = Math.min(1, value + 0.1); ring.progress = value; if (value >= 1) clearInterval(interval); }, 300);</script><!-- Anello invertito --><mds-radial-progress progress="0.6" variant="dark"></mds-radial-progress>
<!-- Anello neutro --><mds-radial-progress progress="0.6" variant="light"></mds-radial-progress>/* Adjust the inner circle shadow */mds-radial-progress::part(value-container) { box-shadow: none;}
/* Tint the icon independently from the ring color */mds-radial-progress::part(icon) { fill: rgb(var(--magma-warning-text-default));}