aboutsummaryrefslogtreecommitdiff
path: root/templates/@theme-base/_dark_mode.scss
diff options
context:
space:
mode:
Diffstat (limited to 'templates/@theme-base/_dark_mode.scss')
-rw-r--r--templates/@theme-base/_dark_mode.scss610
1 files changed, 610 insertions, 0 deletions
diff --git a/templates/@theme-base/_dark_mode.scss b/templates/@theme-base/_dark_mode.scss
new file mode 100644
index 0000000..188148c
--- /dev/null
+++ b/templates/@theme-base/_dark_mode.scss
@@ -0,0 +1,610 @@
+// Applies theme styles across as many areas of the layout as possible.
+
+// Scrollbar (PM currently does not style this element)
+body {
+ scrollbar-color: lighten($base, 10%) lighten($base, 2%);
+}
+::-webkit-scrollbar {
+ width: 16px;
+
+ &-track {
+ background: lighten($base, 2%);
+ }
+ &-thumb {
+ background: lighten($base, 10%);
+ box-shadow: inset 0 0 0 4px lighten($base, 2%);
+ border-radius: 16px;
+ }
+}
+
+.isDarkMode {
+ .bordered,
+ .bordered-container:not([class*="composerInputMeta-"]),
+ .breadcrumb-container {
+ border-color: lighten($base, 10%);
+ }
+
+ .dropDown-content::after, .dropDown-content::before,
+ .dropDown:not(.dropDown--noCaret)::before,
+ .dropDown-content {
+ background: $base;
+ border: $base;
+ }
+
+ .dropDown-item-button:focus, .dropDown-item-button:focus-within,
+ .dropDown-item-button:hover, .dropDown-item-link:focus,
+ .dropDown-item-link:focus-within, .dropDown-item-link:hover {
+ background-color: darken($base, 5%);
+ }
+
+ .dropDown-item-button.is-disabled, .dropDown-item-button[disabled],
+ .dropDown-item-link.is-disabled, .dropDown-item-link[disabled] {
+ background-color: darken($base, 2%);
+ }
+
+ .squireToolbar-select-list {
+ background: $base;
+ color: $text_color;
+ }
+
+ .squireToolbar-dropdown-divider {
+ background-color: lighten($base, 10%);
+ }
+
+ .squireToolbar-select-item:hover {
+ background: darken($base, 2%);
+ }
+
+ // Compose window
+ #pm_composer .composer,
+ .composerInputMeta-overlay {
+ background: $base;
+ }
+
+ #pm_composer .composer .fill {
+ background: $base;
+ }
+
+ .composer-body-container textarea {
+ background: $base;
+ }
+
+ .composer-addresses-item {
+ background: darken($base, 5%);
+ }
+
+
+ .composer-addresses-autocomplete {
+ ul {
+ background: darken($base, 5%);
+ }
+
+ li[aria-selected="true"],
+ li:hover {
+ background: $base;
+ }
+ }
+
+ // Email tags present in new message window
+ .autocompleteEmails-item {
+ background-color: darken($base, 2%);
+ border-color: darken($base, 2%);
+ }
+
+ .autocompleteEmails-label {
+ border-left: 1px solid lighten($base, 10%);
+ border-right: 1px solid lighten($base, 10%);
+ }
+
+ .composerOptions-container.show {
+ background: darken($base, 2%);
+
+ .shadow-container {
+ background: $base;
+ color: $text_color;
+ }
+ }
+
+ .pm-button.pm-button--primary {
+ background: darken($highlight, 10%);
+ color: $text_color;
+ border-color: darken($highlight, 10%);
+ }
+
+ .pm-button.pm-button--primary:hover {
+ background: $highlight;
+ color: $text_color;
+ }
+
+ .is-disabled.pm-button--error, .is-disabled.pm-button--error.pm-button--info, .is-disabled.pm-button--error.pm-button--redborder, .is-disabled.pm-button--primary, .is-disabled.pm-button--primary.pm-button--info, .is-disabled.pm-button--primary.pm-button--redborder, .is-disabled.pm-button--warning, .is-disabled.pm-button--warning.pm-button--info, .is-disabled.pm-button--warning.pm-button--redborder, .pm-button--error.pm-button--info[disabled], .pm-button--error.pm-button--redborder[disabled], .pm-button--error[disabled], .pm-button--primary.pm-button--info[disabled], .pm-button--primary.pm-button--redborder[disabled], .pm-button--primary[disabled], .pm-button--warning.pm-button--info[disabled], .pm-button--warning.pm-button--redborder[disabled], .pm-button--warning[disabled], .pm-button-blue.is-disabled, .pm-button-blue.is-disabled.pm-button--info, .pm-button-blue.is-disabled.pm-button--redborder, .pm-button-blue.pm-button--info[disabled], .pm-button-blue.pm-button--redborder[disabled], .pm-button-blue[disabled], .pm-button.is-disabled.pm-button--error, .pm-button.is-disabled.pm-button--primary, .pm-button.is-disabled.pm-button--warning, .pm-button.pm-button--error[disabled], .pm-button.pm-button--primary[disabled], .pm-button.pm-button--warning[disabled], .pm-button.pm-button-blue.is-disabled, .pm-button.pm-button-blue[disabled] {
+ background-color: darken($base, 2%);
+ border-color: lighten($base, 10%);
+ color: darken($text_color, 10%);
+ }
+
+ .pm-button:not(.pm-button-blue):not(.pv-button-green):not(.pm-button--primary):not(.pm-button--primaryborderEvenInDarkMode):not(.pm-button--link):not(.pm-button--error):not(.pm-button--warning):not(.pm-button--redborder):not(.pm-button--primaryborder), .pm-button--info {
+ color: $text_color;
+ background-color: $base;
+ border-color: lighten($base, 10%);
+ }
+
+ .pm-group-buttons > .pm-group-button.pm-button--primary {
+ border-color: lighten($base, 10%);
+ }
+
+ .pm-button-blueborder {
+ border-color: $highlight;
+ color: $highlight;
+ }
+
+ .pm-button-blueborder:hover {
+ border-color: lighten($highlight, 5%);
+ color: lighten($highlight, 5%);
+ }
+
+ [class*="squireToolbar-row"] .squireToolbar-action-mode:active, [class*="squireToolbar-row"] .squireToolbar-action-mode:hover, [class*="squireToolbar-row"] [class*="squireToolbar-action-"]:active, [class*="squireToolbar-row"] [class*="squireToolbar-action-"]:hover {
+ background: lighten($base, 2%) !important;
+ }
+
+ .squireToolbar-separator {
+ background: lighten($base, 5%);
+ }
+
+ .composerTime-container,
+ [class*="composer-field"] {
+ color: $text_color;
+ }
+
+ .composerInputMeta-overlay-fakefield {
+ border-color: $text_color;
+ }
+
+ // Encryption icon
+ .encryptionStatus .color-global-grey-dm:not(.color-pm-blue) svg {
+ color: white;
+ }
+
+ // Message items
+ .conversation {
+ border-color: lighten($base, 10%);
+ }
+
+ .main-area,
+ .main-area--noHeader,
+ .main-area--withToolbar,
+ .main-area--withToolbar--noHeader,
+ [class*="block-info-"] {
+ color: $text_color;
+ }
+
+ [class*="block-info"] {
+ background-color: lighten($base, 10%);
+ color: $text_color;
+ }
+
+ .fill-global-grey {
+ fill: $highlight;
+ }
+
+ .starbutton {
+ fill: $extra_color;
+ }
+
+ // Read message
+ .bg-global-light, kbd {
+ background: $base;
+ }
+
+ // Contacts items and header
+ .item-container, .item-container-row, .contactsummary-container {
+ background: $base;
+ }
+
+ .items-column-list-inner, .ReactVirtualized__Grid__innerScrollContainer {
+ border-color: lighten($base, 10%);
+
+ .item-container, .item-container-row {
+ border-color: lighten($base, 10%);
+ }
+ }
+
+ // Unread, not active
+ .item-container:not(.item-is-selected):not(.read):not(.active),
+ .item-container:not(.item-is-selected):not(.item-contact):not(.read):not(.active),
+ .item-container-row:not(.item-is-selected):not(.item-contact):not(.read):not(.active), .squireToolbar-container {
+ background: lighten($base, 5%);
+ }
+
+ // Active
+ .item-container.active, .item-is-selected {
+ background: darken($base, 2%);
+ .flex-item-fluid {
+ color: $highlight;
+ }
+ }
+
+ // Selected message checkbox
+ .item-icon {
+ background-color: $base;
+ border: 1px solid darken($text_color, 5%);
+ }
+
+ .selectBoxElement-container:hover .item-icon {
+ background-color: $base;
+ border: 1px solid darken($highlight, 5%);
+
+ .item-icon-fakecheck-icon {
+ fill: darken($highlight, 5%);
+ }
+ }
+
+ .selectBoxElement-container {
+ color: $text_color;
+ }
+
+ .selectBoxElement-container:hover .item-checkbox:checked + .item-icon {
+ background-color: darken($highlight, 5%);
+ border-color: darken($highlight, 5%);
+ }
+
+ .item-checkbox + .item-icon:hover,
+ .item-checkbox:hover + .item-icon {
+ background-color: darken($base, 5%);
+ }
+
+ // Message list background area
+ .items-column-list,
+ .elementList-container-row {
+ background-color: $base;
+ }
+
+ // Current message panel
+ .composer-container {
+ background: lighten($base, 5%);
+ }
+
+ .message-header {
+ background-color: lighten($base, 5%);
+ }
+
+ .view-column-detail {
+ background-color: $base;
+ }
+
+ details:first-child {
+ border-color: lighten($base, 10%);
+ }
+
+ .items-column-list,
+ .message-container,
+ .message-attachments {
+ border-color: lighten($base, 10%);
+ }
+
+ .message-container:not(.sent):not(.draft) .message-header.message-summary::before,
+ .message-header.is-inbound::before {
+ border-top: 1px solid lighten($base, 10%);
+ border-left: 1px solid lighten($base, 10%);
+ background-color: lighten($base, 5%);
+ }
+
+ // Mailing list block
+ .message-infobox {
+ background-color: $base;
+ }
+
+ // Email body background, text and links
+ .message-content.frame.message-frame {
+ background: white;
+ color: black;
+ }
+
+ .block-info-standard, .bodyDecrypted blockquote {
+ border-color: $highlight;
+ }
+
+ .squireDropdown-item-label {
+ color: $text_color;
+ }
+
+ .squireToolbar-action-color {
+ background: transparent;
+ }
+
+ // This forces the background of a new message to used the base color.
+ .angular-squire-iframe body {
+ color: $text_color;
+ background: lighten($base, 5%);
+
+ a {
+ color: $highlight;
+ }
+ }
+
+ .plaintext-editor {
+ color: $text_color;
+ }
+
+ // Attachment button
+ .pm-button, .pm-button--info, .pm-button--redborder {
+ background: $base;
+ border-color: lighten($base, 10%);
+ color: $text_color;
+ }
+
+ .message-attachmentInfo {
+ border-color: lighten($base, 10%);
+ }
+
+ .is-hover.pm-button--info, .is-hover.pm-button--redborder,
+ .pm-button--info:focus, .pm-button--info:focus-within,
+ .pm-button--info:hover, .pm-button--redborder:focus,
+ .pm-button--redborder:focus-within, .pm-button--redborder:hover,
+ .pm-button.is-hover, .pm-button:focus-within,
+ .pm-button:hover:not(.pm-button--primary) {
+ color: $highlight;
+ }
+
+ .pm-button:focus {
+ color: $text_color;
+ }
+
+ .is-disabled.pm-button--info,
+ .is-disabled.pm-button--redborder,
+ .pm-button--info[disabled],
+ .pm-button--redborder[disabled],
+ .pm-button.is-disabled,
+ .pm-button[disabled] {
+ background: lighten($base, 10%);
+ }
+
+ .is-active.pm-button--info,
+ .is-active.pm-button--redborder,
+ .pm-button--info:not(div):active,
+ .pm-button--redborder:not(div):active,
+ .pm-button.is-active, .pm-button:not(div):active {
+ background: lighten($base, 10%);
+ color: $highlight;
+ }
+
+ // Dropdowns
+ .dropDown-content {
+ background: $base;
+ color: $text_color;
+
+ button {
+ color: $text_color;
+ }
+
+ .elementsSelector-btn-action,
+ .dropDown-item:hover {
+ color: $text_color;
+ }
+
+ .dropDown-item:hover {
+ background: lighten($base, 5%) !important;
+ }
+
+ .dropDown-item + .dropDown-item {
+ border-top: 1px solid lighten($base, 10%);
+ }
+
+ .dropDown-item {
+ .color-global-grey {
+ color: $text_color;
+ }
+ }
+ }
+
+ .dropDown {
+ .dropDown-content {
+ &::before, &::after {
+ border-bottom-color: $base;
+ }
+ }
+ }
+
+ .dropDown--right-bottom {
+ &::before {
+ border-right-color: $base;
+ }
+
+ .dropDown-content {
+ &::before, &::after {
+ background: $base;
+ }
+ }
+ }
+
+ .dropDown--bottom-right {
+ .dropDown-content {
+ &::before, &::after {
+ background: $base;
+ }
+ }
+ }
+
+ .dropDown--bottom-left::before,
+ .dropDown--bottom-right::before,
+ .dropDown--bottom::before {
+ border-bottom-color: lighten($base, 10%);
+ }
+
+ .dropDown--bottom-right {
+ border: 1px solid lighten($base, 10%);
+ }
+
+ .pm-field-icon-container[type="search"], .pm-field[type="search"] {
+ background-color: lighten($base, 5%);
+ }
+
+ .dropDown-contentInner {
+ background-color: $base;
+
+ &::before, &::after {
+ background-color: $base;
+ }
+
+ .dropDown-item span {
+ color: $text_color !important;
+ }
+ }
+
+ .searchbox-field[type="search"]:not(#global_search) {
+ background: $text_color;
+ color: $base;
+ }
+
+ // Links
+
+ .link:active, .link:focus, .link:hover,
+ a:active, a:focus, a:hover,
+ .pm-button--link:hover,
+ .composerInputMeta-label:hover {
+ color: lighten($highlight, 5%);
+ }
+
+ // Modal
+ .pm-modal, .pm-modalContentInner {
+ background-color: $base;
+ color: $text_color;
+
+ &::before, &::after {
+ background-color: $base;
+ }
+
+ .labelColorSelector-item-mask {
+ border: 2px solid lighten($base, 15%);
+ }
+ }
+
+ .pm-button--primaryborder, .pm-button-blueborder {
+ border-color: $highlight;
+ color: $highlight;
+ background-color: lighten($base, 5%);
+ transition: background-color .2s ease-in-out;
+ }
+
+ .is-hover.pm-button--primaryborder, .pm-button--primaryborder:focus,
+ .pm-button--primaryborder:focus-within, .pm-button--primaryborder:hover,
+ .pm-button-blueborder.is-hover, .pm-button-blueborder:focus,
+ .pm-button-blueborder:focus-within, .pm-button-blueborder:hover {
+ border-color: $highlight;
+ color: $highlight;
+ background-color: darken($base, 1%);
+ }
+
+ .scrollshadow-static {
+ background: $base;
+ }
+
+ // Input fields
+ .pm-field, .pm-field-icon-container,
+ .focus.pm-field-icon-container, .pm-field-icon-container:focus,
+ .pm-field-icon-container:focus-within, .pm-field.focus,
+ .pm-field:focus, .pm-field:focus-within,
+ .composerInputMeta-overlay-fakefield,
+ .composerInputMeta-autocomplete {
+ color: $text_color;
+ background-color: lighten($base, 5%);
+
+ &::placeholder {
+ color: darken($text_color, 5%);
+ }
+ }
+
+ .composerInputMeta-autocomplete input {
+ color: $text_color;
+ background-color: lighten($base, 5%);
+
+ &::placeholder {
+ color: darken($text_color, 5%);
+ }
+ }
+
+ select.pm-field, select.pm-field-icon-container {
+ background-color: lighten($base, 5%);
+ color: $text_color;
+ }
+
+ // Storage progress modal
+ .storageProgress-content.dropDown-content--rightbottom {
+ &::before {
+ border-right-color: $base;
+ }
+ }
+
+ // Settings panel
+ .sticky-title {
+ background: lighten($base, 2%);
+ }
+
+ .bg-global-highlight {
+ background-color: $base;
+ }
+
+ .bg-white-dm {
+ background-color: lighten($base, 5%);
+ }
+
+ .main-area, .main-area--noHeader,
+ .main-area--withToolbar,
+ .main-area--withToolbar--noHeader,
+ [class*="block-info-"] {
+ color: $text_color;
+ }
+
+ .main-area, .main-area--noHeader,
+ .main-area--withToolbar, .main-area--withToolbar--noHeader {
+ background: $base;
+ }
+
+ .context-bar {
+ background: $base;
+ }
+
+ .subnav {
+ background: lighten($base, 5%);
+
+ .link, a {
+ color: $highlight;
+ }
+
+ .link:active, .link:focus, .link:hover, a:active, a:focus, a:hover {
+ color: lighten($highlight, 5%);
+ }
+ }
+
+ // Toggle button
+ .pm-toggle-label {
+ border-color: lighten($base, 10%);
+ background: lighten($base, 5%);
+
+ &::before {
+ background: $base;
+ }
+
+ .pm-toggle-label-img {
+ fill: $text_color;
+ }
+ }
+
+ // Plans table
+ .pm-plans-table-row--highlighted {
+ background-color: $base;
+ }
+
+ // Forms
+ .pm-checkbox-fakecheck,
+ .pm-radio-fakeradio {
+ background: transparent;
+ }
+
+ [class*="icon-"].color-primary {
+ color: $highlight;
+ }
+
+ .color-global-grey-dm {
+ color: $highlight;
+ }
+}