@import '_variables';
@import '_mixins';
@import '~primeng/resources/primeng.css';
// Taken from old nova light theme
body .p-disabled {
opacity: 0.5;
}
// Checkbox
body .p-checkbox {
display: inline-block;
vertical-align: middle;
margin: 0;
width: 20px;
height: 20px;
}
body .p-checkbox .p-checkbox-box {
border: 1px solid #a6a6a6;
background-color: #ffffff;
width: 20px;
height: 20px;
text-align: center;
border-radius: 3px;
transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s;
}
body .p-checkbox .p-checkbox-box:not(.p-disabled):hover {
border-color: #212121;
}
body .p-checkbox .p-checkbox-box .p-checkbox-icon {
overflow: hidden;
position: relative;
font-size: 18px;
}
// Paginator
body .p-paginator {
background-color: #f4f4f4;
border: 1px solid #c8c8c8;
padding: 0;
}
body .p-paginator .p-paginator-first,
body .p-paginator .p-paginator-prev,
body .p-paginator .p-paginator-next,
body .p-paginator .p-paginator-last {
color: #848484;
height: 2.286em;
min-width: 2.286em;
border: 0 none;
line-height: 2.286em;
padding: 0;
margin: 0;
vertical-align: top;
transition: box-shadow 0.2s;
border-radius: 0;
}
body .p-paginator .p-paginator-first:not(.p-disabled):not(.p-highlight):hover,
body .p-paginator .p-paginator-prev:not(.p-disabled):not(.p-highlight):hover,
body .p-paginator .p-paginator-next:not(.p-disabled):not(.p-highlight):hover,
body .p-paginator .p-paginator-last:not(.p-disabled):not(.p-highlight):hover {
background-color: #e0e0e0;
color: #333333;
}
body .p-paginator .p-paginator-first:focus,
body .p-paginator .p-paginator-prev:focus,
body .p-paginator .p-paginator-next:focus,
body .p-paginator .p-paginator-last:focus {
outline: 0 none;
outline-offset: 0;
box-shadow: 0 0 0 0.2em pvar(--mainColorLightest);
}
body .p-paginator .p-paginator-current {
color: #333333;
height: 2.286em;
min-width: 2.286em;
line-height: 2.286em;
}
body .p-paginator .p-dropdown {
border: 0 none;
}
body .p-paginator .p-dropdown .p-dropdown-trigger, body .p-paginator .p-dropdown .p-dropdown-label {
color: #848484;
}
body .p-paginator .p-dropdown:hover .p-dropdown-trigger, body .p-paginator .p-dropdown:hover .p-dropdown-label {
color: #333333;
}
body .p-paginator .p-paginator-first:before {
position: relative;
top: 1px;
}
body .p-paginator .p-paginator-prev:before {
position: relative;
top: 1px;
}
body .p-paginator .p-paginator-next:before {
position: relative;
top: 1px;
}
body .p-paginator .p-paginator-last:before {
position: relative;
top: 1px;
}
body .p-paginator .p-paginator-pages {
vertical-align: top;
display: inline-block;
padding: 0;
}
body .p-paginator .p-paginator-pages .p-paginator-page {
color: #848484;
height: 2.286em;
min-width: 2.286em;
border: 0 none;
line-height: 2.286em;
padding: 0;
margin: 0;
vertical-align: top;
transition: box-shadow 0.2s;
border-radius: 0;
}
body .p-paginator .p-paginator-pages .p-paginator-page:not(.p-highlight):hover {
background-color: #e0e0e0;
color: #333333;
}
body .p-paginator .p-paginator-pages .p-paginator-page:focus {
outline: 0 none;
outline-offset: 0;
box-shadow: 0 0 0 0.2em pvar(--mainColorLightest);
}
body .p-paginator .p-dropdown {
margin-left: 0.5em;
height: 2.286em;
min-width: auto;
}
// Dropdown
body .p-dropdown {
background: #ffffff;
border: 1px solid #a6a6a6;
transition: border-color 0.2s, box-shadow 0.2s;
}
body .p-dropdown:not(.p-disabled):hover {
border-color: #212121;
}
body .p-dropdown:not(.p-disabled).p-focus {
outline: 0 none;
outline-offset: 0;
box-shadow: 0 0 0 0.2em pvar(--mainColorLightest);
border-color: pvar(--mainColor);
}
body .p-dropdown .p-dropdown-label {
padding-right: 2em;
}
body .p-dropdown .p-dropdown-trigger {
background-color: #ffffff;
width: 2em;
line-height: 2em;
text-align: center;
padding: 0;
color: #848484;
}
body .p-dropdown .p-dropdown-clear-icon {
color: #848484;
}
body .p-dropdown.p-dropdown-clearable .p-dropdown-label {
padding-right: 4em;
}
body .p-dropdown-panel {
padding: 0;
border: 1px solid #c8c8c8;
background-color: #ffffff;
box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
}
body .p-dropdown-panel .p-dropdown-filter-container {
padding: 0.429em 0.857em 0.429em 0.857em;
border-bottom: 1px solid #eaeaea;
color: #333333;
background-color: #ffffff;
margin: 0;
}
body .p-dropdown-panel .p-dropdown-filter-container .p-dropdown-filter {
width: 100%;
padding-right: 2em;
}
body .p-dropdown-panel .p-dropdown-filter-container .p-dropdown-filter-icon {
top: 50%;
margin-top: -0.5em;
right: 1.357em;
color: pvar(--mainColor);
}
body .p-dropdown-panel .p-dropdown-items {
padding: 0;
}
body .p-dropdown-panel .p-dropdown-items .p-dropdown-item, body .p-dropdown-panel .p-dropdown-items .p-dropdown-item-group {
margin: 0;
padding: 0.429em 0.857em;
border: 0 none;
color: #333333;
background-color: transparent;
-moz-border-radius: 0;
-webkit-border-radius: 0;
border-radius: 0;
}
body .p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight,
body .p-dropdown-panel .p-dropdown-items .p-dropdown-item-group.p-highlight {
color: #ffffff;
background-color: pvar(--mainColor);
}
body .p-dropdown-panel .p-dropdown-items .p-dropdown-item:not(.p-highlight):not(.p-disabled):hover,
body .p-dropdown-panel .p-dropdown-items .p-dropdown-item-group:not(.p-highlight):not(.p-disabled):hover {
color: #333333;
background-color: #eaeaea;
}
body p-dropdown.ng-dirty.ng-invalid > .p-dropdown {
border: 1px solid #a80000;
}
// p-toast
body .p-toast .p-toast-message {
box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
margin: 0 0 1em 0;
}
// p-calendar
body .p-datepicker {
padding: 0.857em;
min-width: 20em;
background-color: #ffffff;
color: #333333;
border: 1px solid #a6a6a6;
}
body .p-datepicker:not(.p-datepicker-inline) {
border: 1px solid #c8c8c8;
box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
}
body .p-datepicker:not(.p-disabled) .p-datepicker-header .p-datepicker-prev:focus,
body .p-datepicker:not(.p-disabled) .p-datepicker-header .p-datepicker-next:focus {
outline: 0 none;
outline-offset: 0;
box-shadow: 0 0 0 0.2em pvar(--mainColorLightest);
}
body .p-datepicker:not(.p-disabled) table td a:not(.p-highlight):not(.p-highlight):hover {
background-color: #eaeaea;
}
body .p-datepicker:not(.p-disabled) .p-monthpicker a.p-monthpicker-month:not(.p-highlight):hover {
background-color: #eaeaea;
}
body .p-datepicker .p-datepicker-header {
padding: 0.429em 0.857em 0.429em 0.857em;
background-color: #ffffff;
color: #333333;
-moz-border-radius: 0;
-webkit-border-radius: 0;
border-radius: 0;
}
body .p-datepicker .p-datepicker-header .p-datepicker-prev,
body .p-datepicker .p-datepicker-header .p-datepicker-next {
cursor: pointer;
top: 0;
color: #a6a6a6;
transition: color 0.2s, box-shadow 0.2s;
}
body .p-datepicker .p-datepicker-header .p-datepicker-title {
margin: 0;
padding: 0;
line-height: 1;
}
body .p-datepicker .p-datepicker-header .p-datepicker-title select {
margin-top: -0.35em;
margin-bottom: 0;
transition: color 0.2s, box-shadow 0.2s;
}
body .p-datepicker .p-datepicker-header .p-datepicker-title select:focus {
outline: 0 none;
outline-offset: 0;
box-shadow: 0 0 0 0.2em pvar(--mainColorLightest);
}
body .p-datepicker table {
font-size: 14px;
margin: 0.857em 0 0 0;
}
body .p-datepicker table th {
padding: 0.5em;
}
body .p-datepicker table th.p-datepicker-weekheader {
border-right: 1px solid #a6a6a6;
}
body .p-datepicker table td {
padding: 0.5em;
}
body .p-datepicker table td > a,
body .p-datepicker table td > span {
display: block;
text-align: center;
color: #333333;
padding: 0.5em;
transition: box-shadow 0.2s;
border-radius: 3px;
}
body .p-datepicker table td > a.p-highlight,
body .p-datepicker table td > span.p-highlight {
color: #ffffff;
background-color: pvar(--mainColor);
}
body .p-datepicker table td > a {
cursor: pointer;
}
body .p-datepicker table td > a:focus {
outline: 0 none;
outline-offset: 0;
box-shadow: 0 0 0 0.2em pvar(--mainColorLightest);
}
body .p-datepicker table td.p-datepicker-today > a,
body .p-datepicker table td.p-datepicker-today > span {
background-color: #d0d0d0;
color: #333333;
}
body .p-datepicker table td.p-datepicker-today > a.p-highlight,
body .p-datepicker table td.p-datepicker-today > span.p-highlight {
color: #ffffff;
background-color: pvar(--mainColor);
}
body .p-datepicker table td.p-datepicker-weeknumber {
border-right: 1px solid #a6a6a6;
}
body .p-datepicker .p-datepicker-buttonbar {
border-top: 1px solid #d8dae2;
}
body .p-datepicker .p-timepicker {
border: 0 none;
border-top: 1px solid #d8dae2;
padding: 0.857em;
}
body .p-datepicker .p-timepicker a {
color: #333333;
font-size: 1.286em;
}
body .p-datepicker .p-timepicker a:hover {
color: pvar(--mainColor);
}
body .p-datepicker .p-timepicker span {
font-size: 1.286em;
}
body .p-datepicker .p-monthpicker .p-monthpicker-month {
color: #333333;
}
body .p-datepicker .p-monthpicker .p-monthpicker-month.p-highlight {
color: #ffffff;
background-color: pvar(--mainColor);
}
body .p-datepicker.p-datepicker-timeonly {
padding: 0;
}
body .p-datepicker.p-datepicker-timeonly .p-timepicker {
border-top: 0 none;
}
body .p-datepicker.p-datepicker-multiple-month .p-datepicker-group {
border-right: 1px solid #d8dae2;
padding-right: 0.857em;
padding-left: 0.857em;
padding-top: 0;
padding-bottom: 0;
}
body .p-datepicker.p-datepicker-multiple-month .p-datepicker-group:first-child {
padding-left: 0;
}
body .p-datepicker.p-datepicker-multiple-month .p-datepicker-group:last-child {
padding-right: 0;
border-right: 0 none;
}
body .p-calendar.p-calendar-w-btn .p-inputtext {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
border-right: 0 none;
}
body .p-calendar.p-calendar-w-btn .p-inputtext:enabled:hover:not(.p-error),
body .p-calendar.p-calendar-w-btn .p-inputtext:enabled:focus:not(.p-error) {
border-right: 0 none;
}
body .p-calendar.p-calendar-w-btn .p-datepicker-trigger.p-button {
width: 2.357em;
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
body .ui-fluid .p-calendar.p-calendar-w-btn input.p-inputtext {
width: calc(100% - 2.357em);
}
body p-calendar.ng-dirty.ng-invalid > .p-calendar > .p-inputtext {
border: 1px solid #a80000;
}
body .p-timepicker .p-separator {
margin-left: 0;
min-width: 0.75rem;
}
// auto complete
body .p-autocomplete .p-autocomplete-input {
padding: 0.429em;
}
body .p-autocomplete-panel {
padding: 0;
border: 1px solid #c8c8c8;
background-color: #ffffff;
box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
}
body .p-autocomplete-panel .p-autocomplete-items {
padding: 0;
}
body .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item {
margin: 0;
padding: 0.429em 0.857em;
border: 0 none;
color: #333333;
background-color: transparent;
border-radius: 0;
}
body .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item.p-highlight,
body .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item:hover {
color: #ffffff;
background-color: pvar(--mainColor);
}
body .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-group {
padding: 0.429em 0.857em;
background-color: #d8dae2;
color: #333333;
}
body p-autocomplete.ng-dirty.ng-invalid > .p-autocomplete > .p-inputtext {
border: 1px solid #a80000;
}
// select button
body .p-selectbutton .p-button {
background-color: #dadada;
border: 1px solid #dadada;
color: #333333;
overflow: hidden;
transition: background-color 0.2s, box-shadow 0.2s;
}
body .p-selectbutton .p-button .p-button-icon-left {
color: #666666;
}
body .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover {
background-color: #c8c8c8;
border-color: #c8c8c8;
color: #333333;
}
body .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left {
color: #212121;
}
body .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight).ui-state-focus {
box-shadow: 0 0 0 0.2em #8dcdff;
z-index: 1;
}
body .p-selectbutton .p-button.p-highlight {
background-color: pvar(--mainColor);
border-color: pvar(--mainColor);
color: #ffffff;
}
body .p-selectbutton .p-button.p-highlight .p-button-icon-left {
color: #ffffff;
}
body .p-selectbutton .p-button.p-highlight:not(.p-disabled):hover {
background-color: pvar(--mainColorLighter);
border-color: pvar(--mainColorLighter);
color: #ffffff;
}
body .p-selectbutton .p-button.p-highlight:not(.p-disabled):hover .p-button-icon-left {
color: #ffffff;
}
body .p-selectbutton .p-button:first-child {
border-top-left-radius: 3px;
border-bottom-left-radius: 3px;
}
body .p-selectbutton .p-button:last-child {
border-top-right-radius: 3px;
border-bottom-right-radius: 3px;
}
body p-selectbutton.ng-dirty.ng-invalid .p-button {
border: 1px solid #a80000;
}
//
@mixin glyphicon-light {
font-family: 'Glyphicons Halflings';
text-decoration: none !important;
color: pvar(--mainForegroundColor) !important;
font-display: swap;
}
// data table customizations
p-table {
.p-datatable-header {
border: none !important;
background-color: pvar(--mainBackgroundColor) !important;
.caption {
height: 40px;
width: 100%;
display: inline-flex;
align-items: center;
.input-group-text {
background-color: transparent;
}
}
}
th {
background-color: pvar(--mainBackgroundColor) !important;
outline: 0;
}
td, th {
font-family: $main-fonts;
font-size: 15px !important;
color: pvar(--mainForegroundColor) !important;
}
td {
padding-left: 15px !important;
&.expand-cell {
padding: 10px 15px;
}
&:not(.action-cell):not(.expand-cell):not(.checkbox-cell) {
overflow: hidden !important;
text-overflow: ellipsis !important;
white-space: nowrap !important;
}
}
tr {
outline: 0;
background-color: pvar(--mainBackgroundColor) !important;
height: 46px;
&.p-highlight {
background-color: pvar(--submenuColor) !important;
td, td > a {
color: pvar(--mainForegroundColor) !important;
}
}
}
.p-datatable-tbody {
tr {
&:hover {
background-color: pvar(--submenuColor) !important;
}
td {
border: none !important;
}
&:first-child td {
border-top: none !important;
}
&:last-child td {
border-bottom: none !important;
}
&:focus + tr > td,
&:focus > td {
box-shadow: none !important;
}
}
.expander {
cursor: pointer;
position: relative;
top: 1px;
}
}
th {
border: none !important;
border-bottom: 1px solid !important;
border-color: pvar(--submenuColor) !important;
text-align: left !important;
padding: 5px 0 5px 15px !important;
font-weight: $font-semibold !important;
color: pvar(--mainForegroundColor) !important;
&.p-sortable-column:hover {
background-color: pvar(--submenuColor) !important;
border: 1px solid !important;
border-color: pvar(--submenuColor) !important;
border-width: 0 1px !important;
&:first-child {
border-width: 0 1px 0 0 !important;
}
}
&.p-highlight {
background-color: pvar(--submenuColor) !important;
.pi {
@extend .glyphicon;
color: #000 !important;
font-size: 11px !important;
top: 0 !important;
&.pi-sort-amount-up-alt {
@extend .glyphicon-triangle-top;
color: pvar(--mainForegroundColor) !important;
}
&.pi-sort-amount-down {
@extend .glyphicon-triangle-bottom;
color: pvar(--mainForegroundColor) !important;
}
}
}
}
.action-cell {
width: 250px !important;
padding: 0 !important;
text-align: center;
.dropdown-root,
my-edit-button,
my-delete-button,
my-button {
display: inline-block !important;
margin-left: 5px;
:first-child {
margin-left: 0
}
}
}
p-paginator {
.p-paginator-bottom {
background-color: pvar(--mainBackgroundColor) !important;
position: relative;
border: none;
border-top: 1px solid !important;
border-color: pvar(--submenuColor) !important;
height: 40px;
display: flex;
justify-content: center;
align-items: center;
.p-dropdown {
position: absolute;
top: 10px;
left: 0;
&.p-focus {
box-shadow: #{$focus-box-shadow-form} pvar(--mainColorLightest);
}
.p-label {
color: pvar(--inputPlaceholderColor);
}
}
.p-paginator-current {
position: absolute;
right: 0;
color: pvar(--inputPlaceholderColor);
overflow: visible;
}
.p-paginator-first,
.p-paginator-prev,
.p-paginator-next,
.p-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} pvar(--mainColorLightest);
}
&.p-disabled:hover {
background-color: #fff !important;
}
&.p-paginator-first {
@extend .glyphicon-step-backward;
}
&.p-paginator-prev {
@extend .glyphicon-chevron-left;
margin-right: 10px;
}
&.p-paginator-next {
@extend .glyphicon-chevron-right;
margin-left: 10px;
}
&.p-paginator-last {
@extend .glyphicon-step-forward;
}
}
.p-paginator-pages {
height: auto !important;
.p-paginator-page {
&.focus-within,
&:focus {
box-shadow: #{$focus-box-shadow-form} pvar(--mainColorLightest) !important;
}
color: pvar(--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;
&.p-highlight {
&, &:hover, &:active, &:focus {
color: #fff !important;
background-color: pvar(--mainColor) !important;
}
}
}
}
}
}
}
// overflow data table
@mixin overflow-datatable ($table-min-width, $horizontal-margins, $mobile-paginator: true) {
p-table {
.p-datatable-wrapper {
overflow-x: auto;
max-width: calc(100vw - #{$horizontal-margins * 2});
table {
min-width: $table-min-width;
}
}
@if $mobile-paginator {
p-paginator .p-paginator-bottom {
display: block;
.p-paginator-current {
position: relative;
display: block;
}
a, .p-paginator-pages {
vertical-align: middle;
}
}
}
}
}
// PrimeNG calendar tweaks
p-calendar .p-datepicker {
a {
@include disable-default-a-behaviour;
}
.p-datepicker-header {
.p-datepicker-year {
margin-left: 5px;
}
.p-datepicker-next {
@extend .glyphicon-chevron-right;
@include glyphicon-light;
color: #000 !important;
text-align: right;
.pi.pi-chevron-right {
display: none !important;
}
}
.p-datepicker-prev {
@extend .glyphicon-chevron-left;
@include glyphicon-light;
color: #000 !important;
text-align: left;
.pi.pi-chevron-left {
display: none !important;
}
}
}
.p-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 .p-checkbox-box {
box-shadow: 0 0 0 .1rem rgba(87, 85, 217, .2);
}
.p-checkbox {
&, .p-checkbox-box {
width: 18px !important;
height: 18px !important;
}
.p-checkbox-box {
&.p-highlight {
border-color: pvar(--mainColor) !important;
background-color: pvar(--mainColor) !important;
}
.p-checkbox-icon {
position: relative;
overflow: visible !important;
&:after {
content: '';
position: absolute;
bottom: -5px;
left: -2px;
width: 5px;
height: 12px;
opacity: 0;
transform: rotate(45deg) scale(0);
border-right: 2px solid pvar(--mainBackgroundColor);
border-bottom: 2px solid pvar(--mainBackgroundColor);
}
&.pi-check:after {
opacity: 1;
transform: rotate(45deg) scale(1);
}
}
}
}
p-toast {
.p-toast {
width: auto;
max-width: 300px;
min-width: 200px;
z-index: z(notification) !important;
.p-toast-icon-close {
font-family: "Glyphicons Halflings";
opacity: 0;
position: absolute;
right: 5px;
top: 5px;
&:after {
content: "\e014";
}
}
&:hover .p-toast-icon-close {
opacity: .3;
}
}
.p-toast-message {
font-family: $main-fonts;
background-color: pvar(--mainBackgroundColor) !important;
color: pvar(--mainForegroundColor) !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;
&.p-toast-message-success .glyphicon {
color: #8BC34A !important;
}
&.p-toast-message-error .glyphicon {
color: #F44336 !important;
}
&.p-toast-message-warn .glyphicon {
color: #F1680D !important;
}
&.p-toast-message-info .glyphicon {
color: #03A9F4 !important;
}
.notification-block {
display: flex;
align-items: center;
width: 100%;
padding: 10px 20px;
.message {
flex-grow: 1;
margin-right: 20px;
h3 {
font-size: 21px;
}
p {
font-size: 15px;
margin-bottom: 0;
}
}
.glyphicon {
font-size: 32px;
margin-right: 5px;
}
}
}
}
.p-selectbutton {
.p-button:focus {
outline: none;
}
.p-button-label {
padding: 5px 15px;
font-size: 15px;
font-weight: 600;
}
}