@xen-orchestra/web-core 0.1.0 → 0.2.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 (82) hide show
  1. package/lib/assets/css/_colors.pcss +148 -116
  2. package/lib/assets/css/_context.pcss +44 -44
  3. package/lib/assets/css/base.pcss +9 -8
  4. package/lib/assets/no-data.svg +67 -0
  5. package/lib/components/CardNumbers.vue +5 -5
  6. package/lib/components/LegendTitle.vue +3 -3
  7. package/lib/components/PowerStateIcon.vue +6 -6
  8. package/lib/components/UiCard.vue +2 -2
  9. package/lib/components/UiTag.vue +39 -31
  10. package/lib/components/backup-item/BackupItem.vue +5 -2
  11. package/lib/components/backup-state/BackupState.vue +4 -5
  12. package/lib/components/button/ButtonIcon.vue +40 -40
  13. package/lib/components/button/UiButton.vue +356 -93
  14. package/lib/components/card/CardSubtitle.vue +2 -2
  15. package/lib/components/card/CardTitle.vue +9 -4
  16. package/lib/components/cell-object/CellObject.vue +4 -4
  17. package/lib/components/cell-text/CellText.vue +3 -3
  18. package/lib/components/chip/ChipIcon.vue +6 -5
  19. package/lib/components/chip/UiChip.vue +20 -20
  20. package/lib/components/counter/VtsCounter.vue +147 -0
  21. package/lib/components/divider/Divider.vue +2 -2
  22. package/lib/components/donut-chart/DonutChart.vue +9 -9
  23. package/lib/components/dropdown/DropdownItem.vue +53 -73
  24. package/lib/components/dropdown/DropdownList.vue +1 -1
  25. package/lib/components/dropdown/DropdownTitle.vue +6 -6
  26. package/lib/components/head-bar/HeadBar.vue +6 -6
  27. package/lib/components/icon/ComplexIcon.vue +1 -1
  28. package/lib/components/icon/ObjectIcon.vue +19 -19
  29. package/lib/components/icon/VtsIcon.vue +96 -0
  30. package/lib/components/info/VtsInfo.vue +55 -0
  31. package/lib/components/input/UiInput.vue +22 -16
  32. package/lib/components/layout/LayoutSidebar.vue +3 -3
  33. package/lib/components/legend/LegendItem.vue +11 -11
  34. package/lib/components/menu/MenuItem.vue +4 -4
  35. package/lib/components/menu/MenuList.vue +6 -6
  36. package/lib/components/menu/MenuSeparator.vue +2 -2
  37. package/lib/components/menu/MenuTrigger.vue +6 -6
  38. package/lib/components/object-link/ObjectLink.vue +12 -12
  39. package/lib/components/query-search-bar/QuerySearchBar.vue +10 -3
  40. package/lib/components/stacked-bar/StackedBar.vue +2 -2
  41. package/lib/components/stacked-bar/StackedBarSegment.vue +6 -5
  42. package/lib/components/state-hero/NoDataHero.vue +11 -0
  43. package/lib/components/state-hero/StateHero.vue +6 -3
  44. package/lib/components/tab/TabItem.vue +11 -11
  45. package/lib/components/tab/TabList.vue +2 -2
  46. package/lib/components/table/ColumnTitle.vue +19 -16
  47. package/lib/components/table/UiTable.vue +5 -5
  48. package/lib/components/task/QuickTaskItem.vue +6 -6
  49. package/lib/components/task/QuickTaskList.vue +1 -1
  50. package/lib/components/task/QuickTaskPanel.vue +1 -1
  51. package/lib/components/task/QuickTaskTabBar.vue +22 -4
  52. package/lib/components/tooltip/TooltipItem.vue +15 -9
  53. package/lib/components/tree/TreeItemError.vue +1 -1
  54. package/lib/components/tree/TreeItemLabel.vue +12 -12
  55. package/lib/components/tree/TreeLine.vue +2 -2
  56. package/lib/components/tree/TreeLoadingItem.vue +4 -8
  57. package/lib/components/user/UserLink.vue +8 -8
  58. package/lib/components/user/UserLogo.vue +2 -2
  59. package/lib/composables/hide-route-query.composable.ts +10 -0
  60. package/lib/composables/route-query/actions/handle-delete.ts +9 -6
  61. package/lib/composables/route-query/actions/handle-set.ts +6 -4
  62. package/lib/composables/route-query/types.ts +10 -1
  63. package/lib/composables/sort-route-query.composable.ts +18 -0
  64. package/lib/composables/table/create-base-definition.ts +20 -0
  65. package/lib/composables/table/create-define-column.ts +26 -0
  66. package/lib/composables/table/create-sorting-definition.ts +48 -0
  67. package/lib/composables/table/create-visibility-definition.ts +44 -0
  68. package/lib/composables/table/type.ts +112 -0
  69. package/lib/composables/table.composable.ts +76 -0
  70. package/lib/layouts/CoreLayout.vue +3 -3
  71. package/lib/locales/en.json +1 -0
  72. package/lib/locales/fr.json +1 -0
  73. package/lib/types/backup.type.ts +1 -1
  74. package/lib/types/button.type.ts +1 -1
  75. package/lib/types/color.type.ts +2 -4
  76. package/lib/types/size.type.ts +0 -2
  77. package/lib/types/utility.type.ts +2 -0
  78. package/lib/utils/to-variants.util.ts +9 -0
  79. package/package.json +3 -3
  80. package/lib/components/UiCounter.vue +0 -89
  81. package/lib/components/icon/UiIcon.vue +0 -47
  82. package/lib/components/icon/VmIcon.vue +0 -30
