@datametria/vue-components 2.2.0 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/README.md +25 -7
  2. package/dist/index.es.js +3378 -2148
  3. package/dist/index.umd.js +9 -9
  4. package/dist/src/components/DatametriaAutocomplete.vue.d.ts +14 -17
  5. package/dist/src/components/DatametriaBreadcrumb.vue.d.ts +39 -7
  6. package/dist/src/components/DatametriaCheckbox.vue.d.ts +35 -6
  7. package/dist/src/components/DatametriaCheckboxGroup.vue.d.ts +30 -0
  8. package/dist/src/components/DatametriaDataTable.vue.d.ts +64 -0
  9. package/dist/src/components/DatametriaDatePicker.vue.d.ts +15 -37
  10. package/dist/src/components/DatametriaDialog.vue.d.ts +71 -0
  11. package/dist/src/components/DatametriaEmpty.vue.d.ts +30 -0
  12. package/dist/src/components/DatametriaFloatingBar.vue.d.ts +2 -2
  13. package/dist/src/components/DatametriaForm.vue.d.ts +40 -0
  14. package/dist/src/components/DatametriaFormItem.vue.d.ts +28 -0
  15. package/dist/src/components/DatametriaGrid.vue.d.ts +1 -1
  16. package/dist/src/components/DatametriaInput.vue.d.ts +69 -10
  17. package/dist/src/components/DatametriaMenu.vue.d.ts +3 -3
  18. package/dist/src/components/DatametriaNavbar.vue.d.ts +2 -2
  19. package/dist/src/components/DatametriaPagination.vue.d.ts +29 -0
  20. package/dist/src/components/DatametriaPopconfirm.vue.d.ts +43 -0
  21. package/dist/src/components/DatametriaProgress.vue.d.ts +33 -8
  22. package/dist/src/components/DatametriaRadio.vue.d.ts +25 -6
  23. package/dist/src/components/DatametriaRadioGroup.vue.d.ts +29 -0
  24. package/dist/src/components/DatametriaResult.vue.d.ts +30 -0
  25. package/dist/src/components/DatametriaSelect.vue.d.ts +16 -11
  26. package/dist/src/components/DatametriaSidebar.vue.d.ts +3 -3
  27. package/dist/src/components/DatametriaSlider.vue.d.ts +3 -3
  28. package/dist/src/components/DatametriaSortableTable.vue.d.ts +1 -1
  29. package/dist/src/components/DatametriaSteps.vue.d.ts +45 -0
  30. package/dist/src/components/DatametriaSwitch.vue.d.ts +9 -4
  31. package/dist/src/components/DatametriaTabPane.vue.d.ts +28 -0
  32. package/dist/src/components/DatametriaTextarea.vue.d.ts +27 -8
  33. package/dist/src/components/DatametriaTimePicker.vue.d.ts +17 -25
  34. package/dist/src/components/DatametriaToast.vue.d.ts +1 -1
  35. package/dist/src/components/DatametriaTooltip.vue.d.ts +1 -1
  36. package/dist/src/components/DatametriaTree.vue.d.ts +31 -0
  37. package/dist/src/components/DatametriaTreeNode.vue.d.ts +17 -0
  38. package/dist/src/components/DatametriaUpload.vue.d.ts +64 -0
  39. package/dist/src/index.d.ts +14 -0
  40. package/dist/vue-components.css +1 -1
  41. package/package.json +4 -3
  42. package/src/components/DatametriaAutocomplete.vue +155 -260
  43. package/src/components/DatametriaBreadcrumb.vue +66 -80
  44. package/src/components/DatametriaCheckbox.vue +150 -37
  45. package/src/components/DatametriaCheckboxGroup.vue +43 -0
  46. package/src/components/DatametriaDataTable.vue +304 -0
  47. package/src/components/DatametriaDatePicker.vue +238 -614
  48. package/src/components/DatametriaDialog.vue +295 -0
  49. package/src/components/DatametriaDropdown.vue +352 -0
  50. package/src/components/DatametriaEmpty.vue +153 -0
  51. package/src/components/DatametriaForm.vue +160 -0
  52. package/src/components/DatametriaFormItem.vue +181 -0
  53. package/src/components/DatametriaInput.vue +226 -63
  54. package/src/components/DatametriaPagination.vue +373 -0
  55. package/src/components/DatametriaPopconfirm.vue +236 -0
  56. package/src/components/DatametriaProgress.vue +176 -63
  57. package/src/components/DatametriaRadio.vue +83 -72
  58. package/src/components/DatametriaRadioGroup.vue +42 -0
  59. package/src/components/DatametriaResult.vue +133 -0
  60. package/src/components/DatametriaSelect.vue +172 -67
  61. package/src/components/DatametriaSortableTable.vue +35 -4
  62. package/src/components/DatametriaSteps.vue +314 -0
  63. package/src/components/DatametriaSwitch.vue +86 -80
  64. package/src/components/DatametriaTabPane.vue +82 -0
  65. package/src/components/DatametriaTextarea.vue +140 -100
  66. package/src/components/DatametriaTimePicker.vue +231 -214
  67. package/src/components/DatametriaTree.vue +124 -0
  68. package/src/components/DatametriaTreeNode.vue +174 -0
  69. package/src/components/DatametriaUpload.vue +365 -0
  70. package/src/index.ts +25 -11
  71. package/src/components/__tests__/DatametriaAutocomplete.test.ts +0 -180
  72. package/src/components/__tests__/DatametriaBreadcrumb.test.ts +0 -75
  73. package/src/components/__tests__/DatametriaCheckbox.test.ts +0 -47
  74. package/src/components/__tests__/DatametriaDatePicker.test.ts +0 -234
  75. package/src/components/__tests__/DatametriaProgress.test.ts +0 -90
  76. package/src/components/__tests__/DatametriaRadio.test.ts +0 -77
  77. package/src/components/__tests__/DatametriaSwitch.test.ts +0 -64
  78. package/src/components/__tests__/DatametriaTextarea.test.ts +0 -66
