comindware.ui
Version:
Comindware Core UI provides the basic components like editors, lists, dropdowns, popups that we so desperately need while creating Marionette-based single-page applications.
1,212 lines (1,005 loc) • 22.7 kB
CSS
/* CSS form and editors
#70787f; // Label text
// disabled label text
// disabled radiobutton circle
#cb4e30; // eroror label text
// eroror border editor
// error border textarea
// error border date-time
// error border bubbles
// form error
#c85e44; // required color symbol
#0575bd // focus border editor
// focus radiobutton circle
// hover bubbles link
// user avatar empty text color
// svg-icons checked
// datetimepicker border arrow
// field question icon
#d3d5d6; // empty editor
#384650; // focus editor
// color chekbox text
// color radiobutton text
#838c92; // border checkbox
// border radiobutton
// border multiselect
#edeff0 // empty border editor
// empty border textarea
// empty border date-time
// empty border bubbles
#b9bcbd // hover border editor
// hover border textarea
// hover border date-time
// hover border bubbles
#9fc4da // border bubbles items
#cccece // border bubbles items disabled
#eaf4f9 // background bubbles items
#f3f3f3 // background bubbles items disabled
#70787F // empty view color text
#aab5be // empty member text color
#d2dbe2 // user avatar box-shadow
// user avatar text color
#fff // user avatar background
// user avatar border
rgba(5,117,189,.5) // user avatar btn
#8d8888; // fill svg icons
#ca4e30 // fill svg icons remove
#4d4d4d // fill svg icons plus
*/
.form-group {
position: relative;
letter-spacing: -.36em;
font-size: 0;
}
/*------------------ Form Label ------------------*/
.form-label {
max-width: 100%;
height: 14px;
line-height: 14px;
letter-spacing: normal;
font-size: 11px;
font-weight: 400;
color: #70787f;
cursor: default;
position: relative;
display: flex;
}
.form-label__txt {
max-width: 100%;
padding: 0;
display: inline-block;
overflow: hidden;
-o-text-overflow: ellipsis;
-ms-text-overflow: ellipsis;
text-overflow: ellipsis;
white-space: nowrap;
position: relative;
}
.form-label__info{
position: relative;
line-height: inherit;
display: none;
}
.form-label__info:not(:empty) {
display: inline-block;
margin-left: 3px;
}
.form-label__info-button {
position: relative;
display: inline-block;
height: 12px;
width: 12px;
}
.form-label__info-button:before {
content: '?';
color: #b0b9c0;
border: 1px solid #c4c9ce;
background: #fff;
width: 10px;
height: 10px;
border-radius: 50%;
font-size: 8px;
line-height: 10px;
font-weight: bold;
position: absolute;
top: 1px;
left: 0;
text-align: center;
cursor: pointer;
}
.form-label__info-button:hover:before {
color: #70787f;
border-color: #70787f;
}
.form-label__info-button:hover:before {
color: #70787f;
border-color: #70787f;
}
.form-label__info-button-anchor{
position:absolute;
width:0;
top:-2px;
bottom:-4px;
left:5px;
}
.form-label__error {
position: relative;
line-height: inherit;
display: none;
}
.error .form-label__error {
display: inline-block;
margin-left: 3px;
}
.form-label__error-button {
position: relative;
display: inline-block;
height: 12px;
width: 12px;
}
.form-label__error-button:before {
content: '!';
color: #cc5336;
border: 1px solid #cb4e30;
background: #fff;
width: 10px;
height: 10px;
border-radius: 50%;
font-size: 8px;
line-height: 10px;
font-weight: bold;
position: absolute;
top: 1px;
left: 0;
text-align: center;
cursor: pointer;
}
.form-label__error-button:hover:before {
color: #b12a23;
border-color: #b12a23;
}
.form-label__error-button-anchor {
position:absolute;
width: 0;
top:-2px;
bottom:-4px;
left:5px;
}
.form-label__tooltip-panel {
min-width: 200px;
max-width: 400px;
padding: 10px;
}
.required .form-label {
padding-left: 10px;
}
.required .form-label::before {
content: '*';
margin: -5px 0 0;
color: #c85e44;
font-size: 14px;
line-height: 14px;
font-weight: 500;
position: absolute;
top: 50%;
left: 0;
}
.disabled .form-label {
color:#70787f;
}
/*---------------// End Form Label //-------------*/
/*------------------ Form Editor ------------------*/
.form-editor {
letter-spacing:normal;
}
.editor {
height: 20px;
line-height: 20px;
font-size: 12px;
position: relative;
color:#384650;
}
.editor:after {
content: '';
position: absolute;
height: 2px;
background: #0575bd;
left:0;
bottom: -1px;
width: 0;
transition: width .4s;
}
.editor_focused:after {
width: 100%;
}
.editor_empty{
color:#d3d5d6;
}
.editor_focused {
color:#384650;
}
.editor_readonly:after,
.editor_disabled:after{
width: 0;
}
.editor_readonly,
.editor_disabled{
cursor: default;
}
.editor_disabled div,
.editor_disabled span,
.editor_disabled input,
.editor_disabled textarea{
cursor: default ;
-webkit-user-select: none ;
-moz-user-select: none ;
user-select: none ;
background-color: transparent;
pointer-events: none;
}
.editor_disabled div.time-view,
.editor_disabled div.date-view {
pointer-events: auto;
}
/* checkbox */
input[type="checkbox"].checkbox {
display: none;
}
.editor_checkbox {
display: inline-block;
max-width: 100%;
padding: 0 0 0 20px;
height: 14px;
line-height: 14px;
}
.editor_checkbox:after {
width: 0;
}
.editor_checkbox.editor_empty{
color:#384650;
}
.checkbox {
width: 14px;
height: 14px;
border-radius: 2px;
margin: 0;
overflow: hidden;
display: block;
position: absolute;
top: 0;
left: 0;
border: solid 1px #838c92;
cursor: pointer;
transition: box-shadow .5s;
}
.editor_focused .checkbox {
box-shadow: 0 0 5px rgba(47,152,248,.5);
}
.editor_readonly .checkbox,
.editor_disabled .checkbox {
filter: alpha(opacity=60);
opacity: .6;
cursor: auto;
}
.checkbox-text {
color: inherit;
cursor: pointer;
line-height: inherit;
overflow: hidden;
text-overflow: ellipsis;
max-width: 100%;
display: inline-block;
white-space: nowrap;
}
.editor_readonly .checkbox-text,
.editor_disabled .checkbox-text {
cursor: default;
}
/* /checkbox */
/* radiobutton */
.editor_radiobutton {
height: 19px;
padding: 0 0 0 19px;
line-height: 19px;
cursor: pointer;
}
.editor_radiobutton:after {
width: 0;
}
.editor_radiobutton.editor_empty{
color:#384650;
}
.radiobutton {
width: 12px;
height: 12px;
margin: 0;
overflow: hidden;
display: block;
position: absolute;
top: 4px;
left: 0;
border: solid 1px #838c92;
border-radius: 50%;
transition: box-shadow .5s;
}
.editor_disabled .radiobutton,
.editor_readonly .radiobutton {
filter: alpha(opacity=60);
opacity: .6;
cursor: default;
}
.editor_focused .radiobutton {
box-shadow: 0 0 5px rgba(47,152,248,.5);
}
.editor_checked .radiobutton:after {
content: '';
position: absolute;
width: 6px;
height: 6px;
border-radius: 50%;
background: #0575bd;
margin: 2px 0 0 2px;
}
.radiobutton-text {
line-height: inherit;
overflow: hidden;
text-overflow: ellipsis;
max-width: 100%;
display: inline-block;
white-space: nowrap;
}
.editor_disabled .radiobutton-text,
.editor_readonly .radiobutton-text {
cursor: default;
}
.editor_disabled .editor_checked .radiobutton:after,
.editor_readonly .editor_checked .radiobutton:after {
background: #70787f;
}
/* /radiobutton/ */
/* input */
.input {
width: 100%;
height: inherit;
margin: 0;
padding: 0 20px 0 0;
display: inline-block;
color: inherit;
font-weight: inherit;
line-height: inherit;
border: 0;
overflow: hidden;
text-overflow: ellipsis;
box-sizing: border-box;
border-bottom:1px solid #edeff0;
vertical-align: top;
background: transparent none 100% 50% no-repeat ;
transition: background, border-color .2s ease-in-out;
}
.input:hover {
border-bottom-color:#b9bcbd;
}
.error .editor .input{
border-bottom-color:#cb4e30;
}
.editor_reference .input{
padding-right: 45px;
}
/* /input/ */
/* textarea */
.editor_textarea {
height: auto;
line-height: 18px;
}
.textarea {
overflow-y: auto;
width: 100%;
min-height: 26px;
padding: 0 0 2px;
resize: none;
border: 0;
margin: 0;
vertical-align: top;
border-bottom: 1px solid #edeff0;
outline: none;
line-height: inherit;
font-size: inherit;
color: inherit;
}
.textarea:hover {
border-bottom-color:#b9bcbd;
}
.error .editor .textarea{
border-bottom-color:#cb4e30;
}
.editor_disabled .textarea,
.editor_readonly .textarea{
border-bottom-color:transparent;
resize: none;
}
/* /textarea/ */
/* Date Time */
.editor_date-time {
padding-right: 16px;
border-bottom: 1px solid #edeff0;
}
.editor_date-time:hover {
border-bottom-color: #b9bcbd
}
.editor_disabled.editor_date-time,
.editor_disabled.editor_date-time:hover,
.editor_readonly.editor_date-time,
.editor_readonly.editor_date-time:hover {
border-bottom-color:transparent;
background:none
}
.error .editor_date-time {
border-bottom-color: #cb4e30;
}
.date-view,
.time-view{
height: 20px;
}
.date-time{
display: inline-block;
}
.editor .date-time .input{
border-bottom-color: transparent;
background: none ;
padding-right: 0;
}
.editor .date-time .input_date{
width: 110px;
}
.editor .date-time .input_time{
width: 90px;
}
.date-time .btn-remove_date,
.date-time .btn-remove_time{
display: none ;
}
/* /Date Time/ */
/* Dropdown */
.input_dropdown{
position: relative;
}
.editor_disabled .input_dropdown,
.editor_disabled .input_dropdown:hover,
.editor_readonly .input_dropdown,
.editor_readonly .input_dropdown:hover{
background: transparent;
}
.dropdown-text{
display: inline-block;
max-width: calc(100% - 16px);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
/* /Dropdown/ */
/* Bubbles */
.editor_bubble{
height: auto;
min-height: 20px;
}
.bubbles {
width: 100%;
height: auto;
min-height: 20px;
overflow: hidden;
padding: 0;
display: flex;
justify-content: flex-start;
align-items: flex-start;
flex-wrap: wrap;
border-bottom:1px solid #edeff0;
}
.bubbles:hover {
border-bottom-color:#b9bcbd;
}
.error .editor .bubbles{
border-bottom-color:#cb4e30;
}
.editor_disabled .bubbles,
.editor_disabled .bubbles:hover,
.editor_readonly .bubbles,
.editor_readonly .bubbles:hover{
border-bottom-color:transparent;
background: transparent;
}
.bubbles__i {
max-width: 100%;
margin: 0 2px 1px 0;
padding: 0 18px 0 10px;
line-height: 17px;
display: inline-block;
vertical-align: top;
font-size: 12px;
position: relative;
border: solid 1px #9fc4da;
border-radius: 2px;
background: #eaf4f9;
flex: 0 0 auto;
}
.editor_disabled .bubbles__i,
.editor_readonly .bubbles__i{
background:#f3f3f3;
border-color:#cccece;
}
.bubbles__link {
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
display: block;
line-height: inherit;
text-decoration: none;
color: inherit;
}
.bubbles__link:hover {
color: #0575bd;
}
.editor_disabled .bubbles__link:hover,
.editor_readonly .bubbles__link:hover {
color: inherit;
cursor: default;
text-decoration: none;
}
.bubbles__form {
flex-grow: 1;
max-width: 100%;
margin: 0;
padding: 0;
line-height: 20px;
display: inline-block;
vertical-align: top;
}
.bubbles__input {
width: 100%;
border: 0;
}
.editor_disabled .bubbles__input,
.editor_readonly .bubbles__input{
pointer-events: none;
}
.bubbles__input.empty{
color: inherit;
}
/* /Bubbles/ */
/* reference-field */
.editor_reference{
}
.dropdown-reference {
height: inherit;
width: 100%;
margin: 0;
}
.reference-field__txt {
max-width: 100%;
padding: 0 28px 0 0;
display: inline-block;
vertical-align: top;
position: relative;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.reference-field__txt-link {
cursor: pointer;
max-width: 100%;
padding: 0 8px 0 0;
display: inline-block;
vertical-align: top;
position: relative;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.editor_disabled .reference-field__txt-link{
color:#384650;
}
.reference-field__edit-btn {
display: inline-block;
cursor: pointer;
width: 22px;
height: 18px;
position: absolute;
top:0;
right: 21px;
vertical-align: top;
border: 1px solid transparent;
border-radius: 2px;
visibility: hidden;
transition: visibility .3s;
}
.editor:hover .reference-field__edit-btn{
visibility: visible;
}
.reference-field__edit-btn:hover {
border-color: #dfe4e8;
background: #f7f6f6;
}
.reference-field__edit-btn:active {
border-color: #abaeb0;
box-shadow: inset 0 1px 5px hsla(0, 0%, 71%, .5);
}
.editor__common-empty-view {
position: absolute;
display: flex;
width: 100%;
height: 100%;
align-items: center;
justify-content: center;
color: #70787F;
min-height: 30px;
font-size: 12px;
font-weight: 400;
}
/* /reference-field/ */
/*-------------// End Form Editor // -------------*/
/*------------------ Form Erorr ------------------*/
.form-error{
font-size: 11px;
color: #cb4e30;
font-weight: 500;
max-width: 100%;
padding: 0;
display: inline-block;
overflow: hidden;
-ms-text-overflow: ellipsis;
text-overflow: ellipsis;
white-space: nowrap;
position: absolute;
left:0;
opacity: 0;
bottom:15px;
transition: all .3s;
}
.error .form-error{
opacity: 1;
bottom:8px;
}
/*-------------// End Form Erorr // -------------*/
/* Avatar editor */
.user-avatar-wrp{
display: inline-block;
position: relative;
width: 82px;
height: 82px;
}
.user-avatar-editor{
position: relative;
display: block;
width: 80px;
height: 80px;
margin: 0;
line-height: 80px;
text-decoration: none;
text-align: center;
border: solid 2px #fff;
border-radius: 50%;
-moz-box-sizing: content-box;
-webkit-box-sizing: content-box;
box-sizing: content-box;
background: #fff no-repeat 50% 50%;
background-size: cover;
-webkit-box-shadow: 0 0 0 1px #d2dbe2;
box-shadow: 0 0 0 1px #d2dbe2;
}
.user-avatar-editor__txt{
font-size: 44px;
color: #d2dbe2;
white-space: nowrap;
overflow: hidden;
text-transform: uppercase;
text-overflow: ellipsis;
}
.user-avatar-editor__btn{
position: absolute;
top: 0;
left: 0;
width: 80px;
height: 80px;
border-radius: 50%;
cursor: pointer;
overflow: hidden;
}
.user-avatar-editor-btn{
position: absolute;
top: 50%;
left: -3px;
right: -3px;
margin-top: -15px;
color: #fff;
font-weight: 600;
font-size: 9px;
background: rgba(5,117,189,.5);
display: inline-block;
white-space: nowrap;
height: 30px;
line-height: 30px;
cursor: pointer;
}
.user-avatar-editor__empty{
position: absolute;
right:0;
top:-3px;
cursor: pointer;
line-height: initial;
font-weight: 600;
font-size: 11px;
color:#0575BD
}
.user-avatar-editor__empty:hover{
color:#cb4e30
}
/* /Avatar editor/ */
/* Member editor */
.users-list{
width:100%;
}
.users-list .popout{
width:100%;
}
.popout-field-user{
width:100%;
height: 20px;
line-height: 20px;
border-bottom:1px solid #edeff0;
transition: border-bottom-color .2s ease-in-out;
}
.popout-field-user:hover{
border-bottom-color: #b9bcbd;
}
.error .editor .popout-field-user{
border-bottom-color:#cb4e30;
}
.editor_disabled .popout-field-user,
.editor_disabled .popout-field-user:hover,
.editor_readonly .popout-field-user,
.editor_readonly .popout-field-user:hover{
border-bottom-color:transparent;
background: transparent;
}
.member-text{
display: inline-block;
position: relative;
padding-right: 18px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-width: 100%;
}
.member-text__empty {
color: #aab5be;
}
.editor_readonly .member-text__empty ,
.editor_disabled .member-text__empty{
cursor: default;
}
/* /Member editor/ */
/* svg icons */
.svg-icons-wrp{
display: inline-block;
position: absolute;
right: 0;
top: 0;
width:20px;
height: 20px;
vertical-align: middle;
overflow: hidden;
}
.editor_readonly .svg-icons-wrp,
.editor_disabled .svg-icons-wrp{
display: none;
}
.svg-icons-wrp_checked{
width:14px;
height: 14px;
display: none;
}
.editor_checked .svg-icons-wrp_checked{
display: inline-block;
}
.editor_check_undefined .checkbox:after{
content: '';
position: absolute;
left: 2px;
top: 2px;
width: 8px;
height: 8px;
background-color: #278ed9;
border-radius: 2px;
}
.svg-icons-wrp_multiselect{
width: 16px;
height: 16px;
top: 5px;
right: 5px;
border: solid 1px #838c92;
opacity: .4;
border-radius: 50%;
}
.multiselect-i_selected .svg-icons-wrp_multiselect{
opacity: 1;
}
.multiselect-i .svg-icons_multiselect{
visibility: hidden;
}
.multiselect-i_selected .svg-icons_multiselect{
visibility: visible;
}
.svg-icons-wrp_add{
left: 0;
right: auto;
top: 50%;
margin-top: -10px;
}
.svg-icons-wrp_bubble{
width: 18px;
height: 18px;
}
.svg-icons-wrp__empty{
overflow: hidden;
width: 20px;
height: 20px;
visibility: hidden;
transition: visibility .3s ease-in-out;
}
.editor_empty:hover .svg-icons-wrp__empty {
visibility: visible;
}
.svg-icons-wrp__remove{
overflow: hidden;
width: 20px;
height: 20px;
position: absolute;
left: 0;
top: 0;
cursor: pointer;
visibility: hidden;
transition: visibility .3s ease-in-out;
}
.svg-icons-wrp__remove_dd-title{
top:2px
}
.editor:hover .svg-icons-wrp__remove {
visibility: visible;
}
.editor .bubbles__i .svg-icons-wrp__remove_bubble,
.editor:hover .bubbles__i .svg-icons-wrp__remove_bubble{
width: 18px;
height: 18px;
visibility: hidden;
}
.editor .bubbles__i:hover .svg-icons-wrp__remove_bubble{
visibility: visible;
}
.dd-list__filter_reference:hover .svg-icons-wrp__remove{
visibility: visible;
}
.editor_empty .svg-icons-wrp__remove,
.editor_empty:hover .svg-icons-wrp__remove,
.editor.editor_empty .svg-icons-wrp__remove,
.editor.editor_empty:hover .svg-icons-wrp__remove{
visibility: hidden;
}
svg.svg-icons{
width:20px;
height: 20px;
pointer-events: none;
}
.svg-icons_remove{
transform: translate(6px, 5px);
}
.svg-icons_remove-bubble{
transform: scale(.8) translate(4px, 4px);
}
.svg-icons_date{
transform: translate(3px, 2px);
}
.svg-icons_time{
transform: translate(2px, 1px);
}
.svg-icons_dropdown{
transform: translate(7px, 6px);
}
.svg-icons_member{
transform: translate(2px, 1px);
}
.svg-icons_checked{
transform: translate(2px, 2px);
}
.svg-icons_multiselect{
transform: scale(.9) translate(1px, 3px)
}
.svg-icons_pencil{
margin-top: -2px;
}
.d-svg-icons{
fill: #8d8888;
}
.d-svg-icons_remove{
fill: #ca4e30;
}
.d-svg-icons_plus{
fill: #4d4d4d;
}
.d-svg-icons_checked{
fill: #0575bd;
}
/* /svg icons/ */
/* ------------------------------ Calendar Bootstrap empty style ------------------------------ */
.editor_date.editor_empty,
.editor_date-time.editor_empty{
color:inherit;
}
.date-view .dropdown__wrp{
width: 220px;
}
.datetimepicker table{
width: 100%;
border-collapse: inherit;
}
.datetimepicker th.switch {
width: inherit;
}
.datetimepicker table tr td span {
display: block;
height: 40px;
line-height: 40px;
border-radius: 0;
}
.datetimepicker td, .datetimepicker th{
text-align: center;
height: 26px;
vertical-align: middle;
border-radius: 0;
border: 1px solid transparent;
font-size: 11px;
-moz-box-sizing: content-box;
box-sizing: content-box;
}
.datetimepicker .table-condensed thead tr:first-child{
height: 32px;
}
.datetimepicker th.switch{
position: absolute;
left:32px;
right:32px;
font-size: 14px;
line-height: 26px;
}
.datetimepicker th.prev,
.datetimepicker th.next{
position: absolute;
width: 32px;
line-height: 28px;
left:0;
}
.datetimepicker th.next{
left:auto;
right:0;
}
.datetimepicker .icon-arrow-left{
display: inline-block;
border-top:5px solid transparent;
border-bottom:5px solid transparent;
border-right:8px solid #0575bd;
}
.datetimepicker .icon-arrow-right{
display: inline-block;
border-top:5px solid transparent;
border-bottom:5px solid transparent;
border-left:8px solid #0575bd;
}
/*-----//------*/
.editor_disabled .input,
.editor_disabled .input:hover,
.editor_readonly .input,
.editor_readonly .input:hover{
border-bottom-color: transparent;
background: none;
}
.input::-ms-clear {
display: none;
}