@use '@angular/material' as mat; @use 'sass:math' as math; @import "constants"; @import "mixins"; @mixin theme-color($theme) { $primary: map-get($theme, primary); $primary-color: mat.get-color-from-palette($primary); $primary-lighter: mat.get-color-from-palette($primary, lighter); $primary-darker: mat.get-color-from-palette($primary, darker); $accent: map-get($theme, accent); $accent-color: mat.get-color-from-palette($accent); $warn: map-get($theme, warn); $warn-color: mat.get-color-from-palette($warn); $foreground: map-get($theme, foreground); $foreground-base: mat.get-color-from-palette($foreground, base); // 1 $foreground-text: mat.get-color-from-palette($foreground, text); //.87 $foreground-secondary-text: mat.get-color-from-palette($foreground, secondary-text); // .54 $foreground-disabled: mat.get-color-from-palette($foreground, disabled); // .38 $foreground-divider: mat.get-color-from-palette($foreground, divider); // .12 $background: map-get($theme, background); $background-color: mat.get-color-from-palette($background, card); $hover-background: rgba(0, 0, 0, 0.04); $hover-background-dark: rgba(255, 255, 255, 0.06); .mat-expansion-panel.flat-expansion-panel { box-shadow: none; padding: 0; border-radius: 2px; background: none; } .mat-progress-bar-buffer { background-color: mat.get-color-from-palette($primary, 100); } .foreground-text { color: $foreground-text !important; white-space: pre-line; overflow-wrap: break-word; word-break: break-all; } .foreground-secondary-text { color: $foreground-secondary-text !important; white-space: pre-line; overflow-wrap: break-word; word-break: break-all; min-height: ($gap*3); } .foreground.mat-progress-spinner circle, .foreground.mat-spinner circle { stroke: $foreground-text; } .mat-toolbar-row, .mat-toolbar-single-row { height: $toolbar-height; } .lnd-info{ border-bottom: 1px solid $foreground-divider; } a { color: $primary-color; } .horizontal-button .fa-icon-small { fill: white; color: white; } .h-active-link { border-bottom: 2px solid white; } .mat-icon-36 { color: $foreground-secondary-text; } .mat-primary .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple), .mat-primary .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled) { background: none; font-weight: 900; } .validation-error-icon { position: relative; top: 2px; left: 4px; } .genseed-message { width:10%; color: $primary-color; } .border-primary { border: 1px solid $primary-color; } .border-accent { border: 1px solid $accent-color; } .border-warn { border: 1px solid $warn-color; } .material-icons.primary { color: $primary-color; } .material-icons.accent { color: $accent-color; } .validation-error-message { position: relative; margin-top: 0.4px; width:100%; color: $warn-color; } .mat-vertical-content { padding: 0 0 ($gap*1.5); } .row-disabled { background-color: gray; .mat-icon { cursor: not-allowed; } } .mat-mdc-card-content, .mat-mdc-card-subtitle, .mat-mdc-card-title { color: $foreground-secondary-text; } .mat-menu-panel { min-width: ($gap*8); } .horizontal-button { height: $toolbar-height; border-radius: 0; &:hover { background: $primary-lighter; color: $accent-color; } } .mat-stroked-button.mat-primary.horizontal-button-show { line-height: ($gap*3); border-radius: 1($gap*2.5); background-color: white; color: $primary-color; &:hover { @include mat.elevation(4); } &:hover .mat-button-focus-overlay { opacity: 0.09; } } .mat-dialog-container { padding: 0; overflow: hidden; border-radius: 2px; } .mat-button, .mat-icon-button, .mat-stroked-button, .mat-mdc-unelevated-button { border-radius: 2px; } .cc-data-block { & .cc-data-title { & .material-icons.mat-icon.mat-mdc-tooltip-trigger { min-height: unset; } font-weight: 500; min-width: 180px; @include for_screensize(phone) { min-width: 100px; } } & .cc-data-value { color: $foreground-base; } } .mat-cell, .mat-header-cell, .mat-footer-cell { border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: $foreground-divider; } .mdc-list-item__primary-text { place-content: flex-start; align-items: center; flex-direction: row; box-sizing: border-box; display: flex; } .svg-donation { opacity: 0.67; width: 1.5rem; margin-right: 10px; } .mat-mdc-option:hover:not(.mdc-list-item--disabled), .mat-mdc-option:focus:not(.mdc-list-item--disabled), .mat-mdc-option.mat-mdc-option-active, .mat-mdc-option.mdc-list-item--selected:not(.mat-mdc-option-multiple):not(.mdc-list-item--disabled), .mat-mdc-menu-item:hover:not([disabled]), .mat-mdc-menu-item.cdk-program-focused:not([disabled]), .mat-mdc-menu-item.cdk-keyboard-focused:not([disabled]), .mat-mdc-menu-item-highlighted:not([disabled]) { color: $primary-color; & .mdc-list-item__primary-text, & .fa-icon, & .fa-icon-small, & .svg-donation { color: $primary-color; opacity: 1; } } table.mat-mdc-table { border: 1px solid $foreground-divider; border-radius: 2px; background: none; & thead tr th:not(:first-of-type), tbody tr td:not(:first-of-type) { padding-left: ($gap*1.25); } & tbody tr td.mat-mdc-cell { @include for_screensize(tab-land) { white-space: unset; } @include for_screensize(tab-port) { white-space: unset; } @include for_screensize(phone) { white-space: unset; } } & tfoot tr td { & p { padding-left: $gap*3; } } &.error-border { border: 1px solid red; box-shadow: 0 3px 1px -2px rgba(255,0,0,.2), 0 2px 2px 0 rgba(255,0,0,.14), 0 1px 5px 0 rgba(255,0,0,.12) !important; } } .bordered-box { border: 1px solid $foreground-divider; border-radius: 2px; background: none; &.read-only { background-color: $hover-background; } } .mat-expansion-panel { border: 1px solid $foreground-divider; &.error-border { border: 1px solid red; } } .more-button { color: $foreground-base; } .mat-icon-button.more-button-short { height: ($gap*2); line-height: ($gap*2); & .mat-icon { line-height: ($gap*2); } } .dashboard-tabs-group { & .mdc-tab__text-label:last-child { padding-right: 0; & .more-button { position: absolute; right: math.div($gap, 2); top: math.div($gap, 2); max-width: ($gap*3); } } } .modal-info-header { color: $foreground-text; font-weight: 500; padding: $gap $gap $gap $gap*2; @include for_screensize(tab-land) { padding: $gap $gap $gap $gap; } @include for_screensize(tab-port) { padding: $gap $gap $gap math.div($gap, 2); } @include for_screensize(phone) { padding: $gap $gap $gap math.div($gap, 4); } & .page-title-img svg { color: $foreground-text; } } .mat-badge-medium.mat-badge-above .mat-badge-content { top: -1px; } .tab-badge { & .mat-badge-content { width: auto; min-width: $badge-size; height: $badge-size; line-height: $badge-size * 1.1; border-radius: $badge-size * 1.2; padding: math.div($gap, 2); overflow: visible; } } .mat-badge-medium.mat-badge-after .mat-badge-content { right: unset; margin-left: $gap !important; @include for_screensize(phone) { margin-left: 0 !important; } } .rtl-select-overlay { min-width: ($gap*22) !important; @include for_screensize(tab-port) { min-width: ($gap*20); } @include for_screensize(phone) { min-width: ($gap*14); } } .table-actions-select { border-color: $foreground-disabled; padding: math.div($gap, 2) $gap; margin: $gap 0; min-height: ($gap*4.5); float: right; min-width: $table-actions-min-width; & .mat-select-placeholder { color: $foreground-text; } } .table-actions-button { min-width: $table-actions-min-width; } .mat-select-panel .mat-option.mat-active { background: none; } .mat-drawer-inner-container { overflow: hidden; } .mat-fa-icon-button { width: ($gap*2.5); height: ($gap*2.5); line-height: ($gap*2.5); } .balances-info-pie-chart { & .legend-label:nth-child(1) .legend-label-color { background-color: mat.get-color-from-palette($primary, 200) !important; } & .legend-label:nth-child(2) .legend-label-color { background-color: mat.get-color-from-palette($primary, 600) !important; } } .dashboard-card { & .dashboard-divider { border-top-width: 2px; } & .mat-mdc-card-header .mat-mdc-card-title { min-height: ($gap*5); margin-bottom: 0 0 $gap 0; } & .dashboard-info-value { font-weight: 700; } & .dashboard-info-title { font-weight: 500; .material-icons.mat-icon.mat-mdc-tooltip-trigger { min-height: math.div($min-form-ctrl-height, 3); } } & .dashboard-node-dot { margin: 0 0 -2px ($gap*1.25); border: 1px solid $foreground-base; } & .dashboard-node-square { display: inline-flex; width: $dot-size; height: $dot-size; margin-right: ($gap*1.25); } & .dashboard-capacity-header { font-weight: 700; } & .mat-icon-button.more-button { width: ($gap*2.5); max-width: ($gap*2.5); } } .color-warn { color: $warn-color; } .fill-warn { fill: $warn-color; } .alert { border: 1px solid $foreground-secondary-text; color: $foreground-base; background-color: $hover-background; &.alert-info { border: 1px solid $blue-color; background-color: $blue-background-color; color: $blue-color; & .alert-icon.ng-fa-icon { color: $blue-color; } & a { color: $blue-color; } } &.alert-warn { border: 1px solid $yellow-alert-color; background-color: $yellow-background-color; color: $yellow-alert-color; & .alert-icon.ng-fa-icon { color: $yellow-alert-color; } & a { color: $yellow-alert-color; } } &.alert-danger { border: 1px solid $red-color; background-color: $red-background-color; color: $red-color; overflow-wrap: break-word; & .alert-icon.ng-fa-icon { color: $red-color; } } &.alert-success { border: 1px solid $green-color; background-color: $green-background-color; color: $green-color; & .alert-icon.ng-fa-icon { color: $green-color; } } } .mat-form-field-appearance-legacy .mat-form-field-prefix .mat-datepicker-toggle-default-icon, .mat-form-field-appearance-legacy .mat-form-field-suffix .mat-datepicker-toggle-default-icon { width: ($gap*2); } .button-link-dashboard { line-height: 0px; font-weight: 600; text-decoration: underline; padding: 0; } .failed-status { color: $warn-color; } .material-icons.icon-failed-status { fill: $warn-color; height: ($gap*2.5); } .svg-fill-primary { fill: $primary-color; } .svg-fill-primary-lighter { fill: $primary-lighter; } .mat-expansion-panel-header[aria-disabled='true'] { color: $foreground-text; } .mat-chip-list-wrapper input.mat-input-element, .mat-chip-list-wrapper .mat-standard-chip { margin: $gap math.div($gap, 4); min-height: ($gap*3); } .dashboard-card-content .underline, .mat-mdc-tab-header .mat-mdc-tab-label-container, .mat-mdc-tab-nav-bar.mat-mdc-tab-header .mat-mdc-tab-link-container { border-bottom: 1px solid $foreground-divider; margin-bottom: $gap; } ngx-charts-bar-vertical, ngx-charts-bar-vertical-2d { & text { fill: $foreground-text; } .ngx-charts .grid-panel.odd rect { fill: none; } } .mat-paginator-container { padding: 0; } .invoice-animation-container { position: relative; width: 100%; -moz-transform: translateY(0%); -ms-transform: translateY(0%); -webkit-transform: translateY(0%); transform: translateY(0%); } .invoice-animation-div { position: relative; display: flex; justify-content: flex-start; } .invoice-animation-div .particles-circle { position: absolute; background-color: $primary-color; width: 30px; height: 30px; top: 10px; left: 50%; margin-top: -13px; margin-left: -45%; z-index: -1; -moz-border-radius: 50%; -webkit-border-radius: 50%; border-radius: 50%; -moz-transform: scale(0); -ms-transform: scale(0); -webkit-transform: scale(0); transform: scale(0); visibility: hidden; } .invoice-animation-div .particles-circle:nth-of-type(odd) { border: solid 2px $primary-color; background-color: transparent; } @keyframes particles-1 { from { transform: scale(1); visibility: visible; } to { left: 199px; top: 201px; transform: scale(0); visibility: hidden; } } .invoice-animation-div .particles-circle:nth-of-type(1) { animation: particles-1 2.5s 0.025s; } @keyframes particles-2 { from { transform: scale(1); visibility: visible; } to { left: -40px; top: 82px; transform: scale(0); visibility: hidden; } } .invoice-animation-div .particles-circle:nth-of-type(2) { animation: particles-2 2.5s 0.05s; } @keyframes particles-3 { from { transform: scale(1); visibility: visible; } to { left: 162px; top: 109px; transform: scale(0); visibility: hidden; } } .invoice-animation-div .particles-circle:nth-of-type(3) { animation: particles-3 2.5s 0.075s; } @keyframes particles-4 { from { transform: scale(1); visibility: visible; } to { left: 223px; top: 78px; transform: scale(0); visibility: hidden; } } .invoice-animation-div .particles-circle:nth-of-type(4) { animation: particles-4 2.5s 0.1s; } @keyframes particles-5 { from { transform: scale(1); visibility: visible; } to { left: 184px; top: 113px; transform: scale(0); visibility: hidden; } } .invoice-animation-div .particles-circle:nth-of-type(5) { animation: particles-5 2.5s 0.125s; } @keyframes particles-6 { from { transform: scale(1); visibility: visible; } to { left: -42px; top: -238px; transform: scale(0); visibility: hidden; } } .invoice-animation-div .particles-circle:nth-of-type(6) { animation: particles-6 2.5s 0.15s; } @keyframes particles-7 { from { transform: scale(1); visibility: visible; } to { left: 150px; top: -98px; transform: scale(0); visibility: hidden; } } .invoice-animation-div .particles-circle:nth-of-type(7) { animation: particles-7 2.5s 0.175s; } @keyframes particles-8 { from { transform: scale(1); visibility: visible; } to { left: 62px; top: 225px; transform: scale(0); visibility: hidden; } } .invoice-animation-div .particles-circle:nth-of-type(8) { animation: particles-8 2.5s 0.2s; } @keyframes particles-9 { from { transform: scale(1); visibility: visible; } to { left: 113px; top: 86px; transform: scale(0); visibility: hidden; } } .invoice-animation-div .particles-circle:nth-of-type(9) { animation: particles-9 2.5s 0.225s; } @keyframes particles-10 { from { transform: scale(1); visibility: visible; } to { left: 229px; top: -127px; transform: scale(0); visibility: hidden; } } .invoice-animation-div .particles-circle:nth-of-type(10) { animation: particles-10 2.5s 0.25s; } @keyframes particles-11 { from { transform: scale(1); visibility: visible; } to { left: 243px; top: -106px; transform: scale(0); visibility: hidden; } } .invoice-animation-div .particles-circle:nth-of-type(11) { animation: particles-11 2.5s 0.275s; } @keyframes particles-12 { from { transform: scale(1); visibility: visible; } to { left: -168px; top: 138px; transform: scale(0); visibility: hidden; } } .invoice-animation-div .particles-circle:nth-of-type(12) { animation: particles-12 2.5s 0.3s; } @keyframes particles-13 { from { transform: scale(1); visibility: visible; } to { left: -124px; top: 62px; transform: scale(0); visibility: hidden; } } .invoice-animation-div .particles-circle:nth-of-type(13) { animation: particles-13 2.5s 0.325s; } @keyframes particles-14 { from { transform: scale(1); visibility: visible; } to { left: 246px; top: 30px; transform: scale(0); visibility: hidden; } } .invoice-animation-div .particles-circle:nth-of-type(14) { animation: particles-14 2.5s 0.35s; } @keyframes particles-15 { from { transform: scale(1); visibility: visible; } to { left: -22px; top: -171px; transform: scale(0); visibility: hidden; } } .invoice-animation-div .particles-circle:nth-of-type(15) { animation: particles-15 2.5s 0.375s; } @keyframes particles-16 { from { transform: scale(1); visibility: visible; } to { left: -144px; top: 115px; transform: scale(0); visibility: hidden; } } .invoice-animation-div .particles-circle:nth-of-type(16) { animation: particles-16 2.5s 0.4s; } @keyframes particles-17 { from { transform: scale(1); visibility: visible; } to { left: 209px; top: 84px; transform: scale(0); visibility: hidden; } } .invoice-animation-div .particles-circle:nth-of-type(17) { animation: particles-17 2.5s 0.425s; } @keyframes particles-18 { from { transform: scale(1); visibility: visible; } to { left: 84px; top: -190px; transform: scale(0); visibility: hidden; } } .invoice-animation-div .particles-circle:nth-of-type(18) { animation: particles-18 2.5s 0.45s; } @keyframes particles-19 { from { transform: scale(1); visibility: visible; } to { left: -94px; top: 208px; transform: scale(0); visibility: hidden; } } .invoice-animation-div .particles-circle:nth-of-type(19) { animation: particles-19 2.5s 0.475s; } @keyframes particles-20 { from { transform: scale(1); visibility: visible; } to { left: 147px; top: 203px; transform: scale(0); visibility: hidden; } } .invoice-animation-div .particles-circle:nth-of-type(20) { animation: particles-20 2.5s 0.5s; } @keyframes particles-21 { from { transform: scale(1); visibility: visible; } to { left: 178px; top: 206px; transform: scale(0); visibility: hidden; } } .invoice-animation-div .particles-circle:nth-of-type(21) { animation: particles-21 2.5s 0.525s; } @keyframes particles-22 { from { transform: scale(1); visibility: visible; } to { left: -10px; top: -226px; transform: scale(0); visibility: hidden; } } .invoice-animation-div .particles-circle:nth-of-type(22) { animation: particles-22 2.5s 0.55s; } @keyframes particles-23 { from { transform: scale(1); visibility: visible; } to { left: 3px; top: 222px; transform: scale(0); visibility: hidden; } } .invoice-animation-div .particles-circle:nth-of-type(23) { animation: particles-23 2.5s 0.575s; } @keyframes particles-24 { from { transform: scale(1); visibility: visible; } to { left: -182px; top: -44px; transform: scale(0); visibility: hidden; } } .invoice-animation-div .particles-circle:nth-of-type(24) { animation: particles-24 2.5s 0.6s; } @keyframes particles-25 { from { transform: scale(1); visibility: visible; } to { left: -146px; top: 166px; transform: scale(0); visibility: hidden; } } .invoice-animation-div .particles-circle:nth-of-type(25) { animation: particles-25 2.5s 0.625s; } @keyframes particles-26 { from { transform: scale(1); visibility: visible; } to { left: 144px; top: 218px; transform: scale(0); visibility: hidden; } } .invoice-animation-div .particles-circle:nth-of-type(26) { animation: particles-26 2.5s 0.65s; } @keyframes particles-27 { from { transform: scale(1); visibility: visible; } to { left: 48px; top: 222px; transform: scale(0); visibility: hidden; } } .invoice-animation-div .particles-circle:nth-of-type(27) { animation: particles-27 2.5s 0.675s; } @keyframes particles-28 { from { transform: scale(1); visibility: visible; } to { left: -48px; top: 50px; transform: scale(0); visibility: hidden; } } .invoice-animation-div .particles-circle:nth-of-type(28) { animation: particles-28 2.5s 0.7s; } @keyframes particles-29 { from { transform: scale(1); visibility: visible; } to { left: -228px; top: -15px; transform: scale(0); visibility: hidden; } } .invoice-animation-div .particles-circle:nth-of-type(29) { animation: particles-29 2.5s 0.725s; } @keyframes particles-30 { from { transform: scale(1); visibility: visible; } to { left: 91px; top: -199px; transform: scale(0); visibility: hidden; } } .invoice-animation-div .particles-circle:nth-of-type(30) { animation: particles-30 2.5s 0.75s; } @keyframes particles-31 { from { transform: scale(1); visibility: visible; } to { left: -40px; top: 104px; transform: scale(0); visibility: hidden; } } .invoice-animation-div .particles-circle:nth-of-type(31) { animation: particles-31 2.5s 0.775s; } @keyframes particles-32 { from { transform: scale(1); visibility: visible; } to { left: -102px; top: 4px; transform: scale(0); visibility: hidden; } } .invoice-animation-div .particles-circle:nth-of-type(32) { animation: particles-32 2.5s 0.8s; } @keyframes particles-33 { from { transform: scale(1); visibility: visible; } to { left: -26px; top: -89px; transform: scale(0); visibility: hidden; } } .invoice-animation-div .particles-circle:nth-of-type(33) { animation: particles-33 2.5s 0.825s; } @keyframes particles-34 { from { transform: scale(1); visibility: visible; } to { left: -151px; top: -149px; transform: scale(0); visibility: hidden; } } .invoice-animation-div .particles-circle:nth-of-type(34) { animation: particles-34 2.5s 0.85s; } @keyframes particles-35 { from { transform: scale(1); visibility: visible; } to { left: 186px; top: 200px; transform: scale(0); visibility: hidden; } } .invoice-animation-div .particles-circle:nth-of-type(35) { animation: particles-35 2.5s 0.875s; } .wiggle { animation: 0.5s wiggle ease-in-out infinite; } @keyframes wiggle { 0% { transform: rotate(-3deg); } 20% { transform: rotate(20deg); } 40% { transform: rotate(-15deg); } 60% { transform: rotate(5deg);; } 90% { transform: rotate(-1deg);; } 100% { transform: rotate(0deg);; } } .shockwave { animation: shockwaveJump 1s ease-out infinite; &:after { @include afterBg; animation: shockwave 1s .65s ease-out infinite; } &:before { @include afterBg; animation: shockwave 1s .5s ease-out infinite; } } @keyframes shockwaveJump { 0% { transform: scale(1); } 40% { transform: scale(1.08); } 50% { transform: scale(0.98); } 55% { transform: scale(1.02); } 60% { transform: scale(0.98); } 100% { transform: scale(1); } } @keyframes shockwave { 0% { transform: scale(1); box-shadow: 0 0 2px rgba(0,0,0,0.15), inset 0 0 1px rgba(0,0,0,0.15); } 95% { box-shadow: 0 0 50px rgba(0,0,0,0), inset 0 0 30px rgba(0,0,0,0); } 100% { transform: scale(2.25); } } }