@xen-orchestra/web-core 0.14.0 → 0.15.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 (65) hide show
  1. package/lib/assets/css/_typography.pcss +148 -6
  2. package/lib/assets/css/base.pcss +4 -4
  3. package/lib/components/backup-item/VtsBackupItem.vue +1 -1
  4. package/lib/components/card/VtsCardRowKeyValue.vue +4 -2
  5. package/lib/components/cell-object/VtsCellObject.vue +1 -1
  6. package/lib/components/cell-text/VtsCellText.vue +2 -2
  7. package/lib/components/data-table/VtsDataTable.vue +11 -3
  8. package/lib/components/menu/MenuTrigger.vue +2 -2
  9. package/lib/components/resources/VtsResource.vue +4 -5
  10. package/lib/components/state-hero/VtsPageNotFoundHero.vue +1 -1
  11. package/lib/components/state-hero/VtsStateHero.vue +2 -2
  12. package/lib/components/tab/TabItem.vue +10 -10
  13. package/lib/components/table/ColumnTitle.vue +8 -8
  14. package/lib/components/table/VtsTable.vue +2 -2
  15. package/lib/components/task/VtsQuickTaskList.vue +1 -1
  16. package/lib/components/tree/VtsTreeItemError.vue +1 -1
  17. package/lib/components/ui/account-menu-button/UiAccountMenuButton.vue +1 -1
  18. package/lib/components/ui/actions-title/UiActionsTitle.vue +1 -1
  19. package/lib/components/ui/button/UiButton.vue +12 -12
  20. package/lib/components/ui/button-icon/UiButtonIcon.vue +3 -3
  21. package/lib/components/ui/card-numbers/UiCardNumbers.vue +4 -6
  22. package/lib/components/ui/card-subtitle/UiCardSubtitle.vue +3 -3
  23. package/lib/components/ui/card-title/UiCardTitle.vue +3 -3
  24. package/lib/components/ui/checkbox/UiCheckbox.vue +4 -4
  25. package/lib/components/ui/chip/UiChip.vue +1 -1
  26. package/lib/components/ui/counter/UiCounter.vue +7 -7
  27. package/lib/components/ui/dropdown-button/UiDropdownButton.vue +2 -2
  28. package/lib/components/ui/head-bar/UiHeadBar.vue +2 -2
  29. package/lib/components/ui/info/UiInfo.vue +1 -1
  30. package/lib/components/ui/input/UiInput.vue +8 -1
  31. package/lib/components/ui/label/UiLabel.vue +1 -1
  32. package/lib/components/ui/legend/UiLegend.vue +3 -3
  33. package/lib/components/ui/legend-title/UiLegendTitle.vue +1 -1
  34. package/lib/components/ui/link/UiLink.vue +3 -3
  35. package/lib/components/ui/object-link/UiObjectLink.vue +7 -7
  36. package/lib/components/ui/panel/UiPanel.vue +4 -2
  37. package/lib/components/ui/query-search-bar/UiQuerySearchBar.vue +1 -1
  38. package/lib/components/ui/quick-task-item/UiQuickTaskItem.vue +3 -3
  39. package/lib/components/ui/radio-button/UiRadioButton.vue +2 -2
  40. package/lib/components/ui/stacked-bar/StackedBarSegment.vue +1 -1
  41. package/lib/components/ui/table-pagination/UiTablePagination.vue +4 -4
  42. package/lib/components/ui/tag/UiTag.vue +1 -1
  43. package/lib/components/ui/title/UiTitle.vue +3 -3
  44. package/lib/components/ui/toaster/UiToaster.vue +2 -2
  45. package/lib/components/ui/toggle/UiToggle.vue +3 -3
  46. package/lib/components/ui/tooltip/UiTooltip.vue +1 -1
  47. package/lib/components/ui/top-bottom-table/UiTopBottomTable.vue +1 -1
  48. package/lib/components/ui/tree-item-label/UiTreeItemLabel.vue +1 -1
  49. package/lib/components/ui/user-link/UiUserLink.vue +8 -8
  50. package/lib/i18n.ts +4 -0
  51. package/lib/locales/cs.json +362 -16
  52. package/lib/locales/de.json +245 -41
  53. package/lib/locales/en.json +304 -14
  54. package/lib/locales/es.json +355 -29
  55. package/lib/locales/fa.json +206 -9
  56. package/lib/locales/fr.json +308 -18
  57. package/lib/locales/sv.json +421 -0
  58. package/lib/utils/to-variants.util.md +3 -3
  59. package/package.json +1 -1
  60. package/lib/assets/css/typography/_legacy.pcss +0 -123
  61. package/lib/assets/css/typography/_letter-spacing.pcss +0 -27
  62. package/lib/assets/css/typography/_line-height.pcss +0 -19
  63. package/lib/assets/css/typography/_size.pcss +0 -95
  64. package/lib/assets/css/typography/_style.pcss +0 -35
  65. package/lib/assets/css/typography/_weight.pcss +0 -57
