@xen-orchestra/web-core 0.13.0 → 0.14.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 (41) hide show
  1. package/lib/assets/css/_colors.pcss +8 -8
  2. package/lib/assets/css/base.pcss +2 -2
  3. package/lib/components/cell-object/VtsCellObject.vue +1 -1
  4. package/lib/components/console/VtsActionsConsole.vue +3 -3
  5. package/lib/components/console/VtsClipboardConsole.vue +2 -2
  6. package/lib/components/dropdown/DropdownItem.vue +1 -1
  7. package/lib/components/icon/VtsIcon.vue +2 -2
  8. package/lib/components/layout/VtsLayoutSidebar.vue +1 -1
  9. package/lib/components/resources/VtsResource.vue +43 -0
  10. package/lib/components/resources/VtsResources.vue +13 -0
  11. package/lib/components/task/VtsQuickTaskButton.vue +1 -1
  12. package/lib/components/task/VtsQuickTaskTabBar.vue +7 -1
  13. package/lib/components/tree/VtsTreeLine.vue +2 -2
  14. package/lib/components/tree/VtsTreeLoadingItem.vue +1 -1
  15. package/lib/components/ui/account-menu-button/UiAccountMenuButton.vue +3 -3
  16. package/lib/components/ui/button/UiButton.vue +46 -155
  17. package/lib/components/ui/button-icon/UiButtonIcon.vue +56 -55
  18. package/lib/components/ui/card-subtitle/UiCardSubtitle.vue +2 -2
  19. package/lib/components/ui/card-title/UiCardTitle.vue +1 -1
  20. package/lib/components/ui/checkbox/UiCheckbox.vue +35 -137
  21. package/lib/components/ui/checkbox-group/UiCheckboxGroup.vue +4 -4
  22. package/lib/components/ui/chip/ChipRemoveIcon.vue +7 -3
  23. package/lib/components/ui/counter/UiCounter.vue +17 -7
  24. package/lib/components/ui/dropdown-button/UiDropdownButton.vue +12 -12
  25. package/lib/components/ui/input/UiInput.vue +1 -1
  26. package/lib/components/ui/legend/UiLegend.vue +2 -2
  27. package/lib/components/ui/link/UiLink.vue +7 -12
  28. package/lib/components/ui/object-link/UiObjectLink.vue +3 -3
  29. package/lib/components/ui/query-search-bar/UiQuerySearchBar.vue +4 -4
  30. package/lib/components/ui/quick-task-item/UiQuickTaskItem.vue +1 -1
  31. package/lib/components/ui/radio-button/UiRadioButton.vue +30 -61
  32. package/lib/components/ui/radio-button-group/UiRadioButtonGroup.vue +4 -4
  33. package/lib/components/ui/table-pagination/PaginationButton.vue +8 -5
  34. package/lib/components/ui/table-pagination/UiTablePagination.vue +16 -16
  35. package/lib/components/ui/toaster/UiToaster.vue +1 -1
  36. package/lib/components/ui/toggle/UiToggle.vue +1 -1
  37. package/lib/components/ui/top-bottom-table/UiTopBottomTable.vue +2 -2
  38. package/lib/components/ui/tree-item-label/UiTreeItemLabel.vue +8 -8
  39. package/lib/components/ui/user-logo/UiUserLogo.vue +1 -1
  40. package/lib/layouts/CoreLayout.vue +1 -1
  41. package/package.json +1 -1
@@ -13,37 +13,40 @@ import { toVariants } from '@core/utils/to-variants.util'
13
13
  import type { IconDefinition } from '@fortawesome/fontawesome-common-types'
14
14
  import { computed } from 'vue'
15
15
 
16
- type ButtonIconAccent = 'info' | 'success' | 'warning' | 'danger'
16
+ type ButtonIconAccent = 'brand' | 'warning' | 'danger'
17
17
  type ButtonSize = 'small' | 'medium' | 'large'
18
18
 
