= 75 && progress < 100}
- class:is-danger={progress >= 100}
- style:--graph-size={Math.max(Math.min(progress, maximum), minimum) + '%'} />
+
+
+
+
+
+
{/if}
diff --git a/src/lib/components/progressbar/ProgressBar.svelte b/src/lib/components/progressbar/ProgressBar.svelte
index 8625bf869..e3810d0ac 100644
--- a/src/lib/components/progressbar/ProgressBar.svelte
+++ b/src/lib/components/progressbar/ProgressBar.svelte
@@ -1,5 +1,5 @@
-
+ {#each $$props.data as item}
+
+ {#if item.tooltip}
+
+ {/if}
+
+ {/each}
+ {#if remainder > 0}
+
+ {/if}
diff --git a/src/lib/components/progressbar/_progressbar.scss b/src/lib/components/progressbar/_progressbar.scss
index facf05510..9bb4cb070 100644
--- a/src/lib/components/progressbar/_progressbar.scss
+++ b/src/lib/components/progressbar/_progressbar.scss
@@ -1,5 +1,13 @@
@mixin base {
+ :root {
+ --progressbar-border-radius: 0.25rem;
+ --progressbar-tooltip-background-color: #FFFFFF;
+ --progressbar-tooltip-border-color: #EDEDF0;
+ --progressbar-tooltip-label-color: #818186;
+ --progressbar-tooltip-link-color: #6C6C71;
+ }
+
:global(.theme-dark) {
--progressbar-background-color: var(--neutral-800,#2D2D31);
}
@@ -7,14 +15,92 @@
--progressbar-background-color: var(--neutral-40, #F4F4F7);
}
-
-
.progressbar {
&__container {
height: 0.5rem;
background-color: var(--progressbar-background-color);
- border-radius: 0.25rem;
+ border-radius: var(--progressbar-border-radius);
+ display: flex;
+ flex-direction: row;
+ gap: 2px;
+ }
+
+ &__content {
+ height: 100%;
+ display: flex;
+ justify-content: center;
+
+ &::before {
+ content: "";
+ height: 2.5rem;
+ margin-top: -1.25rem;
+ width: 100%;
+ }
+
+ &:first-child {
+ border-top-left-radius: var(--progressbar-border-radius);
+ border-bottom-left-radius: var(--progressbar-border-radius);
+ }
+ &:last-child {
+ border-top-right-radius: var(--progressbar-border-radius);
+ border-bottom-right-radius: var(--progressbar-border-radius);
+ }
+
+ &-tooltip {
+ display: none;
+ position: absolute;
+ background-color: var(--progressbar-tooltip-background-color);
+ padding: 0.75rem;
+ margin-top: -5.25rem;
+ border: 1px solid var(--progressbar-tooltip-border-color);
+ border-radius: 0.5rem;
+ flex-direction: column;
+ gap: 0.25rem;
+
+ &::before, &::after {
+ top: 100%;
+ left: 50%;
+ border: solid transparent;
+ content: "";
+ height: 0;
+ width: 0;
+ position: absolute;
+ pointer-events: none;
+ }
+ &::after {
+ border-top-color: var(--progressbar-tooltip-background-color);
+ border-width: 10px;
+ margin-left: -10px;
+ }
+ &::before {
+ border-top-color: var(--progressbar-tooltip-border-color);;
+ border-width: 11px;
+ margin-left: -11px;
+ }
+ &:hover {
+ display: flex;
+ }
+
+ &-title {
+ font-weight: 600;
+ margin-right: 0.5rem;
+ }
+ &-label {
+ color: var(--progressbar-tooltip-label-color);
+ }
+
+ a{
+ color: var(--progressbar-tooltip-link-color);
+ text-decoration: underline;
+ }
+ }
+
+ &:hover {
+ .progressbar__content-tooltip {
+ display: flex;
+ }
+ }
}
}