Uploading and preparing the repository to the dev version.

Original unminified source code (dev folder - js, css, less) (fixes #6)
Grunt build system
Multiple identities correction (fixes #9)
Compose html editor (fixes #12)
New general settings - Loading Description
New warning about default admin password
Split general and login screen settings
This commit is contained in:
RainLoop Team 2013-11-16 02:21:12 +04:00
parent afad45137e
commit 4cc2207513
846 changed files with 99453 additions and 2123 deletions

73
dev/Styles/@Main.less Normal file
View file

@ -0,0 +1,73 @@
/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */
@import "../../vendors/bootstrap/less/variables.less";
@import "../../vendors/bootstrap/less/mixins.less";
@import "_Values.less";
@import "../../vendors/bootstrap/less/scaffolding.less";
@import "../../vendors/bootstrap/less/grid.less";
@import "../../vendors/bootstrap/less/layouts.less";
@import "../../vendors/bootstrap/less/type.less";
@import "../../vendors/bootstrap/less/code.less";
@import "../../vendors/bootstrap/less/forms.less";
@import "../../vendors/bootstrap/less/tables.less";
@import "../../vendors/bootstrap/less/dropdowns.less";
@import "../../vendors/bootstrap/less/wells.less";
@import "../../vendors/bootstrap/less/component-animations.less";
@import "../../vendors/bootstrap/less/close.less";
@import "../../vendors/bootstrap/less/buttons.less";
@import "../../vendors/bootstrap/less/button-groups.less";
@import "../../vendors/bootstrap/less/alerts.less";
@import "../../vendors/bootstrap/less/modals.less";
@import "../../vendors/bootstrap/less/tooltip.less";
@import "../../vendors/bootstrap/less/popovers.less";
@import "../../vendors/bootstrap/less/labels-badges.less";
@import "../../vendors/bootstrap/less/progress-bars.less";
@import "../../vendors/bootstrap/less/utilities.less";
@import "_IcoMoonToBoot.less";
@import "_BootstrapFix.less";
@import "_Select2Fix.less";
@import "Ui.less";
@import "Main.less";
@import "Layout.less";
@import "Scroll.less";
@import "SystemDropDown.less";
@import "Login.less";
@import "FolderList.less";
@import "FolderClear.less";
@import "FolderCreate.less";
@import "FolderSystem.less";
@import "Languages.less";
@import "AddAccount.less";
@import "Identity.less";
@import "AdvancedSearch.less";
@import "MessageList.less";
@import "MessageView.less";
@import "Contacts.less";
@import "Compose.less";
@import "Admin.less";
@import "AdminGeneral.less";
@import "AdminDomains.less";
@import "AdminDomain.less";
@import "AdminPackages.less";
@import "AdminPlugins.less";
@import "AdminPlugin.less";
@import "Activate.less";
@import "Settings.less";
@import "SettingsPersonal.less";
@import "SettingsGeneral.less";
@import "SettingsAccounts.less";
@import "SettingsIdentities.less";
@import "SettingsFolders.less";
@import "SettingsThemes.less";
@import "Animations.less";
@import "Editor.less";
@import "_End.less";

12
dev/Styles/Activate.less Normal file
View file

@ -0,0 +1,12 @@
.popups {
.b-activate-content {
width: 700px;
.modal-header {
background-color: #fff;
}
.help-inline {
padding-left: 0px;
}
}
}

View file

@ -0,0 +1,7 @@
.popups {
.b-account-add-content {
.modal-header {
background-color: #fff;
}
}
}

101
dev/Styles/Admin.less Normal file
View file

@ -0,0 +1,101 @@
.b-admin-left {
.b-toolbar {
position: absolute;
top: 0;
right: 0;
left: 0;
height: 34px;
padding: 8px 0 0 @rlLowMargin;
}
.b-content {
position: absolute;
top: 50px + @rlLowMargin + 10px;
bottom: @rlLowMargin;
left: 0;
right: 0;
overflow: hidden;
.content {
-webkit-overflow-scrolling: touch;
}
}
}
.b-admin-menu {
.e-item {
overflow: hidden;
text-decoration: none;
outline: 0;
}
.e-link {
position: relative;
display: block;
height: 30px;
line-height: 29px;
cursor: pointer;
font-size: 18px;
z-index: 1;
cursor: default;
background-color: transparent;
color: #888;
padding: 4px 10px;
outline: 0;
text-decoration: none;
}
.e-item.selectable .e-link {
cursor: pointer;
}
.e-item.selectable {
&:hover .e-link, &.selected .e-link {
background-color: #555;
color: #fff;
}
}
}
.b-admin-right {
.b-toolbar {
position: absolute;
top: 0;
right: 0;
left: 0;
height: 34px;
padding: 8px @rlLowMargin;
color: #fff;
}
.b-content {
position: absolute;
top: 50px + @rlLowMargin;
bottom: @rlLowMargin;
left: 0;
right: @rlLowMargin;
overflow-y: auto;
z-index: 2;
background-color: #fff;
border: @rlMainBorderSize solid @rlMainDarkColor;
.box-shadow(@rlMainShadow);
.border-radius(@rlMainBorderRadius);
.content {
-webkit-overflow-scrolling: touch;
}
}
.b-settings-content {
padding: 20px;
}
}

View file

@ -0,0 +1,43 @@
.b-domain-content {
&.modal {
width: 645px;
}
.modal-header {
background-color: #fff;
}
.modal-body {
position: relative;
overflow: hidden;
width: 1300px;
height: 390px;
}
&.domain-edit .modal-body {
height: 350px;
}
&.domain-white-list-page .modal-body {
left: -640px;
}
.error-desc {
color: red;
margin-left: 10px;
}
.testing-done {
.imap-header, .smtp-header {
color: green;
font-weight: bold;
}
}
.testing-error {
.imap-header, .smtp-header {
color: red;
}
}
}

View file

@ -0,0 +1,60 @@
.b-admin-domains {
.process-place {
width: 600px;
padding: 14px 0;
text-align: center;
visibility: hidden;
}
}
.b-admin-domains-list-table {
width: 600px;
.e-item {
.e-action {
cursor: pointer;
}
.domain-name {
display: inline-block;
word-break: break-all;
.box-sizing(border-box);
}
&.disabled .domain-name {
color: #bbb;
}
.button-delete {
margin-right: 15px;
visibility: hidden;
.opacity(0);
}
.delete-access {
&.button-delete {
visibility: visible;
margin-right: 0;
.opacity(100);
}
}
.delete-domain, .disable-domain {
cursor: pointer;
.opacity(50);
}
&.disabled .disable-domain {
.opacity(50);
}
.delete-domain, .disable-domain {
&:hover {
.opacity(100);
}
}
}
}

View file

@ -0,0 +1,4 @@
.b-admin-general {
}

View file

@ -0,0 +1,43 @@
.b-admin-packages {
.alert {
width: 650px;
}
.process-place {
visibility: hidden;
}
}
.b-admin-packages-list-table {
width: 700px;
.e-item {
.package-img {
font-size: 12px;
margin-right: 2px;
}
.package-name.core {
font-weight: bold;
}
.package-desc {
color: #999;
font-size: 12px;
}
.e-action {
cursor: pointer;
}
.package-release-parent, .package-actions-parent {
text-align: center;
}
.package-actions-parent {
vertical-align: middle;
}
}
}

View file

@ -0,0 +1,30 @@
.b-plugin-content {
&.modal {
width: 660px;
.modal-body {
overflow: auto;
}
}
.modal-header {
background-color: #fff;
}
.information {
display: inline-block;
background-color: #ddd;
border-radius: 10px;
cursor: pointer;
height: 25px;
width: 30px;
text-align: center;
padding-top: 5px;
}
textarea {
width: 400px;
height: 50px;
}
}

View file

@ -0,0 +1,40 @@
.b-admin-plugins {
.process-place {
visibility: hidden;
}
}
.b-admin-plugins-list-table {
&.disabled {
.opacity(50);
background-color: #eee;
}
.e-item {
.e-action {
cursor: pointer;
}
.plugin-img {
font-size: 12px;
margin-right: 2px;
}
&.disabled {
.plugin-img, .plugin-name {
color: #bbb;
}
.disable-plugin {
.opacity(50);
}
}
}
}
.b-admin-plugin-property {
.help-block {
margin-bottom: 5px;
}
}

View file

@ -0,0 +1,16 @@
.popups {
.b-advanced-search-content {
&.modal {
width: 750px;
.control-label {
width: 100px;
}
.controls {
margin-left: 110px;
}
}
.modal-header {
background-color: #fff;
}
}
}

179
dev/Styles/Animations.less Normal file
View file

@ -0,0 +1,179 @@
.rl-strip-animation(@rgba, @stripOpacity) {
background-image: -webkit-linear-gradient(135deg, rgba(@rgba, @rgba, @rgba, @stripOpacity) 25%, transparent 25%,
transparent 50%, rgba(@rgba, @rgba, @rgba, @stripOpacity) 50%, rgba(@rgba, @rgba, @rgba, @stripOpacity) 75%,
transparent 75%, transparent);
background-image: -moz-linear-gradient(135deg, rgba(@rgba, @rgba, @rgba, @stripOpacity) 25%, transparent 25%,
transparent 50%, rgba(@rgba, @rgba, @rgba, @stripOpacity) 50%, rgba(@rgba, @rgba, @rgba, @stripOpacity) 75%,
transparent 75%, transparent);
background-image: -ms-linear-gradient(135deg, rgba(@rgba, @rgba, @rgba, @stripOpacity) 25%, transparent 25%,
transparent 50%, rgba(@rgba, @rgba, @rgba, @stripOpacity) 50%, rgba(@rgba, @rgba, @rgba, @stripOpacity) 75%,
transparent 75%, transparent);
background-image: -o-linear-gradient(135deg, rgba(@rgba, @rgba, @rgba, @stripOpacity) 25%, transparent 25%,
transparent 50%, rgba(@rgba, @rgba, @rgba, @stripOpacity) 50%, rgba(@rgba, @rgba, @rgba, @stripOpacity) 75%,
transparent 75%, transparent);
background-image: linear-gradient(135deg, rgba(@rgba, @rgba, @rgba, @stripOpacity) 25%, transparent 25%,
transparent 50%, rgba(@rgba, @rgba, @rgba, @stripOpacity) 50%, rgba(@rgba, @rgba, @rgba, @stripOpacity) 75%,
transparent 75%, transparent);
}
@keyframes highlight-folder-row {
0% {transform: scale(1); } 50% { transform: scale(1.1); } 100% { transform: scale(1); }
}
@-moz-keyframes highlight-folder-row {
0% { -moz-transform: scale(1); } 50% { -moz-transform: scale(1.1); } 100% { -moz-transform: scale(1); }
}
@-webkit-keyframes highlight-folder-row {
0% { -webkit-transform: scale(1); } 50% { -webkit-transform: scale(1.1); } 100% { -webkit-transform: scale(1); }
}
@-webkit-keyframes textLoadingAnimationKeyFrame {
0% { opacity: 1; } 33% { opacity: 0; } 100% { opacity: 1; }
}
@-moz-keyframes textLoadingAnimationKeyFrame {
0% { opacity: 1; } 33% { opacity: 0; } 100% { opacity: 1; }
}
@keyframes textLoadingAnimationKeyFrame {
0% { opacity: 1; } 33% { opacity: 0; } 100% { opacity: 1; }
}
@-webkit-keyframes animate-stripes {
0% {background-position: 0 0;} 100% {background-position: 60px 0;}
}
@-moz-keyframes animate-stripes {
0% {background-position: 0 0;} 100% {background-position: 60px 0;}
}
@keyframes animate-stripes {
0% {background-position: 0 0;} 100% {background-position: 60px 0;}
}
.rl-anim {
&.rgba.cssanimations.backgroundsize .e-strip-animation {
-webkit-background-size: 60px 60px;
-moz-background-size: 60px 60px;
background-size: 60px 60px;
.rl-strip-animation(0, 0.1);
-webkit-animation: animate-stripes 2s linear infinite;
-moz-animation: animate-stripes 2s linear infinite;
animation: animate-stripes 2s linear infinite;
}
&.csstransitions .b-settings-folders {
.folder-item {
.button-delete {
.transition(all 0.2s linear);
}
}
}
&.csstransitions .b-settings-accounts {
.account-item {
.button-delete {
.transition(all 0.2s linear);
}
}
}
&.csstransitions .b-settings-identities {
.identity-item {
.button-delete {
.transition(all 0.2s linear);
}
}
}
&.csstransitions .b-admin-domains {
.e-item {
.button-delete {
.transition(all 0.2s linear);
}
}
}
&.csstransitions .b-compose {
.button-delete {
.transition(margin-left 0.2s linear);
}
}
&.cssanimations .b-folders .e-item .anim-action-class {
-webkit-animation: highlight-folder-row 0.5s linear;
-moz-animation: highlight-folder-row 0.5s linear;
animation: highlight-folder-row 0.5s linear;
}
&.csstransitions .messageList {
.messageListItem {
.transition(max-height 400ms ease);
}
.listDragOver {
.transition(all 400ms ease);
}
}
&.csstransitions .b-list-content {
.e-contact-item {
.transition(max-height 400ms ease);
}
}
&.csstransitions .modal.b-domain-content {
.modal-body {
.transition(left 500ms ease);
}
}
&.csstransitions .modal-open .popups .modal {
-webkit-transform-origin: 50% 50%;
-moz-transform-origin: 50% 50%;
-o-transform-origin: 50% 50%;
transform-origin: 50% 50%;
.transition(~"0.3s all cubic-bezier(0.250, 0.460, 0.450, 0.940)");
.scale(0.9);
}
.modal-open .popups .popup-active.modal {
-webkit-transform: none;
-moz-transform: none;
-o-transform: none;
transform: none;
}
&.cssanimations .b-compose.loading .b-header-toolbar {
-webkit-background-size: 60px 60px;
-moz-background-size: 60px 60px;
background-size: 60px 60px;
.rl-strip-animation(255, 0.2);
-webkit-animation: animate-stripes 2s linear infinite;
-moz-animation: animate-stripes 2s linear infinite;
animation: animate-stripes 2s linear infinite;
}
}
.textLoadingAnimationD1, .textLoadingAnimationD2, .textLoadingAnimationD3 {
-webkit-animation: textLoadingAnimationKeyFrame 1s linear infinite 0s;
-moz-animation: textLoadingAnimationKeyFrame 1s linear infinite 0s;
animation: textLoadingAnimationKeyFrame 1s linear infinite 0s;
}
.textLoadingAnimationD2 {
-webkit-animation-delay: 0.3s;
-moz-animation-delay: 0.3s;
animation-delay: 0.3s;
}
.textLoadingAnimationD3 {
-webkit-animation-delay: 0.6s;
-moz-animation-delay: 0.6s;
animation-delay: 0.6s;
}

177
dev/Styles/Compose.less Normal file
View file

@ -0,0 +1,177 @@
.b-compose {
&.modal {
width: 850px;
margin: 10px auto;
.modal-body {
overflow: auto;
padding: 0px;
}
}
.b-header-toolbar {
height: 40px;
background-color: @rlMainDarkColor;
color: #fff;
background-color: #333;
background-color: rgba(0,0,0,0.8) !important;
.close {
color: #fff;
.opacity(100);
}
.btn.disable {
&.button-delete {
visibility: hidden;
}
}
.button-save, .button-delete, .saved-text {
margin-left: 8px;
}
.disable.button-delete {
margin-left: 0px;
}
}
.b-header {
padding: 10px;
border-bottom: 1px solid #333;
background-color: #eee;
color: #333;
.e-identity {
font-weight: bold;
&.multiply {
cursor: pointer;
border-bottom: 1px dashed #555;
}
}
.e-row {
line-height: 30px;
}
.e-delimiter-row {
line-height: 2px;
height: 5px;
}
.e-label {
text-align: right;
width: 1%;
min-width: 70px;
padding: 6px 10px;
}
.e-value {
padding: 2px 0px;
textarea, input[type="text"] {
width: 98%;
}
textarea {
height: 40px;
}
.select2-container {
width: 100%;
}
}
.error-desc {
color: red;
}
.b-appachments {
.b-attacment {
display: inline-block;
line-height: 20px;
}
.b-attacment-in-process {
display: inline-block;
line-height: 20px;
.uploading {
display: none;
padding-right: 5px;
}
&.uploading .uploading {
display: inline;
}
.upload-progress {
font-weight: bold;
}
&.error .namedStr {
color: #888;
}
.error {
color: red;
}
.close {
float: left;
padding-right: 13px;
}
}
}
}
.b-attachment-button {
display: inline-block;
}
.b-attachment-place {
position: absolute;
height: 120px;
border: 2px #777 dashed;
line-height: 119px;
text-align: center;
background-color: #fff;
z-index: 300;
left: 20px;
right: 20px;
font-size: 24px;
&.drag-and-drop-over {
background: #777;
color: #fff;
}
}
.editorTextArea, .editorHtmlArea {
background: #fff;
color: #000;
font-family: Arial, Verdana, Geneva, sans-serif;
font-size: 14px;
table {
border-collapse: separate;
}
blockquote {
border: 0;
border-left: solid 2px #444;
margin-left: 5px;
margin: 5px 0;
padding-left: 5px;
}
}
}

303
dev/Styles/Contacts.less Normal file
View file

@ -0,0 +1,303 @@
@contacts-popup-left-width: 250px;
.b-contacts-content {
&.modal {
position: absolute;
right: 0;
top: 0;
bottom: 0;
left: 0;
width: 900px;
min-height: 300px;
max-height: 700px;
margin: auto;
.modal-body {
overflow: auto;
height: 100%;
background-color: #f5f5f5;
padding: 0;
}
.b-header-toolbar {
height: 40px;
background-color: @rlMainDarkColor;
color: #fff;
background-color: #333;
background-color: rgba(0,0,0,0.8) !important;
.close {
color: #fff;
.opacity(100);
}
.btn {
margin-top: 4px;
}
.button-new-message {
margin-left: 8px;
}
.button-delete {
margin-left: 8px;
}
}
.b-list-toopbar {
padding: 0;
height: 45px;
text-align: center;
width: @contacts-popup-left-width;
.box-shadow(inset 0 -1px 0 #ccc);
.e-search {
margin-top: 7px;
}
}
.b-list-content {
position: absolute;
top: 45px;
bottom: 60px;
left: 0;
width: @contacts-popup-left-width;
overflow: hidden;
overflow-y: auto;
.content {
-webkit-overflow-scrolling: touch;
}
.listClear {
color: #333;
text-align: center;
padding: 10px;
font-size: 14px;
line-height: 13px;
background-color: #fff;
}
.listEmptyList, .listEmptyListLoading, .listEmptySearchList {
color: #999;
text-align: center;
padding: 60px 10px;
font-size: 24px;
line-height: 30px;
}
&.hideContactListCheckbox {
.checkedParent, .checkboxCkeckAll {
display: none !important;
}
.sidebarParent {
margin-right: 10px !important;
}
}
.e-contact-foreach {
border-bottom: 1px solid #ddd;
}
.e-contact-item {
position: relative;
height: 45px;
max-height: 45px;
line-height: 45px;
overflow: hidden;
cursor: pointer;
margin: 0px;
border: 0px solid transparent;
z-index: 100;
.delimiter {
position: relative;
display: block;
height: 1px;
background-color: #999;
.opacity(20);
}
.wrapper {
padding: 0;
}
.sidebarParent {
display: inline-block;
width: 6px;
background-color: #eee;
float: left;
height: 100%;
}
&.deleted {
max-height: 0px;
border-color: transparent !important;
}
.checkedParent {
display: inline-block;
float: left;
padding: 0 8px 0 6px;
}
.nameParent {
display: block;
overflow: hidden;
text-overflow: ellipsis;
color: #333;
font-size: 16px;
}
.nameParent, .emailParent {
white-space: nowrap;
}
.displayName, .displayEmail {
overflow: hidden;
text-overflow: ellipsis;
}
.displayImg {
display: inline-block;
float: right;
position: relative;
margin: 0 5px;
}
&.checked {
z-index: 101;
.sidebarParent {
background-color: #69A8F5;
}
}
&.selected {
background-color: #fff;
z-index: 102;
.sidebarParent {
background-color: #398CF2;
}
}
}
}
.b-view-content {
position: absolute;
top: 0;
bottom: 60px;
left: @contacts-popup-left-width;
right: 0;
overflow: hidden;
overflow-y: auto;
background-color: #fff;
border-left: 1px solid #ddd;
.content {
-webkit-overflow-scrolling: touch;
}
.b-contact-view-desc {
text-align: center;
font-size: 24px;
line-height: 30px;
padding-top: 120px;
color: #999;
}
.top-part {
margin-top: 20px;
.control-label {
text-align: center;
}
}
.image-wrapper {
margin-left: 30px;
border-radius: 10px;
img {
border-radius: 10px;
}
}
.top-row {
padding: 10px 0;
height: 30px;
}
.contactEmptyValueClick, .contactValueClick, .contactValueInput {
display: inline-block;
font-size: 24px;
line-height: 28px;
height: 28px;
}
.contactEmptyValueClick, .contactValueClick {
color: #ddd;
cursor: pointer;
margin: 5px 0 0 7px;
}
.contactValueInput {
padding-left: 6px;
}
.contactEmptyValueClick {
border-bottom: 1px dashed #ddd;
}
.contactValueClick {
color: #555;
border-bottom: 11px dashed transparent;
}
.contactValueClick:hover {
color: #000;
border-bottom: 1px dashed #000;
}
.contactValueInput {
}
.hasError {
.contactValueClick, .contactValueInput {
color: #ee5f5b;
border: 1px solid #ee5f5b;
}
}
.button-save-contact {
position: absolute;
bottom: 20px;
right: 20px;
}
}
}
.e-contact-item {
position: relative;
height: 55px;
max-height: 60px;
line-height: 22px;
overflow: hidden;
cursor: pointer;
margin: 0px;
border: 0px solid transparent;
z-index: 100;
}
}

173
dev/Styles/Editor.less Normal file
View file

@ -0,0 +1,173 @@
.editorToolbar {
position: relative;
height: 20px;
margin-top: 10px;
line-height: 19px;
&.editorHideToolbar .editorToolbarButtom {
display: none;
}
.editorSwitcher {
display: inline-block;
vertical-align: middle;
}
.editorToolbarButtom {
display: inline-block;
width: 16px;
height: 16px;
padding: 3px;
a {
display: inline-block;
border: 0px;
margin: 0px;
padding: 0px;
width: 16px;
height: 16px;
cursor: default;
background: url('@{editor-sprite}');
&.bold { background-position: 0 0; }
&.italic { background-position: -16px 0; }
&.underline { background-position: -32px 0; }
&.strikethrough { background-position: -48px 0; }
&.link { background-position: -64px 0; }
&.unlink { background-position: -80px 0; }
&.orderedlist { background-position: -96px 0; }
&.unorderedlist { background-position: -112px 0; }
&.image { background-position: -128px 0; }
&.h1 { background-position: 0 -16px;}
&.h2 { background-position: -16px -16px;}
&.h3 { background-position: -32px -16px;}
&.h4 { background-position: -48px -16px;}
&.h5 { background-position: -64px -16px;}
&.h6 { background-position: -80px -16px;}
&.subscript { background-position: -96px -16px;}
&.superscript { background-position: -112px -16px;}
&.indent { background-position: -128px -16px;}
&.outdent { background-position: -144px -16px;}
&.horizontalrule { background-position: -160px -16px;}
&.p { background-position: -176px -16px;}
&.justifyleft { background-position: 0 -32px;}
&.justifycenter { background-position: -16px -32px;}
&.justifyright { background-position: -32px -32px;}
&.increasefontsize { background-position: -48px -32px;}
&.decreasefontsize { background-position: -64px -32px;}
&.forecolor { background-position: -80px -32px;}
&.backcolor { background-position: -80px -32px;}
&.removeformat { background-position: -144px 0;}
}
}
}
.textAreaParent {
padding: 0px;
.editorHtmlArea {
.box-sizing(border-box);
border: 0px !important;
overflow: auto;
overflow-y: scroll;
font-family: arial, sans-serif;
font-size: 13px;
line-height: 16px;
margin: 0px;
padding: 8px;
ul {
padding-left: 40px;
li {
list-style-type: disc !important;
}
}
ol {
padding-left: 40px;
li {
list-style-type: decimal !important;
}
}
blockquote {
border-left: solid 2px #444;
margin-left: 5px;
padding-left: 5px
}
img {
vertical-align: bottom;
}
&.editorDragOver {
background: #ffffef;
}
}
.editorTextArea {
.box-sizing(border-box);
display: block;
border: 0px !important;
width: 100%;
line-height: 16px;
margin: 0px;
padding: 8px;
overflow: auto;
overflow-y: scroll;
}
}
.editorColorPicker {
.editorCpColors {
float: left;
margin: 0;
clear: both;
width: 128px;
border: 1px solid #000;
backgroud: #000;
.editorCpColor {
border: 1px solid #fff;
float: left;
width: 14px;
height: 14px;
}
}
}
.editorSwitcher {
.g-ui-link;
.pull-right;
padding-bottom: 6px;
}
.editorFontStylePicker {
.editorFpFonts {
padding: 5px;
border: 1px solid #000;
background-color: #fff;
.editorFpFont {
padding: 5px;
}
}
}

View file

@ -0,0 +1,7 @@
.popups {
.b-folder-clear-content {
.modal-header {
background-color: #fff;
}
}
}

View file

@ -0,0 +1,7 @@
.popups {
.b-folder-create-content {
.modal-header {
background-color: #fff;
}
}
}

141
dev/Styles/FolderList.less Normal file
View file

@ -0,0 +1,141 @@
@folderItemPadding: 10px;
@subPadding: 15px;
.b-folders {
.b-toolbar {
position: absolute;
top: 0;
right: 0;
left: 0;
height: 30px;
padding: 10px 10px 0 @rlLowMargin;
color: #fff;
}
.b-content {
position: absolute;
top: 50px + @rlLowMargin;
bottom: @rlLowMargin + @rlBottomMargin;
// left: @rlLowMargin;
left: 0;
right: 0;
overflow: hidden;
overflow-y: auto;
// padding: 5px;
.content {
-webkit-overflow-scrolling: touch;
}
}
.b-list-delimiter {
margin: 10px;
border-top: 0px solid #000;
border-bottom: 1px solid #999;
}
.e-item {
overflow: hidden;
white-space: nowrap;
.e-link {
display: block;
position: relative;
z-index: 1;
height: 34px;
line-height: 34px;
background-color: transparent;
vertical-align: middle;
color: grey;
cursor: not-allowed;
font-size: 14px;
padding: 0;
padding-left: @folderItemPadding;
padding-right: @folderItemPadding;
outline: 0;
text-decoration: none;
&.selectable {
color: #000;
cursor: pointer;
&:hover, &.selected, &.droppableHover {
background-color: #555;
color: #fff;
}
}
&.system {
cursor: default;
color: grey;
}
.count {
display: none;
margin-top: 5px;
line-height: 19px;
}
&.print-count {
font-weight: bold;
.count {
display: inline;
}
}
.e-collapsed-sign {
cursor: pointer;
width: 22px;
height: 30px;
line-height: 30px;
text-align: center;
vertical-align: inherit;
}
}
.hidden.e-link {
display: none;
}
.b-sub-folders.collapsed {
max-height: 0;
height: 0;
display: none;
}
}
.b-folder-system-item {
font-weight: bold;
}
.b-sub-folders .e-item .e-link {
padding-left: @subPadding * 1 + @folderItemPadding;
}
.b-sub-folders.unpaddig-folder .e-item .e-link {
padding-left: @folderItemPadding;
}
.b-sub-folders .b-sub-folders .e-item .e-link {
padding-left: @subPadding * 2 + @folderItemPadding;
}
.b-sub-folders.unpaddig-folder .b-sub-folders .e-item .e-link {
padding-left: @subPadding * 1 + @folderItemPadding;
}
.b-sub-folders .b-sub-folders .b-sub-folders .e-item .e-link {
padding-left: @subPadding * 3 + @folderItemPadding;
}
.b-sub-folders.unpaddig-folder .b-sub-folders .b-sub-folders .e-item .e-link {
padding-left: @subPadding * 2 + @folderItemPadding;
}
.b-sub-folders .b-sub-folders .b-sub-folders .b-sub-folders .e-item .e-link {
padding-left: @subPadding * 4 + @folderItemPadding;
}
.b-sub-folders.unpaddig-folder .b-sub-folders .b-sub-folders .b-sub-folders .e-item .e-link {
padding-left: @subPadding * 3 + @folderItemPadding;
}
}

View file

@ -0,0 +1,10 @@
.popups {
.b-folder-system-content {
&.modal {
z-index: 1102;
}
.modal-header {
background-color: #fff;
}
}
}

12
dev/Styles/Identity.less Normal file
View file

@ -0,0 +1,12 @@
.popups {
.b-identity-content {
.modal-header {
background-color: #fff;
}
.textEmail {
margin-top: 5px;
font-weight: bold;
}
}
}

34
dev/Styles/Languages.less Normal file
View file

@ -0,0 +1,34 @@
.popups {
.b-languages-content {
&.modal {
z-index: 1103;
width: 520px;
}
&.exp {
width: 521px;
}
.modal-header {
background-color: #fff;
}
.lang-item {
display: inline-block;
padding: 5px 15px;
margin: 2px 5px;
width: 200px;
background-color: #fff;
text-align: left;
&.selected {
background-color: #f5f5f5;
}
}
.lang-item:hover {
background-color: #eee;
}
}
}

123
dev/Styles/Layout.less Normal file
View file

@ -0,0 +1,123 @@
#rl-content {
height: 100%;
width: 100%;
}
#rl-center {
.g-ui-absolute-reset;
min-width: 900px;
min-height: 400px;
}
#rl-top {
.g-ui-absolute-reset;
bottom: auto;
z-index: 2;
}
#rl-bottom {
.g-ui-absolute-reset;
top: auto;
z-index: 1;
}
#rl-left {
.g-ui-absolute-reset;
right: auto;
width: 100%;
}
#rl-right {
.g-ui-absolute-reset;
z-index: 1;
}
#rl-resizer-right {
position: absolute;
top: 0;
bottom: 0;
right: 0;
left: 35%;
}
#rl-resizer-left {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 65%;
min-width: 350px;
}
#rl-top-resizer-right {
position: absolute;
top: 0;
bottom: 0;
right: 0;
left: @rlLeftWidth;
}
#rl-top-resizer-left {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: auto;
// width: @rlLeftWidth;
min-width: 120px;
}
html.mobile {
#rl-top-resizer-left {
width: @rlLeftWidth - 60;
}
#rl-top-resizer-right {
left: @rlLeftWidth - 60;
}
#rl-resizer-left {
width: 350px;
}
#rl-resizer-right {
left: 350px;
}
}
html.rl-no-preview-pane {
#rl-resizer-left {
right: @rlBottomMargin !important;
width: inherit;
}
#rl-resizer-right {
left: 0 !important;
}
#rl-right .ui-resizable-handle {
display: none !important;
}
}
#rl-loading, #rl-loading-error {
position: absolute;
font: 30px Tahoma;
top: 50%;
width: 100%;
height: 65px;
margin: 0;
margin-top: -60px;
background-color: transparent;
background-repeat: no-repeat;
background-position: center 50px;
background-image: url('@{rlLoaderBlack}');
text-align: center;
color: #000;
}
#rl-loading-error {
background-image: none;
display: none;
}

