feat:#47 updated primevue theme for sass

This commit is contained in:
Elmar Kresse
2024-03-30 14:43:21 +01:00
parent d58b633159
commit d93287d732
104 changed files with 14548 additions and 0 deletions

View File

@@ -0,0 +1,695 @@
// core
.p-button {
display: inline-flex;
cursor: pointer;
user-select: none;
align-items: center;
vertical-align: bottom;
text-align: center;
overflow: hidden;
position: relative;
}
.p-button-label {
flex: 1 1 auto;
}
.p-button-icon-right {
order: 1;
}
.p-button:disabled {
cursor: default;
}
.p-button-icon-only {
justify-content: center;
}
.p-button-icon-only .p-button-label {
visibility: hidden;
width: 0;
flex: 0 0 auto;
}
.p-button-vertical {
flex-direction: column;
}
.p-button-icon-bottom {
order: 2;
}
.p-button-group .p-button {
margin: 0;
}
.p-button-group .p-button:not(:last-child), .p-button-group .p-button:not(:last-child):hover {
border-right: 0 none;
}
.p-button-group .p-button:not(:first-of-type):not(:last-of-type) {
border-radius: 0;
}
.p-button-group .p-button:first-of-type:not(:only-of-type) {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
.p-button-group .p-button:last-of-type:not(:only-of-type) {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
.p-button-group .p-button:focus {
position: relative;
z-index: 1;
}
// theme
.p-button {
color: $buttonTextColor;
background: $buttonBg;
border: $buttonBorder;
padding: $buttonPadding;
font-size: $fontSize;
transition: $formElementTransition;
border-radius: $borderRadius;
outline-color: transparent;
&:not(:disabled):hover {
background: $buttonHoverBg;
color: $buttonTextHoverColor;
border-color: $buttonHoverBorderColor;
}
&:not(:disabled):active {
background: $buttonActiveBg;
color: $buttonTextActiveColor;
border-color: $buttonActiveBorderColor;
}
&.p-button-outlined {
background-color: transparent;
color: $buttonBg;
border: $outlinedButtonBorder;
&:not(:disabled):hover {
background: rgba($buttonBg, $textButtonHoverBgOpacity);
color: $buttonBg;
border: $outlinedButtonBorder;
}
&:not(:disabled):active {
background: rgba($buttonBg, $textButtonActiveBgOpacity);
color: $buttonBg;
border: $outlinedButtonBorder;
}
&.p-button-plain {
color: $plainButtonTextColor;
border-color: $plainButtonTextColor;
&:not(:disabled):hover {
background: $plainButtonHoverBgColor;
color: $plainButtonTextColor;
}
&:not(:disabled):active {
background: $plainButtonActiveBgColor;
color: $plainButtonTextColor;
}
}
}
&.p-button-text {
background-color: transparent;
color: $buttonBg;
border-color: transparent;
&:not(:disabled):hover {
background: rgba($buttonBg, $textButtonHoverBgOpacity);
color: $buttonBg;
border-color: transparent;
}
&:not(:disabled):active {
background: rgba($buttonBg, $textButtonActiveBgOpacity);
color: $buttonBg;
border-color: transparent;
}
&.p-button-plain {
color: $plainButtonTextColor;
&:not(:disabled):hover {
background: $plainButtonHoverBgColor;
color: $plainButtonTextColor;
}
&:not(:disabled):active {
background: $plainButtonActiveBgColor;
color: $plainButtonTextColor;
}
}
}
&:focus-visible {
@include focused();
}
.p-button-label {
transition-duration: $transitionDuration;
}
.p-button-icon-left {
margin-right: $inlineSpacing;
}
.p-button-icon-right {
margin-left: $inlineSpacing;
}
.p-button-icon-bottom {
margin-top: $inlineSpacing;
}
.p-button-icon-top {
margin-bottom: $inlineSpacing;
}
.p-badge {
margin-left: $inlineSpacing;
min-width: $fontSize;
height: $fontSize;
line-height: $fontSize;
color: $buttonBg;
background-color: $buttonTextColor;
}
&.p-button-raised {
box-shadow: $raisedButtonShadow;
}
&.p-button-rounded {
border-radius: $roundedButtonBorderRadius;
}
&.p-button-icon-only {
width: $buttonIconOnlyWidth;
padding: $buttonIconOnlyPadding;
.p-button-icon-left,
.p-button-icon-right {
margin: 0;
}
&.p-button-rounded {
border-radius: 50%;
height: $buttonIconOnlyWidth;
}
}
&.p-button-sm {
@include scaledFontSize($fontSize, $scaleSM);
@include scaledPadding($buttonPadding, $scaleSM);
.p-button-icon {
@include scaledFontSize($primeIconFontSize, $scaleSM);
}
}
&.p-button-lg {
@include scaledFontSize($fontSize, $scaleLG);
@include scaledPadding($buttonPadding, $scaleLG);
.p-button-icon {
@include scaledFontSize($primeIconFontSize, $scaleLG);
}
}
&.p-button-loading-label-only {
.p-button-label {
margin-left: $inlineSpacing;
}
.p-button-loading-icon {
margin-right: 0;
}
}
}
.p-fluid {
.p-button {
width: 100%;
}
.p-button-icon-only {
width: $buttonIconOnlyWidth;
}
.p-button-group {
display: flex;
.p-button {
flex: 1;
}
}
}
.p-button.p-button-secondary, .p-button-group.p-button-secondary > .p-button, .p-splitbutton.p-button-secondary > .p-button {
color: $secondaryButtonTextColor;
background: $secondaryButtonBg;
border: $secondaryButtonBorder;
&:not(:disabled):hover {
background: $secondaryButtonHoverBg;
color: $secondaryButtonTextHoverColor;
border-color: $secondaryButtonHoverBorderColor;
}
&:not(:disabled):focus {
box-shadow: $secondaryButtonFocusShadow;
}
&:not(:disabled):active {
background: $secondaryButtonActiveBg;
color: $secondaryButtonTextActiveColor;
border-color: $secondaryButtonActiveBorderColor;
}
&.p-button-outlined {
background-color: transparent;
color: $secondaryButtonBg;
border: $outlinedButtonBorder;
&:not(:disabled):hover {
background: rgba($secondaryButtonBg, $textButtonHoverBgOpacity);
color: $secondaryButtonBg;
border: $outlinedButtonBorder;
}
&:not(:disabled):active {
background: rgba($secondaryButtonBg, $textButtonActiveBgOpacity);
color: $secondaryButtonBg;
border: $outlinedButtonBorder;
}
}
&.p-button-text {
background-color: transparent;
color: $secondaryButtonBg;
border-color: transparent;
&:not(:disabled):hover {
background: rgba($secondaryButtonBg, $textButtonHoverBgOpacity);
border-color: transparent;
color: $secondaryButtonBg;
}
&:not(:disabled):active {
background: rgba($secondaryButtonBg, $textButtonActiveBgOpacity);
border-color: transparent;
color: $secondaryButtonBg;
}
}
}
.p-button.p-button-info, .p-button-group.p-button-info > .p-button, .p-splitbutton.p-button-info > .p-button {
color: $infoButtonTextColor;
background: $infoButtonBg;
border: $infoButtonBorder;
&:not(:disabled):hover {
background: $infoButtonHoverBg;
color: $infoButtonTextHoverColor;
border-color: $infoButtonHoverBorderColor;
}
&:not(:disabled):focus {
box-shadow: $infoButtonFocusShadow;
}
&:not(:disabled):active {
background: $infoButtonActiveBg;
color: $infoButtonTextActiveColor;
border-color: $infoButtonActiveBorderColor;
}
&.p-button-outlined {
background-color: transparent;
color: $infoButtonBg;
border: $outlinedButtonBorder;
&:not(:disabled):hover {
background: rgba($infoButtonBg, $textButtonHoverBgOpacity);
color: $infoButtonBg;
border: $outlinedButtonBorder;
}
&:not(:disabled):active {
background: rgba($infoButtonBg, $textButtonActiveBgOpacity);
color: $infoButtonBg;
border: $outlinedButtonBorder;
}
}
&.p-button-text {
background-color: transparent;
color: $infoButtonBg;
border-color: transparent;
&:not(:disabled):hover {
background: rgba($infoButtonBg, $textButtonHoverBgOpacity);
border-color: transparent;
color: $infoButtonBg;
}
&:not(:disabled):active {
background: rgba($infoButtonBg, $textButtonActiveBgOpacity);
border-color: transparent;
color: $infoButtonBg;
}
}
}
.p-button.p-button-success, .p-button-group.p-button-success > .p-button, .p-splitbutton.p-button-success > .p-button {
color: $successButtonTextColor;
background: $successButtonBg;
border: $successButtonBorder;
&:not(:disabled):hover {
background: $successButtonHoverBg;
color: $successButtonTextHoverColor;
border-color: $successButtonHoverBorderColor;
}
&:not(:disabled):focus {
box-shadow: $successButtonFocusShadow;
}
&:not(:disabled):active {
background: $successButtonActiveBg;
color: $successButtonTextActiveColor;
border-color: $successButtonActiveBorderColor;
}
&.p-button-outlined {
background-color: transparent;
color: $successButtonBg;
border: $outlinedButtonBorder;
&:not(:disabled):hover {
background: rgba($successButtonBg, $textButtonHoverBgOpacity);
color: $successButtonBg;
border: $outlinedButtonBorder;
}
&:not(:disabled):active {
background: rgba($successButtonBg, $textButtonActiveBgOpacity);
color: $successButtonBg;
border: $outlinedButtonBorder;
}
}
&.p-button-text {
background-color: transparent;
color: $successButtonBg;
border-color: transparent;
&:not(:disabled):hover {
background: rgba($successButtonBg, $textButtonHoverBgOpacity);
border-color: transparent;
color: $successButtonBg;
}
&:not(:disabled):active {
background: rgba($successButtonBg, $textButtonActiveBgOpacity);
border-color: transparent;
color: $successButtonBg;
}
}
}
.p-button.p-button-warning, .p-button-group.p-button-warning > .p-button, .p-splitbutton.p-button-warning > .p-button {
color: $warningButtonTextColor;
background: $warningButtonBg;
border: $warningButtonBorder;
&:not(:disabled):hover {
background: $warningButtonHoverBg;
color: $warningButtonTextHoverColor;
border-color: $warningButtonHoverBorderColor;
}
&:not(:disabled):focus {
box-shadow: $warningButtonFocusShadow;
}
&:not(:disabled):active {
background: $warningButtonActiveBg;
color: $warningButtonTextActiveColor;
border-color: $warningButtonActiveBorderColor;
}
&.p-button-outlined {
background-color: transparent;
color: $warningButtonBg;
border: $outlinedButtonBorder;
&:not(:disabled):hover {
background: rgba($warningButtonBg, $textButtonHoverBgOpacity);
color: $warningButtonBg;
border: $outlinedButtonBorder;
}
&:not(:disabled):active {
background: rgba($warningButtonBg, $textButtonActiveBgOpacity);
color: $warningButtonBg;
border: $outlinedButtonBorder;
}
}
&.p-button-text {
background-color: transparent;
color: $warningButtonBg;
border-color: transparent;
&:not(:disabled):hover {
background: rgba($warningButtonBg, $textButtonHoverBgOpacity);
border-color: transparent;
color: $warningButtonBg;
}
&:not(:disabled):active {
background: rgba($warningButtonBg, $textButtonActiveBgOpacity);
border-color: transparent;
color: $warningButtonBg;
}
}
}
.p-button.p-button-help, .p-button-group.p-button-help > .p-button, .p-splitbutton.p-button-help > .p-button {
color: $helpButtonTextColor;
background: $helpButtonBg;
border: $helpButtonBorder;
&:not(:disabled):hover {
background: $helpButtonHoverBg;
color: $helpButtonTextHoverColor;
border-color: $helpButtonHoverBorderColor;
}
&:not(:disabled):focus {
box-shadow: $helpButtonFocusShadow;
}
&:not(:disabled):active {
background: $helpButtonActiveBg;
color: $helpButtonTextActiveColor;
border-color: $helpButtonActiveBorderColor;
}
&.p-button-outlined {
background-color: transparent;
color: $helpButtonBg;
border: $outlinedButtonBorder;
&:not(:disabled):hover {
background: rgba($helpButtonBg, $textButtonHoverBgOpacity);
color: $helpButtonBg;
border: $outlinedButtonBorder;
}
&:not(:disabled):active {
background: rgba($helpButtonBg, $textButtonActiveBgOpacity);
color: $helpButtonBg;
border: $outlinedButtonBorder;
}
}
&.p-button-text {
background-color: transparent;
color: $helpButtonBg;
border-color: transparent;
&:not(:disabled):hover {
background: rgba($helpButtonBg, $textButtonHoverBgOpacity);
border-color: transparent;
color: $helpButtonBg;
}
&:not(:disabled):active {
background: rgba($helpButtonBg, $textButtonActiveBgOpacity);
border-color: transparent;
color: $helpButtonBg;
}
}
}
.p-button.p-button-danger, .p-button-group.p-button-danger > .p-button, .p-splitbutton.p-button-danger > .p-button {
color: $dangerButtonTextColor;
background: $dangerButtonBg;
border: $dangerButtonBorder;
&:not(:disabled):hover {
background: $dangerButtonHoverBg;
color: $dangerButtonTextHoverColor;
border-color: $dangerButtonHoverBorderColor;
}
&:not(:disabled):focus {
box-shadow: $dangerButtonFocusShadow;
}
&:not(:disabled):active {
background: $dangerButtonActiveBg;
color: $dangerButtonTextActiveColor;
border-color: $dangerButtonActiveBorderColor;
}
&.p-button-outlined {
background-color: transparent;
color: $dangerButtonBg;
border: $outlinedButtonBorder;
&:not(:disabled):hover {
background: rgba($dangerButtonBg, $textButtonHoverBgOpacity);
color: $dangerButtonBg;
border: $outlinedButtonBorder;
}
&:not(:disabled):active {
background: rgba($dangerButtonBg, $textButtonActiveBgOpacity);
color: $dangerButtonBg;
border: $outlinedButtonBorder;
}
}
&.p-button-text {
background-color: transparent;
color: $dangerButtonBg;
border-color: transparent;
&:not(:disabled):hover {
background: rgba($dangerButtonBg, $textButtonHoverBgOpacity);
border-color: transparent;
color: $dangerButtonBg;
}
&:not(:disabled):active {
background: rgba($dangerButtonBg, $textButtonActiveBgOpacity);
border-color: transparent;
color: $dangerButtonBg;
}
}
}
@if variable-exists(contrastButtonTextColor) {
.p-button.p-button-contrast, .p-button-group.p-button-contrast > .p-button, .p-splitbutton.p-button-contrast > .p-button {
color: $contrastButtonTextColor;
background: $contrastButtonBg;
border: $contrastButtonBorder;
&:not(:disabled):hover {
background: $contrastButtonHoverBg;
color: $contrastButtonTextHoverColor;
border-color: $contrastButtonHoverBorderColor;
}
&:not(:disabled):focus {
box-shadow: $contrastButtonFocusShadow;
}
&:not(:disabled):active {
background: $contrastButtonActiveBg;
color: $contrastButtonTextActiveColor;
border-color: $contrastButtonActiveBorderColor;
}
&.p-button-outlined {
background-color: transparent;
color: $contrastButtonBg;
border: $outlinedButtonBorder;
&:not(:disabled):hover {
background: rgba($contrastButtonBg, $textButtonHoverBgOpacity);
color: $contrastButtonBg;
border: $outlinedButtonBorder;
}
&:not(:disabled):active {
background: rgba($contrastButtonBg, $textButtonActiveBgOpacity);
color: $contrastButtonBg;
border: $outlinedButtonBorder;
}
}
&.p-button-text {
background-color: transparent;
color: $contrastButtonBg;
border-color: transparent;
&:not(:disabled):hover {
background: rgba($contrastButtonBg, $textButtonHoverBgOpacity);
border-color: transparent;
color: $contrastButtonBg;
}
&:not(:disabled):active {
background: rgba($contrastButtonBg, $textButtonActiveBgOpacity);
border-color: transparent;
color: $contrastButtonBg;
}
}
}
}
.p-button.p-button-link {
color: $linkButtonColor;
background: transparent;
border: transparent;
&:not(:disabled):hover {
background: transparent;
color: $linkButtonHoverColor;
border-color: transparent;
.p-button-label {
text-decoration: $linkButtonTextHoverDecoration;
}
}
&:not(:disabled):focus {
background: transparent;
box-shadow: $linkButtonFocusShadow;
border-color: transparent;
}
&:not(:disabled):active {
background: transparent;
color: $linkButtonColor;
border-color: transparent;
}
}

View File

@@ -0,0 +1,178 @@
@use 'sass:math';
// core
.p-speeddial {
position: absolute;
display: flex;
}
.p-speeddial-button {
z-index: 1;
}
.p-speeddial-list {
margin: 0;
padding: 0;
list-style: none;
display: flex;
align-items: center;
justify-content: center;
transition: top 0s linear 0.2s;
pointer-events: none;
z-index: 2;
}
.p-speeddial-item {
transform: scale(0);
opacity: 0;
transition: transform 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, opacity 0.8s;
will-change: transform;
}
.p-speeddial-action {
display: flex;
align-items: center;
justify-content: center;
border-radius: 50%;
position: relative;
overflow: hidden;
}
.p-speeddial-circle .p-speeddial-item,
.p-speeddial-semi-circle .p-speeddial-item,
.p-speeddial-quarter-circle .p-speeddial-item {
position: absolute;
}
.p-speeddial-rotate {
transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
will-change: transform;
}
.p-speeddial-mask {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
opacity: 0;
transition: opacity 250ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.p-speeddial-mask-visible {
pointer-events: none;
opacity: 1;
transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.p-speeddial-opened .p-speeddial-list {
pointer-events: auto;
}
.p-speeddial-opened .p-speeddial-item {
transform: scale(1);
opacity: 1;
}
.p-speeddial-opened .p-speeddial-rotate {
transform: rotate(45deg);
}
// theme
.p-speeddial-button {
&.p-button.p-button-icon-only {
width: $speedDialButtonWidth;
height: $speedDialButtonHeight;
.p-button-icon {
font-size: $speedDialButtonIconFontSize;
}
.p-icon {
width: $speedDialButtonIconFontSize;
height: $speedDialButtonIconFontSize;
}
}
}
.p-speeddial-list {
outline: 0 none;
}
.p-speeddial-item {
&.p-focus > .p-speeddial-action {
@include focused();
}
}
.p-speeddial-action {
width: $speedDialActionWidth;
height: $speedDialActionHeight;
background: $speedDialActionBg;
color: $speedDialActionTextColor;
outline-color: transparent;
transition: $actionIconTransition;
&:hover {
background: $speedDialActionHoverBg;
color: $speedDialActionTextHoverColor;
}
}
.p-speeddial-direction-up {
.p-speeddial-item {
margin: math.div($inlineSpacing, 2) 0;
&:first-child {
margin-bottom: $inlineSpacing;
}
}
}
.p-speeddial-direction-down {
.p-speeddial-item {
margin: math.div($inlineSpacing, 2) 0;
&:first-child {
margin-top: $inlineSpacing;
}
}
}
.p-speeddial-direction-left {
.p-speeddial-item {
margin: 0 math.div($inlineSpacing, 2);
&:first-child {
margin-right: $inlineSpacing;
}
}
}
.p-speeddial-direction-right {
.p-speeddial-item {
margin: 0 math.div($inlineSpacing, 2);
&:first-child {
margin-left: $inlineSpacing;
}
}
}
.p-speeddial-circle,
.p-speeddial-semi-circle,
.p-speeddial-quarter-circle {
.p-speeddial-item {
margin: 0;
&:first-child,
&:last-child {
margin: 0;
}
}
}
.p-speeddial-mask {
background-color: $maskBg;
border-radius: $borderRadius;
}

View File

@@ -0,0 +1,50 @@
// core
.p-splitbutton {
display: inline-flex;
position: relative;
}
.p-splitbutton .p-splitbutton-defaultbutton,
.p-splitbutton.p-button-rounded > .p-splitbutton-defaultbutton.p-button,
.p-splitbutton.p-button-outlined > .p-splitbutton-defaultbutton.p-button,
.p-splitbutton.p-button-outlined > .p-splitbutton-defaultbutton.p-button-outlined.p-button:hover {
flex: 1 1 auto;
border-top-right-radius: 0;
border-bottom-right-radius: 0;
border-right: 0 none;
}
.p-splitbutton-menubutton,
.p-splitbutton.p-button-rounded > .p-splitbutton-menubutton.p-button,
.p-splitbutton.p-button-outlined > .p-splitbutton-menubutton.p-button {
display: flex;
align-items: center;
justify-content: center;
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
.p-splitbutton .p-menu {
min-width: 100%;
}
.p-fluid .p-splitbutton {
display: flex;
}
// theme
.p-splitbutton {
border-radius: $borderRadius;
&.p-button-rounded {
border-radius: $roundedButtonBorderRadius;
> .p-button {
border-radius: $roundedButtonBorderRadius;
}
}
&.p-button-raised {
box-shadow: $raisedButtonShadow;
}
}