. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
| Server IP : 85.13.141.101 / Your IP :
216.73.217.30 [
Web Server : Apache System : Linux dd40236 6.8.0-134-generic #134-Ubuntu SMP PREEMPT_DYNAMIC Fri Jun 26 18:43:11 UTC 2026 x86_64 User : w00ad34b ( 1052) PHP Version : 8.2.30-nmm1 Disable Function : NONE Domains : 430 Domains MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /www/htdocs/w00ad34b/spd-cloud/apps/contacts/css/Properties/ |
Upload File : |
/**
* @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>
*
* @author John Molakvoæ <skjnldsv@protonmail.com>
*
* @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/>.
*
*/
$property-label-min-width: 60px;
$property-label-max-width: 2 * $property-label-min-width;
$property-value-max-width: 250px;
.property {
position: relative;
width: 100%;
// we need this to keep the alignment of the ext and delete/action button
// The flex grow will never go over those values. Therefore we can set
// the max width and keep the right alignment
max-width: $property-label-max-width + $property-value-max-width + 44px;
@include generate-grid-span(1);
justify-self: center;
&--last {
margin-bottom: $grid-height-unit;
}
// no delete/action icon on addressbook selector
&--addressbooks &__actions {
display: none !important;
}
&--without-actions {
padding-right: 44px; // actions menu / button
}
// property row
&__row {
position: relative;
display: flex;
align-items: center;
}
// property label or multiselect within row
&__label,
&__label.multiselect {
flex: 1 0; // min width is 60px, let's grow until 120px
width: $property-label-min-width;
min-width: $property-label-min-width !important; // override multiselect
max-width: $property-label-max-width;
height: $grid-input-height-with-margin;
margin: $grid-input-margin 5px $grid-input-margin 0 !important; // override multiselect
user-select: none;
text-align: right;
background-size: 16px;
line-height: $grid-input-height-with-margin + 1px;
&,
.multiselect__input {
&::placeholder {
text-align: right;
}
+ .multiselect__single {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
}
&:not(.multiselect) {
overflow: hidden;
overflow-x: hidden;
white-space: nowrap;
text-overflow: ellipsis;
opacity: .7;
}
// mouse feedback
.multiselect__tags {
opacity: .7;
}
&:hover,
&:focus,
&:active {
.multiselect__tags {
opacity: 1;
border-color: var(--color-border-dark);
}
}
// read-only mode
&.multiselect--disabled {
&, .multiselect__single {
&, &:hover, &:focus &:active {
border-color: transparent !important;
background-color: var(--color-main-background) !important;
}
}
}
}
&__label.multiselect {
.multiselect__tags {
border: none !important; // override multiselect
.multiselect__single {
padding-right: 24px;
background-repeat: no-repeat;
background-position: center right 4px;
}
}
.multiselect__content-wrapper {
right: 0; // align right
width: auto !important; // grow bigger if content is bigger than the original 100%
min-width: $property-label-max-width; // improve readability on narrow screens
}
@media only screen and (max-width: 768px) {
// align left of screen on narrow views
.multiselect__content-wrapper {
right: auto;
left: 0;
}
}
}
// Property value within row, after label
&__value {
flex: 1 1;
textarea& {
align-self: flex-start;
min-height: 2 * $grid-height-unit - 2*$grid-input-margin;
max-height: 5 * $grid-height-unit - 2*$grid-input-margin;
}
// read-only mode
&:read-only {
border-color: var(--color-border-dark);
}
input&--with-ext {
// ext icon width + 8px padding
padding-right: 24px;
&:hover,
&:focus,
&:active {
~ .property__ext {
opacity: .5;
}
}
}
}
// show ext button on full row hover
&:hover &__ext {
opacity: .5;
}
// External link (tel, mailto, http, ftp...)
&__ext {
position: absolute;
// 8px padding + actions
right: 44px + 8px;
opacity: 0;
&:hover,
&:focus,
&:active {
opacity: .7;
}
}
// Delete property button + actions
&__actions {
z-index: 10;
margin-left: auto !important;
// floating actions next to the title
&--floating {
position: absolute !important;
right: 0;
bottom: 0;
}
}
.property__value {
margin-right: 0;
}
}