1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-08-05 13:55:21 +02:00

feat(ui): portainer base component css change [EE-3381] (#7115)

This commit is contained in:
Chaim Lev-Ari 2022-06-23 09:32:18 +03:00 committed by GitHub
parent 825269c119
commit f78a6568a6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
70 changed files with 999 additions and 1596 deletions

View file

@ -67,7 +67,6 @@ body,
}
.form-section-title {
border-bottom: 1px solid var(--border-form-section-title-color);
margin-top: 5px;
margin-bottom: 15px;
color: var(--text-form-section-title-color);
@ -149,7 +148,7 @@ a[ng-click] {
}
.fa.red-icon {
color: #ae2323;
color: #f04438;
}
.fa.orange-icon {
@ -221,12 +220,13 @@ a[ng-click] {
}
.blocklist-item {
padding: 7px;
margin-bottom: 7px;
padding: 10px;
margin-bottom: 10px;
cursor: pointer;
border: 1px solid var(--border-blocklist-color);
border-radius: 2px;
border: 1px solid var(--border-blocklist);
border-radius: 8px;
box-shadow: var(--shadow-box-color);
margin-right: 10px;
}
.blocklist-item--disabled {
@ -243,6 +243,7 @@ a[ng-click] {
.blocklist-item:hover {
background-color: var(--bg-blocklist-hover-color);
color: var(--text-blocklist-hover-color);
border: 1px solid var(--ui-blue-4);
}
.blocklist-item-box {
@ -379,12 +380,13 @@ a[ng-click] {
}
.panel-body {
padding-top: 30px;
background-color: var(--white-color) fff;
padding: 30px 25px;
background-color: var(--white-color);
border-radius: 8px;
}
.user-box {
margin-right: 25px;
margin-right: 15px;
}
.select-endpoint {

468
app/assets/css/bootstrap-override.css vendored Normal file
View file

@ -0,0 +1,468 @@
/* Main Color UI Override*/
.blue {
background: var(--bg-dashboard-item) !important;
}
/* Button */
.btn {
border-radius: 5px;
}
.btn-primary {
background-color: var(--ui-blue-1);
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active .active {
background-color: var(--ui-blue-2);
}
.btn-danger {
background-color: var(--ui-red-1);
}
.btn-success {
background-color: var(--ui-green-1);
}
/* Toggle switch */
.switch {
position: relative;
display: inline-block;
width: 42px;
height: 25px;
}
.switch input {
opacity: 0;
width: 0;
height: 0;
}
/* Toggle */
.slider {
position: absolute;
cursor: pointer;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: var(--bg-switch-box-color);
-webkit-transition: 0.4s;
transition: 0.4s;
}
.slider:before {
position: absolute;
content: '';
height: 19px;
width: 19px;
left: 3px;
bottom: 3px;
background-color: var(--white-color);
-webkit-transition: 0.4s;
transition: 0.4s;
}
input:checked + .slider {
background-color: var(--ui-blue-1);
}
input:focus + .slider {
box-shadow: 0 0 1px var(--ui-blue-1);
}
input:checked + .slider:before {
-webkit-transform: translateX(17px);
-ms-transform: translateX(17px);
transform: translateX(17px);
}
.slider.round {
border-radius: 25px;
}
.slider.round:before {
border-radius: 50%;
}
/* Checkbox */
.md-checkbox input[type='checkbox']:enabled + label:before {
background-color: var(--bg-checkbox) !important;
border: 1px solid var(--border-checkbox) !important;
border-radius: 5px;
}
.md-checkbox input[type='checkbox']:disabled + label:before {
border-radius: 5px;
}
.md-checkbox input[type='checkbox']:checked + label:before {
background-color: var(--ui-blue-1) !important;
color: var(--ui-blue-1) !important;
border: 1px solid var(--ui-blue-1) !important;
}
.md-checkbox input[type='checkbox']:checked + .checkmark {
border-color: var(--grey-6);
background-color: var(--bg-checkbox);
}
/* Slider */
.rzslider .rz-pointer {
background-color: var(--white-color);
border: 3px solid var(--ui-blue-1);
width: 25px;
height: 25px;
top: -10px;
}
.rzslider .rz-bar {
background-color: var(--ui-grey-1);
height: 8px;
border-radius: 5px;
}
.rzslider .rz-selection {
background-color: var(--ui-blue-1);
}
.rzslider .rz-pointer:after {
display: none;
}
/* Datatable */
.datatable .searchBar {
border: 1px solid var(--border-searchbar);
padding: 5px;
background: var(--bg-searchbar) !important;
border-radius: 5px;
}
.datatable .searchBar input[type='text'] {
border: 0px !important;
}
.datatable .toolBar {
border-radius: 8px;
}
.datatable .footer {
border-bottom-left-radius: 8px;
border-bottom-right-radius: 8px;
padding-bottom: 10px;
}
.datatable .toolBar {
padding-top: 20px !important;
padding-bottom: 20px !important;
}
.toolBar {
display: flex;
flex-direction: row;
}
.toolBar > .toolBarTitle {
flex: auto;
}
.toolBar > .searchBar {
flex: right;
margin-right: 10px;
width: 500px;
height: 30px;
}
.datatable .searchBar {
padding: 4px 10px !important;
font-size: 14px;
}
.toolBar > .actionBar {
flex: right;
margin-right: 10px;
}
.datatable .actionBar {
padding: 0px !important;
}
.toolBar > .settings {
width: 60px;
}
.datatable .toolBar .settings {
margin-right: 5px !important;
}
/* Widget */
.widget .widget-icon i {
color: var(--ui-blue-1);
}
.widget .widget-body table thead {
border-top: 1px solid var(--border-table-color);
}
/* Button Group */
.input-group-addon:first-child {
border-top-left-radius: 5px;
border-bottom-left-radius: 5px;
}
.input-group .form-control:not(:first-child):not(:last-child) {
border-top-right-radius: 5px;
border-bottom-right-radius: 5px;
}
.input-group-btn:last-child .btn {
margin-left: 5px;
border-radius: 5px;
}
.form-control {
border-radius: 5px;
}
.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
background-color: var(--bg-button-group);
border: 1px solid var(--border-button-group);
color: var(--text-button-group);
}
.btn-group .btn-light {
background-color: var(--bg-button-group);
border: 1px solid var(--border-button-group);
color: var(--text-button-group);
}
.btn-group .btn-dangerlight {
background-color: var(--ui-red-2);
border: 1px solid var(--border-button-group);
color: var(--ui-red-1);
}
.btn.active {
box-shadow: none;
}
/* Toaster */
#toast-container > .toast-success {
background-image: url(../images/icon-success.svg) !important;
background-position: top 20px left 20px;
}
#toast-container > .toast-error {
background-image: url(../images/icon-error.svg) !important;
background-position: top 20px left 20px;
}
#toast-container > .toast-warning {
background-image: url(../images/icon-warning.svg) !important;
}
.toast-success .toast-progress {
background-color: var(--ui-green-1);
}
.toast-warning .toast-progress {
background-color: var(--ui-yellow);
}
.toast-error .toast-progress {
background-color: var(--ui-red-1);
}
#toast-container > div {
color: var(--ui-grey-4);
background-color: var(--white-color);
border-radius: 8px;
padding: 20px 20px 20px 80px;
width: 300px;
opacity: 1;
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
filter: alpha(opacity=100);
}
#toast-container > div:hover {
-moz-box-shadow: 0 0 12px var(--ui-grey-4);
-webkit-box-shadow: 0 0 12px var(--ui-grey-4);
box-shadow: 0 0 12px var(--ui-grey-4);
}
.toast-close-button {
color: var(--black-color);
text-decoration: none;
cursor: pointer;
opacity: 0.4;
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);
filter: alpha(opacity=40);
}
.toast-close-button:hover,
.toast-close-button:focus {
color: var(--black-color);
text-decoration: none;
cursor: pointer;
opacity: 0.6;
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=60);
filter: alpha(opacity=60);
}
.toast-title {
color: var(--black-color);
padding: 10px 0px;
}
/* Modal */
.modal-dialog {
width: 450px;
}
.modal-content {
padding: 55px 20px 20px 20px;
background-image: url(../images/icon-warning.svg);
background-repeat: no-repeat;
background-position: top 10px left 10px;
}
.modal-header {
padding: 10px 0px 10px 0px;
border-bottom: none;
}
.modal-header .close {
margin-top: -40px;
}
.modal-header .modal-title {
font-weight: bold;
}
.modal-body {
padding: 10px 0px;
border-bottom: none;
}
.modal-body .bootbox-body {
font-size: 12px;
color: var(--text-bootbox);
}
.modal-footer {
padding: 10px 0px;
border-top: none;
display: flex;
}
.modal-footer .bootbox-cancel {
width: 100%;
}
.modal-footer .bootbox-accept {
width: 100%;
}
.bootbox-checkbox-list {
border: 0px;
}
/* Boxselector */
.boxselector_wrapper input[type='radio']:checked + label,
.box-selector-item input[type='radio']:checked + label {
background: var(--ui-blue-3) !important;
color: black !important;
border-radius: 8px;
border-color: var(--ui-blue-4);
padding: 15px;
box-shadow: none;
}
.boxselector_wrapper input[type='radio']:not(:disabled) + label,
.box-selector-item input[type='radio']:not(:disabled) + label {
background: var(--ui-grey-2);
color: var(--black-color) !important;
border-radius: 8px;
border-color: var(--ui-grey-1);
padding: 15px;
box-shadow: none;
}
.row.header {
background-color: var(--bg-body-color) !important;
margin-bottom: 5px !important;
}
/* Databatle Setting Menu */
.tableMenu {
border: 1px solid var(--border-bootbox);
border-radius: 8px;
}
[data-reach-menu-list],
[data-reach-menu-items] {
background: none;
}
.dropdown-menu {
border-radius: 8px;
}
.dropdown-menu .tableMenu {
border: 0px;
}
/* Myaccount Dropdown Menu */
.myaccount-dropdown {
color: var(--text-body-color);
font-size: 17px;
}
.myaccount-container {
margin-top: -25px;
}
.myaccount-icon {
padding-left: 8px;
}
.myaccount-link {
display: inline;
border: 0px;
background: none;
padding: 10px 0px;
}
/* Status Indicator Label Style */
.label {
border-radius: 8px !important;
}
.label-danger {
background-color: var(--ui-red-1);
}
.label-success {
background-color: var(--ui-green-1);
}
/* Feather Icon */
.feather {
height: 18px;
width: 18px;
position: relative;
top: 3px;
margin-right: 5px;
color: var(--text-body-color);
}