@@ -0,0 +1,236 @@
1
+ <template>
2
+ <div class="datametria-popconfirm" ref="popconfirmRef">
3
+ <div ref="triggerRef" @click="handleTriggerClick">
4
+ <slot />
5
+ </div>
6
+
7
+ <Teleport to="body">
8
+ <div
9
+ v-if="visible"
10
+ ref="popoverRef"
11
+ class="datametria-popconfirm__popover"
12
+ :style="popoverStyle"
13
+ >
14
+ <div class="datametria-popconfirm__content">
15
+ <div class="datametria-popconfirm__icon">
16
+ <svg viewBox="0 0 24 24" fill="none">
17
+ <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z" fill="currentColor"/>
18
+ </svg>
19
+ </div>
20
+ <div class="datametria-popconfirm__message">{{ title }}</div>
21
+ </div>
22
+ <div class="datametria-popconfirm__actions">
23
+ <button class="datametria-popconfirm__btn datametria-popconfirm__btn--cancel" @click="handleCancel">
24
+ {{ cancelButtonText }}
25
+ </button>
26
+ <button class="datametria-popconfirm__btn datametria-popconfirm__btn--confirm" @click="handleConfirm">
27
+ {{ confirmButtonText }}
28
+ </button>
29
+ </div>
30
+ </div>
31
+ </Teleport>
32
+ </div>
33
+ </template>
34
+
35
+ <script setup lang="ts">
36
+ import { ref, computed, onMounted, onUnmounted } from 'vue'
37
+
38
+ type Placement = 'top' | 'bottom' | 'left' | 'right'
39
+
40
+ interface Props {
41
+ title?: string
42
+ confirmButtonText?: string
43
+ cancelButtonText?: string
44
+ placement?: Placement
45
+ }
46
+
47
+ const props = withDefaults(defineProps<Props>(), {
48
+ title: 'Tem certeza?',
49
+ confirmButtonText: 'Confirmar',
50
+ cancelButtonText: 'Cancelar',
51
+ placement: 'top'
52
+ })
53
+
54
+ const emit = defineEmits<{
55
+ confirm: []
56
+ cancel: []
57
+ }>()
58
+
59
+ const visible = ref(false)
60
+ const triggerRef = ref<HTMLElement>()
61
+ const popoverRef = ref<HTMLElement>()
62
+ const popconfirmRef = ref<HTMLElement>()
63
+
64
+ const popoverStyle = ref({
65
+ position: 'absolute',
66
+ top: '0px',
67
+ left: '0px'
68
+ })
69
+
70
+ const handleTriggerClick = () => {
71
+ visible.value = !visible.value
72
+ if (visible.value) {
73
+ updatePosition()
74
+ }
75
+ }
76
+
77
+ const handleConfirm = () => {
78
+ visible.value = false
79
+ emit('confirm')
80
+ }
81
+
82
+ const handleCancel = () => {
83
+ visible.value = false
84
+ emit('cancel')
85
+ }
86
+
87
+ const handleClickOutside = (event: MouseEvent) => {
88
+ if (!visible.value) return
89
+
90
+ const target = event.target as Node
91
+ if (
92
+ popoverRef.value && !popoverRef.value.contains(target) &&
93
+ triggerRef.value && !triggerRef.value.contains(target)
94
+ ) {
95
+ visible.value = false
96
+ }
97
+ }
98
+
99
+ const updatePosition = () => {
100
+ if (!triggerRef.value || !popoverRef.value) return
101
+
102
+ const triggerRect = triggerRef.value.getBoundingClientRect()
103
+ const popoverRect = popoverRef.value.getBoundingClientRect()
104
+
105
+ let top = 0
106
+ let left = 0
107
+
108
+ switch (props.placement) {
109
+ case 'top':
110
+ top = triggerRect.top - popoverRect.height - 8
111
+ left = triggerRect.left + (triggerRect.width - popoverRect.width) / 2
112
+ break
113
+ case 'bottom':
114
+ top = triggerRect.bottom + 8
115
+ left = triggerRect.left + (triggerRect.width - popoverRect.width) / 2
116
+ break
117
+ case 'left':
118
+ top = triggerRect.top + (triggerRect.height - popoverRect.height) / 2
119
+ left = triggerRect.left - popoverRect.width - 8
120
+ break
121
+ case 'right':
122
+ top = triggerRect.top + (triggerRect.height - popoverRect.height) / 2
123
+ left = triggerRect.right + 8
124
+ break
125
+ }
126
+
127
+ popoverStyle.value = {
128
+ position: 'absolute',
129
+ top: `${top + window.scrollY}px`,
130
+ left: `${left + window.scrollX}px`
131
+ }
132
+ }
133
+
134
+ onMounted(() => {
135
+ document.addEventListener('click', handleClickOutside)
136
+ })
137
+
138
+ onUnmounted(() => {
139
+ document.removeEventListener('click', handleClickOutside)
140
+ })
141
+ </script>
142
+
143
+ <style scoped>
144
+ .datametria-popconfirm {
145
+ display: inline-block;
146
+ }
147
+
148
+ .datametria-popconfirm__popover {
149
+ z-index: 2000;
150
+ min-width: 200px;
151
+ padding: 12px;
152
+ background: var(--datametria-bg-color, #ffffff);
153
+ border: 1px solid var(--datametria-border-color, #dcdfe6);
154
+ border-radius: 4px;
155
+ box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
156
+ }
157
+
158
+ .datametria-popconfirm__content {
159
+ display: flex;
160
+ align-items: flex-start;
161
+ margin-bottom: 12px;
162
+ }
163
+
164
+ .datametria-popconfirm__icon {
165
+ width: 20px;
166
+ height: 20px;
167
+ margin-right: 8px;
168
+ color: var(--datametria-warning-color, #e6a23c);
169
+ flex-shrink: 0;
170
+ }
171
+
172
+ .datametria-popconfirm__icon svg {
173
+ width: 100%;
174
+ height: 100%;
175
+ }
176
+
177
+ .datametria-popconfirm__message {
178
+ font-size: 14px;
179
+ color: var(--datametria-text-primary, #303133);
180
+ line-height: 1.5;
181
+ }
182
+
183
+ .datametria-popconfirm__actions {
184
+ display: flex;
185
+ justify-content: flex-end;
186
+ gap: 8px;
187
+ }
188
+
189
+ .datametria-popconfirm__btn {
190
+ padding: 5px 15px;
191
+ font-size: 12px;
192
+ border-radius: 3px;
193
+ border: 1px solid var(--datametria-border-color, #dcdfe6);
194
+ background: var(--datametria-bg-color, #ffffff);
195
+ color: var(--datametria-text-primary, #303133);
196
+ cursor: pointer;
197
+ transition: all 0.2s;
198
+ }
199
+
200
+ .datametria-popconfirm__btn:hover {
201
+ opacity: 0.8;
202
+ }
203
+
204
+ .datametria-popconfirm__btn--confirm {
205
+ background: var(--datametria-primary-color, #0072ce);
206
+ border-color: var(--datametria-primary-color, #0072ce);
207
+ color: #ffffff;
208
+ }
209
+
210
+ .datametria-popconfirm__btn--cancel {
211
+ background: var(--datametria-bg-color, #ffffff);
212
+ border-color: var(--datametria-border-color, #dcdfe6);
213
+ }
214
+
215
+ @media (prefers-color-scheme: dark) {
216
+ .datametria-popconfirm__popover {
217
+ background: var(--datametria-bg-color, #1d1e1f);
218
+ border-color: var(--datametria-border-color, #4c4d4f);
219
+ box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.3);
220
+ }
221
+
222
+ .datametria-popconfirm__message {
223
+ color: var(--datametria-text-primary, #e5eaf3);
224
+ }
225
+
226
+ .datametria-popconfirm__btn {
227
+ background: var(--datametria-bg-color, #1d1e1f);
228
+ border-color: var(--datametria-border-color, #4c4d4f);
229
+ color: var(--datametria-text-primary, #e5eaf3);
230
+ }
231
+
232
+ .datametria-popconfirm__btn--cancel {
233
+ background: var(--datametria-bg-color, #1d1e1f);
234
+ }
235
+ }
236
+ </style>
@@ -1,22 +1,39 @@
1
1
  <template>
2
- <div class="dm-progress">
3
- <div v-if="label" class="dm-progress__header">
4
- <span class="dm-progress__label">{{ label }}</span>
5
- <span v-if="showValue" class="dm-progress__value">{{ value }}%</span>
2
+ <div class="datametria-progress" :class="classes">
3
+ <div v-if="type === 'line'" class="datametria-progress-bar">
4
+ <div class="datametria-progress-bar__outer" :style="{ height: `${strokeWidth}px` }">
5
+ <div class="datametria-progress-bar__inner" :style="barStyle">
6
+ <div v-if="showText && textInside" class="datametria-progress-bar__innerText">
7
+ {{ percentage }}%
8
+ </div>
9
+ </div>
10
+ </div>
11
+ <div v-if="showText && !textInside" class="datametria-progress__text">
12
+ <slot>{{ percentage }}%</slot>
13
+ </div>
6
14
  </div>
7
- <div
8
- class="dm-progress__track"
9
- role="progressbar"
10
- :aria-valuenow="value"
11
- :aria-valuemin="0"
12
- :aria-valuemax="100"
13
- :aria-label="ariaLabel || label"
14
- >
15
- <div
16
- class="dm-progress__bar"
17
- :class="`dm-progress__bar--${variant}`"
18
- :style="{ width: `${clampedValue}%` }"
19
- ></div>
15
+
16
+ <div v-else class="datametria-progress-circle">
17
+ <svg :width="circleSize" :height="circleSize" viewBox="0 0 100 100">
18
+ <path
19
+ class="datametria-progress-circle__track"
20
+ :d="trackPath"
21
+ :stroke-width="relativeStrokeWidth"
22
+ fill="none"
23
+ />
24
+ <path
25
+ class="datametria-progress-circle__path"
26
+ :d="trackPath"
27
+ :stroke-width="relativeStrokeWidth"
28
+ :stroke-dasharray="perimeter"
29
+ :stroke-dashoffset="circlePathOffset"
30
+ :style="circlePathStyle"
31
+ fill="none"
32
+ />
33
+ </svg>
34
+ <div v-if="showText" class="datametria-progress__text">
35
+ <slot>{{ percentage }}%</slot>
36
+ </div>
20
37
  </div>
21
38
  </div>
22
39
  </template>
@@ -24,90 +41,186 @@
24
41
  <script setup lang="ts">
25
42
  import { computed } from 'vue'
26
43
 
44
+ type ProgressType = 'line' | 'circle' | 'dashboard'
45
+ type ProgressStatus = 'success' | 'warning' | 'error' | ''
46
+
27
47
  interface Props {
28
- value: number
29
- label?: string
30
- variant?: 'primary' | 'success' | 'warning' | 'error'
31
- showValue?: boolean
32
- ariaLabel?: string
48
+ percentage?: number
49
+ type?: ProgressType
50
+ status?: ProgressStatus
51
+ strokeWidth?: number
52
+ showText?: boolean
53
+ textInside?: boolean
54
+ width?: number
33
55
  }
34
56
 
35
57
  const props = withDefaults(defineProps<Props>(), {
36
- variant: 'primary',
37
- showValue: true
58
+ percentage: 0,
59
+ type: 'line',
60
+ status: '',
61
+ strokeWidth: 6,
62
+ showText: true,
63
+ textInside: false,
64
+ width: 126
65
+ })
66
+
67
+ const classes = computed(() => ({
68
+ [`datametria-progress--${props.type}`]: true,
69
+ [`datametria-progress--${props.status}`]: props.status,
70
+ 'datametria-progress--text-inside': props.textInside
71
+ }))
72
+
73
+ const barStyle = computed(() => ({
74
+ width: `${props.percentage}%`,
75
+ backgroundColor: statusColor.value
76
+ }))
77
+
78
+ const statusColor = computed(() => {
79
+ const colors = {
80
+ success: 'var(--datametria-success-color, #67c23a)',
81
+ warning: 'var(--datametria-warning-color, #e6a23c)',
82
+ error: 'var(--datametria-error-color, #f56c6c)',
83
+ '': 'var(--datametria-primary-color, #0072ce)'
84
+ }
85
+ return colors[props.status]
86
+ })
87
+
88
+ const circleSize = computed(() => props.width)
89
+
90
+ const relativeStrokeWidth = computed(() => {
91
+ return ((props.strokeWidth / props.width) * 100).toFixed(1)
92
+ })
93
+
94
+ const radius = computed(() => {
95
+ if (props.type === 'circle') {
96
+ return 50 - parseFloat(relativeStrokeWidth.value) / 2
97
+ }
98
+ return 50 - parseFloat(relativeStrokeWidth.value) / 2
38
99
  })
39
100
 
40
- const clampedValue = computed(() => {
41
- return Math.min(Math.max(props.value, 0), 100)
101
+ const trackPath = computed(() => {
102
+ const r = radius.value
103
+ const isDashboard = props.type === 'dashboard'
104
+ return isDashboard
105
+ ? `M 50 50 m 0 ${r} a ${r} ${r} 0 1 1 0 -${r * 2} a ${r} ${r} 0 1 1 0 ${r * 2}`
106
+ : `M 50 50 m 0 -${r} a ${r} ${r} 0 1 1 0 ${r * 2} a ${r} ${r} 0 1 1 0 -${r * 2}`
42
107
  })
108
+
109
+ const perimeter = computed(() => {
110
+ return 2 * Math.PI * radius.value
111
+ })
112
+
113
+ const circlePathOffset = computed(() => {
114
+ const rate = props.type === 'dashboard' ? 0.75 : 1
115
+ return perimeter.value * (1 - props.percentage / 100) * rate
116
+ })
117
+
118
+ const circlePathStyle = computed(() => ({
119
+ stroke: statusColor.value,
120
+ strokeLinecap: 'round'
121
+ }))
43
122
  </script>
44
123
 
45
124
  <style scoped>
46
- .dm-progress {
47
- display: flex;
48
- flex-direction: column;
49
- gap: var(--dm-spacing-2, 0.5rem);
125
+ .datametria-progress {
126
+ position: relative;
127
+ line-height: 1;
50
128
  }
51
129
 
52
- .dm-progress__header {
130
+ .datametria-progress--line {
53
131
  display: flex;
54
- justify-content: space-between;
55
132
  align-items: center;
56
133
  }
57
134
 
58
- .dm-progress__label {
59
- font-size: var(--dm-font-size-sm, 0.875rem);
60
- font-weight: var(--dm-font-weight-medium, 500);
61
- color: var(--dm-neutral-900, #111827);
62
- }
63
-
64
- .dm-progress__value {
65
- font-size: var(--dm-font-size-sm, 0.875rem);
66
- font-weight: var(--dm-font-weight-semibold, 600);
67
- color: var(--dm-neutral-600, #4b5563);
135
+ .datametria-progress-bar {
136
+ flex: 1;
137
+ display: flex;
138
+ align-items: center;
68
139
  }
69
140
 
70
- .dm-progress__track {
141
+ .datametria-progress-bar__outer {
71
142
  width: 100%;
72
- height: 8px;
73
- background: var(--dm-neutral-200, #e5e7eb);
74
- border-radius: var(--dm-radius-sm, 0.25rem);
143
+ background-color: var(--datametria-border-color-light, #e4e7ed);
144
+ border-radius: 100px;
75
145
  overflow: hidden;
76
146
  }
77
147
 
78
- .dm-progress__bar {
148
+ .datametria-progress-bar__inner {
79
149
  height: 100%;
80
- border-radius: var(--dm-radius-sm, 0.25rem);
81
- transition: width var(--dm-transition-base, 0.3s ease);
150
+ border-radius: 100px;
151
+ background-color: var(--datametria-primary-color, #0072ce);
152
+ transition: width 0.6s ease;
153
+ display: flex;
154
+ align-items: center;
155
+ justify-content: flex-end;
156
+ padding-right: 8px;
157
+ }
158
+
159
+ .datametria-progress-bar__innerText {
160
+ color: #ffffff;
161
+ font-size: 12px;
162
+ white-space: nowrap;
163
+ }
164
+
165
+ .datametria-progress__text {
166
+ margin-left: 8px;
167
+ font-size: 14px;
168
+ color: var(--datametria-text-primary, #303133);
169
+ white-space: nowrap;
170
+ }
171
+
172
+ .datametria-progress--circle,
173
+ .datametria-progress--dashboard {
174
+ display: inline-block;
175
+ position: relative;
176
+ }
177
+
178
+ .datametria-progress-circle {
179
+ position: relative;
180
+ display: inline-block;
181
+ }
182
+
183
+ .datametria-progress-circle__track {
184
+ stroke: var(--datametria-border-color-light, #e4e7ed);
185
+ }
186
+
187
+ .datametria-progress-circle__path {
188
+ transition: stroke-dashoffset 0.6s ease;
82
189
  }
83
190
 
84
- .dm-progress__bar--primary {
85
- background: var(--dm-primary, #0072CE);
191
+ .datametria-progress--circle .datametria-progress__text,
192
+ .datametria-progress--dashboard .datametria-progress__text {
193
+ position: absolute;
194
+ top: 50%;
195
+ left: 50%;
196
+ transform: translate(-50%, -50%);
197
+ margin: 0;
198
+ font-size: 14px;
86
199
  }
87
200
 
88
- .dm-progress__bar--success {
89
- background: var(--dm-success, #10b981);
201
+ .datametria-progress--success .datametria-progress-bar__inner {
202
+ background-color: var(--datametria-success-color, #67c23a);
90
203
  }
91
204
 
92
- .dm-progress__bar--warning {
93
- background: var(--dm-warning, #f59e0b);
205
+ .datametria-progress--warning .datametria-progress-bar__inner {
206
+ background-color: var(--datametria-warning-color, #e6a23c);
94
207
  }
95
208
 
96
- .dm-progress__bar--error {
97
- background: var(--dm-error, #ef4444);
209
+ .datametria-progress--error .datametria-progress-bar__inner {
210
+ background-color: var(--datametria-error-color, #f56c6c);
98
211
  }
99
212
 
100
213
  @media (prefers-color-scheme: dark) {
101
- .dm-progress__track {
102
- background: var(--dm-neutral-700, #374151);
214
+ .datametria-progress-bar__outer {
215
+ background-color: var(--datametria-border-color-light, #4c4d4f);
103
216
  }
104
217
 
105
- .dm-progress__label {
106
- color: var(--dm-neutral-50, #ffffff);
218
+ .datametria-progress__text {
219
+ color: var(--datametria-text-primary, #e5eaf3);
107
220
  }
108
221
 
109
- .dm-progress__value {
110
- color: var(--dm-neutral-400, #9ca3af);
222
+ .datametria-progress-circle__track {
223
+ stroke: var(--datametria-border-color-light, #4c4d4f);
111
224
  }
112
225
  }
113
226
  </style>