@@ -1,7 +1,149 @@
1
- @import 'typography/_size.pcss';
2
- @import 'typography/_weight.pcss';
3
- @import 'typography/_style.pcss';
4
- @import 'typography/_line-height.pcss';
5
- @import 'typography/_letter-spacing.pcss';
6
- @import 'typography/_legacy.pcss';
7
1
  @import 'typography/_utils.pcss';
2
+
3
+ /* HEADINGS */
4
+
5
+ .typo-h1 {
6
+ font-size: 3.6rem;
7
+ font-weight: 600;
8
+ line-height: 1;
9
+ }
10
+
11
+ .typo-h2 {
12
+ font-size: 2.8rem;
13
+ font-weight: 600;
14
+ line-height: 1;
15
+ }
16
+
17
+ .typo-h3 {
18
+ font-size: 2.4rem;
19
+ font-weight: 600;
20
+ line-height: 1.2;
21
+ }
22
+
23
+ .typo-h4 {
24
+ font-size: 2rem;
25
+ font-weight: 500;
26
+ line-height: 1.2;
27
+ }
28
+
29
+ .typo-h5 {
30
+ font-size: 1.8rem;
31
+ font-weight: 500;
32
+ line-height: 1.2;
33
+ }
34
+
35
+ .typo-h6 {
36
+ font-size: 1.6rem;
37
+ font-weight: 600;
38
+ line-height: 1.2;
39
+ }
40
+
41
+ /* BODY */
42
+
43
+ .typo-body-regular {
44
+ font-size: 1.6rem;
45
+ font-weight: 400;
46
+ line-height: 1.5;
47
+ }
48
+
49
+ .typo-body-bold {
50
+ font-size: 1.6rem;
51
+ font-weight: 500;
52
+ line-height: 1.5;
53
+ }
54
+
55
+ .typo-body-underline {
56
+ font-size: 1.6rem;
57
+ font-weight: 400;
58
+ line-height: 1.5;
59
+ text-decoration: underline;
60
+ text-underline-offset: 0.2rem;
61
+ }
62
+
63
+ .typo-body-regular-small {
64
+ font-size: 1.4rem;
65
+ font-weight: 400;
66
+ line-height: 1.5;
67
+ }
68
+
69
+ .typo-body-bold-small {
70
+ font-size: 1.4rem;
71
+ font-weight: 500;
72
+ line-height: 1.5;
73
+ }
74
+
75
+ .typo-body-underline-small {
76
+ font-size: 1.4rem;
77
+ font-weight: 400;
78
+ line-height: 1.5;
79
+ text-decoration: underline;
80
+ text-underline-offset: 0.2rem;
81
+ }
82
+
83
+ /* CAPTIONS */
84
+
85
+ .typo-caption {
86
+ font-size: 1.6rem;
87
+ font-weight: 600;
88
+ line-height: 1.5;
89
+ letter-spacing: 0.04em;
90
+ text-transform: uppercase;
91
+ }
92
+
93
+ .typo-caption-small {
94
+ font-size: 1.4rem;
95
+ font-weight: 600;
96
+ line-height: 1.5;
97
+ letter-spacing: 0.04em;
98
+ text-transform: uppercase;
99
+ }
100
+
101
+ /* FORM */
102
+
103
+ .typo-form-label {
104
+ font-size: 1.6rem;
105
+ font-weight: 600;
106
+ line-height: 1;
107
+ letter-spacing: 0.04em;
108
+ text-transform: uppercase;
109
+ }
110
+
111
+ .typo-form-value {
112
+ font-size: 1.6rem;
113
+ font-weight: 400;
114
+ line-height: 1;
115
+ }
116
+
117
+ .typo-form-info {
118
+ font-size: 1.4rem;
119
+ font-weight: 400;
120
+ line-height: 1.2;
121
+ }
122
+
123
+ /* ACTION */
124
+
125
+ .typo-action-button {
126
+ font-size: 1.6rem;
127
+ font-weight: 500;
128
+ line-height: 1;
129
+ }
130
+
131
+ .typo-action-button-small {
132
+ font-size: 1.4rem;
133
+ font-weight: 500;
134
+ line-height: 1;
135
+ }
136
+
137
+ .typo-action-link {
138
+ font-size: 1.6rem;
139
+ font-weight: 500;
140
+ line-height: 1;
141
+ text-decoration: underline;
142
+ }
143
+
144
+ .typo-action-link-small {
145
+ font-size: 1.4rem;
146
+ font-weight: 500;
147
+ line-height: 1;
148
+ text-decoration: underline;
149
+ }
@@ -45,7 +45,7 @@
45
45
  }