19
- const props = withDefaults(
20
- defineProps<{
21
- icon: IconDefinition
22
- size: ButtonSize
23
- accent: ButtonIconAccent
24
- disabled?: boolean
25
- selected?: boolean
26
- dot?: boolean
27
- targetScale?: number | { x: number; y: number }
28
- }>(),
29
- { targetScale: 1 }
30
- )
19
+ const {
20
+ accent,
21
+ size,
22
+ disabled,
23
+ selected,
24
+ targetScale = 1,
25
+ } = defineProps<{
26
+ icon: IconDefinition
27
+ size: ButtonSize
28
+ accent: ButtonIconAccent
29
+ disabled?: boolean
30
+ selected?: boolean
31
+ dot?: boolean
32
+ targetScale?: number | { x: number; y: number }
33
+ }>()
31
34
 
32
35
  const cssTargetScale = computed(() => {
33
- if (typeof props.targetScale === 'number') {
34
- return `scale(${props.targetScale})`
36
+ if (typeof targetScale === 'number') {
37
+ return `scale(${targetScale})`
35
38
  }
36
39
 
37
- return `scale(${props.targetScale.x}, ${props.targetScale.y})`
40
+ return `scale(${targetScale.x}, ${targetScale.y})`
38
41
  })
39
42
 
40
43
  const classNames = computed(() => {
41
44
  return [
42
45
  toVariants({
43
- accent: props.accent,
44
- size: props.size,
45
- muted: props.disabled,
46
- selected: props.selected,
46
+ accent,
47
+ size,
48
+ muted: disabled,
49
+ selected,
47
50
  }),
48
51
  ]
49
52
  })
@@ -72,54 +75,44 @@ const classNames = computed(() => {
72
75
  background-color: var(--color-danger-txt-base);
73
76
  }
74
77
 
75
- /* ACCENT VARIANTS */
76
-
77
- &.accent--info {
78
- & {
79
- color: var(--color-info-txt-base);
80
- background-color: transparent;
81
- }
78
+ &:focus-visible {
79
+ outline: none;
82
80
 
83
- &:is(:hover, :focus-visible) {
84
- color: var(--color-info-txt-hover);
85
- background-color: var(--color-info-background-hover);
86
- }
87
-
88
- &:active {
89
- color: var(--color-info-txt-active);
90
- background-color: var(--color-info-background-active);
81
+ &::before {
82
+ content: '';
83
+ position: absolute;
84
+ inset: -0.2rem;
85
+ border-radius: 0.4rem;
86
+ border-width: 0.2rem;
87
+ border-style: solid;
91
88
  }
89
+ }
92
90
 
93
- &.selected {
94
- color: var(--color-info-txt-base);
95
- background-color: var(--color-info-background-selected);
96
- }
91
+ /* ACCENT VARIANTS */
97
92
 
98
- &.muted {
99
- color: var(--color-neutral-txt-secondary);
93
+ &.accent--brand {
94
+ & {
95
+ color: var(--color-brand-txt-base);
100
96
  background-color: transparent;
101
97
  }
102
- }
103
98
 
104
- &.accent--success {
105
- & {
106
- color: var(--color-success-txt-base);
107
- background-color: transparent;
99
+ &:hover {
100
+ color: var(--color-brand-txt-hover);
101
+ background-color: var(--color-brand-background-hover);
108
102
  }
109
103
 
110
- &:is(:hover, :focus-visible) {
111
- color: var(--color-success-txt-hover);
112
- background-color: var(--color-success-background-hover);
104
+ &:focus-visible::before {
105
+ border-color: var(--color-info-txt-base);
113
106
  }
114
107
 
115
108
  &:active {
116
- color: var(--color-success-txt-active);
117
- background-color: var(--color-success-background-active);
109
+ color: var(--color-brand-txt-active);
110
+ background-color: var(--color-brand-background-active);
118
111
  }
119
112
 
120
113
  &.selected {
121
- color: var(--color-success-txt-base);
122
- background-color: var(--color-success-background-selected);
114
+ color: var(--color-brand-txt-base);
115
+ background-color: var(--color-brand-background-selected);
123
116
  }
124
117
 
125
118
  &.muted {
@@ -134,11 +127,15 @@ const classNames = computed(() => {
134
127
  background-color: transparent;
135
128
  }
136
129
 
137
- &:is(:hover, :focus-visible) {
130
+ &:hover {
138
131
  color: var(--color-warning-txt-hover);
139
132
  background-color: var(--color-warning-background-hover);
140
133
  }
141
134
 
135
+ &:focus-visible::before {
136
+ border-color: var(--color-warning-txt-base);
137
+ }
138
+
142
139
  &:active {
143
140
  color: var(--color-warning-txt-active);
144
141
  background-color: var(--color-warning-background-active);
@@ -165,11 +162,15 @@ const classNames = computed(() => {
165
162
  }
166
163
  }
167
164
 
168
- &:is(:hover, :focus-visible) {
165
+ &:hover {
169
166
  color: var(--color-danger-txt-hover);
170
167
  background-color: var(--color-danger-background-hover);
171
168
  }
172
169
 
170
+ &:focus-visible::before {
171
+ border-color: var(--color-danger-txt-base);
172
+ }
173
+
173
174
  &:active {
174
175
  color: var(--color-danger-txt-active);
175
176
  background-color: var(--color-danger-background-active);
@@ -15,8 +15,8 @@ const slots = defineSlots<{
15
15
 
16
16
  <style lang="postcss" scoped>
17
17
  .ui-card-subtitle {
18
- color: var(--color-info-txt-base);
19
- border-bottom: 0.1rem solid var(--color-info-txt-base);
18
+ color: var(--color-brand-txt-base);
19
+ border-bottom: 0.1rem solid var(--color-brand-txt-base);
20
20
  display: flex;
21
21
  justify-content: space-between;
22
22
  gap: 0.8rem;
@@ -46,7 +46,7 @@ const slots = defineSlots<{
46
46
  display: flex;
47
47
  align-items: center;
48
48
  gap: 0.8rem;
49
- color: var(--color-info-txt-base);
49
+ color: var(--color-brand-txt-base);
50
50
  }
51
51
 
52
52
  .description {
@@ -1,4 +1,4 @@
1
- <!-- v3 -->
1
+ <!-- v5 -->
2
2
  <template>
3
3
  <label :class="classNames" class="ui-checkbox" v-bind="wrapperAttrs">
4
4
  <input
@@ -10,13 +10,13 @@
10
10
  v-bind="attrs"
11
11
  />
12
12
  <span class="fake-checkbox">
13
- <VtsIcon :icon accent="info" class="icon" />
13
+ <VtsIcon :icon accent="current" class="icon" />
14
14
  </span>
15
15
  <span v-if="slots.default" class="typo p1-regular">
16
16
  <slot />
17
17
  </span>
18
18
  </label>
19
- <UiInfo v-if="slots.info" :accent>
19
+ <UiInfo v-if="slots.info" :accent="accent === 'brand' ? 'info' : accent">
20
20
  <slot name="info" />
21
21
  </UiInfo>
22
22
  </template>
@@ -29,11 +29,11 @@ import { toVariants } from '@core/utils/to-variants.util'
29
29
  import { faCheck, faMinus } from '@fortawesome/free-solid-svg-icons'
30
30
  import { computed, type LabelHTMLAttributes, useAttrs } from 'vue'
31
31
 
32
- type CheckboxAccent = 'info' | 'success' | 'warning' | 'danger'
32
+ type CheckboxAccent = 'brand' | 'warning' | 'danger'
33
33
 
34
34
  defineOptions({ inheritAttrs: false })
35
35
 
36
- const props = defineProps<{
36
+ const { accent, disabled } = defineProps<{
37
37
  accent: CheckboxAccent
38
38
  disabled?: boolean
39
39
  wrapperAttrs?: LabelHTMLAttributes
@@ -46,11 +46,11 @@ const slots = defineSlots<{
46
46
  info?(): any
47
47
  }>()
48
48
 
49
- const isDisabled = useDisabled(() => props.disabled)
49
+ const isDisabled = useDisabled(() => disabled)
50
50
 
51
51
  const classNames = computed(() => [
52
52
  toVariants({
53
- accent: props.accent,
53
+ accent,
54
54
  disabled: isDisabled.value,
55
55
  }),
56
56
  ])
@@ -127,32 +127,32 @@ const attrs = useAttrs()
127
127
  }
128
128
  }
129
129
 
130
- &.accent--info {
131
- .input {
130
+ &.accent--brand {
131
+ .input:not(:disabled) {
132
132
  & + .fake-checkbox {
133
- border-color: var(--color-info-item-base);
133
+ border-color: var(--color-brand-item-base);
134
134
  }
135
135
 
136
136
  &.indeterminate + .fake-checkbox {
137
- background-color: var(--color-info-item-base);
137
+ background-color: var(--color-brand-item-base);
138
138
 
139
139
  &:hover {
140
140
  border-color: transparent;
141
- background-color: var(--color-info-item-hover);
141
+ background-color: var(--color-brand-item-hover);
142
142
  }
143
143
 
144
144
  &:active {
145
- background-color: var(--color-info-item-active);
145
+ background-color: var(--color-brand-item-active);
146
146
  }
147
147
  }
148
148
 
149
149
  &.indeterminate:hover + .fake-checkbox {
150
150
  border-color: transparent;
151
- background-color: var(--color-info-item-hover);
151
+ background-color: var(--color-brand-item-hover);
152
152
  }
153
153
 
154
154
  &:hover + .fake-checkbox {
155
- border-color: var(--color-info-item-hover);
155
+ border-color: var(--color-brand-item-hover);
156
156
  }
157
157
 
158
158
  &:focus-visible + .fake-checkbox::before {
@@ -160,111 +160,26 @@ const attrs = useAttrs()
160
160
  }
161
161
 
162
162
  &:active + .fake-checkbox {
163
- border-color: var(--color-info-item-active);
163
+ border-color: var(--color-brand-item-active);
164
164
  }
165
165
 
166
166
  &:checked + .fake-checkbox {
167
167
  border-color: transparent;
168
- background-color: var(--color-info-item-base);
168
+ background-color: var(--color-brand-item-base);
169
169
  }
170
170
 
171
171
  &:checked:hover + .fake-checkbox {
172
- background-color: var(--color-info-item-hover);
172
+ background-color: var(--color-brand-item-hover);
173
173
  }
174
174
 
175
175
  &:checked:active + .fake-checkbox {
176
- background-color: var(--color-info-item-active);
177
- }
178
-
179
- &:disabled {
180
- & + .fake-checkbox {
181
- cursor: not-allowed;
182
- border-color: var(--color-neutral-txt-secondary);
183
-
184
- > .icon {
185
- color: var(--color-neutral-txt-secondary);
186
- }
187
- }
188
-
189
- &:checked + .fake-checkbox,
190
- &.indeterminate + .fake-checkbox {
191
- border-color: transparent;
192
- background-color: var(--color-info-item-disabled);
193
- }
194
- }
195
- }
196
- }
197
-
198
- &.accent--success {
199
- .input {
200
- & + .fake-checkbox {
201
- border-color: var(--color-success-item-base);
202
- }
203
-
204
- &.indeterminate + .fake-checkbox {
205
- background-color: var(--color-success-item-base);
206
-
207
- &:hover {
208
- border-color: transparent;
209
- background-color: var(--color-success-item-hover);
210
- }
211
-
212
- &:active {
213
- background-color: var(--color-success-item-active);
214
- }
215
- }
216
-
217
- &.indeterminate:hover + .fake-checkbox {
218
- border-color: transparent;
219
- background-color: var(--color-success-item-hover);
220
- }
221
-
222
- &:hover + .fake-checkbox {
223
- border-color: var(--color-success-item-hover);
224
- }
225
-
226
- &:focus-visible + .fake-checkbox::before {
227
- border: 0.2rem solid var(--color-success-txt-base);
228
- }
229
-
230
- &:active + .fake-checkbox {
231
- border-color: var(--color-success-item-active);
232
- }
233
-
234
- &:checked + .fake-checkbox {
235
- border-color: transparent;
236
- background-color: var(--color-success-item-base);
237
- }
238
-
239
- &:checked:hover + .fake-checkbox {
240
- background-color: var(--color-success-item-hover);
241
- }
242
-
243
- &:checked:active + .fake-checkbox {
244
- background-color: var(--color-success-item-active);
245
- }
246
-
247
- &:disabled {
248
- & + .fake-checkbox {
249
- cursor: not-allowed;
250
- border-color: var(--color-neutral-txt-secondary);
251
-
252
- > .icon {
253
- color: var(--color-neutral-txt-secondary);
254
- }
255
- }
256
-
257
- &:checked + .fake-checkbox,
258
- &.indeterminate + .fake-checkbox {
259
- border-color: transparent;
260
- background-color: var(--color-success-item-disabled);
261
- }
176
+ background-color: var(--color-brand-item-active);
262
177
  }
263
178
  }
264
179
  }
265
180
 
266
181
  &.accent--warning {
267
- .input {
182
+ .input:not(:disabled) {
268
183
  & + .fake-checkbox {
269
184
  border-color: var(--color-warning-item-base);
270
185
  }
@@ -311,28 +226,11 @@ const attrs = useAttrs()
311
226
  &:checked:active + .fake-checkbox {
312
227
  background-color: var(--color-warning-item-active);
313
228
  }
314
-
315
- &:disabled {
316
- & + .fake-checkbox {
317
- cursor: not-allowed;
318
- border-color: var(--color-neutral-txt-secondary);
319
-
320
- > .icon {
321
- color: var(--color-neutral-txt-secondary);
322
- }
323
- }
324
-
325
- &:checked + .fake-checkbox,
326
- &.indeterminate + .fake-checkbox {
327
- border-color: transparent;
328
- background-color: var(--color-warning-item-disabled);
329
- }
330
- }
331
229
  }
332
230
  }
333
231
 
334
232
  &.accent--danger {
335
- .input {
233
+ .input:not(:disabled) {
336
234
  & + .fake-checkbox {
337
235
  border-color: var(--color-danger-item-base);
338
236
 
@@ -383,24 +281,24 @@ const attrs = useAttrs()
383
281
  &:checked:active + .fake-checkbox {
384
282
  background-color: var(--color-danger-item-active);
385
283
  }
284
+ }
285
+ }
386
286
 
387
- &:disabled {
388
- & + .fake-checkbox {
389
- cursor: not-allowed;
390
- border-color: var(--color-neutral-txt-secondary);
391
-
392
- > .icon {
393
- color: var(--color-neutral-txt-secondary);
394
- }
395
- }
287
+ .input:disabled {
288
+ & + .fake-checkbox {
289
+ cursor: not-allowed;
290
+ border-color: var(--color-neutral-txt-secondary);
396
291
 
397
- &:checked + .fake-checkbox,
398
- &.indeterminate + .fake-checkbox {
399
- border-color: transparent;
400
- background-color: var(--color-danger-item-disabled);
401
- }
292
+ > .icon {
293
+ color: var(--color-neutral-background-disabled);
402
294
  }
403
295
  }
296
+
297
+ &:checked + .fake-checkbox,
298
+ &.indeterminate + .fake-checkbox {
299
+ border-color: transparent;
300
+ background-color: var(--color-neutral-txt-secondary);
301
+ }
404
302
  }
405
303
  }
406
304
  </style>
@@ -10,7 +10,7 @@
10
10
  <slot />
11
11
  </div>
12
12
  <slot v-if="slots.info || info !== undefined" name="info">
13
- <UiInfo :accent>
13
+ <UiInfo :accent="accent === 'brand' ? 'info' : accent">
14
14
  {{ info }}
15
15
  </UiInfo>
16
16
  </slot>
@@ -22,8 +22,8 @@ import UiInfo from '@core/components/ui/info/UiInfo.vue'
22
22
  import UiLabel from '@core/components/ui/label/UiLabel.vue'
23
23
  import { computed } from 'vue'
24
24
 
25
- const props = defineProps<{
26
- accent: 'info' | 'warning' | 'danger'
25
+ const { accent } = defineProps<{
26
+ accent: 'brand' | 'warning' | 'danger'
27
27
  label?: string
28
28
  info?: string
29
29
  vertical?: boolean
@@ -35,7 +35,7 @@ const slots = defineSlots<{
35
35
  info?(): any
36
36
  }>()
37
37
 
38
- const labelAccent = computed(() => (props.accent === 'info' ? 'neutral' : props.accent))
38
+ const labelAccent = computed(() => (accent === 'brand' ? 'neutral' : accent))
39
39
  </script>
40
40
 
41
41
  <style scoped lang="postcss">
@@ -1,13 +1,17 @@
1
1
  <template>
2
- <VtsButtonIcon :accent :icon="faXmark" size="small" />
2
+ <UiButtonIcon :accent="buttonAccent" :icon="faXmark" size="small" />
3
3
  </template>
4
4
 
5
5
  <script lang="ts" setup>
6
- import VtsButtonIcon from '@core/components/ui/button-icon/UiButtonIcon.vue'
6
+ import UiButtonIcon from '@core/components/ui/button-icon/UiButtonIcon.vue'
7
7
  import type { ChipAccent } from '@core/components/ui/chip/UiChip.vue'
8
8
  import { faXmark } from '@fortawesome/free-solid-svg-icons'
9
+ import { computed } from 'vue'
9
10
 
10
- defineProps<{
11
+ const { accent } = defineProps<{
11
12
  accent: ChipAccent
12
13
  }>()
14
+
15
+ // FIXME: temporary fix for the 'success' accent, since it doesn't exist in the UiButtonIcon component
16
+ const buttonAccent = computed(() => (accent === 'info' || accent === 'success' ? 'brand' : accent))
13
17
  </script>
@@ -1,4 +1,4 @@
1
- <!-- v2 -->
1
+ <!-- v3 -->
2
2
  <template>
3
3
  <span :class="classNames" class="ui-counter">
4
4
  <span class="inner">{{ value }}</span>
@@ -9,11 +9,11 @@
9
9
  import { toVariants } from '@core/utils/to-variants.util'
10
10
  import { computed } from 'vue'
11
11
 
12
- type CounterAccent = 'info' | 'neutral' | 'success' | 'warning' | 'danger' | 'muted'
12
+ type CounterAccent = 'brand' | 'neutral' | 'info' | 'success' | 'warning' | 'danger' | 'muted'
13
13
  type CounterVariant = 'primary' | 'secondary'
14
14
  type CounterSize = 'small' | 'medium'
15
15
 
16
- const props = defineProps<{
16
+ const { size, accent, variant } = defineProps<{
17
17
  value: number | string
18
18
  accent: CounterAccent
19
19
  variant: CounterVariant
@@ -27,11 +27,11 @@ const typoClasses = {
27
27
 
28
28
  const classNames = computed(() => {
29
29
  return [
30
- typoClasses[props.size],
30
+ typoClasses[size],
31
31
  toVariants({
32
- accent: props.accent,
33
- variant: props.variant,
34
- size: props.size,
32
+ accent,
33
+ variant,
34
+ size,
35
35
  }),
36
36
  ]
37
37
  })
@@ -52,6 +52,11 @@ const classNames = computed(() => {
52
52
  /* VARIANT + ACCENT VARIANTS */
53
53
 
54
54
  &.variant--primary {
55
+ &.accent--brand {
56
+ background-color: var(--color-brand-item-base);
57
+ color: var(--color-brand-txt-item);
58
+ }
59
+
55
60
  &.accent--info {
56
61
  background-color: var(--color-info-item-base);
57
62
  color: var(--color-info-txt-item);
@@ -84,6 +89,11 @@ const classNames = computed(() => {
84
89
  }
85
90
 
86
91
  &.variant--secondary {
92
+ &.accent--brand {
93
+ background-color: var(--color-brand-background-selected);
94
+ color: var(--color-brand-txt-base);
95
+ }
96
+
87
97
  &.accent--info {
88
98
  background-color: var(--color-info-background-selected);
89
99
  color: var(--color-info-txt-base);
@@ -1,4 +1,4 @@
1
- <!-- v3 -->
1
+ <!-- v5 -->
2
2
  <template>
3
3
  <button :class="{ selected }" :disabled="isDisabled" class="ui-dropdown-item" type="button">
4
4
  <VtsIcon :icon accent="current" class="left-icon" fixed-width />
@@ -28,31 +28,31 @@ const isDisabled = useDisabled(() => disabled)
28
28
  .ui-dropdown-item {
29
29
  display: inline-flex;
30
30
  align-items: center;
31
- padding-block: 0.4rem;
31
+ padding-block: 1.2rem;
32
32
  padding-inline: 1.6rem;
33
33
  gap: 0.8rem;
34
34
  background: var(--color-neutral-background-primary);
35
- border: 0.1rem solid var(--color-info-txt-base);
35
+ border: 0.1rem solid var(--color-brand-txt-base);
36
36
  border-radius: 9rem;
37
37
  cursor: pointer;
38
38
  position: relative;
39
- color: var(--color-info-txt-base);
39
+ color: var(--color-brand-txt-base);
40
40
 
41
41
  &:hover {
42
- border-color: var(--color-info-txt-hover);
43
- background-color: var(--color-info-background-hover);
44
- color: var(--color-info-txt-hover);
42
+ border-color: var(--color-brand-txt-hover);
43
+ background-color: var(--color-brand-background-hover);
44
+ color: var(--color-brand-txt-hover);
45
45
  }
46
46
 
47
47
  &:active {
48
- border-color: var(--color-info-txt-active);
49
- background-color: var(--color-info-background-active);
50
- color: var(--color-info-txt-active);
48
+ border-color: var(--color-brand-txt-active);
49
+ background-color: var(--color-brand-background-active);
50
+ color: var(--color-brand-txt-active);
51
51
  }
52
52
 
53
53
  &.selected:not(:disabled) {
54
- background-color: var(--color-info-background-selected);
55
- outline: 0.1rem solid var(--color-info-txt-base);
54
+ background-color: var(--color-brand-background-selected);
55
+ outline: 0.1rem solid var(--color-brand-txt-base);
56
56
  }
57
57
 
58
58
  &:focus-visible {
@@ -11,7 +11,7 @@
11
11
  v-if="!attrs.disabled && modelValue && clearable"
12
12
  :icon="faXmark"
13
13
  class="after"
14
- accent="info"
14
+ accent="brand"
15
15
  @click="modelValue = ''"
16
16
  />
17
17
  </div>
@@ -1,9 +1,9 @@
1
1
  <!-- v3 -->
2
2
  <template>
3
3
  <li :class="classNames" class="ui-legend">
4
- <VtsIcon :icon="faCircle" accent="brand" class="circle-icon" />
4
+ <VtsIcon :icon="faCircle" accent="current" class="circle-icon" />
5
5
  <span class="label typo p3-regular"><slot /></span>
6
- <VtsIcon v-if="tooltip" v-tooltip="tooltip" :icon="faCircleInfo" class="tooltip-icon" accent="info" />
6
+ <VtsIcon v-if="tooltip" v-tooltip="tooltip" :icon="faCircleInfo" class="tooltip-icon" accent="brand" />
7
7
  <span v-if="valueLabel" class="value-and-unit typo c3-semi-bold">{{ valueLabel }}</span>
8
8
  </li>
9
9
  </template>