diff --git a/@xen-orchestra/lite/src/components/AccountButton.vue b/@xen-orchestra/lite/src/components/AccountButton.vue
index 09328ad1362..40af204bed2 100644
--- a/@xen-orchestra/lite/src/components/AccountButton.vue
+++ b/@xen-orchestra/lite/src/components/AccountButton.vue
@@ -1,5 +1,5 @@
-
+
@@ -107,6 +107,7 @@ async function handleSubmit() {
display: flex;
margin: 1rem;
width: fit-content;
+
& .form-checkbox {
margin: auto 1rem auto auto;
}
diff --git a/@xen-orchestra/lite/src/components/FormWidget.vue b/@xen-orchestra/lite/src/components/FormWidget.vue
index 9e3fd3f71ac..ee12338eda8 100644
--- a/@xen-orchestra/lite/src/components/FormWidget.vue
+++ b/@xen-orchestra/lite/src/components/FormWidget.vue
@@ -56,7 +56,7 @@ const isIcon = (maybeIcon: any): maybeIcon is IconDefinition => typeof maybeIcon
padding: 0 0.7rem;
border: 1px solid var(--color-neutral-border);
border-radius: 0.8rem;
- background-color: var(--color-normal-txt-item);
+ background-color: var(--color-neutral-background-primary);
box-shadow: var(--shadow-100);
gap: 0.1rem;
@@ -71,7 +71,7 @@ const isIcon = (maybeIcon: any): maybeIcon is IconDefinition => typeof maybeIcon
}
.form-widget:hover .widget {
- border-color: var(--color-normal-item-disabled);
+ border-color: var(--color-normal-item-hover);
}
.element {
@@ -94,7 +94,7 @@ const isIcon = (maybeIcon: any): maybeIcon is IconDefinition => typeof maybeIcon
border: none;
outline: none;
color: var(--color-neutral-txt-primary);
- background-color: var(--color-normal-txt-item);
+ background-color: var(--color-neutral-background-primary);
flex: 1;
&:disabled {
diff --git a/@xen-orchestra/lite/src/components/HostPatchesTable.vue b/@xen-orchestra/lite/src/components/HostPatchesTable.vue
index b4199438a16..0354bf7c70b 100644
--- a/@xen-orchestra/lite/src/components/HostPatchesTable.vue
+++ b/@xen-orchestra/lite/src/components/HostPatchesTable.vue
@@ -19,7 +19,7 @@
}"
:value="patch.$hostRefs.size"
class="counter"
- color="error"
+ color="danger"
/>
diff --git a/@xen-orchestra/lite/src/components/PowerStateIcon.vue b/@xen-orchestra/lite/src/components/PowerStateIcon.vue
index 31ee16bc1cd..1b1643f84aa 100644
--- a/@xen-orchestra/lite/src/components/PowerStateIcon.vue
+++ b/@xen-orchestra/lite/src/components/PowerStateIcon.vue
@@ -29,7 +29,7 @@ const className = computed(() => `state-${props.state.toLocaleLowerCase()}`)
color: var(--color-normal-txt-item);
&.state-running {
- color: var(--color-success-txt-base);
+ color: var(--color-success-item-base);
}
&.state-paused {
@@ -39,5 +39,9 @@ const className = computed(() => `state-${props.state.toLocaleLowerCase()}`)
&.state-suspended {
color: var(--color-normal-txt-hover);
}
+
+ &.state-halted {
+ color: var(--color-danger-item-base);
+ }
}
diff --git a/@xen-orchestra/lite/src/components/ProgressCircle.vue b/@xen-orchestra/lite/src/components/ProgressCircle.vue
index 903633fdc97..960ce3b3abe 100644
--- a/@xen-orchestra/lite/src/components/ProgressCircle.vue
+++ b/@xen-orchestra/lite/src/components/ProgressCircle.vue
@@ -39,7 +39,7 @@ const progress = computed(() => {
.progress-circle-fill {
animation: progress 1s ease-out forwards;
fill: none;
- stroke: var(--color-success-txt-base);
+ stroke: var(--color-success-item-base);
stroke-width: 1.2;
stroke-linecap: round;
stroke-dasharray: v-bind(progress), 100;
@@ -48,13 +48,13 @@ const progress = computed(() => {
.progress-circle-background {
fill: none;
stroke-width: 1.2;
- stroke: var(--color-neutral-border);
+ stroke: var(--color-neutral-background-disabled);
}
.progress-circle-text {
font-size: 0.7rem;
font-weight: bold;
- fill: var(--color-success-txt-base);
+ fill: var(--color-success-item-base);
text-anchor: middle;
alignment-baseline: middle;
}
diff --git a/@xen-orchestra/lite/src/components/UsageBar.vue b/@xen-orchestra/lite/src/components/UsageBar.vue
index 9def76c93f4..6b997c3aea7 100644
--- a/@xen-orchestra/lite/src/components/UsageBar.vue
+++ b/@xen-orchestra/lite/src/components/UsageBar.vue
@@ -74,14 +74,14 @@ const computedData = computed(() => {
.progress-item {
--progress-bar-height: 1.2rem;
--progress-bar-color: var(--color-normal-item-hover);
- --progress-bar-background-color: var(--color-neutral-border);
+ --progress-bar-background-color: var(--color-neutral-background-disabled);
&.warning {
- --progress-bar-color: var(--color-warning-txt-base);
+ --progress-bar-color: var(--color-warning-item-base);
}
&.error {
- --progress-bar-color: var(--color-danger-txt-base);
+ --progress-bar-color: var(--color-danger-item-base);
}
}
diff --git a/@xen-orchestra/lite/src/components/XoaButton.vue b/@xen-orchestra/lite/src/components/XoaButton.vue
index 0e592542a5d..37d36bebdbe 100644
--- a/@xen-orchestra/lite/src/components/XoaButton.vue
+++ b/@xen-orchestra/lite/src/components/XoaButton.vue
@@ -1,8 +1,24 @@
-
+
{{ $t('access-xoa') }}
-
+
{{ $t('deploy-xoa') }}
diff --git a/@xen-orchestra/lite/src/components/component-story/ComponentStory.vue b/@xen-orchestra/lite/src/components/component-story/ComponentStory.vue
index 51304e0b881..3a16d3fb9c8 100644
--- a/@xen-orchestra/lite/src/components/component-story/ComponentStory.vue
+++ b/@xen-orchestra/lite/src/components/component-story/ComponentStory.vue
@@ -7,7 +7,7 @@
Slots
Settings
-
+
@@ -35,7 +35,9 @@
Logs
- Clear
+
+ Clear
+
diff --git a/@xen-orchestra/lite/src/components/form/FormCheckbox.vue b/@xen-orchestra/lite/src/components/form/FormCheckbox.vue
index 3f9be3c38e4..ed7a0b3c090 100644
--- a/@xen-orchestra/lite/src/components/form/FormCheckbox.vue
+++ b/@xen-orchestra/lite/src/components/form/FormCheckbox.vue
@@ -81,7 +81,7 @@ const isIndeterminate = computed(() => (type === 'checkbox' || type === 'toggle'
.input.indeterminate + .fake-checkbox > .icon {
opacity: 1;
- color: var(--color-neutral-txt-secondary);
+ color: var(--color-normal-txt-item);
}
}
@@ -162,14 +162,13 @@ const isIndeterminate = computed(() => (type === 'checkbox' || type === 'toggle'
background-color: var(--background-color);
box-shadow: var(--shadow-100);
- --border-color: var(--color-neutral-border);
+ --border-color: var(--color-normal-item-base);
}
.input:disabled {
& + .fake-checkbox {
cursor: not-allowed;
- --background-color: var(--color-neutral-background-secondary);
- --border-color: var(--color-neutral-border);
+ --border-color: var(--color-neutral-txt-secondary);
}
&:checked + .fake-checkbox {
@@ -181,25 +180,25 @@ const isIndeterminate = computed(() => (type === 'checkbox' || type === 'toggle'
.input:not(:disabled) {
&:hover + .fake-checkbox,
&:focus + .fake-checkbox {
- --border-color: var(--color-normal-item-active);
+ --border-color: var(--color-normal-item-hover);
}
&:active + .fake-checkbox {
- --border-color: var(--color-normal-item-hover);
+ --border-color: var(--color-normal-item-active);
}
&:checked + .fake-checkbox {
--border-color: transparent;
- --background-color: var(--color-normal-txt-base);
+ --background-color: var(--color-normal-item-base);
}
&:checked:hover + .fake-checkbox,
&:checked:focus + .fake-checkbox {
- --background-color: var(--color-normal-txt-hover);
+ --background-color: var(--color-normal-item-hover);
}
&:checked:active + .fake-checkbox {
- --background-color: var(--color-normal-txt-active);
+ --background-color: var(--color-normal-item-active);
}
}
diff --git a/@xen-orchestra/lite/src/components/form/FormInput.vue b/@xen-orchestra/lite/src/components/form/FormInput.vue
index dbbf3bff5c7..827ad88be9c 100644
--- a/@xen-orchestra/lite/src/components/form/FormInput.vue
+++ b/@xen-orchestra/lite/src/components/form/FormInput.vue
@@ -193,13 +193,13 @@ defineExpose({
&:disabled {
cursor: not-allowed;
- --background-color: var(--color-neutral-background-secondary);
+ --background-color: var(--color-neutral-background-disabled);
}
&:not(:disabled) {
&.info {
&:hover {
- --border-color: var(--color-normal-item-disabled);
+ --border-color: var(--color-normal-item-hover);
}
&:active {
@@ -207,15 +207,15 @@ defineExpose({
}
&:focus {
- --border-color: var(--color-normal-txt-base);
+ --border-color: var(--color-normal-item-base);
}
}
&.success {
- --border-color: var(--color-normal-txt-base);
+ --border-color: var(--color-success-item-base);
&:hover {
- --border-color: var(--color-success-item-disabled);
+ --border-color: var(--color-success-item-hover);
}
&:active {
@@ -223,15 +223,15 @@ defineExpose({
}
&:focus {
- --border-color: var(--color-normal-txt-base);
+ --border-color: var(--color-success-item-base);
}
}
&.warning {
- --border-color: var(--color-warning-txt-base);
+ --border-color: var(--color-warning-item-base);
&:hover {
- --border-color: var(--color-warning-item-disabled);
+ --border-color: var(--color-warning-item-hover);
}
&:active {
@@ -239,15 +239,15 @@ defineExpose({
}
&:focus {
- --border-color: var(--color-warning-txt-base);
+ --border-color: var(--color-warning-item-base);
}
}
&.error {
- --border-color: var(--color-danger-txt-base);
+ --border-color: var(--color-danger-item-base);
&:hover {
- --border-color: var(--color-danger-item-disabled);
+ --border-color: var(--color-danger-item-hover);
}
&:active {
@@ -255,7 +255,7 @@ defineExpose({
}
&:focus-within {
- --border-color: var(--color-danger-txt-base);
+ --border-color: var(--color-danger-item-base);
}
}
}
diff --git a/@xen-orchestra/lite/src/components/infra/InfraHostItem.vue b/@xen-orchestra/lite/src/components/infra/InfraHostItem.vue
index c07cb569086..43064c5dbe7 100644
--- a/@xen-orchestra/lite/src/components/infra/InfraHostItem.vue
+++ b/@xen-orchestra/lite/src/components/infra/InfraHostItem.vue
@@ -4,7 +4,7 @@
{{ host.name_label || '(Host)' }}
-
+
diff --git a/@xen-orchestra/lite/src/components/modals/CollectionFilterModal.vue b/@xen-orchestra/lite/src/components/modals/CollectionFilterModal.vue
index 23fa598fee1..4ccdd70de1c 100644
--- a/@xen-orchestra/lite/src/components/modals/CollectionFilterModal.vue
+++ b/@xen-orchestra/lite/src/components/modals/CollectionFilterModal.vue
@@ -23,7 +23,7 @@
-
+
{{ $t('add-or') }}
diff --git a/@xen-orchestra/lite/src/components/modals/JsonEditorModal.vue b/@xen-orchestra/lite/src/components/modals/JsonEditorModal.vue
index 0023509058d..cba308e2abd 100644
--- a/@xen-orchestra/lite/src/components/modals/JsonEditorModal.vue
+++ b/@xen-orchestra/lite/src/components/modals/JsonEditorModal.vue
@@ -6,7 +6,7 @@
-
+
{{ $t('reformat') }}
diff --git a/@xen-orchestra/lite/src/components/pool/dashboard/PoolDashboardAlarms.vue b/@xen-orchestra/lite/src/components/pool/dashboard/PoolDashboardAlarms.vue
index fd094e8341b..2ea46b6642c 100644
--- a/@xen-orchestra/lite/src/components/pool/dashboard/PoolDashboardAlarms.vue
+++ b/@xen-orchestra/lite/src/components/pool/dashboard/PoolDashboardAlarms.vue
@@ -3,7 +3,7 @@
{{ $t('alarms') }}
-
+
@@ -11,7 +11,7 @@
{{ $t('click-to-display-alarms') }}
-
{{ $t('load-now') }}
+
{{ $t('load-now') }}
diff --git a/@xen-orchestra/lite/src/components/pool/dashboard/PoolDashboardCpuProvisioning.vue b/@xen-orchestra/lite/src/components/pool/dashboard/PoolDashboardCpuProvisioning.vue
index 7c210a18b4a..e1da443fd66 100644
--- a/@xen-orchestra/lite/src/components/pool/dashboard/PoolDashboardCpuProvisioning.vue
+++ b/@xen-orchestra/lite/src/components/pool/dashboard/PoolDashboardCpuProvisioning.vue
@@ -85,12 +85,12 @@ const hasError = computed(() => hostStoreHasError.value || vmStoreHasError.value
.progress-item {
margin-top: 2.6rem;
--progress-bar-height: 1.2rem;
- --progress-bar-color: var(--color-normal-txt-base);
- --progress-bar-background-color: var(--color-neutral-border);
+ --progress-bar-color: var(--color-normal-item-base);
+ --progress-bar-background-color: var(--color-neutral-background-disabled);
&.warning {
- --progress-bar-color: var(--color-warning-txt-base);
- --footer-value-color: var(--color-warning-txt-base);
+ --progress-bar-color: var(--color-warning-item-base);
+ --footer-value-color: var(--color-warning-item-base);
}
& .footer-value {
diff --git a/@xen-orchestra/lite/src/components/pool/dashboard/PoolDashboardStatusItem.vue b/@xen-orchestra/lite/src/components/pool/dashboard/PoolDashboardStatusItem.vue
index e35e253156f..561ec109929 100644
--- a/@xen-orchestra/lite/src/components/pool/dashboard/PoolDashboardStatusItem.vue
+++ b/@xen-orchestra/lite/src/components/pool/dashboard/PoolDashboardStatusItem.vue
@@ -53,10 +53,10 @@ const inactive = computed(() => props.total - props.active)
width: 1.3rem;
height: 1.3rem;
border-radius: 0.65rem;
- background-color: var(--color-success-txt-base);
+ background-color: var(--color-success-item-base);
&.inactive {
- background-color: var(--color-neutral-border);
+ background-color: var(--color-neutral-background-disabled);
}
}
diff --git a/@xen-orchestra/lite/src/components/ui/UiBadge.vue b/@xen-orchestra/lite/src/components/ui/UiBadge.vue
index 1a6d8e0b829..afc3b6a81d0 100644
--- a/@xen-orchestra/lite/src/components/ui/UiBadge.vue
+++ b/@xen-orchestra/lite/src/components/ui/UiBadge.vue
@@ -22,8 +22,8 @@ defineProps<{
gap: 0.4rem;
padding: 0 0.8rem;
height: 1.8em;
- color: var(--color-normal-txt-item);
+ color: var(--color-neutral-txt-primary);
border-radius: 9.6rem;
- background-color: var(--color-neutral-txt-secondary);
+ background-color: var(--color-neutral-background-disabled);
}
diff --git a/@xen-orchestra/lite/src/components/ui/UiCardTitle.vue b/@xen-orchestra/lite/src/components/ui/UiCardTitle.vue
index 69c73594770..26ae1cc9c06 100644
--- a/@xen-orchestra/lite/src/components/ui/UiCardTitle.vue
+++ b/@xen-orchestra/lite/src/components/ui/UiCardTitle.vue
@@ -2,7 +2,7 @@
{{ left }}
-
+
{{ right }}
diff --git a/@xen-orchestra/lite/src/components/ui/icon/UiStatusIcon.vue b/@xen-orchestra/lite/src/components/ui/icon/UiStatusIcon.vue
index f934943ddcb..67fa918a48e 100644
--- a/@xen-orchestra/lite/src/components/ui/icon/UiStatusIcon.vue
+++ b/@xen-orchestra/lite/src/components/ui/icon/UiStatusIcon.vue
@@ -30,16 +30,19 @@ const icon = computed(() => {
color: var(--icon-color);
&.error {
- --icon-color: var(--color-danger-txt-base);
+ --icon-color: var(--color-danger-item-base);
}
+
&.warning {
- --icon-color: var(--color-warning-txt-base);
+ --icon-color: var(--color-warning-item-base);
}
+
&.info {
- --icon-color: var(--color-normal-txt-base);
+ --icon-color: var(--color-normal-item-base);
}
+
&.success {
- --icon-color: var(--color-success-txt-base);
+ --icon-color: var(--color-success-item-base);
}
}
diff --git a/@xen-orchestra/lite/src/components/ui/modals/ModalApproveButton.vue b/@xen-orchestra/lite/src/components/ui/modals/ModalApproveButton.vue
index e47fead9eea..962a9266b7e 100644
--- a/@xen-orchestra/lite/src/components/ui/modals/ModalApproveButton.vue
+++ b/@xen-orchestra/lite/src/components/ui/modals/ModalApproveButton.vue
@@ -1,5 +1,5 @@
-
+
diff --git a/@xen-orchestra/lite/src/components/ui/modals/ModalDeclineButton.vue b/@xen-orchestra/lite/src/components/ui/modals/ModalDeclineButton.vue
index a7eed38b702..357842ef642 100644
--- a/@xen-orchestra/lite/src/components/ui/modals/ModalDeclineButton.vue
+++ b/@xen-orchestra/lite/src/components/ui/modals/ModalDeclineButton.vue
@@ -1,5 +1,5 @@
-
+
{{ $t('cancel') }}
diff --git a/@xen-orchestra/lite/src/components/ui/progress/UiProgressBar.vue b/@xen-orchestra/lite/src/components/ui/progress/UiProgressBar.vue
index f12d061bff9..9666e96a09e 100644
--- a/@xen-orchestra/lite/src/components/ui/progress/UiProgressBar.vue
+++ b/@xen-orchestra/lite/src/components/ui/progress/UiProgressBar.vue
@@ -32,19 +32,19 @@ const cssFillWidth = computed(() => {
background-color: var(--progress-bar-background-color, var(--color-normal-background-selected));
&.color-info {
- --progress-bar-color: var(--color-normal-txt-base);
+ --progress-bar-color: var(--color-normal-item-base);
}
&.color-success {
- --progress-bar-color: var(--color-success-txt-base);
+ --progress-bar-color: var(--color-success-item-base);
}
&.color-warning {
- --progress-bar-color: var(--color-warning-txt-base);
+ --progress-bar-color: var(--color-warning-item-base);
}
&.color-error {
- --progress-bar-color: var(--color-danger-txt-base);
+ --progress-bar-color: var(--color-danger-item-base);
}
}
diff --git a/@xen-orchestra/lite/src/components/vm/VmActionItems/VmActionPowerStateItems.vue b/@xen-orchestra/lite/src/components/vm/VmActionItems/VmActionPowerStateItems.vue
index a2814d97f43..387be707df5 100644
--- a/@xen-orchestra/lite/src/components/vm/VmActionItems/VmActionPowerStateItems.vue
+++ b/@xen-orchestra/lite/src/components/vm/VmActionItems/VmActionPowerStateItems.vue
@@ -134,6 +134,6 @@ const getHostState = (host: XenApiHost) => (isHostRunning(host) ? VM_POWER_STATE
.star {
margin: 0 1rem;
- color: var(--color-warning-txt-base);
+ color: var(--color-warning-item-base);
}
diff --git a/@xen-orchestra/lite/src/components/vm/VmHeader.vue b/@xen-orchestra/lite/src/components/vm/VmHeader.vue
index 20b17644eb1..c77123809f2 100644
--- a/@xen-orchestra/lite/src/components/vm/VmHeader.vue
+++ b/@xen-orchestra/lite/src/components/vm/VmHeader.vue
@@ -2,16 +2,23 @@
{{ name }}
-
+
-
+
{{ $t('change-state') }}
-
+
diff --git a/@xen-orchestra/lite/src/libs/story/story-param.ts b/@xen-orchestra/lite/src/libs/story/story-param.ts
index 2cfc82ff725..cb2b0facfa7 100644
--- a/@xen-orchestra/lite/src/libs/story/story-param.ts
+++ b/@xen-orchestra/lite/src/libs/story/story-param.ts
@@ -418,7 +418,7 @@ export const isSlotParam = (param: any): param is SlotParam => param instanceof
export const isModelParam = (param: any): param is ModelParam => param instanceof ModelParam
export const colorProp = (name = 'color') =>
- prop(name).type('Color').enum('info', 'success', 'warning', 'error').default('info').widget()
+ prop(name).type('Color').enum('normal', 'success', 'warning', 'danger').default('normal').widget()
export const iconProp = (name = 'icon') =>
prop(name)
diff --git a/@xen-orchestra/lite/src/stories/web-core/button/ui-button.story.vue b/@xen-orchestra/lite/src/stories/web-core/button/ui-button.story.vue
index f83a21f35ec..bdb0d4865b1 100644
--- a/@xen-orchestra/lite/src/stories/web-core/button/ui-button.story.vue
+++ b/@xen-orchestra/lite/src/stories/web-core/button/ui-button.story.vue
@@ -2,15 +2,19 @@
import ComponentStory from '@/components/component-story/ComponentStory.vue'
-import { colorProp, prop, setting } from '@/libs/story/story-param'
+import { prop, setting } from '@/libs/story/story-param'
import { choice } from '@/libs/story/story-widget'
import UiButton from '@core/components/button/UiButton.vue'
import { faFloppyDisk, faRocket, faShip, faTrash } from '@fortawesome/free-solid-svg-icons'
diff --git a/@xen-orchestra/lite/src/stories/web-core/card/card-title.story.vue b/@xen-orchestra/lite/src/stories/web-core/card/card-title.story.vue
index 0a0823a2863..ca5d018b953 100644
--- a/@xen-orchestra/lite/src/stories/web-core/card/card-title.story.vue
+++ b/@xen-orchestra/lite/src/stories/web-core/card/card-title.story.vue
@@ -11,10 +11,11 @@
]"
>
- {{ settings.defaultSlotContent }}
+ {{ settings.defaultSlotContent }}
+
- {{ settings.infoSlotContent
- }}See all
+ {{ settings.infoSlotContent }}
+ See all
{{ settings.descriptionSlotContent }}
diff --git a/@xen-orchestra/lite/src/stories/web-core/head-bar/head-bar.story.md b/@xen-orchestra/lite/src/stories/web-core/head-bar/head-bar.story.md
index 8b28abea912..68f83934e12 100644
--- a/@xen-orchestra/lite/src/stories/web-core/head-bar/head-bar.story.md
+++ b/@xen-orchestra/lite/src/stories/web-core/head-bar/head-bar.story.md
@@ -7,8 +7,8 @@
- New VM
- Change state
+ New VM
+ Change state
```
diff --git a/@xen-orchestra/lite/src/stories/web-core/head-bar/head-bar.story.vue b/@xen-orchestra/lite/src/stories/web-core/head-bar/head-bar.story.vue
index d7adbb1a915..3a0290b8e64 100644
--- a/@xen-orchestra/lite/src/stories/web-core/head-bar/head-bar.story.vue
+++ b/@xen-orchestra/lite/src/stories/web-core/head-bar/head-bar.story.vue
@@ -19,8 +19,8 @@
migrating... (34%)
- New VM
- Change state
+ New VM
+ Change state
diff --git a/@xen-orchestra/lite/src/stories/web-core/ui-counter.story.vue b/@xen-orchestra/lite/src/stories/web-core/ui-counter.story.vue
index 7d223d71a1b..be11650c59e 100644
--- a/@xen-orchestra/lite/src/stories/web-core/ui-counter.story.vue
+++ b/@xen-orchestra/lite/src/stories/web-core/ui-counter.story.vue
@@ -3,7 +3,12 @@
v-slot="{ properties }"
:params="[
prop('value').type(`'number' | 'string'`).str().required().preset(2).widget(),
- prop('color').type('CounterColor').enum('info', 'success', 'warning', 'error', 'danger', 'black').widget(),
+ prop('color')
+ .type('CounterColor')
+ .required()
+ .enum('primary', 'secondary', 'success', 'warning', 'danger', 'disabled')
+ .preset('primary')
+ .widget(),
prop('size').type('CounterSize').enum('small', 'medium').widget(),
]"
>
diff --git a/@xen-orchestra/lite/src/stories/web-core/ui-tag.story.vue b/@xen-orchestra/lite/src/stories/web-core/ui-tag.story.vue
index 1a91a320093..59f1777d877 100644
--- a/@xen-orchestra/lite/src/stories/web-core/ui-tag.story.vue
+++ b/@xen-orchestra/lite/src/stories/web-core/ui-tag.story.vue
@@ -3,7 +3,12 @@
v-slot="{ properties, settings }"
:params="[
iconProp(),
- prop('color').type('TagColor').enum('info', 'success', 'warning', 'error', 'danger', 'grey').widget(),
+ prop('color')
+ .type('TagColor')
+ .required()
+ .preset('primary')
+ .enum('primary', 'secondary', 'success', 'warning', 'danger', 'disabled')
+ .widget(),
prop('light').bool().widget(),
slot(),
setting('slot').preset('Label').widget(),
diff --git a/@xen-orchestra/lite/src/views/ObjectNotFoundView.vue b/@xen-orchestra/lite/src/views/ObjectNotFoundView.vue
index 53f29db122a..69187951ff1 100644
--- a/@xen-orchestra/lite/src/views/ObjectNotFoundView.vue
+++ b/@xen-orchestra/lite/src/views/ObjectNotFoundView.vue
@@ -2,7 +2,9 @@
{{ $t('object-not-found', { id }) }}
-
{{ $t('back-pool-dashboard') }}
+
+ {{ $t('back-pool-dashboard') }}
+
diff --git a/@xen-orchestra/lite/src/views/PageNotFoundView.vue b/@xen-orchestra/lite/src/views/PageNotFoundView.vue
index ed9d564d57a..cd6576e725f 100644
--- a/@xen-orchestra/lite/src/views/PageNotFoundView.vue
+++ b/@xen-orchestra/lite/src/views/PageNotFoundView.vue
@@ -3,7 +3,9 @@
404
{{ $t('page-not-found') }}
- {{ $t('back-pool-dashboard') }}
+
+ {{ $t('back-pool-dashboard') }}
+
@@ -26,9 +28,11 @@ div {
align-items: center;
justify-content: center;
}
+
img {
width: 30%;
}
+
.numeric {
color: var(--color-normal-txt-base);
font-size: 96px;
diff --git a/@xen-orchestra/lite/src/views/pool/PoolTasksView.vue b/@xen-orchestra/lite/src/views/pool/PoolTasksView.vue
index e67689d2fab..fab0e833cbd 100644
--- a/@xen-orchestra/lite/src/views/pool/PoolTasksView.vue
+++ b/@xen-orchestra/lite/src/views/pool/PoolTasksView.vue
@@ -2,7 +2,7 @@
{{ $t('tasks') }}
-
+
diff --git a/@xen-orchestra/lite/src/views/story/HomeView.vue b/@xen-orchestra/lite/src/views/story/HomeView.vue
index f0310c1bea5..55c0b0807a3 100644
--- a/@xen-orchestra/lite/src/views/story/HomeView.vue
+++ b/@xen-orchestra/lite/src/views/story/HomeView.vue
@@ -16,8 +16,8 @@
Slot names, separated by comma
- Default
- Clear
+ Default
+ Clear
diff --git a/@xen-orchestra/lite/src/views/xoa-deploy/XoaDeployView.vue b/@xen-orchestra/lite/src/views/xoa-deploy/XoaDeployView.vue
index 7c0822a6184..5ab8ca4b503 100644
--- a/@xen-orchestra/lite/src/views/xoa-deploy/XoaDeployView.vue
+++ b/@xen-orchestra/lite/src/views/xoa-deploy/XoaDeployView.vue
@@ -13,7 +13,7 @@
{{ $t('check-errors') }}
{{ error }}
-
+
{{ $t('xoa-deploy-retry') }}
@@ -24,7 +24,7 @@
{{ $t('xoa-deploy-successful') }}
-
+
{{ $t('access-xoa') }}
@@ -40,7 +40,7 @@
{{ $t('keep-page-open') }}
-
+
{{ $t('cancel') }}
@@ -92,8 +92,14 @@
-
-
+
+
@@ -156,8 +162,9 @@
{{ $t('disabled') }}
+
+ {{ $t('enabled') }}
@@ -189,10 +196,10 @@
-
+
{{ $t('cancel') }}
-
+
{{ $t('deploy') }}
@@ -503,6 +510,7 @@ async function cancel() {
display: flex;
flex-direction: row;
margin: 1.67rem 0;
+
& > * {
min-width: 20rem;
}
@@ -524,9 +532,11 @@ async function cancel() {
text-align: center;
padding: 5rem;
margin: auto;
+
h2 {
margin-bottom: 1rem;
}
+
* {
max-width: 100%;
}
@@ -535,6 +545,7 @@ async function cancel() {
.not-available {
font-size: 2rem;
}
+
.status {
color: var(--color-neutral-txt-primary);
}
@@ -546,6 +557,7 @@ async function cancel() {
.danger {
color: var(--color-danger-txt-base);
}
+
.success,
.danger {
&.ui-icon {
@@ -559,6 +571,7 @@ async function cancel() {
text-align: left;
gap: 0.5em;
}
+
.warning {
color: var(--color-warning-txt-base);
}
diff --git a/@xen-orchestra/web-core/lib/assets/css/_colors-legacy.pcss b/@xen-orchestra/web-core/lib/assets/css/_colors-legacy.pcss
deleted file mode 100644
index 61d6aedd6d5..00000000000
--- a/@xen-orchestra/web-core/lib/assets/css/_colors-legacy.pcss
+++ /dev/null
@@ -1,125 +0,0 @@
-:root {
- --color-logo: #282467;
-
- --color-grey-000: #000000;
- --color-grey-100: #1a1b38;
- --color-grey-200: #595a6f;
- --color-grey-300: #9899a5;
- --color-grey-400: #bfbfc6;
- --color-grey-500: #e5e5e7;
- --color-grey-600: #ffffff;
-
- --background-color-primary: #ffffff;
- --background-color-secondary: #f6f6f7;
-
- --color-purple-base: #8f84ff;
- --color-purple-d20: color(#8f84ff blend(black 20%));
- --color-purple-d40: color(#8f84ff blend(black 40%));
- --color-purple-d60: color(#8f84ff blend(black 60%));
- --color-purple-l20: color(#8f84ff blend(white 20%));
- --color-purple-l40: color(#8f84ff blend(white 40%));
- --color-purple-l60: color(#8f84ff blend(white 60%));
- --background-color-purple-10: color(white blend(#8f84ff 10%));
- --background-color-purple-20: color(white blend(#8f84ff 20%));
- --background-color-purple-30: color(white blend(#8f84ff 30%));
- --background-color-purple-60: color(white blend(#8f84ff 60%));
-
- --color-green-base: #2ca878;
- --color-green-d20: color(#2ca878 blend(black 20%));
- --color-green-d40: color(#2ca878 blend(black 40%));
- --color-green-d60: color(#2ca878 blend(black 60%));
- --color-green-l20: color(#2ca878 blend(white 20%));
- --color-green-l40: color(#2ca878 blend(white 40%));
- --color-green-l60: color(#2ca878 blend(white 60%));
- --background-color-green-10: color(white blend(#2ca878 10%));
- --background-color-green-20: color(white blend(#2ca878 20%));
- --background-color-green-30: color(white blend(#2ca878 30%));
- --background-color-green-60: color(white blend(#2ca878 60%));
-
- --color-orange-base: #ef7f18;
- --color-orange-d20: color(#ef7f18 blend(black 20%));
- --color-orange-d40: color(#ef7f18 blend(black 40%));
- --color-orange-d60: color(#ef7f18 blend(black 60%));
- --color-orange-l20: color(#ef7f18 blend(white 20%));
- --color-orange-l40: color(#ef7f18 blend(white 40%));
- --color-orange-l60: color(#ef7f18 blend(white 60%));
- --background-color-orange-10: color(white blend(#ef7f18 10%));
- --background-color-orange-20: color(white blend(#ef7f18 20%));
- --background-color-orange-30: color(white blend(#ef7f18 30%));
- --background-color-orange-60: color(white blend(#ef7f18 60%));
-
- --color-red-base: #be1621;
- --color-red-d20: color(#be1621 blend(black 20%));
- --color-red-d40: color(#be1621 blend(black 40%));
- --color-red-d60: color(#be1621 blend(black 60%));
- --color-red-l20: color(#be1621 blend(white 20%));
- --color-red-l40: color(#be1621 blend(white 40%));
- --color-red-l60: color(#be1621 blend(white 60%));
- --background-color-red-10: color(white blend(#be1621 10%));
- --background-color-red-20: color(white blend(#be1621 20%));
- --background-color-red-30: color(white blend(#be1621 30%));
- --background-color-red-60: color(white blend(#be1621 60%));
-}
-
-:root.dark {
- --color-logo: #e5e5e7;
-
- --color-grey-000: #ffffff;
- --color-grey-100: #e5e5e7;
- --color-grey-200: #bfbfc6;
- --color-grey-300: #9899a5;
- --color-grey-400: #595a6f;
- --color-grey-500: #3a3b54;
- --color-grey-600: #000000;
-
- --background-color-primary: #14141e;
- --background-color-secondary: #17182b;
-
- --color-purple-base: #8f84ff;
- --color-purple-d20: color(#8f84ff blend(white 20%));
- --color-purple-d40: color(#8f84ff blend(white 40%));
- --color-purple-d60: color(#8f84ff blend(white 60%));
- --color-purple-l20: color(#8f84ff blend(black 20%));
- --color-purple-l40: color(#8f84ff blend(black 40%));
- --color-purple-l60: color(#8f84ff blend(black 60%));
- --background-color-purple-10: color(#17182b blend(#8f84ff 25%));
- --background-color-purple-20: color(#17182b blend(#8f84ff 35%));
- --background-color-purple-30: color(#17182b blend(#8f84ff 45%));
- --background-color-purple-60: color(#17182b blend(#8f84ff 85%));
-
- --color-green-base: #2ca878;
- --color-green-d20: color(#2ca878 blend(white 20%));
- --color-green-d40: color(#2ca878 blend(white 40%));
- --color-green-d60: color(#2ca878 blend(white 60%));
- --color-green-l20: color(#2ca878 blend(black 20%));
- --color-green-l40: color(#2ca878 blend(black 40%));
- --color-green-l60: color(#2ca878 blend(black 60%));
- --background-color-green-10: color(#17182b blend(#2ca878 25%));
- --background-color-green-20: color(#17182b blend(#2ca878 35%));
- --background-color-green-30: color(#17182b blend(#2ca878 45%));
- --background-color-green-60: color(#17182b blend(#2ca878 85%));
-
- --color-orange-base: #ef7f18;
- --color-orange-d20: color(#ef7f18 blend(white 20%));
- --color-orange-d40: color(#ef7f18 blend(white 40%));
- --color-orange-d60: color(#ef7f18 blend(white 60%));
- --color-orange-l20: color(#ef7f18 blend(black 20%));
- --color-orange-l40: color(#ef7f18 blend(black 40%));
- --color-orange-l60: color(#ef7f18 blend(black 60%));
- --background-color-orange-10: color(#17182b blend(#ef7f18 25%));
- --background-color-orange-20: color(#17182b blend(#ef7f18 35%));
- --background-color-orange-30: color(#17182b blend(#ef7f18 45%));
- --background-color-orange-60: color(#17182b blend(#ef7f18 85%));
-
- --color-red-base: #be1621;
- --color-red-d20: color(#be1621 blend(white 20%));
- --color-red-d40: color(#be1621 blend(white 40%));
- --color-red-d60: color(#be1621 blend(white 60%));
- --color-red-l20: color(#be1621 blend(black 20%));
- --color-red-l40: color(#be1621 blend(black 40%));
- --color-red-l60: color(#be1621 blend(black 60%));
- --background-color-red-10: color(#17182b blend(#be1621 25%));
- --background-color-red-20: color(#17182b blend(#be1621 35%));
- --background-color-red-30: color(#17182b blend(#be1621 45%));
- --background-color-red-60: color(#17182b blend(#be1621 85%));
-}
diff --git a/@xen-orchestra/web-core/lib/assets/css/base.pcss b/@xen-orchestra/web-core/lib/assets/css/base.pcss
index 0a1409b4da6..6168eb6955e 100644
--- a/@xen-orchestra/web-core/lib/assets/css/base.pcss
+++ b/@xen-orchestra/web-core/lib/assets/css/base.pcss
@@ -1,4 +1,3 @@
-@import '_colors-legacy.pcss';
@import '_colors.pcss';
@import '_reset.pcss';
@import '_fonts.pcss';
@@ -28,6 +27,7 @@
scrollbar-width: auto;
/* Chrome/Webkit */
+
::-webkit-scrollbar {
width: var(--scrollbar-width);
}
diff --git a/@xen-orchestra/web-core/lib/components/LegendTitle.vue b/@xen-orchestra/web-core/lib/components/LegendTitle.vue
index b4cfbc0a2d6..f034b34eb17 100644
--- a/@xen-orchestra/web-core/lib/components/LegendTitle.vue
+++ b/@xen-orchestra/web-core/lib/components/LegendTitle.vue
@@ -2,7 +2,7 @@
-
+
diff --git a/@xen-orchestra/web-core/lib/components/PowerStateIcon.vue b/@xen-orchestra/web-core/lib/components/PowerStateIcon.vue
index 86ef9147e8b..304b4f044a7 100644
--- a/@xen-orchestra/web-core/lib/components/PowerStateIcon.vue
+++ b/@xen-orchestra/web-core/lib/components/PowerStateIcon.vue
@@ -1,6 +1,6 @@
-
+
diff --git a/@xen-orchestra/web-core/lib/components/dropdown/DropdownItem.vue b/@xen-orchestra/web-core/lib/components/dropdown/DropdownItem.vue
index 5b6880a6b78..d2c89f44388 100644
--- a/@xen-orchestra/web-core/lib/components/dropdown/DropdownItem.vue
+++ b/@xen-orchestra/web-core/lib/components/dropdown/DropdownItem.vue
@@ -1,14 +1,14 @@
@@ -24,7 +24,7 @@ import { computed, inject } from 'vue'
defineProps<{
arrow?: boolean
- color?: Color
+ color: Color
disabled?: boolean
icon?: IconDefinition
info?: string
@@ -40,7 +40,7 @@ const checkbox = inject(
diff --git a/@xen-orchestra/web-core/lib/components/input/UiInput.vue b/@xen-orchestra/web-core/lib/components/input/UiInput.vue
index f0aaf54e52c..8b12b64603e 100644
--- a/@xen-orchestra/web-core/lib/components/input/UiInput.vue
+++ b/@xen-orchestra/web-core/lib/components/input/UiInput.vue
@@ -1,9 +1,15 @@
-
+
-
+
@@ -36,23 +42,23 @@ const id = computed(() => uniqueId('input-'))
}
&:is(:hover, :focus-visible) {
- --border-color: var(--color-normal-txt-hover);
+ --border-color: var(--color-normal-item-hover);
--background-color: var(--color-neutral-background-primary);
}
&:focus {
- --border-color: var(--color-normal-txt-base);
+ --border-color: var(--color-normal-item-base);
--background-color: var(--color-neutral-background-primary);
}
&:active {
- --border-color: var(--color-normal-txt-active);
+ --border-color: var(--color-normal-item-active);
--background-color: var(--color-neutral-background-primary);
}
&:disabled {
--border-color: var(--color-neutral-border);
- --background-color: var(--color-neutral-background-secondary);
+ --background-color: var(--color-neutral-background-disabled);
}
}
diff --git a/@xen-orchestra/web-core/lib/components/legend/LegendItem.vue b/@xen-orchestra/web-core/lib/components/legend/LegendItem.vue
index 51b1f4c5c94..ce6bfef6d04 100644
--- a/@xen-orchestra/web-core/lib/components/legend/LegendItem.vue
+++ b/@xen-orchestra/web-core/lib/components/legend/LegendItem.vue
@@ -1,9 +1,9 @@
-
+
-
+
{{ valueLabel }}
@@ -36,7 +36,7 @@ const valueLabel = computed(() => [props.value, props.unit].join(' ').trim())
/* COLOR VARIANTS */
.legend-item {
&.primary {
- --circle-color: var(--color-normal-txt-base);
+ --circle-color: var(--color-normal-item-base);
}
&.secondary {
@@ -44,19 +44,19 @@ const valueLabel = computed(() => [props.value, props.unit].join(' ').trim())
}
&.success {
- --circle-color: var(--color-success-txt-base);
+ --circle-color: var(--color-success-item-base);
}
&.warning {
- --circle-color: var(--color-warning-txt-base);
+ --circle-color: var(--color-warning-item-base);
}
&.danger {
- --circle-color: var(--color-danger-txt-base);
+ --circle-color: var(--color-danger-item-base);
}
&.disabled {
- --circle-color: var(--color-neutral-txt-secondary);
+ --circle-color: var(--color-neutral-background-disabled);
}
}
diff --git a/@xen-orchestra/web-core/lib/components/menu/MenuItem.vue b/@xen-orchestra/web-core/lib/components/menu/MenuItem.vue
index 03e2df5d508..a7dad342304 100644
--- a/@xen-orchestra/web-core/lib/components/menu/MenuItem.vue
+++ b/@xen-orchestra/web-core/lib/components/menu/MenuItem.vue
@@ -11,11 +11,11 @@
>
-
+
-
+
diff --git a/@xen-orchestra/web-core/lib/components/menu/MenuList.vue b/@xen-orchestra/web-core/lib/components/menu/MenuList.vue
index 7e90deb5ca5..e3e28ee3f87 100644
--- a/@xen-orchestra/web-core/lib/components/menu/MenuList.vue
+++ b/@xen-orchestra/web-core/lib/components/menu/MenuList.vue
@@ -2,7 +2,7 @@
-
@@ -23,7 +23,7 @@ defineOptions({
const props = withDefaults(
defineProps<{
horizontal?: boolean
- shadow?: boolean
+ border?: boolean
disabled?: boolean
placement?: Options['placement']
}>(),
@@ -88,17 +88,17 @@ const open = (event: MouseEvent) => {
flex-direction: column;
padding: 0.4rem;
cursor: default;
- color: var(--color-neutral-txt-secondary);
+ color: var(--color-neutral-txt-primary);
border-radius: 0.4rem;
- background-color: var(--color-normal-txt-item);
+ background-color: var(--color-neutral-background-primary);
gap: 0.2rem;
&.horizontal {
flex-direction: row;
}
- &.shadow {
- box-shadow: var(--shadow-300);
+ &.border {
+ border: 0.1rem solid var(--color-neutral-border);
}
}
diff --git a/@xen-orchestra/web-core/lib/components/menu/MenuTrigger.vue b/@xen-orchestra/web-core/lib/components/menu/MenuTrigger.vue
index ddd768661e2..f6971427145 100644
--- a/@xen-orchestra/web-core/lib/components/menu/MenuTrigger.vue
+++ b/@xen-orchestra/web-core/lib/components/menu/MenuTrigger.vue
@@ -1,7 +1,7 @@
@@ -30,10 +30,10 @@ defineProps<{
white-space: nowrap;
border-radius: 0.8rem;
gap: 1rem;
- background-color: var(--color-normal-txt-item);
+ background-color: var(--color-neutral-background-primary);
&.disabled {
- color: var(--color-neutral-border);
+ color: var(--color-neutral-txt-secondary);
}
&:not(.disabled) {
diff --git a/@xen-orchestra/web-core/lib/components/object-link/ObjectLink.vue b/@xen-orchestra/web-core/lib/components/object-link/ObjectLink.vue
index 74f4430dae3..f6275889c01 100644
--- a/@xen-orchestra/web-core/lib/components/object-link/ObjectLink.vue
+++ b/@xen-orchestra/web-core/lib/components/object-link/ObjectLink.vue
@@ -3,7 +3,7 @@
-
+
@@ -13,7 +13,7 @@
-
+
diff --git a/@xen-orchestra/web-core/lib/components/query-search-bar/QuerySearchBar.vue b/@xen-orchestra/web-core/lib/components/query-search-bar/QuerySearchBar.vue
index 2a1dff3b8ca..bccd5399ee0 100644
--- a/@xen-orchestra/web-core/lib/components/query-search-bar/QuerySearchBar.vue
+++ b/@xen-orchestra/web-core/lib/components/query-search-bar/QuerySearchBar.vue
@@ -12,9 +12,16 @@
:placeholder="$t('core.query-search-bar.placeholder')"
/>
- {{ $t('core.search') }}
+ {{ $t('core.search') }}
-
+
{{ $t('core.query-search-bar.use-query-builder') }}
diff --git a/@xen-orchestra/web-core/lib/components/stacked-bar/StackedBar.vue b/@xen-orchestra/web-core/lib/components/stacked-bar/StackedBar.vue
index e8dbb26a94b..406877ce18b 100644
--- a/@xen-orchestra/web-core/lib/components/stacked-bar/StackedBar.vue
+++ b/@xen-orchestra/web-core/lib/components/stacked-bar/StackedBar.vue
@@ -38,6 +38,6 @@ const max = computed(() => Math.max(props.maxValue ?? 0, totalValue.value))
height: 4rem;
border-radius: 0.8rem;
overflow: hidden;
- background-color: var(--color-normal-background-selected);
+ background-color: var(--color-neutral-background-disabled);
}
diff --git a/@xen-orchestra/web-core/lib/components/stacked-bar/StackedBarSegment.vue b/@xen-orchestra/web-core/lib/components/stacked-bar/StackedBarSegment.vue
index 161f8bb6516..f14c47e4223 100644
--- a/@xen-orchestra/web-core/lib/components/stacked-bar/StackedBarSegment.vue
+++ b/@xen-orchestra/web-core/lib/components/stacked-bar/StackedBarSegment.vue
@@ -38,19 +38,19 @@ useResizeObserver(ellipsisElement, ([entry]) => {
/* COLOR VARIANT */
.stacked-bar-segment {
&.primary {
- --background-color: var(--color-normal-txt-base);
+ --background-color: var(--color-normal-item-base);
}
&.success {
- --background-color: var(--color-success-txt-base);
+ --background-color: var(--color-success-item-base);
}
&.warning {
- --background-color: var(--color-warning-txt-base);
+ --background-color: var(--color-warning-item-base);
}
&.danger {
- --background-color: var(--color-danger-txt-base);
+ --background-color: var(--color-danger-item-base);
}
}
@@ -62,6 +62,7 @@ useResizeObserver(ellipsisElement, ([entry]) => {
white-space: nowrap;
color: var(--color-normal-txt-item);
background-color: var(--background-color);
+ padding-inline: 0.8rem;
}
.hidden {
diff --git a/@xen-orchestra/web-core/lib/components/tab/TabItem.vue b/@xen-orchestra/web-core/lib/components/tab/TabItem.vue
index d50bcb711b6..1479dc4b256 100644
--- a/@xen-orchestra/web-core/lib/components/tab/TabItem.vue
+++ b/@xen-orchestra/web-core/lib/components/tab/TabItem.vue
@@ -47,19 +47,19 @@ const classNames = computed(() => {
&:is(:hover, .hover, :focus-visible) {
--color: var(--color-neutral-txt-primary);
- --border-color: var(--color-normal-txt-hover);
+ --border-color: var(--color-normal-item-hover);
--background-color: var(--color-normal-background-hover);
}
&:is(:active, .pressed) {
--color: var(--color-neutral-txt-primary);
- --border-color: var(--color-normal-txt-active);
+ --border-color: var(--color-normal-item-active);
--background-color: var(--color-normal-background-active);
}
&:is(.active, .selected) {
--color: var(--color-neutral-txt-primary);
- --border-color: var(--color-normal-txt-base);
+ --border-color: var(--color-normal-item-base);
--background-color: var(--color-normal-background-selected);
}
diff --git a/@xen-orchestra/web-core/lib/components/table/ColumnTitle.vue b/@xen-orchestra/web-core/lib/components/table/ColumnTitle.vue
index bedb6589706..8d9cdf600df 100644
--- a/@xen-orchestra/web-core/lib/components/table/ColumnTitle.vue
+++ b/@xen-orchestra/web-core/lib/components/table/ColumnTitle.vue
@@ -1,6 +1,6 @@
-
+
-
+
-
+
|
@@ -23,7 +23,8 @@
:disabled="interaction.disabled"
:on-click="() => updateInteraction(interaction)"
>
- {{ interaction.label }}
+
+ {{ interaction.label }}
{{ $t('core.current').toLowerCase() }}
@@ -114,14 +115,16 @@ const updateInteraction = (interaction: Interaction) => {
&.disabled {
--color: var(--color-neutral-txt-secondary);
- --background-color: var(--color-neutral-background-secondary);
+ --background-color: var(--color-neutral-background-disabled);
}
}
+
/* IMPLEMENTATION */
.column-header.interactive {
cursor: pointer;
color: var(--color);
background-color: var(--background-color);
+
&.disabled {
cursor: not-allowed;
}
diff --git a/@xen-orchestra/web-core/lib/components/task/QuickTaskItem.vue b/@xen-orchestra/web-core/lib/components/task/QuickTaskItem.vue
index a2fcd7f1690..5110e2b0f79 100644
--- a/@xen-orchestra/web-core/lib/components/task/QuickTaskItem.vue
+++ b/@xen-orchestra/web-core/lib/components/task/QuickTaskItem.vue
@@ -9,16 +9,16 @@
@@ -34,10 +34,6 @@ const depth = inject(IK_TREE_LIST_DEPTH, 0)
background-color: var(--color-neutral-background-primary);
}
-.icon {
- color: var(--color-neutral-txt-primary);
-}
-
.link-placeholder {
display: flex;
align-items: center;
diff --git a/@xen-orchestra/web-core/lib/types/button.type.ts b/@xen-orchestra/web-core/lib/types/button.type.ts
index 114b65d40e0..f0f49e06eb8 100644
--- a/@xen-orchestra/web-core/lib/types/button.type.ts
+++ b/@xen-orchestra/web-core/lib/types/button.type.ts
@@ -1,3 +1,3 @@
export type ButtonLevel = 'primary' | 'secondary' | 'tertiary'
-export type ButtonSize = 'extra-small' | 'small' | 'medium'
+export type ButtonSize = 'small' | 'medium' | 'large'
diff --git a/@xen-orchestra/web-core/lib/types/color.type.ts b/@xen-orchestra/web-core/lib/types/color.type.ts
index 46607043b26..271d492b4fb 100644
--- a/@xen-orchestra/web-core/lib/types/color.type.ts
+++ b/@xen-orchestra/web-core/lib/types/color.type.ts
@@ -1,5 +1,7 @@
-export type Color = 'info' | 'error' | 'danger' | 'warning' | 'success'
+export type Color = 'normal' | 'success' | 'warning' | 'danger'
-export type CounterColor = Color | 'black'
+export type IconColor = 'current' | 'normal' | 'success' | 'warning' | 'danger'
-export type TagColor = Color | 'grey'
+export type CounterColor = 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'disabled'
+
+export type TagColor = 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'disabled'
diff --git a/@xen-orchestra/web/src/components/account-menu/AccountMenu.vue b/@xen-orchestra/web/src/components/account-menu/AccountMenu.vue
index dd918ec8637..37a321632e9 100644
--- a/@xen-orchestra/web/src/components/account-menu/AccountMenu.vue
+++ b/@xen-orchestra/web/src/components/account-menu/AccountMenu.vue
@@ -1,5 +1,5 @@
-
+
diff --git a/@xen-orchestra/web/src/components/account-menu/AccountMenuTrigger.vue b/@xen-orchestra/web/src/components/account-menu/AccountMenuTrigger.vue
index 5f52eaa6a2e..4d9d04ffc54 100644
--- a/@xen-orchestra/web/src/components/account-menu/AccountMenuTrigger.vue
+++ b/@xen-orchestra/web/src/components/account-menu/AccountMenuTrigger.vue
@@ -6,7 +6,7 @@
type="button"
>
-
+
diff --git a/@xen-orchestra/web/src/components/tree/HostTreeItem.vue b/@xen-orchestra/web/src/components/tree/HostTreeItem.vue
index 7728b1915e1..405ea366823 100644
--- a/@xen-orchestra/web/src/components/tree/HostTreeItem.vue
+++ b/@xen-orchestra/web/src/components/tree/HostTreeItem.vue
@@ -11,7 +11,7 @@
-
+
diff --git a/@xen-orchestra/web/src/components/tree/PoolTreeItem.vue b/@xen-orchestra/web/src/components/tree/PoolTreeItem.vue
index a26ae4d045a..b7e92c99f94 100644
--- a/@xen-orchestra/web/src/components/tree/PoolTreeItem.vue
+++ b/@xen-orchestra/web/src/components/tree/PoolTreeItem.vue
@@ -3,7 +3,7 @@
{{ branch.data.name_label }}
-
+
diff --git a/@xen-orchestra/web/src/layouts/AppLayout.vue b/@xen-orchestra/web/src/layouts/AppLayout.vue
index 7d750ef8dbb..2bd1db92b57 100644
--- a/@xen-orchestra/web/src/layouts/AppLayout.vue
+++ b/@xen-orchestra/web/src/layouts/AppLayout.vue
@@ -6,7 +6,15 @@
- XO 5
+
+ XO 5
+