46
46
 
47
47
  a {
48
- color: var(--color-info-txt-base);
48
+ color: var(--color-brand-txt-base);
49
49
  }
50
50
 
51
51
  code,
@@ -62,17 +62,17 @@ pre {
62
62
 
63
63
  .link {
64
64
  text-decoration: underline;
65
- color: var(--color-info-txt-base);
65
+ color: var(--color-brand-txt-base);
66
66
  cursor: pointer;
67
67
  }
68
68
 
69
69
  .link:hover {
70
- color: var(--color-info-txt-hover);
70
+ color: var(--color-brand-txt-hover);
71
71
  }
72
72
 
73
73
  .link:active,
74
74
  .link.router-link-active {
75
- color: var(--color-info-txt-active);
75
+ color: var(--color-brand-txt-active);
76
76
  }
77
77
 
78
78
  .link.router-link-active {
@@ -3,7 +3,7 @@
3
3
  <RouterLink v-if="backup.route !== undefined" :to="backup.route">
4
4
  {{ backup.label }}
5
5
  </RouterLink>
6
- <p v-else class="typo p3-medium">
6
+ <p v-else class="typo-body-bold">
7
7
  {{ backup.label }}
8
8
  </p>
9
9
  <div class="states">
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div class="vts-card-row-key-value typo p3-regular">
2
+ <div class="vts-card-row-key-value typo-body-regular-small">
3
3
  <div class="key">
4
4
  <slot name="key" />
5
5
  </div>
@@ -26,15 +26,17 @@ const slots = defineSlots<{
26
26
  .vts-card-row-key-value {
27
27
  display: flex;
28
28
  align-items: center;
29
- gap: 0.8rem;
29
+ gap: 1.2rem;
30
30
 
31
31
  .key {
32
+ width: 12rem;
32
33
  min-width: 12rem;
33
34
  overflow-wrap: break-word;
34
35
  color: var(--color-neutral-txt-secondary);
35
36
  }
36
37
 
37
38
  .value {
39
+ width: 20rem;
38
40
  color: var(--color-neutral-txt-primary);
39
41
  }
40
42
 
@@ -4,7 +4,7 @@
4
4
  <div class="data">
5
5
  <slot />
6
6
  <template v-if="id !== undefined">
7
- <span v-tooltip class="id typo p4-regular-italic text-ellipsis">
7
+ <span v-tooltip class="id typo-form-info text-ellipsis">
8
8
  {{ id }}
9
9
  </span>
10
10
  <UiButton
@@ -1,11 +1,11 @@
1
1
  <!-- WIP -->
2
2
  <template>
3
3
  <td class="vts-cell-text">
4
- <div class="data typo p2-regular">
4
+ <div class="data typo-body-regular-small">
5
5
  <span v-tooltip class="text-ellipsis">
6
6
  <slot />
7
7
  </span>
8
- <span v-if="slots.secondary" class="info typo p4-regular">
8
+ <span v-if="slots.secondary" class="info">
9
9
  <slot name="secondary" />
10
10
  </span>
11
11
  </div>
@@ -38,21 +38,29 @@ defineSlots<{
38
38
  display: flex;
39
39
  flex-direction: column;
40
40
  gap: 0.8rem;
41
+ overflow-x: auto;
41
42
 
42
43
  :deep(tbody) tr {
43
44
  &:hover {
44
45
  cursor: pointer;
45
- background-color: var(--color-info-background-hover);
46
+ background-color: var(--color-brand-background-hover);
46
47
  }
48
+
47
49
  &:active {
48
- background-color: var(--color-info-background-active);
50
+ background-color: var(--color-brand-background-active);
49
51
  }
52
+
50
53
  &.selected {
51
- background-color: var(--color-info-background-selected);
54
+ background-color: var(--color-brand-background-selected);
52
55
  }
56
+
53
57
  &:last-child {
54
58
  border-bottom: 0.1rem solid var(--color-neutral-border);
55
59
  }
56
60
  }
61
+
62
+ :deep(th) {
63
+ width: 10rem;
64
+ }
57
65
  }
58
66
  </style>
@@ -40,12 +40,12 @@ defineProps<{
40
40
  cursor: pointer;
41
41
 
42
42
  &:hover {
43
- background-color: var(--color-info-background-selected);
43
+ background-color: var(--color-brand-background-selected);
44
44
  }
45
45
 
46
46
  &:active,
47
47
  &.active {
48
- background-color: var(--color-info-background-hover);
48
+ background-color: var(--color-brand-background-hover);
49
49
  }
50
50
  }
51
51
  }
@@ -2,8 +2,8 @@
2
2
  <li class="vts-resource">
3
3
  <VtsIcon accent="brand" :icon class="icon" />
4
4
  <div class="separator" />
5
- <div class="label typo h6-semi-bold">{{ label }}</div>
6
- <div class="count typo p2-regular">{{ count }}</div>
5
+ <div class="label typo-h6">{{ label }}</div>
6
+ <div class="count typo-body-regular-small">{{ count }}</div>
7
7
  </li>
8
8
  </template>
9
9
 
@@ -25,15 +25,14 @@ defineProps<{
25
25
  }
26
26
 
27
27
  .icon {
28
- color: var(--color-info-txt-base);
29
28
  font-size: 3.2rem;
30
29
  }
31
30
 
32
31
  .separator {
33
32
  height: 4.5rem;
34
33
  width: 0;
35
- border-left: 0.1rem solid var(--color-info-txt-base);
36
- background-color: var(--color-info-txt-base);
34
+ border-left: 0.1rem solid var(--color-brand-txt-base);
35
+ background-color: var(--color-brand-txt-base);
37
36
  margin: 0 1.5rem;
38
37
  }
39
38
 
@@ -19,7 +19,7 @@ defineProps<{
19
19
  margin-top: 4rem;
20
20
 
21
21
  .numeric {
22
- color: var(--color-info-txt-base);
22
+ color: var(--color-brand-txt-base);
23
23
  font-size: 9.6rem;
24
24
  font-weight: 900;
25
25
  letter-spacing: 1em;
@@ -24,7 +24,7 @@ const slots = defineSlots<{
24
24
  default?(): any
25
25
  }>()
26
26
 
27
- const typoClass = computed(() => (props.type === 'page' ? 'typo h2-black' : 'typo h4-medium'))
27
+ const typoClass = computed(() => (props.type === 'page' ? 'typo-h2' : 'typo-h4'))
28
28
  const error = computed(() => !props.busy && props.image === 'error')
29
29
 
30
30
  const imageSrc = computed(() => {
@@ -54,7 +54,7 @@ const imageSrc = computed(() => {
54
54
 
55
55
  .loader,
56
56
  .text {
57
- color: var(--color-info-txt-base);
57
+ color: var(--color-brand-txt-base);
58
58
  }
59
59
 
60
60
  .image {
@@ -1,6 +1,6 @@
1
1
  <!-- v1.0 -->
2
2
  <template>
3
- <component :is="tag" :class="classNames" class="tab-item typo">
3
+ <component :is="tag" :class="classNames" class="tab-item">
4
4
  <slot />
5
5
  </component>
6
6
  </template>
@@ -26,7 +26,7 @@ const isDisabled = useDisabled(() => props.disabled)
26
26
 
27
27
  const classNames = computed(() => {
28
28
  return [
29
- isMobile.value ? 'c3-semi-bold' : 'c1-semi-bold',
29
+ isMobile.value ? 'typo-caption-small' : 'typo-caption',
30
30
  {
31
31
  disabled: isDisabled.value,
32
32
  active: props.active,
@@ -46,20 +46,20 @@ const classNames = computed(() => {
46
46
 
47
47
  &:is(:hover, .hover, :focus-visible) {
48
48
  --color: var(--color-neutral-txt-primary);
49
- --border-color: var(--color-info-item-hover);
50
- --background-color: var(--color-info-background-hover);
49
+ --border-color: var(--color-brand-item-hover);
50
+ --background-color: var(--color-brand-background-hover);
51
51
  }
52
52
 
53
53
  &:is(:active, .pressed) {
54
54
  --color: var(--color-neutral-txt-primary);
55
- --border-color: var(--color-info-item-active);
56
- --background-color: var(--color-info-background-active);
55
+ --border-color: var(--color-brand-item-active);
56
+ --background-color: var(--color-brand-background-active);
57
57
  }
58
58
 
59
59
  &:is(.active, .selected) {
60
60
  --color: var(--color-neutral-txt-primary);
61
- --border-color: var(--color-info-item-base);
62
- --background-color: var(--color-info-background-selected);
61
+ --border-color: var(--color-brand-item-base);
62
+ --background-color: var(--color-brand-background-selected);
63
63
  }
64
64
 
65
65
  &:is(:disabled, .disabled) {
@@ -71,11 +71,11 @@ const classNames = computed(() => {
71
71
 
72
72
  /* SIZE VARIANTS */
73
73
  .tab-item {
74
- &.c3-semi-bold {
74
+ &.typo-caption-small {
75
75
  --spacing: 0.8rem;
76
76
  }
77
77
 
78
- &.c1-semi-bold {
78
+ &.typo-caption {
79
79
  --spacing: 1.6rem;
80
80
  }
81
81
  }
@@ -25,7 +25,7 @@
25
25
  >
26
26
  <VtsIcon :icon="interaction.icon" accent="current" />
27
27
  {{ interaction.label }}
28
- <i v-if="currentInteraction?.id === interaction.id" class="current-interaction typo p3-regular-italic">
28
+ <i v-if="currentInteraction?.id === interaction.id" class="current-interaction typo-body-regular-small">
29
29
  {{ $t('core.current').toLowerCase() }}
30
30
  </i>
31
31
  </MenuItem>
@@ -95,22 +95,22 @@ const updateInteraction = (interaction: Interaction) => {
95
95
  <style lang="postcss" scoped>
96
96
  /* COLOR VARIANTS */
97
97
  .column-header.interactive {
98
- --color: var(--color-info-txt-base);
98
+ --color: var(--color-brand-txt-base);
99
99
  --background-color: var(--color-neutral-background-primary);
100
100
 
101
101
  &.focus {
102
- --color: var(--color-info-txt-base);
103
- --background-color: var(--color-info-background-selected);
102
+ --color: var(--color-brand-txt-base);
103
+ --background-color: var(--color-brand-background-selected);
104
104
  }
105
105
 
106
106
  &:hover {
107
- --color: var(--color-info-txt-hover);
108
- --background-color: var(--color-info-background-hover);
107
+ --color: var(--color-brand-txt-hover);
108
+ --background-color: var(--color-brand-background-hover);
109
109
  }
110
110
 
111
111
  &:active {
112
- --color: var(--color-info-txt-active);
113
- --background-color: var(--color-info-background-active);
112
+ --color: var(--color-brand-txt-active);
113
+ --background-color: var(--color-brand-background-active);
114
114
  }
115
115
 
116
116
  &.disabled {
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <table :class="{ 'vertical-border': verticalBorder }" class="vts-table typo p2-regular">
2
+ <table :class="{ 'vertical-border': verticalBorder }" class="vts-table typo-body-regular-small">
3
3
  <slot />
4
4
  </table>
5
5
  </template>
@@ -43,7 +43,7 @@ provide('tableName', props.name)
43
43
  :deep(thead) {
44
44
  th,
45
45
  td {
46
- color: var(--color-info-txt-base);
46
+ color: var(--color-brand-txt-base);
47
47
  font-size: 1.4rem;
48
48
  font-weight: 400;
49
49
  text-transform: uppercase;
@@ -7,7 +7,7 @@
7
7
  </div>
8
8
  </li>
9
9
  <template v-else>
10
- <li v-if="tasks.length === 0" class="typo p1-medium">{{ $t('tasks.no-tasks') }}</li>
10
+ <li v-if="tasks.length === 0" class="typo-body-bold">{{ $t('tasks.no-tasks') }}</li>
11
11
  <UiQuickTaskItem v-for="task of tasks" :key="task.id" :task />
12
12
  </template>
13
13
  </ul>
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <li class="vts-tree-item-error typo h6-semi-bold">
2
+ <li class="vts-tree-item-error typo-h6">
3
3
  <slot />
4
4
  </li>
5
5
  </template>
@@ -47,7 +47,7 @@ const isDisabled = useDisabled()
47
47
  content: '';
48
48
  position: absolute;
49
49
  inset: -0.4rem;
50
- border: 0.2rem solid var(--color-info-txt-base);
50
+ border: 0.2rem solid var(--color-brand-txt-base);
51
51
  border-radius: 0.4rem;
52
52
  }
53
53
  }
@@ -1,6 +1,6 @@
1
1
  <!-- v2 -->
2
2
  <template>
3
- <span class="ui-actions-title typo p2-regular">
3
+ <span class="ui-actions-title typo-body-regular-small">
4
4
  <slot />
5
5
  </span>
6
6
  </template>
@@ -36,9 +36,9 @@ defineSlots<{
36
36
  const isDisabled = useDisabled(() => disabled)
37
37
 
38
38
  const fontClasses = {
39
- small: 'typo p3-medium',
40
- medium: 'typo h6-medium',
41
- large: 'typo h3-semi-bold',
39
+ small: 'typo-action-button-small',
40
+ medium: 'typo-action-button',
41
+ large: 'typo-h3',
42
42
  }
43
43
 
44
44
  const classNames = computed(() => [
@@ -103,7 +103,7 @@ const classNames = computed(() => [
103
103
  }
104
104
 
105
105
  &:focus-visible::before {
106
- border-color: var(--color-info-txt-base);
106
+ border-color: var(--color-brand-txt-base);
107
107
  }
108
108
 
109
109
  &:active {
@@ -137,7 +137,7 @@ const classNames = computed(() => [
137
137
  }
138
138
 
139
139
  &:focus-visible::before {
140
- border-color: var(--color-info-txt-base);
140
+ border-color: var(--color-brand-txt-base);
141
141
  }
142
142
 
143
143
  &:active {
@@ -171,7 +171,7 @@ const classNames = computed(() => [
171
171
  }
172
172
 
173
173
  &:focus-visible::before {
174
- border-color: var(--color-info-txt-base);
174
+ border-color: var(--color-brand-txt-base);
175
175
  }
176
176
 
177
177
  &:active {
@@ -207,7 +207,7 @@ const classNames = computed(() => [
207
207
  }
208
208
 
209
209
  &:focus-visible::before {
210
- border-color: var(--color-warning-txt-base);
210
+ border-color: var(--color-brand-txt-base);
211
211
  }
212
212
 
213
213
  &:active {
@@ -241,7 +241,7 @@ const classNames = computed(() => [
241
241
  }
242
242
 
243
243
  &:focus-visible::before {
244
- border-color: var(--color-warning-txt-base);
244
+ border-color: var(--color-brand-txt-base);
245
245
  }
246
246
 
247
247
  &:active {
@@ -275,7 +275,7 @@ const classNames = computed(() => [
275
275
  }
276
276
 
277
277
  &:focus-visible::before {
278
- border-color: var(--color-warning-txt-base);
278
+ border-color: var(--color-brand-txt-base);
279
279
  }
280
280
 
281
281
  &:active {
@@ -311,7 +311,7 @@ const classNames = computed(() => [
311
311
  }
312
312
 
313
313
  &:focus-visible::before {
314
- border-color: var(--color-danger-txt-base);
314
+ border-color: var(--color-brand-txt-base);
315
315
  }
316
316
 
317
317
  &:active {
@@ -345,7 +345,7 @@ const classNames = computed(() => [
345
345
  }
346
346
 
347
347
  &:focus-visible::before {
348
- border-color: var(--color-danger-txt-base);
348
+ border-color: var(--color-brand-txt-base);
349
349
  }
350
350
 
351
351
  &:active {
@@ -379,7 +379,7 @@ const classNames = computed(() => [
379
379
  }
380
380
 
381
381
  &:focus-visible::before {
382
- border-color: var(--color-danger-txt-base);
382
+ border-color: var(--color-brand-txt-base);
383
383
  }
384
384
 
385
385
  &:active {
@@ -102,7 +102,7 @@ const classNames = computed(() => {
102
102
  }
103
103
 
104
104
  &:focus-visible::before {
105
- border-color: var(--color-info-txt-base);
105
+ border-color: var(--color-brand-txt-base);
106
106
  }
107
107
 
108
108
  &:active {
@@ -133,7 +133,7 @@ const classNames = computed(() => {
133
133
  }
134
134
 
135
135
  &:focus-visible::before {
136
- border-color: var(--color-warning-txt-base);
136
+ border-color: var(--color-brand-txt-base);
137
137
  }
138
138
 
139
139
  &:active {
@@ -168,7 +168,7 @@ const classNames = computed(() => {
168
168
  }
169
169
 
170
170
  &:focus-visible::before {
171
- border-color: var(--color-danger-txt-base);
171
+ border-color: var(--color-brand-txt-base);
172
172
  }
173
173
 
174
174
  &:active {
@@ -1,9 +1,9 @@
1
1
  <!-- v1 -->
2
2
  <template>
3
3
  <div class="ui-card-numbers" :class="sizeClass">
4
- <span class="label" :class="labelFontClass">{{ label }}</span>
4
+ <span class="label typo-caption-small">{{ label }}</span>
5
5
  <div class="values" :class="sizeClass">
6
- <span v-if="percentValue" class="value typo c2-semi-bold">
6
+ <span v-if="percentValue" class="value typo-caption-small">
7
7
  {{ percentValue }}
8
8
  </span>
9
9
 
@@ -31,11 +31,9 @@ const { n } = useI18n()
31
31
 
32
32
  const sizeClass = computed(() => toVariants({ size: props.size }))
33
33
 
34
- const labelFontClass = computed(() => (props.size === 'medium' ? 'typo c3-semi-bold' : 'typo c2-semi-bold'))
34
+ const valueFontClass = computed(() => (props.size === 'medium' ? 'typo-h3' : 'typo-caption-small'))
35
35
 
36
- const valueFontClass = computed(() => (props.size === 'medium' ? 'typo h3-semi-bold' : 'typo c2-semi-bold'))
37
-
38
- const unitFontClass = computed(() => (props.size === 'medium' ? 'typo p2-medium' : 'typo c2-semi-bold'))
36
+ const unitFontClass = computed(() => (props.size === 'medium' ? 'typo-body-bold-small' : 'typo-caption-small'))
39
37
 
40
38
  const percentValue = computed(() => {
41
39
  if (props.size !== 'small' || props.max === undefined || props.max === 0) {
@@ -1,8 +1,8 @@
1
1
  <!-- v1 -->
2
2
  <template>
3
- <div class="ui-card-subtitle">
4
- <span class="typo h7-semi-bold"><slot /></span>
5
- <span v-if="slots.info" class="typo p3-medium"><slot name="info" /></span>
3
+ <div class="ui-card-subtitle typo-body-bold-small">
4
+ <span><slot /></span>
5
+ <span v-if="slots.info"><slot name="info" /></span>
6
6
  </div>
7
7
  </template>
8
8