diff --git a/__tests__/option.test.scss b/__tests__/option.test.scss index 00a0a44..d9ff029 100644 --- a/__tests__/option.test.scss +++ b/__tests__/option.test.scss @@ -50,18 +50,5 @@ } } - @include test("multiple") { - @include assert { - @include output { - @include option.Option("userChrome.tab.photon", "userChrome.padding.photon") { - @include example; - } - } - @include expect { - @supports -moz-bool-pref("userChrome.tab.photon") or -moz-bool-pref("userChrome.padding.photon") { - @include example; - } - } - } - } + // Need multiple test } diff --git a/src/contents/_activity_stream.scss b/src/contents/_activity_stream.scss index ea00328..6593ce1 100644 --- a/src/contents/_activity_stream.scss +++ b/src/contents/_activity_stream.scss @@ -1,11 +1,12 @@ @-moz-document url("about:home"), url("about:newtab") { /** Activity Stream - Search Focus Border: like URL *************************/ - @include Option("userContent.newTab.field_border") { + @include Option("userContent.page.field_border") { /* At DarkMode, Color */ body[style*="--newtab-background-color:rgba(28, 27, 34, 1);"], body[style*="--newtab-background-color:rgba(42, 42, 46, 1);"], body[style*="--newtab-background-color: rgba(42, 42, 46, 1);"], - body[style*="--newtab-background-color: rgba(43, 42, 51, 1);"] { + body[style*="--newtab-background-color: rgba(43, 42, 51, 1);"], + body[style*="--newtab-background-color: rgb(43, 42, 51);"] { /* inner */ --newtab-focus-border: rgba( 0, @@ -13,10 +14,16 @@ 255, 0.5 ) !important; /* Original: #B5D3FF, Better color-mix(in srgb, #B5D3FF 70%, transparent) */ - --newtab-focus-border-selected: rgba(0, 221, 255, 0.5) !important; /* Original: #B5D3FF */ + --newtab-focus-border-selected: var(--newtab-focus-border) !important; /* Original: #B5D3FF */ /* For Nightly */ --newtab-primary-action-background: var(--newtab-focus-border) !important; + + @include Option("userContent.page.proton_color") { + @include Option("userContent.page.proton_color.dark_blue_accent") { + --newtab-focus-border: var(--in-content-focus-outline-color) !important; + } + } } } @@ -62,13 +69,34 @@ .search-wrapper input:focus { transition: border-color 0.5s var(--animation-easing-function), box-shadow 1s var(--animation-easing-function); } - .search-wrapper .search-inner-wrapper:hover input { - border-color: var(--newtab-primary-action-background) !important; - transition: border-color 0.5s var(--animation-easing-function); + @include Option("userContent.page.field_border") { + .search-wrapper .search-inner-wrapper:hover input { + border-color: var(--newtab-primary-action-background) !important; + transition: border-color 0.5s var(--animation-easing-function); + } } } } + /** Activity Stream - Pocket order to last **********************************/ + @include Option("userContent.newTab.pocket_to_last") { + .body-wrapper.on { + display: flex; + flex-wrap: wrap; + } + + .body-wrapper.on > .discovery-stream.ds-layout { + flex-basis: 100%; + } + + .body-wrapper.on > .collapsible-section[data-section-id="topstories"], + .home-section > #pocket-section, + .home-section > .divider, + .home-section > div:not(.section) { + order: 2; + } + } + /** Activity Stream - Home Search Bar looks like proton *********************/ @include Option("userContent.newTab.animate") { /* Dropdown Colors */ diff --git a/src/contents/_proton_color.scss b/src/contents/_proton_color.scss new file mode 100644 index 0000000..c7dfaa8 --- /dev/null +++ b/src/contents/_proton_color.scss @@ -0,0 +1,27 @@ +@-moz-document url-prefix("about:"), + url-prefix("https://addons.mozilla.org"), + url-prefix("https://support.mozilla.org"), + url-prefix("https://accounts.firefox.com"), + url-prefix("view-source"), + regexp("^(((jar:)?file:\/\/\/)|(chrome:\/\/)).*\/$") { + @import "../theme/proton_color"; + + @include Option("userContent.page.proton_color.dark_blue_accent") { + @include Dark { + @import "../theme/dark_blue_color"; + + :host, :root { + @include DarkBlueContent; + } + } + } + + @include Option("userContent.page.proton_color.system_accent") { + :host, :root { + --in-content-primary-button-text-color: -moz-accent-color-foreground !important; + --in-content-primary-button-background: Highlight !important; + --in-content-primary-button-background-hover: color-mix(in srgb, black 10%, Highlight) !important; + --in-content-primary-button-background-active: color-mix(in srgb, black 20%, Highlight) !important; + } + } +} diff --git a/src/contents/_proton_contents.scss b/src/contents/_proton_contents.scss index 3da52b3..95df40b 100644 --- a/src/contents/_proton_contents.scss +++ b/src/contents/_proton_contents.scss @@ -1,6 +1,13 @@ /*= Common contents ==========================================================*/ @import "proton_contents/proton_commons"; +/*= Field Border =============================================================*/ +@include Option("userContent.page.field_border") { + @include Animate { + @import "proton_contents/field_border"; + } +} + /*= View Source ==============================================================*/ @import "proton_contents/view_source"; diff --git a/src/contents/proton_contents/_directory_view.scss b/src/contents/proton_contents/_directory_view.scss index 9dc7276..bbe5ba3 100644 --- a/src/contents/proton_contents/_directory_view.scss +++ b/src/contents/proton_contents/_directory_view.scss @@ -1,5 +1,5 @@ @-moz-document url-prefix("about:sync-log"), - regexp("^((file:\/\/\/)|(chrome:\/\/)).*\/$") { + regexp("^(((jar:)?file:\/\/\/)|(chrome:\/\/)).*\/$") { body { background-color: var(--in-content-box-background) !important; margin: 4em auto !important; /* Override to default */ diff --git a/src/contents/proton_contents/_field_border.scss b/src/contents/proton_contents/_field_border.scss new file mode 100644 index 0000000..65877e0 --- /dev/null +++ b/src/contents/proton_contents/_field_border.scss @@ -0,0 +1,12 @@ +@-moz-document url-prefix("about:") { + xul|search-textbox:hover { + border-color: var(--in-content-focus-outline-color) !important; + transition: border-color 0.5s var(--animation-easing-function); + } +} +@-moz-document url-prefix("about:config") { + #about-config-search:hover { + border-color: var(--in-content-focus-outline-color) !important; + transition: border-color 0.5s var(--animation-easing-function); + } +} diff --git a/src/contents/proton_contents/_proton_commons.scss b/src/contents/proton_contents/_proton_commons.scss index 94d566b..6ce5de0 100644 --- a/src/contents/proton_contents/_proton_commons.scss +++ b/src/contents/proton_contents/_proton_commons.scss @@ -4,7 +4,7 @@ url-prefix("about:checkerboard"), url-prefix("about:sync-log"), url-prefix("about:memory"), - regexp("^((file:\/\/\/)|(chrome:\/\/)).*\/$") { + regexp("^(((jar:)?file:\/\/\/)|(chrome:\/\/)).*\/$") { /* Base */ html, body { diff --git a/src/icons/_panel.scss b/src/icons/_panel.scss index 33314c7..7131501 100644 --- a/src/icons/_panel.scss +++ b/src/icons/_panel.scss @@ -24,11 +24,22 @@ background-image: var(--avatar-image-url) !important; } -@include Option("userChrome.icon.panel_full") { +@include Option("userChrome.icon.panel_full", "userChrome.icon.panel_photon") { #appMenu-new-tab-button2 { list-style-image: url("chrome://browser/skin/new-tab.svg"); } } +@include Option("userChrome.icon.panel_photon") { + #appMenu-save-file-button2, + #appMenu-find-button2, + #appMenu-more-button2 { + padding-top: var(--arrowpanel-menuitemblank-padding) !important; + padding-bottom: var(--arrowpanel-menuitemblank-padding) !important; + } + #appMenu-zoom-controls2 { + padding-inline-start: var(--arrowpanel-menuimageblank-padding-horizontal) !important; + } +} @include Option("userChrome.icon.panel_sparse") { #appMenu-new-tab-button2, /* Seperate */ #appMenu-passwords-button, /* Seperate */ @@ -38,8 +49,8 @@ #appMenu-more-button2, /* Seperate */ #appMenu-help-button2, #appMenu-quit-button2 /* Seperate */ { - padding-top: var(--arrowpanel-menuitemblank-padding) !important; - padding-bottom: var(--arrowpanel-menuitemblank-padding) !important; + padding-top: var(--arrowpanel-menuitemblank-padding-block) !important; + padding-bottom: var(--arrowpanel-menuitemblank-padding-block) !important; } #appMenu-zoom-controls2 { padding-inline-start: var(--arrowpanel-menuimageblank-padding-horizontal) !important; @@ -61,7 +72,7 @@ #appMenu-downloads-button { list-style-image: url("chrome://browser/skin/downloads/downloads.svg"); } -@include Option("userChrome.icon.panel_full") { +@include Option("userChrome.icon.panel_full", "userChrome.icon.panel_photon") { #appMenu-passwords-button { list-style-image: url("chrome://browser/skin/login.svg"); } @@ -92,6 +103,8 @@ #appMenu-more-button2 { list-style-image: url("chrome://browser/skin/ion.svg"); } +} +@include Option("userChrome.icon.panel_full", "userChrome.icon.panel_photon") { #appMenu-help-button2 { list-style-image: url("chrome://global/skin/icons/help.svg"); } @@ -169,7 +182,7 @@ } .PanelUI-remotetabs-notabsforclient-label { - margin-inline-start: calc(var(--arrowpanel-menuicon-padding) + var(--arrowpanel-menuitem-padding)) !important; + margin-inline-start: calc(var(--arrowpanel-menuicon-padding) + var(--arrowpanel-menuitem-padding-inline)) !important; padding-inline-start: var(--arrowpanel-menublank-padding) !important; } diff --git a/src/library/_proton.scss b/src/library/_proton.scss index af1c4e3..4d4b05c 100644 --- a/src/library/_proton.scss +++ b/src/library/_proton.scss @@ -36,7 +36,7 @@ --organizer-hover-color: var(--organizer-color); --organizer-selected-background: var(--in-content-button-background-active); --organizer-selected-color: var(--organizer-color); - --organizer-outline-color: var(--in-content-primary-button-background); + --organizer-outline-color: var(--in-content-focus-outline-color); --organizer-separator-color: var(--organizer-pane-field-border-color); --organizer-border-color: var(--in-content-border-color); @@ -64,7 +64,6 @@ --organizer-hover-background: rgb(82, 82, 94); --organizer-selected-background: rgb(91, 91, 102); - --organizer-outline-color: rgb(0, 221, 255); --organizer-toolbar-field-background: var(--in-content-page-background); --organizer-toolbar-field-background-focused: rgb(66, 65, 77); @@ -176,7 +175,8 @@ } /*- Downloads Pane -------------------------------------------------------*/ -#downloadsRichListBox { +#downloadsRichListBox, /* Legacy - FF v98 */ +#downloadsListBox { color: var(--organizer-color) !important; background-color: var(--organizer-content-background) !important; } diff --git a/src/menu/_bookmark_layout.scss b/src/menu/_bookmark_layout.scss index 6ce1a84..4faa199 100644 --- a/src/menu/_bookmark_layout.scss +++ b/src/menu/_bookmark_layout.scss @@ -12,7 +12,7 @@ menupopup menupopup[emptyplacesresult] .menu-text, /* Bookmark Popup - As Arrow Panel */ #BMB_bookmarksPopup, #PersonalToolbar { - --context-menu-background-padding: var(--arrowpanel-menuitem-padding); + --context-menu-background-padding: var(--arrowpanel-menuitem-padding-inline); } /* Windows 7, 8 */ @@ -31,7 +31,7 @@ menupopup menupopup[emptyplacesresult] .menu-text, menupopup:is(#BMB_bookmarksPopup) menu:not(.menu-iconic), #PersonalToolbar menupopup[placespopup="true"] menuitem:not(.menuitem-iconic, [disabled="true"]), #PersonalToolbar menupopup[placespopup="true"] menu:not(.menu-iconic) { - margin-inline: var(--arrowpanel-menuitem-padding) !important; + margin-inline: var(--arrowpanel-menuitem-padding-inline) !important; background-position: left calc(var(--arrowpanel-menuicon-padding)) center !important; } menupopup:is(#BMB_bookmarksPopup) menuitem:not(.menuitem-iconic, [disabled="true"]), @@ -51,7 +51,7 @@ menupopup menupopup[emptyplacesresult] .menu-text, menupopup:is(#BMB_bookmarksPopup) menu:not(.menu-iconic), #PersonalToolbar menupopup[placespopup="true"] menuitem:not(.menuitem-iconic, [disabled="true"]), #PersonalToolbar menupopup[placespopup="true"] menu:not(.menu-iconic) { - margin-inline: var(--arrowpanel-menuitem-padding) !important; + margin-inline: var(--arrowpanel-menuitem-padding-inline) !important; padding-inline-start: calc(var(--arrowpanel-menuicon-padding) + var(--context-menu-text-padding)) !important; background-position: left calc(var(--arrowpanel-menuicon-padding)) center !important; } @@ -74,7 +74,7 @@ menupopup menupopup[emptyplacesresult] .menu-text, menupopup:is(#BMB_bookmarksPopup) menu:not(.menu-iconic), #PersonalToolbar menupopup[placespopup="true"] menuitem:not(.menuitem-iconic, [disabled="true"]), #PersonalToolbar menupopup[placespopup="true"] menu:not(.menu-iconic) { - padding-inline-start: calc(var(--arrowpanel-menuitem-padding) + 1px) !important; + padding-inline-start: calc(var(--arrowpanel-menuitem-padding-inline) + 1px) !important; } } @@ -82,12 +82,12 @@ menupopup menupopup[emptyplacesresult] .menu-text, /* Bookmark Popup - As Arrow Panel */ #PersonalToolbar menupopup menuitem, #PersonalToolbar menupopup menu { - padding-inline: calc(var(--arrowpanel-menuicon-padding) + var(--arrowpanel-menuitem-padding)) !important; + padding-inline: calc(var(--arrowpanel-menuicon-padding) + var(--arrowpanel-menuitem-padding-inline)) !important; } /* Bookmark Popup - None icon menu */ menupopup:is(#BMB_bookmarksPopup) menuitem:not(.menuitem-iconic, [disabled="true"]), menupopup:is(#BMB_bookmarksPopup) menu:not(.menu-iconic) { - padding-inline-start: calc(var(--arrowpanel-menuitem-padding) + 3px) !important; + padding-inline-start: calc(var(--arrowpanel-menuitem-padding-inline) + 3px) !important; } } diff --git a/src/padding/_index.scss b/src/padding/_index.scss index 2221c46..009ae24 100644 --- a/src/padding/_index.scss +++ b/src/padding/_index.scss @@ -1,17 +1,5 @@ /*= Tab Bar - Distribution padding, radius ===================================*/ @import "tab_padding"; -@include Option("userChrome.tab.photon_like_radius") { - :root { - --tab-border-radius: 0px !important; /* Original: 4px */ - } - /* Fix Tab bar button radious */ - #TabsToolbar .toolbarbutton-1 > .toolbarbutton-icon, - #TabsToolbar .toolbarbutton-1 > .toolbarbutton-text, - #TabsToolbar .toolbarbutton-1 > .toolbarbutton-badge-stack, - .tab-close-button { - --tab-border-radius: 4px !important; - } -} /*= Tab Bar - Reduce Width, Show more tabs ===================================*/ @include Option("userChrome.padding.first_tab") { @@ -81,6 +69,9 @@ @include Option("userChrome.padding.panel") { @import "panel"; } +@include Option("userChrome.padding.panel_header") { + @import "panel_header"; +} /*= Popup Panel - Reduce padding =============================================*/ @include Option("userChrome.padding.popup_panel") { diff --git a/src/padding/_panel.scss b/src/padding/_panel.scss index 7569e9f..f8c4e76 100644 --- a/src/padding/_panel.scss +++ b/src/padding/_panel.scss @@ -1,13 +1,16 @@ :root { - --arrowpanel-menuicon-padding: 8px; --arrowpanel-menuitem-margin: 0 var(--arrowpanel-menuicon-padding) !important; /* Original: 0 8px */ - --arrowpanel-menuitem-padding: 5px !important; /* Original: 8px */ + --arrowpanel-menuitem-padding-block: 5px !important; /* Original: 8px */ + --arrowpanel-menuitem-padding-inline: 5px !important; /* Original: 8px */ + --arrowpanel-menuitem-padding: var(--arrowpanel-menuitem-padding-block) var(--arrowpanel-menuitem-padding-inline) !important; /* Compatibility */ --arrowpanel-padding: 0.8em !important; /* Original: 16px or .cui-widget-panel, .cui-widget-panel::part(arrowcontent) => 4px 0 */ } :root[uidensity="compact"] { - --arrowpanel-menuitem-padding: 3px !important; /* Original: 8px */ + --arrowpanel-menuitem-padding-block: 3px !important; + --arrowpanel-menuitem-padding-inline: 3px !important; } :root[uidensity="touch"] { - --arrowpanel-menuitem-padding: 8px !important; /* Original: 8px */ + --arrowpanel-menuitem-padding-block: 8px !important; /* Original: 8px */ + --arrowpanel-menuitem-padding-inline: 8px !important; /* Original: 8px */ } diff --git a/src/padding/_panel_header.scss b/src/padding/_panel_header.scss new file mode 100644 index 0000000..12510c0 --- /dev/null +++ b/src/padding/_panel_header.scss @@ -0,0 +1,4 @@ +.panel-header{ + padding: unset !important; + padding-top: 4px !important; +} diff --git a/src/panel/_full_width_padding.scss b/src/panel/_full_width_padding.scss new file mode 100644 index 0000000..70a6019 --- /dev/null +++ b/src/panel/_full_width_padding.scss @@ -0,0 +1,12 @@ +/* Original +--arrowpanel-menuitem-margin: 0 8px; +--arrowpanel-menuitem-padding-block: 8px; +--arrowpanel-menuitem-padding-inline: 8px; +--arrowpanel-menuitem-padding: var(--arrowpanel-menuitem-padding-block) var(--arrowpanel-menuitem-padding-inline); +*/ + +:root, +:root:is([uidensity="compact"], [uidensity="touch"]) { + --arrowpanel-menuitem-margin: 0 !important; + --arrowpanel-menuitem-padding-inline: calc(var(--arrowpanel-menuitem-padding-block) + 8px) !important; +} diff --git a/src/panel/_full_width_separator.scss b/src/panel/_full_width_separator.scss new file mode 100644 index 0000000..0af8ac0 --- /dev/null +++ b/src/panel/_full_width_separator.scss @@ -0,0 +1,9 @@ +/* Full width separators */ +:root { + /* Original +--panel-separator-margin-vertical: 4px; +--panel-separator-margin-horizontal: 8px; +--panel-separator-margin: var(--panel-separator-margin-vertical) var(--panel-separator-margin-horizontal); + */ + --panel-separator-margin-horizontal: 0 !important; +} diff --git a/src/panel/_icon_padding.scss b/src/panel/_icon_padding.scss index 004e0de..83e9873 100644 --- a/src/panel/_icon_padding.scss +++ b/src/panel/_icon_padding.scss @@ -1,37 +1,28 @@ /*= Padding ==================================================================*/ :root { - --arrowpanel-menublank-padding: calc(var(--arrowpanel-menuicon-padding) * 2 + 8px) !important; - --arrowpanel-menuimageblank-padding: calc(var(--arrowpanel-menuitem-padding) - 2px) !important; + --arrowpanel-menuicon-padding: 8px; + --arrowpanel-menublank-padding: calc(var(--arrowpanel-menuicon-padding) * 2 + var(var(--arrowpanel-menuitem-padding-inline))) !important; + --arrowpanel-menuimageblank-padding: calc(var(--arrowpanel-menuitem-padding-inline) - 2px) !important; + --arrowpanel-menuimageblank-padding-block: calc(var(--arrowpanel-menuitem-padding-block) - 2px) !important; } .subviewbutton > .toolbarbutton-icon { width: 16px; } -@include Option("userChrome.icon.panel_sparse") { - :root { - /* Blank Menu Left Padding */ - --arrowpanel-menuimageblank-padding-horizontal: calc(var(--arrowpanel-menublank-padding) - 3px); - --arrowpanel-menuitemblank-padding: calc(var(--arrowpanel-menuitem-padding) + 1px); - } - :root[uidensity="compact"] { - --arrowpanel-menuimageblank-padding-horizontal: calc(var(--arrowpanel-menublank-padding) - 5px); - } - :root[uidensity="touch"] { - --arrowpanel-menuimageblank-padding-horizontal: calc(var(--arrowpanel-menublank-padding)); - } +@include Option("userChrome.icon.panel_photon", "userChrome.icon.panel_sparse") { :root { /* Global */ --arrowpanel-menuicon-paddingx2: calc(var(--arrowpanel-menuicon-padding) * 2); /* General Panel */ --arrowpanel-menublank-padding: calc(var(--arrowpanel-menuicon-paddingx2) + 8px) !important; - --arrowpanel-menuimageblank-padding: calc(var(--arrowpanel-menuitem-padding) - 2px) !important; + --arrowpanel-menuimageblank-padding: calc(var(--arrowpanel-menuitem-padding-inline) - 2px) !important; /* Blank Menu Left Padding */ --arrowpanel-menuimageblank-padding-horizontal: calc( - var(--arrowpanel-menuicon-paddingx2) + var(--arrowpanel-menuitem-padding) + var(--arrowpanel-menuicon-paddingx2) + var(--arrowpanel-menuitem-padding-inline) ); - --arrowpanel-menuitemblank-padding: calc(var(--arrowpanel-menuitem-padding) + 1px); + --arrowpanel-menuitemblank-padding: calc(var(--arrowpanel-menuitem-padding-block) + 1px); } } @@ -61,17 +52,23 @@ margin-bottom: 2px !important; } #appMenu-proton-update-banner::before { - margin-inline-start: var(--arrowpanel-menuitem-padding) !important; + margin-inline-start: var(--arrowpanel-menuitem-padding-inline) !important; } #appMenu-fxa-status2, #appMenu-zoom-controls2 { align-items: center; - padding-top: var(--arrowpanel-menuimageblank-padding) !important; - padding-bottom: var(--arrowpanel-menuimageblank-padding) !important; + padding-top: var(--arrowpanel-menuimageblank-padding-block) !important; + padding-bottom: var(--arrowpanel-menuimageblank-padding-block) !important; } #appMenu-zoom-controls2::before { margin-inline-end: 0 !important; } +#appMenu-zoomReduce-button2, +#appMenu-zoomReset-button2, +#appMenu-zoomEnlarge-button2, +#appMenu-fullscreen-button2 { + --arrowpanel-menuitem-padding-block: 0px; +} .subviewbutton[type="checkbox"]:not([checked="true"]) > .toolbarbutton-text { margin-left: 16px !important; diff --git a/src/panel/_index.scss b/src/panel/_index.scss index 46e8592..59f3a3e 100644 --- a/src/panel/_index.scss +++ b/src/panel/_index.scss @@ -1,3 +1,11 @@ @include Option("userChrome.panel.remove_strip") { @import "remove_strip"; } + +@include Option("userChrome.panel.full_width_separator") { + @import "full_width_separator"; +} + +@include Option("userChrome.panel.full_width_padding") { + @import "full_width_padding"; +} diff --git a/src/panel/_remove_strip.scss b/src/panel/_remove_strip.scss index c4543cd..9a958c0 100644 --- a/src/panel/_remove_strip.scss +++ b/src/panel/_remove_strip.scss @@ -1,3 +1,3 @@ #appMenu-fxa-separator { - display: none; + --panel-separator-zap-gradient: none; /* Original: linear-gradient(90deg, #9059FF 0%, #FF4AA2 52.08%, #FFBD4F 100%) */ } diff --git a/src/theme/_dark_blue_accent.scss b/src/theme/_dark_blue_accent.scss new file mode 100644 index 0000000..2d740e7 --- /dev/null +++ b/src/theme/_dark_blue_accent.scss @@ -0,0 +1,22 @@ +@include Dark { + @import "dark_blue_color"; + + :host, :root, button, select, input, menulist, radio { + @include DarkBlueContent; + } + + #{built-in-dark-theme()} { + --button-primary-color: var(--in-content-page-color) !important; + --button-primary-bgcolor: var(--blue-60) !important; + --button-primary-hover-bgcolor: var(--blue-50) !important; + --button-primary-active-bgcolor: var(--blue-40) !important; + + --focus-outline-color: var(--blue-40) !important; + + --lwt-toolbarbutton-icon-fill-attention: var(--blue-40) !important; + --download-progress-fill-color: var(--blue-40) !important; + --panel-banner-item-info-icon-bgcolor: var(--blue-30) !important; + + --lwt-brighttext-url-color: var(--blue-30) !important; /* Original: as primary bgcolor */ + } +} diff --git a/src/theme/_dark_blue_color.scss b/src/theme/_dark_blue_color.scss new file mode 100644 index 0000000..a38d547 --- /dev/null +++ b/src/theme/_dark_blue_color.scss @@ -0,0 +1,54 @@ +:host, :root { + /* Color Memo + Just refer - Photon's dark color + --button-primary-bgcolor: #0060DF; + --button-primary-hover-bgcolor: #003EAA; + --button-primary-active-bgcolor: #002275; + --lwt-brighttext-url-color: #74c0ff; + --lwt-toolbarbutton-icon-fill-attention: #45a1ff; + + Just refer - Proton's light color + --in-content-accent-color: #0a84ff; + --in-content-accent-color-active: #0060df; + --in-content-primary-button-background: #0061e0; + --in-content-primary-button-background-hover: #0250bb; + --in-content-primary-button-background-active: #053e94; + + --blue-40: #45a1ff; rgb(69, 161, 255) + --blue-50: #0a84ff; rgb(10, 132, 255) + --blue-60: #0060df; rgb(0, 96, 223) + --blue-70: #003eaa; rgb(0, 62, 170) + --blue-80: #002275; rgb(0, 34, 117) + + Relation + lighten(#0060df, 29%): #74b0ff; + lighten(#0060df, 19.8%): #4595ff + lighten(#0060df, 8.3%): #0a74ff + #0060df + darken(#0060df, 15.5%): #003e90; + darken(#0060df, 28.1%): #002250; + */ + --blue-20: #b6d6ff; /* lighten(#0060df, 42%) - rgb(182, 214, 255), Add for link active color*/ + --blue-30: #74c0ff; /* rgb(116, 192, 255), Add for active color */ +} + +@mixin DarkBlueContent() { + --in-content-primary-button-text-color: var(--in-content-page-color) !important; + --in-content-primary-button-background: var(--blue-60) !important; + --in-content-primary-button-background-hover: var(--blue-50) !important; + --in-content-primary-button-background-active: var(--blue-40) !important; + + --in-content-focus-outline-color: var(--blue-40) !important; + --in-content-accent-color: var(--blue-40) !important; + --in-content-accent-color-active: var(--blue-30) !important; + + --in-content-table-background: rgb(35, 34, 43) !important; + --in-content-table-border-color: rgba(249,249,250,0.2) !important; + --in-content-table-header-background: rgb(5, 64, 150) !important; + --in-content-table-header-color: var(--in-content-page-color) !important; + + --in-content-link-color: var(--blue-40) !important; + --in-content-link-color-hover: var(--blue-30) !important; + --in-content-link-color-active: var(--blue-20) !important; + --in-content-link-color-visited: var(--blue-40) !important; +} diff --git a/src/theme/_proton_color.scss b/src/theme/_proton_color.scss index 28b40bb..cd69e70 100644 --- a/src/theme/_proton_color.scss +++ b/src/theme/_proton_color.scss @@ -49,6 +49,7 @@ --in-content-table-background: #f8f8fa; --in-content-table-border-color: var(--in-content-box-border-color); /* Legacy: #d1d1d1; rgba(249, 249, 250, 0.2) */ + --in-content-table-border-dark-color: var(--in-content-table-border-color); --in-content-table-header-background: var( --in-content-primary-button-background ); /* Legacy: #0a84ff; rgb(5, 64, 150); */ diff --git a/src/userChrome.scss b/src/userChrome.scss index d281909..275844d 100644 --- a/src/userChrome.scss +++ b/src/userChrome.scss @@ -29,6 +29,9 @@ @include Option("userChrome.theme.proton_color") { @import "theme/proton_color"; + @include Option("userChrome.theme.proton_color.dark_blue_accent") { + @import "theme/dark_blue_accent"; + } } @include Option("userChrome.theme.fully_color") { @import "theme/fully_color"; @@ -47,6 +50,9 @@ /** Decoration ****************************************************************/ @import "decoration/index"; +/** Rounding ******************************************************************/ +@import "rounding/index"; + /** Reduce Padding ************************************************************/ @import "padding/index"; diff --git a/src/userContent.scss b/src/userContent.scss index b281d25..7be8742 100644 --- a/src/userContent.scss +++ b/src/userContent.scss @@ -19,7 +19,7 @@ /** Fully Dark Mode ***********************************************************/ /*= Fully Dark Mode - Dark Mode Colors =======================================*/ @include Option("userContent.page.proton_color") { - @import "theme/proton_color"; + @import "contents/proton_color"; } @include Option("userContent.page.dark_mode") { @import "contents/dark_mode"; diff --git a/user.js b/user.js index 06cd23d..0fa5dff 100644 --- a/user.js +++ b/user.js @@ -42,7 +42,8 @@ user_pref("userChrome.tab.newtab_button_like_tab", true); // Original // user_pref("userChrome.tab.newtab_button_proton", true); // Proton user_pref("userChrome.icon.panel_full", true); // Original, Proton -// user_pref("userChrome.icon.panel_sparse", true); // Photon +// user_pref("userChrome.icon.panel_photon", true); // Photon +// user_pref("userChrome.icon.panel_sparse", true); // Just option // Original Only user_pref("userChrome.tab.box_shadow", true); @@ -50,7 +51,7 @@ user_pref("userChrome.tab.bottom_rounded_corner", true); // Photon Only // user_pref("userChrome.tab.photon_like_contextline", true); -// user_pref("userChrome.tab.photon_like_radius", true); +// user_pref("userChrome.rounding.square_tab", true); // == Theme Compatibility Settings ============================================= // user_pref("userChrome.compatibility.covered_header_image", true); @@ -59,35 +60,53 @@ user_pref("userChrome.tab.bottom_rounded_corner", true); // user_pref("userChrome.compatibility.dynamic_separator", true); // Need dynamic_seperator // == Theme Custom Settings ==================================================== -// user_pref("userChrome.decoration.disable_panel_animate", true); -// user_pref("userChrome.decoration.disable_sidebar_animate", true); +// -- User Chrome -------------------------------------------------------------- +// user_pref("userChrome.decoration.disable_panel_animate", true); +// user_pref("userChrome.decoration.disable_sidebar_animate", true); -// user_pref("userChrome.padding.first_tab", true); -// user_pref("userChrome.padding.drag_space", true); +// user_pref("userChrome.theme.proton_color.dark_blue_accent", true); -// user_pref("userChrome.padding.menu_compact", true); -// user_pref("userChrome.padding.urlView_expanding", true); -// user_pref("userChrome.padding.urlView_result", true); +// user_pref("userChrome.rounding.square_button", true); +// user_pref("userChrome.rounding.square_panel", true); +// user_pref("userChrome.rounding.square_panelitem", true); +// user_pref("userChrome.rounding.square_menupopup", true); +// user_pref("userChrome.rounding.square_menuitem", true); +// user_pref("userChrome.rounding.square_field", true); +// user_pref("userChrome.rounding.square_checklabel", true); -// user_pref("userChrome.urlView.move_icon_to_left", true); -// user_pref("userChrome.urlView.go_button_when_typing", true); -// user_pref("userChrome.urlView.always_show_page_actions", true); +// user_pref("userChrome.padding.first_tab", true); +// user_pref("userChrome.padding.drag_space", true); -// user_pref("userChrome.tab.on_bottom", true); -// user_pref("userChrome.tab.on_bottom.above_bookmark", true); // Need on_bottom -// user_pref("userChrome.tab.on_bottom.menubar_on_top", true); // Need on_bottom -// user_pref("userChrome.tab.always_show_tab_icon", true); -// user_pref("userChrome.tab.close_button_at_pinned", true); -// user_pref("userChrome.tab.close_button_at_hover.always", true); // Need close_button_at_hover -// user_pref("userChrome.tab.sound_show_label", true); // Need remove sound_hide_label -// user_pref("userChrome.tab.centered_label", true); +// user_pref("userChrome.padding.menu_compact", true); +// user_pref("userChrome.padding.urlView_expanding", true); +// user_pref("userChrome.padding.urlView_result", true); +// user_pref("userChrome.padding.panel_header", true); -// user_pref("userChrome.panel.remove_strip", true); +// user_pref("userChrome.urlView.move_icon_to_left", true); +// user_pref("userChrome.urlView.go_button_when_typing", true); +// user_pref("userChrome.urlView.always_show_page_actions", true); -// user_pref("userChrome.icon.account_image_to_right", true); -// user_pref("userChrome.icon.account_label_to_right", true); +// user_pref("userChrome.tab.on_bottom", true); +// user_pref("userChrome.tab.on_bottom.above_bookmark", true); // Need on_bottom +// user_pref("userChrome.tab.on_bottom.menubar_on_top", true); // Need on_bottom +// user_pref("userChrome.tab.always_show_tab_icon", true); +// user_pref("userChrome.tab.close_button_at_pinned", true); +// user_pref("userChrome.tab.close_button_at_hover.always", true); // Need close_button_at_hover +// user_pref("userChrome.tab.sound_show_label", true); // Need remove sound_hide_label +// user_pref("userChrome.tab.centered_label", true); -// user_pref("userContent.player.ui.twoline", true); +// user_pref("userChrome.panel.remove_strip", true); +// user_pref("userChrome.panel.full_width_separator", true); +// user_pref("userChrome.panel.full_width_padding", true); + +// user_pref("userChrome.icon.account_image_to_right", true); +// user_pref("userChrome.icon.account_label_to_right", true); + +// -- User Content ------------------------------------------------------------- +// user_pref("userContent.player.ui.twoline", true); + +// user_pref("userContent.page.proton_color.dark_blue_accent", true); +// user_pref("userContent.page.proton_color.system_accent", true); // == Theme Default Settings =================================================== // -- User Chrome -------------------------------------------------------------- @@ -139,22 +158,23 @@ user_pref("userChrome.icon.global_menu", true); user_pref("userChrome.icon.global_menubar", true); // -- User Content ------------------------------------------------------------- -user_pref("userContent.player.ui", true); -user_pref("userContent.player.icon", true); -user_pref("userContent.player.noaudio", true); -user_pref("userContent.player.size", true); -user_pref("userContent.player.click_to_play", true); -user_pref("userContent.player.animate", true); +user_pref("userContent.player.ui", true); +user_pref("userContent.player.icon", true); +user_pref("userContent.player.noaudio", true); +user_pref("userContent.player.size", true); +user_pref("userContent.player.click_to_play", true); +user_pref("userContent.player.animate", true); -user_pref("userContent.newTab.field_border", true); -user_pref("userContent.newTab.full_icon", true); -user_pref("userContent.newTab.animate", true); -user_pref("userContent.newTab.searchbar", true); +user_pref("userContent.newTab.field_border", true); +user_pref("userContent.newTab.full_icon", true); +user_pref("userContent.newTab.animate", true); +user_pref("userContent.newTab.pocket_to_last", true); +user_pref("userContent.newTab.searchbar", true); -user_pref("userContent.page.illustration", true); -user_pref("userContent.page.proton_color", true); -user_pref("userContent.page.dark_mode", true); // Need proton_color -user_pref("userContent.page.proton", true); // Need proton_color +user_pref("userContent.page.illustration", true); +user_pref("userContent.page.proton_color", true); +user_pref("userContent.page.dark_mode", true); // Need proton_color +user_pref("userContent.page.proton", true); // Need proton_color // ** Useful Options *********************************************************** // Integrated calculator at urlbar diff --git a/userChrome.css b/userChrome.css index 5e0295a..12658a3 100644 --- a/userChrome.css +++ b/userChrome.css @@ -984,6 +984,7 @@ --in-content-table-background: #f8f8fa; --in-content-table-border-color: var(--in-content-box-border-color); /* Legacy: #d1d1d1; rgba(249, 249, 250, 0.2) */ + --in-content-table-border-dark-color: var(--in-content-table-border-color); --in-content-table-header-background: var(--in-content-primary-button-background); /* Legacy: #0a84ff; rgb(5, 64, 150); */ --in-content-table-header-color: var(--in-content-primary-button-text-color); @@ -1074,6 +1075,85 @@ --dialog-warning-text-color: var(--red-40); } } + @supports -moz-bool-pref("userChrome.theme.proton_color.dark_blue_accent") { + @media (-moz-toolbar-prefers-color-scheme: dark), (prefers-color-scheme: dark) { + :host, + :root { + /* Color Memo + Just refer - Photon's dark color + --button-primary-bgcolor: #0060DF; + --button-primary-hover-bgcolor: #003EAA; + --button-primary-active-bgcolor: #002275; + --lwt-brighttext-url-color: #74c0ff; + --lwt-toolbarbutton-icon-fill-attention: #45a1ff; + + Just refer - Proton's light color + --in-content-accent-color: #0a84ff; + --in-content-accent-color-active: #0060df; + --in-content-primary-button-background: #0061e0; + --in-content-primary-button-background-hover: #0250bb; + --in-content-primary-button-background-active: #053e94; + + --blue-40: #45a1ff; rgb(69, 161, 255) + --blue-50: #0a84ff; rgb(10, 132, 255) + --blue-60: #0060df; rgb(0, 96, 223) + --blue-70: #003eaa; rgb(0, 62, 170) + --blue-80: #002275; rgb(0, 34, 117) + + Relation + lighten(#0060df, 29%): #74b0ff; + lighten(#0060df, 19.8%): #4595ff + lighten(#0060df, 8.3%): #0a74ff + #0060df + darken(#0060df, 15.5%): #003e90; + darken(#0060df, 28.1%): #002250; + */ + --blue-20: #b6d6ff; + /* lighten(#0060df, 42%) - rgb(182, 214, 255), Add for link active color*/ + --blue-30: #74c0ff; + /* rgb(116, 192, 255), Add for active color */ + --organizer-outline-color: var(--blue-40) !important; + } + + :host, + :root, + button, + select, + input, + menulist, + radio { + --in-content-primary-button-text-color: var(--in-content-page-color) !important; + --in-content-primary-button-background: var(--blue-60) !important; + --in-content-primary-button-background-hover: var(--blue-50) !important; + --in-content-primary-button-background-active: var(--blue-40) !important; + --in-content-focus-outline-color: var(--blue-40) !important; + --in-content-accent-color: var(--blue-40) !important; + --in-content-accent-color-active: var(--blue-30) !important; + --in-content-table-background: rgb(35, 34, 43) !important; + --in-content-table-border-color: rgba(249, 249, 250, 0.2) !important; + --in-content-table-header-background: rgb(5, 64, 150) !important; + --in-content-table-header-color: var(--in-content-page-color) !important; + --in-content-link-color: var(--blue-40) !important; + --in-content-link-color-hover: var(--blue-30) !important; + --in-content-link-color-active: var(--blue-20) !important; + --in-content-link-color-visited: var(--blue-40) !important; + } + + :root[lwtheme-mozlightdark][lwthemetextcolor="bright"], + :root[style*="--lwt-accent-color: rgb(28, 27, 34); --lwt-text-color: rgba(251, 251, 254);"] { + --button-primary-color: var(--in-content-page-color) !important; + --button-primary-bgcolor: var(--blue-60) !important; + --button-primary-hover-bgcolor: var(--blue-50) !important; + --button-primary-active-bgcolor: var(--blue-40) !important; + --focus-outline-color: var(--blue-40) !important; + --lwt-toolbarbutton-icon-fill-attention: var(--blue-40) !important; + --download-progress-fill-color: var(--blue-40) !important; + --panel-banner-item-info-icon-bgcolor: var(--blue-30) !important; + --lwt-brighttext-url-color: var(--blue-30) !important; + /* Original: as primary bgcolor */ + } + } + } } @supports -moz-bool-pref("userChrome.theme.fully_color") { /*== Menu Color ==============================================================*/ @@ -2201,7 +2281,7 @@ --organizer-hover-color: var(--organizer-color); --organizer-selected-background: var(--in-content-button-background-active); --organizer-selected-color: var(--organizer-color); - --organizer-outline-color: var(--in-content-primary-button-background); + --organizer-outline-color: var(--in-content-focus-outline-color); --organizer-separator-color: var(--organizer-pane-field-border-color); --organizer-border-color: var(--in-content-border-color); --organizer-toolbar-field-background: rgb(240, 240, 244); @@ -2226,7 +2306,6 @@ --organizer-content-background: rgb(28, 27, 34); --organizer-hover-background: rgb(82, 82, 94); --organizer-selected-background: rgb(91, 91, 102); - --organizer-outline-color: rgb(0, 221, 255); --organizer-toolbar-field-background: var(--in-content-page-background); --organizer-toolbar-field-background-focused: rgb(66, 65, 77); scrollbar-color: rgba(249, 249, 250, 0.4) rgba(20, 20, 25, 0.3); @@ -2337,7 +2416,8 @@ } /*- Downloads Pane -------------------------------------------------------*/ - #downloadsRichListBox { + #downloadsRichListBox, + #downloadsListBox { color: var(--organizer-color) !important; background-color: var(--organizer-content-background) !important; } @@ -2849,6 +2929,73 @@ } } } +/** Rounding ******************************************************************/ +/** Rounding ******************************************************************/ +@supports -moz-bool-pref("userChrome.rounding.square_tab") { + :root { + --tab-border-radius: 0 !important; + /* Original: 4px */ + } +} +@supports -moz-bool-pref("userChrome.rounding.square_button") { + :root { + --toolbarbutton-border-radius: 0 !important; + /* Original: 4px */ + } + + button { + border-radius: 0 !important; + } +} +@supports -moz-bool-pref("userChrome.rounding.square_tab") or -moz-bool-pref("userChrome.round.square_button") { + /* Fix Tab bar button radious */ + #TabsToolbar .toolbarbutton-1:not(#tabs-newtab-button) > .toolbarbutton-icon, + #TabsToolbar .toolbarbutton-1:not(#tabs-newtab-button) > .toolbarbutton-text, + #TabsToolbar .toolbarbutton-1:not(#tabs-newtab-button) > .toolbarbutton-badge-stack, + .tab-close-button { + --tab-border-radius: var(--toolbarbutton-border-radius) !important; + } +} +@supports -moz-bool-pref("userChrome.rounding.square_panel") { + :root { + --arrowpanel-border-radius: 0 !important; + } +} +@supports -moz-bool-pref("userChrome.rounding.square_panelitem") { + :root { + --arrowpanel-menuitem-border-radius: 0 !important; + --subviewbutton-border-radius: 0 !important; + } +} +@supports -moz-bool-pref("userChrome.rounding.square_menupopup") { + xul|menupopup { + border-radius: 0 !important; + } +} +@supports -moz-bool-pref("userChrome.rounding.square_menuitem") { + xul|menulist:not([native]), + xul|menulist > xul|menupopup xul|menu, + xul|menulist > xul|menupopup xul|menuitem { + border-radius: 0 !important; + } +} +@supports -moz-bool-pref("userChrome.rounding.square_field") { + html|select[size][multiple], + xul|listheader, + xul|richlistbox, + html|input { + border-radius: 0 !important; + } +} +@supports -moz-bool-pref("userChrome.rounding.square_checklabel") { + .checkbox-check, + xul|*.radio-check { + border-radius: 0 !important; + } +} +/* +--toolbarbutton-border-radius: 4px; +*/ /** Reduce Padding ************************************************************/ /*= Tab Bar - Distribution padding, radius ===================================*/ @supports -moz-bool-pref("userChrome.tab.lepton_like_padding") or -moz-bool-pref("userChrome.tab.photon_like_padding") { @@ -2873,20 +3020,6 @@ --tab-block-margin: 0px !important; } } -@supports -moz-bool-pref("userChrome.tab.photon_like_radius") { - :root { - --tab-border-radius: 0px !important; - /* Original: 4px */ - } - - /* Fix Tab bar button radious */ - #TabsToolbar .toolbarbutton-1 > .toolbarbutton-icon, - #TabsToolbar .toolbarbutton-1 > .toolbarbutton-text, - #TabsToolbar .toolbarbutton-1 > .toolbarbutton-badge-stack, - .tab-close-button { - --tab-border-radius: 4px !important; - } -} /*= Tab Bar - Reduce Width, Show more tabs ===================================*/ @supports -moz-bool-pref("userChrome.padding.first_tab") { /* for First Tab Space */ @@ -3382,23 +3515,34 @@ /*= Panel - Reduce padding ===================================================*/ @supports -moz-bool-pref("userChrome.padding.panel") { :root { - --arrowpanel-menuicon-padding: 8px; --arrowpanel-menuitem-margin: 0 var(--arrowpanel-menuicon-padding) !important; /* Original: 0 8px */ - --arrowpanel-menuitem-padding: 5px !important; + --arrowpanel-menuitem-padding-block: 5px !important; /* Original: 8px */ + --arrowpanel-menuitem-padding-inline: 5px !important; + /* Original: 8px */ + --arrowpanel-menuitem-padding: var(--arrowpanel-menuitem-padding-block) var(--arrowpanel-menuitem-padding-inline) !important; + /* Compatibility */ --arrowpanel-padding: 0.8em !important; /* Original: 16px or .cui-widget-panel, .cui-widget-panel::part(arrowcontent) => 4px 0 */ } :root[uidensity="compact"] { - --arrowpanel-menuitem-padding: 3px !important; - /* Original: 8px */ + --arrowpanel-menuitem-padding-block: 3px !important; + --arrowpanel-menuitem-padding-inline: 3px !important; } :root[uidensity="touch"] { - --arrowpanel-menuitem-padding: 8px !important; + --arrowpanel-menuitem-padding-block: 8px !important; /* Original: 8px */ + --arrowpanel-menuitem-padding-inline: 8px !important; + /* Original: 8px */ + } +} +@supports -moz-bool-pref("userChrome.padding.panel_header") { + .panel-header { + padding: unset !important; + padding-top: 4px !important; } } /*= Popup Panel - Reduce padding =============================================*/ @@ -4851,7 +4995,32 @@ /** Panel UI ******************************************************************/ @supports -moz-bool-pref("userChrome.panel.remove_strip") { #appMenu-fxa-separator { - display: none; + --panel-separator-zap-gradient: none; + /* Original: linear-gradient(90deg, #9059FF 0%, #FF4AA2 52.08%, #FFBD4F 100%) */ + } +} +@supports -moz-bool-pref("userChrome.panel.full_width_separator") { + /* Full width separators */ + :root { + /* Original + --panel-separator-margin-vertical: 4px; + --panel-separator-margin-horizontal: 8px; + --panel-separator-margin: var(--panel-separator-margin-vertical) var(--panel-separator-margin-horizontal); + */ + --panel-separator-margin-horizontal: 0 !important; + } +} +@supports -moz-bool-pref("userChrome.panel.full_width_padding") { + /* Original + --arrowpanel-menuitem-margin: 0 8px; + --arrowpanel-menuitem-padding-block: 8px; + --arrowpanel-menuitem-padding-inline: 8px; + --arrowpanel-menuitem-padding: var(--arrowpanel-menuitem-padding-block) var(--arrowpanel-menuitem-padding-inline); + */ + :root, + :root:is([uidensity="compact"], [uidensity="touch"]) { + --arrowpanel-menuitem-margin: 0 !important; + --arrowpanel-menuitem-padding-inline: calc(var(--arrowpanel-menuitem-padding-block) + 8px) !important; } } /** Fullscreen - Overlap toolbar **********************************************/ @@ -5070,40 +5239,30 @@ @supports -moz-bool-pref("userChrome.icon.panel") { /*= Padding ==================================================================*/ :root { - --arrowpanel-menublank-padding: calc(var(--arrowpanel-menuicon-padding) * 2 + 8px) !important; - --arrowpanel-menuimageblank-padding: calc(var(--arrowpanel-menuitem-padding) - 2px) !important; + --arrowpanel-menuicon-padding: 8px; + --arrowpanel-menublank-padding: calc( + var(--arrowpanel-menuicon-padding) * 2 + var(var(--arrowpanel-menuitem-padding-inline)) + ) !important; + --arrowpanel-menuimageblank-padding: calc(var(--arrowpanel-menuitem-padding-inline) - 2px) !important; + --arrowpanel-menuimageblank-padding-block: calc(var(--arrowpanel-menuitem-padding-block) - 2px) !important; } .subviewbutton > .toolbarbutton-icon { width: 16px; } - @supports -moz-bool-pref("userChrome.icon.panel_sparse") { - :root { - /* Blank Menu Left Padding */ - --arrowpanel-menuimageblank-padding-horizontal: calc(var(--arrowpanel-menublank-padding) - 3px); - --arrowpanel-menuitemblank-padding: calc(var(--arrowpanel-menuitem-padding) + 1px); - } - - :root[uidensity="compact"] { - --arrowpanel-menuimageblank-padding-horizontal: calc(var(--arrowpanel-menublank-padding) - 5px); - } - - :root[uidensity="touch"] { - --arrowpanel-menuimageblank-padding-horizontal: calc(var(--arrowpanel-menublank-padding)); - } - + @supports -moz-bool-pref("userChrome.icon.panel_photon") or -moz-bool-pref("userChrome.icon.panel_sparse") { :root { /* Global */ --arrowpanel-menuicon-paddingx2: calc(var(--arrowpanel-menuicon-padding) * 2); /* General Panel */ --arrowpanel-menublank-padding: calc(var(--arrowpanel-menuicon-paddingx2) + 8px) !important; - --arrowpanel-menuimageblank-padding: calc(var(--arrowpanel-menuitem-padding) - 2px) !important; + --arrowpanel-menuimageblank-padding: calc(var(--arrowpanel-menuitem-padding-inline) - 2px) !important; /* Blank Menu Left Padding */ --arrowpanel-menuimageblank-padding-horizontal: calc( - var(--arrowpanel-menuicon-paddingx2) + var(--arrowpanel-menuitem-padding) + var(--arrowpanel-menuicon-paddingx2) + var(--arrowpanel-menuitem-padding-inline) ); - --arrowpanel-menuitemblank-padding: calc(var(--arrowpanel-menuitem-padding) + 1px); + --arrowpanel-menuitemblank-padding: calc(var(--arrowpanel-menuitem-padding-block) + 1px); } } #downloadsHistory .button-text, @@ -5137,20 +5296,27 @@ } #appMenu-proton-update-banner::before { - margin-inline-start: var(--arrowpanel-menuitem-padding) !important; + margin-inline-start: var(--arrowpanel-menuitem-padding-inline) !important; } #appMenu-fxa-status2, #appMenu-zoom-controls2 { align-items: center; - padding-top: var(--arrowpanel-menuimageblank-padding) !important; - padding-bottom: var(--arrowpanel-menuimageblank-padding) !important; + padding-top: var(--arrowpanel-menuimageblank-padding-block) !important; + padding-bottom: var(--arrowpanel-menuimageblank-padding-block) !important; } #appMenu-zoom-controls2::before { margin-inline-end: 0 !important; } + #appMenu-zoomReduce-button2, + #appMenu-zoomReset-button2, + #appMenu-zoomEnlarge-button2, + #appMenu-fullscreen-button2 { + --arrowpanel-menuitem-padding-block: 0px; + } + .subviewbutton[type="checkbox"]:not([checked="true"]) > .toolbarbutton-text { margin-left: 16px !important; } @@ -5210,11 +5376,23 @@ background-image: var(--avatar-image-url) !important; } - @supports -moz-bool-pref("userChrome.icon.panel_full") { + @supports -moz-bool-pref("userChrome.icon.panel_full") or -moz-bool-pref("userChrome.icon.panel_photon") { #appMenu-new-tab-button2 { list-style-image: url("chrome://browser/skin/new-tab.svg"); } } + @supports -moz-bool-pref("userChrome.icon.panel_photon") { + #appMenu-save-file-button2, + #appMenu-find-button2, + #appMenu-more-button2 { + padding-top: var(--arrowpanel-menuitemblank-padding) !important; + padding-bottom: var(--arrowpanel-menuitemblank-padding) !important; + } + + #appMenu-zoom-controls2 { + padding-inline-start: var(--arrowpanel-menuimageblank-padding-horizontal) !important; + } + } @supports -moz-bool-pref("userChrome.icon.panel_sparse") { #appMenu-new-tab-button2, #appMenu-passwords-button, @@ -5224,8 +5402,8 @@ #appMenu-more-button2, #appMenu-help-button2, #appMenu-quit-button2 { - padding-top: var(--arrowpanel-menuitemblank-padding) !important; - padding-bottom: var(--arrowpanel-menuitemblank-padding) !important; + padding-top: var(--arrowpanel-menuitemblank-padding-block) !important; + padding-bottom: var(--arrowpanel-menuitemblank-padding-block) !important; } #appMenu-zoom-controls2 { @@ -5252,7 +5430,7 @@ list-style-image: url("chrome://browser/skin/downloads/downloads.svg"); } - @supports -moz-bool-pref("userChrome.icon.panel_full") { + @supports -moz-bool-pref("userChrome.icon.panel_full") or -moz-bool-pref("userChrome.icon.panel_photon") { #appMenu-passwords-button { list-style-image: url("chrome://browser/skin/login.svg"); } @@ -5286,7 +5464,8 @@ #appMenu-more-button2 { list-style-image: url("chrome://browser/skin/ion.svg"); } - + } + @supports -moz-bool-pref("userChrome.icon.panel_full") or -moz-bool-pref("userChrome.icon.panel_photon") { #appMenu-help-button2 { list-style-image: url("chrome://global/skin/icons/help.svg"); } @@ -5368,7 +5547,9 @@ } .PanelUI-remotetabs-notabsforclient-label { - margin-inline-start: calc(var(--arrowpanel-menuicon-padding) + var(--arrowpanel-menuitem-padding)) !important; + margin-inline-start: calc( + var(--arrowpanel-menuicon-padding) + var(--arrowpanel-menuitem-padding-inline) + ) !important; padding-inline-start: var(--arrowpanel-menublank-padding) !important; } @@ -5892,7 +6073,7 @@ /* Bookmark Popup - As Arrow Panel */ #BMB_bookmarksPopup, #PersonalToolbar { - --context-menu-background-padding: var(--arrowpanel-menuitem-padding); + --context-menu-background-padding: var(--arrowpanel-menuitem-padding-inline); } /* Windows 7, 8 */ @@ -5915,7 +6096,7 @@ menupopup:is(#BMB_bookmarksPopup) menu:not(.menu-iconic), #PersonalToolbar menupopup[placespopup="true"] menuitem:not(.menuitem-iconic, [disabled="true"]), #PersonalToolbar menupopup[placespopup="true"] menu:not(.menu-iconic) { - margin-inline: var(--arrowpanel-menuitem-padding) !important; + margin-inline: var(--arrowpanel-menuitem-padding-inline) !important; background-position: left calc(var(--arrowpanel-menuicon-padding)) center !important; } @@ -5938,7 +6119,7 @@ menupopup:is(#BMB_bookmarksPopup) menu:not(.menu-iconic), #PersonalToolbar menupopup[placespopup="true"] menuitem:not(.menuitem-iconic, [disabled="true"]), #PersonalToolbar menupopup[placespopup="true"] menu:not(.menu-iconic) { - margin-inline: var(--arrowpanel-menuitem-padding) !important; + margin-inline: var(--arrowpanel-menuitem-padding-inline) !important; padding-inline-start: calc(var(--arrowpanel-menuicon-padding) + var(--context-menu-text-padding)) !important; background-position: left calc(var(--arrowpanel-menuicon-padding)) center !important; } @@ -5961,20 +6142,20 @@ menupopup:is(#BMB_bookmarksPopup) menu:not(.menu-iconic), #PersonalToolbar menupopup[placespopup="true"] menuitem:not(.menuitem-iconic, [disabled="true"]), #PersonalToolbar menupopup[placespopup="true"] menu:not(.menu-iconic) { - padding-inline-start: calc(var(--arrowpanel-menuitem-padding) + 1px) !important; + padding-inline-start: calc(var(--arrowpanel-menuitem-padding-inline) + 1px) !important; } } @supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled") { /* Bookmark Popup - As Arrow Panel */ #PersonalToolbar menupopup menuitem, #PersonalToolbar menupopup menu { - padding-inline: calc(var(--arrowpanel-menuicon-padding) + var(--arrowpanel-menuitem-padding)) !important; + padding-inline: calc(var(--arrowpanel-menuicon-padding) + var(--arrowpanel-menuitem-padding-inline)) !important; } /* Bookmark Popup - None icon menu */ menupopup:is(#BMB_bookmarksPopup) menuitem:not(.menuitem-iconic, [disabled="true"]), menupopup:is(#BMB_bookmarksPopup) menu:not(.menu-iconic) { - padding-inline-start: calc(var(--arrowpanel-menuitem-padding) + 3px) !important; + padding-inline-start: calc(var(--arrowpanel-menuitem-padding-inline) + 3px) !important; } } @supports -moz-bool-pref("userChrome.icon.context_menu") { diff --git a/userContent.css b/userContent.css index e4b98ab..baace60 100644 --- a/userContent.css +++ b/userContent.css @@ -259,20 +259,32 @@ /** Activity Stream ***********************************************************/ @-moz-document url("about:home"), url("about:newtab") { /** Activity Stream - Search Focus Border: like URL *************************/ - @supports -moz-bool-pref("userContent.newTab.field_border") { + @supports -moz-bool-pref("userContent.page.field_border") { /* At DarkMode, Color */ body[style*="--newtab-background-color:rgba(28, 27, 34, 1);"], body[style*="--newtab-background-color:rgba(42, 42, 46, 1);"], body[style*="--newtab-background-color: rgba(42, 42, 46, 1);"], - body[style*="--newtab-background-color: rgba(43, 42, 51, 1);"] { + body[style*="--newtab-background-color: rgba(43, 42, 51, 1);"], + body[style*="--newtab-background-color: rgb(43, 42, 51);"] { /* inner */ --newtab-focus-border: rgba(0, 221, 255, 0.5) !important; /* Original: #B5D3FF, Better color-mix(in srgb, #B5D3FF 70%, transparent) */ - --newtab-focus-border-selected: rgba(0, 221, 255, 0.5) !important; + --newtab-focus-border-selected: var(--newtab-focus-border) !important; /* Original: #B5D3FF */ /* For Nightly */ --newtab-primary-action-background: var(--newtab-focus-border) !important; } + @supports -moz-bool-pref("userContent.page.proton_color") { + @supports -moz-bool-pref("userContent.page.proton_color.dark_blue_accent") { + body[style*="--newtab-background-color:rgba(28, 27, 34, 1);"], + body[style*="--newtab-background-color:rgba(42, 42, 46, 1);"], + body[style*="--newtab-background-color: rgba(42, 42, 46, 1);"], + body[style*="--newtab-background-color: rgba(43, 42, 51, 1);"], + body[style*="--newtab-background-color: rgb(43, 42, 51);"] { + --newtab-focus-border: var(--in-content-focus-outline-color) !important; + } + } + } } /** Activity Stream - Web Site Icon: full size ******************************/ @supports -moz-bool-pref("userContent.newTab.full_icon") { @@ -320,12 +332,32 @@ transition: border-color 0.5s var(--animation-easing-function), box-shadow 1s var(--animation-easing-function); } - .search-wrapper .search-inner-wrapper:hover input { - border-color: var(--newtab-primary-action-background) !important; - transition: border-color 0.5s var(--animation-easing-function); + @supports -moz-bool-pref("userContent.page.field_border") { + .search-wrapper .search-inner-wrapper:hover input { + border-color: var(--newtab-primary-action-background) !important; + transition: border-color 0.5s var(--animation-easing-function); + } } } } + /** Activity Stream - Pocket order to last **********************************/ + @supports -moz-bool-pref("userContent.newTab.pocket_to_last") { + .body-wrapper.on { + display: flex; + flex-wrap: wrap; + } + + .body-wrapper.on > .discovery-stream.ds-layout { + flex-basis: 100%; + } + + .body-wrapper.on > .collapsible-section[data-section-id="topstories"], + .home-section > #pocket-section, + .home-section > .divider, + .home-section > div:not(.section) { + order: 2; + } + } /** Activity Stream - Home Search Bar looks like proton *********************/ @supports -moz-bool-pref("userContent.newTab.animate") { /* Dropdown Colors */ @@ -527,145 +559,223 @@ /** Fully Dark Mode ***********************************************************/ /*= Fully Dark Mode - Dark Mode Colors =======================================*/ @supports -moz-bool-pref("userContent.page.proton_color") { - /*= Default Colors - Hard Coded ==============================================*/ - /* Based on chrome://global/skin/in-content/common.css */ - :host, - :root { - --in-content-page-color: rgb(21, 20, 26); - --in-content-page-background: #fff; - --in-content-text-color: var(--in-content-page-color); - --in-content-deemphasized-text: rgb(91, 91, 102); - --in-content-box-background: #fff; - --in-content-box-background-odd: rgba(12, 12, 13, 0.05); - /* grey 90 a05 */ - --in-content-box-border-color: color-mix(in srgb, currentColor 41%, transparent); - --in-content-box-info-background: #f0f0f4; - --in-content-item-hover: color-mix(in srgb, var(--in-content-primary-button-background) 20%, transparent); - --in-content-item-hover-text: var(--in-content-page-color); - --in-content-item-selected: var(--in-content-primary-button-background); - --in-content-item-selected-text: var(--in-content-primary-button-text-color); - --in-content-icon-color: rgb(91, 91, 102); - --in-content-accent-color: #0a84ff; - --in-content-accent-color-active: #0060df; - --in-content-border-hover: var(--grey-90-a50); - --in-content-border-invalid: var(--red-50); - --in-content-border-color: #d7d7db; - --in-content-error-text-color: #c50042; - --in-content-link-color: var(--blue-60); - --in-content-link-color-hover: var(--blue-70); - --in-content-link-color-active: var(--blue-80); - --in-content-link-color-visited: var(--blue-60); - /* button background states are also used for checkboxes and radiobuttons */ - --in-content-button-text-color: var(--in-content-text-color); - --in-content-button-text-color-hover: var(--in-content-text-color); - --in-content-button-background: rgba(207, 207, 216, 0.33); - --in-content-button-background-hover: rgba(207, 207, 216, 0.66); - --in-content-button-background-active: rgb(207, 207, 216); - --in-content-primary-button-text-color: rgb(251, 251, 254); - --in-content-primary-button-text-color-hover: var(--in-content-primary-button-text-color); - --in-content-primary-button-background: #0061e0; - --in-content-primary-button-background-hover: #0250bb; - --in-content-primary-button-background-active: #053e94; - --in-content-danger-button-background: #e22850; - --in-content-danger-button-background-hover: #c50042; - --in-content-danger-button-background-active: #810220; - --in-content-focus-outline-color: var(--in-content-primary-button-background); - /* Note: 1px smaller than we want because we have a 1px transparent border. */ - /* Once proton ships, these can probably stop being variables. */ - --in-content-button-border-radius: 4px; - --in-content-button-horizontal-padding: 15px; - --in-content-button-vertical-padding: 7px; - --in-content-table-background: #f8f8fa; - --in-content-table-border-color: var(--in-content-box-border-color); - /* Legacy: #d1d1d1; rgba(249, 249, 250, 0.2) */ - --in-content-table-header-background: var(--in-content-primary-button-background); - /* Legacy: #0a84ff; rgb(5, 64, 150); */ - --in-content-table-header-color: var(--in-content-primary-button-text-color); - /* Legacy: #ffffff; var(--in-content-page-color); */ - --in-content-sidebar-width: 240px; - --dialog-warning-text-color: var(--red-60); - --checkbox-border-color: var(--in-content-box-border-color); - --checkbox-unchecked-bgcolor: var(--in-content-button-background); - --checkbox-unchecked-hover-bgcolor: var(--in-content-button-background-hover); - --checkbox-unchecked-active-bgcolor: var(--in-content-button-background-active); - --checkbox-checked-bgcolor: var(--in-content-primary-button-background); - --checkbox-checked-color: var(--in-content-primary-button-text-color); - --checkbox-checked-border-color: transparent; - --checkbox-checked-hover-bgcolor: var(--in-content-primary-button-background-hover); - --checkbox-checked-active-bgcolor: var(--in-content-primary-button-background-active); - --blue-40: #45a1ff; - --blue-50: #0a84ff; - --blue-60: #0060df; - --blue-70: #003eaa; - --blue-80: #002275; - --grey-30: #d7d7db; - --grey-60: #4a4a4f; - --grey-90-a10: rgba(12, 12, 13, 0.1); - --grey-90-a20: rgba(12, 12, 13, 0.2); - --grey-90-a30: rgba(12, 12, 13, 0.3); - --grey-90-a50: rgba(12, 12, 13, 0.5); - --grey-90-a60: rgba(12, 12, 13, 0.6); - --green-50: #30e60b; - --green-60: #12bc00; - --green-70: #058b00; - --green-80: #006504; - --green-90: #003706; - --orange-50: #ff9400; - --red-40: #ff4f5e; - --red-50: #ff0039; - --red-60: #d70022; - --red-70: #a4000f; - --red-80: #5a0002; - --red-90: #3e0200; - --yellow-50: #ffe900; - --yellow-60: #d7b600; - --yellow-60-a30: rgba(215, 182, 0, 0.3); - --yellow-70: #a47f00; - --yellow-80: #715100; - --yellow-90: #3e2800; - --shadow-10: 0 1px 4px var(--grey-90-a10); - --shadow-30: 0 4px 16px var(--grey-90-a10); - --card-padding: 16px; - --card-shadow: var(--shadow-10); - --card-outline-color: var(--grey-30); - --card-shadow-hover: var(--card-shadow), 0 0 0 5px var(--card-outline-color); - } - - @media (-moz-toolbar-prefers-color-scheme: dark), (prefers-color-scheme: dark) { + @-moz-document url-prefix("about:"), + url-prefix("https://addons.mozilla.org"), + url-prefix("https://support.mozilla.org"), + url-prefix("https://accounts.firefox.com"), + url-prefix("view-source"), + regexp("^(((jar:)?file:///)|(chrome://)).*/$") + { + /*= Default Colors - Hard Coded ==============================================*/ + /* Based on chrome://global/skin/in-content/common.css */ :host, :root { - /* Keep these in sync with layout/base/PresShell.cpp, and plaintext.css */ - --in-content-page-background: rgb(28, 27, 34); - --in-content-page-color: rgb(251, 251, 254); - --in-content-deemphasized-text: rgb(191, 191, 201); - --in-content-box-background: rgb(35, 34, 43); - --in-content-box-background-odd: rgba(249, 249, 250, 0.05); - --in-content-box-info-background: rgba(249, 249, 250, 0.15); - --in-content-border-color: rgba(249, 249, 250, 0.2); - --in-content-border-hover: rgba(249, 249, 250, 0.3); - --in-content-border-invalid: rgb(255, 132, 139); - --in-content-error-text-color: #ff9aa2; - --in-content-button-background: rgb(43, 42, 51); - --in-content-button-background-hover: rgb(82, 82, 94); - --in-content-button-background-active: rgb(91, 91, 102); - --in-content-icon-color: rgb(251, 251, 254); - --in-content-primary-button-text-color: rgb(43, 42, 51); - --in-content-primary-button-background: rgb(0, 221, 255); - --in-content-primary-button-background-hover: rgb(128, 235, 255); - --in-content-primary-button-background-active: rgb(170, 242, 255); - --in-content-danger-button-background: #ff848b; - --in-content-danger-button-background-hover: #ffbdc5; - --in-content-danger-button-background-active: #ffdfe7; - --in-content-table-background: rgb(35, 34, 43); - --in-content-table-border-dark-color: var(--in-content-box-border-color); - --in-content-accent-color: var(--in-content-primary-button-background); - --in-content-accent-color-active: var(--in-content-primary-button-background-hover); - --in-content-link-color: var(--in-content-primary-button-background); - --in-content-link-color-hover: var(--in-content-primary-button-background-hover); - --in-content-link-color-active: var(--in-content-primary-button-background-active); - --in-content-link-color-visited: var(--in-content-link-color); - --card-outline-color: var(--grey-60); - --dialog-warning-text-color: var(--red-40); + --in-content-page-color: rgb(21, 20, 26); + --in-content-page-background: #fff; + --in-content-text-color: var(--in-content-page-color); + --in-content-deemphasized-text: rgb(91, 91, 102); + --in-content-box-background: #fff; + --in-content-box-background-odd: rgba(12, 12, 13, 0.05); + /* grey 90 a05 */ + --in-content-box-border-color: color-mix(in srgb, currentColor 41%, transparent); + --in-content-box-info-background: #f0f0f4; + --in-content-item-hover: color-mix(in srgb, var(--in-content-primary-button-background) 20%, transparent); + --in-content-item-hover-text: var(--in-content-page-color); + --in-content-item-selected: var(--in-content-primary-button-background); + --in-content-item-selected-text: var(--in-content-primary-button-text-color); + --in-content-icon-color: rgb(91, 91, 102); + --in-content-accent-color: #0a84ff; + --in-content-accent-color-active: #0060df; + --in-content-border-hover: var(--grey-90-a50); + --in-content-border-invalid: var(--red-50); + --in-content-border-color: #d7d7db; + --in-content-error-text-color: #c50042; + --in-content-link-color: var(--blue-60); + --in-content-link-color-hover: var(--blue-70); + --in-content-link-color-active: var(--blue-80); + --in-content-link-color-visited: var(--blue-60); + /* button background states are also used for checkboxes and radiobuttons */ + --in-content-button-text-color: var(--in-content-text-color); + --in-content-button-text-color-hover: var(--in-content-text-color); + --in-content-button-background: rgba(207, 207, 216, 0.33); + --in-content-button-background-hover: rgba(207, 207, 216, 0.66); + --in-content-button-background-active: rgb(207, 207, 216); + --in-content-primary-button-text-color: rgb(251, 251, 254); + --in-content-primary-button-text-color-hover: var(--in-content-primary-button-text-color); + --in-content-primary-button-background: #0061e0; + --in-content-primary-button-background-hover: #0250bb; + --in-content-primary-button-background-active: #053e94; + --in-content-danger-button-background: #e22850; + --in-content-danger-button-background-hover: #c50042; + --in-content-danger-button-background-active: #810220; + --in-content-focus-outline-color: var(--in-content-primary-button-background); + /* Note: 1px smaller than we want because we have a 1px transparent border. */ + /* Once proton ships, these can probably stop being variables. */ + --in-content-button-border-radius: 4px; + --in-content-button-horizontal-padding: 15px; + --in-content-button-vertical-padding: 7px; + --in-content-table-background: #f8f8fa; + --in-content-table-border-color: var(--in-content-box-border-color); + /* Legacy: #d1d1d1; rgba(249, 249, 250, 0.2) */ + --in-content-table-border-dark-color: var(--in-content-table-border-color); + --in-content-table-header-background: var(--in-content-primary-button-background); + /* Legacy: #0a84ff; rgb(5, 64, 150); */ + --in-content-table-header-color: var(--in-content-primary-button-text-color); + /* Legacy: #ffffff; var(--in-content-page-color); */ + --in-content-sidebar-width: 240px; + --dialog-warning-text-color: var(--red-60); + --checkbox-border-color: var(--in-content-box-border-color); + --checkbox-unchecked-bgcolor: var(--in-content-button-background); + --checkbox-unchecked-hover-bgcolor: var(--in-content-button-background-hover); + --checkbox-unchecked-active-bgcolor: var(--in-content-button-background-active); + --checkbox-checked-bgcolor: var(--in-content-primary-button-background); + --checkbox-checked-color: var(--in-content-primary-button-text-color); + --checkbox-checked-border-color: transparent; + --checkbox-checked-hover-bgcolor: var(--in-content-primary-button-background-hover); + --checkbox-checked-active-bgcolor: var(--in-content-primary-button-background-active); + --blue-40: #45a1ff; + --blue-50: #0a84ff; + --blue-60: #0060df; + --blue-70: #003eaa; + --blue-80: #002275; + --grey-30: #d7d7db; + --grey-60: #4a4a4f; + --grey-90-a10: rgba(12, 12, 13, 0.1); + --grey-90-a20: rgba(12, 12, 13, 0.2); + --grey-90-a30: rgba(12, 12, 13, 0.3); + --grey-90-a50: rgba(12, 12, 13, 0.5); + --grey-90-a60: rgba(12, 12, 13, 0.6); + --green-50: #30e60b; + --green-60: #12bc00; + --green-70: #058b00; + --green-80: #006504; + --green-90: #003706; + --orange-50: #ff9400; + --red-40: #ff4f5e; + --red-50: #ff0039; + --red-60: #d70022; + --red-70: #a4000f; + --red-80: #5a0002; + --red-90: #3e0200; + --yellow-50: #ffe900; + --yellow-60: #d7b600; + --yellow-60-a30: rgba(215, 182, 0, 0.3); + --yellow-70: #a47f00; + --yellow-80: #715100; + --yellow-90: #3e2800; + --shadow-10: 0 1px 4px var(--grey-90-a10); + --shadow-30: 0 4px 16px var(--grey-90-a10); + --card-padding: 16px; + --card-shadow: var(--shadow-10); + --card-outline-color: var(--grey-30); + --card-shadow-hover: var(--card-shadow), 0 0 0 5px var(--card-outline-color); + } + + @media (-moz-toolbar-prefers-color-scheme: dark), (prefers-color-scheme: dark) { + :host, + :root { + /* Keep these in sync with layout/base/PresShell.cpp, and plaintext.css */ + --in-content-page-background: rgb(28, 27, 34); + --in-content-page-color: rgb(251, 251, 254); + --in-content-deemphasized-text: rgb(191, 191, 201); + --in-content-box-background: rgb(35, 34, 43); + --in-content-box-background-odd: rgba(249, 249, 250, 0.05); + --in-content-box-info-background: rgba(249, 249, 250, 0.15); + --in-content-border-color: rgba(249, 249, 250, 0.2); + --in-content-border-hover: rgba(249, 249, 250, 0.3); + --in-content-border-invalid: rgb(255, 132, 139); + --in-content-error-text-color: #ff9aa2; + --in-content-button-background: rgb(43, 42, 51); + --in-content-button-background-hover: rgb(82, 82, 94); + --in-content-button-background-active: rgb(91, 91, 102); + --in-content-icon-color: rgb(251, 251, 254); + --in-content-primary-button-text-color: rgb(43, 42, 51); + --in-content-primary-button-background: rgb(0, 221, 255); + --in-content-primary-button-background-hover: rgb(128, 235, 255); + --in-content-primary-button-background-active: rgb(170, 242, 255); + --in-content-danger-button-background: #ff848b; + --in-content-danger-button-background-hover: #ffbdc5; + --in-content-danger-button-background-active: #ffdfe7; + --in-content-table-background: rgb(35, 34, 43); + --in-content-table-border-dark-color: var(--in-content-box-border-color); + --in-content-accent-color: var(--in-content-primary-button-background); + --in-content-accent-color-active: var(--in-content-primary-button-background-hover); + --in-content-link-color: var(--in-content-primary-button-background); + --in-content-link-color-hover: var(--in-content-primary-button-background-hover); + --in-content-link-color-active: var(--in-content-primary-button-background-active); + --in-content-link-color-visited: var(--in-content-link-color); + --card-outline-color: var(--grey-60); + --dialog-warning-text-color: var(--red-40); + } + } + @supports -moz-bool-pref("userContent.page.proton_color.dark_blue_accent") { + @media (-moz-toolbar-prefers-color-scheme: dark), (prefers-color-scheme: dark) { + :host, + :root { + /* Color Memo + Just refer - Photon's dark color + --button-primary-bgcolor: #0060DF; + --button-primary-hover-bgcolor: #003EAA; + --button-primary-active-bgcolor: #002275; + --lwt-brighttext-url-color: #74c0ff; + --lwt-toolbarbutton-icon-fill-attention: #45a1ff; + + Just refer - Proton's light color + --in-content-accent-color: #0a84ff; + --in-content-accent-color-active: #0060df; + --in-content-primary-button-background: #0061e0; + --in-content-primary-button-background-hover: #0250bb; + --in-content-primary-button-background-active: #053e94; + + --blue-40: #45a1ff; rgb(69, 161, 255) + --blue-50: #0a84ff; rgb(10, 132, 255) + --blue-60: #0060df; rgb(0, 96, 223) + --blue-70: #003eaa; rgb(0, 62, 170) + --blue-80: #002275; rgb(0, 34, 117) + + Relation + lighten(#0060df, 29%): #74b0ff; + lighten(#0060df, 19.8%): #4595ff + lighten(#0060df, 8.3%): #0a74ff + #0060df + darken(#0060df, 15.5%): #003e90; + darken(#0060df, 28.1%): #002250; + */ + --blue-20: #b6d6ff; + /* lighten(#0060df, 42%) - rgb(182, 214, 255), Add for link active color*/ + --blue-30: #74c0ff; + /* rgb(116, 192, 255), Add for active color */ + --organizer-outline-color: var(--blue-40) !important; + } + + :host, + :root { + --in-content-primary-button-text-color: var(--in-content-page-color) !important; + --in-content-primary-button-background: var(--blue-60) !important; + --in-content-primary-button-background-hover: var(--blue-50) !important; + --in-content-primary-button-background-active: var(--blue-40) !important; + --in-content-focus-outline-color: var(--blue-40) !important; + --in-content-accent-color: var(--blue-40) !important; + --in-content-accent-color-active: var(--blue-30) !important; + --in-content-table-background: rgb(35, 34, 43) !important; + --in-content-table-border-color: rgba(249, 249, 250, 0.2) !important; + --in-content-table-header-background: rgb(5, 64, 150) !important; + --in-content-table-header-color: var(--in-content-page-color) !important; + --in-content-link-color: var(--blue-40) !important; + --in-content-link-color-hover: var(--blue-30) !important; + --in-content-link-color-active: var(--blue-20) !important; + --in-content-link-color-visited: var(--blue-40) !important; + } + } + } + @supports -moz-bool-pref("userContent.page.proton_color.system_accent") { + :host, + :root { + --in-content-primary-button-text-color: -moz-accent-color-foreground !important; + --in-content-primary-button-background: Highlight !important; + --in-content-primary-button-background-hover: color-mix(in srgb, black 10%, Highlight) !important; + --in-content-primary-button-background-active: color-mix(in srgb, black 20%, Highlight) !important; + } } } } @@ -1290,7 +1400,7 @@ url-prefix("about:checkerboard"), url-prefix("about:sync-log"), url-prefix("about:memory"), - regexp("^((file:///)|(chrome://)).*/$") + regexp("^(((jar:)?file:///)|(chrome://)).*/$") { /* Base */ html, @@ -1549,6 +1659,23 @@ color: var(--in-content-table-header-color) !important; } } + /*= Field Border =============================================================*/ + @supports -moz-bool-pref("userContent.page.field_border") { + @media (prefers-reduced-motion: no-preference) { + @-moz-document url-prefix("about:") { + xul|search-textbox:hover { + border-color: var(--in-content-focus-outline-color) !important; + transition: border-color 0.5s var(--animation-easing-function); + } + } + @-moz-document url-prefix("about:config") { + #about-config-search:hover { + border-color: var(--in-content-focus-outline-color) !important; + transition: border-color 0.5s var(--animation-easing-function); + } + } + } + } /*= View Source ==============================================================*/ @-moz-document url-prefix("view-source") { :root { @@ -1630,7 +1757,7 @@ } /*= Directory View ===========================================================*/ @-moz-document url-prefix("about:sync-log"), - regexp("^((file:///)|(chrome://)).*/$") + regexp("^(((jar:)?file:///)|(chrome://)).*/$") { body { background-color: var(--in-content-box-background) !important; @@ -2234,7 +2361,7 @@ --organizer-hover-color: var(--organizer-color); --organizer-selected-background: var(--in-content-button-background-active); --organizer-selected-color: var(--organizer-color); - --organizer-outline-color: var(--in-content-primary-button-background); + --organizer-outline-color: var(--in-content-focus-outline-color); --organizer-separator-color: var(--organizer-pane-field-border-color); --organizer-border-color: var(--in-content-border-color); --organizer-toolbar-field-background: rgb(240, 240, 244); @@ -2259,7 +2386,6 @@ --organizer-content-background: rgb(28, 27, 34); --organizer-hover-background: rgb(82, 82, 94); --organizer-selected-background: rgb(91, 91, 102); - --organizer-outline-color: rgb(0, 221, 255); --organizer-toolbar-field-background: var(--in-content-page-background); --organizer-toolbar-field-background-focused: rgb(66, 65, 77); scrollbar-color: rgba(249, 249, 250, 0.4) rgba(20, 20, 25, 0.3); @@ -2370,7 +2496,8 @@ } /*- Downloads Pane -------------------------------------------------------*/ - #downloadsRichListBox { + #downloadsRichListBox, + #downloadsListBox { color: var(--organizer-color) !important; background-color: var(--organizer-content-background) !important; }