@@ -21,7 +21,7 @@ withDefaults(
21
21
  color?: Color
22
22
  disabled?: boolean
23
23
  }>(),
24
- { color: 'info' }
24
+ { color: 'normal' }
25
25
  )
26
26
 
27
27
  const emit = defineEmits<{
@@ -33,13 +33,13 @@ const emit = defineEmits<{
33
33
  <style lang="postcss" scoped>
34
34
  /* COLOR VARIANTS */
35
35
  .ui-chip {
36
- --color: var(--color-grey-100);
36
+ --color: var(--color-neutral-txt-primary);
37
37
 
38
38
  &.disabled {
39
- --color: var(--color-grey-600);
39
+ --color: var(--color-normal-txt-item);
40
40
 
41
41
  &.info {
42
- --color: var(--color-grey-300);
42
+ --color: var(--color-neutral-txt-secondary);
43
43
  }
44
44
  }
45
45
  }
@@ -47,66 +47,66 @@ const emit = defineEmits<{
47
47
  /* BACKGROUND COLOR VARIANTS */
48
48
  .ui-chip {
49
49
  &.info {
50
- --background-color: var(--background-color-purple-10);
50
+ --background-color: var(--color-normal-background-selected);
51
51
 
52
52
  &:is(:hover, .hover, :focus-visible) {
53
- --background-color: var(--background-color-purple-20);
53
+ --background-color: var(--color-normal-background-hover);
54
54
  }
55
55
 
56
56
  &:is(:active, .pressed) {
57
- --background-color: var(--background-color-purple-30);
57
+ --background-color: var(--color-normal-background-active);
58
58
  }
59
59
 
60
60
  &.disabled {
61
- --background-color: var(--background-color-secondary);
61
+ --background-color: var(--color-neutral-background-secondary);
62
62
  }
63
63
  }
64
64
 
65
65
  &.success {
66
- --background-color: var(--background-color-green-10);
66
+ --background-color: var(--color-success-background-selected);
67
67
 
68
68
  &:is(:hover, .hover, :focus-visible) {
69
- --background-color: var(--background-color-green-20);
69
+ --background-color: var(--color-success-background-hover);
70
70
  }
71
71
 
72
72
  &:is(:active, .pressed) {
73
- --background-color: var(--background-color-green-30);
73
+ --background-color: var(--color-success-background-active);
74
74
  }
75
75
 
76
76
  &.disabled {
77
- --background-color: var(--color-green-l60);
77
+ --background-color: var(--color-success-item-disabled);
78
78
  }
79
79
  }
80
80
 
81
81
  &.warning {
82
- --background-color: var(--background-color-orange-10);
82
+ --background-color: var(--color-warning-background-selected);
83
83
 
84
84
  &:is(:hover, .hover, :focus-visible) {
85
- --background-color: var(--background-color-orange-20);
85
+ --background-color: var(--color-warning-background-hover);
86
86
  }
87
87
 
88
88
  &:is(:active, .pressed) {
89
- --background-color: var(--background-color-orange-30);
89
+ --background-color: var(--color-warning-background-active);
90
90
  }
91
91
 
92
92
  &.disabled {
93
- --background-color: var(--color-orange-l60);
93
+ --background-color: var(--color-warning-item-disabled);
94
94
  }
95
95
  }
96
96
 
97
97
  &:is(.danger, .error) {
98
- --background-color: var(--background-color-red-10);
98
+ --background-color: var(--color-danger-background-selected);
99
99
 
100
100
  &:is(:hover, .hover, :focus-visible) {
101
- --background-color: var(--background-color-red-20);
101
+ --background-color: var(--color-danger-background-hover);
102
102
  }
103
103
 
104
104
  &:is(:active, .pressed) {
105
- --background-color: var(--background-color-red-30);
105
+ --background-color: var(--color-danger-background-active);
106
106
  }
107
107
 
108
108
  &.disabled {
109
- --background-color: var(--color-red-l60);
109
+ --background-color: var(--color-danger-item-disabled);
110
110
  }
111
111
  }
112
112
  }
@@ -0,0 +1,147 @@
1
+ <!-- v2 -->
2
+ <template>
3
+ <span :class="classNames" class="vts-counter">
4
+ <span class="inner">{{ value }}</span>
5
+ </span>
6
+ </template>
7
+
8
+ <script lang="ts" setup>
9
+ import { toVariants } from '@core/utils/to-variants.util'
10
+ import { computed } from 'vue'
11
+
12
+ type CounterAccent = 'brand' | 'neutral' | 'success' | 'warning' | 'danger' | 'muted'
13
+ type CounterVariant = 'primary' | 'secondary'
14
+ type CounterSize = 'small' | 'medium'
15
+
16
+ const props = defineProps<{
17
+ value: number | string
18
+ accent: CounterAccent
19
+ variant: CounterVariant
20
+ size: CounterSize
21
+ }>()
22
+
23
+ const typoClasses = {
24
+ small: 'typo p4-semi-bold',
25
+ medium: 'typo p1-medium',
26
+ }
27
+
28
+ const classNames = computed(() => {
29
+ return [
30
+ typoClasses[props.size],
31
+ toVariants({
32
+ accent: props.accent,
33
+ variant: props.variant,
34
+ size: props.size,
35
+ }),
36
+ ]
37
+ })
38
+ </script>
39
+
40
+ <style lang="postcss" scoped>
41
+ /*
42
+ VARIANT + ACCENT
43
+ --vts-counter--background-color
44
+ --vts-counter--color
45
+ */
46
+ .vts-counter {
47
+ &.variant--primary {
48
+ &.accent--brand {
49
+ --vts-counter--background-color: var(--color-normal-item-base);
50
+ --vts-counter--color: var(--color-normal-txt-item);
51
+ }
52
+
53
+ &.accent--neutral {
54
+ --vts-counter--background-color: var(--color-neutral-txt-primary);
55
+ --vts-counter--color: var(--color-neutral-background-primary);
56
+ }
57
+
58
+ &.accent--success {
59
+ --vts-counter--background-color: var(--color-success-item-base);
60
+ --vts-counter--color: var(--color-success-txt-item);
61
+ }
62
+
63
+ &.accent--warning {
64
+ --vts-counter--background-color: var(--color-warning-item-base);
65
+ --vts-counter--color: var(--color-warning-txt-item);
66
+ }
67
+
68
+ &.accent--danger {
69
+ --vts-counter--background-color: var(--color-danger-item-base);
70
+ --vts-counter--color: var(--color-danger-txt-item);
71
+ }
72
+
73
+ &.accent--muted {
74
+ --vts-counter--background-color: var(--color-neutral-background-disabled);
75
+ --vts-counter--color: var(--color-neutral-txt-secondary);
76
+ }
77
+ }
78
+
79
+ &.variant--secondary {
80
+ &.accent--brand {
81
+ --vts-counter--background-color: var(--color-normal-background-selected);
82
+ --vts-counter--color: var(--color-normal-txt-base);
83
+ }
84
+
85
+ &.accent--neutral {
86
+ --vts-counter--background-color: var(--color-neutral-background-secondary);
87
+ --vts-counter--color: var(--color-neutral-txt-secondary);
88
+ }
89
+
90
+ &.accent--success {
91
+ --vts-counter--background-color: var(--color-success-background-selected);
92
+ --vts-counter--color: var(--color-success-txt-base);
93
+ }
94
+
95
+ &.accent--warning {
96
+ --vts-counter--background-color: var(--color-warning-background-selected);
97
+ --vts-counter--color: var(--color-warning-txt-base);
98
+ }
99
+
100
+ &.accent--danger {
101
+ --vts-counter--background-color: var(--color-danger-background-selected);
102
+ --vts-counter--color: var(--color-danger-txt-base);
103
+ }
104
+
105
+ &.accent--muted {
106
+ --vts-counter--background-color: var(--color-neutral-background-secondary);
107
+ --vts-counter--color: var(--color-neutral-txt-secondary);
108
+ }
109
+ }
110
+ }
111
+
112
+ /*
113
+ SIZE
114
+ --vts-counter--height
115
+ --vts-counter--padding
116
+ */
117
+ .vts-counter {
118
+ &.size--small {
119
+ --vts-counter--height: 1.5rem;
120
+ --vts-counter--padding: 0 0.4rem;
121
+ }
122
+
123
+ &.size--medium {
124
+ --vts-counter--height: 2.4rem;
125
+ --vts-counter--padding: 0 0.6rem;
126
+ }
127
+ }
128
+
129
+ /* IMPLEMENTATION */
130
+ .vts-counter {
131
+ display: inline-flex;
132
+ align-items: center;
133
+ justify-content: center;
134
+ vertical-align: middle;
135
+ text-transform: lowercase;
136
+ color: var(--vts-counter--color);
137
+ height: var(--vts-counter--height);
138
+ min-width: var(--vts-counter--height);
139
+ padding: var(--vts-counter--padding);
140
+ background-color: var(--vts-counter--background-color);
141
+ border-radius: calc(var(--vts-counter--height) / 2);
142
+
143
+ .inner {
144
+ line-height: 0;
145
+ }
146
+ }
147
+ </style>
@@ -10,8 +10,8 @@ defineProps<{
10
10
 
11
11
  <style scoped lang="postcss">
12
12
  .vts-divider {
13
- border-left: 0.1rem solid var(--color-grey-500);
14
- border-bottom: 0.1rem solid var(--color-grey-500);
13
+ border-left: 0.1rem solid var(--color-neutral-border);
14
+ border-bottom: 0.1rem solid var(--color-neutral-border);
15
15
 
16
16
  &.tab {
17
17
  height: 2.4rem;
@@ -13,12 +13,12 @@
13
13
  cy="50"
14
14
  r="40"
15
15
  />
16
- <UiIcon :icon height="24" width="24" x="38" y="38" />
16
+ <VtsIcon :icon accent="current" height="24" width="24" x="38" y="38" />
17
17
  </svg>
18
18
  </template>
19
19
 
20
20
  <script lang="ts" setup>
21
- import UiIcon from '@core/components/icon/UiIcon.vue'
21
+ import VtsIcon from '@core/components/icon/VtsIcon.vue'
22
22
  import type { IconDefinition } from '@fortawesome/fontawesome-common-types'
23
23
  import { computed } from 'vue'
24
24
 
@@ -67,30 +67,30 @@ const computedSegments = computed(() => {
67
67
  stroke: var(--stroke-color);
68
68
  stroke-width: 10;
69
69
  fill: transparent;
70
- --stroke-color: var(--color-grey-100);
70
+ --stroke-color: var(--color-neutral-txt-primary);
71
71
 
72
72
  &.primary {
73
- --stroke-color: var(--color-purple-base);
73
+ --stroke-color: var(--color-normal-item-base);
74
74
  }
75
75
 
76
76
  &.secondary {
77
- --stroke-color: var(--color-grey-100);
77
+ --stroke-color: var(--color-neutral-txt-primary);
78
78
  }
79
79
 
80
80
  &.success {
81
- --stroke-color: var(--color-green-base);
81
+ --stroke-color: var(--color-success-item-base);
82
82
  }
83
83
 
84
84
  &.warning {
85
- --stroke-color: var(--color-orange-base);
85
+ --stroke-color: var(--color-warning-item-base);
86
86
  }
87
87
 
88
88
  &.danger {
89
- --stroke-color: var(--color-red-base);
89
+ --stroke-color: var(--color-danger-item-base);
90
90
  }
91
91
 
92
92
  &.disabled {
93
- --stroke-color: var(--color-grey-400);
93
+ --stroke-color: var(--color-neutral-background-disabled);
94
94
  }
95
95
  }
96
96
  </style>
@@ -1,19 +1,24 @@
1
1
  <template>
2
2
  <div v-tooltip="{ selector: '.label' }" :class="[color, { disabled, selected }]" class="dropdown-item">
3
- <UiIcon v-if="checkbox" :color="color ?? 'info'" :icon="selected ? faSquareCheck : faSquare" />
3
+ <!-- TODO: replace with correct color typing when available -->
4
+ <VtsIcon
5
+ v-if="checkbox"
6
+ :accent="color === 'normal' ? 'brand' : color"
7
+ :icon="selected ? faSquareCheck : faSquare"
8
+ />
4
9
  <slot name="icon">
5
- <UiIcon :icon />
10
+ <VtsIcon :icon accent="current" />
6
11
  </slot>
7
12
  <div class="label p2 medium text-ellipsis">
8
13
  <slot />
9
14
  </div>
10
15
  <div v-if="info" class="info-text p3 italic">{{ info }}</div>
11
- <UiIcon v-if="arrow" :color="disabled ? undefined : 'info'" :icon="faAngleRight" class="right-icon" />
16
+ <VtsIcon v-if="arrow" :accent="disabled ? 'current' : 'brand'" :icon="faAngleRight" class="right-icon" />
12
17
  </div>
13
18
  </template>
14
19
 
15
20
  <script lang="ts" setup>
16
- import UiIcon from '@core/components/icon/UiIcon.vue'
21
+ import VtsIcon from '@core/components/icon/VtsIcon.vue'
17
22
  import { vTooltip } from '@core/directives/tooltip.directive'
18
23
  import type { Color } from '@core/types/color.type'
19
24
  import { IK_DROPDOWN_CHECKBOX } from '@core/utils/injection-keys.util'
@@ -24,7 +29,7 @@ import { computed, inject } from 'vue'
24
29
 
25
30
  defineProps<{
26
31
  arrow?: boolean
27
- color?: Color
32
+ color: Color
28
33
  disabled?: boolean
29
34
  icon?: IconDefinition
30
35
  info?: string
@@ -40,128 +45,103 @@ const checkbox = inject(
40
45
  <style lang="postcss" scoped>
41
46
  /* COLOR VARIANTS */
42
47
  .dropdown-item {
43
- & {
44
- --color: var(--color-grey-100);
45
- --background-color: var(--background-color-primary);
48
+ &.normal {
49
+ --color: var(--color-neutral-txt-primary);
50
+ --background-color: var(--color-neutral-background-primary);
46
51
 
47
52
  &:is(.active, .selected) {
48
- --color: var(--color-grey-100);
49
- --background-color: var(--background-color-purple-10);
53
+ --color: var(--color-neutral-txt-primary);
54
+ --background-color: var(--color-normal-background-selected);
50
55
  }
51
56
 
52
57
  &:is(:hover, .hover, :focus-visible) {
53
- --color: var(--color-grey-100);
54
- --background-color: var(--background-color-purple-20);
58
+ --color: var(--color-neutral-txt-primary);
59
+ --background-color: var(--color-normal-background-hover);
55
60
  }
56
61
 
57
62
  &:is(:active, .pressed) {
58
- --color: var(--color-grey-100);
59
- --background-color: var(--background-color-purple-30);
63
+ --color: var(--color-neutral-txt-primary);
64
+ --background-color: var(--color-normal-background-active);
60
65
  }
61
66
 
62
67
  &.disabled {
63
- --color: var(--color-grey-400);
64
- --background-color: var(--background-color-primary);
65
- }
66
- }
67
-
68
- &.info {
69
- --color: var(--color-purple-base);
70
- --background-color: var(--background-color-primary);
71
-
72
- &:is(.active, .selected) {
73
- --color: var(--color-purple-base);
74
- --background-color: var(--background-color-purple-10);
75
- }
76
-
77
- &:is(:hover, .hover, :focus-visible) {
78
- --color: var(--color-purple-d20);
79
- --background-color: var(--background-color-purple-20);
80
- }
81
-
82
- &:is(:active, .pressed) {
83
- --color: var(--color-purple-d40);
84
- --background-color: var(--background-color-purple-30);
85
- }
86
-
87
- &.disabled {
88
- --color: var(--color-purple-l60);
89
- --background-color: var(--background-color-primary);
68
+ --color: var(--color-neutral-txt-secondary);
69
+ --background-color: var(--color-neutral-background-primary);
90
70
  }
91
71
  }
92
72
 
93
73
  &.success {
94
- --color: var(--color-green-base);
95
- --background-color: var(--background-color-primary);
74
+ --color: var(--color-success-txt-base);
75
+ --background-color: var(--color-neutral-background-primary);
96
76
 
97
77
  &:is(.active, .selected) {
98
- --color: var(--color-green-base);
99
- --background-color: var(--background-color-green-10);
78
+ --color: var(--color-success-txt-base);
79
+ --background-color: var(--color-success-background-selected);
100
80
  }
101
81
 
102
82
  &:is(:hover, .hover, :focus-visible) {
103
- --color: var(--color-green-d20);
104
- --background-color: var(--background-color-green-20);
83
+ --color: var(--color-success-txt-hover);
84
+ --background-color: var(--color-success-background-hover);
105
85
  }
106
86
 
107
87
  &:is(:active, .pressed) {
108
- --color: var(--color-green-d40);
109
- --background-color: var(--background-color-green-30);
88
+ --color: var(--color-success-txt-active);
89
+ --background-color: var(--color-success-background-active);
110
90
  }
111
91
 
112
92
  &.disabled {
113
- --color: var(--color-green-l60);
114
- --background-color: var(--background-color-primary);
93
+ --color: var(--color-neutral-txt-secondary);
94
+ --background-color: var(--color-neutral-background-primary);
115
95
  }
116
96
  }
117
97
 
118
98
  &.warning {
119
- --color: var(--color-orange-base);
120
- --background-color: var(--background-color-primary);
99
+ --color: var(--color-warning-txt-base);
100
+ --background-color: var(--color-neutral-background-primary);
121
101
 
122
102
  &:is(.active, .selected) {
123
- --color: var(--color-orange-base);
124
- --background-color: var(--background-color-orange-10);
103
+ --color: var(--color-warning-txt-base);
104
+ --background-color: var(--color-warning-background-selected);
125
105
  }
126
106
 
127
107
  &:is(:hover, .hover, :focus-visible) {
128
- --color: var(--color-orange-d20);
129
- --background-color: var(--background-color-orange-20);
108
+ --color: var(--color-warning-txt-hover);
109
+ --background-color: var(--color-warning-background-hover);
130
110
  }
131
111
 
132
112
  &:is(:active, .pressed) {
133
- --color: var(--color-orange-d40);
134
- --background-color: var(--background-color-orange-30);
113
+ --color: var(--color-warning-txt-active);
114
+ --background-color: var(--color-warning-background-active);
135
115
  }
136
116
 
137
117
  &.disabled {
138
- --color: var(--color-orange-l60);
139
- --background-color: var(--background-color-primary);
118
+ --color: var(--color-neutral-txt-secondary);
119
+ --background-color: var(--color-neutral-background-primary);
140
120
  }
141
121
  }
142
122
 
143
- &:is(.error, .danger) {
144
- --color: var(--color-red-base);
145
- --background-color: var(--background-color-primary);
123
+ &.danger {
124
+ --color: var(--color-danger-txt-base);
125
+ --background-color: var(--color-neutral-background-primary);
146
126
 
147
127
  &:is(.active, .selected) {
148
- --color: var(--color-red-base);
149
- --background-color: var(--background-color-red-10);
128
+ --color: var(--color-danger-txt-base);
129
+ --background-color: var(--color-danger-background-selected);
150
130
  }
151
131
 
152
132
  &:is(:hover, .hover, :focus-visible) {
153
- --color: var(--color-red-d20);
154
- --background-color: var(--background-color-red-20);
133
+ --color: var(--color-danger-txt-hover);
134
+ --background-color: var(--color-danger-background-hover);
155
135
  }
156
136
 
157
137
  &:is(:active, .pressed) {
158
- --color: var(--color-red-d40);
159
- --background-color: var(--background-color-red-30);
138
+ --color: var(--color-danger-txt-active);
139
+ --background-color: var(--color-danger-background-active);
160
140
  }
161
141
 
162
142
  &.disabled {
163
- --color: var(--color-red-l60);
164
- --background-color: var(--background-color-primary);
143
+ --color: var(--color-neutral-txt-secondary);
144
+ --background-color: var(--color-neutral-background-primary);
165
145
  }
166
146
  }
167
147
  }
@@ -184,6 +164,6 @@ const checkbox = inject(
184
164
  }
185
165
 
186
166
  .info-text {
187
- color: var(--color-grey-300);
167
+ color: var(--color-neutral-txt-secondary);
188
168
  }
189
169
  </style>
@@ -25,7 +25,7 @@ provide(
25
25
  padding: 0.4rem 0;
26
26
  gap: 0.2rem;
27
27
  border-radius: 0.4rem;
28
- background: var(--background-color-primary);
28
+ background: var(--color-neutral-background-primary);
29
29
  box-shadow: var(--shadow-300);
30
30
  }
31
31
  </style>
@@ -4,7 +4,7 @@
4
4
  -->
5
5
  <template>
6
6
  <div class="dropdown-title">
7
- <UiIcon :icon />
7
+ <VtsIcon :icon accent="current" />
8
8
  <div class="label c3 semi-bold">
9
9
  <slot />
10
10
  </div>
@@ -20,7 +20,7 @@
20
20
  </template>
21
21
 
22
22
  <script lang="ts" setup>
23
- import UiIcon from '@core/components/icon/UiIcon.vue'
23
+ import VtsIcon from '@core/components/icon/VtsIcon.vue'
24
24
  import type { IconDefinition } from '@fortawesome/fontawesome-common-types'
25
25
 
26
26
  withDefaults(
@@ -44,7 +44,7 @@ const emit = defineEmits<{
44
44
  padding: 0.4rem 1.6rem;
45
45
  gap: 0.8rem;
46
46
  height: 2.6rem;
47
- background: var(--background-color-secondary);
47
+ background: var(--color-neutral-background-secondary);
48
48
  }
49
49
 
50
50
  .buttons {
@@ -55,14 +55,14 @@ const emit = defineEmits<{
55
55
  span {
56
56
  cursor: pointer;
57
57
  text-decoration: underline;
58
- color: var(--color-purple-base);
58
+ color: var(--color-normal-txt-base);
59
59
 
60
60
  &:hover {
61
- color: var(--color-purple-l20);
61
+ color: var(--color-normal-item-hover);
62
62
  }
63
63
 
64
64
  &:active {
65
- color: var(--color-purple-l40);
65
+ color: var(--color-normal-item-active);
66
66
  }
67
67
  }
68
68
  }
@@ -4,7 +4,7 @@
4
4
  <div class="label-wrapper">
5
5
  <span v-if="slots.icon || icon" class="icon">
6
6
  <slot name="icon">
7
- <UiIcon :icon />
7
+ <VtsIcon :icon accent="current" />
8
8
  </slot>
9
9
  </span>
10
10
  <h4 v-tooltip class="typo h4-medium label text-ellipsis">
@@ -21,7 +21,7 @@
21
21
  </template>
22
22
 
23
23
  <script lang="ts" setup>
24
- import UiIcon from '@core/components/icon/UiIcon.vue'
24
+ import VtsIcon from '@core/components/icon/VtsIcon.vue'
25
25
  import { vTooltip } from '@core/directives/tooltip.directive'
26
26
  import type { IconDefinition } from '@fortawesome/fontawesome-common-types'
27
27
 
@@ -43,8 +43,8 @@ const slots = defineSlots<{
43
43
  display: flex;
44
44
  gap: 4.8rem;
45
45
  align-items: center;
46
- border-bottom: 0.1rem solid var(--color-grey-500);
47
- background-color: var(--background-color-primary);
46
+ border-bottom: 0.1rem solid var(--color-neutral-border);
47
+ background-color: var(--color-neutral-background-primary);
48
48
  }
49
49
 
50
50
  .label-wrapper {
@@ -55,7 +55,7 @@ const slots = defineSlots<{
55
55
  }
56
56
 
57
57
  .label {
58
- color: var(--color-grey-100);
58
+ color: var(--color-neutral-txt-primary);
59
59
  }
60
60
 
61
61
  .icon {
@@ -63,7 +63,7 @@ const slots = defineSlots<{
63
63
  }
64
64
 
65
65
  .status {
66
- color: var(--color-grey-200);
66
+ color: var(--color-neutral-txt-secondary);
67
67
  display: flex;
68
68
  align-items: center;
69
69
  gap: 1.6rem;
@@ -41,7 +41,7 @@ withDefaults(
41
41
  transform: translate(100%, 80%);
42
42
 
43
43
  :deep(path) {
44
- stroke: var(--color-grey-600);
44
+ stroke: var(--color-neutral-background-primary);
45
45
  stroke-width: 100px;
46
46
  stroke-linejoin: round;
47
47
  paint-order: stroke;