@import '_variables';
@import '_mixins';
@import '~primeng/resources/primeng.css';
@import '~primeng/resources/themes/nova-light/theme.css';
@mixin glyphicon-light {
font-family: 'Glyphicons Halflings';
text-decoration: none !important;
color: var(--mainForegroundColor) !important;
font-display: swap;
}
my-edit-button,
my-delete-button,
my-button {
height: max-content;
}
// focus box-shadow for primeng
.ui-inputtext:enabled:focus:not(.ui-state-error) {
box-shadow: #{$focus-box-shadow-form} var(--mainColorLightest) !important;
}
// data table customizations
p-table {
.ui-table-caption {
border: none !important;
background-color: var(--mainBackgroundColor) !important;
.caption {
height: 40px;
display: flex;
align-items: center;
}
}
th {
background-color: var(--mainBackgroundColor) !important;
outline: 0;
}
td, th {
font-family: $main-fonts;
font-size: 15px !important;
color: var(--mainForegroundColor) !important;
}
td {
padding-left: 15px !important;
&:not(.action-cell):not(.expand-cell) {
overflow: hidden !important;
text-overflow: ellipsis !important;
white-space: nowrap !important;
}
}
tr {
outline: 0;
background-color: var(--mainBackgroundColor) !important;
height: 46px;
&.ui-state-highlight {
background-color: var(--submenuColor) !important;
td, td > a {
color: var(--mainForegroundColor) !important;
}
}
}
.ui-table-tbody {
tr {
&:hover {
background-color: var(--submenuColor) !important;
.action-cell {
.dropdown-root,
my-edit-button,
my-delete-button,
my-button {
display: inline-block !important;
}
}
}
td {
border: none !important;
}
&:first-child td {
border-top: none !important;
}
&:last-child td {
border-bottom: none !important;
}
}
.expander {
cursor: pointer;
position: relative;
top: 1px;
}
}
th {
border: none !important;
border-bottom: 1px solid !important;
border-color: var(--submenuColor) !important;
text-align: left !important;
padding: 5px 0 5px 15px !important;
font-weight: $font-semibold !important;
color: var(--mainForegroundColor) !important;
&.ui-sortable-column:hover {
background-color: var(--submenuColor) !important;
border: 1px solid !important;
border-color: var(--submenuColor) !important;
border-width: 0 1px !important;
&:first-child {
border-width: 0 1px 0 0 !important;
}
}
&.ui-state-highlight {
background-color: var(--submenuColor) !important;
.pi {
@extend .glyphicon;
color: #000 !important;
font-size: 11px !important;
top: 0 !important;
&.pi-sort-up {
@extend .glyphicon-triangle-top;
color: var(--mainForegroundColor) !important;
}
&.pi-sort-down {
@extend .glyphicon-triangle-bottom;
color: var(--mainForegroundColor) !important;
}
}
}
}
.action-cell {
width: 250px !important;
padding: 0 !important;
text-align: center;
.dropdown-root,
my-edit-button,
my-delete-button,
my-button {
display: none !important;
margin-left: 5px;
&.show {
display: inline-block !important;
}
// keep displaying on touchscreen
@media not all and (hover: hover) and (pointer: fine) {
display: inline-block !important;
}
:first-child {
margin-left: 0
}
}
}
p-paginator {
.ui-paginator-bottom {
background-color: var(--mainBackgroundColor) !important;
position: relative;
border: none;
border-top: 1px solid !important;
border-color: var(--submenuColor) !important;
height: 40px;
display: flex;
justify-content: center;
align-items: center;
.ui-dropdown {
position: absolute;
top: 3px;
left: 0;
&.ui-state-focus {
box-shadow: #{$focus-box-shadow-form} var(--mainColorLightest);
}
.ui-dropdown-label {
color: var(--inputPlaceholderColor);
}
}
.ui-paginator-current {
position: absolute;
right: 0;
color: var(--inputPlaceholderColor);
}
.ui-paginator-first,
.ui-paginator-prev,
.ui-paginator-next,
.ui-paginator-last {
@include glyphicon-light;
padding: 5px 2px;
height: auto;
outline: none;
font-size: 13px;
top: -1px;
&.focus-within,
&:focus {
box-shadow: #{$focus-box-shadow-form} var(--mainColorLightest);
}
&.ui-state-disabled:hover {
background-color: #fff !important;
}
&.ui-paginator-first {
@extend .glyphicon-step-backward;
}
&.ui-paginator-prev {
@extend .glyphicon-chevron-left;
margin-right: 10px;
}
&.ui-paginator-next {
@extend .glyphicon-chevron-right;
margin-left: 10px;
}
&.ui-paginator-last {
@extend .glyphicon-step-forward;
}
}
.ui-paginator-pages {
height: auto !important;
.ui-paginator-page {
&.focus-within,
&:focus {
box-shadow: #{$focus-box-shadow-form} var(--mainColorLightest) !important;
}
}
a {
color: var(--mainForegroundColor) !important;
font-weight: $font-semibold !important;
margin: 0 5px !important;
outline: 0 !important;
border-radius: 3px !important;
padding: 5px 2px !important;
height: auto !important;
line-height: initial !important;
&.ui-state-active {
&, &:hover, &:active, &:focus {
color: #fff !important;
background-color: var(--mainColor) !important;
}
}
}
}
}
}
}
// overflow data table
@mixin overflow-datatable ($table-min-width, $horizontal-margins) {
p-table {
.ui-table-wrapper {
overflow-x: auto;
max-width: calc(100vw - #{$horizontal-margins * 2});
table {
min-width: $table-min-width;
}
}
p-paginator .ui-paginator-bottom {
display: block;
.ui-paginator-current {
position: relative;
display: block;
}
a, .ui-paginator-pages {
vertical-align: middle;
}
}
}
}
// multiselect customizations
p-multiselect {
.ui-multiselect {
border-color: #C6C6C6;
&:not(.ui-state-disabled) {
&:hover {
border-color: #C6C6C6;
}
&:focus,
&.ui-state-focus {
box-shadow: #{$focus-box-shadow-form} var(--mainColorLightest);
}
}
}
.ui-multiselect-label {
font-size: 15px !important;
padding: 4px 30px 4px 12px !important;
$width: 338px;
width: $width !important;
@media screen and (max-width: $width) {
width: 100% !important;
}
}
.pi.pi-chevron-down{
margin-left: 0 !important;
&::after {
@include select-arrow-down;
right: 0;
margin-top: 6px;
}
}
.ui-chkbox-icon {
//position: absolute !important;
width: 18px;
height: 18px;
//left: 0;
//&::after {
// left: -2px !important;
//}
}
.ui-multiselect-panel .ui-multiselect-items .ui-multiselect-item.ui-state-highlight {
background-color: var(--mainColorLighter);
}
.ui-inputtext:enabled:focus:not(.ui-state-error) {
border-color: var(--mainColorLighter) !important;
box-shadow: none;
}
}
// PrimeNG calendar tweaks
p-calendar .ui-datepicker {
a {
@include disable-default-a-behaviour;
}
.ui-datepicker-header {
.ui-datepicker-year {
margin-left: 5px;
}
.ui-datepicker-next {
@extend .glyphicon-chevron-right;
@include glyphicon-light;
color: #000 !important;
text-align: right;
.pi.pi-chevron-right {
display: none !important;
}
}
.ui-datepicker-prev {
@extend .glyphicon-chevron-left;
@include glyphicon-light;
color: #000 !important;
text-align: left;
.pi.pi-chevron-left {
display: none !important;
}
}
}
.ui-timepicker {
.pi.pi-chevron-up {
@extend .glyphicon-chevron-up;
@include glyphicon-light;
color: #000 !important;
}
.pi.pi-chevron-down {
@extend .glyphicon-chevron-down;
@include glyphicon-light;
color: #000 !important;
}
}
}
p-tablecheckbox:hover div .ui-chkbox-box {
box-shadow: 0 0 0 .1rem rgba(87, 85, 217, .2);
}
.ui-chkbox {
&, .ui-chkbox-box {
width: 18px !important;
height: 18px !important;
}
.ui-chkbox-box {
&.ui-state-active {
border-color: var(--mainColor) !important;
background-color: var(--mainColor) !important;
}
.ui-chkbox-icon {
position: relative;
overflow: visible !important;
&:after {
content: '';
position: absolute;
top: 1px;
left: 6px;
width: 5px;
height: 12px;
opacity: 0;
transform: rotate(45deg) scale(0);
border-right: 2px solid var(--mainBackgroundColor);
border-bottom: 2px solid var(--mainBackgroundColor);
}
&.pi-check:after {
opacity: 1;
transform: rotate(45deg) scale(1);
}
}
}
}
p-inputswitch {
height: 26px;
.ui-inputswitch-checked .ui-inputswitch-slider {
background-color: var(--mainColor) !important;
}
&.small {
height: 20px;
.ui-inputswitch {
width: 2.5em !important;
height: 1.45em !important;
.ui-inputswitch-slider::before {
height: 1em !important;
width: 1em !important;
}
}
.ui-inputswitch-checked .ui-inputswitch-slider::before {
transform: translateX(1em) !important;
}
}
}
p-toast {
.ui-toast {
z-index: z(notification) !important;
.ui-toast-close-icon {
font-family: "Glyphicons Halflings";
opacity: 0;
&:after {
content: "\e014";
}
}
&:hover .ui-toast-close-icon {
opacity: .3;
}
}
.ui-toast-message {
font-family: $main-fonts;
background-color: var(--mainBackgroundColor) !important;
border-radius: 5px;
box-sizing: border-box;
border: 1px solid #EBEEF5 !important;
box-shadow: 0 2px 12px 0 rgba(0, 0 , 0, .1);
overflow: hidden;
&.ui-toast-message-success .glyphicon {
color: #8BC34A !important;
}
&.ui-toast-message-error .glyphicon {
color: #F44336 !important;
}
&.ui-toast-message-warn .glyphicon {
color: #F1680D !important;
}
&.ui-toast-message-info .glyphicon {
color: #03A9F4 !important;
}
.notification-block {
display: flex;
align-items: center;
padding: 5px;
.message {
flex-grow: 1;
h3 {
font-size: 21px;
}
p {
font-size: 15px;
margin-bottom: 0;
}
}
.glyphicon {
font-size: 32px;
margin-right: 5px;
}
}
}
}
.ui-widget {
font-family: $main-fonts !important;
}