@xen-orchestra/web-core 0.1.1 → 0.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 (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 +4 -4
  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 +1 -1
  41. package/lib/components/stacked-bar/StackedBarSegment.vue +7 -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 +3 -0
  72. package/lib/locales/fr.json +3 -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
@@ -1,14 +1,14 @@
1
1
  <!-- v1.0 -->
2
2
  <template>
3
3
  <button :class="className" :disabled="busy || isDisabled" class="ui-button" type="button">
4
- <UiIcon :busy :icon="leftIcon" class="icon" fixed-width />
4
+ <VtsIcon :busy :icon="leftIcon" accent="current" class="icon" fixed-width />
5
5
  <slot />
6
- <UiIcon :icon="rightIcon" class="icon" fixed-width />
6
+ <VtsIcon :icon="rightIcon" accent="current" class="icon" fixed-width />
7
7
  </button>
8
8
  </template>
9
9
 
10
10
  <script lang="ts" setup>
11
- import UiIcon from '@core/components/icon/UiIcon.vue'
11
+ import VtsIcon from '@core/components/icon/VtsIcon.vue'
12
12
  import { useContext } from '@core/composables/context.composable'
13
13
  import { DisabledContext } from '@core/context'
14
14
  import type { ButtonLevel, ButtonSize } from '@core/types/button.type'
@@ -18,28 +18,25 @@ import { computed } from 'vue'
18
18
 
19
19
  const props = withDefaults(
20
20
  defineProps<{
21
- level?: ButtonLevel
21
+ level: ButtonLevel
22
+ color: Color
23
+ size: ButtonSize
22
24
  busy?: boolean
23
25
  disabled?: boolean
24
26
  leftIcon?: IconDefinition
25
27
  rightIcon?: IconDefinition
26
- color?: Color
27
- size?: ButtonSize
28
28
  }>(),
29
29
  {
30
30
  disabled: undefined,
31
- color: 'info',
32
- level: 'primary',
33
- size: 'small',
34
31
  }
35
32
  )
36
33
 
37
34
  const isDisabled = useContext(DisabledContext, () => props.disabled)
38
35
 
39
36
  const fontClasses = {
40
- 'extra-small': 'typo p3-medium',
41
- small: 'typo h6-medium',
42
- medium: 'typo h3-semi-bold',
37
+ small: 'typo p3-medium',
38
+ medium: 'typo h6-medium',
39
+ large: 'typo h3-semi-bold',
43
40
  }
44
41
 
45
42
  const className = computed(() => {
@@ -59,123 +56,389 @@ const className = computed(() => {
59
56
  <style lang="postcss" scoped>
60
57
  /* COLOR VARIANTS */
61
58
  .ui-button {
62
- &.info {
63
- --accent-color: var(--color-purple-base);
64
-
65
- &:is(:hover, .hover, :focus-visible) {
66
- --accent-color: var(--color-purple-d20);
67
- }
68
-
69
- &:is(:active, .pressed) {
70
- --accent-color: var(--color-purple-d40);
71
- }
72
-
73
- &:is(:disabled, .disabled) {
74
- --accent-color: var(--color-grey-400);
59
+ &.primary {
60
+ &.normal {
61
+ --background-color: var(--color-normal-item-base);
62
+ --border-color: var(--color-normal-item-base);
63
+ --color: var(--color-normal-txt-item);
64
+
65
+ &:is(:hover, .hover, :focus-visible) {
66
+ --background-color: var(--color-normal-item-hover);
67
+ --border-color: var(--color-normal-item-hover);
68
+ --color: var(--color-normal-txt-item);
69
+ }
70
+
71
+ &:is(:active, .pressed) {
72
+ --background-color: var(--color-normal-item-active);
73
+ --border-color: var(--color-normal-item-active);
74
+ --color: var(--color-normal-txt-item);
75
+ }
76
+
77
+ &:is(:disabled, .disabled) {
78
+ --background-color: var(--color-normal-item-disabled);
79
+ --border-color: var(--color-normal-item-disabled);
80
+ --color: var(--color-neutral-txt-secondary);
81
+ }
82
+
83
+ &.busy {
84
+ --background-color: var(--color-normal-item-base);
85
+ --border-color: var(--color-normal-item-base);
86
+ --color: var(--color-normal-txt-item);
87
+ }
75
88
  }
76
- }
77
89
 
78
- &.success {
79
- --accent-color: var(--color-green-base);
80
-
81
- &:is(:hover, .hover, :focus-visible) {
82
- --accent-color: var(--color-green-d20);
90
+ &.success {
91
+ --background-color: var(--color-success-item-base);
92
+ --border-color: var(--color-success-item-base);
93
+ --color: var(--color-success-txt-item);
94
+
95
+ &:is(:hover, .hover, :focus-visible) {
96
+ --background-color: var(--color-success-item-hover);
97
+ --border-color: var(--color-success-item-hover);
98
+ --color: var(--color-success-txt-item);
99
+ }
100
+
101
+ &:is(:active, .pressed) {
102
+ --background-color: var(--color-success-item-active);
103
+ --border-color: var(--color-success-item-active);
104
+ --color: var(--color-success-txt-item);
105
+ }
106
+
107
+ &:is(:disabled, .disabled) {
108
+ --background-color: var(--color-success-item-disabled);
109
+ --border-color: var(--color-success-item-disabled);
110
+ --color: var(--color-neutral-txt-secondary);
111
+ }
112
+
113
+ &.busy {
114
+ --background-color: var(--color-success-item-base);
115
+ --border-color: var(--color-success-item-base);
116
+ --color: var(--color-success-txt-item);
117
+ }
83
118
  }
84
119
 
85
- &:is(:active, .pressed) {
86
- --accent-color: var(--color-green-d40);
120
+ &.warning {
121
+ --background-color: var(--color-warning-item-base);
122
+ --border-color: var(--color-warning-item-base);
123
+ --color: var(--color-warning-txt-item);
124
+
125
+ &:is(:hover, .hover, :focus-visible) {
126
+ --background-color: var(--color-warning-item-hover);
127
+ --border-color: var(--color-warning-item-hover);
128
+ --color: var(--color-warning-txt-item);
129
+ }
130
+
131
+ &:is(:active, .pressed) {
132
+ --background-color: var(--color-warning-item-active);
133
+ --border-color: var(--color-warning-item-active);
134
+ --color: var(--color-warning-txt-item);
135
+ }
136
+
137
+ &:is(:disabled, .disabled) {
138
+ --background-color: var(--color-warning-item-disabled);
139
+ --border-color: var(--color-warning-item-disabled);
140
+ --color: var(--color-neutral-txt-secondary);
141
+ }
142
+
143
+ &.busy {
144
+ --background-color: var(--color-warning-item-base);
145
+ --border-color: var(--color-warning-item-base);
146
+ --color: var(--color-warning-txt-item);
147
+ }
87
148
  }
88
149
 
89
- &:is(:disabled, .disabled) {
90
- --accent-color: var(--color-green-l60);
150
+ &.danger {
151
+ --background-color: var(--color-danger-item-base);
152
+ --border-color: var(--color-danger-item-base);
153
+ --color: var(--color-danger-txt-item);
154
+
155
+ &:is(:hover, .hover, :focus-visible) {
156
+ --background-color: var(--color-danger-item-hover);
157
+ --border-color: var(--color-danger-item-hover);
158
+ --color: var(--color-danger-txt-item);
159
+ }
160
+
161
+ &:is(:active, .pressed) {
162
+ --background-color: var(--color-danger-item-active);
163
+ --border-color: var(--color-danger-item-active);
164
+ --color: var(--color-danger-txt-item);
165
+ }
166
+
167
+ &:is(:disabled, .disabled) {
168
+ --background-color: var(--color-danger-item-disabled);
169
+ --border-color: var(--color-danger-item-disabled);
170
+ --color: var(--color-neutral-txt-secondary);
171
+ }
172
+
173
+ &.busy {
174
+ --background-color: var(--color-danger-item-base);
175
+ --border-color: var(--color-danger-item-base);
176
+ --color: var(--color-danger-txt-item);
177
+ }
91
178
  }
92
179
  }
93
180
 
94
- &.warning {
95
- --accent-color: var(--color-orange-base);
181
+ &.secondary {
182
+ &.normal {
183
+ --background-color: var(--color-neutral-background-primary);
184
+ --border-color: var(--color-normal-item-base);
185
+ --color: var(--color-normal-txt-base);
186
+
187
+ &:is(:hover, .hover, :focus-visible) {
188
+ --background-color: var(--color-neutral-background-primary);
189
+ --border-color: var(--color-normal-item-hover);
190
+ --color: var(--color-normal-txt-hover);
191
+ }
192
+
193
+ &:is(:active, .pressed) {
194
+ --background-color: var(--color-neutral-background-primary);
195
+ --border-color: var(--color-normal-item-active);
196
+ --color: var(--color-normal-txt-active);
197
+ }
198
+
199
+ &:is(:disabled, .disabled) {
200
+ --background-color: var(--color-neutral-background-disabled);
201
+ --border-color: var(--color-neutral-txt-secondary);
202
+ --color: var(--color-neutral-txt-secondary);
203
+ }
204
+
205
+ &.busy {
206
+ --background-color: var(--color-neutral-background-primary);
207
+ --border-color: var(--color-normal-item-base);
208
+ --color: var(--color-normal-txt-base);
209
+ }
210
+ }
96
211
 
97
- &:is(:hover, .hover, :focus-visible) {
98
- --accent-color: var(--color-orange-d20);
212
+ &.success {
213
+ --background-color: var(--color-neutral-background-primary);
214
+ --border-color: var(--color-success-txt-base);
215
+ --color: var(--color-success-txt-base);
216
+
217
+ &:is(:hover, .hover, :focus-visible) {
218
+ --background-color: var(--color-neutral-background-primary);
219
+ --border-color: var(--color-success-txt-hover);
220
+ --color: var(--color-success-txt-hover);
221
+ }
222
+
223
+ &:is(:active, .pressed) {
224
+ --background-color: var(--color-neutral-background-primary);
225
+ --border-color: var(--color-success-txt-active);
226
+ --color: var(--color-success-txt-active);
227
+ }
228
+
229
+ &:is(:disabled, .disabled) {
230
+ --background-color: var(--color-neutral-background-disabled);
231
+ --border-color: var(--color-neutral-txt-secondary);
232
+ --color: var(--color-neutral-txt-secondary);
233
+ }
234
+
235
+ &.busy {
236
+ --background-color: var(--color-neutral-background-primary);
237
+ --border-color: var(--color-success-txt-base);
238
+ --color: var(--color-success-txt-base);
239
+ }
99
240
  }
100
241
 
101
- &:is(:active, .pressed) {
102
- --accent-color: var(--color-orange-d40);
242
+ &.warning {
243
+ --background-color: var(--color-neutral-background-primary);
244
+ --border-color: var(--color-warning-txt-base);
245
+ --color: var(--color-warning-txt-base);
246
+
247
+ &:is(:hover, .hover, :focus-visible) {
248
+ --background-color: var(--color-neutral-background-primary);
249
+ --border-color: var(--color-warning-txt-hover);
250
+ --color: var(--color-warning-txt-hover);
251
+ }
252
+
253
+ &:is(:active, .pressed) {
254
+ --background-color: var(--color-neutral-background-primary);
255
+ --border-color: var(--color-warning-txt-active);
256
+ --color: var(--color-warning-txt-active);
257
+ }
258
+
259
+ &:is(:disabled, .disabled) {
260
+ --background-color: var(--color-neutral-background-disabled);
261
+ --border-color: var(--color-neutral-txt-secondary);
262
+ --color: var(--color-neutral-txt-secondary);
263
+ }
264
+
265
+ &.busy {
266
+ --background-color: var(--color-neutral-background-primary);
267
+ --border-color: var(--color-warning-txt-base);
268
+ --color: var(--color-warning-txt-base);
269
+ }
103
270
  }
104
271
 
105
- &:is(:disabled, .disabled) {
106
- --accent-color: var(--color-orange-l60);
272
+ &.danger {
273
+ --background-color: var(--color-neutral-background-primary);
274
+ --border-color: var(--color-danger-txt-base);
275
+ --color: var(--color-danger-txt-base);
276
+
277
+ &:is(:hover, .hover, :focus-visible) {
278
+ --background-color: var(--color-neutral-background-primary);
279
+ --border-color: var(--color-danger-txt-hover);
280
+ --color: var(--color-danger-txt-hover);
281
+ }
282
+
283
+ &:is(:active, .pressed) {
284
+ --background-color: var(--color-neutral-background-primary);
285
+ --border-color: var(--color-danger-txt-active);
286
+ --color: var(--color-danger-txt-active);
287
+ }
288
+
289
+ &:is(:disabled, .disabled) {
290
+ --background-color: var(--color-neutral-background-disabled);
291
+ --border-color: var(--color-neutral-txt-secondary);
292
+ --color: var(--color-neutral-txt-secondary);
293
+ }
294
+
295
+ &.busy {
296
+ --background-color: var(--color-neutral-background-primary);
297
+ --border-color: var(--color-danger-txt-base);
298
+ --color: var(--color-danger-txt-base);
299
+ }
107
300
  }
108
301
  }
109
302
 
110
- &:is(.danger, .error) {
111
- --accent-color: var(--color-red-base);
303
+ &.tertiary {
304
+ &.normal {
305
+ --background-color: transparent;
306
+ --border-color: transparent;
307
+ --color: var(--color-normal-txt-base);
308
+
309
+ &:is(:hover, .hover, :focus-visible) {
310
+ --background-color: var(--color-normal-background-hover);
311
+ --border-color: var(--color-normal-background-hover);
312
+ --color: var(--color-normal-txt-hover);
313
+ }
314
+
315
+ &:is(:active, .pressed) {
316
+ --background-color: var(--color-normal-background-active);
317
+ --border-color: var(--color-normal-background-active);
318
+ --color: var(--color-normal-txt-active);
319
+ }
320
+
321
+ &:is(:disabled, .disabled) {
322
+ --background-color: transparent;
323
+ --border-color: transparent;
324
+ --color: var(--color-neutral-txt-secondary);
325
+ }
326
+
327
+ &.busy {
328
+ --background-color: var(--color-normal-background-selected);
329
+ --border-color: var(--color-normal-background-selected);
330
+ --color: var(--color-normal-txt-base);
331
+ }
332
+ }
112
333
 
113
- &:is(:hover, .hover, :focus-visible) {
114
- --accent-color: var(--color-red-d20);
334
+ &.success {
335
+ --background-color: transparent;
336
+ --border-color: transparent;
337
+ --color: var(--color-success-txt-base);
338
+
339
+ &:is(:hover, .hover, :focus-visible) {
340
+ --background-color: var(--color-success-background-hover);
341
+ --border-color: var(--color-success-background-hover);
342
+ --color: var(--color-success-txt-hover);
343
+ }
344
+
345
+ &:is(:active, .pressed) {
346
+ --background-color: var(--color-success-background-active);
347
+ --border-color: var(--color-success-background-active);
348
+ --color: var(--color-success-txt-active);
349
+ }
350
+
351
+ &:is(:disabled, .disabled) {
352
+ --background-color: transparent;
353
+ --border-color: transparent;
354
+ --color: var(--color-neutral-txt-secondary);
355
+ }
356
+
357
+ &.busy {
358
+ --background-color: var(--color-success-background-selected);
359
+ --border-color: var(--color-success-background-selected);
360
+ --color: var(--color-success-txt-base);
361
+ }
115
362
  }
116
363
 
117
- &:is(:active, .pressed) {
118
- --accent-color: var(--color-red-d40);
364
+ &.warning {
365
+ --background-color: transparent;
366
+ --border-color: transparent;
367
+ --color: var(--color-warning-txt-base);
368
+
369
+ &:is(:hover, .hover, :focus-visible) {
370
+ --background-color: var(--color-warning-background-hover);
371
+ --border-color: var(--color-warning-background-hover);
372
+ --color: var(--color-warning-txt-hover);
373
+ }
374
+
375
+ &:is(:active, .pressed) {
376
+ --background-color: var(--color-warning-background-active);
377
+ --border-color: var(--color-warning-background-active);
378
+ --color: var(--color-warning-txt-active);
379
+ }
380
+
381
+ &:is(:disabled, .disabled) {
382
+ --background-color: transparent;
383
+ --border-color: transparent;
384
+ --color: var(--color-neutral-txt-secondary);
385
+ }
386
+
387
+ &.busy {
388
+ --background-color: var(--color-warning-background-selected);
389
+ --border-color: var(--color-warning-background-selected);
390
+ --color: var(--color-warning-txt-base);
391
+ }
119
392
  }
120
393
 
121
- &:is(:disabled, .disabled) {
122
- --accent-color: var(--color-red-l60);
394
+ &.danger {
395
+ --background-color: transparent;
396
+ --border-color: transparent;
397
+ --color: var(--color-danger-txt-base);
398
+
399
+ &:is(:hover, .hover, :focus-visible) {
400
+ --background-color: var(--color-danger-background-hover);
401
+ --border-color: var(--color-danger-background-hover);
402
+ --color: var(--color-danger-txt-hover);
403
+ }
404
+
405
+ &:is(:active, .pressed) {
406
+ --background-color: var(--color-danger-background-active);
407
+ --border-color: var(--color-danger-background-active);
408
+ --color: var(--color-danger-txt-active);
409
+ }
410
+
411
+ &:is(:disabled, .disabled) {
412
+ --background-color: transparent;
413
+ --border-color: transparent;
414
+ --color: var(--color-neutral-txt-secondary);
415
+ }
416
+
417
+ &.busy {
418
+ --background-color: var(--color-danger-background-selected);
419
+ --border-color: var(--color-danger-background-selected);
420
+ --color: var(--color-danger-txt-base);
421
+ }
123
422
  }
124
423
  }
125
424
  }
126
425
 
127
426
  /* SIZE VARIANTS */
128
427
  .ui-button {
129
- &.extra-small {
428
+ &.small {
130
429
  --padding: 0.4rem 0.8rem;
131
-
132
- &.tertiary {
133
- --padding: 0;
134
- }
430
+ --border-radius: 0.2rem;
135
431
  }
136
432
 
137
- &.small {
433
+ &.medium {
138
434
  --padding: 0.8rem 1.6rem;
139
-
140
- &.tertiary {
141
- --padding: 0.2rem 0;
142
- }
435
+ --border-radius: 0.4rem;
143
436
  }
144
437
 
145
- &.medium {
438
+ &.large {
146
439
  --padding: 1.6rem 2.4rem;
147
-
148
- &.tertiary {
149
- --padding: 0.4rem 0;
150
- }
151
- }
152
- }
153
-
154
- /* LEVELS VARIANTS */
155
- .ui-button {
156
- &.primary {
157
- --color: var(--color-grey-600);
158
- --background-color: var(--accent-color);
159
- --border-color: var(--accent-color);
160
- --border-style: solid;
161
- --border-radius: 0.8rem;
162
- }
163
-
164
- &.secondary {
165
- --color: var(--accent-color);
166
- --background-color: var(--background-color-primary);
167
- --border-color: var(--accent-color);
168
- --border-style: solid;
169
440
  --border-radius: 0.8rem;
170
441
  }
171
-
172
- &.tertiary {
173
- --color: var(--accent-color);
174
- --background-color: transparent;
175
- --border-color: var(--accent-color);
176
- --border-style: none none solid;
177
- --border-radius: 0;
178
- }
179
442
  }
180
443
 
181
444
  /* IMPLEMENTATION */
@@ -190,7 +453,7 @@ const className = computed(() => {
190
453
  outline: none;
191
454
  border-color: var(--border-color);
192
455
  border-radius: var(--border-radius);
193
- border-style: var(--border-style);
456
+ border-style: solid;
194
457
  color: var(--color);
195
458
  background-color: var(--background-color);
196
459
  padding: var(--padding);
@@ -15,8 +15,8 @@ defineSlots<{
15
15
 
16
16
  <style lang="postcss" scoped>
17
17
  .card-subtitle {
18
- color: var(--color-purple-base);
19
- border-bottom: 0.1rem solid var(--color-purple-base);
18
+ color: var(--color-normal-txt-base);
19
+ border-bottom: 0.1rem solid var(--color-normal-txt-base);
20
20
  display: flex;
21
21
  justify-content: space-between;
22
22
  gap: 0.8rem;
@@ -2,9 +2,13 @@
2
2
  <template>
3
3
  <div class="card-title">
4
4
  <div class="main-content">
5
- <div class="title typo h6-medium"><slot /></div>
5
+ <div class="title typo h6-medium">
6
+ <slot />
7
+ </div>
6
8
 
7
- <div v-if="$slots.info" class="info typo h7-semi-bold"><slot name="info" /></div>
9
+ <div v-if="$slots.info" class="info typo h7-semi-bold">
10
+ <slot name="info" />
11
+ </div>
8
12
  </div>
9
13
  <p v-if="$slots.description" class="description typo p3-regular">
10
14
  <slot name="description" />
@@ -36,6 +40,7 @@ defineSlots<{
36
40
  display: flex;
37
41
  align-items: center;
38
42
  gap: 1.6rem;
43
+ color: var(--color-neutral-txt-primary);
39
44
  }
40
45
 
41
46
  .info {
@@ -43,10 +48,10 @@ defineSlots<{
43
48
  display: flex;
44
49
  align-items: center;
45
50
  gap: 0.8rem;
46
- color: var(--color-purple-base);
51
+ color: var(--color-normal-txt-base);
47
52
  }
48
53
 
49
54
  .description {
50
- color: var(--color-grey-300);
55
+ color: var(--color-neutral-txt-secondary);
51
56
  }
52
57
  </style>
@@ -11,8 +11,8 @@
11
11
  v-if="isSupported && copiableId"
12
12
  :left-icon="faCopy"
13
13
  level="secondary"
14
- size="extra-small"
15
- :color="copied ? 'success' : 'info'"
14
+ size="small"
15
+ :color="copied ? 'success' : 'normal'"
16
16
  @click="copy(id)"
17
17
  >
18
18
  {{ copied ? $t('core.copied') : $t('core.copy-id') }}
@@ -39,7 +39,7 @@ const { isSupported, copy, copied } = useClipboard()
39
39
  <style lang="postcss" scoped>
40
40
  .cell-object {
41
41
  padding: 0.8rem;
42
- border: 0.1rem solid var(--color-grey-500);
42
+ border: 0.1rem solid var(--color-neutral-border);
43
43
  }
44
44
 
45
45
  .data {
@@ -49,6 +49,6 @@ const { isSupported, copy, copied } = useClipboard()
49
49
  }
50
50
 
51
51
  .id {
52
- color: var(--color-grey-300);
52
+ color: var(--color-neutral-txt-secondary);
53
53
  }
54
54
  </style>
@@ -24,8 +24,8 @@ const slots = defineSlots<{
24
24
  <style lang="postcss" scoped>
25
25
  .cell-text {
26
26
  padding: 0.8rem;
27
- border: 0.1rem solid var(--color-grey-500);
28
- color: var(--color-grey-000);
27
+ border: 0.1rem solid var(--color-neutral-border);
28
+ color: var(--color-neutral-txt-primary);
29
29
  }
30
30
 
31
31
  .data {
@@ -35,6 +35,6 @@ const slots = defineSlots<{
35
35
  }
36
36
 
37
37
  .info {
38
- color: var(--color-grey-300);
38
+ color: var(--color-neutral-txt-secondary);
39
39
  }
40
40
  </style>
@@ -1,9 +1,10 @@
1
1
  <template>
2
- <UiIcon :class="{ disabled }" :color :icon class="chip-icon" fixed-width />
2
+ <!-- TODO: replace with correct color typing when available -->
3
+ <VtsIcon :class="{ disabled }" :accent="color === 'normal' ? 'brand' : color" :icon class="chip-icon" fixed-width />
3
4
  </template>
4
5
 
5
6
  <script lang="ts" setup>
6
- import UiIcon from '@core/components/icon/UiIcon.vue'
7
+ import VtsIcon from '@core/components/icon/VtsIcon.vue'
7
8
  import type { Color } from '@core/types/color.type'
8
9
  import type { IconDefinition } from '@fortawesome/fontawesome-common-types'
9
10
 
@@ -16,13 +17,13 @@ defineProps<{
16
17
 
17
18
  <style lang="postcss" scoped>
18
19
  .chip-icon {
19
- color: var(--color-grey-200);
20
+ color: var(--color-neutral-txt-secondary);
20
21
 
21
22
  &.disabled {
22
- color: var(--color-grey-600);
23
+ color: var(--color-normal-txt-item);
23
24
 
24
25
  &.info {
25
- color: var(--color-grey-400);
26
+ color: var(--color-neutral-txt-secondary);
26
27
  }
27
28
  }
28
29
  }