Tokens for TieredMenu

This commit is contained in:
Cagatay Civici 2024-05-10 11:05:59 +03:00
parent 32c592b74e
commit 3cc7a5d44c
8 changed files with 145 additions and 65 deletions

View file

@ -2,50 +2,38 @@ import BaseStyle from 'primevue/base/style';
const theme = ({ dt }) => `
.p-tieredmenu {
padding: 0.25rem 0.25rem;
background: ${dt('tieredmenu.background')};
color: ${dt('tieredmenu.color')};
border: 1px solid ${dt('tieredmenu.border.color')};
border-radius: ${dt('border.radius.md')};
border-radius: ${dt('tieredmenu.border.radius')};
min-width: 12.5rem;
}
.p-tieredmenu-root-list,
.p-tieredmenu-submenu {
margin: 0;
padding: 0;
padding: ${dt('tieredmenu.list.padding')};
list-style: none;
outline: 0 none;
display: flex;
flex-direction: column;
gap: ${dt('tieredmenu.list.gap')};
}
.p-tieredmenu-submenu {
position: absolute;
min-width: 100%;
z-index: 1;
padding: 0.25rem 0.25rem;
background: ${dt('tieredmenu.background')};
color: ${dt('tieredmenu.color')};
border: 1px solid ${dt('tieredmenu.border.color')};
border-radius: ${dt('border.radius.md')};
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
}
.p-tieredmenu-item {
position: relative;
margin: 2px 0;
}
.p-tieredmenu-item:first-child {
margin-top: 0;
}
.p-tieredmenu-item:last-child {
margin-bottom: 0;
border-radius: ${dt('tieredmenu.border.radius')};
box-shadow: ${dt('tieredmenu.shadow')};
}
.p-tieredmenu-item-content {
transition: background-color ${dt('transition.duration')}, color ${dt('transition.duration')};
border-radius: ${dt('border.radius.sm')};
transition: background ${dt('transition.duration')}, color ${dt('transition.duration')};
border-radius: ${dt('tieredmenu.item.border.radius')};
color: ${dt('tieredmenu.item.color')};
}
@ -57,8 +45,10 @@ const theme = ({ dt }) => `
overflow: hidden;
position: relative;
color: inherit;
padding: 0.5rem 0.75rem;
padding: ${dt('tieredmenu.item.padding')};
gap: ${dt('tieredmenu.item.gap')};
user-select: none;
outline: 0 none;
}
.p-tieredmenu-item-label {
@ -67,15 +57,14 @@ const theme = ({ dt }) => `
.p-tieredmenu-item-icon {
color: ${dt('tieredmenu.item.icon.color')};
margin-right: 0.5rem;
}
.p-tieredmenu-submenu-icon {
color: ${dt('tieredmenu.item.icon.color')};
color: ${dt('tieredmenu.submenu.icon.color')};
margin-left: auto;
font-size: 0.875rem;
width: 0.875rem;
height: 0.875rem;
font-size: ${dt('tieredmenu.submenu.icon.size')};
width: ${dt('tieredmenu.submenu.icon.size')};
height: ${dt('tieredmenu.submenu.icon.size')};
}
.p-tieredmenu-item.p-focus > .p-tieredmenu-item-content {
@ -83,9 +72,12 @@ const theme = ({ dt }) => `
background: ${dt('tieredmenu.item.focus.background')};
}
.p-tieredmenu-item.p-focus > .p-tieredmenu-item-content .p-tieredmenu-item-icon,
.p-tieredmenu-item.p-focus > .p-tieredmenu-item-content .p-tieredmenu-item-icon {
color: ${dt('tieredmenu.item.icon.focus.color')};
}
.p-tieredmenu-item.p-focus > .p-tieredmenu-item-content .p-tieredmenu-submenu-icon {
color: ${dt('tieredmenu.item.icon.hover.color')};
color: ${dt('tieredmenu.submenu.icon.focus.color')};
}
.p-tieredmenu-item:not(.p-disabled) > .p-tieredmenu-item-content:hover {
@ -93,28 +85,33 @@ const theme = ({ dt }) => `
background: ${dt('tieredmenu.item.focus.background')};
}
.p-tieredmenu-item:not(.p-disabled) > .p-tieredmenu-item-content:hover .p-tieredmenu-item-icon,
.p-tieredmenu-item:not(.p-disabled) > .p-tieredmenu-item-content:hover .p-tieredmenu-item-icon {
color: ${dt('tieredmenu.item.icon.focus.color')};
}
.p-tieredmenu-item:not(.p-disabled) > .p-tieredmenu-item-content:hover .p-tieredmenu-submenu-icon {
color: ${dt('tieredmenu.item.icon.hover.color')};
color: ${dt('tieredmenu.submenu.icon.focus.color')};
}
.p-tieredmenu-item-active > .p-tieredmenu-item-content {
color: ${dt('tieredmenu.item.focus.color')};
background: ${dt('tieredmenu.item.focus.background')};
color: ${dt('tieredmenu.item.active.color')};
background: ${dt('tieredmenu.item.active.background')};
}
.p-tieredmenu-item-active > .p-tieredmenu-item-content .p-tieredmenu-item-icon {
color: ${dt('tieredmenu.item.icon.active.color')};
}
.p-tieredmenu-item-active > .p-tieredmenu-item-content .p-tieredmenu-item-icon,
.p-tieredmenu-item-active > .p-tieredmenu-item-content .p-tieredmenu-submenu-icon {
color: ${dt('tieredmenu.item.icon.hover.color')};
color: ${dt('tieredmenu.item.icon.active.color')};
}
.p-tieredmenu-separator {
border-top: 1px solid ${dt('tieredmenu.separator.border.color')};
margin: 2px 0;
}
.p-tieredmenu-overlay {
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
box-shadow: ${dt('tieredmenu.shadow')};
}
.p-tieredmenu-enter-from,