View file

@ -21,3 +21,4 @@ import './app.css';
import './theme.css';
import './vendor-override.css';
import '../fonts/nomad-icon.css';
import './bootstrap-override.css';

View file

@ -94,20 +94,18 @@
/* Fonts */
@font-face {
font-family: 'Montserrat';
src: url('../fonts/montserrat-regular-webfont.eot');
src: url('../fonts/montserrat-regular-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/montserrat-regular-webfont.woff') format('woff'),
url('../fonts/montserrat-regular-webfont.ttf') format('truetype'), url('../fonts/montserrat-regular-webfont.svg#montserratregular') format('svg');
font-family: 'Inter';
src: url('../fonts/Inter-VariableFont.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
@font-face {
font-family: 'Montserrat';
src: url('../fonts/montserrat-regular-webfont.svg') format('svg');
font-family: 'Inter';
src: url('../fonts/Inter-VariableFont.ttf') format('truetype');
}
select {
font-family: Arial, Helvetica, sans-serif;
font-family: Inter, Arial, Helvetica, sans-serif;
}
}
/* Base */
@ -116,7 +114,7 @@ html {
}
body {
background: var(--bg-body-color);
font-family: 'Montserrat';
font-family: 'Inter';
color: var(--text-body-color) !important;
}
.row {
@ -172,9 +170,8 @@ div.input-mask {
-moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
background: var(--bg-widget-color);
border: 1px solid transparent;
border-radius: 2px;
border-color: var(--border-widget-color);
border: 1px solid var(--border-widget);
border-radius: 8px;
}
.widget .widget-header .pagination,
.widget .widget-footer .pagination {
@ -182,9 +179,7 @@ div.input-mask {
}
.widget .widget-header {
color: var(--text-widget-header-color);
background-color: var(--bg-widget-header-color);
padding: 10px 15px;
border-bottom: 1px solid var(--border-widget-color);
line-height: 30px;
}
.widget .widget-header i {
@ -192,6 +187,7 @@ div.input-mask {
}
.widget .widget-body {
padding: 20px;
border-radius: 8px;
}
.widget .widget-body table thead {
background: var(--bg-widget-table-color);

View file

@ -1,5 +1,20 @@
/* Color Variable */
html {
:root {
--ui-blue-1: #0086c9;
--ui-blue-2: #026aa2;
--ui-blue-3: #e0f2fe;
--ui-blue-4: #0ba5ec;
--ui-red-1: #d92d20;
--ui-red-2: #fef3f2;
--ui-green-1: #12b76a;
--ui-yellow: #fdb022;
--ui-grey-1: #d0d5dd;
--ui-grey-2: #f9fafb;
--ui-grey-3: #344054;
--ui-grey-4: #667085;
--ui-grey-5: #101828;
--ui-grey-6: #f2f4f7;
--black-color: #000;
--white-color: #fff;
@ -94,11 +109,9 @@ html {
--orange-1: #e86925;
--BE-only: var(--orange-1);
}
/* Default Theme */
:root {
--bg-card-color: var(--grey-10);
/* Default Theme */
--bg-card-color: var(--white-color);
--bg-main-color: var(--white-color);
--bg-body-color: var(--grey-9);
--bg-checkbox-border-color: var(--grey-49);
@ -109,10 +122,10 @@ html {
--bg-widget-table-color: var(--grey-13);
--bg-header-color: var(--white-color);
--bg-hover-table-color: var(--grey-14);
--bg-switch-box-color: var(--white-color);
--bg-input-group-addon-color: var(--grey-11);
--bg-switch-box-color: var(--ui-grey-1);
--bg-input-group-addon-color: var(--ui-grey-6);
--bg-btn-default-color: var(--white-color);
--bg-blocklist-hover-color: var(--grey-12);
--bg-blocklist-hover-color: var(--ui-blue-3);
--bg-boxselector-color: var(--white-color);
--bg-table-color: var(--white-color);
--bg-md-checkbox-color: var(--grey-12);
@ -143,6 +156,13 @@ html {
--bg-panel-body-color: var(--white-color);
--bg-codemirror-color: var(--white-color);
--bg-codemirror-selected-color: var(--grey-22);
--bg-tooltip-color: var(--ui-grey-5);
--bg-input-sm-color: var(--white-color);
--bg-service-datatable-thead: var(--grey-23);
--bg-app-datatable-thead: var(--grey-23);
--bg-inner-datatable-thead: var(--grey-23);
--bg-service-datatable-tbody: var(--grey-24);
--bg-app-datatable-tbody: var(--grey-24);
--bg-multiselect-color: var(--white-color);
--bg-daterangepicker-color: var(--white-color);
--bg-calendar-color: var(--white-color);
@ -162,6 +182,10 @@ html {
--bg-stepper-item-active: var(--white-color);
--bg-stepper-item-counter: var(--grey-61);
--bg-sortbutton-color: var(--white-color);
--bg-dashboard-item: var(--ui-blue-3);
--bg-searchbar: var(--ui-grey-2);
--bg-inputbox: var(--ui-grey-2);
--bg-dropdown-hover: var(--ui-grey-6);
--text-main-color: var(--grey-7);
--text-body-color: var(--grey-6);
@ -193,14 +217,14 @@ html {
--text-blocklist-item-selected-color: var(--grey-37);
--text-progress-bar-color: var(--grey-27);
--text-pagination-color: var(--grey-26);
--text-pagination-span-color: var(--blue-2);
--text-pagination-span-color: var(--ui-grey-6);
--text-pagination-span-hover-color: var(--blue-4);
--text-ui-select-color: var(--grey-6);
--text-ui-select-hover-color: var(--grey-28);
--text-summary-color: var(--black-color);
--text-multiselect-button-color: var(--grey-29);
--text-multiselect-item-color: var(--grey-30);
--text-tooltip-color: var(--white-color);
--text-sidebar-list-color: var(--grey-56);
--text-rzslider-color: var(--grey-36);
--text-rzslider-limit-color: var(--grey-36);
--text-daterangepicker-end-date: var(--grey-57);
@ -210,6 +234,7 @@ html {
--text-input-autofill-color: var(--black-color);
--text-button-hover-color: var(--grey-6);
--text-small-select-color: var(--grey-25);
--text-bootbox: var(--ui-grey-4);
--border-color: var(--grey-42);
--border-widget-color: var(--grey-43);
@ -244,6 +269,9 @@ html {
--border-tooltip-color: var(--grey-47);
--border-modal: 0px;
--border-sortbutton: var(--grey-8);
--border-bootbox: var(--ui-grey-1);
--border-blocklist: var(--ui-grey-1);
--border-widget: var(--ui-grey-1);
--hover-sidebar-color: var(--grey-37);
--shadow-box-color: 0 3px 10px -2px var(--grey-50);
@ -265,9 +293,13 @@ html {
--text-multiselect-item: var(--grey-30);
--bg-multiselect-helpercontainer: var(--white-color);
--text-input-textarea: var(--white-color);
--bg-service-datatable-thead: var(--grey-23);
--bg-inner-datatable-thead: var(--grey-23);
--bg-service-datatable-tbody: var(--grey-24);
--border-checkbox: var(--ui-grey-1);
--bg-checkbox: var(--white-color);
--border-searchbar: var(--ui-grey-1);
--bg-button-group: var(--white-color);
--border-button-group: var(--ui-grey-1);
--text-button-group: var(--ui-grey-3);
}
:root[theme='dark'] {
@ -337,6 +369,10 @@ html {
--bg-stepper-item-active: var(--grey-1);
--bg-stepper-item-counter: var(--grey-7);
--bg-sortbutton-color: var(--grey-1);
--bg-dashboard-item: var(--grey-3);
--bg-searchbar: var(--grey-1);
--bg-inputbox: var(--grey-2);
--bg-dropdown-hover: var(--grey-3);
--text-main-color: var(--white-color);
--text-body-color: var(--white-color);
@ -368,7 +404,7 @@ html {
--text-blocklist-item-selected-color: var(--white-color);
--text-progress-bar-color: var(--white-color);
--text-pagination-color: var(--white-color);
--text-pagination-span-color: var(--blue-2);
--text-pagination-span-color: var(--ui-grey-6);
--text-pagination-span-hover-color: var(--white-color);
--text-ui-select-color: var(--white-color);
--text-ui-select-hover-color: var(--white-color);
@ -385,6 +421,7 @@ html {
--text-input-autofill-color: var(--grey-8);
--text-button-hover-color: var(--white-color);
--text-small-select-color: var(--grey-7);
--text-bootbox: var(--white-color);
--border-color: var(--grey-3);
--border-widget-color: var(--grey-1);
@ -408,9 +445,7 @@ html {
--border-pagination-color: var(--grey-3);
--border-pagination-span-color: var(--grey-3);
--border-pagination-hover-color: var(--grey-3);
--border-pagination-hover-color: var(--grey-3);
--border-multiselect-button-color: var(--grey-3);
--border-searchbar-color: var(--grey-1);
--border-boxselector-wrapper-hover: 3px solid var(--blue-8);
--border-panel-color: var(--grey-2);
--border-daterangepicker-color: var(--grey-3);
--border-calendar-table: var(--grey-3);
@ -420,6 +455,9 @@ html {
--border-tooltip-color: var(--grey-3);
--border-modal: 0px;
--border-sortbutton: var(--grey-3);
--border-bootbox: var(--ui-grey-3);
--border-blocklist: var(--ui-grey-3);
--border-widget: var(--ui-grey-3);
--hover-sidebar-color: var(--grey-3);
--blue-color: var(--blue-2);
@ -439,9 +477,13 @@ html {
--text-multiselect-item: var(--white-color);
--bg-multiselect-helpercontainer: var(--grey-1);
--text-input-textarea: var(--grey-1);
--bg-service-datatable-thead: var(--grey-1);
--bg-inner-datatable-thead: var(--grey-1);
--bg-service-datatable-tbody: var(--grey-1);
--border-checkbox: var(--ui-grey-1);
--bg-checkbox: var(--white-color);
--border-searchbar: var(--ui-grey-1);
--bg-button-group: var(--white-color);
--border-button-group: var(--ui-grey-1);
--text-button-group: var(--ui-grey-3);
}
:root[theme='highcontrast'] {
@ -465,7 +507,7 @@ html {
--bg-motd-body-color: var(--black-color);
--bg-blocklist-hover-color: var(--black-color);
--bg-blocklist-item-selected-color: var(--black-color);
--bg-input-group-addon-color: var(--grey-1);
--bg-input-group-addon-color: var(--grey-3);
--bg-table-color: var(--black-color);
--bg-codemirror-gutters-color: var(--black-color);
--bg-codemirror-color: var(--black-color);
@ -512,6 +554,9 @@ html {
--bg-stepper-item-active: var(--black-color);
--bg-stepper-item-counter: var(--grey-3);
--bg-sortbutton-color: var(--grey-1);
--bg-inputbox: var(--black-color);
--bg-searchbar: var(--black-color);
--bg-dropdown-hover: var(--black-color);
--text-main-color: var(--white-color);
--text-body-color: var(--white-color);
@ -554,7 +599,8 @@ html {
--text-btn-default-color: var(--white-color);
--text-small-select-color: var(--white-color);
--text-multiselect-item-color: var(--white-color);
--text-pagination-span-color: var(--blue-2);
--text-pagination-span-color: var(--ui-grey-6);
--text-bootbox: var(--white-color);
--border-color: var(--grey-55);
--border-widget-color: var(--white-color);
@ -584,6 +630,9 @@ html {
--border-modal: 1px solid var(--white-color);
--border-blocklist-color: var(--white-color);
--border-sortbutton: var(--black-color);
--border-bootbox: var(--black-color);
--border-blocklist: var(--white-color);
--border-widget: var(--white-color);
--hover-sidebar-color: var(--blue-9);
--hover-sidebar-color: var(--black-color);
@ -605,4 +654,11 @@ html {
--text-cm-meta-color: var(--white-color);
--text-cm-string-color: var(--red-7);
--text-progress-bar-color: var(--black-color);
--border-checkbox: var(--ui-grey-1);
--bg-checkbox: var(--white-color);
--border-searchbar: var(--ui-grey-1);
--bg-button-group: var(--white-color);
--border-button-group: var(--ui-grey-1);
--text-button-group: var(--ui-grey-3);
}

View file

@ -1,7 +1,7 @@
/* Overide Vendor CSS */
.form-control {
background-color: var(--bg-main-color) !important;
border: 1px solid var(--border-form-control-color);
background-color: var(--bg-inputbox);
color: var(--text-form-control-color);
}
@ -10,7 +10,7 @@
}
.table > thead > tr > th {
border-bottom: 2px solid var(--border-table-color);
border-bottom: 1px solid var(--border-table-color);
}
.table-hover > tbody > tr:hover {
@ -243,6 +243,10 @@ json-tree .branch-preview {
.panel {
border: 1px solid var(--border-panel-color);
background-color: var(--bg-panel-body-color);
border-radius: 8px;
-webkit-box-shadow: 0 4px 4px rgba(0, 0, 0, 0.05);
-moz-box-shadow: 0 4px 4px rgba(0, 0, 0, 0.05);
box-shadow: 0 4px 4px rgba(0, 0, 0, 0.05);
}
.theme-information .col-sm-12 {
@ -381,3 +385,10 @@ fieldset[disabled] .btn {
.multiSelect.inlineBlock button {
margin: 0;
}
.nav-tabs > li.active > a {
border-top: 0px;
border-left: 0px;
border-right: 0px;
border-bottom: 3px solid red;
}