96
dev/Styles/Login.less Normal file
View file

@ -0,0 +1,96 @@
.rl-view-model {
&.RL-Login, &.RL-LoginNew, &.RL-AdminLogin {
height: 100%;
}
}
.b-login-content {
height: 100%;
text-align: center;
margin-left: -230px;
.loginFormWrapper {
display: inline-block;
vertical-align: middle;
text-align: center;
width: 380px;
.loginForm {
background-color: #efefef;
text-align: left;
color: #333;
margin: 0;
float: none;
}
.control-label {
font-size: 16px;
line-height: 30px;
}
.control-group {
margin-bottom: 25px;
}
.wrapper {
padding: 40px 40px 10px 40px;
}
#recaptcha_image img {
border: 1px solid #ccc;
.border-radius(3px);
}
.inputLoginForm, .inputEmail, .inputLogin, .inputPassword {
font-size: 18px;
height: 30px;
line-height: 29px;
}
.signMeLabel {
margin-top: 5px;
}
.input-append .add-on {
position: relative;
height: 30px;
background: none;
margin-left: -35px;
z-index: 1000;
border: 0px;
}
.input-append .add-on i {
font-size: 17px;
line-height: 29px;
color: #999;
}
.control-group.error .add-on i {
color: #b94a48;
}
}
.buttonLogin {
margin: 0;
}
.alert {
margin: 0 0 20px 0;
text-align: left;
}
.loginAfter {
display: inline-block;
height: 90%;
vertical-align: middle;
width: 0px;
}
.flag-selector {
margin-bottom: 0;
}
}

