passman/sass/credentials.scss

741 строка
16 KiB
SCSS

/**
* Nextcloud - passman
*
* @copyright Copyright (c) 2016, Sander Brand (brantje@gmail.com)
* @copyright Copyright (c) 2016, Marcos Zuriaga Miguel (wolfi@wolfi.es)
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
//override nc style to fix wrong offset
#inner-app-content {
padding-top: 58px !important; // 45px but +2 because of borders
height: 100%;
width: 100%;
display: flex;
}
//fix for different heights of passwordicon
.icon-image-size{
width: 16px;
}
//fix for ui-element behind Background
.angularjs-datetime-picker{
z-index: 1000;
}
.link{
color:var(--color-primary);
cursor: pointer;
span {
cursor: pointer;
}
}
//this fixes the scrollbars, because passman-contols are shown above the sidebar.
#app-sidebar{
height: auto;
.sidebar{
display: flex;
.sidebar-icon {
margin-right: 15px;
.icon-image-size{
width: 44px;
}
i {
width: 44px;
}
}
.sidebar-label{
float:right;
}
}
}
.vaultlist_sidebar_hidden{
width: 100vw !important;
margin-left: 0px !important;
}
#app-content {
position: sticky;
@media only screen and (max-width: 1024px) {
width: 100vw;
}
@media only screen and (min-width: 1025px) {
width: calc(100vw - 300px);
}
overflow-x: hidden;
//width: 100%;
#app-content-wrapper {
height: 100%;
display:flex;
//hack for missing separatorbar when app-sidebar is opened
width: 100%;
padding-right: 15px;
#passman-controls {
text-align: center;
&.sidebar-shown {
//padding-right: 27% !important;
.title {
@media screen and (max-width: 765px) {
display: none;
}
@media screen and (min-width: 769px) and (max-width: 1120px) {
display: none;
}
}
}
border-bottom: 1px solid #c9c9c9;
}
.title {
text-align: center;
display: inline-block;
font-weight: bold;
margin-top: 10px;
@media screen and (max-width: 820px) {
display: none;
}
}
.breadcrumb {
float: left;
}
.actions.creatable {
float: left;
overflow: hidden;
.bubble {
position: relative;
width: 185px;
@include border-radius(5px);
box-shadow: 0 1px 10px rgba(50, 50, 50, .7);
ul {
li {
padding-left: 10px;
}
.menuitem {
font-size: 12px;
display: inline;
}
}
}
.bubble:after {
right: inherit;
left: 10px;
top: -19px;
}
}
.viewModes {
float: right;
margin-right: 5px;
margin-top: 3px;
.view-mode:first-child {
@include border-left-radius(5px);
}
.view-mode:last-child {
@include border-right-radius(5px);
}
.view-mode {
display: inline-block;
padding: 7px;
background-color: var(--color-background-dark);
}
.view-mode.active {
display: inline-block;
padding: 7px;
background-color: var(--color-background-darker);
}
.view-mode {
cursor: pointer;
display: inline-block;
padding: 7px;
}
}
.searchboxContainer {
display: inline-block;
visibility: visible;
float: right;
.searchbox {
display: inline-block;
width: calc(100% - 3px);
}
.searchclear {
color: #ccc;
cursor: pointer;
font-size: 18px;
height: 14px;
margin: auto;
position: absolute !important;
right: 10px;
top: 12px;
z-index: 99999999;
}
.searchOptions {
position: relative;
bottom: 5px;
background-color: var(--color-background-dark);
filter: drop-shadow(0 1px 3px var(--color-box-shadow));
padding: 5px;
/*width: calc(100% - 3px);*/
@include border-bottom-radius(3px);
input {
cursor: pointer;
}
}
}
.credential-table {
width: 100%;
tr:hover {
background-color: var(--color-background-hover);
}
tr {
&.selected {
background-color: var(--color-background-hover);
}
.compromised {
background-color: #f74040;
}
.compromised:hover {
background-color: darken(#f74040, 15%);
}
.compromised-list{
display: inline-block;
margin-left: 50px;
.icon{
height: 18px;
}
.text{
font-style: italic;
font-weight: bold;
}
}
td {
cursor: pointer;
padding: 5px;
border-bottom: 1px solid var(--color-border);
.icon {
font-size: 19px;
float: left;
margin-right: 5px;
margin-left: 3px;
}
.icon-more {
display: inline-block;
float: right;
margin-left: 5px;
margin-top: 1px;
opacity: 0.4;
height: 20px;
width: 32px;
cursor: pointer;
}
.icon-more:hover {
opacity: 1;
}
.popovermenu {
margin-top: 25px;
height: 100px;
width: 100px;
right: -2px !important;
box-shadow: 0 1px 10px rgba(50, 50, 50, .7);
ul {
display: block;
width: 100px;
height: 75px;
li {
padding: 0px;
}
.menuitem {
font-size: 12px;
display: inline;
}
}
.action {
padding: 10px;
margin: -10px;
}
}
}
}
}
.tags {
float: right;
.tag {
background-color: var(--color-placeholder-dark);
padding: 4px;
font-size: 12px;
margin-right: 3px;
@include border-radius(5px);
}
.tag:last-child {
margin-right: 8px;
}
}
.grid-view {
width: 100%;
height: 100%;
//margin-top: 44px;
display: flex;
flex-wrap: wrap;
.credential {
display: flex;
width: 100%;
border: 2px solid rgba(240, 240, 240, .9);
margin: 25px;
@include border-radius(10px);
.credential_content {
display: flex;
padding: 2px;
flex-direction: column;
width: 100%;
cursor: pointer;
font-size: 1.75em;
//text-align: center;
.label {
padding-top: 0.5em;
//padding-left: 1em;
padding-right: 1em;
line-height: 1.3em;
word-wrap: break-word;
float: right;
}
.icon{
}
.tags {
margin: 0 0 auto;
text-align: right;
//margin-bottom: 0.5em;
.tag {
color: #000 !important;
margin-top: 5px;
display: inline-block;
left:0;
}
}
}
}
@media all and (min-width: 40em) {
.credential {
width: 40%;
}
}
@media all and (min-width: 58em) {
.credential {
width: 26%;
}
}
@media all and (min-width: 78em) {
.credential {
width: 20%;
}
}
}
.edit_credential {
padding-top: 10px;
label {
display: block;
}
input[type="text"], input[type="password"] {
width: 100%;
}
.compromised-button{
margin-top: 15px;
background-color: #e60000;
color: black;
}
.compromised-details{
margin-top: 15px;
display: flex;
.icon{
float: left;
height: 20px;
}
.text{
padding-left: 5px;
padding-right: 30px;
color: #e9322d;
}
}
.tags {
float: left;
.tag {
background-color: rgba(240, 240, 240, .9);
padding: 4px;
font-size: 11px;
}
}
tags-input {
.tags {
width: 100%;
background-color: var(--color-main-background);
border: 2px solid var(--color-border-maxcontrast);
border-radius: var(--border-radius-large);
box-shadow: unset;
.input {
background-color: var(--color-background-darker);
font-size: var(--default-font-size);
}
}
}
.credential_textarea {
width: 100%;
height: 100px;
}
.password_settings {
label {
overflow: hidden;
input[type="checkbox"] {
width: auto !important;
float: left;
}
.label {
&.sm {
font-size: 12px;
}
float: left;
}
}
.password-settings-padding-left-fix{
padding-left: 0 !important;
}
}
.field-value {
.valueInput {
padding-right: 0;
input {
@include border-right-radius(0);
}
.pw-gen .generate_pw .cell:last-child {
@include border-right-radius(0);
}
}
.selectType {
padding-left: 0;
margin-left: 0px;
select {
@include border-left-radius(0);
}
}
}
.custom_fields, .files {
margin-top: 10px;
table {
width: 100%;
thead {
th.dragger {
width: 3%;
}
th {
color: #fff;
}
th.field_actions {
width: 15%;
}
}
tr:hover {
background-color: transparent;
}
tr {
td.dragger {
width: 3%;
text-align: center;
cursor: move;
cursor: -webkit-grab;
cursor: -moz-grab;
cursor: grab;
}
td.field_actions {
font-size: 13px;
width: 15%;
i {
cursor: pointer;
}
}
td, th {
width: 20%;
padding: 5px;
.editable-has-buttons.editable-input {
width: 55%;
}
}
td {
height: 50px;
vertical-align: middle;
}
}
}
}
.file_tab {
}
.otpText {
padding-right: 10px;
}
.import-selection{
select{
margin-left: 15px;
}
}
}
.credential-revisions {
div.crumb > a {
max-width: initial!important;
}
}
.main_list{
flex:1;
float:left;
height:auto;
overflow:auto;
width:100%;
.share{
overflow:hidden;
}
.nopasswords{
margin-right: auto;
margin-left: auto;
margin-top: 10%;
text-align: center;
}
.belowList{
margin-right: auto;
margin-left: auto;
margin-top: 1%;
text-align: center;
}
}
.app_sidebar {
float:right;
h2 {
margin-bottom: 10px;
font-weight: 400;
overflow: hidden;
text-overflow: ellipsis;
max-width: 90%;
}
.close.icon-close {
position: absolute;
top: 10px;
right: 10px;
cursor: pointer;
}
padding: 10px;
&.item_selected {
height: 25%;
display: inline-block;
}
overflow-y: auto;
.credential-data {
.compromised-details{
margin-top: 15px;
margin-bottom: 15px;
display: flex;
.icon{
float: left;
height: 20px;
}
.text{
padding-left: 5px;
padding-right: 30px;
color: #e9322d;
}
}
.row {
margin-bottom: 11px;
}
.tags {
margin-top: 15px;
margin-bottom: 15px;
float: none;
.tag {
background-color: var(--color-placeholder-dark);
padding: 4px;
margin-right: 3px;
}
}
}
}
}
}
.credential_field {
overflow: hidden;
.cell, .value {
float: left;
}
.value {
&.ellipsis {
}
white-space: nowrap;
text-overflow: ellipsis;
max-width: 100%;
}
.tools {
margin-left: 10px;
margin-top: 8px;
overflow: hidden;
float: left;
.cell {
cursor: pointer;
margin-right: 4px;
}
}
}
.progress {
margin-top: 10px;
height: 20px;
.progress-bar {
position: relative;
height: 20px;
background-image: none;
background-color: #0082c9;
.progress-label {
position: absolute;
top: 0;
z-index: 2;
text-align: center;
width: 100%;
}
}
}
.loaderContainer {
height: 140px;
width: 120px;
margin-top: 30px;
margin-left: -60px;
top: 30%;
left: 50%;
position: absolute;
}
.loaderContainer .text {
width: 120px;
text-align: center;
}
.loader {
border-bottom: 10px solid #1d2d44;
border-left: 10px solid #c9c9c9;
border-right: 10px solid #c9c9c9;
border-top: 10px solid #c9c9c9;
height: 120px;
width: 120px;
border-radius: 120px;
animation: 1.1s linear 0s normal none infinite running load8;
}
@keyframes load8 {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
.inputfile {
width: 0.1px;
height: 0.1px;
opacity: 0;
overflow: hidden;
position: absolute;
z-index: -1;
}
.inputfile + label {
font-size: 1.25em;
background-color: var(--color-background-darker);
margin-top: 4px;
padding: 5px;
margin-right: 4px;
border-right: 1px solid #c9c9c9;
}
.inputfile:focus + label,
.inputfile + label:hover {
background-color: var(--color-background-dark);
}
.inputfile + label {
cursor: pointer; /* "hand" cursor */
}
.btn-danger {
color: #000000;
background-color: #ff0000;
}
.icon-label {
overflow: hidden;
display: flex;
input {
//width: calc(100% - 28px) !important;
//width: 100% !important;
//width: inherit !important;
float: left;
cursor: text;
font-family: inherit;
outline: none;
margin: 3px 0 3px 0;
padding: 7px 6px 5px;
@include border-left-radius(0)
}
.icon-picker {
float: left;
margin-top: 3px;
.cell {
height: 92%;
padding: 7px 12px 2px 12px;
font-size: 14px;
border: 2px solid var(--color-border-maxcontrast);
background-color: var(--color-background-dark);
cursor: pointer;
@include border-left-radius(6px);
}
.cell:hover {
color: rgb(0, 102, 255);
}
}
}