54
dev/Styles/Main.less Normal file
View file

@ -0,0 +1,54 @@
html {
margin: 0;
padding: 0;
overflow: hidden;
font-family: Arial, Verdana, Geneva, sans-serif;
}
body {
margin: 0;
padding: 0;
overflow: hidden;
background-color: #e3e3e3;
font-family: Arial, Verdana, Geneva, sans-serif;
-webkit-touch-callout: none;
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
}
textarea {
resize: none;
}
option:disabled {
color: #aaa;
cursor: not-allowed;
}
body:before {
content: "";
position: fixed;
top: -10px;
left: 0;
width: 100%;
height: 8px;
z-index: 100;
.box-shadow(0px 0px 10px rgba(0,0,0,.6));
}
* {
outline: none;
}
select:focus {
outline: none;
}
html.mobile * {
-webkit-tap-highlight-color: rgba(0,0,0,0);
}

523
dev/Styles/MessageList.less Normal file
View file

@ -0,0 +1,523 @@
html.rl-no-preview-pane {
.messageList.message-selected {
display: none;
}
}
.messageList {
.toolbar {
position: absolute;
top: 0;
right: 0;
left: 0;
height: 30px;
padding: 10px @rlMainBorderSize;
min-width: 280px;
z-index: 102;
}
.b-footer {
position: absolute;
bottom: 0;
right: 0;
left: 0;
height: 29px;
padding: 10px;
min-width: 300px;
z-index: 101;
background-color: #eee;
// #gradient > .vertical(#f4f4f4, #dfdfdf);
.border-bottom-right-radius(@rlMainBorderRadius);
.border-bottom-left-radius(@rlMainBorderRadius);
.e-quota {
display: inline-block;
margin-left: 10px;
font-size: 18px;
cursor: help;
}
.e-quota:hover {
border-bottom: 1px dashed #333;
}
}
.inputSearch {
width: 258px;
}
.btn.buttonMoreSearch {
padding-left: 8px;
padding-right: 8px;
}
.b-message-list-wrapper {
position: absolute;
top: 50px;
right: 0;
left: 0;
bottom: @rlBottomMargin;
border: @rlMainBorderSize solid @rlMainDarkColor;
.box-shadow(@rlMainShadow);
.border-radius(@rlMainBorderRadius);
z-index: 101;
}
.second-toolbar {
position: absolute;
top: 0;
right: 0;
left: 0;
height: 29px;
padding: 10px 8px 10px 11px;
min-width: 280px;
z-index: 101;
background-color: #eee;
// #gradient > .vertical(#f4f4f4, #dfdfdf);
.border-top-right-radius(@rlMainBorderRadius);
.border-top-left-radius(@rlMainBorderRadius);
.checkboxCkeckAll {
margin: 5px 0;
}
}
.mainDelimiter {
position: absolute;
left: 0;
right: 0;
height: 1px;
z-index: 101;
background-color: #bbb;
}
.toolbarDelimiter {
top: 49px;
}
.footerDelimiter {
bottom: 49px;
}
.b-content {
position: absolute;
top: 50px;
bottom: 50px;
left: 0;
right: 0;
padding: 0;
overflow-x: hidden;
overflow-y: auto;
z-index: 101;
min-width: 300px;
.box-sizing(border-box);
background-color: #fff;
.content {
-webkit-overflow-scrolling: touch;
}
.listClear {
color: #333;
text-align: center;
padding: 10px;
font-size: 14px;
line-height: 13px;
}
.listEmptyList, .listEmptyListLoading, .listDragOver, .listError, .listEmptySearchList {
color: #999;
text-align: center;
padding: 60px 10px;
font-size: 24px;
line-height: 30px;
.e-icon {
font-size: 24px;
line-height: 30px;
}
}
.listDragOver {
max-height: 0;
overflow: hidden;
padding: 0 10px;
}
.listDragOver.viewAppendArea {
max-height: 120px;
padding: 30px 10px;
}
.listDragOver.dragOverEnter {
background-color: #e0fdda;
color: #333;
}
.listError {
color: #DA4F49;
}
.listSearchDesc {
font-size: 20px;
padding: 20px;
border-bottom: 1px solid #eee;
}
.delimiter {
display: block;
height: 1px;
background-color: #e5e5e5;
}
.messageListItem:last-child {
border-bottom: 1px solid #e5e5e5;
&.selected {
border-bottom: 1px solid #bfd5ef;
}
}
.fullThreadsParent {
height: 25px;
padding: 3px 5px;
background-color: #f4f4f4;
text-align: center;
}
.messageListItem {
position: relative;
height: 52px;
max-height: 60px;
font-size: 12px;
line-height: 21px;
overflow: hidden;
cursor: pointer;
margin: 0px;
border: 0px solid transparent;
z-index: 100;
background-color: #f9f9f9;
.delimiter {
position: relative;
display: block;
height: 1px;
background-color: #999;
.opacity(20);
}
.wrapper {
padding: 5px 0;
}
.sidebarParent {
display: inline-block;
width: 6px;
background-color: #eee;
float: left;
height: 100%;
}
&.e-single-line {
height: 35px;
}
&.e-single-line .wrapper {
line-height: 25px;
padding: 5px;
}
&.new {
max-height: 0px;
}
&.deleted {
max-height: 0px;
border-color: transparent !important;
}
.checkedParent {
display: inline-block;
float: left;
margin-top: 11px;
padding: 0 8px 0 6px;
font-size: 14px;
}
&.e-single-line .checkedParent {
margin-top: 1px;
}
.flagParent {
display: inline-block;
float: right;
padding: 0 8px 0 5px;
}
&.e-single-line .flagParent {
float: left;
padding: 0 8px 0 2px;
}
.dateParent {
display: inline-block;
float: right;
position: relative;
margin: 0 5px;
color: #999;
font-size: 11px;
}
&.e-single-line .dateParent {
}
.attachmentParent {
display: inline-block;
float: right;
position: relative;
margin: 2px 8px 0 5px;
}
&.e-single-line .attachmentParent {
float: left;
margin: 0 5px 0 0;
}
.senderParent {
display: block;
overflow: hidden;
text-overflow: ellipsis;
}
.threadsCountParent {
display: inline;
overflow: hidden;
background-color: #eee;
padding: 1px 5px;
margin-right: 5px;
border: 1px solid #ccc;
.border-radius(5px);
}
.threadsCountParent.lastSelected {
background-color: #999;
border-color: #999;
color: #fff;
}
.threadsCountParent:hover {
border-color: #666;
}
&.e-single-line .senderParent {
display: inline-block;
text-overflow: none;
width: 200px;
float: left;
font-weight: normal;
}
.subjectParent {
display: block;
overflow: hidden;
text-overflow: ellipsis;
color: #000;
}
&.e-single-line .subjectParent {
}
.senderParent, .subjectParent, .dateParent {
white-space: nowrap;
}
.subjectParent .emptySubjectText {
display: none;
font-style: italic;
color: #999;
}
&.emptySubject .subjectParent {
.subject {
display: none;
}
.emptySubjectText {
display: inline;
}
}
.sender, .subject {
overflow: hidden;
text-overflow: ellipsis;
}
.attachment {
display: none;
}
.flagOff, .flagOn, .flagOnHalf {
cursor: pointer;
display: inline-block;
}
.flagOff {
.opacity(50);
&:hover {
.opacity(100);
}
}
.flagOn, .flagOnHalf {
display: none;
color: orange;
}
.replyFlag, .forwardFlag {
display: none;
}
&.answered .replyFlag {
display: inline-block;
}
&.forwarded .forwardFlag {
display: inline-block;
}
&.withAttachments .attachment {
display: inline-block;
color: #666;
text-shadow: 0px 1px 0px #eee;
}
&.unseen {
background-color: #FFFFD9;
.sender, .subject {
font-weight: bold;
}
.sidebarParent {
background-color: orange;
}
}
&.hasUnseenSubMessage {
background-color: #FFFFD9;
.sidebarParent {
background-color: lighten(orange, 30%);
}
}
&.hasParentMessage {
background-color: #ecf0f1;
.sidebarParent {
background-color: #bdc3c7;
}
&.unseen {
background-color: darken(#ecf0f1, 5%);
.sidebarParent {
background-color: darken(#bdc3c7, 30%);
}
}
}
&.checked {
.sidebarParent {
background-color: lighten(#398CF2, 10%) !important;
}
}
&.selected {
background-color: #DFEFFF;
z-index: 102;
.sidebarParent {
background-color: #398CF2 !important;
}
.delimiter {
background-color: #398CF2;
.opacity(20);
}
+ .messageListItem .delimiter {
background-color: #398CF2;
.opacity(30);
}
}
&.hasFlaggedSubMessage {
.flagOff, .flagOn {
display: none;
}
.flagOnHalf {
display: inline-block;
}
}
&.flagged {
.flagOff, .flagOnHalf {
display: none;
}
.flagOn {
display: inline-block;
}
}
}
}
&.hideMessageListCheckbox {
.checkedParent, .checkboxCkeckAll {
display: none !important;
}
.sidebarParent {
margin-right: 10px !important;
}
}
.pagenator {
.page {
display: inline-block;
color: #999;
text-decoration: none;
font-size: 24px;
padding: 3px;
cursor: pointer;
&:hover .pageNumber {
color: #555;
}
&.current .pageNumber {
font-size: 28px;
color: #333;
border-bottom: 2px solid #000;
}
}
}
}
.draggablePlace {
z-index: 10002;
color: #fff;
background-color: #333;
background-color: rgba(0,0,0,0.5);
padding: 4px 10px;
min-width: 30px;
height: 20px;
cursor: pointer;
cursor: move;
}

381
dev/Styles/MessageView.less Normal file
View file

@ -0,0 +1,381 @@
html.rl-no-preview-pane {
.messageView {
display: none;
&.message-selected {
display: block;
}
}
}
.messageView {
z-index: 100;
.toolbar {
position: absolute;
top: 0;
right: 0;
left: 0;
height: 30px;
padding: 10px 0;
color: #fff;
}
.b-content {
position: absolute;
margin: 0;
top: 50px + @rlLowMargin;
bottom: @rlLowMargin + @rlBottomMargin;
right: @rlLowMargin;
left: 0;
overflow: hidden;
border: @rlLowBorderSize solid @rlMainDarkColor;
border-left: 0px;
.border-top-right-radius(@rlLowBorderRadius);
.border-bottom-right-radius(@rlLowBorderRadius);
background-color: #fff;
.b-message-view-desc {
text-align: center;
font-size: 24px;
line-height: 30px;
padding-top: 120px;
color: #999;
}
.b-message-view-desc.error {
color: #DA4F49;
}
.content {
-webkit-overflow-scrolling: touch;
}
.messageItem {
position: absolute;
top: 0px;
bottom: 0;
left: 0;
right: 0;
overflow: auto;
-webkit-overflow-scrolling: touch;
.border-radius(@rlLowBorderRadius);
.emptySubjectText {
display: none;
font-style: italic;
color: #999;
}
&.emptySubject .emptySubjectText {
display: inline;
}
.buttonUp, .buttonUnFull, .buttonFull {
display: inline-block;
position: fixed;
right: 30px;
top: 90px;
height: 30px;
width: 30px;
text-align: center;
vertical-align: middle;
line-height: 30px;
background-color: transparent;
background-color: #fff;
border: 1px solid #333;
color: #333;
z-index: 2;
cursor: pointer;
.border-radius(5px);
.opacity(30);
&:hover {
.opacity(80);
border-color: #000;
background-color: #888;
color: #fff;
}
}
.buttonUp {
right: 70px;
z-index: 0;
}
.buttonUnFull {
display: none;
}
.messageItemHeader {
position: relative;
padding: 10px;
background-color: #f8f8f8;
border-top: 0px;
border-bottom: 1px solid #ddd;
z-index: 1;
.date {
}
.fromPic {
display: inline-block;
width: 50px;
height: 50px;
float: left;
padding: 2px;
margin: 0 5px 0 0;
background: #fff;
border: 1px solid #ccc;
border-radius: 10px;
.box-sizing(border-box);
}
.subjectParent {
font-size: 16px;
font-weight: bold;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
margin-left: 3px;
}
.senderParent {
margin-top: 10px;
}
.messageButtons {
margin-top: 5px;
}
.informationShort {
margin-left: 15px;
a {
.g-ui-link;
}
}
.informationFull {
margin-top: 10px;
border: 1px solid #ddd;
background-color: #fff;
border-radius: 5px;
padding: 10px 15px;
}
}
.loading {
text-align: center;
font-size: 24px;
color: grey;
padding-top: 50px;
}
.line-loading {
height: 0px;
}
.showImages {
cursor: pointer;
background-color: #eee;
padding: 10px 15px;
border-bottom: 1px solid #ccc;
}
.attachmentsPlace {
padding: 10px;
.attachmentList {
margin: 0;
.attachmentItem {
display: inline-block;
margin: 5px;
padding: 5px;
max-width: 170px;
min-width: 60px;
overflow: hidden;
cursor: pointer;
list-style: none;
line-height: 24px;
border: 2px solid grey;
background-color: #fff;
box-shadow: 1px 1px 5px #ccc;
box-shadow: 1px 1px 5px rgba(0,0,0,0.1);
.border-radius(6px);
.attachmentIcon {
font-size: 23px;
width: 23px;
height: 23px;
}
.attachmentPreview {
color: #999;
margin: 0px 5px;
}
.attachmentPreview:hover {
color: #333;
}
}
}
}
.rlBlockquoteSwitcher {
background-color: #eee;
border: 1px solid #999;
display: inline-block;
width: 30px;
height: 14px;
line-height: 14px;
text-align: center;
cursor: pointer;
margin: 10px 0px;
.opacity(50);
&:hover {
.opacity(100);
}
}
.bodyText {
color: #000;
font-family: arial, sans-serif;
.b-text-part {
a {
color: blue;
text-decoration: underline;
&:visited {
color: #609;
}
&:active {
color: red;
}
}
table {
border-collapse: separate;
}
blockquote {
border-left: 2px solid #000;
margin: 0;
padding: 0px 10px;
}
.rl-bq-switcher.hidden-bq {
display: none;
}
&.rtl-text-part {
direction: rtl;
}
&.html {
.mailso-body {
margin: 15px;
}
}
&.plain {
padding: 15px;
pre {
margin: 0px;
padding: 0px;
font-family: arial, sans-serif;
background: #fff;
border: none;
white-space: normal;
}
blockquote {
border-left: 2px solid blue;
color: blue;
}
blockquote blockquote {
border-left: 2px solid green;
color: green;
}
blockquote blockquote blockquote {
border-left: 2px solid red;
color: red;
}
}
}
}
}
}
}
html.rl-no-preview-pane .messageView {
.toolbar {
padding-left: @rlMainBorderSize;
}
.b-content {
top: 50px;
bottom: @rlBottomMargin;
right: @rlBottomMargin;
border: @rlMainBorderSize solid @rlMainDarkColor;
.box-shadow(@rlMainShadow);
.border-radius(@rlMainBorderRadius);
.buttonUp, .buttonUnFull, .buttonFull {
top: 70px;
}
}
}
html.cssanimations.rl-anim .line-loading {
height: 5px !important;
}
html.rl-message-fullscreen {
#rl-left, #rl-bottom {
display: none !important;
}
#rl-right {
.RL-MailMessageList, .RL-SettingsPane, .RL-SystemDropDown, .RL-MailMessageView .messageView .toolbar {
display: none !important;
}
}
.messageView .b-content {
position: fixed;
margin: 5px;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: 10000;
.buttonUp, .buttonUnFull {
display: inline-block;
top: 36px;
}
.buttonFull {
display: none;
}
}
}

29
dev/Styles/Scroll.less Normal file
View file

@ -0,0 +1,29 @@
/**
::-webkit-scrollbar {
height: 10px;
width: 10px;
overflow: visible;
}
::-webkit-scrollbar-button {
height: 0;
width: 0;
}
::-webkit-scrollbar-thumb, ::-webkit-scrollbar-track {
background-color: transparent;
background-clip: padding-box;
border-width: 1px 1px 1px 6px;
min-height: 18px;
}
::-webkit-scrollbar-thumb {
background-color: #bbb;
background-color: rgba(0, 0, 0, 0.2);
border: 2px solid transparent;
}
::-webkit-scrollbar-corner {
background: transparent;
}
/**/

99
dev/Styles/Settings.less Normal file
View file

@ -0,0 +1,99 @@
.b-settins-left {
.b-toolbar {
position: absolute;
top: 0;
right: 0;
left: 0;
height: 34px;
padding: 8px 0 0 @rlLowMargin;
}
.b-content {
position: absolute;
top: 50px + @rlLowMargin + 10px;
bottom: @rlLowMargin;
left: 0;
right: 0;
overflow: hidden;
.content {
-webkit-overflow-scrolling: touch;
}
}
}
.b-settings-menu {
.e-item {
overflow: hidden;
text-decoration: none;
outline: 0;
}
.e-link {
position: relative;
display: block;
height: 30px;
line-height: 29px;
font-size: 18px;
z-index: 1;
cursor: default;
background-color: transparent;
color: #888;
padding: 4px 10px;
outline: 0;
text-decoration: none;
}
.e-item.selectable .e-link {
cursor: pointer;
}
.e-item.selectable {
&:hover .e-link, &.selected .e-link {
background-color: #555;
color: #fff;
}
}
}
.b-settins-right {
.b-toolbar {
position: absolute;
top: 0;
right: 0;
left: 0;
height: 34px;
padding: 8px 5px;
color: #fff;
}
.b-content {
position: absolute;
top: 50px + @rlLowMargin;
bottom: @rlLowMargin;
left: 0;
right: @rlLowMargin;
overflow-y: auto;
z-index: 2;
background-color: #fff;
border: @rlMainBorderSize solid @rlMainDarkColor;
.box-shadow(@rlMainShadow);
.border-radius(@rlMainBorderRadius);
.content {
-webkit-overflow-scrolling: touch;
}
}
.b-settings-content {
padding: 20px;
}
}

View file

@ -0,0 +1,55 @@
.b-settings-accounts {
.process-place {
text-align: center;
width: 600px;
padding: 14px 0;
}
.list-table {
width: 600px;
td {
padding: 4px 8px;
line-height: 30px;
}
.account-img {
font-size: 12px;
margin-right: 5px;
}
.account-name {
display: inline-block;
word-break: break-all;
.box-sizing(border-box);
line-height: 22px;
cursor: default;
}
}
.account-item {
.button-delete {
margin-right: 15px;
margin-top: 5px;
visibility: hidden;
.opacity(0);
}
.delete-access {
&.button-delete {
visibility: visible;
margin-right: 0;
.opacity(100);
}
}
.delete-account {
cursor: pointer;
.opacity(50);
}
}
}

View file

@ -0,0 +1,104 @@
.folderPaddingHelper(@i) {
(~".folder-padding.deep-@{i}") {
width: 15px * @i + 10px;
}
}
.b-settings-folders {
&.ignore-folder-subscribe {
.subscribe-folder, .unsubscribe-folder {
display: none;
}
}
.process-place {
text-align: center;
width: 600px;
padding: 14px 0;
}
.folders-list-error {
width: 550px;
margin: 10px 0px;
}
.list-table {
width: 600px;
.e-action {
cursor: pointer;
}
td {
padding: 4px 8px;
line-height: 30px;
}
.folder-padding {
display: inline-block;
width: 0;
}
.folder-name {
display: inline-block;
word-break: break-all;
.box-sizing(border-box);
margin-left: 7px;
line-height: 22px;
cursor: default;
}
.folder-system-name {
display: inline-block;
line-height: 22px;
color: #999;
cursor: default;
}
.folder-name.can-be-edited:hover {
border-bottom: 1px dashed #333;
cursor: pointer;
}
.folder-name-input {
border-width: 1px;
margin-bottom: 0;
}
}
.folder-item {
.button-delete {
margin-right: 15px;
margin-top: 5px;
visibility: hidden;
.opacity(0);
}
.delete-access {
&.button-delete {
visibility: visible;
margin-right: 0;
.opacity(100);
}
}
.delete-folder, .subscribe-folder, .unsubscribe-folder {
cursor: pointer;
.opacity(60);
}
.unsubscribe-folder {
.opacity(25);
}
}
.folderPaddingHelper(1);
.folderPaddingHelper(2);
.folderPaddingHelper(3);
.folderPaddingHelper(4);
.folderPaddingHelper(5);
}

View file

@ -0,0 +1,25 @@
.b-settings-general {
.notification-desc-denied {
color: #999;
display: none;
}
.denied-by-browser {
.notification-desc-denied {
display: inline;
}
.notification-desc {
color: #999;
}
}
.flag-selector {
padding-top: 5px;
}
.flag-name {
border-bottom: 1px dashed #555;
}
}

View file

@ -0,0 +1,59 @@
.b-settings-identities {
.process-place {
text-align: center;
width: 600px;
padding: 14px 0;
}
.list-table {
width: 600px;
td {
padding: 4px 8px;
line-height: 30px;
}
.identity-img {
font-size: 12px;
margin-right: 5px;
}
.identity-name {
display: inline-block;
word-break: break-all;
.box-sizing(border-box);
line-height: 22px;
cursor: pointer;
}
}
.identity-item {
.e-action {
cursor: pointer;
}
.button-delete {
margin-right: 15px;
margin-top: 5px;
visibility: hidden;
.opacity(0);
}
.delete-access {
&.button-delete {
visibility: visible;
margin-right: 0;
.opacity(100);
}
}
.delete-identity {
cursor: pointer;
.opacity(50);
}
}
}

View file

@ -0,0 +1,4 @@
.b-settings-personal {
}

View file

@ -0,0 +1,33 @@
.b-settings-themes {
}
.b-themes-list {
.e-item {
display: inline-block;
border: 2px solid transparent;
cursor: pointer;
color: #000;
background-color: #fff;
padding: 16px;
margin: 5px;
&:hover {
border: 2px solid grey;
}
&.selected {
background-color: #eee;
border: 2px solid #000;
}
.e-image {
width: 100px;
height: 100px;
border: 1px solid #ddd;
}
}
}

View file

@ -0,0 +1,34 @@
.b-system-drop-down {
.b-toolbar {
position: absolute;
top: 0;
right: 0;
height: 30px;
padding: 10px @rlLowMargin;
z-index: 103;
}
.e-facebook-name {
display: inline-block;
padding-top: 4px;
}
.btn.system-dropdown {
padding-left: 10px;
padding-right: 10px;
}
.button-fb-logout {
margin: 5px;
}
.email-title {
display: inline-block;
max-width: 200px;
text-align: left;
text-overflow: ellipsis;
overflow: hidden;
}
}

130
dev/Styles/Ui.less Normal file
View file

@ -0,0 +1,130 @@
.g-ui-user-select-none {
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-o-user-select: none;
user-select: none;
-webkit-touch-callout: none;
}
.g-ui-clearfix {
.clearfix();
}
.g-ui-link {
color: #336699;
text-decoration: underline;
cursor: pointer;
}
.g-ui-min-height-300 {
min-height: 300px;
}
.g-ui-absolute-reset {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
padding: 0;
margin: 0;
border: 0;
z-index: 0;
}
.g-ui-menu {
max-height: 400px;
max-width: 300px;
overflow-y: auto;
overflow-x: hidden;
.e-link {
text-decoration: none;
cursor: pointer;
}
.e-item > .e-link:hover {
background-color: #555;
background-image: none;
color: #fff;
}
.e-item.disable > .e-link {
cursor: not-allowed;
background-color: #fff;
background-image: none;
color: grey;
}
.e-item.disable [class^="icon-"] {
color: grey;
}
}
.g-ui-table {
display: table;
width: 100%;
.e-row {
display: table-row;
}
.e-cell {
display: table-cell;
vertical-align: top;
text-align: left;
}
}
.g-ui-resizable-delimiter-highlight {
border: none;
border-right: 6px solid #aaa;
}
html.rgba .g-ui-resizable-delimiter-highlight {
border-right-color: rgba(0, 0, 0, 0.2);
}
.settings-saved-trigger {
display: inline-block;
line-height: 17px;
font-size: 16px;
.animated {
color: green;
}
.success {
color: green;
.transition(opacity 0.5s linear);
.opacity(0);
}
.error {
color: red;
.transition(opacity 0.5s linear);
.opacity(0);
}
.visible {
.opacity(100);
}
}
.settings-saved-trigger-input {
&.success {
border-color: green !important;
.transition(border-color 0.5s linear);
}
&.error {
border-color: red !important;
.transition(border-color 0.5s linear);
}
}

View file

@ -0,0 +1,228 @@
body {
background-color: transparent;
}
label {
cursor: pointer;
}
.legend {
display: block;
width: 100%;
padding: 0;
margin-bottom: @baseLineHeight;
font-size: @baseFontSize * 1.5;
line-height: @baseLineHeight * 2;
color: @grayDark;
border: 0;
border-bottom: 1px solid #e5e5e5;
// Small
small {
font-size: @baseLineHeight * .75;
color: @grayLight;
};
}
.legend + .control-group {
margin-top: @baseLineHeight;
-webkit-margin-top-collapse: separate;
}
.input-append input, .input-append select, .input-append .uneditable-input {
.border-radius(3px);
}
select {
width: 223px;
}
.btn-small.btn-small-small {
padding: 3px 9px;
font-size: 11px;
line-height: 11px;
}
.btn.btn-ellipsis {
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
}
.btn.btn-narrow {
padding-left: 12px;
padding-right: 12px;
}
.dropdown-menu {
.border-radius(@btnBorderRadius);
}
.btn {
.border-radius(@btnBorderRadius);
background-image: none;
&.disabled, &[disabled] {
.box-shadow(~"inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05)");
}
text-shadow: 0 1px 0 #fff;
&:active {
// .box-shadow(~"inset 0 2px 4px rgba(0,0,0,.3), 0 0 0 rgba(0,0,0,.1)");
}
}
.btn-group.open {
.dropdown-toggle {
// .box-shadow(~"inset 0 2px 4px rgba(0,0,0,.3), 0 0 0 rgba(0,0,0,.1)");
}
}
html.rgba.textshadow {
.btn.btn-danger, .btn.btn-success, .btn.btn-primary {
text-shadow: 0 1px 0 rgba(0, 0, 0, 0.3);
}
}
.btn-toolbar {
margin-top: 0;
margin-bottom: 0;
}
.dropdown-menu {
.border-radius(0);
.box-shadow(0px 1px 2px rgba(0,0,0,0.2));
}
.tooltip {
font-size: 14px;
&.in {
.opacity(100);
}
.tooltip-class {
}
.tooltip-big {
font-size: 18px;
padding: 0 10px;
}
}
.tooltip-inner {
padding: 5px 10px;
.border-radius(2px);
}
// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match
.btn-group > .btn:first-child {
-webkit-border-top-left-radius: @btnBorderRadius;
-moz-border-radius-topleft: @btnBorderRadius;
border-top-left-radius: @btnBorderRadius;
-webkit-border-bottom-left-radius: @btnBorderRadius;
-moz-border-radius-bottomleft: @btnBorderRadius;
border-bottom-left-radius: @btnBorderRadius;
}
// Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it
.btn-group > .btn:last-child,
.btn-group > .dropdown-toggle {
-webkit-border-top-right-radius: @btnBorderRadius;
-moz-border-radius-topright: @btnBorderRadius;
border-top-right-radius: @btnBorderRadius;
-webkit-border-bottom-right-radius: @btnBorderRadius;
-moz-border-radius-bottomright: @btnBorderRadius;
border-bottom-right-radius: @btnBorderRadius;
}
// Reset corners for large buttons
.btn-group > .btn.large:first-child {
-webkit-border-top-left-radius: @btnBorderRadius;
-moz-border-radius-topleft: @btnBorderRadius;
border-top-left-radius: @btnBorderRadius;
-webkit-border-bottom-left-radius: @btnBorderRadius;
-moz-border-radius-bottomleft: @btnBorderRadius;
border-bottom-left-radius: @btnBorderRadius;
}
.btn-group > .btn.large:last-child,
.btn-group > .large.dropdown-toggle {
-webkit-border-top-right-radius: @btnBorderRadius;
-moz-border-radius-topright: @btnBorderRadius;
border-top-right-radius: @btnBorderRadius;
-webkit-border-bottom-right-radius: @btnBorderRadius;
-moz-border-radius-bottomright: @btnBorderRadius;
border-bottom-right-radius: @btnBorderRadius;
}
textarea, input[type="text"], input[type="password"], input[type="email"], input[type="search"] {
border: @rlInputBorderSize solid @inputBorder;
&:focus {
background-color: #fff;
border: @rlInputBorderSize solid darken(@inputBorder, 20%);
.box-shadow(none);
}
}
input[type="text"], input[type="password"], input[type="email"], input[type="search"] {
height: @baseLineHeight - (@rlInputBorderSize - 1) * 2;
line-height: @baseLineHeight - (@rlInputBorderSize - 1) * 2;
}
select {
border: @rlInputBorderSize solid @inputBorder;
}
.alert.alert-null-left-margin {
margin-left: 0;
}
.alert.alert-error a {
color: #b94a48;
}
html.no-rgba .modal {
border-width: 0px !important;
}
.modal-backdrop, .modal-backdrop.fade.in {
.opacity(10);
}
.popups {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
z-index: 1100;
overflow: auto;
// -webkit-overflow-scrolling: touch;
.modal {
position: static;
z-index: 1101;
margin: 5% auto;
background-color: transparent;
overflow: hidden;
.modal-body {
background-color: #fff;
max-height: none;
}
.box-shadow(0 5px 80px rgba(0,0,0,0.3));
}
}
.modal.loginContent .modal-body, .modal.loginAdminContent .modal-body {
background-color: transparent !important;
}
.picker.modal-dialog-bg, .picker.picker-dialog-bg {
z-index: 2000 !important;
}
.picker.modal-dialog, .picker.picker-dialog {
z-index: 2001 !important;
}

2
dev/Styles/_End.less Normal file
View file

@ -0,0 +1,2 @@

View file

@ -0,0 +1,142 @@
@media screen and (-webkit-min-device-pixel-ratio:0) {
@font-face {
font-family: 'icomoon';
src: url('fonts/icomoon.svg#icomoon') format('svg');
}
}
[class^="icon-"],
[class*=" icon-"] {
display: inline-block;
width: 16px;
height: 16px;
line-height: 16px;
font-size: 15px;
.ie7-restore-right-whitespace();
vertical-align: text-top;
}
/* White icons with optional class, or on hover/active states of certain elements */
.icon-white,
.nav > .active > a > [class^="icon-"],
.nav > .active > a > [class*=" icon-"] {
color: #fff;
}
.g-ui-menu .e-item:hover [class^="icon-"],
.g-ui-menu .e-item:hover [class*=" icon-"] {
color: #fff;
}
[class^="icon2-"],
[class*=" icon2-"] {
display: inline-block;
width: 16px;
height: 16px;
line-height: 16px;
font-size: 15px;
.ie7-restore-right-whitespace();
vertical-align: text-top;
background-repeat: no-repeat;
}
.icon2-none {
background-image: none;
}
.icon3-as-button {
cursor: pointer;
}
.icon-checkbox-checked, .icon-checkbox-unchecked, .icon-checkbox-partial, .icon-radio-checked, .icon-radio-unchecked {
cursor: pointer;
color: #555;
font-size: 1em;
&:hover, &:active {
color: #000;
}
}
.icon-white {
&.icon-checkbox-checked, &.icon-checkbox-unchecked, &.icon-checkbox-partial, &.icon-radio-checked, &.icon-radio-unchecked {
color: #eee;
&:hover, &:active {
color: #fff;
}
}
}
.icon-refresh.in-process {
background-position: 0px 0px;
background-image: url('@{sync-file}');
}
.denied-by-browser {
cursor: default;
.icon-checkbox-checked, icon-checkbox-unchecked {
cursor: default;
}
}
.icon-arrow-right-3, .icon-arrow-down-3 {
width: 16px;
line-height: 20px;
}
.icon2-reload {
background-image: url('@{sync-file-stop}');
background-repeat: no-repeat;
}
.icon2-aminate-reload {
background-image: url('@{sync-file}');
background-repeat: no-repeat;
}
@-webkit-keyframes rotation {
from {-webkit-transform: rotate(0deg);}
to {-webkit-transform: rotate(359deg);}
}
@-moz-keyframes rotation {
from {-moz-transform: rotate(0deg);}
to {-moz-transform: rotate(359deg);}
}
@keyframes rotation {
from {transform: rotate(0deg);}
to {transform: rotate(359deg);}
}
.icon-repeat, .icon-spinner, .icon-spinner-2 {
width: 16px;
height: 16px;
}
.icon-repeat:before, .icon-spinner:before, .icon-spinner-2:before {
font-size: 16px;
line-height: 100%;
}
html.no-cssanimations {
.icon-repeat, .icon-spinner, .icon-spinner-2 {
background-image: url('@{sync-file-stop}');
background-repeat: no-repeat;
font-family: Arial;
&:before {
content: "";
}
&.animated {
background-image: url('@{sync-file}');
}
}
}
html.cssanimations {
.icon-repeat.animated, .icon-spinner.animated, .icon-spinner-2.animated {
-webkit-animation: rotation 1s infinite linear;
-moz-animation: rotation 1s infinite linear;
animation: rotation 1s infinite linear;
}
}

View file

@ -0,0 +1,72 @@
.select2-container-multi {
.select2-choices {
background-image: none;
border: @rlInputBorderSize solid @inputBorder;
.border-radius(@inputBorderRadius);
.select2-search-choice {
line-height: 15px;
font-size: 16px;
}
}
&.select2-container-active {
.select2-choices {
border: @rlInputBorderSize solid darken(@inputBorder, 20%);
.box-shadow(none);
}
}
}
.select2-drop {
.box-shadow(none);
.select2-subname {
color: #777;
}
.select2-highlighted .select2-subname {
color: #eee;
}
}
.select2-results {
margin: 0;
padding: 0;
max-height: 400px;
.select2-searching {
padding: 1px 4px;
}
}
.select2-icon {
line-height: 20px;
padding: 0 0 0 7px
}
.select2-icon-result {
line-height: 40px;
}
.select2-result-label {
margin: 0px !important;
padding: 5px !important;
font-size: 16px;
height: 40px;
line-height: 40px;
.select2-user-pic {
display: inline-block;
height: 40px;
width: 40px;
margin-right: 10px;
}
}

34
dev/Styles/_Values.less Normal file
View file

@ -0,0 +1,34 @@
@loader-white: "images/loader-white.gif";
@loader-black: "images/loader-black.gif";
@editor-sprite: "images/editor.png";
@sync-file-stop: "images/sync.png";
@sync-file: "images/sync.gif";
@rlLoaderWhite: "images/loader-white.gif";
@rlLoaderBlack: "images/loader-black.gif";
@rlEditorSprite: "images/editor.png";
@rlLeftWidth: 230px;
@rlInputBorderSize: 1px;
@rlMainBorderSize: 1px;
@rlLowBorderSize: 1px;
@rlMainBorderRadius: 5px;
@rlLowBorderRadius: 3px;
@rlMainShadow: 0px 2px 8px rgba(0, 0, 0, 0.3);
@rlLowMargin: 8px;
@rlBottomMargin: 5px;
@rlMainDarkColor: #aaa;
@rlMessageDelimiterColor: #999;
// bootstart
@btnBorderRadius: 2px;
@tooltipColor: #eee;
@tooltipBackground: #333;
@tooltipArrowWidth: 5px;
@tooltipArrowColor: #333;