diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
index 541c511..91eea31 100644
--- a/.github/FUNDING.yml
+++ b/.github/FUNDING.yml
@@ -15,4 +15,4 @@
# custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
github: [black7375]
-ko_fi: [black7375]
+ko_fi: black7375
diff --git a/.github/actions/node-setup/action.yml b/.github/actions/node-setup/action.yml
index f0f138e..efe3547 100644
--- a/.github/actions/node-setup/action.yml
+++ b/.github/actions/node-setup/action.yml
@@ -1,18 +1,23 @@
name: "Setup"
+description: "Yarn cache action"
runs:
using: "composite"
steps:
+ - name: Corepack enable
+ run: corepack enable
+ shell: bash
+
# https://github.com/actions/cache/blob/main/examples.md#node---yarn
# https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
- name: Get yarn cache directory path
id: yarn-cache-dir-path
- run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT
+ run: echo "dir=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT
shell: bash
- name: Node cache
id: node-cache
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
path: |
${{ steps.yarn-cache-dir-path.outputs.dir }}
@@ -22,5 +27,5 @@ runs:
${{ runner.os }}-node-
- name: Package Install
- run: yarn install
+ run: yarn install --immutable
shell: bash
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 853e83f..d2e79f9 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -21,7 +21,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Setup
uses: ./.github/actions/node-setup
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index bc619ec..4545552 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -7,7 +7,7 @@ jobs:
sync-branches:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
with:
fetch-depth: 0
@@ -42,17 +42,17 @@ jobs:
- mode: "STANDARD"
name: "Lepton-Proton-Style"
branch: "proton-style"
- - mode: "ESR"
- name: "ESR-Lepton"
+ - mode: "LegacyV117"
+ name: "LegacyV117-Lepton"
branch: "master"
- - mode: "ESR"
- name: "ESR-Lepton-Photon-Style"
+ - mode: "LegacyV117"
+ name: "LegacyV117-Lepton-Photon-Style"
branch: "photon-style"
- - mode: "ESR"
- name: "ESR-Lepton-Proton-Style"
+ - mode: "LegacyV117"
+ name: "LegacyV117-Lepton-Proton-Style"
branch: "proton-style"
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
with:
ref: ${{ matrix.branch }}
@@ -75,8 +75,8 @@ jobs:
rm css/leptonChromeESR.css
rm css/leptonContentESR.css
- - name: Processing for ESR
- if: matrix.mode == 'ESR'
+ - name: Processing for LegacyV117
+ if: matrix.mode == 'LegacyV117'
run: |
sed -i "s/\.css/ESR\.css/g" userChrome.css
sed -i "s/\.css/ESR\.css/g" userContent.css
diff --git a/.gitignore b/.gitignore
index e79a5cb..bc286c1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -115,7 +115,7 @@ dist
# Zero install
# .pnp.* # If not zero install
.yarn/*
-!.yarn/cache
+.yarn/cache
!.yarn/patches
!.yarn/plugins
!.yarn/releases
diff --git a/.yarnrc.yml b/.yarnrc.yml
new file mode 100644
index 0000000..3186f3f
--- /dev/null
+++ b/.yarnrc.yml
@@ -0,0 +1 @@
+nodeLinker: node-modules
diff --git a/CREDITS b/CREDITS
index 24c1a9c..d7b8fbf 100644
--- a/CREDITS
+++ b/CREDITS
@@ -28,7 +28,8 @@ W: https://github.com/zapSNH
----------
Sponsors
-N: Private sponsors - 4
+N: Private sponsors - 5
+- https://ko-fi.com/home/coffeeshop?txid=be854d98-0856-48a6-8ec2-3f2a42f0b9d0
N: Alessandro Rubino
W: https://github.com/Babbiorsetto
@@ -37,9 +38,18 @@ N: Alex Besogonov
E: Alex.Besogonov@gmail.com
W: https://github.com/Cyberax
+N: aslam karachiwala
+W: https://github.com/akwala
+
N: AuRiMaS666
W: https://github.com/AuRiMaS666
+N: BrowserWorks
+W: https://github.com/BrowserWorks
+
+N: Christoph Mewes
+W: https://github.com/xrstf
+
N: Duncanyoyo1
W: https://ko-fi.com/duncanyoyo1
@@ -64,6 +74,9 @@ W: https://github.com/kanlukasz
N: Mike-Kennelly
W: https://github.com/Mike-Kennelly
+N: Minithra
+W: https://Ko-fi.com/home/coffeeshop?txid=a84c4838-f0e8-45b4-8b61-46684697e9b2&mode=public&img=ogsomeoneboughtme
+
N: nikkehtine
E: nikkehtine@int.pl
W: https://github.com/nikkehtine
@@ -73,12 +86,18 @@ W: https://www.oss.kr/
N: Safira
+N: Sunghyun Cho
+W: https://github.com/anaclumos
+
N: Ygg01
W: https://github.com/Ygg01
N: ZachKnife1
W: https://github.com/ZachKnife1
+N: Zachary Schuessler
+W: https://github.com/zschuessler
+
----------
Contributors
@@ -134,6 +153,10 @@ N: hellojaccc
E: kim@taekyeong.me
W: https://github.com/hellojaccc
+N: irhdevel
+E: irihi.design@gmail.com
+W: https://github.com/irhdevel
+
N: James Upjohn
E: jammehcow@jammehcow.co.nz
W: https://github.com/jammehcow
@@ -151,6 +174,9 @@ N: menndouyukkuri
E: menndoukusagari@gmail.com
W: https://github.com/menndouyukkuri
+N: mid-kid
+W: https://github.com/mid-kid
+
N: Mizuki
W: https://github.com/MagicalDrizzle
diff --git a/README.org b/README.org
index b707874..5c6029a 100644
--- a/README.org
+++ b/README.org
@@ -200,23 +200,27 @@ Thanks to all sponsors & contributors to this project for providing help and dev
*Sponsors*
[[https://www.oss.kr/][https://user-images.githubusercontent.com/25581533/203210367-9f2eed69-666a-4218-acde-128892aa09d8.png]]
-[[https://github.com/ojaha065][@@html:
@@]]
-[[https://github.com/DPS0340][@@html:
@@]]
+[[https://github.com/BrowserWorks][@@html:
@@]]
+[[https://github.com/ojaha065][@@html:
@@]]
+[[https://github.com/DPS0340][@@html:
@@]]
[[https://github.com/ZachKnife1][@@html:
@@]]
-[[https://github.com/kanlukasz][@@html:
@@]]
-[[https://github.com/nikkehtine][@@html:
@@]]
-[[https://github.com/Babbiorsetto][@@html:
@@]]
-[[https://github.com/Mike-Kennelly][@@html:
@@]]
+[[https://github.com/kanlukasz][@@html:
@@]]
+[[https://github.com/nikkehtine][@@html:
@@]]
+[[https://github.com/Babbiorsetto][@@html:
@@]]
+[[https://github.com/Mike-Kennelly][@@html:
@@]]
[[https://github.com/Cyberax][@@html:
@@]]
[[https://github.com/AuRiMaS666][@@html:
@@]]
[[https://github.com/firefox9067][@@html:
@@]]
[[https://github.com/Ygg01][@@html:
@@]]
[[https://github.com/engelju][@@html:
@@]]
+[[https://github.com/xrstf][@@html:
@@]]
+[[https://github.com/akwala][@@html:
@@]]
- A donation was received on [[https://ko-fi.com/black7375][Ko-Fi]]
- [[https://ko-fi.com/home/coffeeshop?txid=97e5fa0d-c73e-4308-a2fd-6b44b08cd828][Safira]]
- - [[https://ko-fi.com/duncanyoyo1][https://ko-fi.com/duncanyoyo1]]
-- Private sponsors: 4
+ - [[https://ko-fi.com/duncanyoyo1][duncanyoyo1]]
+ - [[https://ko-fi.com/home/coffeeshop?txid=a84c4838-f0e8-45b4-8b61-46684697e9b2][Minithra]]
+- Private sponsors: 5
*Contributors*
diff --git a/__tests__/mode.test.scss b/__tests__/mode.test.scss
index a02856e..52c1062 100644
--- a/__tests__/mode.test.scss
+++ b/__tests__/mode.test.scss
@@ -29,11 +29,11 @@
}
@include test("support pref") {
- @include mode.SUPPORT_PREF;
+ @include mode.SUPPORT_BOOL_PREF;
@include assert {
@include output {
- @if mode.isMediaPref() {
+ @if mode.isMediaBoolPref() {
@include example;
}
}
@@ -44,11 +44,11 @@
}
@include test("media pref") {
- @include mode.MEDIA_PREF;
+ @include mode.MEDIA_BOOL_PREF;
@include assert {
@include output {
- @if mode.isMediaPref() {
+ @if mode.isMediaBoolPref() {
@include example;
}
}
@@ -86,11 +86,11 @@
}
@include test("support pref") {
- @include mode.SUPPORT_PREF;
+ @include mode.SUPPORT_BOOL_PREF;
@include assert {
@include output {
- @if mode.isMediaPref() {
+ @if mode.isMediaBoolPref() {
@include example;
}
}
@@ -101,11 +101,11 @@
}
@include test("media pref") {
- @include mode.MEDIA_PREF;
+ @include mode.MEDIA_BOOL_PREF;
@include assert {
@include output {
- @if mode.isMediaPref() {
+ @if mode.isMediaBoolPref() {
@include example;
}
}
diff --git a/__tests__/native_menu.test.scss b/__tests__/native_menu.test.scss
index 0290ecb..425b09c 100644
--- a/__tests__/native_menu.test.scss
+++ b/__tests__/native_menu.test.scss
@@ -137,7 +137,7 @@
@include test-module("Native Menu Option - Standard [mix]") {
@include mode.STANDARD;
- @include mode.SUPPORT_PREF;
+ @include mode.SUPPORT_BOOL_PREF;
@include test("simple") {
@include assert {
@@ -256,7 +256,7 @@
@include test-module("Native Menu Option - MediaPref [mix]") {
@include mode.STANDARD;
- @include mode.MEDIA_PREF;
+ @include mode.MEDIA_BOOL_PREF;
@include test("simple") {
@include assert {
diff --git a/__tests__/one_liner.test.scss b/__tests__/one_liner.test.scss
index 77fec07..5155f68 100644
--- a/__tests__/one_liner.test.scss
+++ b/__tests__/one_liner.test.scss
@@ -51,7 +51,7 @@
@include test-module("One Liner - MediaPref [mix]") {
@include mode.STANDARD;
- @include mode.MEDIA_PREF;
+ @include mode.MEDIA_BOOL_PREF;
@include test("content") {
@include assert {
@@ -167,9 +167,9 @@
}
}
-@include test-module("One Liner for Responsive - MEDIA_PREF [mix]") {
+@include test-module("One Liner for Responsive - MEDIA_BOOL_PREF [mix]") {
@include mode.STANDARD;
- @include mode.MEDIA_PREF;
+ @include mode.MEDIA_BOOL_PREF;
@include test("Tabs on bottom") {
@include assert {
diff --git a/__tests__/option.test.scss b/__tests__/option.test.scss
index b47e8df..7a8bb74 100644
--- a/__tests__/option.test.scss
+++ b/__tests__/option.test.scss
@@ -81,7 +81,7 @@
@include test-module("If exist pref - Standard [mix]") {
@include mode.STANDARD;
- @include mode.SUPPORT_PREF;
+ @include mode.SUPPORT_BOOL_PREF;
@include test("simple") {
@include assert {
@@ -156,9 +156,9 @@
}
}
-@include test-module("If exist pref - MediaPref [mix]") {
+@include test-module("If exist pref - MediaBoolPref [mix]") {
@include mode.STANDARD;
- @include mode.MEDIA_PREF;
+ @include mode.MEDIA_BOOL_PREF;
@include test("simple") {
@include assert {
@@ -233,6 +233,83 @@
}
}
+@include test-module("If exist pref - Media [mix]") {
+ @include mode.STANDARD;
+ @include mode.MEDIA_PREF;
+
+ @include test("simple") {
+ @include assert {
+ @include output {
+ @include option.Option("userChrome.tab.photon") {
+ @include example;
+ }
+ }
+ @include expect {
+ @#{media} #{'-moz-pref("userChrome.tab.photon")'} {
+ @include example;
+ }
+ }
+ }
+ }
+
+ @include test("multiple") {
+ @include assert {
+ @include output {
+ @include option.Option("userChrome.tab.photon", "userChrome.padding.photon") {
+ @include example;
+ }
+ }
+ @include expect {
+ @#{media} #{'-moz-pref("userChrome.tab.photon") or -moz-pref("userChrome.padding.photon")'} {
+ @include example;
+ }
+ }
+ }
+ }
+
+ @include test("simple `and`") {
+ @include assert {
+ @include output {
+ @include option.Option("userChrome.tab.photon" "userChrome.padding.photon") {
+ @include example;
+ }
+ }
+ @include expect {
+ @#{media} #{'(-moz-pref("userChrome.tab.photon") and -moz-pref("userChrome.padding.photon"))'} {
+ @include example;
+ }
+ }
+ }
+ }
+
+ @include test("multiple `and`") {
+ @include assert {
+ @include output {
+ @include option.Option("userChrome.tab.photon" "userChrome.padding.photon", "userChrome.tab.box_shadow") {
+ @include example;
+ }
+ @include option.Option("userChrome.tab.photon" "userChrome.padding.photon", "userChrome.tab.box_shadow", "userChrome.icon.panel_full") {
+ @include example;
+ }
+ @include option.Option("userChrome.tab.photon" "userChrome.padding.photon", "userChrome.tab.box_shadow" "userChrome.icon.panel_full") {
+ @include example;
+ }
+ }
+ @include expect {
+ @#{media} #{'(-moz-pref("userChrome.tab.photon") and -moz-pref("userChrome.padding.photon")) or -moz-pref("userChrome.tab.box_shadow")'} {
+ @include example;
+ }
+ @#{media} #{'(-moz-pref("userChrome.tab.photon") and -moz-pref("userChrome.padding.photon")) or -moz-pref("userChrome.tab.box_shadow") or -moz-pref("userChrome.icon.panel_full")'} {
+ @include example;
+ }
+ @#{media} #{'(-moz-pref("userChrome.tab.photon") and -moz-pref("userChrome.padding.photon")) or (-moz-pref("userChrome.tab.box_shadow") and -moz-pref("userChrome.icon.panel_full"))'} {
+ @include example;
+ }
+ }
+ }
+ }
+}
+
@include test-module("If not exist pref - ESR [mx]") {
@include mode.ESR;
@@ -312,7 +389,7 @@
@include test-module("If not exist pref - Standard [mx]") {
@include mode.STANDARD;
- @include mode.SUPPORT_PREF;
+ @include mode.SUPPORT_BOOL_PREF;
@include test("simple") {
@include assert {
@@ -372,9 +449,9 @@
}
}
-@include test-module("If not exist pref - MediaPref [mx]") {
+@include test-module("If not exist pref - MediaBoolPref [mx]") {
@include mode.STANDARD;
- @include mode.MEDIA_PREF;
+ @include mode.MEDIA_BOOL_PREF;
@include test("simple") {
@include assert {
@@ -433,3 +510,65 @@
}
}
}
+
+@include test-module("If not exist pref - MediaPref [mx]") {
+ @include mode.STANDARD;
+ @include mode.MEDIA_PREF;
+
+ @include test("simple") {
+ @include assert {
+ @include output {
+ @include option.NotOption("userChrome.tab.photon") {
+ @include example;
+ }
+ }
+ @include expect {
+ @#{media} #{'not -moz-pref("userChrome.tab.photon")'} {
+ @include example;
+ }
+ }
+ }
+ }
+
+ @include test("multiple") {
+ @include assert {
+ @include output {
+ @include option.NotOption("userChrome.tab.photon", "userChrome.padding.photon") {
+ @include example;
+ }
+ }
+ @include expect {
+ @#{media} #{'(not -moz-pref("userChrome.tab.photon")) or (not -moz-pref("userChrome.padding.photon"))'} {
+ @include example;
+ }
+ }
+ }
+ }
+
+ @include test("multiple `and`") {
+ @include assert {
+ @include output {
+ @include option.NotOption("userChrome.tab.photon" "userChrome.padding.photon", "userChrome.tab.box_shadow") {
+ @include example;
+ }
+ @include option.NotOption("userChrome.tab.photon" "userChrome.padding.photon", "userChrome.tab.box_shadow", "userChrome.icon.panel_full") {
+ @include example;
+ }
+ @include option.NotOption("userChrome.tab.photon" "userChrome.padding.photon", "userChrome.tab.box_shadow" "userChrome.icon.panel_full") {
+ @include example;
+ }
+ }
+ @include expect {
+ @#{media} #{'((not -moz-pref("userChrome.tab.photon")) and (not -moz-pref("userChrome.padding.photon"))) or (not -moz-pref("userChrome.tab.box_shadow"))'} {
+ @include example;
+ }
+ @#{media} #{'((not -moz-pref("userChrome.tab.photon")) and (not -moz-pref("userChrome.padding.photon"))) or (not -moz-pref("userChrome.tab.box_shadow")) or (not -moz-pref("userChrome.icon.panel_full"))'} {
+ @include example;
+ }
+ @#{media} #{'((not -moz-pref("userChrome.tab.photon")) and (not -moz-pref("userChrome.padding.photon"))) or ((not -moz-pref("userChrome.tab.box_shadow")) and (not -moz-pref("userChrome.icon.panel_full")))'} {
+ @include example;
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/css/leptonChrome.css b/css/leptonChrome.css
index dac3290..2fbb895 100644
--- a/css/leptonChrome.css
+++ b/css/leptonChrome.css
@@ -2,7 +2,7 @@
@namespace xul url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
@namespace html url("http://www.w3.org/1999/xhtml");
/** Default Theme - Contrast **************************************************/
-@supports -moz-bool-pref("userChrome.theme.built_in_contrast") {
+@media -moz-pref("userChrome.theme.built_in_contrast") {
/*= Lightmode - Color darker =================================================*/
:root[lwtheme-mozlightdark]:not([lwthemetextcolor="bright"]),
:root[style*="--lwt-accent-color: rgb(240, 240, 244); --lwt-text-color: rgba(21, 20, 26);"] {
@@ -14,7 +14,7 @@
background-color: var(--lwt-accent-color) !important;
}
}
- @supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled") {
+ @media -moz-pref("layout.css.osx-font-smoothing.enabled") {
:root[lwtheme-mozlightdark]:not([lwthemetextcolor="bright"]) #navigator-toolbox,
:root[style*="--lwt-accent-color: rgb(240, 240, 244); --lwt-text-color: rgba(21, 20, 26);"] #navigator-toolbox {
background-color: var(--lwt-accent-color) !important;
@@ -28,7 +28,7 @@
}
/** Compatibility Fixes *******************************************************/
/*= Theme - Compatibility ====================================================*/
-@supports -moz-bool-pref("userChrome.compatibility.theme") {
+@media -moz-pref("userChrome.compatibility.theme") {
/*= Hotfix #98 ===============================================================*/
/* Hidden Tab Panel Padding */
#allTabsMenu-hiddenTabsView .all-tabs-item {
@@ -59,7 +59,7 @@
padding-inline-end: var(--arrowpanel-menuitem-padding-inline) !important;
}
/*= First visible tab margin at maximized #332 ===============================*/
- :root[tabsintitlebar="true"][sizemode="maximized"] #TabsToolbar {
+ :root:is([tabsintitlebar="true"], [customtitlebar="true"])[sizemode="maximized"] #TabsToolbar {
margin-left: -1px;
}
/*= Disabled menu background color ===========================================*/
@@ -68,7 +68,7 @@
background-color: transparent !important;
}
/*= Remove Tab Border ========================================================*/
- @supports -moz-bool-pref("userChrome.tab.connect_to_window") {
+ @media -moz-pref("userChrome.tab.connect_to_window") {
/* TARGET: original, photon */
#TabsToolbar:not([brighttext])
#tabbrowser-tabs:not([noshadowfortests])
@@ -116,7 +116,7 @@
:root[lwtheme-image] > body {
background-size: contain;
}
- @supports -moz-bool-pref("userChrome.compatibility.covered_header_image") {
+ @media -moz-pref("userChrome.compatibility.covered_header_image") {
:root[lwtheme-image] > body {
background-size: cover;
}
@@ -133,9 +133,18 @@
--tabs-border-color: rgba(0, 0, 0, 0.4); /* Legacy: v96, (0, 0, 0, 0.3) -> (0, 0, 0, 0.4) */
--lwt-tabs-border-color: rgba(0, 0, 0, 0.4);
}
+ #main-window {
+ background-color: WindowFrame !important;
+ }
+ :root[lwtheme][lwtheme-image] #customization-container {
+ background-image: none !important;
+ }
#customization-container {
background-color: transparent !important; /* Original: color-mix(in srgb, -moz-dialog 85%, white) */
}
+ :root:not([lwtheme]) #customization-container {
+ background-color: var(--toolbar-non-lwt-bgcolor) !important;
+ }
/*= Findbar Border Color =====================================================*/
html|input.findbar-textbox {
border: 1px solid var(--input-border-color, var(--toolbar-field-border-color, ThreeDShadow)) !important; /* Original: 1px solid var(--input-border-color, var(--toolbar-field-border-color)) */
@@ -158,7 +167,7 @@
padding-inline-start: var(--tab-overflow-pinned-tabs-width) !important;
margin-inline-start: 0 !important;
}
- @supports -moz-bool-pref("userChrome.tab.static_separator") {
+ @media -moz-pref("userChrome.tab.static_separator") {
#tabbrowser-tabs {
border-inline-start: none !important;
padding-inline-start: var(--tab-overflow-pinned-tabs-width) !important;
@@ -174,14 +183,18 @@
align-items: center !important;
}
/*= Inactive transparent #882 ================================================*/
- :root[tabsintitlebar] #titlebar:-moz-window-inactive {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar:-moz-window-inactive,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar:-moz-window-inactive,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar:-moz-window-inactive {
opacity: 1 !important;
color: color-mix(in srgb, currentColor calc(var(--inactive-titlebar-opacity, 0.75) * 100%), transparent) !important;
--inactive-toolbarbutton-icon-fill-opacity: calc(
var(--toolbarbutton-icon-fill-opacity, 1) * var(--inactive-titlebar-opacity, 0.75)
);
}
- :root[tabsintitlebar] #titlebar:-moz-window-inactive .toolbarbutton-icon {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar:-moz-window-inactive .toolbarbutton-icon,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar:-moz-window-inactive .toolbarbutton-icon,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar:-moz-window-inactive .toolbarbutton-icon {
fill-opacity: var(--inactive-toolbarbutton-icon-fill-opacity, 1);
}
/*= Tabpreviw transparent #890 ===============================================*/
@@ -193,24 +206,36 @@
--arrowpanel-color
) !important; /* Original: var(--tab-selected-textcolor, var(--toolbar-color)) */
}
+ /*= Design token =============================================================*/
+ :root,
+ :host {
+ --button-color: var(--button-text-color);
+ --button-bgcolor: var(--button-background-color);
+ --button-hover-bgcolor: var(--button-background-color-hover);
+ --button-active-bgcolor: var(--button-background-color-active);
+ --button-primary-color: var(--button-text-color-primary);
+ --button-primary-bgcolor: var(--button-background-color-primary);
+ --button-primary-hover-bgcolor: var(--button-background-color-primary-hover);
+ --button-primary-active-bgcolor: var(--button-background-color-primary-active);
+ }
}
/*= OS - Compatibility =======================================================*/
-@supports -moz-bool-pref("userChrome.compatibility.os") {
+@media -moz-pref("userChrome.compatibility.os") {
/*= Windows 10 - Top border of accent color at ESR #358 ======================*/
@media (-moz-platform: windows) {
- :root[sizemode="normal"][tabsintitlebar] #navigator-toolbox {
+ :root[sizemode="normal"]:is([tabsintitlebar], [customtitlebar]) #navigator-toolbox {
border-top: 0.5px solid rgb(47, 47, 47) !important;
}
- :root[sizemode="normal"][tabsintitlebar]:-moz-window-inactive #navigator-toolbox {
+ :root[sizemode="normal"]:is([tabsintitlebar], [customtitlebar]):-moz-window-inactive #navigator-toolbox {
border-top-color: rgb(57, 57, 57) !important;
}
}
@media (-moz-platform: windows) and (-moz-windows-accent-color-in-titlebar) {
- :root[sizemode="normal"][tabsintitlebar] #navigator-toolbox {
+ :root[sizemode="normal"]:is([tabsintitlebar], [customtitlebar]) #navigator-toolbox {
border-top-color: ActiveBorder !important;
}
- @supports -moz-bool-pref("userChrome.compatibility.accent_color") {
- :root[sizemode="normal"][tabsintitlebar] #navigator-toolbox {
+ @media -moz-pref("userChrome.compatibility.accent_color") {
+ :root[sizemode="normal"]:is([tabsintitlebar], [customtitlebar]) #navigator-toolbox {
border-top-color: -moz-accent-color !important;
}
}
@@ -225,28 +250,6 @@
color: inherit !important; /* Original: -moz-menubarhovertext */
background-color: color-mix(in srgb, currentColor 20%, transparent) !important; /* Original: -moz-menuhover */
}
- /*= Linux - Titlebar button at lwtheme =====================================*/
- @supports not -moz-bool-pref("userChrome.compatibility.os.linux_non_native_titlebar_button") {
- :root:is(:-moz-lwtheme, [lwtheme]) .titlebar-button {
- appearance: none !important;
- }
- :root:is(:-moz-lwtheme, [lwtheme]) .titlebar-button > .toolbarbutton-icon {
- appearance: auto !important;
- width: unset !important;
- height: unset !important;
- }
- :root:is(:-moz-lwtheme, [lwtheme]) .titlebar-min,
- :root:is(:-moz-lwtheme, [lwtheme]) .titlebar-max,
- :root:is(:-moz-lwtheme, [lwtheme]) .titlebar-restore,
- :root:is(:-moz-lwtheme, [lwtheme]) .titlebar-close {
- list-style-image: none !important;
- }
- :root:is(:-moz-lwtheme, [lwtheme]) .titlebar-button,
- :root:is(:-moz-lwtheme, [lwtheme]) .titlebar-button:hover:active {
- background-color: unset !important;
- color: unset !important;
- }
- }
}
/*= Linux - Light System Default Theme's Selected Tab ========================*/
@media (-moz-gtk-csd-available) and (prefers-color-scheme: light) {
@@ -274,46 +277,50 @@
}
/*= Titlebar Container Size at maximized #384 ================================*/
@media (-moz-platform: windows) {
- @supports not -moz-bool-pref("userChrome.compatibility.os.windows_maximized") {
- :root[tabsintitlebar] #titlebar {
+ @media not -moz-pref("userChrome.compatibility.os.windows_maximized") {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar {
/* -moz-default-appearance: -moz-window-titlebar */
appearance: none !important;
}
}
- @supports -moz-bool-pref("userChrome.compatibility.os.windows_maximized") {
- :root[tabsintitlebar][sizemode="maximized"] #titlebar {
+ @media -moz-pref("userChrome.compatibility.os.windows_maximized") {
+ :root:is([tabsintitlebar], [customtitlebar])[sizemode="maximized"] #titlebar {
appearance: none !important;
padding-top: 8px;
}
}
}
/*= Windows - Classic Theme #734 =============================================*/
+ /*= MacOS Fullscreen clipping #1045 ==========================================*/
+ :root[sizemode="fullscreen"][macOSNativeFullscreen]:not([inDOMFullscreen="true"]) #TabsToolbar {
+ min-height: var(--tab-min-height, fit-content) !important;
+ }
}
/*= Others - Compatibility ===================================================*/
-@supports -moz-bool-pref("userChrome.compatibility.panel_cutoff") {
+@media -moz-pref("userChrome.compatibility.panel_cutoff") {
#appMenu-popup panelview {
width: 24.5em !important; /* can modify panel width, Original: 22.5em */
}
}
-@supports -moz-bool-pref("userChrome.compatibility.navbar_top_border") {
+@media -moz-pref("userChrome.compatibility.navbar_top_border") {
#nav-bar {
box-shadow: none !important;
}
}
/** Theme *********************************************************************/
/*= System Default Theme =====================================================*/
-@supports -moz-bool-pref("userChrome.theme.system_default") {
+@media -moz-pref("userChrome.theme.system_default") {
/*= Common - URL Bar focus color =============================================*/
@media (-moz-windows-accent-color-in-titlebar), (-moz-gtk-csd-available) {
/* URL Bar */
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme)),
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) {
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme)),
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) {
--focus-outline-color: AccentColor !important;
}
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
#urlbar[open]
> #urlbar-background,
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
#urlbar[open]
> #urlbar-background {
border-color: color-mix(
@@ -322,15 +329,15 @@
transparent
) !important; /* Like: --toolbar-field-focus-border-color */
}
- @supports -moz-bool-pref("userChrome.compatibility.accent_color") {
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme)),
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) {
+ @media -moz-pref("userChrome.compatibility.accent_color") {
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme)),
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) {
--focus-outline-color: -moz-accent-color !important;
}
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
#urlbar[open]
> #urlbar-background,
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
#urlbar[open]
> #urlbar-background {
border-color: color-mix(
@@ -370,7 +377,7 @@
--win-accent-hover-color: color-mix(in srgb, rgba(255, 255, 255, 0.8) 27%, AccentColor);
--win-accent-active-color: AccentColor;
}
- @supports -moz-bool-pref("userChrome.compatibility.accent_color") {
+ @media -moz-pref("userChrome.compatibility.accent_color") {
:root:is(:not([lwtheme]), :not(:-moz-lwtheme)) {
--win-accent-foreground-color: -moz-accent-color-foreground;
--win-accent-color: color-mix(in srgb, rgba(0, 0, 0, 0.8) 10%, -moz-accent-color);
@@ -379,7 +386,7 @@
--win-accent-active-color: -moz-accent-color;
}
}
- @supports -moz-bool-pref("userChrome.compatibility.os.win11") {
+ @media -moz-pref("userChrome.compatibility.os.win11") {
:root:is(:not([lwtheme]), :not(:-moz-lwtheme)) {
--win-text-color: #1a1a1a;
--win-bgcolor: #e8e8e8;
@@ -434,7 +441,7 @@
--win-accent-hover-color: color-mix(in srgb, rgba(0, 0, 0, 0.8) 5%, AccentColor);
--win-accent-active-color: AccentColor;
}
- @supports -moz-bool-pref("userChrome.compatibility.accent_color") {
+ @media -moz-pref("userChrome.compatibility.accent_color") {
:root:is(:not([lwtheme]), :not(:-moz-lwtheme)),
:root[lwt-default-theme-in-dark-mode] {
--win-accent-color: color-mix(in srgb, rgba(255, 255, 255, 0.8) 20%, -moz-accent-color);
@@ -443,7 +450,7 @@
--win-accent-active-color: -moz-accent-color;
}
}
- @supports -moz-bool-pref("userChrome.compatibility.os.win11") {
+ @media -moz-pref("userChrome.compatibility.os.win11") {
:root:is(:not([lwtheme]), :not(:-moz-lwtheme)),
:root[lwt-default-theme-in-dark-mode] {
--win-bgcolor: #202020;
@@ -567,7 +574,7 @@
--download-progress-flare-color: rgba(255, 255, 255, 0.75) !important;
--panelview-toolbarbutton-focus-box-shadow: inset 0 0 0 2px var(--focus-outline-color) !important;
}
- @supports -moz-bool-pref("userChrome.compatibility.accent_color") {
+ @media -moz-pref("userChrome.compatibility.accent_color") {
:root:is(:not([lwtheme]), :not(:-moz-lwtheme)),
:root[lwt-default-theme-in-dark-mode] {
--tab-line-color: Highlight !important;
@@ -593,17 +600,20 @@
}
}
@media (-moz-platform: windows) {
- @supports -moz-bool-pref("userChrome.theme.system_default") {
+ @media -moz-pref("userChrome.theme.system_default") {
@media (-moz-platform: windows) and (-moz-windows-accent-color-in-titlebar) {
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme)),
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) {
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(
+ :not([lwtheme]),
+ :not(:-moz-lwtheme)
+ ),
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) {
--toolbarseparator-color: color-mix(in srgb, currentColor 20%, transparent) !important; /* As default */
}
}
}
}
@media (-moz-platform: windows) {
- @supports -moz-bool-pref("userChrome.compatibility.os.win11") {
+ @media -moz-pref("userChrome.compatibility.os.win11") {
:root:is(:not([lwtheme]), :not(:-moz-lwtheme)),
:root[lwt-default-theme-in-dark-mode] {
--chrome-content-separator-color: var(--win11-chrome-separator-color) !important;
@@ -614,7 +624,7 @@
}
}
@media (-moz-platform: windows) {
- @supports not -moz-bool-pref("userChrome.tab.color_like_toolbar") {
+ @media not -moz-pref("userChrome.tab.color_like_toolbar") {
:root:is(:not([lwtheme]), :not(:-moz-lwtheme)),
:root[lwt-default-theme-in-dark-mode] {
--win-proton-tab-selected-bgcolor: color-mix(in srgb, var(--win-bgcolor) 5%, var(--win-component-bgcolor));
@@ -639,7 +649,11 @@
}
@media (-moz-platform: windows) {
:root:is(:not([lwtheme]), :not(:-moz-lwtheme)) #titlebar,
- :root[lwt-default-theme-in-dark-mode] #titlebar {
+ :root[lwt-default-theme-in-dark-mode] #titlebar,
+ :root:is(:not([lwtheme]), :not(:-moz-lwtheme)) #toolbar-menubar,
+ :root[lwt-default-theme-in-dark-mode] #toolbar-menubar,
+ :root:is(:not([lwtheme]), :not(:-moz-lwtheme)) #TabsToolbar,
+ :root[lwt-default-theme-in-dark-mode] #TabsToolbar {
--button-hover-bgcolor: var(--win-sidebar-button-hover-bgcolor);
--button-active-bgcolor: var(--win-sidebar-button-hover-active-bgcolor);
--toolbarbutton-hover-background: var(--win-sidebar-button-hover-bgcolor);
@@ -686,7 +700,8 @@
#appMenu-zoomReduce-button2,
#appMenu-zoomReset-button2,
#appMenu-zoomEnlarge-button2,
- #appMenu-fullscreen-button2
+ #appMenu-fullscreen-button2,
+ .unified-extensions-item-menu-button
):is(:hover),
:root[lwt-default-theme-in-dark-mode]
toolbarbutton.subviewbutton:not(
@@ -697,7 +712,8 @@
#appMenu-zoomReduce-button2,
#appMenu-zoomReset-button2,
#appMenu-zoomEnlarge-button2,
- #appMenu-fullscreen-button2
+ #appMenu-fullscreen-button2,
+ .unified-extensions-item-menu-button
):is(:hover) {
background-color: var(--win-hover-bgcolor) !important;
}
@@ -737,6 +753,27 @@
}
}
@media (-moz-platform: windows) {
+ :root:is(:not([lwtheme]), :not(:-moz-lwtheme))
+ #tabbrowser-tabs:not([movingtab])
+ > #pinned-tabs-container
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[multiselected]:not([selected]),
+ :root[lwtheme-mozlightdark]
+ #tabbrowser-tabs:not([movingtab])
+ > #pinned-tabs-container
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[multiselected]:not([selected]),
+ :root:is(
+ [style*="--lwt-accent-color: rgb(240, 240, 244); --lwt-text-color: rgba(21, 20, 26);"],
+ [style*="--lwt-accent-color: rgb(28, 27, 34); --lwt-text-color: rgba(251, 251, 254);"]
+ )
+ #tabbrowser-tabs:not([movingtab])
+ > #pinned-tabs-container
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[multiselected]:not([selected]),
:root:is(:not([lwtheme]), :not(:-moz-lwtheme))
#tabbrowser-tabs:not([movingtab])
> #tabbrowser-arrowscrollbox
@@ -768,27 +805,43 @@
/*= Windows10 - Titlebar accent color ========================================*/
@media (-moz-windows-accent-color-in-titlebar) {
/* Tab Bar */
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme)) .titlebar-color,
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) .titlebar-color {
- color: AccentColorText;
- background-color: AccentColor;
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ .titlebar-color,
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ .browser-titlebar,
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ .titlebar-color,
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ .browser-titlebar {
+ color: AccentColorText !important;
+ background-color: AccentColor !important;
}
- @supports -moz-bool-pref("userChrome.compatibility.accent_color") {
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme)) .titlebar-color,
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) .titlebar-color {
- color: -moz-accent-color-foreground;
- background-color: -moz-accent-color;
+ @media -moz-pref("userChrome.compatibility.accent_color") {
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ .titlebar-color,
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ .browser-titlebar,
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ .titlebar-color,
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ .browser-titlebar {
+ color: -moz-accent-color-foreground !important;
+ background-color: -moz-accent-color !important;
}
}
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme)) .toolbar-items,
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) .toolbar-items {
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ .toolbar-items,
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ .toolbar-items {
--toolbarbutton-icon-fill: currentColor;
--toolbarbutton-hover-background: color-mix(in srgb, AccentColorText 10%, transparent);
--toolbarbutton-active-background: color-mix(in srgb, AccentColorText 15%, transparent);
}
- @supports -moz-bool-pref("userChrome.compatibility.accent_color") {
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme)) .toolbar-items,
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) .toolbar-items {
+ @media -moz-pref("userChrome.compatibility.accent_color") {
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ .toolbar-items,
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ .toolbar-items {
--toolbarbutton-hover-background: color-mix(in srgb, -moz-accent-color-foreground 10%, transparent);
--toolbarbutton-active-background: color-mix(in srgb, -moz-accent-color-foreground 15%, transparent);
}
@@ -804,7 +857,7 @@
:root:is(:not([lwtheme]), :not(:-moz-lwtheme)) .urlbarView-url {
--urlbar-popup-url-color: AccentColor;
}
- @supports -moz-bool-pref("userChrome.compatibility.accent_color") {
+ @media -moz-pref("userChrome.compatibility.accent_color") {
:root:is(:not([lwtheme]), :not(:-moz-lwtheme)) .urlbarView-url {
--urlbar-popup-url-color: -moz-accent-color;
}
@@ -815,7 +868,7 @@
}
}
/*= Mac - Default like color =================================================*/
- @supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled") {
+ @media -moz-pref("layout.css.osx-font-smoothing.enabled") {
:root:is(:not([lwtheme]), :not(:-moz-lwtheme)),
:root[lwt-default-theme-in-dark-mode] {
/* Colors */
@@ -943,7 +996,7 @@
--download-progress-flare-color: rgba(255, 255, 255, 0.75) !important;
--panelview-toolbarbutton-focus-box-shadow: inset 0 0 0 2px var(--focus-outline-color) !important;
}
- @supports -moz-bool-pref("userChrome.compatibility.accent_color") {
+ @media -moz-pref("userChrome.compatibility.accent_color") {
:root:is(:not([lwtheme]), :not(:-moz-lwtheme)),
:root[lwt-default-theme-in-dark-mode] {
--mac-primary-button-color: -moz-accent-color-foreground; /* or -moz-mac-menutextselect */
@@ -968,7 +1021,7 @@
}
}
/*- Proton Tab Selected ----------------------------------------------------*/
- @supports not -moz-bool-pref("userChrome.tab.color_like_toolbar") {
+ @media not -moz-pref("userChrome.tab.color_like_toolbar") {
:root:is(:not([lwtheme]), :not(:-moz-lwtheme)),
:root[lwt-default-theme-in-dark-mode] {
--mac-proton-tab-selected-bgcolor: color-mix(in srgb, rgb(255, 255, 255) 20%, -moz-dialog);
@@ -985,11 +1038,17 @@
:root[lwt-default-theme-in-dark-mode] #navigator-toolbox {
background-color: var(--mac-bgcolor) !important;
}
- :root:is(:not([lwtheme]), :not(:-moz-lwtheme)) #titlebar {
+ :root:is(:not([lwtheme]), :not(:-moz-lwtheme)) #titlebar,
+ :root:is(:not([lwtheme]), :not(:-moz-lwtheme)) #toolbar-menubar,
+ :root:is(:not([lwtheme]), :not(:-moz-lwtheme)) #TabsToolbar {
--mac-hover-bgcolor: ButtonFace;
}
:root:is(:not([lwtheme]), :not(:-moz-lwtheme)) #titlebar,
- :root[lwt-default-theme-in-dark-mode] #titlebar {
+ :root[lwt-default-theme-in-dark-mode] #titlebar,
+ :root:is(:not([lwtheme]), :not(:-moz-lwtheme)) #toolbar-menubar,
+ :root[lwt-default-theme-in-dark-mode] #toolbar-menubar,
+ :root:is(:not([lwtheme]), :not(:-moz-lwtheme)) #TabsToolbar,
+ :root[lwt-default-theme-in-dark-mode] #TabsToolbar {
--button-hover-bgcolor: var(--mac-hover-bgcolor);
--button-active-bgcolor: var(--mac-hover-bgcolor);
--toolbarbutton-hover-background: var(--mac-hover-bgcolor);
@@ -1033,7 +1092,19 @@
}
}
/* Hard Coded */
- @supports -moz-bool-pref("userChrome.tab.color_like_toolbar") {
+ @media -moz-pref("userChrome.tab.color_like_toolbar") {
+ :root[lwtheme-mozlightdark][lwt-default-theme-in-dark-mode]
+ #tabbrowser-tabs:not([movingtab])
+ > #pinned-tabs-container
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[selected],
+ :root[style*="--lwt-accent-color: rgb(28, 27, 34); --lwt-text-color: rgba(251, 251, 254);"][lwt-default-theme-in-dark-mode]
+ #tabbrowser-tabs:not([movingtab])
+ > #pinned-tabs-container
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[selected],
:root[lwtheme-mozlightdark][lwt-default-theme-in-dark-mode]
#tabbrowser-tabs:not([movingtab])
> #tabbrowser-arrowscrollbox
@@ -1058,7 +1129,7 @@
}
}
/*= None Native Menu =========================================================*/
-@supports -moz-bool-pref("userChrome.theme.non_native_menu") {
+@media -moz-pref("userChrome.theme.non_native_menu") {
@media (-moz-gtk-csd-available) {
:root {
/* Override some menu color variables for light browser themes. */
@@ -1188,8 +1259,11 @@
width: unset !important;
}
.menu-iconic-left .menu-iconic-icon,
+ .menu-iconic-left .menu-icon,
menuitem[type="checkbox"] .menu-iconic-icon,
- menuitem[type="radio"] .menu-iconic-icon {
+ menuitem[type="checkbox"] .menu-icon,
+ menuitem[type="radio"] .menu-iconic-icon,
+ menuitem[type="radio"] .menu-icon {
appearance: none !important;
}
}
@@ -1218,7 +1292,8 @@
}
}
@media (-moz-gtk-csd-available) {
- menuitem[checked="true"] > .menu-iconic-left {
+ menuitem[checked="true"] > .menu-iconic-left,
+ menuitem[checked="true"] > .menu-icon {
-moz-context-properties: fill, fill-opacity !important;
fill: currentColor !important;
fill-opacity: var(--menu-icon-opacity) !important;
@@ -1248,7 +1323,7 @@
@media (-moz-gtk-csd-available) {
menupopup {
/* Disable the default appearance so we can override the native styling. */
- appearance: none !important !important;
+ appearance: none !important;
/* Prevent any background or border around the outside of the shadow. */
background-color: transparent !important;
border: none !important;
@@ -1275,7 +1350,7 @@
min-width: 0 !important;
min-height: 0 !important;
}
- @supports -moz-bool-pref("userChrome.rounding.square_menupopup") {
+ @media -moz-pref("userChrome.rounding.square_menupopup") {
.menupopup-arrowscrollbox[part*="content"] {
border-radius: 0px !important;
}
@@ -1331,13 +1406,15 @@
}
}
@media (-moz-gtk-csd-available) {
- #context-navigation > .menuitem-iconic > .menu-iconic-left {
+ #context-navigation > .menuitem-iconic > .menu-iconic-left,
+ #context-navigation > .menuitem-iconic > .menu-icon {
margin: 0 !important;
padding: 0 !important;
}
}
@media (-moz-gtk-csd-available) {
- #context-navigation > .menuitem-iconic > .menu-iconic-left > .menu-iconic-icon {
+ #context-navigation > .menuitem-iconic > .menu-iconic-left > .menu-iconic-icon,
+ #context-navigation > .menuitem-iconic > .menu-icon {
width: var(--menuitem-min-width) !important;
height: 32px !important;
padding: 8px 1em !important;
@@ -1345,7 +1422,8 @@
}
}
@media (-moz-gtk-csd-available) {
- #context-navigation > .menuitem-iconic[_moz-menuactive="true"] > .menu-iconic-left > .menu-iconic-icon {
+ #context-navigation > .menuitem-iconic[_moz-menuactive="true"] > .menu-iconic-left > .menu-iconic-icon,
+ #context-navigation > .menuitem-iconic[_moz-menuactive="true"] > .menu-icon {
background-color: var(--menuitem-hover-background-color) !important;
}
}
@@ -1353,7 +1431,8 @@
#context-navigation
> .menuitem-iconic[_moz-menuactive="true"][disabled="true"]
> .menu-iconic-left
- > .menu-iconic-icon {
+ > .menu-iconic-icon,
+ #context-navigation > .menuitem-iconic[_moz-menuactive="true"][disabled="true"] > .menu-icon {
background-color: transparent !important;
}
}
@@ -1395,7 +1474,7 @@
}
}
/*= Fully Theme Mode =========================================================*/
-@supports -moz-bool-pref("userChrome.theme.proton_color") {
+@media -moz-pref("userChrome.theme.proton_color") {
/*= Default Colors - Hard Coded ==============================================*/
/* Based on chrome://global/skin/in-content/common.css */
:host,
@@ -1578,7 +1657,7 @@
--menu-icon-opacity: var(--dark-menu-icon-opacity);
}
}
- @supports -moz-bool-pref("userChrome.theme.non_native_menu") {
+ @media -moz-pref("userChrome.theme.non_native_menu") {
@media (-moz-gtk-csd-available) {
:root {
/* Override some menu color variables for light browser themes. */
@@ -1612,7 +1691,7 @@
}
}
}
- @supports -moz-bool-pref("userChrome.theme.proton_color.dark_blue_accent") {
+ @media -moz-pref("userChrome.theme.proton_color.dark_blue_accent") {
@media (prefers-color-scheme: dark) {
:host,
:root {
@@ -1679,7 +1758,7 @@
--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.decoration.download_panel") {
+ @media -moz-pref("userChrome.decoration.download_panel") {
:root[lwtheme-mozlightdark][lwthemetextcolor="bright"] #downloadsListBox,
:root[style*="--lwt-accent-color: rgb(28, 27, 34); --lwt-text-color: rgba(251, 251, 254);"] #downloadsListBox {
--button-primary-bgcolor: var(--blue-30);
@@ -1689,7 +1768,7 @@
}
}
}
-@supports -moz-bool-pref("userChrome.theme.private") {
+@media -moz-pref("userChrome.theme.private") {
:root[privatebrowsingmode="temporary"],
:root[lwtheme-mozlightdark]:not([lwthemetextcolor="bright"])[privatebrowsingmode="temporary"],
:root[style*="--lwt-accent-color: rgb(240, 240, 244); --lwt-text-color: rgba(21, 20, 26);"][privatebrowsingmode="temporary"],
@@ -1808,7 +1887,7 @@
--menu-border-color: #322560 !important;
}
}
-@supports -moz-bool-pref("userChrome.theme.fully_color") {
+@media -moz-pref("userChrome.theme.fully_color") {
/*== Menu Color ==============================================================*/
html#main-window menupopup:not(.in-menulist) {
/* is same as toolbar color https://github.com/mozilla/gecko-dev/blob/master/toolkit/themes/windows/global/global.css#L17-L67 */
@@ -1860,7 +1939,6 @@
> .menu-iconic-icon {
background-color: var(--menuitem-hover-background-color) !important;
}
- html#main-window menupopup #context-navigation > .menuitem-iconic[_moz-menuactive="true"],
html#main-window
menupopup
#context-navigation
@@ -1875,7 +1953,7 @@
--toolbarbutton-hover-background: rgba(232, 224, 255, 0.11999999731779099) !important;
}
}
- @supports -moz-bool-pref("userChrome.theme.non_native_menu") {
+ @media -moz-pref("userChrome.theme.non_native_menu") {
@media (-moz-gtk-csd-available) {
html#main-window menupopup:not(.in-menulist) {
/* Above FF v105 #466 */
@@ -1907,7 +1985,6 @@
> .menu-iconic-icon {
background-color: var(--menuitem-hover-background-color) !important;
}
- html#main-window menupopup #context-navigation > .menuitem-iconic[_moz-menuactive="true"],
html#main-window
menupopup
#context-navigation
@@ -1987,6 +2064,15 @@
.notification-button:hover:active {
background-color: var(--button-active-bgcolor) !important;
}
+ .notification-button.primary {
+ background-color: var(--button-primary-bgcolor) !important;
+ }
+ .notification-button.primary:hover {
+ background-color: var(--button-primary-hover-bgcolor) !important;
+ }
+ .notification-button.primary:hover:active {
+ background-color: var(--button-primary-active-bgcolor) !important;
+ }
html|button.ghost-button:not(.semi-transparent):enabled:hover {
background-color: var(--button-hover-bgcolor) !important;
}
@@ -2023,8 +2109,8 @@
#editBMPanel_tagsSelector > richlistitem[selected="true"] {
background-color: var(--button-active-bgcolor, color-mix(in srgb, currentColor 30%, transparent)) !important;
}
- #editBMPanel_namePicker,
- #editBMPanel_tagsField {
+ #editBookmarkPanel #editBMPanel_namePicker,
+ #editBookmarkPanel #editBMPanel_tagsField {
--input-bgcolor: var(--arrowpanel-background, Field);
--input-color: var(--arrowpanel-color, FieldText);
}
@@ -2058,7 +2144,7 @@
border-color: AccentColor !important; /* Hard Coded */
outline-color: AccentColor !important;
}
- @supports -moz-bool-pref("userChrome.compatibility.accent_color") {
+ @media -moz-pref("userChrome.compatibility.accent_color") {
.sidebar-panel:not([lwt-sidebar]) #search-box[focused="true"],
body:not([lwt-sidebar]) xul|search-textbox.tabsFilter[focused="true"] {
border-color: -moz-accent-color !important; /* Hard Coded */
@@ -2139,7 +2225,7 @@
}
}
/*= Fully Dark Mode ==========================================================*/
-@supports -moz-bool-pref("userChrome.theme.fully_dark") {
+@media -moz-pref("userChrome.theme.fully_dark") {
/*= Remove White Flash =======================================================*/
#tabbrowser-tabbox,
#tabbrowser-tabpanels,
@@ -2210,7 +2296,7 @@
}
}
/*= Transparent ==============================================================*/
-@supports -moz-bool-pref("userChrome.theme.transparent.frame") {
+@media -moz-pref("userChrome.theme.transparent.frame") {
@media (-moz-platform: windows), (-moz-gtk-csd-available) {
#main-window,
#navigator-toolbox-background {
@@ -2243,13 +2329,17 @@
:root[style*="--focus-outline-color: rgb(172, 112, 255); --panel-separator-zap-gradient: linear-gradient(90deg, #9059FF 0%, #FF4AA2 52.08%, #FFBD4F 100%);"] {
--lwt-accent-color: rgb(45, 36, 91) !important;
}
- #titlebar {
+ #titlebar,
+ #toolbar-menubar,
+ #TabsToolbar {
--uc-frame-element-background: color-mix(in srgb, var(--lwt-accent-color, Window) 60%, transparent);
--toolbarbutton-hover-background: color-mix(in srgb, var(--lwt-accent-color, Window) 85%, transparent);
}
}
@media (-moz-gtk-csd-available) and (prefers-color-scheme: dark) {
- #titlebar {
+ #titlebar,
+ #toolbar-menubar,
+ #TabsToolbar {
--toolbarbutton-hover-background: color-mix(
in srgb,
var(--lwt-accent-color, Window) 40%,
@@ -2299,7 +2389,9 @@
--lwt-accent-color: transparent !important;
--lwt-text-color: WindowText !important;
}
- #titlebar .toolbarbutton-1 {
+ #titlebar .toolbarbutton-1,
+ #toolbar-menubar .toolbarbutton-1,
+ #TabsToolbar .toolbarbutton-1 {
--toolbarbutton-icon-fill: var(--lwt-text-color) !important;
}
:root:not([sizemode="fullscreen"]) .titlebar-buttonbox-container .titlebar-button:not(.titlebar-close:hover) {
@@ -2313,7 +2405,7 @@
transform: translateY(-7px) !important;
}
}
- @supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled") {
+ @media -moz-pref("layout.css.osx-font-smoothing.enabled") {
:root:not(:-moz-window-inactive) #navigator-toolbox {
background-color: transparent !important;
}
@@ -2335,11 +2427,11 @@
}
}
}
-@supports -moz-bool-pref("userChrome.theme.transparent.menu") {
+@media -moz-pref("userChrome.theme.transparent.menu") {
.menupopup-arrowscrollbox[part*="content"] {
background: color-mix(in srgb, var(--menu-background-color, Menu) 90%, transparent) !important;
}
- @supports not -moz-bool-pref("userChrome.theme.non_native_menu") {
+ @media not -moz-pref("userChrome.theme.non_native_menu") {
@media (-moz-gtk-csd-available) {
html#main-window #mainPopupSet menupopup:not(.in-menulist) {
--menu-background-color: Menu !important;
@@ -2347,7 +2439,7 @@
}
}
}
-@supports -moz-bool-pref("userChrome.theme.transparent.panel") {
+@media -moz-pref("userChrome.theme.transparent.panel") {
panel[type="arrow"] {
--panel-background: transparent !important;
}
@@ -2356,7 +2448,7 @@
}
}
/*= Proton Theme Mode ========================================================*/
-@supports -moz-bool-pref("userChrome.theme.proton_chrome") {
+@media -moz-pref("userChrome.theme.proton_chrome") {
/*= Proton Commons ===========================================================*/
@-moz-document url("chrome://global/content/commonDialog.xhtml"), url("chrome://pippki/content/editcacert.xhtml"), url("chrome://pippki/content/deletecert.xhtml"), url("chrome://pippki/content/exceptionDialog.xhtml"), url("chrome://mozapps/content/downloads/unknownContentType.xhtml"), url("chrome://global/content/appPicker.xhtml"), url("chrome://browser/content/pageinfo/pageInfo.xhtml")
{
@@ -2498,7 +2590,7 @@
fill: currentColor !important;
color: var(--in-content-primary-button-text-color) !important;
background-color: var(--in-content-primary-button-background) !important;
- background-image: url("chrome://global/skin/icons/radio.svg") !important;
+ background-image: url("../icons/radio.svg") !important;
border-color: transparent !important;
/* Style the button also when printing with "Print Backgrounds" unchecked */
color-adjust: exact !important;
@@ -2559,7 +2651,7 @@
color: var(--checkbox-checked-color, AccentColorText) !important;
background-color: var(--checkbox-checked-bgcolor, AccentColor) !important;
}
- @supports -moz-bool-pref("userChrome.compatibility.accent_color") {
+ @media -moz-pref("userChrome.compatibility.accent_color") {
.checkbox-check[checked] {
color: var(--checkbox-checked-color, -moz-accent-color-foreground) !important;
background-color: var(--checkbox-checked-bgcolor, -moz-accent-color) !important;
@@ -2568,7 +2660,7 @@
checkbox:not([disabled="true"]):hover > .checkbox-check {
background-color: var(--checkbox-unchecked-hover-bgcolor, color-mix(in srgb, AccentColor 4%, Field)) !important;
}
- @supports -moz-bool-pref("userChrome.compatibility.accent_color") {
+ @media -moz-pref("userChrome.compatibility.accent_color") {
checkbox:not([disabled="true"]):hover > .checkbox-check {
background-color: var(
--checkbox-unchecked-hover-bgcolor,
@@ -2579,7 +2671,7 @@
checkbox:not([disabled="true"]):hover:active > .checkbox-check {
background-color: var(--checkbox-unchecked-active-bgcolor, color-mix(in srgb, AccentColor 8%, Field)) !important;
}
- @supports -moz-bool-pref("userChrome.compatibility.accent_color") {
+ @media -moz-pref("userChrome.compatibility.accent_color") {
checkbox:not([disabled="true"]):hover:active > .checkbox-check {
background-color: var(
--checkbox-unchecked-active-bgcolor,
@@ -2593,7 +2685,7 @@
color-mix(in srgb, currentColor 12.5%, AccentColor)
) !important;
}
- @supports -moz-bool-pref("userChrome.compatibility.accent_color") {
+ @media -moz-pref("userChrome.compatibility.accent_color") {
checkbox:not([disabled="true"]):hover > .checkbox-check[checked] {
background-color: var(
--checkbox-checked-hover-bgcolor,
@@ -2607,7 +2699,7 @@
color-mix(in srgb, currentColor 25%, AccentColor)
) !important;
}
- @supports -moz-bool-pref("userChrome.compatibility.accent_color") {
+ @media -moz-pref("userChrome.compatibility.accent_color") {
checkbox:not([disabled="true"]):hover:active > .checkbox-check[checked] {
background-color: var(
--checkbox-checked-active-bgcolor,
@@ -2619,7 +2711,7 @@
outline: 2px solid var(--focus-outline-color, AccentColor) !important;
outline-offset: var(--focus-outline-offset, 2px) !important;
}
- @supports -moz-bool-pref("userChrome.compatibility.accent_color") {
+ @media -moz-pref("userChrome.compatibility.accent_color") {
checkbox:-moz-focusring > .checkbox-check {
outline: 2px solid var(--focus-outline-color, -moz-accent-color) !important;
}
@@ -2629,7 +2721,7 @@
/* color will set the border-color on the check due to how HCM works for in-content pages. */
color: var(--checkbox-checked-border-color, color-mix(in srgb, AccentColor 4%, Field)) !important;
}
- @supports -moz-bool-pref("userChrome.compatibility.accent_color") {
+ @media -moz-pref("userChrome.compatibility.accent_color") {
checkbox:not([disabled="true"]):hover > .checkbox-check {
/* color will set the border-color on the check due to how HCM works for in-content pages. */
color: var(--checkbox-checked-border-color, color-mix(in srgb, -moz-accent-color 4%, Field)) !important;
@@ -2639,7 +2731,7 @@
color: var(--checkbox-checked-border-color, currentColor) !important;
fill: var(--checkbox-checked-color, AccentColorText) !important;
}
- @supports -moz-bool-pref("userChrome.compatibility.accent_color") {
+ @media -moz-pref("userChrome.compatibility.accent_color") {
.checkbox-check[checked] {
fill: var(--checkbox-checked-color, -moz-accent-color-foreground) !important;
}
@@ -2649,7 +2741,7 @@
color: var(--checkbox-checked-border-color-hover, AccentColorText) !important;
fill: var(--checkbox-checked-border-color-hover, AccentColorText) !important;
}
- @supports -moz-bool-pref("userChrome.compatibility.accent_color") {
+ @media -moz-pref("userChrome.compatibility.accent_color") {
checkbox:not([disabled="true"]):hover:active > .checkbox-check[checked] > .checkbox-check[checked],
checkbox:not([disabled="true"]):hover > .checkbox-check[checked] > .checkbox-check[checked] {
color: var(--checkbox-checked-border-color-hover, -moz-accent-color-foreground) !important;
@@ -2699,7 +2791,7 @@
outline: 2px solid var(--focus-outline-color, AccentColor) !important;
outline-offset: var(--focus-outline-offset, 2px) !important;
}
- @supports -moz-bool-pref("userChrome.compatibility.accent_color") {
+ @media -moz-pref("userChrome.compatibility.accent_color") {
xul|menulist:-moz-focusring {
outline: 2px solid var(--focus-outline-color, -moz-accent-color) !important;
}
@@ -2895,7 +2987,7 @@
outline: none !important;
}
}
- @supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled") {
+ @media -moz-pref("layout.css.osx-font-smoothing.enabled") {
xul|menulist > xul|menupopup > xul|menuitem[checked="true"]::before,
xul|menulist > xul|menupopup > xul|menuitem[selected="true"]::before {
display: none !important;
@@ -2986,7 +3078,7 @@
#viewGroup > radio .radio-icon {
background-image: none !important;
}
- @supports not -moz-bool-pref("userChrome.rounding.square_button") {
+ @media not -moz-pref("userChrome.rounding.square_button") {
#viewGroup > radio {
border-radius: 8px !important;
}
@@ -2998,7 +3090,7 @@
color: var(--in-content-button-text-color) !important; /* SelectedItemText */
background-color: var(--in-content-button-background-active) !important; /* #C1D2EE; */
}
- @supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled") {
+ @media -moz-pref("layout.css.osx-font-smoothing.enabled") {
#viewGroup > radio {
height: auto !important;
}
@@ -3020,7 +3112,7 @@
margin: 0 !important;
padding: 0 6px !important;
}
- @supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled") {
+ @media -moz-pref("layout.css.osx-font-smoothing.enabled") {
#viewGroup > radio > .radio-label-box {
padding-top: 32px !important; /* as -moz-image-region: rect(0px, 32px, 32px, 0px); */
}
@@ -3182,7 +3274,7 @@
padding: 5px !important;
border-radius: 4px !important;
}
- @supports -moz-bool-pref("userChrome.rounding.square_button") {
+ @media -moz-pref("userChrome.rounding.square_button") {
#placesToolbar > toolbarbutton {
border-radius: 0 !important;
}
@@ -3199,7 +3291,7 @@
}
#placesToolbar > toolbarbutton > .toolbarbutton-icon,
#placesMenu > menu > image,
- #placesMenu > menu > .menubar-text {
+ #placesMenu > menu > :is(.menubar-text, .menu-text) {
-moz-context-properties: fill !important;
fill: currentColor !important;
}
@@ -3214,7 +3306,7 @@
border-radius: 4px !important;
margin-inline-end: 2px !important;
}
- @supports -moz-bool-pref("userChrome.rounding.square_button") {
+ @media -moz-pref("userChrome.rounding.square_button") {
#placesMenu > menu {
border-radius: 0 !important;
}
@@ -3229,7 +3321,7 @@
background-color: var(--organizer-selected-background) !important;
color: var(--organizer-selected-color) !important;
}
- #placesMenu > menu > .menubar-text {
+ #placesMenu > menu > :is(.menubar-text, .menu-text) {
margin-block: 0 !important; /* override menu.css */
padding-inline-end: 4px !important;
}
@@ -3245,7 +3337,7 @@
padding-block: 2px !important;
min-height: 24px !important;
}
- @supports -moz-bool-pref("userChrome.rounding.square_field") {
+ @media -moz-pref("userChrome.rounding.square_field") {
#searchFilter,
#detailsPane html|input {
border-radius: 0 !important;
@@ -3392,7 +3484,7 @@
-moz-context-properties: fill !important;
fill: currentColor !important;
}
- @supports -moz-bool-pref("userChrome.rounding.square_button") {
+ @media -moz-pref("userChrome.rounding.square_button") {
#editBookmarkPanelRows .expander-up,
#editBookmarkPanelRows .expander-down {
border-radius: 0 !important;
@@ -3431,7 +3523,7 @@
min-height: 20px !important;
padding-inline: 4px !important;
}
- @supports -moz-bool-pref("userChrome.rounding.square_field") {
+ @media -moz-pref("userChrome.rounding.square_field") {
#places input {
border-radius: 0 !important;
}
@@ -3454,7 +3546,7 @@
border: 1px solid var(--organizer-border-color) !important;
border-radius: 4px !important;
}
- @supports -moz-bool-pref("userChrome.rounding.square_field") {
+ @media -moz-pref("userChrome.rounding.square_field") {
#editBMPanel_tagsSelectorRow > richlistbox {
border-radius: 0 !important;
}
@@ -3481,14 +3573,14 @@
}
}
/*= Monospace ================================================================*/
-@supports -moz-bool-pref("userChrome.theme.monospace") {
+@media -moz-pref("userChrome.theme.monospace") {
* {
font-family: -moz-fixed;
}
}
/** Decoration ****************************************************************/
/*= Cursor Types =============================================================*/
-@supports -moz-bool-pref("userChrome.decoration.cursor") {
+@media -moz-pref("userChrome.decoration.cursor") {
#appMenu-proton-update-banner,
#appMenu-fxa-status2:not([fxastatus]) > #appMenu-fxa-label2,
#appMenu-zoomReduce-button2,
@@ -3532,7 +3624,7 @@
}
}
/*= Panel UI Button Separator ================================================*/
-@supports -moz-bool-pref("userChrome.decoration.panel_button_separator") {
+@media -moz-pref("userChrome.decoration.panel_button_separator") {
:root:not([chromehidden~="toolbar"]) #PanelUI-button {
margin-inline-start: 3px;
padding-inline-start: 2px;
@@ -3547,7 +3639,7 @@
}
}
/*= Panel UI Arrow ===========================================================*/
-@supports -moz-bool-pref("userChrome.decoration.panel_arrow") {
+@media -moz-pref("userChrome.decoration.panel_arrow") {
#appMenu-popup {
background-image: url("../icons/panelarrow-vertical.svg");
background-repeat: no-repeat;
@@ -3570,13 +3662,13 @@
}
@media (prefers-reduced-motion: no-preference) {
/*= Field Border ===========================================================*/
- @supports -moz-bool-pref("userChrome.decoration.field_border") {
+ @media -moz-pref("userChrome.decoration.field_border") {
/*- URL, Search Bar --------------------------------------------------------*/
#urlbar:hover:not([focused="true"]) > #urlbar-background,
#searchbar:hover:not(:focus-within) {
--toolbar-field-border-color: var(--toolbar-field-focus-border-color);
}
- @supports -moz-bool-pref("userChrome.combined.urlbar_with_reload") {
+ @media -moz-pref("userChrome.combined.urlbar_with_reload") {
#nav-bar-customization-target
> #stop-reload-button:hover
~ #urlbar-container
@@ -3591,7 +3683,7 @@
body[lwt-sidebar] xul|search-textbox.tabsFilter:hover {
border-color: var(--lwt-sidebar-highlight-background-color, AccentColor) !important;
}
- @supports -moz-bool-pref("userChrome.compatibility.accent_color") {
+ @media -moz-pref("userChrome.compatibility.accent_color") {
.sidebar-panel[lwt-sidebar] #search-box:hover,
body[lwt-sidebar] xul|search-textbox.tabsFilter:hover {
border-color: var(--lwt-sidebar-highlight-background-color, Highlight) !important;
@@ -3601,7 +3693,7 @@
body:not([lwt-sidebar]) xul|search-textbox.tabsFilter:hover {
border-color: AccentColor !important;
}
- @supports -moz-bool-pref("userChrome.compatibility.accent_color") {
+ @media -moz-pref("userChrome.compatibility.accent_color") {
.sidebar-panel:not([lwt-sidebar]) #search-box:hover,
body:not([lwt-sidebar]) xul|search-textbox.tabsFilter:hover {
border-color: -moz-accent-color !important;
@@ -3613,7 +3705,7 @@
.findbar-container .findbar-textbox:hover {
--input-border-color: color-mix(in srgb, var(--focus-outline-color, AccentColor) 50%, transparent);
}
- @supports -moz-bool-pref("userChrome.compatibility.accent_color") {
+ @media -moz-pref("userChrome.compatibility.accent_color") {
#editBMPanel_namePicker:hover,
#editBMPanel_tagsField:hover,
.findbar-container .findbar-textbox:hover {
@@ -3622,7 +3714,7 @@
}
}
/*= Downloads Panel ========================================================*/
- @supports -moz-bool-pref("userChrome.decoration.download_panel") {
+ @media -moz-pref("userChrome.decoration.download_panel") {
/* Accent Color for downloaded item */
#downloadsListBox .download-state[exists] .downloadDetails {
color: var(--button-primary-bgcolor);
@@ -3643,7 +3735,7 @@
}
}
/*= Animate ================================================================*/
- @supports -moz-bool-pref("userChrome.decoration.animate") {
+ @media -moz-pref("userChrome.decoration.animate") {
/*- Background Color -------------------------------------------------------*/
button,
toolbarbutton,
@@ -3698,12 +3790,18 @@
transition: all 0.3s var(--animation-easing-function) !important;
}
/*- URL / Search Bar -------------------------------------------------------*/
- #urlbar-background,
+ #urlbar-background {
+ transition: border-color 1s var(--animation-easing-function),
+ background-color 0.5s var(--animation-easing-function) !important;
+ }
+ #urlbar-background:hover {
+ transition: border-color 0.5s var(--animation-easing-function),
+ background-color 0.5s var(--animation-easing-function) !important;
+ }
#searchbar {
transition: border-color 1s var(--animation-easing-function),
background-color 1.5s var(--animation-easing-function) !important;
}
- #urlbar-background:hover,
#searchbar:hover {
transition: border-color 0.5s var(--animation-easing-function),
background-color 1s var(--animation-easing-function) !important;
@@ -3723,7 +3821,7 @@
#page-action-buttons > .urlbar-page-action:hover {
transition: background-color 1.25s var(--animation-easing-function) !important;
}
- @supports -moz-bool-pref("userChrome.combined.urlbar_with_reload") {
+ @media -moz-pref("userChrome.combined.urlbar_with_reload") {
#nav-bar-customization-target > #stop-reload-button .toolbarbutton-icon {
transition: background-color 2.5s var(--animation-easing-function) !important;
}
@@ -3747,24 +3845,22 @@
transition: border-color 0.5s var(--animation-easing-function) !important;
}
/*- Sidebar ----------------------------------------------------------------*/
- @supports not -moz-bool-pref("userChrome.decoration.disable_sidebar_animate") {
+ @media not -moz-pref("userChrome.decoration.disable_sidebar_animate") {
#sidebar-box {
/* like #sidebar-box > #sidebar */
min-width: 14em;
width: 18em;
max-width: 36em;
/* Animation */
- transition: margin-inline-start 0.25s var(--animation-easing-function), opacity 0.25s ease-in-out,
- visibility 0s linear !important;
- will-change: margin-inline-start, opacity, visibility;
+ transition: margin-inline-start 0.25s var(--animation-easing-function), visibility 0s linear !important;
+ will-change: margin-inline-start, visibility;
}
#sidebar-box[hidden="true"] {
display: flex !important;
display: -moz-box !important;
margin-inline-start: -18em;
- opacity: 0;
visibility: collapse;
- transition-delay: 0s, 0s, 0.25s !important;
+ transition-delay: 0s, 0.25s !important;
}
}
/*- Titlebar & Full Screen -------------------------------------------------*/
@@ -3852,7 +3948,7 @@
transform: rotate(180deg);
}
}
- @supports -moz-bool-pref("userChrome.decoration.disable_panel_animate") {
+ @media -moz-pref("userChrome.decoration.disable_panel_animate") {
:root {
--panelui-subview-transition-duration: 1ms !important; /* Disable top right corner menu sliding animation (0ms will not work!) */
}
@@ -3864,12 +3960,17 @@
border-radius: var(--arrowpanel-menuitem-border-radius) !important;
}
-@supports -moz-bool-pref("userChrome.rounding.square_tab") {
+@media -moz-pref("userChrome.rounding.square_tab") {
:root {
--tab-border-radius: 0 !important; /* Original: 4px */
}
}
-@supports -moz-bool-pref("userChrome.rounding.square_button") {
+@media not -moz-pref("userChrome.rounding.square_tab") {
+ :root {
+ --tab-border-radius: 4px !important; /* Original: 4px */
+ }
+}
+@media -moz-pref("userChrome.rounding.square_button") {
:root {
--urlbar-icon-border-radius: 0 !important; /* Original: calc(var(--toolbarbutton-border-radius) - 1px); */
}
@@ -3894,31 +3995,31 @@
border-radius: 0 !important;
}
}
-@supports -moz-bool-pref("userChrome.rounding.square_tab") or -moz-bool-pref("userChrome.rounding.square_button") {
+@media -moz-pref("userChrome.rounding.square_tab") or -moz-pref("userChrome.rounding.square_button") {
/* Fix Tab bar button radius */
#TabsToolbar .toolbarbutton-1:not(#tabs-newtab-button),
.tab-close-button {
--tab-border-radius: var(--toolbarbutton-border-radius);
}
}
-@supports -moz-bool-pref("userChrome.rounding.square_panel") {
+@media -moz-pref("userChrome.rounding.square_panel") {
:root {
--arrowpanel-border-radius: 0 !important;
}
}
-@supports -moz-bool-pref("userChrome.rounding.square_panelitem") {
+@media -moz-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") {
+@media -moz-pref("userChrome.rounding.square_menupopup") {
menupopup {
--panel-border-radius: 0px !important;
border-radius: 0 !important;
}
}
-@supports -moz-bool-pref("userChrome.rounding.square_menuitem") {
+@media -moz-pref("userChrome.rounding.square_menuitem") {
xul|menulist:not([native]),
xul|menulist > xul|menupopup xul|menu,
xul|menulist > xul|menupopup xul|menuitem,
@@ -3926,12 +4027,12 @@
border-radius: 0 !important;
}
}
-@supports -moz-bool-pref("userChrome.rounding.square_infobox") {
+@media -moz-pref("userChrome.rounding.square_infobox") {
#sanitizeEverythingWarningBox {
border-radius: 0 !important;
}
}
-@supports -moz-bool-pref("userChrome.rounding.square_toolbar") {
+@media -moz-pref("userChrome.rounding.square_toolbar") {
:root {
--uc-rounding-toolbar: 0;
}
@@ -3941,7 +4042,7 @@
border-radius: var(--uc-rounding-toolbar) !important;
}
}
-@supports -moz-bool-pref("userChrome.rounding.square_field") {
+@media -moz-pref("userChrome.rounding.square_field") {
input:not([type="radio"], [type="checkbox"]),
textarea,
select,
@@ -3960,26 +4061,26 @@
--toolbarbutton-border-radius: 0;
}
}
-@supports -moz-bool-pref("userChrome.rounding.square_urlView_item") {
+@media -moz-pref("userChrome.rounding.square_urlView_item") {
.urlbarView-row,
.urlbarView-row-inner {
--toolbarbutton-border-radius: 0;
}
}
-@supports -moz-bool-pref("userChrome.rounding.square_checklabel") {
+@media -moz-pref("userChrome.rounding.square_checklabel") {
input[type="checkbox"],
.checkbox-check {
border-radius: 0 !important;
}
}
-@supports -moz-bool-pref("userChrome.rounding.square_dialog") {
+@media -moz-pref("userChrome.rounding.square_dialog") {
dialog,
.dialogBox {
border-radius: 0 !important;
}
}
/*= Library ==============================================================*/
-@supports -moz-bool-pref("userChrome.rounding.square_button") {
+@media -moz-pref("userChrome.rounding.square_button") {
#placesToolbar > toolbarbutton,
#placesMenu > menu,
#editBookmarkPanelRows .expander-up,
@@ -3987,7 +4088,7 @@
border-radius: 0 !important;
}
}
-@supports -moz-bool-pref("userChrome.rounding.square_field") {
+@media -moz-pref("userChrome.rounding.square_field") {
#searchFilter,
#detailsPane html|input,
#places input #editBMPanel_tagsSelectorRow > richlistbox {
@@ -3999,7 +4100,7 @@
*/
/** 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") {
+@media -moz-pref("userChrome.tab.lepton_like_padding") or -moz-pref("userChrome.tab.photon_like_padding") {
:root {
--proton-tab-block-margin: var(--tab-block-margin) !important; /* Original: 4px, Legacy */
}
@@ -4008,7 +4109,7 @@
--tab-block-margin: 4px !important;
}
}
-@supports -moz-bool-pref("userChrome.tab.lepton_like_padding") {
+@media -moz-pref("userChrome.tab.lepton_like_padding") {
:root {
--tab-block-margin: 2px !important; /* New version of --proton-tab-block-margin */
}
@@ -4019,31 +4120,31 @@
margin-block: -1px !important;
}
}
-@supports -moz-bool-pref("userChrome.tab.photon_like_padding") {
+@media -moz-pref("userChrome.tab.photon_like_padding") {
:root {
--tab-block-margin: 0px !important;
}
}
/*= Tab Bar - Reduce Width, Show more tabs ===================================*/
-@supports -moz-bool-pref("userChrome.padding.first_tab") {
+@media -moz-pref("userChrome.padding.first_tab") {
/* for First Tab Space */
:root {
--uc-space-left-tabbar: 8px; /* If the option is not specified, it is equivalent to 0px. */
}
- @supports not -moz-bool-pref("userChrome.padding.first_tab.always") {
- :root:not([tabsintitlebar]) #tabbrowser-tabs:not([positionpinnedtabs]),
+ @media not -moz-pref("userChrome.padding.first_tab.always") {
+ :root:not([tabsintitlebar]):not([customtitlebar]) #tabbrowser-tabs:not([positionpinnedtabs]),
:root:is([sizemode="maximized"], [sizemode="fullscreen"]) #tabbrowser-tabs:not([positionpinnedtabs]) {
padding-inline-start: var(--uc-space-left-tabbar) !important;
}
}
- @supports -moz-bool-pref("userChrome.padding.first_tab.always") {
- :root:not([tabsintitlebar]) #tabbrowser-tabs,
+ @media -moz-pref("userChrome.padding.first_tab.always") {
+ :root:not([tabsintitlebar]):not([customtitlebar]) #tabbrowser-tabs,
:root:is([sizemode="maximized"], [sizemode="fullscreen"]) #tabbrowser-tabs {
padding-inline-start: calc(var(--tab-overflow-pinned-tabs-width, 0px) + var(--uc-space-left-tabbar)) !important;
}
}
}
-@supports -moz-bool-pref("userChrome.padding.tabbar_width") {
+@media -moz-pref("userChrome.padding.tabbar_width") {
/* Titlebar Space */
:root {
--uc-title-pre-spacer: 30px; /* Original: 40px */
@@ -4053,7 +4154,7 @@
--uc-title-pre-spacer: 25px;
--uc-title-post-spacer: 30px;
}
- @supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled") {
+ @media -moz-pref("layout.css.osx-font-smoothing.enabled") {
.titlebar-spacer[type="pre-tabs"] {
width: var(--uc-title-pre-spacer) !important;
}
@@ -4102,20 +4203,21 @@
padding-left: var(--newtab-button-width-padding) !important;
padding-right: var(--newtab-button-width-padding) !important;
}
- @supports not -moz-bool-pref("userChrome.tab.photon_like_padding") {
+ @media not -moz-pref("userChrome.tab.photon_like_padding") {
#tabbrowser-tabs[haspinnedtabs]:not([positionpinnedtabs])
> #tabbrowser-arrowscrollbox
> .tabbrowser-tab:is([first-visible-unpinned-tab], :nth-child(1 of :not([pinned], [hidden]))) {
margin-inline-start: 1px !important;
}
}
- @supports -moz-bool-pref("userChrome.tab.photon_like_padding") {
+ @media -moz-pref("userChrome.tab.photon_like_padding") {
#tabbrowser-tabs[haspinnedtabs]:not([positionpinnedtabs])
> #tabbrowser-arrowscrollbox
> .tabbrowser-tab:is([first-visible-unpinned-tab], :nth-child(1 of :not([pinned], [hidden]))) {
margin-inline-start: 0 !important;
}
}
+ :root:not([uidensity="touch"]) #pinned-tabs-container,
:root:not([uidensity="touch"]) #tabbrowser-arrowscrollbox {
--scrollbtn-inner-padding: 1px;
--scrollbtn-outer-padding: 3px;
@@ -4133,23 +4235,23 @@
--toolbarbutton-outer-padding: 1px; /* Original: 2px*/
}
/* Tab - Max Size */
- @supports not -moz-bool-pref("userChrome.tab.photon_like_padding") {
+ @media not -moz-pref("userChrome.tab.photon_like_padding") {
:root {
--tab-max-width: 240px;
}
}
- @supports -moz-bool-pref("userChrome.tab.photon_like_padding") {
+ @media -moz-pref("userChrome.tab.photon_like_padding") {
:root {
--tab-max-width: 225px;
}
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner") {
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner.responsive") {
+ @media -moz-pref("userChrome.tabbar.one_liner") {
+ @media not -moz-pref("userChrome.tabbar.one_liner.responsive") {
:root {
--tab-max-width: 180px;
}
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner.responsive") {
+ @media -moz-pref("userChrome.tabbar.one_liner.responsive") {
@media screen and (min-width: 1100px) {
:root {
--tab-max-width: 180px;
@@ -4160,15 +4262,33 @@
.tabbrowser-tab[fadein]:not([pinned]):not([style*="max-width"]) {
max-width: var(--tab-max-width) !important; /* Original: 225px */
}
+ #tabbrowser-tabs[orient="vertical"][expanded] .tabbrowser-tab[fadein]:not([pinned]):not([style*="max-width"]) {
+ max-width: none !important;
+ }
+ #tabbrowser-tabs[orient="horizontal"]
+ tab-group[collapsed]
+ > .tabbrowser-tab[fadein]:not([pinned]):not([style*="max-width"]) {
+ min-width: 0 !important;
+ max-width: 0 !important;
+ padding: 0 !important;
+ margin: 0 !important;
+ overflow-clip-margin: 0;
+ }
/* neighbouring tabs should "pinch" together */
:root[customizing="true"] #tabbrowser-arrowscrollbox-periphery,
+ #tabbrowser-tabs:not([hasadjacentnewtabbutton]):not([overflow="true"])
+ > #pinned-tabs-container
+ > #tabbrowser-arrowscrollbox-periphery,
#tabbrowser-tabs:not([hasadjacentnewtabbutton]):not([overflow="true"])
> #tabbrowser-arrowscrollbox
> #tabbrowser-arrowscrollbox-periphery {
min-width: 3px;
}
- @supports not -moz-bool-pref("userChrome.tab.photon_like_padding") {
- @supports -moz-bool-pref("userChrome.tab.lepton_like_padding") {
+ #tabbrowser-tabs[orient="horizontal"] .tab-group-label-container {
+ margin-inline-start: 4px !important;
+ }
+ @media not -moz-pref("userChrome.tab.photon_like_padding") {
+ @media -moz-pref("userChrome.tab.lepton_like_padding") {
#TabsToolbar:not([multibar]) .tabbrowser-tab[pinned] {
padding-inline: 1px !important;
}
@@ -4179,45 +4299,45 @@
margin-inline-end: -1px !important;
}
}
- @supports not -moz-bool-pref("userChrome.tabbar.multi_row") {
+ @media not -moz-pref("userChrome.tabbar.multi_row") {
#TabsToolbar:not([multibar]) .tabbrowser-tab:not(:last-of-type) {
margin-inline-end: -2px !important;
}
}
}
- @supports -moz-bool-pref("userChrome.tab.photon_like_padding") {
+ @media -moz-pref("userChrome.tab.photon_like_padding") {
.tabbrowser-tab {
padding-inline: 0 !important;
}
}
}
/*= Tab Bar - Reduce Height, Show more contents ==============================*/
-@supports -moz-bool-pref("userChrome.padding.drag_space") {
+@media -moz-pref("userChrome.padding.drag_space") {
/* for Extra Drag Space */
:root {
--uc-space-above-tabbar: 8px; /* If the option is not specified, it is equivalent to 0px. */
}
@media (-moz-platform: windows) {
- :root[tabsintitlebar][sizemode="normal"] #toolbar-menubar[autohide="true"] {
+ :root:is([tabsintitlebar], [customtitlebar])[sizemode="normal"] #toolbar-menubar[autohide="true"] {
height: calc(var(--tab-min-height) + var(--uc-space-above-tabbar) - var(--tabs-navbar-shadow-size));
}
- @supports -moz-bool-pref("userChrome.padding.drag_space.maximized") {
- :root[tabsintitlebar][sizemode="maximized"] #toolbar-menubar[autohide="true"] {
+ @media -moz-pref("userChrome.padding.drag_space.maximized") {
+ :root:is([tabsintitlebar], [customtitlebar])[sizemode="maximized"] #toolbar-menubar[autohide="true"] {
height: calc(var(--tab-min-height) + var(--uc-space-above-tabbar) - var(--tabs-navbar-shadow-size));
}
}
}
@media (-moz-gtk-csd-available) {
- :root[tabsintitlebar][sizemode="normal"] #toolbar-menubar[autohide="true"] {
+ :root:is([tabsintitlebar], [customtitlebar])[sizemode="normal"] #toolbar-menubar[autohide="true"] {
height: calc(var(--tab-min-height) + var(--uc-space-above-tabbar));
}
- @supports -moz-bool-pref("userChrome.padding.drag_space.maximized") {
- :root[tabsintitlebar][sizemode="maximized"] #toolbar-menubar[autohide="true"] {
+ @media -moz-pref("userChrome.padding.drag_space.maximized") {
+ :root:is([tabsintitlebar], [customtitlebar])[sizemode="maximized"] #toolbar-menubar[autohide="true"] {
height: calc(var(--tab-min-height) + var(--uc-space-above-tabbar));
}
}
}
- @supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled") {
+ @media -moz-pref("layout.css.osx-font-smoothing.enabled") {
#TabsToolbar > .toolbar-items {
padding-top: var(--uc-space-above-tabbar) !important;
}
@@ -4228,7 +4348,7 @@
:root[sizemode="normal"] #toolbar-menubar[autohide="true"][inactive] + #TabsToolbar > .toolbar-items {
padding-top: var(--uc-space-above-tabbar) !important;
}
- @supports -moz-bool-pref("userChrome.padding.drag_space.maximized") {
+ @media -moz-pref("userChrome.padding.drag_space.maximized") {
:root[sizemode="maximized"][chromehidden~="menubar"] #TabsToolbar > .toolbar-items,
:root[sizemode="maximized"] #toolbar-menubar[autohide="true"][inactive] + #TabsToolbar > .toolbar-items {
padding-top: var(--uc-space-above-tabbar) !important;
@@ -4236,9 +4356,9 @@
}
}
}
-@supports -moz-bool-pref("userChrome.padding.tabbar_height") {
+@media -moz-pref("userChrome.padding.tabbar_height") {
/* Toolbar Height */
- @supports -moz-bool-pref("userChrome.tab.lepton_like_padding") {
+ @media -moz-pref("userChrome.tab.lepton_like_padding") {
:root:not([uidensity]) {
--tab-min-height: 36px !important;
}
@@ -4249,7 +4369,7 @@
--tab-min-height: 41px !important;
}
}
- @supports -moz-bool-pref("userChrome.tab.photon_like_padding") {
+ @media -moz-pref("userChrome.tab.photon_like_padding") {
:root:not([uidensity]) {
--tab-min-height: 32px !important;
}
@@ -4265,8 +4385,8 @@
margin-top: 0 !important;
}
}
- @supports not -moz-bool-pref("userChrome.tab.lepton_like_padding") {
- @supports not -moz-bool-pref("userChrome.tab.photon_like_padding") {
+ @media not -moz-pref("userChrome.tab.lepton_like_padding") {
+ @media not -moz-pref("userChrome.tab.photon_like_padding") {
:root:not([uidensity]) {
--tab-min-height: 36px !important; /* 38px -> 36px */
}
@@ -4284,7 +4404,7 @@
#TabsToolbar[multibar] .tabbrowser-tab {
height: unset !important; /* Original: var(--tab-min-height_mlt) */
}
- @supports -moz-bool-pref("userChrome.tab.connect_to_window") {
+ @media -moz-pref("userChrome.tab.connect_to_window") {
:root {
--tab-min-height_mlt: calc(
var(--tab-min-height) + var(--tab-block-margin, var(--proton-tab-block-margin, 0px))
@@ -4295,7 +4415,17 @@
(var(--tab-min-height) - 18px) / 2
) !important; /* Prevent overflow pinned tab bottom margin */
}
- @supports not -moz-bool-pref("userChrome.tabbar.multi_row") {
+ @media not -moz-pref("userChrome.tabbar.multi_row") {
+ :root:not([uidensity="compact"]) #TabsToolbar:not([multibar]) #pinned-tabs-container,
+ #TabsToolbar:not([multibar]) #pinned-tabs-container[overflowing="true"] > .tabbrowser-tab[pinned="true"],
+ #TabsToolbar:not([multibar])
+ #pinned-tabs-container[overflowing="true"]
+ > .tabbrowser-tab[pinned="true"]
+ .tab-stack,
+ #TabsToolbar:not([multibar])
+ #pinned-tabs-container[overflowing="true"]
+ > .tabbrowser-tab[pinned="true"]
+ .tab-content,
:root:not([uidensity="compact"]) #TabsToolbar:not([multibar]) #tabbrowser-arrowscrollbox,
#TabsToolbar:not([multibar]) #tabbrowser-arrowscrollbox[overflowing="true"] > .tabbrowser-tab[pinned="true"],
#TabsToolbar:not([multibar])
@@ -4308,12 +4438,14 @@
.tab-content {
max-height: var(--tab-min-height) !important; /* Force apply height */
}
+ :root[uidensity="compact"] #TabsToolbar:not([multibar]) #pinned-tabs-container,
:root[uidensity="compact"] #TabsToolbar:not([multibar]) #tabbrowser-arrowscrollbox {
height: var(--tab-min-height) !important;
}
}
}
/* Scroll Button - Size Fix */
+ :root #pinned-tabs-container,
:root #tabbrowser-arrowscrollbox {
--scrollbtn-vertical-padding: 3px;
--scrollbtn-vertical-border: 2px;
@@ -4331,14 +4463,14 @@
/* Original: calc(var(--tab-border-radius) + 4px) = 8px */
border-radius: var(--scrollbtn-border-radius, calc(var(--tab-border-radius) + 4px)) !important;
}
- :root[tabsintitlebar]:not([uidensity="compact"]) #toolbar-menubar[autohide="true"] {
+ :root:is([tabsintitlebar], [customtitlebar]):not([uidensity="compact"]) #toolbar-menubar[autohide="true"] {
height: calc(
var(--tab-min-height) - var(--tabs-navbar-shadow-size) - 2px
); /* Compact: 28px, Normal: 33px, Touch: 38px */
}
}
/*= Tool Bar - Button Padding ================================================*/
-@supports -moz-bool-pref("userChrome.padding.toolbar_button") or -moz-bool-pref("userChrome.tab.newtab_button_smaller") {
+@media -moz-pref("userChrome.padding.toolbar_button") or -moz-pref("userChrome.tab.newtab_button_smaller") {
:root {
--uc-small-toolbarbutton-inner-padding: 6px;
--uc-toolbarbutton-inner-padding-default: 8px;
@@ -4352,26 +4484,26 @@
--uc-toolbarbutton-inner-padding-default: 9px;
}
}
-@supports -moz-bool-pref("userChrome.padding.toolbar_button") {
+@media -moz-pref("userChrome.padding.toolbar_button") {
:root[uidensity="compact"] {
--toolbarbutton-outer-padding: 2px !important; /* Original: 3px, General is 2px */
}
- @supports -moz-bool-pref("userChrome.padding.toolbar_button.compact") {
+ @media -moz-pref("userChrome.padding.toolbar_button.compact") {
:root {
--toolbarbutton-inner-padding: var(--uc-small-toolbarbutton-inner-padding) !important;
}
}
}
/*= Nav Bar - Reduce Width ===================================================*/
-@supports -moz-bool-pref("userChrome.padding.navbar_width") {
+@media -moz-pref("userChrome.padding.navbar_width") {
#nav-bar:not([customizing]) toolbarspring {
min-width: 1px !important;
max-width: 100px !important;
}
}
/*= URL Bar - Reduce Padding =================================================*/
-@supports not -moz-bool-pref("userChrome.urlView.as_commandbar") {
- @supports -moz-bool-pref("userChrome.padding.urlbar") {
+@media not -moz-pref("userChrome.urlView.as_commandbar") {
+ @media -moz-pref("userChrome.padding.urlbar") {
:root:not([uidensity="touch"]) #urlbar-container,
:root:not([uidensity="touch"]) #search-container {
padding-block: 3px !important; /* Original: 4px */
@@ -4391,11 +4523,6 @@
:root:not([uidensity="compact"]) #urlbar[breakout][breakout-extend-disabled][open] {
height: auto !important;
}
- :root[uidensity="touch"] #urlbar[breakout] {
- top: calc(
- (var(--urlbar-toolbar-height, var(--urlbar-container-height)) - var(--urlbar-height)) / 2 + 1px
- ) !important;
- }
/* spread menu */
:root:not([uidensity]) .urlbarView-row {
padding-block: 1px !important; /* Original: 2px */
@@ -4411,25 +4538,27 @@
}
}
}
-@supports -moz-bool-pref("userChrome.padding.urlView_expanding") or -moz-bool-pref("userChrome.urlView.as_commandbar") {
+@media -moz-pref("userChrome.padding.urlView_expanding") or -moz-pref("userChrome.urlView.as_commandbar") {
#urlbar[breakout][breakout-extend] {
- top: calc((var(--urlbar-toolbar-height, var(--urlbar-container-height)) - var(--urlbar-height)) / 2) !important;
- left: 0 !important;
- width: 100% !important;
+ top: calc(var(--urlbar-container-height) * 2 - var(--urlbar-height)) !important;
+ width: var(--urlbar-width) !important;
+ position: relative !important;
+ margin: 0 !important;
}
- #urlbar[breakout][breakout-extend] > #urlbar-input-container {
+ #urlbar[breakout][breakout-extend] > #urlbar-input-container,
+ #urlbar[breakout][breakout-extend] > .urlbar-input-container {
height: var(--urlbar-height) !important;
padding-block: 0 !important;
padding-inline: var(--urlbar-container-padding, 0px) !important;
}
}
-@supports -moz-bool-pref("userChrome.padding.urlView_expanding") {
+@media -moz-pref("userChrome.padding.urlView_expanding") {
#urlbar[breakout][breakout-extend] > #urlbar-background {
animation-name: none !important;
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05) !important;
}
}
-@supports -moz-bool-pref("userChrome.padding.urlView_result") {
+@media -moz-pref("userChrome.padding.urlView_result") {
.urlbarView {
margin-inline: 0 !important;
width: 100% !important;
@@ -4439,19 +4568,19 @@
}
}
/*= BookMark Bar - Reduce Height =============================================*/
-@supports -moz-bool-pref("userChrome.padding.bookmarkbar") {
+@media -moz-pref("userChrome.padding.bookmarkbar") {
:root[uidensity="compact"] #PersonalToolbar toolbarbutton {
margin-top: 0px !important; /* Original: 2px */
margin-bottom: 1px !important;
}
}
/*= Info Bar - Reduce Padding ================================================*/
-@supports -moz-bool-pref("userChrome.padding.infobar") or -moz-bool-pref("userChrome.autohide.infobar") {
+@media -moz-pref("userChrome.padding.infobar") or -moz-pref("userChrome.autohide.infobar") {
#tab-notification-deck notification-message[message-bar-type="infobar"]:not([style*="margin-top"]) {
margin: var(--infobar-message-margin, 0 4px var(--infobar-message-vertical-margin, 8px)) !important;
}
}
-@supports -moz-bool-pref("userChrome.padding.infobar") {
+@media -moz-pref("userChrome.padding.infobar") {
:root:not([uidensity]) notification-message {
--infobar-message-vertical-margin: 3px;
--infobar-vertical-margin: 7px;
@@ -4494,7 +4623,7 @@
}
}
/*= Menu - Reduce Padding ====================================================*/
-@supports -moz-bool-pref("userChrome.padding.menu") {
+@media -moz-pref("userChrome.padding.menu") {
:root {
--menu-padding: 0.35em; /* Win7, 8: 0px */
}
@@ -4504,7 +4633,7 @@
:root[uidensity="touch"] {
--menu-padding: 0.5em;
}
- @supports -moz-bool-pref("userChrome.padding.menu_compact") {
+ @media -moz-pref("userChrome.padding.menu_compact") {
:root {
--menu-padding: 2px;
}
@@ -4533,13 +4662,13 @@
padding-block: var(--menu-padding) !important;
}
}
- @supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled") {
+ @media -moz-pref("layout.css.osx-font-smoothing.enabled") {
#ContentSelectDropdown > menupopup > menucaption,
#ContentSelectDropdown > menupopup > menuitem {
padding-block: var(--menu-padding) !important;
}
}
- @supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled") {
+ @media -moz-pref("layout.css.osx-font-smoothing.enabled") {
:root:not([uidensity="touch"]) .menu-text,
:root:not([uidensity="touch"]) .menu-iconic-text {
padding-inline-end: 0 !important; /* Original: 2px */
@@ -4565,14 +4694,14 @@
}
}
/*= Bookmark Menu - Reduce Padding ===========================================*/
-@supports -moz-bool-pref("userChrome.padding.bookmark_menu") {
+@media -moz-pref("userChrome.padding.bookmark_menu") {
:root {
--bookmark-menu-padding: 3px;
}
:root[uidensity="compact"] {
--bookmark-menu-padding: 1.5px;
}
- @supports -moz-bool-pref("userChrome.padding.menu_compact") {
+ @media -moz-pref("userChrome.padding.menu_compact") {
:root {
--bookmark-menu-padding: 2px;
}
@@ -4585,7 +4714,7 @@
:root:not([uidensity="touch"]) #PlacesToolbar menupopup[placespopup] .openintabs-menuitem {
padding-block: var(--bookmark-menu-padding) !important;
}
- @supports -moz-bool-pref("userChrome.padding.menu_compact") or -moz-bool-pref("userChrome.padding.bookmark_menu.compact") {
+ @media -moz-pref("userChrome.padding.menu_compact") or -moz-pref("userChrome.padding.bookmark_menu.compact") {
:root:not([uidensity="touch"]) #BMB_bookmarksPopup .bookmark-item,
:root:not([uidensity="touch"]) #PlacesToolbar menupopup[placespopup] .bookmark-item {
min-height: unset !important; /* Original: 24px */
@@ -4593,7 +4722,7 @@
}
}
/*= Global Menu - Set Padding ================================================*/
-@supports -moz-bool-pref("userChrome.padding.global_menubar") {
+@media -moz-pref("userChrome.padding.global_menubar") {
/* Vertical Align - Center & Height: 100% */
#main-menubar {
flex: 1 !important;
@@ -4621,7 +4750,7 @@
#main-menubar > menu > menupopup menu {
padding-block: var(--bookmark-menu-padding) !important;
}
- @supports -moz-bool-pref("userChrome.compatibility.os.win11") {
+ @media -moz-pref("userChrome.compatibility.os.win11") {
#main-menubar > menu > menupopup menuitem,
#main-menubar > menu > menupopup menu {
--bookmark-menu-padding: 3px;
@@ -4633,7 +4762,7 @@
}
}
/*= Panel - Reduce padding ===================================================*/
-@supports -moz-bool-pref("userChrome.padding.panel") {
+@media -moz-pref("userChrome.padding.panel") {
:root {
--arrowpanel-menuitem-margin-block: 0; /* FF 102 compatibility */
--arrowpanel-menuitem-margin-inline: 8px;
@@ -4655,8 +4784,8 @@
.all-tabs-item {
margin: var(--arrowpanel-menuitem-margin) !important;
}
- @supports not -moz-bool-pref("userChrome.icon.disabled") {
- @supports not -moz-bool-pref("userChrome.icon.panel") {
+ @media not -moz-pref("userChrome.icon.disabled") {
+ @media not -moz-pref("userChrome.icon.panel") {
.subviewbutton {
min-height: calc(16px + var(--arrowpanel-menuitem-padding-block) * 2) !important;
}
@@ -4665,7 +4794,7 @@
.unified-extensions-item-menu-button.subviewbutton {
padding: 0 !important; /* Original: calc(var(--arrowpanel-menuitem-margin-inline) - 1px) var(--arrowpanel-menuitem-margin-inline) */
}
- @supports -moz-bool-pref("userChrome.panel.full_width_padding") {
+ @media -moz-pref("userChrome.panel.full_width_padding") {
.unified-extensions-item-menu-button.subviewbutton {
--arrowpanel-menuitem-padding-inline: var(--arrowpanel-menuitem-padding-block);
}
@@ -4674,14 +4803,14 @@
padding-block: 0 !important;
}
}
-@supports -moz-bool-pref("userChrome.padding.panel_header") {
+@media -moz-pref("userChrome.padding.panel_header") {
.panel-header {
padding: unset !important;
padding-top: 4px !important;
}
}
/*= Popup Panel - Reduce padding =============================================*/
-@supports -moz-bool-pref("userChrome.padding.popup_panel") {
+@media -moz-pref("userChrome.padding.popup_panel") {
#protections-popup-main-header-label {
height: unset !important; /* Original: 37.6px */
}
@@ -4728,12 +4857,14 @@
}
/** Tab Bar UI ****************************************************************/
/*= Tabs on Bottom ===========================================================*/
-@supports -moz-bool-pref("userChrome.tabbar.on_bottom") or -moz-bool-pref("userChrome.fullscreen.overlap") {
+@media -moz-pref("userChrome.tabbar.on_bottom") or -moz-pref("userChrome.fullscreen.overlap") {
/* Don't use display: flex at not fullscreen!! side effect #372 */
:root[sizemode="fullscreen"] #navigator-toolbox {
display: flex !important; /* Needed for content to take up entire height, compatibility with tabs on bottom */
}
:root[sizemode="fullscreen"] #titlebar,
+ :root[sizemode="fullscreen"] #toolbar-menubar,
+ :root[sizemode="fullscreen"] #TabsToolbar,
:root[sizemode="fullscreen"] #nav-bar,
:root[sizemode="fullscreen"] #PersonalToolbar,
:root[sizemode="fullscreen"] #tab-notification-deck,
@@ -4745,12 +4876,13 @@
-moz-appearance: none !important;
}
}
-@supports -moz-bool-pref("userChrome.tabbar.on_bottom") {
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner") {
+@media -moz-pref("userChrome.tabbar.on_bottom") {
+ @media not -moz-pref("userChrome.tabbar.one_liner") {
/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/tabs_on_bottom.css made available under Mozilla Public License v. 2.0
See the above repository for updates as well as full license text. */
/*= Tabbar - Move to bottom ==================================================*/
- #titlebar {
+ #titlebar,
+ #TabsToolbar {
order: 2;
-moz-box-ordinal-group: 2;
--tabs-navbar-shadow-size: 0px;
@@ -4765,15 +4897,15 @@
#TabsToolbar-customization-target > .toolbarbutton-1:last-child {
padding-inline-end: var(--toolbar-start-end-padding, 8px);
}
- @supports -moz-bool-pref("userChrome.tabbar.on_bottom.above_bookmark") {
+ @media -moz-pref("userChrome.tabbar.on_bottom.above_bookmark") {
#PersonalToolbar {
order: 2;
-moz-box-ordinal-group: 2;
}
}
- @supports not -moz-bool-pref("userChrome.tabbar.on_bottom.above_bookmark") {
- @supports -moz-bool-pref("userChrome.tab.connect_to_window") {
- @supports -moz-bool-pref("userChrome.tab.color_like_toolbar") {
+ @media not -moz-pref("userChrome.tabbar.on_bottom.above_bookmark") {
+ @media -moz-pref("userChrome.tab.connect_to_window") {
+ @media -moz-pref("userChrome.tab.color_like_toolbar") {
#navigator-toolbox {
border-bottom-color: var(
--toolbar-bgcolor
@@ -4783,7 +4915,7 @@
}
}
/*= Tabbar - Hidden at single tab ===========================================*/
- @supports -moz-bool-pref("userChrome.tabbar.on_bottom.hidden_single_tab") {
+ @media -moz-pref("userChrome.tabbar.on_bottom.hidden_single_tab") {
#tabbrowser-tabs .tabbrowser-tab:only-of-type {
display: none !important;
}
@@ -4799,7 +4931,7 @@
}
}
/*= Menubar - Always on top ==================================================*/
- @supports -moz-bool-pref("userChrome.tabbar.on_bottom.menubar_on_top") {
+ @media -moz-pref("userChrome.tabbar.on_bottom.menubar_on_top") {
/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/tabs_on_bottom_menubar_on_top_patch.css made available under Mozilla Public License v. 2.0
See the above repository for updates as well as full license text. */
/* Menubar on top patch - use with tabs_on_bottom.css */
@@ -4825,7 +4957,7 @@
width: 100%;
overflow: hidden;
}
- :root[tabsintitlebar] #toolbar-menubar[autohide="true"]:not([inactive="true"]) {
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar[autohide="true"]:not([inactive="true"]) {
height: var(--uc-menubar-height) !important; /* calc(var(--tab-min-height) + 2 * var(--tab-block-margin)) */
}
#toolbar-menubar > .titlebar-buttonbox-container {
@@ -4856,13 +4988,14 @@
}
}
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner") {
- @supports -moz-bool-pref("userChrome.tabbar.one_liner.responsive") {
+ @media -moz-pref("userChrome.tabbar.one_liner") {
+ @media -moz-pref("userChrome.tabbar.one_liner.responsive") {
@media screen and (max-width: 1100px) {
/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/tabs_on_bottom.css made available under Mozilla Public License v. 2.0
See the above repository for updates as well as full license text. */
/*= Tabbar - Move to bottom ==================================================*/
- #titlebar {
+ #titlebar,
+ #TabsToolbar {
order: 2;
-moz-box-ordinal-group: 2;
--tabs-navbar-shadow-size: 0px;
@@ -4877,15 +5010,15 @@
#TabsToolbar-customization-target > .toolbarbutton-1:last-child {
padding-inline-end: var(--toolbar-start-end-padding, 8px);
}
- @supports -moz-bool-pref("userChrome.tabbar.on_bottom.above_bookmark") {
+ @media -moz-pref("userChrome.tabbar.on_bottom.above_bookmark") {
#PersonalToolbar {
order: 2;
-moz-box-ordinal-group: 2;
}
}
- @supports not -moz-bool-pref("userChrome.tabbar.on_bottom.above_bookmark") {
- @supports -moz-bool-pref("userChrome.tab.connect_to_window") {
- @supports -moz-bool-pref("userChrome.tab.color_like_toolbar") {
+ @media not -moz-pref("userChrome.tabbar.on_bottom.above_bookmark") {
+ @media -moz-pref("userChrome.tab.connect_to_window") {
+ @media -moz-pref("userChrome.tab.color_like_toolbar") {
#navigator-toolbox {
border-bottom-color: var(
--toolbar-bgcolor
@@ -4895,7 +5028,7 @@
}
}
/*= Tabbar - Hidden at single tab ===========================================*/
- @supports -moz-bool-pref("userChrome.tabbar.on_bottom.hidden_single_tab") {
+ @media -moz-pref("userChrome.tabbar.on_bottom.hidden_single_tab") {
#tabbrowser-tabs .tabbrowser-tab:only-of-type {
display: none !important;
}
@@ -4911,7 +5044,7 @@
}
}
/*= Menubar - Always on top ==================================================*/
- @supports -moz-bool-pref("userChrome.tabbar.on_bottom.menubar_on_top") {
+ @media -moz-pref("userChrome.tabbar.on_bottom.menubar_on_top") {
/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/tabs_on_bottom_menubar_on_top_patch.css made available under Mozilla Public License v. 2.0
See the above repository for updates as well as full license text. */
/* Menubar on top patch - use with tabs_on_bottom.css */
@@ -4937,7 +5070,7 @@
width: 100%;
overflow: hidden;
}
- :root[tabsintitlebar] #toolbar-menubar[autohide="true"]:not([inactive="true"]) {
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar[autohide="true"]:not([inactive="true"]) {
height: var(--uc-menubar-height) !important; /* calc(var(--tab-min-height) + 2 * var(--tab-block-margin)) */
}
#toolbar-menubar > .titlebar-buttonbox-container {
@@ -4972,15 +5105,15 @@
}
}
/*= Tab Bar - Oneliner =======================================================*/
-@supports -moz-bool-pref("userChrome.tabbar.one_liner") {
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner.responsive") {
+@media -moz-pref("userChrome.tabbar.one_liner") {
+ @media not -moz-pref("userChrome.tabbar.one_liner.responsive") {
:root {
--uc-navbar-width-origin: 40vw;
--uc-navbar-width: var(--uc-navbar-width-origin);
--uc-tabbar-width: calc(100vw - var(--uc-navbar-width));
--uc-navbar-margin: calc(var(--uc-navbar-width) + var(--uc-navbar-gap, 0px));
}
- @supports -moz-bool-pref("userChrome.autohide.fill_urlbar") {
+ @media -moz-pref("userChrome.autohide.fill_urlbar") {
:root {
--uc-navbar-width-origin: 50vw;
--uc-navbar-width: 24em;
@@ -4992,7 +5125,9 @@
margin-top: calc(var(--uc-tabbar-hide-height) + var(--uc-navbar-double-block)) !important;
margin-bottom: var(--uc-navbar-block, 0px) !important;
}
- #titlebar {
+ #titlebar,
+ #toolbar-menubar,
+ #TabsToolbar {
transform: translateY(var(--uc-navbar-block, 0px));
}
#TabsToolbar > .titlebar-buttonbox-container {
@@ -5002,7 +5137,7 @@
position: relative;
z-index: 2;
}
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner.combine_navbar") {
+ @media not -moz-pref("userChrome.tabbar.one_liner.combine_navbar") {
:root {
--uc-navbar-gap: 10px;
--uc-navbar-block: 1.5px;
@@ -5026,7 +5161,7 @@
min-height: calc(var(--urlbar-container-height) - 2px) !important;
}
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner.combine_navbar") {
+ @media -moz-pref("userChrome.tabbar.one_liner.combine_navbar") {
#navigator-toolbox {
background-color: var(--toolbar-bgcolor) !important;
}
@@ -5051,7 +5186,7 @@
toolbarspring.chromeclass-toolbar-additional {
display: none !important;
}
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner.tabbar_first") {
+ @media not -moz-pref("userChrome.tabbar.one_liner.tabbar_first") {
#TabsToolbar {
margin-inline-start: var(--uc-navbar-margin) !important;
}
@@ -5062,7 +5197,7 @@
display: none !important;
}
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner.tabbar_first") {
+ @media -moz-pref("userChrome.tabbar.one_liner.tabbar_first") {
#TabsToolbar {
margin-inline-end: var(--uc-navbar-margin) !important;
}
@@ -5074,7 +5209,7 @@
}
}
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner.responsive") {
+ @media -moz-pref("userChrome.tabbar.one_liner.responsive") {
@media screen and (min-width: 1100px) {
:root {
--uc-navbar-width-origin: 40vw;
@@ -5082,7 +5217,7 @@
--uc-tabbar-width: calc(100vw - var(--uc-navbar-width));
--uc-navbar-margin: calc(var(--uc-navbar-width) + var(--uc-navbar-gap, 0px));
}
- @supports -moz-bool-pref("userChrome.autohide.fill_urlbar") {
+ @media -moz-pref("userChrome.autohide.fill_urlbar") {
:root {
--uc-navbar-width-origin: 50vw;
--uc-navbar-width: 24em;
@@ -5094,7 +5229,9 @@
margin-top: calc(var(--uc-tabbar-hide-height) + var(--uc-navbar-double-block)) !important;
margin-bottom: var(--uc-navbar-block, 0px) !important;
}
- #titlebar {
+ #titlebar,
+ #toolbar-menubar,
+ #TabsToolbar {
transform: translateY(var(--uc-navbar-block, 0px));
}
#TabsToolbar > .titlebar-buttonbox-container {
@@ -5104,7 +5241,7 @@
position: relative;
z-index: 2;
}
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner.combine_navbar") {
+ @media not -moz-pref("userChrome.tabbar.one_liner.combine_navbar") {
:root {
--uc-navbar-gap: 10px;
--uc-navbar-block: 1.5px;
@@ -5128,7 +5265,7 @@
min-height: calc(var(--urlbar-container-height) - 2px) !important;
}
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner.combine_navbar") {
+ @media -moz-pref("userChrome.tabbar.one_liner.combine_navbar") {
#navigator-toolbox {
background-color: var(--toolbar-bgcolor) !important;
}
@@ -5153,7 +5290,7 @@
toolbarspring.chromeclass-toolbar-additional {
display: none !important;
}
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner.tabbar_first") {
+ @media not -moz-pref("userChrome.tabbar.one_liner.tabbar_first") {
#TabsToolbar {
margin-inline-start: var(--uc-navbar-margin) !important;
}
@@ -5164,7 +5301,7 @@
display: none !important;
}
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner.tabbar_first") {
+ @media -moz-pref("userChrome.tabbar.one_liner.tabbar_first") {
#TabsToolbar {
margin-inline-end: var(--uc-navbar-margin) !important;
}
@@ -5179,151 +5316,147 @@
}
}
/*= Tab Bar - Shared Layout ==================================================*/
-@supports -moz-bool-pref("userChrome.tabbar.on_bottom") or -moz-bool-pref("userChrome.tabbar.one_liner") or -moz-bool-pref(
- "userChrome.hidden.tabbar"
- )
- or -moz-bool-pref("userChrome.tabbar.as_titlebar") {
+@media -moz-pref("userChrome.tabbar.on_bottom") or -moz-pref("userChrome.tabbar.one_liner") or -moz-pref("userChrome.hidden.tabbar") or -moz-pref("userChrome.tabbar.as_titlebar") {
:root {
--uc-window-control-width: 0px; /* Same as .titlebar-buttonbox-container - Space reserved for window controls */
--uc-window-drag-space-pre: 0px; /* Same as .titlebar-spacer[type="pre-tabs"] - Extra space reserved on both sides of the nav-bar to be able to drag the window */
--uc-window-drag-space-post: 0px; /* Same as .titlebar-spacer[type="post-tabs"] */
--uc-window-control-space: calc(var(--uc-window-control-width) + var(--uc-window-drag-space-post));
}
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-drag-space-pre: var(--uc-title-pre-spacer, 40px);
--uc-window-drag-space-post: var(--uc-title-post-spacer, 40px);
}
@media (-moz-platform: windows) {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-control-width: 138px;
}
}
@media (-moz-gtk-csd-available) {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
/* 84px is default value of linux */
}
}
@media (-moz-gtk-csd-available) and (-moz-gtk-csd-minimize-button),
(-moz-gtk-csd-available) and (-moz-gtk-csd-maximize-button),
(-moz-gtk-csd-available) and (-moz-gtk-csd-close-button) {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-control-width: 28px;
}
}
@media (-moz-gtk-csd-available) and (-moz-gtk-csd-minimize-button) and (-moz-gtk-csd-maximize-button),
(-moz-gtk-csd-available) and (-moz-gtk-csd-minimize-button) and (-moz-gtk-csd-close-button),
(-moz-gtk-csd-available) and (-moz-gtk-csd-maximize-button) and (-moz-gtk-csd-close-button) {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-control-width: 56px;
}
}
@media (-moz-gtk-csd-available) and (-moz-gtk-csd-minimize-button) and (-moz-gtk-csd-maximize-button) and (-moz-gtk-csd-close-button) {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-control-width: 84px;
}
}
- @supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled") {
- :root[tabsintitlebar] {
+ @media -moz-pref("layout.css.osx-font-smoothing.enabled") {
+ :root:is([tabsintitlebar], [customtitlebar]) {
--uc-window-control-width: 72px;
}
:root[sizemode="fullscreen"] {
--uc-window-control-space: 0px;
}
}
- :root:is([tabsintitlebar][sizemode="maximized"], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar][sizemode="maximized"], [customtitlebar][sizemode="maximized"], [sizemode="fullscreen"]) {
--uc-window-drag-space-pre: 0px;
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner") {
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner.responsive") {
- @supports -moz-bool-pref("userChrome.tabbar.one_liner.tabbar_first") {
+ @media -moz-pref("userChrome.tabbar.one_liner") {
+ @media not -moz-pref("userChrome.tabbar.one_liner.responsive") {
+ @media -moz-pref("userChrome.tabbar.one_liner.tabbar_first") {
@media (-moz-platform: windows) {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-drag-space-pre: 0px;
}
}
@media (-moz-gtk-csd-available) and (-moz-gtk-csd-reversed-placement: 0) {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-drag-space-pre: 0px;
}
}
- @supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled") {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ @media -moz-pref("layout.css.osx-font-smoothing.enabled") {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-control-space: 0px;
}
}
@media (-moz-gtk-csd-available) and (-moz-gtk-csd-reversed-placement) {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-control-space: 0px;
}
}
- @supports -moz-bool-pref("userChrome.tabbar.as_titlebar") {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) #tabbrowser-tabs {
+ @media -moz-pref("userChrome.tabbar.as_titlebar") {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) #tabbrowser-tabs {
--uc-window-control-space: 0px;
}
}
}
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner.tabbar_first") {
- @supports not -moz-bool-pref("userChrome.tabbar.as_titlebar") {
+ @media not -moz-pref("userChrome.tabbar.one_liner.tabbar_first") {
+ @media not -moz-pref("userChrome.tabbar.as_titlebar") {
@media (-moz-platform: windows) {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-control-space: 0px;
}
}
@media (-moz-gtk-csd-available) and (-moz-gtk-csd-reversed-placement: 0) {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-control-space: 0px;
}
}
}
}
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner.responsive") {
+ @media -moz-pref("userChrome.tabbar.one_liner.responsive") {
@media screen and (max-width: 1100px) {
- @supports (not -moz-bool-pref("userChrome.tabbar.on_bottom")) or
- (not -moz-bool-pref("userChrome.hidden.tabbar")) {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ @media (not -moz-pref("userChrome.tabbar.on_bottom")) or (not -moz-pref("userChrome.hidden.tabbar")) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-drag-space-pre: 0px;
--uc-window-control-space: 0px;
}
}
}
@media screen and (min-width: 1100px) {
- @supports -moz-bool-pref("userChrome.tabbar.one_liner.tabbar_first") {
+ @media -moz-pref("userChrome.tabbar.one_liner.tabbar_first") {
@media screen and (min-width: 1100px) and (-moz-platform: windows) {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-drag-space-pre: 0px;
}
}
@media screen and (min-width: 1100px) and (-moz-gtk-csd-available) and (-moz-gtk-csd-reversed-placement: 0) {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-drag-space-pre: 0px;
}
}
- @supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled") {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ @media -moz-pref("layout.css.osx-font-smoothing.enabled") {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-control-space: 0px;
}
}
@media screen and (min-width: 1100px) and (-moz-gtk-csd-available) and (-moz-gtk-csd-reversed-placement) {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-control-space: 0px;
}
}
- @supports -moz-bool-pref("userChrome.tabbar.as_titlebar") {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) #tabbrowser-tabs {
+ @media -moz-pref("userChrome.tabbar.as_titlebar") {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) #tabbrowser-tabs {
--uc-window-control-space: 0px;
}
}
}
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner.tabbar_first") {
- @supports not -moz-bool-pref("userChrome.tabbar.as_titlebar") {
+ @media not -moz-pref("userChrome.tabbar.one_liner.tabbar_first") {
+ @media not -moz-pref("userChrome.tabbar.as_titlebar") {
@media screen and (min-width: 1100px) and (-moz-platform: windows) {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-control-space: 0px;
}
}
@media screen and (min-width: 1100px) and (-moz-gtk-csd-available) and (-moz-gtk-csd-reversed-placement: 0) {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-control-space: 0px;
}
}
@@ -5339,12 +5472,10 @@
}
}
}
-@supports -moz-bool-pref("userChrome.tabbar.on_bottom") or -moz-bool-pref("userChrome.tabbar.one_liner") or -moz-bool-pref(
- "userChrome.hidden.tabbar"
- ) {
- @supports not -moz-bool-pref("userChrome.hidden.titlebar_container") {
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner") {
- @supports -moz-bool-pref("userChrome.tabbar.on_bottom") or -moz-bool-pref("userChrome.hidden.tabbar") {
+@media -moz-pref("userChrome.tabbar.on_bottom") or -moz-pref("userChrome.tabbar.one_liner") or -moz-pref("userChrome.hidden.tabbar") {
+ @media not -moz-pref("userChrome.hidden.titlebar_container") {
+ @media not -moz-pref("userChrome.tabbar.one_liner") {
+ @media -moz-pref("userChrome.tabbar.on_bottom") or -moz-pref("userChrome.hidden.tabbar") {
/*= Windows Control - Move to toolbar ========================================*/
/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/tabs_on_bottom.css made available under Mozilla Public License v. 2.0
See the above repository for updates as well as full license text. */
@@ -5355,8 +5486,8 @@
#navigator-toolbox {
padding-top: var(--uc-titlebar-padding) !important;
}
- @supports -moz-bool-pref("userChrome.tabbar.on_bottom") {
- @supports -moz-bool-pref("userChrome.tabbar.on_bottom.menubar_on_top") {
+ @media -moz-pref("userChrome.tabbar.on_bottom") {
+ @media -moz-pref("userChrome.tabbar.on_bottom.menubar_on_top") {
#navigator-toolbox {
padding-top: calc(
max(var(--uc-menubar-height), var(--uc-menubar-height-default)) + var(--uc-titlebar-padding)
@@ -5383,12 +5514,12 @@
.titlebar-buttonbox-container > .titlebar-buttonbox {
height: 100%;
}
- @supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled") {
+ @media -moz-pref("layout.css.osx-font-smoothing.enabled") {
.titlebar-buttonbox-container > .titlebar-buttonbox {
margin-block: 10px;
}
}
- @supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled") {
+ @media -moz-pref("layout.css.osx-font-smoothing.enabled") {
.titlebar-buttonbox-container {
left: 0;
right: unset !important;
@@ -5401,43 +5532,43 @@
}
}
@media (-moz-platform: windows) {
- :root[sizemode="maximized"][tabsintitlebar] #navigator-toolbox-background {
+ :root[sizemode="maximized"]:is([tabsintitlebar], [customtitlebar]) #navigator-toolbox-background {
margin-top: calc(-1 * var(--uc-titlebar-padding));
}
- :root[sizemode="normal"][tabsintitlebar] #titlebar,
- :root[sizemode="maximized"][tabsintitlebar] #titlebar {
+ :root[sizemode="normal"]:is([tabsintitlebar], [customtitlebar]) #titlebar,
+ :root[sizemode="maximized"]:is([tabsintitlebar], [customtitlebar]) #titlebar {
appearance: none !important;
}
- .browser-toolbar:not(.titlebar-color) {
+ .browser-toolbar:not(.titlebar-color):not(.browser-titlebar) {
background-clip: border-box !important;
}
}
- @supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled") {
+ @media -moz-pref("layout.css.osx-font-smoothing.enabled") {
#toolbar-menubar:not([autohide="true"]) {
visibility: visible !important;
height: 0;
}
}
- @supports not -moz-bool-pref("userChrome.hidden.tabbar") {
+ @media not -moz-pref("userChrome.hidden.tabbar") {
#toolbar-menubar[inactive] > .titlebar-buttonbox-container {
opacity: 0;
visibility: collapse;
}
}
- @supports -moz-bool-pref("userChrome.hidden.tabbar") {
+ @media -moz-pref("userChrome.hidden.tabbar") {
#toolbar-menubar[inactive] > .titlebar-buttonbox-container {
opacity: 1;
visibility: visible;
}
- @supports -moz-bool-pref("userChrome.autohide.navbar") {
+ @media -moz-pref("userChrome.autohide.navbar") {
#toolbar-menubar[inactive] > .titlebar-buttonbox-container {
opacity: 0;
visibility: collapse;
}
}
}
- @supports -moz-bool-pref("userChrome.hidden.tabbar") {
- @supports -moz-bool-pref("userChrome.autohide.navbar") {
+ @media -moz-pref("userChrome.hidden.tabbar") {
+ @media -moz-pref("userChrome.autohide.navbar") {
#navigator-toolbox:is(:hover, :focus-within)
#toolbar-menubar[inactive]:not([customizing])
> .titlebar-buttonbox-container {
@@ -5457,12 +5588,12 @@
transition-delay: 0s !important;
}
}
- @supports -moz-bool-pref("browser.fullscreen.autohide") {
+ @media -moz-pref("browser.fullscreen.autohide") {
:root[sizemode="fullscreen"] #navigator-toolbox:not(:hover) .titlebar-buttonbox-container {
visibility: hidden;
}
}
- @supports -moz-bool-pref("userChrome.hidden.tabbar") {
+ @media -moz-pref("userChrome.hidden.tabbar") {
:root[inFullscreen]:not([macOSNativeFullscreen]) #toolbar-menubar {
visibility: visible !important;
min-height: 0 !important;
@@ -5471,13 +5602,19 @@
:root[inFullscreen]:not([macOSNativeFullscreen]) #menubar-items {
visibility: collapse !important;
}
- :root[tabsintitlebar] #titlebar {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar {
z-index: 1;
}
- :root[tabsintitlebar] #titlebar:-moz-window-inactive {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar:-moz-window-inactive,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar:-moz-window-inactive,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar:-moz-window-inactive {
opacity: 1 !important;
}
- :root[tabsintitlebar] #titlebar:-moz-window-inactive .titlebar-buttonbox {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar:-moz-window-inactive .titlebar-buttonbox,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar:-moz-window-inactive .titlebar-buttonbox,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar:-moz-window-inactive .titlebar-buttonbox {
opacity: var(--inactive-titlebar-opacity);
}
}
@@ -5488,16 +5625,16 @@
> .titlebar-buttonbox-container {
display: block !important;
}
- @supports not -moz-bool-pref("userChrome.hidden.tabbar") {
+ @media not -moz-pref("userChrome.hidden.tabbar") {
:root:not([chromehidden~="menubar"]) #toolbar-menubar:not([autohide="true"]) .titlebar-buttonbox-container {
visibility: hidden;
}
}
}
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner") {
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner.responsive") {
- @supports -moz-bool-pref("userChrome.tabbar.one_liner.tabbar_first") {
+ @media -moz-pref("userChrome.tabbar.one_liner") {
+ @media not -moz-pref("userChrome.tabbar.one_liner.responsive") {
+ @media -moz-pref("userChrome.tabbar.one_liner.tabbar_first") {
/*= Windows Control - Move to toolbar ========================================*/
/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/tabs_on_bottom.css made available under Mozilla Public License v. 2.0
See the above repository for updates as well as full license text. */
@@ -5508,8 +5645,8 @@
#navigator-toolbox {
padding-top: var(--uc-titlebar-padding) !important;
}
- @supports -moz-bool-pref("userChrome.tabbar.on_bottom") {
- @supports -moz-bool-pref("userChrome.tabbar.on_bottom.menubar_on_top") {
+ @media -moz-pref("userChrome.tabbar.on_bottom") {
+ @media -moz-pref("userChrome.tabbar.on_bottom.menubar_on_top") {
#navigator-toolbox {
padding-top: calc(
max(var(--uc-menubar-height), var(--uc-menubar-height-default)) + var(--uc-titlebar-padding)
@@ -5536,12 +5673,12 @@
.titlebar-buttonbox-container > .titlebar-buttonbox {
height: 100%;
}
- @supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled") {
+ @media -moz-pref("layout.css.osx-font-smoothing.enabled") {
.titlebar-buttonbox-container > .titlebar-buttonbox {
margin-block: 10px;
}
}
- @supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled") {
+ @media -moz-pref("layout.css.osx-font-smoothing.enabled") {
.titlebar-buttonbox-container {
left: 0;
right: unset !important;
@@ -5554,43 +5691,43 @@
}
}
@media (-moz-platform: windows) {
- :root[sizemode="maximized"][tabsintitlebar] #navigator-toolbox-background {
+ :root[sizemode="maximized"]:is([tabsintitlebar], [customtitlebar]) #navigator-toolbox-background {
margin-top: calc(-1 * var(--uc-titlebar-padding));
}
- :root[sizemode="normal"][tabsintitlebar] #titlebar,
- :root[sizemode="maximized"][tabsintitlebar] #titlebar {
+ :root[sizemode="normal"]:is([tabsintitlebar], [customtitlebar]) #titlebar,
+ :root[sizemode="maximized"]:is([tabsintitlebar], [customtitlebar]) #titlebar {
appearance: none !important;
}
- .browser-toolbar:not(.titlebar-color) {
+ .browser-toolbar:not(.titlebar-color):not(.browser-titlebar) {
background-clip: border-box !important;
}
}
- @supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled") {
+ @media -moz-pref("layout.css.osx-font-smoothing.enabled") {
#toolbar-menubar:not([autohide="true"]) {
visibility: visible !important;
height: 0;
}
}
- @supports not -moz-bool-pref("userChrome.hidden.tabbar") {
+ @media not -moz-pref("userChrome.hidden.tabbar") {
#toolbar-menubar[inactive] > .titlebar-buttonbox-container {
opacity: 0;
visibility: collapse;
}
}
- @supports -moz-bool-pref("userChrome.hidden.tabbar") {
+ @media -moz-pref("userChrome.hidden.tabbar") {
#toolbar-menubar[inactive] > .titlebar-buttonbox-container {
opacity: 1;
visibility: visible;
}
- @supports -moz-bool-pref("userChrome.autohide.navbar") {
+ @media -moz-pref("userChrome.autohide.navbar") {
#toolbar-menubar[inactive] > .titlebar-buttonbox-container {
opacity: 0;
visibility: collapse;
}
}
}
- @supports -moz-bool-pref("userChrome.hidden.tabbar") {
- @supports -moz-bool-pref("userChrome.autohide.navbar") {
+ @media -moz-pref("userChrome.hidden.tabbar") {
+ @media -moz-pref("userChrome.autohide.navbar") {
#navigator-toolbox:is(:hover, :focus-within)
#toolbar-menubar[inactive]:not([customizing])
> .titlebar-buttonbox-container {
@@ -5610,12 +5747,12 @@
transition-delay: 0s !important;
}
}
- @supports -moz-bool-pref("browser.fullscreen.autohide") {
+ @media -moz-pref("browser.fullscreen.autohide") {
:root[sizemode="fullscreen"] #navigator-toolbox:not(:hover) .titlebar-buttonbox-container {
visibility: hidden;
}
}
- @supports -moz-bool-pref("userChrome.hidden.tabbar") {
+ @media -moz-pref("userChrome.hidden.tabbar") {
:root[inFullscreen]:not([macOSNativeFullscreen]) #toolbar-menubar {
visibility: visible !important;
min-height: 0 !important;
@@ -5624,13 +5761,19 @@
:root[inFullscreen]:not([macOSNativeFullscreen]) #menubar-items {
visibility: collapse !important;
}
- :root[tabsintitlebar] #titlebar {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar {
z-index: 1;
}
- :root[tabsintitlebar] #titlebar:-moz-window-inactive {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar:-moz-window-inactive,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar:-moz-window-inactive,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar:-moz-window-inactive {
opacity: 1 !important;
}
- :root[tabsintitlebar] #titlebar:-moz-window-inactive .titlebar-buttonbox {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar:-moz-window-inactive .titlebar-buttonbox,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar:-moz-window-inactive .titlebar-buttonbox,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar:-moz-window-inactive .titlebar-buttonbox {
opacity: var(--inactive-titlebar-opacity);
}
}
@@ -5641,13 +5784,13 @@
> .titlebar-buttonbox-container {
display: block !important;
}
- @supports not -moz-bool-pref("userChrome.hidden.tabbar") {
+ @media not -moz-pref("userChrome.hidden.tabbar") {
:root:not([chromehidden~="menubar"]) #toolbar-menubar:not([autohide="true"]) .titlebar-buttonbox-container {
visibility: hidden;
}
}
}
- @supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled") {
+ @media -moz-pref("layout.css.osx-font-smoothing.enabled") {
/*= Windows Control - Move to toolbar ========================================*/
/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/tabs_on_bottom.css made available under Mozilla Public License v. 2.0
See the above repository for updates as well as full license text. */
@@ -5658,8 +5801,8 @@
#navigator-toolbox {
padding-top: var(--uc-titlebar-padding) !important;
}
- @supports -moz-bool-pref("userChrome.tabbar.on_bottom") {
- @supports -moz-bool-pref("userChrome.tabbar.on_bottom.menubar_on_top") {
+ @media -moz-pref("userChrome.tabbar.on_bottom") {
+ @media -moz-pref("userChrome.tabbar.on_bottom.menubar_on_top") {
#navigator-toolbox {
padding-top: calc(
max(var(--uc-menubar-height), var(--uc-menubar-height-default)) + var(--uc-titlebar-padding)
@@ -5686,12 +5829,12 @@
.titlebar-buttonbox-container > .titlebar-buttonbox {
height: 100%;
}
- @supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled") {
+ @media -moz-pref("layout.css.osx-font-smoothing.enabled") {
.titlebar-buttonbox-container > .titlebar-buttonbox {
margin-block: 10px;
}
}
- @supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled") {
+ @media -moz-pref("layout.css.osx-font-smoothing.enabled") {
.titlebar-buttonbox-container {
left: 0;
right: unset !important;
@@ -5704,43 +5847,43 @@
}
}
@media (-moz-platform: windows) {
- :root[sizemode="maximized"][tabsintitlebar] #navigator-toolbox-background {
+ :root[sizemode="maximized"]:is([tabsintitlebar], [customtitlebar]) #navigator-toolbox-background {
margin-top: calc(-1 * var(--uc-titlebar-padding));
}
- :root[sizemode="normal"][tabsintitlebar] #titlebar,
- :root[sizemode="maximized"][tabsintitlebar] #titlebar {
+ :root[sizemode="normal"]:is([tabsintitlebar], [customtitlebar]) #titlebar,
+ :root[sizemode="maximized"]:is([tabsintitlebar], [customtitlebar]) #titlebar {
appearance: none !important;
}
- .browser-toolbar:not(.titlebar-color) {
+ .browser-toolbar:not(.titlebar-color):not(.browser-titlebar) {
background-clip: border-box !important;
}
}
- @supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled") {
+ @media -moz-pref("layout.css.osx-font-smoothing.enabled") {
#toolbar-menubar:not([autohide="true"]) {
visibility: visible !important;
height: 0;
}
}
- @supports not -moz-bool-pref("userChrome.hidden.tabbar") {
+ @media not -moz-pref("userChrome.hidden.tabbar") {
#toolbar-menubar[inactive] > .titlebar-buttonbox-container {
opacity: 0;
visibility: collapse;
}
}
- @supports -moz-bool-pref("userChrome.hidden.tabbar") {
+ @media -moz-pref("userChrome.hidden.tabbar") {
#toolbar-menubar[inactive] > .titlebar-buttonbox-container {
opacity: 1;
visibility: visible;
}
- @supports -moz-bool-pref("userChrome.autohide.navbar") {
+ @media -moz-pref("userChrome.autohide.navbar") {
#toolbar-menubar[inactive] > .titlebar-buttonbox-container {
opacity: 0;
visibility: collapse;
}
}
}
- @supports -moz-bool-pref("userChrome.hidden.tabbar") {
- @supports -moz-bool-pref("userChrome.autohide.navbar") {
+ @media -moz-pref("userChrome.hidden.tabbar") {
+ @media -moz-pref("userChrome.autohide.navbar") {
#navigator-toolbox:is(:hover, :focus-within)
#toolbar-menubar[inactive]:not([customizing])
> .titlebar-buttonbox-container {
@@ -5760,12 +5903,12 @@
transition-delay: 0s !important;
}
}
- @supports -moz-bool-pref("browser.fullscreen.autohide") {
+ @media -moz-pref("browser.fullscreen.autohide") {
:root[sizemode="fullscreen"] #navigator-toolbox:not(:hover) .titlebar-buttonbox-container {
visibility: hidden;
}
}
- @supports -moz-bool-pref("userChrome.hidden.tabbar") {
+ @media -moz-pref("userChrome.hidden.tabbar") {
:root[inFullscreen]:not([macOSNativeFullscreen]) #toolbar-menubar {
visibility: visible !important;
min-height: 0 !important;
@@ -5774,13 +5917,19 @@
:root[inFullscreen]:not([macOSNativeFullscreen]) #menubar-items {
visibility: collapse !important;
}
- :root[tabsintitlebar] #titlebar {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar {
z-index: 1;
}
- :root[tabsintitlebar] #titlebar:-moz-window-inactive {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar:-moz-window-inactive,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar:-moz-window-inactive,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar:-moz-window-inactive {
opacity: 1 !important;
}
- :root[tabsintitlebar] #titlebar:-moz-window-inactive .titlebar-buttonbox {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar:-moz-window-inactive .titlebar-buttonbox,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar:-moz-window-inactive .titlebar-buttonbox,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar:-moz-window-inactive .titlebar-buttonbox {
opacity: var(--inactive-titlebar-opacity);
}
}
@@ -5791,15 +5940,15 @@
> .titlebar-buttonbox-container {
display: block !important;
}
- @supports not -moz-bool-pref("userChrome.hidden.tabbar") {
+ @media not -moz-pref("userChrome.hidden.tabbar") {
:root:not([chromehidden~="menubar"]) #toolbar-menubar:not([autohide="true"]) .titlebar-buttonbox-container {
visibility: hidden;
}
}
}
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner.responsive") {
- @supports -moz-bool-pref("userChrome.tabbar.on_bottom") or -moz-bool-pref("userChrome.hidden.tabbar") {
+ @media -moz-pref("userChrome.tabbar.one_liner.responsive") {
+ @media -moz-pref("userChrome.tabbar.on_bottom") or -moz-pref("userChrome.hidden.tabbar") {
@media screen and (max-width: 1100px) {
/*= Windows Control - Move to toolbar ========================================*/
/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/tabs_on_bottom.css made available under Mozilla Public License v. 2.0
@@ -5811,8 +5960,8 @@
#navigator-toolbox {
padding-top: var(--uc-titlebar-padding) !important;
}
- @supports -moz-bool-pref("userChrome.tabbar.on_bottom") {
- @supports -moz-bool-pref("userChrome.tabbar.on_bottom.menubar_on_top") {
+ @media -moz-pref("userChrome.tabbar.on_bottom") {
+ @media -moz-pref("userChrome.tabbar.on_bottom.menubar_on_top") {
#navigator-toolbox {
padding-top: calc(
max(var(--uc-menubar-height), var(--uc-menubar-height-default)) + var(--uc-titlebar-padding)
@@ -5842,14 +5991,14 @@
.titlebar-buttonbox-container > .titlebar-buttonbox {
height: 100%;
}
- @supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled") {
+ @media -moz-pref("layout.css.osx-font-smoothing.enabled") {
.titlebar-buttonbox-container > .titlebar-buttonbox {
margin-block: 10px;
}
}
}
@media screen and (max-width: 1100px) {
- @supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled") {
+ @media -moz-pref("layout.css.osx-font-smoothing.enabled") {
.titlebar-buttonbox-container {
left: 0;
right: unset !important;
@@ -5863,19 +6012,19 @@
}
}
@media screen and (max-width: 1100px) and (-moz-platform: windows) {
- :root[sizemode="maximized"][tabsintitlebar] #navigator-toolbox-background {
+ :root[sizemode="maximized"]:is([tabsintitlebar], [customtitlebar]) #navigator-toolbox-background {
margin-top: calc(-1 * var(--uc-titlebar-padding));
}
- :root[sizemode="normal"][tabsintitlebar] #titlebar,
- :root[sizemode="maximized"][tabsintitlebar] #titlebar {
+ :root[sizemode="normal"]:is([tabsintitlebar], [customtitlebar]) #titlebar,
+ :root[sizemode="maximized"]:is([tabsintitlebar], [customtitlebar]) #titlebar {
appearance: none !important;
}
- .browser-toolbar:not(.titlebar-color) {
+ .browser-toolbar:not(.titlebar-color):not(.browser-titlebar) {
background-clip: border-box !important;
}
}
@media screen and (max-width: 1100px) {
- @supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled") {
+ @media -moz-pref("layout.css.osx-font-smoothing.enabled") {
#toolbar-menubar:not([autohide="true"]) {
visibility: visible !important;
height: 0;
@@ -5883,18 +6032,18 @@
}
}
@media screen and (max-width: 1100px) {
- @supports not -moz-bool-pref("userChrome.hidden.tabbar") {
+ @media not -moz-pref("userChrome.hidden.tabbar") {
#toolbar-menubar[inactive] > .titlebar-buttonbox-container {
opacity: 0;
visibility: collapse;
}
}
- @supports -moz-bool-pref("userChrome.hidden.tabbar") {
+ @media -moz-pref("userChrome.hidden.tabbar") {
#toolbar-menubar[inactive] > .titlebar-buttonbox-container {
opacity: 1;
visibility: visible;
}
- @supports -moz-bool-pref("userChrome.autohide.navbar") {
+ @media -moz-pref("userChrome.autohide.navbar") {
#toolbar-menubar[inactive] > .titlebar-buttonbox-container {
opacity: 0;
visibility: collapse;
@@ -5903,8 +6052,8 @@
}
}
@media screen and (max-width: 1100px) {
- @supports -moz-bool-pref("userChrome.hidden.tabbar") {
- @supports -moz-bool-pref("userChrome.autohide.navbar") {
+ @media -moz-pref("userChrome.hidden.tabbar") {
+ @media -moz-pref("userChrome.autohide.navbar") {
#navigator-toolbox:is(:hover, :focus-within)
#toolbar-menubar[inactive]:not([customizing])
> .titlebar-buttonbox-container {
@@ -5926,14 +6075,14 @@
}
}
@media screen and (max-width: 1100px) {
- @supports -moz-bool-pref("browser.fullscreen.autohide") {
+ @media -moz-pref("browser.fullscreen.autohide") {
:root[sizemode="fullscreen"] #navigator-toolbox:not(:hover) .titlebar-buttonbox-container {
visibility: hidden;
}
}
}
@media screen and (max-width: 1100px) {
- @supports -moz-bool-pref("userChrome.hidden.tabbar") {
+ @media -moz-pref("userChrome.hidden.tabbar") {
:root[inFullscreen]:not([macOSNativeFullscreen]) #toolbar-menubar {
visibility: visible !important;
min-height: 0 !important;
@@ -5942,13 +6091,19 @@
:root[inFullscreen]:not([macOSNativeFullscreen]) #menubar-items {
visibility: collapse !important;
}
- :root[tabsintitlebar] #titlebar {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar {
z-index: 1;
}
- :root[tabsintitlebar] #titlebar:-moz-window-inactive {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar:-moz-window-inactive,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar:-moz-window-inactive,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar:-moz-window-inactive {
opacity: 1 !important;
}
- :root[tabsintitlebar] #titlebar:-moz-window-inactive .titlebar-buttonbox {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar:-moz-window-inactive .titlebar-buttonbox,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar:-moz-window-inactive .titlebar-buttonbox,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar:-moz-window-inactive .titlebar-buttonbox {
opacity: var(--inactive-titlebar-opacity);
}
}
@@ -5962,7 +6117,7 @@
}
}
@media screen and (max-width: 1100px) {
- @supports not -moz-bool-pref("userChrome.hidden.tabbar") {
+ @media not -moz-pref("userChrome.hidden.tabbar") {
:root:not([chromehidden~="menubar"])
#toolbar-menubar:not([autohide="true"])
.titlebar-buttonbox-container {
@@ -5972,7 +6127,7 @@
}
}
@media screen and (min-width: 1100px) {
- @supports -moz-bool-pref("userChrome.tabbar.one_liner.tabbar_first") {
+ @media -moz-pref("userChrome.tabbar.one_liner.tabbar_first") {
/*= Windows Control - Move to toolbar ========================================*/
/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/tabs_on_bottom.css made available under Mozilla Public License v. 2.0
See the above repository for updates as well as full license text. */
@@ -5983,8 +6138,8 @@
#navigator-toolbox {
padding-top: var(--uc-titlebar-padding) !important;
}
- @supports -moz-bool-pref("userChrome.tabbar.on_bottom") {
- @supports -moz-bool-pref("userChrome.tabbar.on_bottom.menubar_on_top") {
+ @media -moz-pref("userChrome.tabbar.on_bottom") {
+ @media -moz-pref("userChrome.tabbar.on_bottom.menubar_on_top") {
#navigator-toolbox {
padding-top: calc(
max(var(--uc-menubar-height), var(--uc-menubar-height-default)) + var(--uc-titlebar-padding)
@@ -6011,12 +6166,12 @@
.titlebar-buttonbox-container > .titlebar-buttonbox {
height: 100%;
}
- @supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled") {
+ @media -moz-pref("layout.css.osx-font-smoothing.enabled") {
.titlebar-buttonbox-container > .titlebar-buttonbox {
margin-block: 10px;
}
}
- @supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled") {
+ @media -moz-pref("layout.css.osx-font-smoothing.enabled") {
.titlebar-buttonbox-container {
left: 0;
right: unset !important;
@@ -6029,43 +6184,43 @@
}
}
@media screen and (min-width: 1100px) and (-moz-platform: windows) {
- :root[sizemode="maximized"][tabsintitlebar] #navigator-toolbox-background {
+ :root[sizemode="maximized"]:is([tabsintitlebar], [customtitlebar]) #navigator-toolbox-background {
margin-top: calc(-1 * var(--uc-titlebar-padding));
}
- :root[sizemode="normal"][tabsintitlebar] #titlebar,
- :root[sizemode="maximized"][tabsintitlebar] #titlebar {
+ :root[sizemode="normal"]:is([tabsintitlebar], [customtitlebar]) #titlebar,
+ :root[sizemode="maximized"]:is([tabsintitlebar], [customtitlebar]) #titlebar {
appearance: none !important;
}
- .browser-toolbar:not(.titlebar-color) {
+ .browser-toolbar:not(.titlebar-color):not(.browser-titlebar) {
background-clip: border-box !important;
}
}
- @supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled") {
+ @media -moz-pref("layout.css.osx-font-smoothing.enabled") {
#toolbar-menubar:not([autohide="true"]) {
visibility: visible !important;
height: 0;
}
}
- @supports not -moz-bool-pref("userChrome.hidden.tabbar") {
+ @media not -moz-pref("userChrome.hidden.tabbar") {
#toolbar-menubar[inactive] > .titlebar-buttonbox-container {
opacity: 0;
visibility: collapse;
}
}
- @supports -moz-bool-pref("userChrome.hidden.tabbar") {
+ @media -moz-pref("userChrome.hidden.tabbar") {
#toolbar-menubar[inactive] > .titlebar-buttonbox-container {
opacity: 1;
visibility: visible;
}
- @supports -moz-bool-pref("userChrome.autohide.navbar") {
+ @media -moz-pref("userChrome.autohide.navbar") {
#toolbar-menubar[inactive] > .titlebar-buttonbox-container {
opacity: 0;
visibility: collapse;
}
}
}
- @supports -moz-bool-pref("userChrome.hidden.tabbar") {
- @supports -moz-bool-pref("userChrome.autohide.navbar") {
+ @media -moz-pref("userChrome.hidden.tabbar") {
+ @media -moz-pref("userChrome.autohide.navbar") {
#navigator-toolbox:is(:hover, :focus-within)
#toolbar-menubar[inactive]:not([customizing])
> .titlebar-buttonbox-container {
@@ -6085,12 +6240,12 @@
transition-delay: 0s !important;
}
}
- @supports -moz-bool-pref("browser.fullscreen.autohide") {
+ @media -moz-pref("browser.fullscreen.autohide") {
:root[sizemode="fullscreen"] #navigator-toolbox:not(:hover) .titlebar-buttonbox-container {
visibility: hidden;
}
}
- @supports -moz-bool-pref("userChrome.hidden.tabbar") {
+ @media -moz-pref("userChrome.hidden.tabbar") {
:root[inFullscreen]:not([macOSNativeFullscreen]) #toolbar-menubar {
visibility: visible !important;
min-height: 0 !important;
@@ -6099,13 +6254,19 @@
:root[inFullscreen]:not([macOSNativeFullscreen]) #menubar-items {
visibility: collapse !important;
}
- :root[tabsintitlebar] #titlebar {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar {
z-index: 1;
}
- :root[tabsintitlebar] #titlebar:-moz-window-inactive {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar:-moz-window-inactive,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar:-moz-window-inactive,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar:-moz-window-inactive {
opacity: 1 !important;
}
- :root[tabsintitlebar] #titlebar:-moz-window-inactive .titlebar-buttonbox {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar:-moz-window-inactive .titlebar-buttonbox,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar:-moz-window-inactive .titlebar-buttonbox,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar:-moz-window-inactive .titlebar-buttonbox {
opacity: var(--inactive-titlebar-opacity);
}
}
@@ -6116,7 +6277,7 @@
> .titlebar-buttonbox-container {
display: block !important;
}
- @supports not -moz-bool-pref("userChrome.hidden.tabbar") {
+ @media not -moz-pref("userChrome.hidden.tabbar") {
:root:not([chromehidden~="menubar"])
#toolbar-menubar:not([autohide="true"])
.titlebar-buttonbox-container {
@@ -6124,7 +6285,7 @@
}
}
}
- @supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled") {
+ @media -moz-pref("layout.css.osx-font-smoothing.enabled") {
/*= Windows Control - Move to toolbar ========================================*/
/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/tabs_on_bottom.css made available under Mozilla Public License v. 2.0
See the above repository for updates as well as full license text. */
@@ -6135,8 +6296,8 @@
#navigator-toolbox {
padding-top: var(--uc-titlebar-padding) !important;
}
- @supports -moz-bool-pref("userChrome.tabbar.on_bottom") {
- @supports -moz-bool-pref("userChrome.tabbar.on_bottom.menubar_on_top") {
+ @media -moz-pref("userChrome.tabbar.on_bottom") {
+ @media -moz-pref("userChrome.tabbar.on_bottom.menubar_on_top") {
#navigator-toolbox {
padding-top: calc(
max(var(--uc-menubar-height), var(--uc-menubar-height-default)) + var(--uc-titlebar-padding)
@@ -6163,12 +6324,12 @@
.titlebar-buttonbox-container > .titlebar-buttonbox {
height: 100%;
}
- @supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled") {
+ @media -moz-pref("layout.css.osx-font-smoothing.enabled") {
.titlebar-buttonbox-container > .titlebar-buttonbox {
margin-block: 10px;
}
}
- @supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled") {
+ @media -moz-pref("layout.css.osx-font-smoothing.enabled") {
.titlebar-buttonbox-container {
left: 0;
right: unset !important;
@@ -6181,43 +6342,43 @@
}
}
@media screen and (min-width: 1100px) and (-moz-platform: windows) {
- :root[sizemode="maximized"][tabsintitlebar] #navigator-toolbox-background {
+ :root[sizemode="maximized"]:is([tabsintitlebar], [customtitlebar]) #navigator-toolbox-background {
margin-top: calc(-1 * var(--uc-titlebar-padding));
}
- :root[sizemode="normal"][tabsintitlebar] #titlebar,
- :root[sizemode="maximized"][tabsintitlebar] #titlebar {
+ :root[sizemode="normal"]:is([tabsintitlebar], [customtitlebar]) #titlebar,
+ :root[sizemode="maximized"]:is([tabsintitlebar], [customtitlebar]) #titlebar {
appearance: none !important;
}
- .browser-toolbar:not(.titlebar-color) {
+ .browser-toolbar:not(.titlebar-color):not(.browser-titlebar) {
background-clip: border-box !important;
}
}
- @supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled") {
+ @media -moz-pref("layout.css.osx-font-smoothing.enabled") {
#toolbar-menubar:not([autohide="true"]) {
visibility: visible !important;
height: 0;
}
}
- @supports not -moz-bool-pref("userChrome.hidden.tabbar") {
+ @media not -moz-pref("userChrome.hidden.tabbar") {
#toolbar-menubar[inactive] > .titlebar-buttonbox-container {
opacity: 0;
visibility: collapse;
}
}
- @supports -moz-bool-pref("userChrome.hidden.tabbar") {
+ @media -moz-pref("userChrome.hidden.tabbar") {
#toolbar-menubar[inactive] > .titlebar-buttonbox-container {
opacity: 1;
visibility: visible;
}
- @supports -moz-bool-pref("userChrome.autohide.navbar") {
+ @media -moz-pref("userChrome.autohide.navbar") {
#toolbar-menubar[inactive] > .titlebar-buttonbox-container {
opacity: 0;
visibility: collapse;
}
}
}
- @supports -moz-bool-pref("userChrome.hidden.tabbar") {
- @supports -moz-bool-pref("userChrome.autohide.navbar") {
+ @media -moz-pref("userChrome.hidden.tabbar") {
+ @media -moz-pref("userChrome.autohide.navbar") {
#navigator-toolbox:is(:hover, :focus-within)
#toolbar-menubar[inactive]:not([customizing])
> .titlebar-buttonbox-container {
@@ -6237,12 +6398,12 @@
transition-delay: 0s !important;
}
}
- @supports -moz-bool-pref("browser.fullscreen.autohide") {
+ @media -moz-pref("browser.fullscreen.autohide") {
:root[sizemode="fullscreen"] #navigator-toolbox:not(:hover) .titlebar-buttonbox-container {
visibility: hidden;
}
}
- @supports -moz-bool-pref("userChrome.hidden.tabbar") {
+ @media -moz-pref("userChrome.hidden.tabbar") {
:root[inFullscreen]:not([macOSNativeFullscreen]) #toolbar-menubar {
visibility: visible !important;
min-height: 0 !important;
@@ -6251,13 +6412,19 @@
:root[inFullscreen]:not([macOSNativeFullscreen]) #menubar-items {
visibility: collapse !important;
}
- :root[tabsintitlebar] #titlebar {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar {
z-index: 1;
}
- :root[tabsintitlebar] #titlebar:-moz-window-inactive {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar:-moz-window-inactive,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar:-moz-window-inactive,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar:-moz-window-inactive {
opacity: 1 !important;
}
- :root[tabsintitlebar] #titlebar:-moz-window-inactive .titlebar-buttonbox {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar:-moz-window-inactive .titlebar-buttonbox,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar:-moz-window-inactive .titlebar-buttonbox,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar:-moz-window-inactive .titlebar-buttonbox {
opacity: var(--inactive-titlebar-opacity);
}
}
@@ -6268,7 +6435,7 @@
> .titlebar-buttonbox-container {
display: block !important;
}
- @supports not -moz-bool-pref("userChrome.hidden.tabbar") {
+ @media not -moz-pref("userChrome.hidden.tabbar") {
:root:not([chromehidden~="menubar"])
#toolbar-menubar:not([autohide="true"])
.titlebar-buttonbox-container {
@@ -6279,7 +6446,7 @@
}
}
}
- @supports not -moz-bool-pref("userChrome.navbar.as_sidebar") {
+ @media not -moz-pref("userChrome.navbar.as_sidebar") {
/*= Navbar - Padding for window controls =====================================*/
/* Customized https://github.com/MrOtherGuy/firefox-csshacks/blob/master/chrome/window_control_placeholder_support.css */
#nav-bar {
@@ -6287,21 +6454,21 @@
border-inline-color: transparent;
}
@media (-moz-platform: windows) {
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner") {
+ @media not -moz-pref("userChrome.tabbar.one_liner") {
#nav-bar {
border-inline-start-width: var(--uc-window-drag-space-pre);
border-inline-end-width: var(--uc-window-control-space);
}
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner") {
- @supports -moz-bool-pref("userChrome.tabbar.one_liner.combine_navbar") {
+ @media -moz-pref("userChrome.tabbar.one_liner") {
+ @media -moz-pref("userChrome.tabbar.one_liner.combine_navbar") {
#nav-bar {
border-inline-start-width: var(--uc-window-drag-space-pre);
border-inline-end-width: var(--uc-window-control-space);
}
}
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner.combine_navbar") {
- @supports -moz-bool-pref("userChrome.tabbar.on_bottom") or -moz-bool-pref("userChrome.hidden.tabbar") {
+ @media not -moz-pref("userChrome.tabbar.one_liner.combine_navbar") {
+ @media -moz-pref("userChrome.tabbar.on_bottom") or -moz-pref("userChrome.hidden.tabbar") {
@media screen and (-moz-platform: windows) and (max-width: 1100px) {
#nav-bar {
border-inline-start-width: var(--uc-window-drag-space-pre);
@@ -6311,28 +6478,28 @@
}
}
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner") {
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner.combine_navbar") {
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner.responsive") {
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner.tabbar_first") {
+ @media -moz-pref("userChrome.tabbar.one_liner") {
+ @media not -moz-pref("userChrome.tabbar.one_liner.combine_navbar") {
+ @media not -moz-pref("userChrome.tabbar.one_liner.responsive") {
+ @media not -moz-pref("userChrome.tabbar.one_liner.tabbar_first") {
#nav-bar {
margin-inline-start: var(--uc-window-drag-space-pre) !important;
}
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner.tabbar_first") {
+ @media -moz-pref("userChrome.tabbar.one_liner.tabbar_first") {
#nav-bar {
margin-inline-end: var(--uc-window-control-space) !important;
}
}
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner.responsive") {
+ @media -moz-pref("userChrome.tabbar.one_liner.responsive") {
@media screen and (-moz-platform: windows) and (min-width: 1100px) {
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner.tabbar_first") {
+ @media not -moz-pref("userChrome.tabbar.one_liner.tabbar_first") {
#nav-bar {
margin-inline-start: var(--uc-window-drag-space-pre) !important;
}
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner.tabbar_first") {
+ @media -moz-pref("userChrome.tabbar.one_liner.tabbar_first") {
#nav-bar {
margin-inline-end: var(--uc-window-control-space) !important;
}
@@ -6343,21 +6510,21 @@
}
}
@media (-moz-gtk-csd-available) and (-moz-gtk-csd-reversed-placement: 0) {
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner") {
+ @media not -moz-pref("userChrome.tabbar.one_liner") {
#nav-bar {
border-inline-start-width: var(--uc-window-drag-space-pre);
border-inline-end-width: var(--uc-window-control-space);
}
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner") {
- @supports -moz-bool-pref("userChrome.tabbar.one_liner.combine_navbar") {
+ @media -moz-pref("userChrome.tabbar.one_liner") {
+ @media -moz-pref("userChrome.tabbar.one_liner.combine_navbar") {
#nav-bar {
border-inline-start-width: var(--uc-window-drag-space-pre);
border-inline-end-width: var(--uc-window-control-space);
}
}
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner.combine_navbar") {
- @supports -moz-bool-pref("userChrome.tabbar.on_bottom") or -moz-bool-pref("userChrome.hidden.tabbar") {
+ @media not -moz-pref("userChrome.tabbar.one_liner.combine_navbar") {
+ @media -moz-pref("userChrome.tabbar.on_bottom") or -moz-pref("userChrome.hidden.tabbar") {
@media screen and (-moz-gtk-csd-available) and (-moz-gtk-csd-reversed-placement: 0) and (max-width: 1100px) {
#nav-bar {
border-inline-start-width: var(--uc-window-drag-space-pre);
@@ -6367,28 +6534,28 @@
}
}
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner") {
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner.combine_navbar") {
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner.responsive") {
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner.tabbar_first") {
+ @media -moz-pref("userChrome.tabbar.one_liner") {
+ @media not -moz-pref("userChrome.tabbar.one_liner.combine_navbar") {
+ @media not -moz-pref("userChrome.tabbar.one_liner.responsive") {
+ @media not -moz-pref("userChrome.tabbar.one_liner.tabbar_first") {
#nav-bar {
margin-inline-start: var(--uc-window-drag-space-pre) !important;
}
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner.tabbar_first") {
+ @media -moz-pref("userChrome.tabbar.one_liner.tabbar_first") {
#nav-bar {
margin-inline-end: var(--uc-window-control-space) !important;
}
}
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner.responsive") {
+ @media -moz-pref("userChrome.tabbar.one_liner.responsive") {
@media screen and (-moz-gtk-csd-available) and (-moz-gtk-csd-reversed-placement: 0) and (min-width: 1100px) {
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner.tabbar_first") {
+ @media not -moz-pref("userChrome.tabbar.one_liner.tabbar_first") {
#nav-bar {
margin-inline-start: var(--uc-window-drag-space-pre) !important;
}
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner.tabbar_first") {
+ @media -moz-pref("userChrome.tabbar.one_liner.tabbar_first") {
#nav-bar {
margin-inline-end: var(--uc-window-control-space) !important;
}
@@ -6398,22 +6565,22 @@
}
}
}
- @supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled") {
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner") {
+ @media -moz-pref("layout.css.osx-font-smoothing.enabled") {
+ @media not -moz-pref("userChrome.tabbar.one_liner") {
#nav-bar {
border-inline-start-width: var(--uc-window-control-space);
border-inline-end-width: var(--uc-window-drag-space-pre);
}
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner") {
- @supports -moz-bool-pref("userChrome.tabbar.one_liner.combine_navbar") {
+ @media -moz-pref("userChrome.tabbar.one_liner") {
+ @media -moz-pref("userChrome.tabbar.one_liner.combine_navbar") {
#nav-bar {
border-inline-start-width: var(--uc-window-control-space);
border-inline-end-width: var(--uc-window-drag-space-pre);
}
}
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner.combine_navbar") {
- @supports -moz-bool-pref("userChrome.tabbar.on_bottom") or -moz-bool-pref("userChrome.hidden.tabbar") {
+ @media not -moz-pref("userChrome.tabbar.one_liner.combine_navbar") {
+ @media -moz-pref("userChrome.tabbar.on_bottom") or -moz-pref("userChrome.hidden.tabbar") {
@media screen and (max-width: 1100px) {
#nav-bar {
border-inline-start-width: var(--uc-window-control-space);
@@ -6423,28 +6590,28 @@
}
}
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner") {
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner.combine_navbar") {
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner.responsive") {
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner.tabbar_first") {
+ @media -moz-pref("userChrome.tabbar.one_liner") {
+ @media not -moz-pref("userChrome.tabbar.one_liner.combine_navbar") {
+ @media not -moz-pref("userChrome.tabbar.one_liner.responsive") {
+ @media not -moz-pref("userChrome.tabbar.one_liner.tabbar_first") {
#nav-bar {
margin-inline-start: var(--uc-window-control-space, 0px) !important;
}
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner.tabbar_first") {
+ @media -moz-pref("userChrome.tabbar.one_liner.tabbar_first") {
#nav-bar {
margin-inline-end: var(--uc-window-drag-space-pre, 0px) !important;
}
}
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner.responsive") {
+ @media -moz-pref("userChrome.tabbar.one_liner.responsive") {
@media screen and (min-width: 1100px) {
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner.tabbar_first") {
+ @media not -moz-pref("userChrome.tabbar.one_liner.tabbar_first") {
#nav-bar {
margin-inline-start: var(--uc-window-control-space, 0px) !important;
}
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner.tabbar_first") {
+ @media -moz-pref("userChrome.tabbar.one_liner.tabbar_first") {
#nav-bar {
margin-inline-end: var(--uc-window-drag-space-pre, 0px) !important;
}
@@ -6453,18 +6620,18 @@
}
}
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner") {
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner.combine_navbar") {
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner.responsive") {
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner.tabbar_first") {
+ @media -moz-pref("userChrome.tabbar.one_liner") {
+ @media not -moz-pref("userChrome.tabbar.one_liner.combine_navbar") {
+ @media not -moz-pref("userChrome.tabbar.one_liner.responsive") {
+ @media not -moz-pref("userChrome.tabbar.one_liner.tabbar_first") {
#TabsToolbar {
margin-inline-end: var(--uc-window-drag-space-pre, 0px) !important;
}
}
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner.responsive") {
+ @media -moz-pref("userChrome.tabbar.one_liner.responsive") {
@media screen and (min-width: 1100px) {
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner.tabbar_first") {
+ @media not -moz-pref("userChrome.tabbar.one_liner.tabbar_first") {
#TabsToolbar {
margin-inline-end: var(--uc-window-drag-space-pre, 0px) !important;
}
@@ -6472,13 +6639,13 @@
}
}
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner.tabbar_first") {
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner.responsive") {
+ @media -moz-pref("userChrome.tabbar.one_liner.tabbar_first") {
+ @media not -moz-pref("userChrome.tabbar.one_liner.responsive") {
#TabsToolbar {
margin-inline-start: var(--uc-window-control-width, 0px) !important;
}
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner.responsive") {
+ @media -moz-pref("userChrome.tabbar.one_liner.responsive") {
@media screen and (min-width: 1100px) {
#TabsToolbar {
margin-inline-start: var(--uc-window-control-width, 0px) !important;
@@ -6489,21 +6656,21 @@
}
}
@media (-moz-gtk-csd-available) and (-moz-gtk-csd-reversed-placement) {
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner") {
+ @media not -moz-pref("userChrome.tabbar.one_liner") {
#nav-bar {
border-inline-start-width: var(--uc-window-control-space);
border-inline-end-width: var(--uc-window-drag-space-pre);
}
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner") {
- @supports -moz-bool-pref("userChrome.tabbar.one_liner.combine_navbar") {
+ @media -moz-pref("userChrome.tabbar.one_liner") {
+ @media -moz-pref("userChrome.tabbar.one_liner.combine_navbar") {
#nav-bar {
border-inline-start-width: var(--uc-window-control-space);
border-inline-end-width: var(--uc-window-drag-space-pre);
}
}
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner.combine_navbar") {
- @supports -moz-bool-pref("userChrome.tabbar.on_bottom") or -moz-bool-pref("userChrome.hidden.tabbar") {
+ @media not -moz-pref("userChrome.tabbar.one_liner.combine_navbar") {
+ @media -moz-pref("userChrome.tabbar.on_bottom") or -moz-pref("userChrome.hidden.tabbar") {
@media screen and (-moz-gtk-csd-available) and (-moz-gtk-csd-reversed-placement) and (max-width: 1100px) {
#nav-bar {
border-inline-start-width: var(--uc-window-control-space);
@@ -6513,28 +6680,28 @@
}
}
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner") {
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner.combine_navbar") {
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner.responsive") {
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner.tabbar_first") {
+ @media -moz-pref("userChrome.tabbar.one_liner") {
+ @media not -moz-pref("userChrome.tabbar.one_liner.combine_navbar") {
+ @media not -moz-pref("userChrome.tabbar.one_liner.responsive") {
+ @media not -moz-pref("userChrome.tabbar.one_liner.tabbar_first") {
#nav-bar {
margin-inline-start: var(--uc-window-control-space, 0px) !important;
}
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner.tabbar_first") {
+ @media -moz-pref("userChrome.tabbar.one_liner.tabbar_first") {
#nav-bar {
margin-inline-end: var(--uc-window-drag-space-pre, 0px) !important;
}
}
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner.responsive") {
+ @media -moz-pref("userChrome.tabbar.one_liner.responsive") {
@media screen and (-moz-gtk-csd-available) and (-moz-gtk-csd-reversed-placement) and (min-width: 1100px) {
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner.tabbar_first") {
+ @media not -moz-pref("userChrome.tabbar.one_liner.tabbar_first") {
#nav-bar {
margin-inline-start: var(--uc-window-control-space, 0px) !important;
}
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner.tabbar_first") {
+ @media -moz-pref("userChrome.tabbar.one_liner.tabbar_first") {
#nav-bar {
margin-inline-end: var(--uc-window-drag-space-pre, 0px) !important;
}
@@ -6543,18 +6710,18 @@
}
}
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner") {
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner.combine_navbar") {
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner.responsive") {
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner.tabbar_first") {
+ @media -moz-pref("userChrome.tabbar.one_liner") {
+ @media not -moz-pref("userChrome.tabbar.one_liner.combine_navbar") {
+ @media not -moz-pref("userChrome.tabbar.one_liner.responsive") {
+ @media not -moz-pref("userChrome.tabbar.one_liner.tabbar_first") {
#TabsToolbar {
margin-inline-end: var(--uc-window-drag-space-pre, 0px) !important;
}
}
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner.responsive") {
+ @media -moz-pref("userChrome.tabbar.one_liner.responsive") {
@media screen and (-moz-gtk-csd-available) and (-moz-gtk-csd-reversed-placement) and (min-width: 1100px) {
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner.tabbar_first") {
+ @media not -moz-pref("userChrome.tabbar.one_liner.tabbar_first") {
#TabsToolbar {
margin-inline-end: var(--uc-window-drag-space-pre, 0px) !important;
}
@@ -6562,13 +6729,13 @@
}
}
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner.tabbar_first") {
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner.responsive") {
+ @media -moz-pref("userChrome.tabbar.one_liner.tabbar_first") {
+ @media not -moz-pref("userChrome.tabbar.one_liner.responsive") {
#TabsToolbar {
margin-inline-start: var(--uc-window-control-width, 0px) !important;
}
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner.responsive") {
+ @media -moz-pref("userChrome.tabbar.one_liner.responsive") {
@media screen and (-moz-gtk-csd-available) and (-moz-gtk-csd-reversed-placement) and (min-width: 1100px) {
#TabsToolbar {
margin-inline-start: var(--uc-window-control-width, 0px) !important;
@@ -6578,7 +6745,7 @@
}
}
}
- @supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled") {
+ @media -moz-pref("layout.css.osx-font-smoothing.enabled") {
:root[sizemode="fullscreen"] #TabsToolbar > .titlebar-buttonbox-container:last-child,
:root[sizemode="fullscreen"] #window-controls {
right: unset;
@@ -6588,8 +6755,8 @@
}
}
/*= Tab Bar - Show only current tab ==========================================*/
-@supports -moz-bool-pref("userChrome.tabbar.as_titlebar") {
- :root:not([tabsintitlebar="true"]) #tabbrowser-tabs,
+@media -moz-pref("userChrome.tabbar.as_titlebar") {
+ :root:not([tabsintitlebar="true"]):not([customtitlebar="true"]) #tabbrowser-tabs,
#scrollbutton-up,
#scrollbutton-down,
.titlebar-spacer[type="pre-tabs"],
@@ -6621,6 +6788,7 @@
width: 100%;
}
/* Pinned */
+ #tabbrowser-tabs[positionpinnedtabs] > #pinned-tabs-container > .tabbrowser-tab[pinned][selected="true"],
#tabbrowser-tabs[positionpinnedtabs] > #tabbrowser-arrowscrollbox > .tabbrowser-tab[pinned][selected="true"] {
position: relative !important;
}
@@ -6639,27 +6807,33 @@
width: unset !important;
}
/* Padding */
- @supports not -moz-bool-pref("userChrome.centered.tab") {
+ @media not -moz-pref("userChrome.centered.tab") {
+ #pinned-tabs-container,
#tabbrowser-arrowscrollbox {
margin-inline: 2px !important;
}
+ :root[sizemode="normal"] #pinned-tabs-container,
:root[sizemode="normal"] #tabbrowser-arrowscrollbox {
margin-inline: 6px !important;
}
}
- @supports -moz-bool-pref("userChrome.centered.tab") {
- @supports -moz-bool-pref("userChrome.centered.tab.label") {
+ @media -moz-pref("userChrome.centered.tab") {
+ @media -moz-pref("userChrome.centered.tab.label") {
+ #pinned-tabs-container,
#tabbrowser-arrowscrollbox {
margin-inline: 2px !important;
}
+ :root[sizemode="normal"] #pinned-tabs-container,
:root[sizemode="normal"] #tabbrowser-arrowscrollbox {
margin-inline: 6px !important;
}
}
}
- @supports -moz-bool-pref("browser.tabs.tabmanager.enabled") {
- :root:not([tabsintitlebar="true"]) #tabbrowser-tabs:not([overflow="true"], [hashiddentabs]) ~ #alltabs-button,
- :root:not([tabsintitlebar="true"])
+ @media -moz-pref("browser.tabs.tabmanager.enabled") {
+ :root:not([tabsintitlebar="true"]):not([customtitlebar="true"])
+ #tabbrowser-tabs:not([overflow="true"], [hashiddentabs])
+ ~ #alltabs-button,
+ :root:not([tabsintitlebar="true"]):not([customtitlebar="true"])
#tabbrowser-tabs[hasadjacentnewtabbutton]:not([overflow="true"])
~ #new-tab-button {
display: flex !important;
@@ -6668,7 +6842,7 @@
}
}
/*= Tab Bar - Multi Row ======================================================*/
-@supports -moz-bool-pref("userChrome.tabbar.multi_row") {
+@media -moz-pref("userChrome.tabbar.multi_row") {
/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/multi-row_tabs.css made available under Mozilla Public License v. 2.0
See the above repository for updates as well as full license text. */
:root {
@@ -6694,6 +6868,7 @@
}
}
.scrollbox-clip[orient="horizontal"],
+ #pinned-tabs-container,
#tabbrowser-arrowscrollbox {
overflow: -moz-hidden-unscrollable;
display: block;
@@ -6729,7 +6904,7 @@
}
}
/*= Tab Bar - Scollmode disabled =============================================*/
-@supports -moz-bool-pref("userChrome.tabbar.unscroll") {
+@media -moz-pref("userChrome.tabbar.unscroll") {
/* Disable scrollbox */
spacer[part="overflow-start-indicator"] + .scrollbox-clip > scrollbox {
overflow: -moz-hidden-unscrollable !important;
@@ -6771,6 +6946,7 @@
> #tabs-newtab-button {
z-index: 2 !important;
}
+ #tabbrowser-tabs[closebuttons="activetab"][hasadjacentnewtabbutton="true"] #pinned-tabs-container,
#tabbrowser-tabs[closebuttons="activetab"][hasadjacentnewtabbutton="true"] #tabbrowser-arrowscrollbox {
padding-inline-end: calc(
16px + (var(--toolbarbutton-inner-padding) + var(--toolbarbutton-outer-padding)) * 2
@@ -6778,7 +6954,7 @@
}
}
/*= Tab Bar - Fill width tab =================================================*/
-@supports -moz-bool-pref("userChrome.tabbar.fill_width") {
+@media -moz-pref("userChrome.tabbar.fill_width") {
/* Why 100vw? Tab closing requires width animation to end and "none" can't be animated */
.tabbrowser-tab[fadein]:not([style^="max-width"]) {
--tab-max-width: 100vw;
@@ -6787,35 +6963,53 @@
}
/** Tab UI ********************************************************************/
/*= Tab - Connect to window ==============================================*/
-@supports -moz-bool-pref("userChrome.tab.connect_to_window") {
- #tabbrowser-tabs[orient="vertical"] {
- --uc-tab-border-bottom-radius: var(--tab-border-radius);
+@media -moz-pref("userChrome.tab.connect_to_window") {
+ #TabsToolbar #tabbrowser-tabs:not([orient="vertical"]) {
+ max-height: var(--tab-min-height);
}
- .tab-background {
+ #TabsToolbar #tabbrowser-tabs:not([orient="vertical"])[movingtab] {
+ padding-bottom: unset !important;
+ margin-bottom: unset !important;
+ }
+ #TabsToolbar[multibar] #tabbrowser-tabs:not([orient="vertical"]) {
+ max-height: var(--tab-min-height_mlt);
+ }
+ #tabbrowser-tabs:not([orient="vertical"]) {
+ min-height: unset !important; /* Original: var(--tabstrip-min-height) */
+ }
+ #tabbrowser-tabs:not([orient="vertical"]) .tab-background {
border-radius: var(--tab-border-radius) var(--tab-border-radius) var(--uc-tab-border-bottom-radius, 0px)
var(--uc-tab-border-bottom-radius, 0px) !important;
margin-bottom: 0px !important;
}
- .tab-content {
+ #tabbrowser-tabs:not([orient="vertical"]) .tab-content {
margin-top: 0px;
}
- .tab-stack {
+ #tabbrowser-tabs:not([orient="vertical"]) .tab-stack {
margin-top: 0px !important;
margin-bottom: 0px !important;
}
+ #tabbrowser-tabs:not([orient="vertical"]) tab-group .tabbrowser-tab:is([selected], [multiselected]) .tab-group-line {
+ transform: translateY(calc(var(--tab-group-line-thickness) * -1));
+ }
+ #tabbrowser-tabs[orient="vertical"] {
+ --uc-tab-border-bottom-radius: var(--tab-border-radius);
+ }
/* Remove line at Toolbar's top */
#tabbrowser-tabs {
z-index: 1 !important;
}
- @supports not -moz-bool-pref("userChrome.tabbar.multi_row") {
+ @media not -moz-pref("userChrome.tabbar.multi_row") {
#TabsToolbar:not([multibar]) {
overflow: clip; /* Prevent toolbar area over */
}
}
/* Pinned Tab - tabbrowser-arrowscrollbox overflowing */
+ #tabbrowser-tabs[positionpinnedtabs] > #pinned-tabs-container > .tabbrowser-tab[pinned],
#tabbrowser-tabs[positionpinnedtabs] > #tabbrowser-arrowscrollbox > .tabbrowser-tab[pinned] {
z-index: 0 !important;
}
+ #tabbrowser-tabs[positionpinnedtabs] > #pinned-tabs-container > .tabbrowser-tab[pinned] .tab-stack,
#tabbrowser-tabs[positionpinnedtabs] > #tabbrowser-arrowscrollbox > .tabbrowser-tab[pinned] .tab-stack {
/* Temporary solution for compatibility #513 */
overflow-y: clip;
@@ -6833,19 +7027,14 @@
}
/*= Selected Tab =============================================================*/
/*= Selected Tab - Bold ======================================================*/
-@supports not -moz-bool-pref("userChrome.tab.selected_bold") {
- .tab-label:is([selected], [attention]) {
- font-weight: 400 !important;
- }
-}
-@supports -moz-bool-pref("userChrome.tab.selected_bold") {
+@media -moz-pref("userChrome.tab.selected_bold") {
.tab-label:is([selected], [attention]) {
font-weight: 600;
}
}
/*= Selected Tab - Color like toolbar ========================================*/
-@supports -moz-bool-pref("userChrome.tab.color_like_toolbar") {
+@media -moz-pref("userChrome.tab.color_like_toolbar") {
:root:is(:not([lwtheme]), :not(:-moz-lwtheme)) {
/* Fix for windows's system default theme. Using --toolbar-bgcolor, --toolbar-bgimage fallback */
--tab-selected-bgcolor: unset !important; /* Original: rgb(255,255,255); */
@@ -6855,6 +7044,26 @@
.tab-background:is([selected], [multiselected]) {
background-color: var(--tab-selected-bgcolor, var(--toolbar-bgcolor)) !important;
}
+ :root:is(:-moz-lwtheme, [lwtheme]) #pinned-tabs-container > .tabbrowser-tab > .tab-stack > .tab-background[selected],
+ :root:is(:-moz-lwtheme, [lwtheme])
+ #tabbrowser-tabs:not([movingtab])
+ > #pinned-tabs-container
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[selected],
+ :root:is(:-moz-lwtheme, [lwtheme])
+ #pinned-tabs-container
+ > tab-group
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[selected],
+ :root:is(:-moz-lwtheme, [lwtheme])
+ #tabbrowser-tabs[orient="horizontal"]:not([movingtab])
+ > #pinned-tabs-container
+ > tab-group
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[selected],
:root:is(:-moz-lwtheme, [lwtheme])
#tabbrowser-arrowscrollbox
> .tabbrowser-tab
@@ -6865,6 +7074,19 @@
> #tabbrowser-arrowscrollbox
> .tabbrowser-tab
> .tab-stack
+ > .tab-background[selected],
+ :root:is(:-moz-lwtheme, [lwtheme])
+ #tabbrowser-arrowscrollbox
+ > tab-group
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[selected],
+ :root:is(:-moz-lwtheme, [lwtheme])
+ #tabbrowser-tabs[orient="horizontal"]:not([movingtab])
+ > #tabbrowser-arrowscrollbox
+ > tab-group
+ > .tabbrowser-tab
+ > .tab-stack
> .tab-background[selected] {
/* Original: linear-gradient(var(--lwt-selected-tab-background-color, transparent), var(--lwt-selected-tab-background-color, transparent)), linear-gradient(var(--toolbar-bgcolor), var(--toolbar-bgcolor)), var(--lwt-header-image, none)
*/
@@ -6874,7 +7096,31 @@
background-attachment: scroll, scroll, fixed;
background-repeat: repeat-x, repeat-x, no-repeat !important;
}
- @supports -moz-bool-pref("userChrome.theme.transparent.frame") {
+ @media -moz-pref("userChrome.theme.transparent.frame") {
+ :root:not([lwtheme-image]):is(:-moz-lwtheme, [lwtheme])
+ #pinned-tabs-container
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[selected],
+ :root:not([lwtheme-image]):is(:-moz-lwtheme, [lwtheme])
+ #tabbrowser-tabs:not([movingtab])
+ > #pinned-tabs-container
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[selected],
+ :root:not([lwtheme-image]):is(:-moz-lwtheme, [lwtheme])
+ #pinned-tabs-container
+ > tab-group
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[selected],
+ :root:not([lwtheme-image]):is(:-moz-lwtheme, [lwtheme])
+ #tabbrowser-tabs[orient="horizontal"]:not([movingtab])
+ > #pinned-tabs-container
+ > tab-group
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[selected],
:root:not([lwtheme-image]):is(:-moz-lwtheme, [lwtheme])
#tabbrowser-arrowscrollbox
> .tabbrowser-tab
@@ -6885,6 +7131,19 @@
> #tabbrowser-arrowscrollbox
> .tabbrowser-tab
> .tab-stack
+ > .tab-background[selected],
+ :root:not([lwtheme-image]):is(:-moz-lwtheme, [lwtheme])
+ #tabbrowser-arrowscrollbox
+ > tab-group
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[selected],
+ :root:not([lwtheme-image]):is(:-moz-lwtheme, [lwtheme])
+ #tabbrowser-tabs[orient="horizontal"]:not([movingtab])
+ > #tabbrowser-arrowscrollbox
+ > tab-group
+ > .tabbrowser-tab
+ > .tab-stack
> .tab-background[selected] {
background-image: linear-gradient(transparent, transparent),
linear-gradient(var(--toolbar-bgcolor), var(--toolbar-bgcolor)), var(--lwt-additional-images, none) !important;
@@ -6894,17 +7153,36 @@
}
}
/*= Multi Selected Color - More Contrast =====================================*/
-@supports -moz-bool-pref("userChrome.tab.multi_selected") {
- #TabsToolbar {
+@media -moz-pref("userChrome.tab.multi_selected") {
+ #TabsToolbar,
+ #vertical-tabs {
--uc-multiselected-tab-bgcolor: color-mix(in srgb, currentColor 28%, var(--toolbar-bgcolor, transparent));
}
- #TabsToolbar[brighttext] {
+ #TabsToolbar[brighttext],
+ #vertical-tabs[brighttext] {
--uc-multiselected-tab-bgcolor: color-mix(in srgb, currentColor 16%, var(--toolbar-bgcolor, transparent));
}
+ #tabbrowser-tabs:not([movingtab])
+ > #pinned-tabs-container
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[multiselected]:not([selected]),
+ #tabbrowser-tabs:not([movingtab])
+ > #pinned-tabs-container
+ > tab-group
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[multiselected]:not([selected]),
#tabbrowser-tabs:not([movingtab])
> #tabbrowser-arrowscrollbox
> .tabbrowser-tab
> .tab-stack
+ > .tab-background[multiselected]:not([selected]),
+ #tabbrowser-tabs:not([movingtab])
+ > #tabbrowser-arrowscrollbox
+ > tab-group
+ > .tabbrowser-tab
+ > .tab-stack
> .tab-background[multiselected]:not([selected]) {
/* Original:
background-attachment: scroll, scroll, fixed;
@@ -6924,12 +7202,12 @@
background-repeat: repeat-x, no-repeat !important;
background-size: auto 100%, auto auto !important;
}
- @supports -moz-bool-pref("userChrome.tab.connect_to_window") {
+ @media -moz-pref("userChrome.tab.connect_to_window") {
.tab-background[multiselected="true"] {
outline: none !important;
}
}
- @supports not -moz-bool-pref("userChrome.tab.connect_to_window") {
+ @media not -moz-pref("userChrome.tab.connect_to_window") {
/* Backport from FF 99 */
.tab-background[multiselected="true"] {
outline: 1px solid color-mix(in srgb, var(--focus-outline-color, currentColor) 40%, transparent);
@@ -6942,7 +7220,7 @@
}
}
/*= Selected Tab - Box Shadow ================================================*/
-@supports -moz-bool-pref("userChrome.tab.box_shadow") {
+@media -moz-pref("userChrome.tab.box_shadow") {
#TabsToolbar {
--uc-tab-shadow-color: var(
--tab-line-color,
@@ -7010,12 +7288,12 @@
}
}
/*= Selected Tab - Bottom Rounded Corner =====================================*/
-@supports -moz-bool-pref("userChrome.tab.bottom_rounded_corner") {
- @supports not -moz-bool-pref("userChrome.tab.bottom_rounded_corner.wave") {
- @supports not -moz-bool-pref("userChrome.tab.bottom_rounded_corner.australis") {
- @supports not -moz-bool-pref("userChrome.tab.bottom_rounded_corner.chrome") {
- @supports not -moz-bool-pref("userChrome.tab.bottom_rounded_corner.chrome_legacy") {
- @supports not -moz-bool-pref("userChrome.tab.bottom_rounded_corner.edge") {
+@media -moz-pref("userChrome.tab.bottom_rounded_corner") {
+ @media not -moz-pref("userChrome.tab.bottom_rounded_corner.wave") {
+ @media not -moz-pref("userChrome.tab.bottom_rounded_corner.australis") {
+ @media not -moz-pref("userChrome.tab.bottom_rounded_corner.chrome") {
+ @media not -moz-pref("userChrome.tab.bottom_rounded_corner.chrome_legacy") {
+ @media not -moz-pref("userChrome.tab.bottom_rounded_corner.edge") {
#TabsToolbar {
--uc-tab-corner-rounding: 3px; /* 10px looks about like chromium - 17px looks close to Australis tabs */
--uc-tab-corner-padding: 0px;
@@ -7042,13 +7320,13 @@
background-repeat: no-repeat;
background-position-y: bottom;
}
- @supports -moz-bool-pref("userChrome.tab.bottom_rounded_corner.all") {
+ @media -moz-pref("userChrome.tab.bottom_rounded_corner.all") {
:root:not([customizing="true"]) .tabbrowser-tab .tab-background::before,
:root:not([customizing="true"]) .tabbrowser-tab .tab-background::after {
content: "";
}
}
- @supports not -moz-bool-pref("userChrome.tab.color_like_toolbar") {
+ @media not -moz-pref("userChrome.tab.color_like_toolbar") {
:root:not([customizing="true"]) .tabbrowser-tab .tab-background::before,
:root:not([customizing="true"]) .tabbrowser-tab .tab-background::after {
/* Based on tab background
@@ -7077,7 +7355,7 @@
fill: var(--tab-selected-bgcolor, var(--toolbar-bgcolor));
stroke: var(--tab-line-color, var(--tabs-border-color, rgba(128, 128, 142, 0.9)));
}
- @supports not -moz-bool-pref("userChrome.tab.bottom_rounded_corner.all") {
+ @media not -moz-pref("userChrome.tab.bottom_rounded_corner.all") {
:root:not([customizing="true"]) .tabbrowser-tab[visuallyselected] .tab-background::before,
:root:not([customizing="true"]) .tabbrowser-tab[visuallyselected] .tab-background::after {
content: "";
@@ -7095,7 +7373,7 @@
.tab-background::after {
fill: color-mix(in srgb, currentColor 11%, transparent);
}
- @supports -moz-bool-pref("userChrome.tab.multi_selected") {
+ @media -moz-pref("userChrome.tab.multi_selected") {
:root:not([customizing="true"])
.tabbrowser-tab[multiselected]:not([visuallyselected])
.tab-background::before,
@@ -7159,11 +7437,7 @@
}
}
}
- @supports -moz-bool-pref("userChrome.tab.bottom_rounded_corner.wave") or -moz-bool-pref(
- "userChrome.tab.bottom_rounded_corner.australis"
- ) or -moz-bool-pref("userChrome.tab.bottom_rounded_corner.chrome_legacy") or -moz-bool-pref(
- "userChrome.tab.bottom_rounded_corner.chrome"
- ) or -moz-bool-pref("userChrome.tab.bottom_rounded_corner.edge") {
+ @media -moz-pref("userChrome.tab.bottom_rounded_corner.wave") or -moz-pref("userChrome.tab.bottom_rounded_corner.australis") or -moz-pref("userChrome.tab.bottom_rounded_corner.chrome_legacy") or -moz-pref("userChrome.tab.bottom_rounded_corner.chrome") or -moz-pref("userChrome.tab.bottom_rounded_corner.edge") {
#TabsToolbar {
--uc-tab-corner-height: calc(var(--tab-min-height) + 1px);
--uc-tab-corner-size: var(--uc-tab-corner-height);
@@ -7171,7 +7445,7 @@
--uc-tab-corner-half-size-reverse: calc(var(--uc-tab-corner-half-size) * -1);
--uc-tab-corner-bgimage: none;
}
- @supports -moz-bool-pref("userChrome.tab.bottom_rounded_corner.wave") {
+ @media -moz-pref("userChrome.tab.bottom_rounded_corner.wave") {
#TabsToolbar {
--uc-tab-corner-left-side-svg: url("../icons/tab-bottom-corner-left-wave.svg");
--uc-tab-corner-left-side-clipPath: url("../icons/tab-bottom-corner-left-wave.svg#svgClipPath");
@@ -7181,7 +7455,7 @@
--uc-tab-corner-right-side-svg-clipped: url("../icons/tab-bottom-corner-right-wave-clipped.svg");
}
}
- @supports -moz-bool-pref("userChrome.tab.bottom_rounded_corner.australis") {
+ @media -moz-pref("userChrome.tab.bottom_rounded_corner.australis") {
#TabsToolbar {
--uc-tab-corner-left-side-svg: url("../icons/tab-bottom-corner-left-australis.svg");
--uc-tab-corner-left-side-clipPath: url("../icons/tab-bottom-corner-left-australis.svg#svgClipPath");
@@ -7191,7 +7465,7 @@
--uc-tab-corner-right-side-svg-clipped: url("../icons/tab-bottom-corner-right-australis-cilpped.svg");
}
}
- @supports -moz-bool-pref("userChrome.tab.bottom_rounded_corner.chrome") {
+ @media -moz-pref("userChrome.tab.bottom_rounded_corner.chrome") {
#TabsToolbar {
--uc-tab-corner-left-side-svg: url("../icons/tab-bottom-corner-left-chrome.svg");
--uc-tab-corner-left-side-clipPath: url("../icons/tab-bottom-corner-left-chrome.svg#svgClipPath");
@@ -7202,7 +7476,7 @@
--uc-tab-corner-size: 16px;
}
}
- @supports -moz-bool-pref("userChrome.tab.bottom_rounded_corner.chrome_legacy") {
+ @media -moz-pref("userChrome.tab.bottom_rounded_corner.chrome_legacy") {
#TabsToolbar {
--uc-tab-corner-left-side-svg: url("../icons/tab-bottom-corner-left-chromeLegacy.svg");
--uc-tab-corner-left-side-clipPath: url("../icons/tab-bottom-corner-left-chromeLegacy.svg#svgClipPath");
@@ -7212,7 +7486,7 @@
--uc-tab-corner-right-side-svg-clipped: url("../icons/tab-bottom-corner-right-chromeLegacy-clipped.svg");
}
}
- @supports -moz-bool-pref("userChrome.tab.bottom_rounded_corner.edge") {
+ @media -moz-pref("userChrome.tab.bottom_rounded_corner.edge") {
#TabsToolbar {
--uc-tab-corner-left-side-svg: url("../icons/tab-bottom-corner-left-edge.svg");
--uc-tab-corner-left-side-clipPath: url("../icons/tab-bottom-corner-left-edge.svg#svgClipPath");
@@ -7223,7 +7497,7 @@
--uc-tab-corner-size: 14px;
}
}
- @supports -moz-bool-pref("userChrome.tab.bottom_rounded_corner.all") {
+ @media -moz-pref("userChrome.tab.bottom_rounded_corner.all") {
.tabbrowser-tab {
padding-inline: 0 !important;
overflow-clip-margin: var(--uc-tab-corner-half-size) !important;
@@ -7234,7 +7508,7 @@
position: relative;
}
}
- @supports not -moz-bool-pref("userChrome.tab.bottom_rounded_corner.all") {
+ @media not -moz-pref("userChrome.tab.bottom_rounded_corner.all") {
.tabbrowser-tab[visuallyselected] {
padding-inline: 0 !important;
overflow-clip-margin: var(--uc-tab-corner-half-size) !important;
@@ -7268,13 +7542,13 @@
background-position: bottom, right top;
background-attachment: scroll, fixed;
}
- @supports -moz-bool-pref("userChrome.tab.bottom_rounded_corner.all") {
+ @media -moz-pref("userChrome.tab.bottom_rounded_corner.all") {
.tabbrowser-tab .tab-background::before,
.tabbrowser-tab .tab-background::after {
content: "";
}
}
- @supports not -moz-bool-pref("userChrome.tab.color_like_toolbar") {
+ @media not -moz-pref("userChrome.tab.color_like_toolbar") {
.tabbrowser-tab .tab-background::before,
.tabbrowser-tab .tab-background::after {
/* Based on tab background
@@ -7314,7 +7588,7 @@
.tabbrowser-tab:hover:not([visuallyselected], [multiselected]) .tab-background::after {
fill: color-mix(in srgb, currentColor 11%, transparent);
}
- @supports -moz-bool-pref("userChrome.tab.multi_selected") {
+ @media -moz-pref("userChrome.tab.multi_selected") {
.tabbrowser-tab[multiselected]:not([visuallyselected]) .tab-background::before,
.tabbrowser-tab[multiselected]:not([visuallyselected]) .tab-background::after {
fill: var(--uc-multiselected-tab-bgcolor);
@@ -7328,7 +7602,7 @@
}
@media (-moz-gtk-csd-available) {
/* Fill color for GTK */
- @supports -moz-bool-pref("userChrome.tab.box_shadow") {
+ @media -moz-pref("userChrome.tab.box_shadow") {
:root:not([lwtheme="true"]) .tabbrowser-tab {
--uc-tab-shadow-color: rgba(0, 0, 0, 0.4);
}
@@ -7345,7 +7619,7 @@
--uc-tab-corner-bgimage: linear-gradient(var(--toolbar-non-lwt-bgcolor), var(--toolbar-non-lwt-bgcolor));
fill: rgba(255, 255, 255, 0.075);
}
- @supports not -moz-bool-pref("userChrome.tab.color_like_toolbar") {
+ @media not -moz-pref("userChrome.tab.color_like_toolbar") {
:root:not([lwtheme="true"]) .tabbrowser-tab[visuallyselected] .tab-background::before,
:root:not([lwtheme="true"]) .tabbrowser-tab[visuallyselected] .tab-background::after {
fill: rgba(255, 255, 255, 0.15);
@@ -7364,21 +7638,19 @@
}
}
/*= Selected Tab - Photon like contextline ===================================*/
-@supports -moz-bool-pref("userChrome.tab.photon_like_contextline") or -moz-bool-pref("userChrome.tab.static_separator") or -moz-bool-pref(
- "userChrome.tab.bar_separator"
- ) {
- @supports -moz-bool-pref("userChrome.tab.blue_accent") {
+@media -moz-pref("userChrome.tab.photon_like_contextline") or -moz-pref("userChrome.tab.static_separator") or -moz-pref("userChrome.tab.bar_separator") {
+ @media -moz-pref("userChrome.tab.blue_accent") {
:root,
#tabbrowser-tabs {
--tab-line-color: rgb(10, 132, 255) !important;
}
}
- @supports not -moz-bool-pref("userChrome.tab.blue_accent") {
+ @media not -moz-pref("userChrome.tab.blue_accent") {
@media (-moz-gtk-csd-available) {
:root:is(:not([lwtheme]), :not(:-moz-lwtheme)) #tabbrowser-tabs {
--tab-line-color: AccentColor !important; /* -moz-accent-color */
}
- @supports -moz-bool-pref("userChrome.compatibility.accent_color") {
+ @media -moz-pref("userChrome.compatibility.accent_color") {
:root:is(:not([lwtheme]), :not(:-moz-lwtheme)) #tabbrowser-tabs {
--tab-line-color: Highlight !important; /* -moz-accent-color */
}
@@ -7386,7 +7658,7 @@
}
}
}
-@supports -moz-bool-pref("userChrome.tab.photon_like_contextline") {
+@media -moz-pref("userChrome.tab.photon_like_contextline") {
.tab-context-line {
display: inline-flex !important;
display: -moz-inline-box !important;
@@ -7460,15 +7732,138 @@
margin: unset !important;
}
}
+/*= Selected Tab - Supernova like contextline ===================================*/
+@media not -moz-pref("userChrome.tab.photon_like_contextline") {
+ @media -moz-pref("userChrome.tab.supernova_like_contextline") {
+ /* context line styles */
+ tabs tab.tabbrowser-tab > .tab-stack > .tab-background > .tab-context-line {
+ display: inline-flex !important;
+ display: -moz-inline-box !important;
+ }
+ tabs tab.tabbrowser-tab > .tab-stack > .tab-background > .tab-context-line::before {
+ content: "";
+ height: 1px !important;
+ border-radius: 9999px !important;
+ transform: translateY(5px);
+ margin-top: -1px !important;
+ margin-left: 5px;
+ margin-right: 5px;
+ width: 100%;
+ }
+ /* Override container-tab style */
+ tabs tab.tabbrowser-tab[usercontextid] > .tab-stack > .tab-background > .tab-context-line {
+ margin: unset !important;
+ }
+ /* selected tab style */
+ :root[lwtheme-mozlightdark]:not([lwthemetextcolor="bright"]),
+ :root[style*="--lwt-accent-color: rgb(240, 240, 244); --lwt-text-color: rgba(21, 20, 26);"] .tab-context-line,
+ :root[lwtheme-mozlightdark][lwthemetextcolor="bright"],
+ :root[style*="--lwt-accent-color: rgb(28, 27, 34); --lwt-text-color: rgba(251, 251, 254);"] .tab-context-line {
+ --tab-line-color: #45a1ff;
+ }
+ .tabbrowser-tab:is([selected], [multiselected]) .tab-context-line::before {
+ background-color: var(--tab-line-color, var(--lwt-tab-line-color, #45a1ff)) !important;
+ }
+ /* Set the active effect */
+ .tabbrowser-tab:active > .tab-stack > .tab-background > .tab-context-line::before {
+ filter: brightness(70%);
+ margin-left: 6px;
+ margin-right: 6px;
+ }
+ /* Set the hover effect */
+ .tabbrowser-tab:hover:not([selected="true"], [multiselected])
+ > .tab-stack
+ > .tab-background
+ > .tab-context-line::before {
+ background-color: rgba(0, 0, 0, 0.4) !important;
+ opacity: 1 !important;
+ }
+ #TabsToolbar[brighttext]
+ .tabbrowser-tab:hover:not([selected="true"], [multiselected])
+ > .tab-stack
+ > .tab-background
+ > .tab-context-line::before {
+ background-color: rgba(255, 255, 255, 0.4) !important;
+ }
+ /* Animation */
+ @media (prefers-reduced-motion: no-preference) {
+ .tabbrowser-tab:hover:not([selected="true"], [multiselected])
+ > .tab-stack
+ > .tab-background
+ > .tab-context-line::before {
+ animation: toWide 0.2s cubic-bezier(0, 0.9, 0.15, 1);
+ }
+ }
+ /* Animation for hover effect */
+ @keyframes toWide {
+ 0% {
+ opacity: 0.8;
+ margin-left: 40%;
+ margin-right: 40%;
+ }
+ 100% {
+ opacity: 1;
+ margin-left: 5px;
+ margin-right: 5px;
+ }
+ }
+ /* --- copied (not modified) from _photon_like_contextline.scss --- */
+ /* Prevent identity color flashing */
+ .tabbrowser-tab[usercontextid] .tab-context-line {
+ --identity-icon-color: none;
+ }
+ :root:not([customizing="true"]) #TabsToolbar[brighttext] tab[visuallyselected] > stack::before,
+ :root:not([customizing="true"]) #TabsToolbar[brighttext] tab[visuallyselected] > stack::after {
+ /* As Selected Tab - Box Shadow */
+ stroke: var(--toolbar-color) !important;
+ }
+ /* Remove side's background color border */
+ :root:is(:-moz-lwtheme, [lwtheme])
+ #TabsToolbar[brighttext]
+ #tabbrowser-tabs:not([noshadowfortests])
+ .tabbrowser-tab:is([visuallyselected], [multiselected])
+ > .tab-stack
+ > .tab-background {
+ --tabs-border-color: rgba(0, 0, 0, 0.3) !important;
+ box-shadow: 0 0 1px var(--tabs-border-color) !important; /* Original: 0 0 1px var(--tab-line-color, rgba(128,128,142,0.9)) */
+ }
+ #TabsToolbar:not([brighttext])
+ #tabbrowser-tabs:not([noshadowfortests])
+ .tabbrowser-tab:is([visuallyselected], [multiselected])
+ > .tab-stack
+ > .tab-background {
+ box-shadow: 0 0 1px var(--tabs-border-color), 0 0 4px rgba(128, 128, 142, 0.5) !important; /* Original: 0 0 1px var(--tab-line-color, rgba(128,128,142,0.9)), 0 0 4px rgba(128,128,142,0.5) */
+ }
+ @media -moz-pref("userChrome.tab.contextline_blue_accent") {
+ #tabbrowser-tabs .tab-context-line {
+ --tab-line-color: #45a1ff !important;
+ }
+ }
+ @media not -moz-pref("userChrome.tab.contextline_blue_accent") {
+ @media (-moz-gtk-csd-available) {
+ :root:is(:not([lwtheme]), :not(:-moz-lwtheme)) #tabbrowser-tabs .tab-context-line {
+ --tab-line-color: AccentColor !important; /* -moz-accent-color */
+ }
+ @media -moz-pref("userChrome.compatibility.accent_color") {
+ :root:is(:not([lwtheme]), :not(:-moz-lwtheme)) #tabbrowser-tabs .tab-context-line {
+ --tab-line-color: Highlight !important; /* -moz-accent-color */
+ }
+ }
+ }
+ }
+ }
+}
/*= Unselected Tab - Divide line =============================================*/
/*= Unselected Tab - Dynamic Separator =======================================*/
-@supports -moz-bool-pref("userChrome.tab.dynamic_separator") {
+@media -moz-pref("userChrome.tab.dynamic_separator") {
+ #pinned-tabs-container,
#tabbrowser-arrowscrollbox {
--start-tab-separator-position-x: -1.5px;
--end-tab-separator-position-x: 1.5px;
--tab-separator-position-x: -2.5px;
--tab-separator-position-y: calc(-50% + 1px);
}
+ #pinned-tabs-container:-moz-locale-dir(rtl),
#tabbrowser-arrowscrollbox:-moz-locale-dir(rtl) {
--start-tab-separator-position-x: 1.5px;
--end-tab-separator-position-x: -1.5px;
@@ -7477,9 +7872,9 @@
#tabbrowser-arrowscrollbox-periphery {
position: relative;
}
- @supports -moz-bool-pref("userChrome.tab.newtab_button_like_tab") {
- .tab-stack::before,
- #tabs-newtab-button::before {
+ @media -moz-pref("userChrome.tab.newtab_button_like_tab") {
+ #tabbrowser-tabs:not([orient="vertical"]) .tab-stack::before,
+ #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button::before {
/* Box Model */
content: "";
display: block;
@@ -7495,19 +7890,20 @@
/* More position */
transform: translateX(var(--tab-separator-position-x)) translateY(var(--tab-separator-position-y));
}
- @supports -moz-bool-pref("userChrome.compatibility.dynamic_separator") {
- .tab-stack::before,
- #tabs-newtab-button::before {
+ @media -moz-pref("userChrome.compatibility.dynamic_separator") {
+ #tabbrowser-tabs:not([orient="vertical"]) .tab-stack::before,
+ #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button::before {
background-color: var(--tabs-border-color);
}
}
- #tabs-newtab-button::before {
+ #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button::before {
left: calc(50% - (8px + var(--toolbarbutton-inner-padding)));
}
}
- @supports not -moz-bool-pref("userChrome.tab.newtab_button_like_tab") {
- .tab-stack::before,
- #tabbrowser-arrowscrollbox:not([overflowing])
+ @media not -moz-pref("userChrome.tab.newtab_button_like_tab") {
+ #tabbrowser-tabs:not([orient="vertical"]) .tab-stack::before,
+ #tabbrowser-tabs:not([orient="vertical"])
+ #tabbrowser-arrowscrollbox:not([overflowing])
.tabbrowser-tab:not([visuallyselected], [multiselected], :hover):last-of-type
.tab-stack::after {
/* Box Model */
@@ -7523,36 +7919,49 @@
opacity: 0;
background-color: var(--toolbarseparator-color);
}
- @supports -moz-bool-pref("userChrome.compatibility.dynamic_separator") {
- .tab-stack::before,
- #tabbrowser-arrowscrollbox:not([overflowing])
+ @media -moz-pref("userChrome.compatibility.dynamic_separator") {
+ #tabbrowser-tabs:not([orient="vertical"]) .tab-stack::before,
+ #tabbrowser-tabs:not([orient="vertical"])
+ #tabbrowser-arrowscrollbox:not([overflowing])
.tabbrowser-tab:not([visuallyselected], [multiselected], :hover):last-of-type
.tab-stack::after {
background-color: var(--tabs-border-color);
}
}
- .tab-stack::before {
+ #tabbrowser-tabs:not([orient="vertical"]) .tab-stack::before {
transform: translateX(var(--tab-separator-position-x)) translateY(var(--tab-separator-position-y)) !important;
}
- .tabbrowser-tab:last-of-type .tab-stack::after {
+ #tabbrowser-tabs:not([orient="vertical"]) .tabbrowser-tab:last-of-type .tab-stack::after {
right: 0;
transform: translateX(var(--end-tab-separator-position-x)) translateY(var(--tab-separator-position-y)) !important;
}
}
- .tabbrowser-tab:not([visuallyselected], [multiselected], :hover, :first-of-type) .tab-stack::before {
+ #pinned-tabs-container:not([orient="vertical"]):not(:empty):not(
+ :has(.tabbrowser-tab[pinned]:is([visuallyselected], [multiselected], :hover):last-of-type)
+ )
+ ~ #tabbrowser-arrowscrollbox:not([orient="vertical"])
+ .tabbrowser-tab:not([visuallyselected], [multiselected], :hover):first-of-type
+ .tab-stack::before,
+ #tabbrowser-tabs:not([orient="vertical"])
+ .tabbrowser-tab:not([visuallyselected], [multiselected], :hover, :first-of-type)
+ .tab-stack::before {
opacity: var(--tab-separator-opacity);
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner") {
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner.tabbar_first") {
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner.responsive") {
- .tabbrowser-tab:not([visuallyselected], [multiselected], :hover):first-of-type .tab-stack::before {
+ @media -moz-pref("userChrome.tabbar.one_liner") {
+ @media not -moz-pref("userChrome.tabbar.one_liner.tabbar_first") {
+ @media not -moz-pref("userChrome.tabbar.one_liner.responsive") {
+ #tabbrowser-tabs:not([orient="vertical"])
+ .tabbrowser-tab:not([visuallyselected], [multiselected], :hover):first-of-type
+ .tab-stack::before {
opacity: var(--tab-separator-opacity);
transform: translateX(var(--start-tab-separator-position-x)) translateY(var(--tab-separator-position-y));
}
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner.responsive") {
+ @media -moz-pref("userChrome.tabbar.one_liner.responsive") {
@media screen and (min-width: 1100px) {
- .tabbrowser-tab:not([visuallyselected], [multiselected], :hover):first-of-type .tab-stack::before {
+ #tabbrowser-tabs:not([orient="vertical"])
+ .tabbrowser-tab:not([visuallyselected], [multiselected], :hover):first-of-type
+ .tab-stack::before {
opacity: var(--tab-separator-opacity);
transform: translateX(var(--start-tab-separator-position-x)) translateY(var(--tab-separator-position-y));
}
@@ -7560,19 +7969,28 @@
}
}
}
- @supports -moz-bool-pref("userChrome.tab.newtab_button_like_tab") {
- #tabs-newtab-button:not(:hover, [open])::before {
+ @media -moz-pref("userChrome.tab.newtab_button_like_tab") {
+ #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button:not(:hover, [open])::before {
opacity: var(--tab-separator-opacity);
}
}
- @supports not -moz-bool-pref("userChrome.tab.newtab_button_like_tab") {
- #tabbrowser-arrowscrollbox:not([overflowing])
+ @media not -moz-pref("userChrome.tab.newtab_button_like_tab") {
+ #tabbrowser-tabs:not([orient="vertical"])
+ #tabbrowser-arrowscrollbox:not([overflowing])
.tabbrowser-tab:not([visuallyselected], [multiselected], :hover):last-of-type
.tab-stack::after {
opacity: var(--tab-separator-opacity);
}
}
+ #tabbrowser-tabs:not([orient="vertical"])
+ tab-group:has(.tabbrowser-tab:last-child:is(:hover, [selected]))
+ + .tabbrowser-tab
+ .tab-stack::before,
+ #tabbrowser-tabs:not([orient="vertical"]) tab-group[collapsed] + .tabbrowser-tab .tab-stack::before {
+ opacity: 0 !important;
+ }
#navigator-toolbox:not([movingtab])
+ #tabbrowser-tabs:not([orient="vertical"])
.tabbrowser-tab:is([first-visible-unpinned-tab], :nth-child(1 of :not([pinned], [hidden]))):is(
[visuallyselected],
[multiselected],
@@ -7580,51 +7998,60 @@
)
.tab-stack::before,
#navigator-toolbox:not([movingtab])
+ #tabbrowser-tabs:not([orient="vertical"])
#tabbrowser-arrowscrollbox[overflowing]
tab.tabbrowser-tab:is([first-visible-unpinned-tab], :nth-child(1 of :not([pinned], [hidden])))
.tab-stack::before {
opacity: 0 !important;
}
- @supports -moz-bool-pref("userChrome.tab.newtab_button_like_tab") {
+ @media -moz-pref("userChrome.tab.newtab_button_like_tab") {
#navigator-toolbox:not([movingtab])
+ #tabbrowser-tabs:not([orient="vertical"])
.tabbrowser-tab:is([visuallyselected], [multiselected], :hover)
+ .tabbrowser-tab
.tab-stack::before,
#navigator-toolbox:not([movingtab])
+ #tabbrowser-tabs:not([orient="vertical"])
.tabbrowser-tab:last-of-type:is([visuallyselected], [multiselected], :hover)
~ #tabs-newtab-button::before,
#navigator-toolbox:not([movingtab])
+ #tabbrowser-tabs:not([orient="vertical"])
.tabbrowser-tab:last-of-type:is([visuallyselected], [multiselected], :hover)
~ #tabbrowser-arrowscrollbox-periphery
#tabs-newtab-button::before {
opacity: 0 !important;
}
}
- @supports not -moz-bool-pref("userChrome.tab.newtab_button_like_tab") {
- .tabbrowser-tab:is([visuallyselected], [multiselected], :hover)
+ @media not -moz-pref("userChrome.tab.newtab_button_like_tab") {
+ #tabbrowser-tabs:not([orient="vertical"])
+ .tabbrowser-tab:is([visuallyselected], [multiselected], :hover)
+ .tabbrowser-tab:not([visuallyselected])
.tab-stack::before {
opacity: 0 !important;
}
- :root:not([uidensity="compact"]) #tabs-newtab-button > .toolbarbutton-icon {
+ :root:not([uidensity="compact"])
+ #tabbrowser-tabs:not([orient="vertical"])
+ #tabs-newtab-button
+ > .toolbarbutton-icon {
margin-left: 2px;
}
- :root[uidensity="compact"] #tabs-newtab-button > .toolbarbutton-icon {
+ :root[uidensity="compact"] #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button > .toolbarbutton-icon {
margin-left: 1px;
}
}
/* Animate */
@media (prefers-reduced-motion: no-preference) {
- .tab-stack::before {
+ #tabbrowser-tabs:not([orient="vertical"]) .tab-stack::before {
transition: opacity 0.2s var(--animation-easing-function); /* cubic-bezier(.07, .95, 0, 1) */
}
- @supports -moz-bool-pref("userChrome.tab.newtab_button_like_tab") {
- #tabs-newtab-button::before {
+ @media -moz-pref("userChrome.tab.newtab_button_like_tab") {
+ #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button::before {
transition: opacity 0.2s var(--animation-easing-function); /* cubic-bezier(.07, .95, 0, 1) */
}
}
- @supports not -moz-bool-pref("userChrome.tab.newtab_button_like_tab") {
- #tabbrowser-arrowscrollbox:not([overflowing])
+ @media not -moz-pref("userChrome.tab.newtab_button_like_tab") {
+ #tabbrowser-tabs:not([orient="vertical"])
+ #tabbrowser-arrowscrollbox:not([overflowing])
.tabbrowser-tab:not([visuallyselected], [multiselected], :hover):last-of-type
.tab-stack::after {
transition: opacity 0.2s var(--animation-easing-function); /* cubic-bezier(.07, .95, 0, 1) */
@@ -7632,12 +8059,12 @@
}
}
/* Latest Tab & New tab margin */
- #tabbrowser-arrowscrollbox:not([overflowing]) .tabbrowser-tab:last-of-type {
+ #tabbrowser-tabs:not([orient="vertical"]) #tabbrowser-arrowscrollbox:not([overflowing]) .tabbrowser-tab:last-of-type {
margin-inline-end: 1px !important;
}
}
/*= Unselected Tab - Static Separator ========================================*/
-@supports -moz-bool-pref("userChrome.tab.static_separator") {
+@media -moz-pref("userChrome.tab.static_separator") {
#TabsToolbar {
--toolbarseparator-color: color-mix(in srgb, currentColor 30%, transparent);
}
@@ -7663,14 +8090,14 @@
.tab-stack::after {
right: 0;
}
- @supports -moz-bool-pref("userChrome.tab.static_separator.selected_accent") {
+ @media -moz-pref("userChrome.tab.static_separator.selected_accent") {
.tabbrowser-tab[visuallyselected] .tab-stack::before,
.tabbrowser-tab[visuallyselected] + .tabbrowser-tab .tab-stack::before,
.tabbrowser-tab[visuallyselected] .tab-stack::after {
--toolbarseparator-color: var(--tab-line-color, var(--lwt-tab-line-color, rgb(10, 132, 255)));
}
}
- @supports not -moz-bool-pref("userChrome.tab.static_separator.selected_accent") {
+ @media not -moz-pref("userChrome.tab.static_separator.selected_accent") {
.tabbrowser-tab[visuallyselected] .tab-stack::before,
.tabbrowser-tab[visuallyselected] + .tabbrowser-tab .tab-stack::before,
.tabbrowser-tab[visuallyselected] .tab-stack::after {
@@ -7686,7 +8113,7 @@
}
}
/*= Unselected Tab - Bar Separator ===========================================*/
-@supports -moz-bool-pref("userChrome.tab.bar_separator") {
+@media -moz-pref("userChrome.tab.bar_separator") {
.tab-stack::before {
/* Box Model */
content: "";
@@ -7727,7 +8154,7 @@
.tab-stack::before {
--uc-bar-separator-color: var(--lwt-tab-loading-fill-inactive, #84c1ff);
}
- @supports -moz-bool-pref("userChrome.tab.unloaded") {
+ @media -moz-pref("userChrome.tab.unloaded") {
:root[sessionrestored] .tabbrowser-tab[pending] .tab-stack::before {
opacity: 0.7;
}
@@ -7735,17 +8162,17 @@
}
/*= New tab button ============================================================*/
/*= New tab button - Looks like tab ==========================================*/
-@supports -moz-bool-pref("userChrome.tab.newtab_button_like_tab") {
- @supports -moz-bool-pref("userChrome.tab.connect_to_window") {
- #tabs-newtab-button {
+@media -moz-pref("userChrome.tab.newtab_button_like_tab") {
+ @media -moz-pref("userChrome.tab.connect_to_window") {
+ #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button {
/* Size */
align-items: stretch !important;
-moz-box-align: stretch !important;
padding-top: var(--tab-block-margin) !important;
}
}
- @supports -moz-bool-pref("userChrome.tab.bottom_rounded_corner") {
- #tabs-newtab-button {
+ @media -moz-pref("userChrome.tab.bottom_rounded_corner") {
+ #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button {
/* Original:
margin: 0 0 var(--tabs-navbar-shadow-size) !important
=> Can't override style. Therefore, we should approach it by bypass.
@@ -7765,12 +8192,8 @@
fill: var(--uc-newtab-bgcolor) !important;
-moz-context-properties: fill !important;
}
- @supports -moz-bool-pref("userChrome.tab.bottom_rounded_corner.wave") or -moz-bool-pref(
- "userChrome.tab.bottom_rounded_corner.australis"
- ) or -moz-bool-pref("userChrome.tab.bottom_rounded_corner.chrome_legacy") or -moz-bool-pref(
- "userChrome.tab.bottom_rounded_corner.chrome"
- ) or -moz-bool-pref("userChrome.tab.bottom_rounded_corner.edge") {
- #tabs-newtab-button {
+ @media -moz-pref("userChrome.tab.bottom_rounded_corner.wave") or -moz-pref("userChrome.tab.bottom_rounded_corner.australis") or -moz-pref("userChrome.tab.bottom_rounded_corner.chrome_legacy") or -moz-pref("userChrome.tab.bottom_rounded_corner.chrome") or -moz-pref("userChrome.tab.bottom_rounded_corner.edge") {
+ #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button {
--uc-newtab-position: 0px;
--uc-newtab-non-corner-bgwidth: 0px;
--uc-tab-corner-half-height: calc(var(--uc-tab-corner-height) / 2);
@@ -7789,8 +8212,8 @@
var(--uc-tab-corner-height) var(--uc-tab-corner-height);
background-origin: padding-box;
}
- @supports -moz-bool-pref("userChrome.tab.bottom_rounded_corner.chrome") or -moz-bool-pref("userChrome.tab.bottom_rounded_corner.edge") {
- #tabs-newtab-button {
+ @media -moz-pref("userChrome.tab.bottom_rounded_corner.chrome") or -moz-pref("userChrome.tab.bottom_rounded_corner.edge") {
+ #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button {
--uc-newtab-non-corner-bgwidth: calc(2 * var(--toolbarbutton-inner-padding));
}
}
@@ -7804,24 +8227,30 @@
--uc-newtab-bgcolor: var(--toolbarbutton-active-background);
}
@media (-moz-windows-accent-color-in-titlebar) {
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme)) #tabs-newtab-button:hover,
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) #tabs-newtab-button:hover {
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ #tabbrowser-tabs:not([orient="vertical"])
+ #tabs-newtab-button:hover,
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ #tabbrowser-tabs:not([orient="vertical"])
+ #tabs-newtab-button:hover {
fill: color-mix(in srgb, AccentColorText 10%, transparent) !important; /* Hardcoded for compatibility */
}
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ #tabbrowser-tabs:not([orient="vertical"])
#tabs-newtab-button:hover:active,
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) #tabs-newtab-button:hover:active {
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ #tabbrowser-tabs:not([orient="vertical"])
+ #tabs-newtab-button:hover:active {
fill: color-mix(in srgb, AccentColorText 15%, transparent) !important; /* Hardcoded for compatibility */
}
- @supports -moz-bool-pref("userChrome.tab.bottom_rounded_corner") {
- @supports -moz-bool-pref("userChrome.tab.bottom_rounded_corner.wave") or -moz-bool-pref(
- "userChrome.tab.bottom_rounded_corner.australis"
- ) or -moz-bool-pref("userChrome.tab.bottom_rounded_corner.chrome_legacy") or -moz-bool-pref(
- "userChrome.tab.bottom_rounded_corner.chrome"
- ) or -moz-bool-pref("userChrome.tab.bottom_rounded_corner.edge") {
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ @media -moz-pref("userChrome.tab.bottom_rounded_corner") {
+ @media -moz-pref("userChrome.tab.bottom_rounded_corner.wave") or -moz-pref("userChrome.tab.bottom_rounded_corner.australis") or -moz-pref("userChrome.tab.bottom_rounded_corner.chrome_legacy") or -moz-pref("userChrome.tab.bottom_rounded_corner.chrome") or -moz-pref("userChrome.tab.bottom_rounded_corner.edge") {
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ #tabbrowser-tabs:not([orient="vertical"])
#tabs-newtab-button:hover,
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) #tabs-newtab-button:hover {
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ #tabbrowser-tabs:not([orient="vertical"])
+ #tabs-newtab-button:hover {
background-image: var(--uc-tab-corner-left-side-svg),
linear-gradient(
to left,
@@ -7830,9 +8259,11 @@
),
var(--uc-tab-corner-right-side-svg);
}
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ #tabbrowser-tabs:not([orient="vertical"])
#tabs-newtab-button:hover:active,
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ #tabbrowser-tabs:not([orient="vertical"])
#tabs-newtab-button:hover:active {
background-image: var(--uc-tab-corner-left-side-svg),
linear-gradient(
@@ -7844,19 +8275,24 @@
}
}
}
- @supports -moz-bool-pref("userChrome.compatibility.accent_color") {
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ @media -moz-pref("userChrome.compatibility.accent_color") {
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ #tabbrowser-tabs:not([orient="vertical"])
#tabs-newtab-button:hover,
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) #tabs-newtab-button:hover {
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ #tabbrowser-tabs:not([orient="vertical"])
+ #tabs-newtab-button:hover {
fill: color-mix(
in srgb,
-moz-accent-color-foreground 10%,
transparent
) !important; /* Hardcoded for compatibility */
}
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ #tabbrowser-tabs:not([orient="vertical"])
#tabs-newtab-button:hover:active,
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ #tabbrowser-tabs:not([orient="vertical"])
#tabs-newtab-button:hover:active {
fill: color-mix(
in srgb,
@@ -7864,15 +8300,17 @@
transparent
) !important; /* Hardcoded for compatibility */
}
- @supports -moz-bool-pref("userChrome.tab.bottom_rounded_corner") {
- @supports -moz-bool-pref("userChrome.tab.bottom_rounded_corner.wave") or -moz-bool-pref(
- "userChrome.tab.bottom_rounded_corner.australis"
- ) or -moz-bool-pref("userChrome.tab.bottom_rounded_corner.chrome_legacy") or -moz-bool-pref(
- "userChrome.tab.bottom_rounded_corner.chrome"
- ) or -moz-bool-pref("userChrome.tab.bottom_rounded_corner.edge") {
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ @media -moz-pref("userChrome.tab.bottom_rounded_corner") {
+ @media -moz-pref("userChrome.tab.bottom_rounded_corner.wave") or -moz-pref("userChrome.tab.bottom_rounded_corner.australis") or -moz-pref("userChrome.tab.bottom_rounded_corner.chrome_legacy") or -moz-pref("userChrome.tab.bottom_rounded_corner.chrome") or -moz-pref("userChrome.tab.bottom_rounded_corner.edge") {
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(
+ :not([lwtheme]),
+ :not(:-moz-lwtheme)
+ )
+ #tabbrowser-tabs:not([orient="vertical"])
#tabs-newtab-button:hover,
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) #tabs-newtab-button:hover {
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ #tabbrowser-tabs:not([orient="vertical"])
+ #tabs-newtab-button:hover {
background-image: var(--uc-tab-corner-left-side-svg),
linear-gradient(
to left,
@@ -7881,9 +8319,14 @@
),
var(--uc-tab-corner-right-side-svg);
}
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(
+ :not([lwtheme]),
+ :not(:-moz-lwtheme)
+ )
+ #tabbrowser-tabs:not([orient="vertical"])
#tabs-newtab-button:hover:active,
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ #tabbrowser-tabs:not([orient="vertical"])
#tabs-newtab-button:hover:active {
background-image: var(--uc-tab-corner-left-side-svg),
linear-gradient(
@@ -7898,7 +8341,7 @@
}
}
/* '+'Icon */
- #tabs-newtab-button .toolbarbutton-icon {
+ #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button .toolbarbutton-icon {
border-radius: var(--tab-border-radius) var(--tab-border-radius) 0 0 !important; /* Original: var(--tab-border-radius) */
padding: calc(var(--toolbarbutton-inner-padding) - var(--tab-block-margin) / 4) var(--toolbarbutton-inner-padding)
calc(var(--toolbarbutton-inner-padding) + var(--tab-block-margin) / 4 + var(--uc-tabs-navbar-shadow-size)) !important;
@@ -7906,12 +8349,8 @@
fill: var(--toolbarbutton-icon-fill);
fill-opacity: var(--toolbarbutton-icon-fill-opacity);
}
- @supports -moz-bool-pref("userChrome.tab.bottom_rounded_corner.wave") or -moz-bool-pref(
- "userChrome.tab.bottom_rounded_corner.australis"
- ) or -moz-bool-pref("userChrome.tab.bottom_rounded_corner.chrome_legacy") or -moz-bool-pref(
- "userChrome.tab.bottom_rounded_corner.chrome"
- ) or -moz-bool-pref("userChrome.tab.bottom_rounded_corner.edge") {
- #tabs-newtab-button .toolbarbutton-icon {
+ @media -moz-pref("userChrome.tab.bottom_rounded_corner.wave") or -moz-pref("userChrome.tab.bottom_rounded_corner.australis") or -moz-pref("userChrome.tab.bottom_rounded_corner.chrome_legacy") or -moz-pref("userChrome.tab.bottom_rounded_corner.chrome") or -moz-pref("userChrome.tab.bottom_rounded_corner.edge") {
+ #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button .toolbarbutton-icon {
--tab-border-radius: 0px;
width: unset !important;
padding-inline: 0px !important;
@@ -7920,14 +8359,14 @@
}
}
/* Fix tab overlap #678 */
- @supports -moz-bool-pref("userChrome.tab.bottom_rounded_corner") {
+ @media -moz-pref("userChrome.tab.bottom_rounded_corner") {
tab:where([visuallyselected]) {
z-index: 1;
}
}
}
/*= New tab button - Smaller button ==========================================*/
-@supports -moz-bool-pref("userChrome.tab.newtab_button_smaller") {
+@media -moz-pref("userChrome.tab.newtab_button_smaller") {
#tabs-newtab-button > .toolbarbutton-icon {
--tab-border-radius: var(--toolbarbutton-border-radius);
margin-left: 1px;
@@ -7936,20 +8375,20 @@
}
}
/*= New tab button - Proton like button ======================================*/
-@supports -moz-bool-pref("userChrome.tab.newtab_button_proton") {
+@media -moz-pref("userChrome.tab.newtab_button_proton") {
:root:not([uidensity="touch"]) #tabs-newtab-button > .toolbarbutton-icon {
--toolbarbutton-inner-padding: calc((var(--tab-min-height) - 16px) / 2 - 1px);
}
}
/*= Unloaded Tab - Contents Opacity ===========================================*/
-@supports -moz-bool-pref("userChrome.tab.unloaded") {
+@media -moz-pref("userChrome.tab.unloaded") {
.tabbrowser-tab[pending] .tab-content {
opacity: 0.7;
}
}
/*= Clipped tabs =============================================================*/
/** Clipped tabs - Letters cleary *********************************************/
-@supports -moz-bool-pref("userChrome.tab.letters_cleary") {
+@media -moz-pref("userChrome.tab.letters_cleary") {
#tabbrowser-tabs[closebuttons="activetab"] {
--inline-tab-padding: 7px !important; /* Original: 8px */
}
@@ -7975,6 +8414,10 @@
--tab-label-mask-size: 25%;
}
.tabbrowser-tab[visuallyselected]:not([labelendaligned]):hover .tab-label-container,
+ #tabbrowser-tabs:not([closebuttons="activetab"])
+ > #pinned-tabs-container
+ > .tabbrowser-tab:not([visuallyselected], [labelendaligned]):hover
+ .tab-label-container,
#tabbrowser-tabs:not([closebuttons="activetab"])
> #tabbrowser-arrowscrollbox
> .tabbrowser-tab:not([visuallyselected], [labelendaligned]):hover
@@ -7983,7 +8426,13 @@
}
}
/** Clipped tabs - Show close button at hover *********************************/
-@supports -moz-bool-pref("userChrome.tab.close_button_at_hover") {
+@media -moz-pref("userChrome.tab.close_button_at_hover") {
+ #tabbrowser-tabs[closebuttons="activetab"]
+ > #pinned-tabs-container
+ > .tabbrowser-tab:not([pinned])
+ > .tab-stack
+ > .tab-content
+ > .tab-close-button:not([selected]),
#tabbrowser-tabs[closebuttons="activetab"]
> #tabbrowser-arrowscrollbox
> .tabbrowser-tab:not([pinned])
@@ -8001,13 +8450,13 @@
visibility: visible !important;
opacity: 1;
}
- @supports -moz-bool-pref("userChrome.tab.close_button_at_hover.with_selected") {
+ @media -moz-pref("userChrome.tab.close_button_at_hover.with_selected") {
#tabbrowser-tabs[closebuttons="activetab"] .tabbrowser-tab:not([pinned]):not(:hover) .tab-close-button {
visibility: collapse !important;
opacity: 0;
}
}
- @supports -moz-bool-pref("userChrome.tab.close_button_at_hover.always") {
+ @media -moz-pref("userChrome.tab.close_button_at_hover.always") {
.tabbrowser-tab:not([visuallyselected]) .tab-close-button {
visibility: collapse !important;
opacity: 0;
@@ -8016,7 +8465,7 @@
visibility: visible !important;
opacity: 1;
}
- @supports -moz-bool-pref("userChrome.tab.close_button_at_hover.with_selected") {
+ @media -moz-pref("userChrome.tab.close_button_at_hover.with_selected") {
.tabbrowser-tab:not([pinned]):not(:hover) .tab-close-button {
visibility: collapse !important;
opacity: 0;
@@ -8065,8 +8514,8 @@
}
}
/** Clipped tabs - Show close button at pinned tab ****************************/
-@supports -moz-bool-pref("userChrome.tab.close_button_at_pinned") {
- @supports not -moz-bool-pref("userChrome.tabbar.as_titlebar") {
+@media -moz-pref("userChrome.tab.close_button_at_pinned") {
+ @media not -moz-pref("userChrome.tabbar.as_titlebar") {
#tabbrowser-tabs {
--uc-close-button-size: 24px;
--uc-close-button-padding: 6px;
@@ -8096,7 +8545,7 @@
.tabbrowser-tab[pinned][visuallyselected]:not([style*="transform: translateX"]):hover .tab-icon-image {
display: none !important;
}
- @supports -moz-bool-pref("userChrome.tab.close_button_at_pinned.always") {
+ @media -moz-pref("userChrome.tab.close_button_at_pinned.always") {
.tabbrowser-tab[pinned][visuallyselected]:not([busy]) .tab-close-button {
display: flex !important;
display: -moz-box !important;
@@ -8117,7 +8566,7 @@
display: none !important;
}
}
- @supports -moz-bool-pref("userChrome.tab.close_button_at_pinned.background") {
+ @media -moz-pref("userChrome.tab.close_button_at_pinned.background") {
.tabbrowser-tab[pinned]:not([style*="transform: translateX"]):hover:not([busy]) .tab-close-button {
display: flex !important;
display: -moz-box !important;
@@ -8146,7 +8595,7 @@
}
}
/** Clipped tabs - Always show tab icon ***************************************/
-@supports -moz-bool-pref("userChrome.tab.always_show_tab_icon") {
+@media -moz-pref("userChrome.tab.always_show_tab_icon") {
.tab-icon-image:not([src], [pinned], [crashed], [busy]) {
display: inline-flex !important;
display: -moz-inline-box !important;
@@ -8154,22 +8603,22 @@
}
/*= Sound Tab ================================================================*/
/*= Sound Tab - Hide Label ===================================================*/
-@supports -moz-bool-pref("userChrome.tab.sound_hide_label") {
- @supports not -moz-bool-pref("userChrome.tab.sound_show_label") {
+@media -moz-pref("userChrome.tab.sound_hide_label") {
+ @media not -moz-pref("userChrome.tab.sound_show_label") {
.tab-secondary-label:is([soundplaying], [muted], [activemedia-blocked], [pictureinpicture]) {
display: none !important;
}
}
}
/*= Sound Tab - Show Label ===================================================*/
-@supports -moz-bool-pref("userChrome.tab.sound_show_label") {
+@media -moz-pref("userChrome.tab.sound_show_label") {
.tab-secondary-label:is([soundplaying], [muted], [activemedia-blocked], [pictureinpicture]) {
display: flex !important;
display: -moz-box !important;
}
}
/*= Sound Tab - Show with Favicons ===========================================*/
-@supports -moz-bool-pref("userChrome.tab.sound_with_favicons") {
+@media -moz-pref("userChrome.tab.sound_with_favicons") {
/* Makes the favicons always visible (also on hover) */
.tab-icon-image:not([pinned]) {
opacity: 1 !important;
@@ -8183,7 +8632,7 @@
.tabbrowser-tab:-moz-locale-dir(rtl) {
--uc-sound-tab-icon-position-x: calc(-1 * var(--uc-sound-tab-icon-position-x-default));
}
- @supports -moz-bool-pref("userChrome.tab.sound_with_favicons.on_center") {
+ @media -moz-pref("userChrome.tab.sound_with_favicons.on_center") {
.tabbrowser-tab:not([pinned]) {
--uc-sound-tab-icon-position-x-default: 7px;
--uc-sound-tab-icon-position-y: -1px;
@@ -8202,6 +8651,24 @@
width: 17px !important;
height: 17px !important;
}
+ .tab-icon-overlay:not([crashed]):is([soundplaying], [muted], [activemedia-blocked]) {
+ -moz-context-properties: fill, fill-opacity, stroke !important;
+ fill: currentColor !important;
+ border: none !important;
+ }
+ .tab-icon-overlay:not([crashed]):is([pinned], [sharing]) {
+ stroke: var(--tab-icon-overlay-stroke, light-dark(white, black));
+ color: var(--tab-icon-overlay-fill, light-dark(black, white));
+ }
+ .tab-icon-overlay:not([crashed])[soundplaying] {
+ list-style-image: url("./icons/tab-audio-playing-small.svg");
+ }
+ .tab-icon-overlay:not([crashed])[muted] {
+ list-style-image: url("./icons/tab-audio-muted-small.svg");
+ }
+ .tab-icon-overlay:not([crashed])[activemedia-blocked] {
+ list-style-image: url("./icons/tab-audio-blocked-small.svg");
+ }
.tab-icon-overlay:not([sharing], [crashed]):is([soundplaying], [muted], [activemedia-blocked]) {
/* Color */
color: currentColor !important;
@@ -8210,13 +8677,36 @@
fill-opacity: 0.8 !important;
opacity: 1 !important;
}
+ .tab-audio-button:not([crashed]),
+ .tab-audio-button[pinned][crashed][selected] {
+ /* Position */
+ margin-inline-start: -8px !important;
+ margin-inline-end: -4px !important;
+ z-index: 1 !important;
+ transform: translateX(var(--uc-sound-tab-icon-position-x)) translateY(var(--uc-sound-tab-icon-position-y));
+ /* Shape */
+ --button-size-icon-small: 17px !important;
+ --button-min-height-small: 17px !important;
+ --button-border-radius: 100% !important;
+ width: 17px !important;
+ height: 17px !important;
+ border-radius: 100%;
+ overflow: clip;
+ --button-text-color-ghost-hover: light-dark(white, black);
+ --button-background-color-ghost-hover: light-dark(black, white);
+ }
+ .tab-audio-button:not([sharing], [crashed]):is([soundplaying], [muted], [activemedia-blocked]) {
+ display: flex !important;
+ fill-opacity: 0.8 !important;
+ opacity: 1 !important;
+ }
/* Label */
- @supports not -moz-bool-pref("userChrome.hidden.tab_icon") {
+ @media not -moz-pref("userChrome.hidden.tab_icon") {
.tabbrowser-tab:not([pinned], [sharing], [crashed]):is([soundplaying], [muted], [activemedia-blocked])
.tab-label-container {
--uc-sound-tab-label-position-x-default: 4px;
}
- @supports -moz-bool-pref("userChrome.tab.sound_with_favicons.on_center") {
+ @media -moz-pref("userChrome.tab.sound_with_favicons.on_center") {
.tabbrowser-tab:not([pinned], [sharing], [crashed]):is([soundplaying], [muted], [activemedia-blocked])
.tab-label-container {
--uc-sound-tab-label-position-x-default: 8px;
@@ -8240,13 +8730,13 @@
transform: translateX(var(--uc-sound-tab-label-position-x));
}
}
- @supports -moz-bool-pref("userChrome.hidden.tab_icon") {
- @supports not -moz-bool-pref("userChrome.hidden.tab_icon.always") {
+ @media -moz-pref("userChrome.hidden.tab_icon") {
+ @media not -moz-pref("userChrome.hidden.tab_icon.always") {
.tabbrowser-tab:not([pinned], [sharing], [crashed]):is([soundplaying], [muted], [activemedia-blocked])
.tab-label-container {
--uc-sound-tab-label-position-x-default: 4px;
}
- @supports -moz-bool-pref("userChrome.tab.sound_with_favicons.on_center") {
+ @media -moz-pref("userChrome.tab.sound_with_favicons.on_center") {
.tabbrowser-tab:not([pinned], [sharing], [crashed]):is([soundplaying], [muted], [activemedia-blocked])
.tab-label-container {
--uc-sound-tab-label-position-x-default: 8px;
@@ -8282,7 +8772,7 @@
}
}
/* None exist favicon - Size bigger */
- @supports not -moz-bool-pref("userChrome.tab.always_show_tab_icon") {
+ @media not -moz-pref("userChrome.tab.always_show_tab_icon") {
.tabbrowser-tab .tab-label-container[labeldirection="ltr"],
.tabbrowser-tab .tab-label-container:not([labeldirection]):-moz-locale-dir(ltr) {
--uc-sound-tab-no-icon-position-x: -0.5px;
@@ -8293,7 +8783,7 @@
--uc-sound-tab-no-icon-position-x: 0.5px;
--uc-sound-tab-no-icon-label-position-x: -3px;
}
- @supports not -moz-bool-pref("userChrome.hidden.tab_icon") {
+ @media not -moz-pref("userChrome.hidden.tab_icon") {
.tabbrowser-tab:not([image]) .tab-icon-overlay:not([pinned], [sharing], [crashed]) {
transform: translateX(var(--uc-sound-tab-no-icon-position-x)) translateY(-1px);
inset-inline-end: 0 !important;
@@ -8313,8 +8803,8 @@
transform: translateX(var(--uc-sound-tab-no-icon-label-position-x));
}
}
- @supports -moz-bool-pref("userChrome.hidden.tab_icon") {
- @supports not -moz-bool-pref("userChrome.hidden.tab_icon.always") {
+ @media -moz-pref("userChrome.hidden.tab_icon") {
+ @media not -moz-pref("userChrome.hidden.tab_icon.always") {
.tabbrowser-tab .tab-icon-overlay:not([pinned], [sharing], [crashed]) {
transform: translateX(var(--uc-sound-tab-no-icon-position-x)) translateY(-1px);
inset-inline-end: 0 !important;
@@ -8369,7 +8859,7 @@
}
}
/*= PictureInPicture Tab - Show PIP Icon =====================================*/
-@supports -moz-bool-pref("userChrome.tab.pip") {
+@media -moz-pref("userChrome.tab.pip") {
#tabbrowser-tabs:not([closebuttons="activetab"]) .tabbrowser-tab[pictureinpicture]:not([pinned]) .tab-content::after,
#tabbrowser-tabs[closebuttons="activetab"]
.tabbrowser-tab[pictureinpicture]:not([pinned], :hover)
@@ -8410,9 +8900,9 @@
}
}
/*= Container Tab - Color line at icon's bottom ==============================*/
-@supports -moz-bool-pref("userChrome.tab.container") {
- @supports not -moz-bool-pref("userChrome.tabbar.as_titlebar") {
- @supports not -moz-bool-pref("userChrome.tab.photon_like_contextline") {
+@media -moz-pref("userChrome.tab.container") {
+ @media not -moz-pref("userChrome.tabbar.as_titlebar") {
+ @media not -moz-pref("userChrome.tab.photon_like_contextline") {
.tab-context-line {
display: none;
}
@@ -8427,7 +8917,7 @@
#tabbrowser-tabs:-moz-locale-dir(rtl) {
--uc-container-position-x: -9px;
}
- @supports -moz-bool-pref("userChrome.tab.container.on_top") {
+ @media -moz-pref("userChrome.tab.container.on_top") {
#tabbrowser-tabs {
--uc-container-position-y: calc(var(--uc-container-position-y-bottom) * -1);
}
@@ -8454,7 +8944,7 @@
.tabbrowser-tab[visuallyselected] .tab-content::before {
opacity: 1;
}
- @supports not -moz-bool-pref("userChrome.tab.container.always_long") {
+ @media not -moz-pref("userChrome.tab.container.always_long") {
.tab-content::before {
width: 25%;
}
@@ -8477,12 +8967,12 @@
transform: translateY(var(--uc-container-position-y));
width: 16px;
}
- @supports -moz-bool-pref("userChrome.tab.close_button_at_pinned") {
+ @media -moz-pref("userChrome.tab.close_button_at_pinned") {
.tabbrowser-tab[pinned][visuallyselected]:not([busy]):hover .tab-content::before {
opacity: 0;
}
}
- @supports not -moz-bool-pref("userChrome.tab.container.on_top") {
+ @media not -moz-pref("userChrome.tab.container.on_top") {
.tabbrowser-tab:is([image], [pinned])[usercontextid]
> .tab-stack
> .tab-content[attention]:not([selected])::before,
@@ -8527,7 +9017,7 @@
--uc-titlechanged-container-position-x: calc(30% - 1px), calc(50% - 1px), calc(70% - 1px);
}
}
- @supports -moz-bool-pref("userChrome.tab.container.on_top") {
+ @media -moz-pref("userChrome.tab.container.on_top") {
.tabbrowser-tab:is([image], [pinned]) > .tab-stack > .tab-content[attention]:not([selected]),
.tabbrowser-tab > .tab-stack > .tab-content[pinned][titlechanged]:not([selected]) {
/* Original: center bottom calc(6.5px + var(--tabs-navbar-shadow-size)); */
@@ -8537,14 +9027,14 @@
}
}
/*= Crashed Tab - Don't show Favicons ========================================*/
-@supports -moz-bool-pref("userChrome.tab.crashed") {
+@media -moz-pref("userChrome.tab.crashed") {
.tab-icon-image[crashed] {
display: none !important;
}
}
/** Nav Bar UI ****************************************************************/
/*= Nav Bar - Navbar comabine with sidebar===================================*/
-@supports -moz-bool-pref("userChrome.navbar.as_sidebar") {
+@media -moz-pref("userChrome.navbar.as_sidebar") {
:root {
--uc-navbar-margin-block: var(--toolbarbutton-inner-padding);
--uc-urlbar-margin-top: calc(var(--uc-navbar-height) + var(--uc-navbar-margin-block));
@@ -8583,13 +9073,13 @@
opacity: 0;
visibility: hidden;
}
- :root:has(#sidebar-box[positionend="true"]) #nav-bar {
+ :root:has(#sidebar-box[positionend]) #nav-bar {
right: 0;
}
}
@media (prefers-reduced-motion: no-preference) {
- @supports -moz-bool-pref("userChrome.decoration.animate") {
- @supports not -moz-bool-pref("userChrome.decoration.disable_sidebar_animate") {
+ @media -moz-pref("userChrome.decoration.animate") {
+ @media not -moz-pref("userChrome.decoration.disable_sidebar_animate") {
#nav-bar {
transition: margin-inline-start 0.25s var(--animation-easing-function), opacity 0.25s ease-in-out,
visibility 0s linear,
@@ -8603,7 +9093,7 @@
transition-delay: 0s, 0s, 0.25s, 0s, 0s !important;
}
}
- @supports -moz-bool-pref("userChrome.decoration.disable_sidebar_animate") {
+ @media -moz-pref("userChrome.decoration.disable_sidebar_animate") {
#nav-bar {
transition: margin-top var(--uc-autohide-toolbar-speed) var(--animation-easing-function)
var(--uc-autohide-toolbar-delay),
@@ -8646,7 +9136,7 @@
position: absolute;
height: 100%;
}
- :root[customizing="true"] #browser[collapsed="true"] #sidebar-box[positionend="true"] {
+ :root[customizing="true"] #browser[collapsed="true"] #sidebar-box[positionend] {
right: 0;
}
:root[customizing="true"] #customization-container {
@@ -8654,15 +9144,15 @@
width: calc(100% - var(--uc-sidebar-activate-width));
height: calc(100% - var(--uc-customization-conatiner-margin));
}
- @supports -moz-bool-pref("userChrome.hidden.tabbar") {
+ @media -moz-pref("userChrome.hidden.tabbar") {
:root[customizing="true"] #customization-container {
--uc-customization-conatiner-margin: calc(var(--uc-navbar-height-default) - var(--uc-tabbar-height-default));
}
}
- :root[customizing="true"]:has(#sidebar-box:not([positionend="true"])) #customization-container {
+ :root[customizing="true"]:has(#sidebar-box:not([positionend])) #customization-container {
margin-inline-start: var(--uc-sidebar-activate-width);
}
- :root[customizing="true"]:has(#sidebar-box[positionend="true"]) #customization-container {
+ :root[customizing="true"]:has(#sidebar-box[positionend]) #customization-container {
margin-inline-end: var(--uc-sidebar-activate-width);
}
:root[customizing="true"] #customization-palette-container,
@@ -8671,7 +9161,7 @@
}
}
/** Bookark Bar UI ************************************************************/
-@supports -moz-bool-pref("userChrome.bookmarkbar.multi_row") {
+@media -moz-pref("userChrome.bookmarkbar.multi_row") {
#PersonalToolbar {
--uc-multirow-bookmark-rows: 3;
--uc-multirow-bookmark-row-margin: 2px;
@@ -8705,7 +9195,7 @@
}
/** Url View UI ***************************************************************/
/*= Url Bar - Icon box as Separator ==========================================*/
-@supports -moz-bool-pref("userChrome.urlbar.iconbox_with_separator") {
+@media -moz-pref("userChrome.urlbar.iconbox_with_separator") {
#identity-box {
/* separator */
position: relative;
@@ -8750,14 +9240,14 @@
}
}
/*= Url View - Share Layout ==================================================*/
-@supports -moz-bool-pref("userChrome.urlView.as_commandbar") or -moz-bool-pref("userChrome.urlView.full_width_padding") {
+@media -moz-pref("userChrome.urlView.as_commandbar") or -moz-pref("userChrome.urlView.full_width_padding") {
.urlbarView {
--uc-urlView-padding: calc(5px + var(--urlbar-container-padding));
margin-inline: 0 !important; /* Original: calc(5px + var(--urlbar-container-padding)) */
}
}
/*= Url View - Looks like Launcher ===========================================*/
-@supports -moz-bool-pref("userChrome.urlView.as_commandbar") {
+@media -moz-pref("userChrome.urlView.as_commandbar") {
/* Init & Base Layout */
.urlbarView {
--urlbarView-favicon-width: 32px; /* Original: 16px */
@@ -8781,7 +9271,7 @@
border-radius: var(--toolbarbutton-border-radius) !important;
box-shadow: 0 2px 14px rgba(0, 0, 0, 0.13);
}
- @supports not -moz-bool-pref("userChrome.urlView.full_width_padding") {
+ @media not -moz-pref("userChrome.urlView.full_width_padding") {
.urlbarView {
padding-inline: var(--uc-urlView-padding) !important;
}
@@ -8849,12 +9339,12 @@
}
}
/*= Url View - Full Width Pddding ============================================*/
-@supports -moz-bool-pref("userChrome.urlView.full_width_padding") {
+@media -moz-pref("userChrome.urlView.full_width_padding") {
.urlbarView {
--uc-urlView-padding-double: calc(var(--uc-urlView-padding) * 2);
--uc-urlView-full-width-padding: var(--uc-urlView-padding-double);
}
- @supports not -moz-bool-pref("userChrome.urlView.as_commandbar") {
+ @media not -moz-pref("userChrome.urlView.as_commandbar") {
.urlbarView {
--uc-urlView-full-width-padding: var(--uc-urlView-padding);
width: 100% !important;
@@ -8882,14 +9372,14 @@
}
}
/*= Url View - Always show page actions ======================================*/
-@supports -moz-bool-pref("userChrome.urlbar.always_show_page_actions") {
+@media -moz-pref("userChrome.urlbar.always_show_page_actions") {
#urlbar:not([breakout-extend="true"]) #pageActionButton {
display: block !important;
visibility: visible !important;
}
}
/*= Url View - Move icon to left =============================================*/
-@supports -moz-bool-pref("userChrome.urlView.move_icon_to_left") {
+@media -moz-pref("userChrome.urlView.move_icon_to_left") {
.urlbarView-type-icon {
min-width: 16px !important;
height: 16px !important;
@@ -8901,25 +9391,25 @@
}
}
/*= Url View - Go button when typing =========================================*/
-@supports -moz-bool-pref("userChrome.urlView.go_button_when_typing") {
+@media -moz-pref("userChrome.urlView.go_button_when_typing") {
#urlbar-input-container[pageproxystate="invalid"] #urlbar-go-button {
display: block !important;
}
}
/*= Url View - Item Focus Border =============================================*/
-@supports -moz-bool-pref("userChrome.urlView.focus_item_border") {
+@media -moz-pref("userChrome.urlView.focus_item_border") {
.urlbarView-row:not([type="tip"], [type="dynamic"])[selected] > .urlbarView-row-inner,
.urlbarView-row-inner[selected] {
box-shadow: 3px 0 var(--toolbar-field-focus-border-color) inset !important;
}
}
/** Panel UI ******************************************************************/
-@supports -moz-bool-pref("userChrome.panel.remove_strip") {
+@media -moz-pref("userChrome.panel.remove_strip") {
#appMenu-fxa-separator {
--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") {
+@media -moz-pref("userChrome.panel.full_width_separator") {
/* Full width separators */
:root {
/* Original
@@ -8930,7 +9420,7 @@
--panel-separator-margin-horizontal: 0 !important;
}
}
-@supports -moz-bool-pref("userChrome.panel.full_width_padding") {
+@media -moz-pref("userChrome.panel.full_width_padding") {
/* Original
--arrowpanel-menuitem-margin: 0 8px;
--arrowpanel-menuitem-padding-block: 8px;
@@ -8945,9 +9435,7 @@
}
}
/** Sidebar UI ****************************************************************/
-@supports -moz-bool-pref("userChrome.sidebar.overlap") or -moz-bool-pref("userChrome.autohide.sidebar") or -moz-bool-pref(
- "userChrome.navbar.as_sidebar"
- ) {
+@media -moz-pref("userChrome.sidebar.overlap") or -moz-pref("userChrome.autohide.sidebar") or -moz-pref("userChrome.navbar.as_sidebar") {
:root {
/* Original
min-width: 14em;
@@ -8971,14 +9459,14 @@
display: none !important;
}
}
-@supports -moz-bool-pref("userChrome.sidebar.overlap") or -moz-bool-pref("userChrome.autohide.sidebar") {
+@media -moz-pref("userChrome.sidebar.overlap") or -moz-pref("userChrome.autohide.sidebar") {
#sidebar-box {
--uc-sidebar-shadow-color: #28282f;
- z-index: 1 !important;
+ z-index: var(--browser-area-z-index-sidebar-splitter, 3) !important;
position: relative !important;
box-shadow: var(--uc-sidebar-shadow-position) 0px 15px -10px var(--uc-sidebar-shadow-color);
}
- #sidebar-box[positionend="true"] {
+ #sidebar-box[positionend] {
--uc-sidebar-shadow-position: calc(-1 * var(--uc-sidebar-shadow-position-default));
}
#sidebar {
@@ -8988,8 +9476,8 @@
z-index: 2 !important;
}
}
-@supports -moz-bool-pref("userChrome.sidebar.overlap") {
- #sidebar-box[positionend="true"] {
+@media -moz-pref("userChrome.sidebar.overlap") {
+ #sidebar-box[positionend] {
direction: rtl;
}
#sidebar-header,
@@ -9004,7 +9492,7 @@
#sidebar-header > #sidebar-switcher-target {
font-size: 1.333em;
}
- @supports not -moz-bool-pref("userChrome.autohide.sidebar") {
+ @media not -moz-pref("userChrome.autohide.sidebar") {
#sidebar-box,
#sidebar-header,
#sidebar {
@@ -9029,11 +9517,7 @@
}
/** Combined UI ***************************************************************/
/*= Combined - At URL bar ====================================================*/
-@supports -moz-bool-pref("userChrome.combined.nav_button") or -moz-bool-pref(
- "userChrome.combined.nav_button.home_button"
- ) or -moz-bool-pref("userChrome.combined.urlbar.nav_button") or -moz-bool-pref(
- "userChrome.combined.urlbar.home_button"
- ) or -moz-bool-pref("userChrome.combined.urlbar.reload_button") {
+@media -moz-pref("userChrome.combined.nav_button") or -moz-pref("userChrome.combined.nav_button.home_button") or -moz-pref("userChrome.combined.urlbar.nav_button") or -moz-pref("userChrome.combined.urlbar.home_button") or -moz-pref("userChrome.combined.urlbar.reload_button") {
#nav-bar {
--uc-combined-circlebutton-background: hsla(0, 100%, 100%, 0.5);
--uc-combined-circlebutton-hover-background: var(--uc-combined-circlebutton-background);
@@ -9063,7 +9547,7 @@
-moz-box-ordinal-group: 7;
}
}
-@supports -moz-bool-pref("userChrome.combined.urlbar.nav_button") or -moz-bool-pref("userChrome.combined.urlbar.home_button") {
+@media -moz-pref("userChrome.combined.urlbar.nav_button") or -moz-pref("userChrome.combined.urlbar.home_button") {
#nav-bar-customization-target > #urlbar-container {
/* var(--urlbar-margin-inline) */
margin-inline-start: calc(-1 * var(--uc-urlbar-combined-margin, 0px)) !important;
@@ -9071,18 +9555,18 @@
#nav-bar-customization-target > #urlbar-container > #urlbar:not([breakout][breakout-extend]) {
padding-left: var(--uc-urlbar-combined-margin, 0px);
}
- @supports -moz-bool-pref("userChrome.combined.urlbar.nav_button") {
+ @media -moz-pref("userChrome.combined.urlbar.nav_button") {
#nav-bar-customization-target > #urlbar-container {
--uc-urlbar-combined-margin: var(--uc-toolbarbutton-size);
}
}
- @supports not -moz-bool-pref("userChrome.combined.urlbar.nav_button") {
+ @media not -moz-pref("userChrome.combined.urlbar.nav_button") {
#nav-bar-customization-target > #urlbar-container {
--uc-urlbar-combined-margin: var(--uc-toolbarbutton-halfsize);
}
- @supports -moz-bool-pref("userChrome.combined.nav_button") {
- @supports -moz-bool-pref("userChrome.combined.nav_button.home_button") {
- @supports -moz-bool-pref("userChrome.combined.urlbar.home_button") {
+ @media -moz-pref("userChrome.combined.nav_button") {
+ @media -moz-pref("userChrome.combined.nav_button.home_button") {
+ @media -moz-pref("userChrome.combined.urlbar.home_button") {
#nav-bar-customization-target > #urlbar-container {
--uc-urlbar-combined-margin: var(--uc-toolbarbutton-size);
}
@@ -9090,8 +9574,8 @@
}
}
}
- @supports -moz-bool-pref("userChrome.combined.urlbar.nav_button") {
- @supports -moz-bool-pref("userChrome.autohide.forward_button") {
+ @media -moz-pref("userChrome.combined.urlbar.nav_button") {
+ @media -moz-pref("userChrome.autohide.forward_button") {
#nav-bar-customization-target
> #forward-button[disabled="true"]
~ #urlbar-container
@@ -9108,10 +9592,8 @@
}
}
}
-@supports -moz-bool-pref("userChrome.combined.nav_button") or -moz-bool-pref("userChrome.combined.urlbar.nav_button") {
- @supports -moz-bool-pref("userChrome.combined.urlbar.nav_button") or
- (not -moz-bool-pref("userChrome.combined.sub_button.as_normal")) or
- (-moz-bool-pref("userChrome.combined.nav_button") and -moz-bool-pref("userChrome.combined.urlbar.home_button")) {
+@media -moz-pref("userChrome.combined.nav_button") or -moz-pref("userChrome.combined.urlbar.nav_button") {
+ @media -moz-pref("userChrome.combined.urlbar.nav_button") or ((not -moz-pref("userChrome.combined.sub_button.as_normal")) or (-moz-pref("userChrome.combined.nav_button") and -moz-pref("userChrome.combined.urlbar.home_button"))) {
#nav-bar-customization-target > #forward-button {
--uc-forward-button-margin: calc(-1 * var(--uc-toolbarbutton-boundary) + 1px);
z-index: 2;
@@ -9122,15 +9604,15 @@
padding-block: var(--urlbar-icon-padding) !important;
height: var(--uc-urlbar-icon-size) !important;
}
- @supports -moz-bool-pref("userChrome.combined.urlbar.nav_button") {
+ @media -moz-pref("userChrome.combined.urlbar.nav_button") {
#nav-bar-customization-target > #forward-button {
padding-inline-end: 0px !important; /* Original: var(--toolbarbutton-outer-padding) */
}
}
- @supports not -moz-bool-pref("userChrome.combined.urlbar.nav_button") {
- @supports not -moz-bool-pref("userChrome.combined.sub_button.none_background") {
- @supports -moz-bool-pref("userChrome.combined.urlbar.home_button") {
- @supports not -moz-bool-pref("userChrome.combined.nav_button.home_button") {
+ @media not -moz-pref("userChrome.combined.urlbar.nav_button") {
+ @media not -moz-pref("userChrome.combined.sub_button.none_background") {
+ @media -moz-pref("userChrome.combined.urlbar.home_button") {
+ @media not -moz-pref("userChrome.combined.nav_button.home_button") {
#nav-bar-customization-target > #forward-button > .toolbarbutton-icon {
background-color: var(--uc-combined-circlebutton-background);
}
@@ -9152,14 +9634,14 @@
) !important;
fill: color-mix(in srgb, var(--toolbarbutton-icon-fill), transparent 60%);
}
- @supports not -moz-bool-pref("userChrome.autohide.forward_button") {
+ @media not -moz-pref("userChrome.autohide.forward_button") {
#nav-bar-customization-target > #forward-button[disabled="true"][disabled="true"] {
opacity: 1 !important; /* Original: 0.4 */
}
}
}
}
- @supports not -moz-bool-pref("userChrome.combined.urlbar.home_button") {
+ @media not -moz-pref("userChrome.combined.urlbar.home_button") {
#nav-bar-customization-target > #forward-button > .toolbarbutton-icon {
background-color: var(--uc-combined-circlebutton-background);
}
@@ -9181,7 +9663,7 @@
) !important;
fill: color-mix(in srgb, var(--toolbarbutton-icon-fill), transparent 60%);
}
- @supports not -moz-bool-pref("userChrome.autohide.forward_button") {
+ @media not -moz-pref("userChrome.autohide.forward_button") {
#nav-bar-customization-target > #forward-button[disabled="true"][disabled="true"] {
opacity: 1 !important; /* Original: 0.4 */
}
@@ -9189,12 +9671,12 @@
}
}
}
- @supports not -moz-bool-pref("userChrome.autohide.forward_button") {
+ @media not -moz-pref("userChrome.autohide.forward_button") {
#nav-bar-customization-target > #forward-button {
margin-inline-start: var(--uc-forward-button-margin) !important;
}
}
- @supports -moz-bool-pref("userChrome.autohide.forward_button") {
+ @media -moz-pref("userChrome.autohide.forward_button") {
#nav-bar-customization-target > #forward-button:not([disabled="true"]) {
margin-inline-start: var(--uc-forward-button-margin) !important;
}
@@ -9203,8 +9685,8 @@
#nav-bar-customization-target > #back-button {
position: relative;
}
- @supports not -moz-bool-pref("userChrome.combined.urlbar.home_button") {
- @supports not -moz-bool-pref("userChrome.combined.nav_button.home_button") {
+ @media not -moz-pref("userChrome.combined.urlbar.home_button") {
+ @media not -moz-pref("userChrome.combined.nav_button.home_button") {
#nav-bar-customization-target > #back-button > .toolbarbutton-icon {
background-color: var(--uc-combined-circlebutton-background);
}
@@ -9226,22 +9708,22 @@
) !important;
fill: color-mix(in srgb, var(--toolbarbutton-icon-fill), transparent 60%);
}
- @supports not -moz-bool-pref("userChrome.autohide.back_button") {
+ @media not -moz-pref("userChrome.autohide.back_button") {
#nav-bar-customization-target > #back-button[disabled="true"][disabled="true"] {
opacity: 1 !important; /* Original: 0.4 */
}
}
}
}
- @supports -moz-bool-pref("userChrome.combined.nav_button.home_button") or -moz-bool-pref("userChrome.combined.urlbar.home_button") {
+ @media -moz-pref("userChrome.combined.nav_button.home_button") or -moz-pref("userChrome.combined.urlbar.home_button") {
#nav-bar-customization-target > #back-button {
z-index: 2;
}
- @supports not -moz-bool-pref("userChrome.combined.sub_button.as_normal") {
+ @media not -moz-pref("userChrome.combined.sub_button.as_normal") {
#nav-bar-customization-target > #back-button {
margin-inline-end: calc(-1 * var(--uc-toolbarbutton-boundary) - 1px) !important;
}
- @supports not -moz-bool-pref("userChrome.combined.sub_button.none_background") {
+ @media not -moz-pref("userChrome.combined.sub_button.none_background") {
#nav-bar-customization-target > #back-button > .toolbarbutton-icon {
background-color: var(--uc-combined-circlebutton-background);
}
@@ -9263,7 +9745,7 @@
) !important;
fill: color-mix(in srgb, var(--toolbarbutton-icon-fill), transparent 60%);
}
- @supports not -moz-bool-pref("userChrome.autohide.back_button") {
+ @media not -moz-pref("userChrome.autohide.back_button") {
#nav-bar-customization-target > #back-button[disabled="true"][disabled="true"] {
opacity: 1 !important; /* Original: 0.4 */
}
@@ -9276,9 +9758,9 @@
}
}
}
- @supports not -moz-bool-pref("userChrome.combined.nav_button.home_button") {
- @supports -moz-bool-pref("userChrome.combined.urlbar.nav_button") {
- @supports not -moz-bool-pref("userChrome.combined.urlbar.home_button") {
+ @media not -moz-pref("userChrome.combined.nav_button.home_button") {
+ @media -moz-pref("userChrome.combined.urlbar.nav_button") {
+ @media not -moz-pref("userChrome.combined.urlbar.home_button") {
#nav-bar-customization-target > #back-button {
z-index: 3 !important;
background-color: var(--toolbar-bgcolor) !important;
@@ -9286,19 +9768,19 @@
border-radius: 100%;
padding-block: 0 !important;
}
- @supports -moz-bool-pref("userChrome.padding.toolbar_button") {
- @supports -moz-bool-pref("userChrome.padding.toolbar_button.compact") {
+ @media -moz-pref("userChrome.padding.toolbar_button") {
+ @media -moz-pref("userChrome.padding.toolbar_button.compact") {
#nav-bar-customization-target > #back-button {
--toolbarbutton-inner-padding: var(--uc-toolbarbutton-inner-padding-default);
}
}
}
- @supports not -moz-bool-pref("userChrome.autohide.back_button") {
+ @media not -moz-pref("userChrome.autohide.back_button") {
#nav-bar-customization-target > #back-button {
padding-inline-end: 0 !important;
}
}
- @supports -moz-bool-pref("userChrome.autohide.back_button") {
+ @media -moz-pref("userChrome.autohide.back_button") {
#nav-bar-customization-target > #back-button:not([disabled="true"]) {
padding-inline-end: 0 !important;
}
@@ -9319,7 +9801,7 @@
}
}
}
- @supports not -moz-bool-pref("userChrome.combined.urlbar.nav_button") {
+ @media not -moz-pref("userChrome.combined.urlbar.nav_button") {
#nav-bar-customization-target > #back-button {
z-index: 3 !important;
background-color: var(--toolbar-bgcolor) !important;
@@ -9327,19 +9809,19 @@
border-radius: 100%;
padding-block: 0 !important;
}
- @supports -moz-bool-pref("userChrome.padding.toolbar_button") {
- @supports -moz-bool-pref("userChrome.padding.toolbar_button.compact") {
+ @media -moz-pref("userChrome.padding.toolbar_button") {
+ @media -moz-pref("userChrome.padding.toolbar_button.compact") {
#nav-bar-customization-target > #back-button {
--toolbarbutton-inner-padding: var(--uc-toolbarbutton-inner-padding-default);
}
}
}
- @supports not -moz-bool-pref("userChrome.autohide.back_button") {
+ @media not -moz-pref("userChrome.autohide.back_button") {
#nav-bar-customization-target > #back-button {
padding-inline-end: 0 !important;
}
}
- @supports -moz-bool-pref("userChrome.autohide.back_button") {
+ @media -moz-pref("userChrome.autohide.back_button") {
#nav-bar-customization-target > #back-button:not([disabled="true"]) {
padding-inline-end: 0 !important;
}
@@ -9361,8 +9843,8 @@
}
}
}
-@supports -moz-bool-pref("userChrome.combined.nav_button") {
- @supports -moz-bool-pref("userChrome.combined.nav_button.home_button") {
+@media -moz-pref("userChrome.combined.nav_button") {
+ @media -moz-pref("userChrome.combined.nav_button.home_button") {
#nav-bar-customization-target > #home-button {
position: relative;
z-index: 3 !important;
@@ -9372,8 +9854,8 @@
padding-block: 0 !important;
padding-inline-end: 0 !important;
}
- @supports -moz-bool-pref("userChrome.padding.toolbar_button") {
- @supports -moz-bool-pref("userChrome.padding.toolbar_button.compact") {
+ @media -moz-pref("userChrome.padding.toolbar_button") {
+ @media -moz-pref("userChrome.padding.toolbar_button.compact") {
#nav-bar-customization-target > #home-button {
--toolbarbutton-inner-padding: var(--uc-toolbarbutton-inner-padding-default);
}
@@ -9402,7 +9884,7 @@
}
}
}
-@supports -moz-bool-pref("userChrome.combined.urlbar.nav_button") {
+@media -moz-pref("userChrome.combined.urlbar.nav_button") {
#nav-bar-customization-target > #back-button {
order: 2;
-moz-box-ordinal-group: 2;
@@ -9411,7 +9893,7 @@
order: 4;
-moz-box-ordinal-group: 4;
}
- @supports -moz-bool-pref("userChrome.combined.urlbar.home_button") {
+ @media -moz-pref("userChrome.combined.urlbar.home_button") {
#nav-bar-customization-target
> :first-child:is(#back-button, #forward-button, #home-button)
+ :is(toolbarbutton, toolbaritem):not(#back-button, #forward-button, #home-button),
@@ -9427,7 +9909,7 @@
padding-inline-start: var(--toolbar-start-end-padding) !important;
}
}
- @supports not -moz-bool-pref("userChrome.combined.urlbar.home_button") {
+ @media not -moz-pref("userChrome.combined.urlbar.home_button") {
#nav-bar-customization-target
> :first-child:is(#back-button, #forward-button)
+ :is(toolbarbutton, toolbaritem):not(#back-button, #forward-button),
@@ -9439,12 +9921,12 @@
}
}
}
-@supports -moz-bool-pref("userChrome.combined.urlbar.home_button") {
+@media -moz-pref("userChrome.combined.urlbar.home_button") {
#nav-bar-customization-target > #home-button {
order: 3;
-moz-box-ordinal-group: 3;
}
- @supports not -moz-bool-pref("userChrome.combined.urlbar.nav_button") {
+ @media not -moz-pref("userChrome.combined.urlbar.nav_button") {
#nav-bar-customization-target > #home-button:is(:first-child) + :is(toolbarbutton, toolbaritem) {
padding-inline-start: var(--toolbar-start-end-padding) !important;
}
@@ -9458,8 +9940,8 @@
padding-block: 0 !important;
padding-inline-end: 0 !important;
}
- @supports -moz-bool-pref("userChrome.padding.toolbar_button") {
- @supports -moz-bool-pref("userChrome.padding.toolbar_button.compact") {
+ @media -moz-pref("userChrome.padding.toolbar_button") {
+ @media -moz-pref("userChrome.padding.toolbar_button.compact") {
#nav-bar-customization-target > #home-button {
--toolbarbutton-inner-padding: var(--uc-toolbarbutton-inner-padding-default);
}
@@ -9487,7 +9969,7 @@
border-color: hsla(240deg, 5%, 5%, 0.4);
}
}
-@supports -moz-bool-pref("userChrome.combined.urlbar.reload_button") {
+@media -moz-pref("userChrome.combined.urlbar.reload_button") {
#nav-bar-customization-target > #stop-reload-button {
order: 6;
-moz-box-ordinal-group: 6;
@@ -9510,7 +9992,7 @@
}
/** Others UI *****************************************************************/
/*= Counter for Tab ==========================================================*/
-@supports -moz-bool-pref("userChrome.counter.tab") {
+@media -moz-pref("userChrome.counter.tab") {
#tabbrowser-tabs {
counter-reset: tab-counts;
}
@@ -9528,15 +10010,15 @@
align-content: safe center;
align-items: safe center;
}
- @supports -moz-bool-pref("userChrome.centered.tab") {
- @supports not -moz-bool-pref("userChrome.centered.tab.label") {
+ @media -moz-pref("userChrome.centered.tab") {
+ @media not -moz-pref("userChrome.centered.tab.label") {
.tabbrowser-tab:not([hidden="true"]) .tab-label-container {
justify-content: start;
justify-items: start;
}
}
}
- @supports not -moz-bool-pref("userChrome.centered.tab") {
+ @media not -moz-pref("userChrome.centered.tab") {
.tabbrowser-tab:not([hidden="true"]) .tab-label-container {
justify-content: start;
justify-items: start;
@@ -9560,8 +10042,8 @@
.tab-secondary-label {
overflow: hidden;
}
- @supports -moz-bool-pref("userChrome.tab.sound_with_favicons") {
- @supports not -moz-bool-pref("userChrome.hidden.tab_icon") {
+ @media -moz-pref("userChrome.tab.sound_with_favicons") {
+ @media not -moz-pref("userChrome.hidden.tab_icon") {
.tabbrowser-tab:not([sharing], [crashed]):is([soundplaying], [muted], [activemedia-blocked])[pinned]
.tab-label-container[labeldirection="ltr"],
.tabbrowser-tab:not([sharing], [crashed]):is([soundplaying], [muted], [activemedia-blocked])[pinned]
@@ -9579,8 +10061,8 @@
transform: translateX(var(--uc-sound-tab-label-position-x, 0px));
}
}
- @supports -moz-bool-pref("userChrome.hidden.tab_icon") {
- @supports not -moz-bool-pref("userChrome.hidden.tab_icon.always") {
+ @media -moz-pref("userChrome.hidden.tab_icon") {
+ @media not -moz-pref("userChrome.hidden.tab_icon.always") {
.tabbrowser-tab:not([sharing], [crashed]):is([soundplaying], [muted], [activemedia-blocked])[pinned]
.tab-label-container[labeldirection="ltr"],
.tabbrowser-tab:not([sharing], [crashed]):is([soundplaying], [muted], [activemedia-blocked])[pinned]
@@ -9605,7 +10087,7 @@
}
}
/*= Counter for Bookmark menu ================================================*/
-@supports -moz-bool-pref("userChrome.counter.bookmark_menu") {
+@media -moz-pref("userChrome.counter.bookmark_menu") {
menupopup[placespopup="true"] > menu.bookmark-item > .menu-right {
counter-reset: bookmark-counts 0;
}
@@ -9624,7 +10106,7 @@
counter-increment: bookmark-counts;
}
}
-@supports -moz-bool-pref("userChrome.findbar.floating_on_top") {
+@media -moz-pref("userChrome.findbar.floating_on_top") {
/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/floating_findbar_on_top.css made available under Mozilla Public License v. 2.0
See the above repository for updates as well as full license text. */
/* Note that privacy.resistFingerprinting.letterboxing prevents this from working properly */
@@ -9700,39 +10182,50 @@
}
}
/** Fullscreen - Overlap toolbar **********************************************/
-@supports -moz-bool-pref("userChrome.fullscreen.overlap") {
- @supports -moz-bool-pref("browser.fullscreen.autohide") {
- :root[sizemode="fullscreen"] #navigator-toolbox {
+@media -moz-pref("userChrome.fullscreen.overlap") {
+ @media -moz-pref("browser.fullscreen.autohide") {
+ :root[sizemode="fullscreen"]:not([inDOMFullscreen="true"]) #navigator-toolbox {
position: fixed !important; /* Needed for content to take up entire height */
z-index: 1000 !important; /* Puts the UI above the content */
}
- :root[sizemode="fullscreen"] :-moz-any(#navigator-toolbox, #titlebar, #nav-bar, #PersonalToolbar) {
+ :root[sizemode="fullscreen"]:not([inDOMFullscreen="true"]) #navigator-toolbox:is(:hover, :focus-within) {
+ margin-top: 0 !important;
+ }
+ :root[sizemode="fullscreen"]:not([inDOMFullscreen="true"])
+ :-moz-any(#navigator-toolbox, #titlebar, #toolbar-menubar, #TabsToolbar, #nav-bar, #PersonalToolbar) {
width: 100%; /* Makes the UI take up the entire width */
}
+ :root[sizemode="fullscreen"]:not([inDOMFullscreen="true"]) #urlbar:popover-open {
+ position: fixed !important;
+ }
@media (-moz-gtk-csd-available) {
/* Fix transparent background */
- :root[tabsintitlebar][sizemode="fullscreen"]:is(:not([lwtheme]), :not(:-moz-lwtheme)) #TabsToolbar {
+ :root:is([tabsintitlebar], [customtitlebar])[sizemode="fullscreen"]:not([inDOMFullscreen="true"]):is(
+ :not([lwtheme]),
+ :not(:-moz-lwtheme)
+ )
+ #TabsToolbar {
appearance: auto !important;
}
}
}
}
-@supports -moz-bool-pref("userChrome.fullscreen.show_bookmarkbar") {
- :root:not([sizemode="fullscreen"]) #PersonalToolbar[initialized="true"]:not([collapsed="true"]),
- :root[sizemode="fullscreen"] #PersonalToolbar[initialized="true"] {
+@media -moz-pref("userChrome.fullscreen.show_bookmarkbar") {
+ :root:not([sizemode="fullscreen"]) #PersonalToolbar[initialized]:not([collapsed="true"]),
+ :root[sizemode="fullscreen"] #PersonalToolbar[initialized] {
visibility: unset !important; /* Makes the bookmarks toolbar visible if enabled */
}
}
/** Centered ******************************************************************/
/*= Centered - Tab ===========================================================*/
-@supports -moz-bool-pref("userChrome.centered.tab") {
- @supports -moz-bool-pref("userChrome.centered.tab.label") {
+@media -moz-pref("userChrome.centered.tab") {
+ @media -moz-pref("userChrome.centered.tab.label") {
.tabbrowser-tab[selected]:not(:hover) .tab-label-container:not([textoverflow]),
.tabbrowser-tab:not(:hover, [pinned]) .tab-label-container:not([textoverflow]) {
margin-inline-end: 5px;
}
}
- @supports -moz-bool-pref("userChrome.tab.close_button_at_hover") {
+ @media -moz-pref("userChrome.tab.close_button_at_hover") {
#tabbrowser-tabs[closebuttons="activetab"]
.tabbrowser-tab:not(:hover, [pinned])
.tab-label-container:not([textoverflow]) {
@@ -9745,7 +10238,7 @@
padding-inline-end: 18px;
}
}
- @supports not -moz-bool-pref("userChrome.centered.tab.label") {
+ @media not -moz-pref("userChrome.centered.tab.label") {
.tab-icon-stack {
margin-inline-start: auto;
}
@@ -9753,14 +10246,14 @@
max-width: min-content;
margin-inline-end: auto;
}
- @supports -moz-bool-pref("userChrome.tab.close_button_at_hover") {
+ @media -moz-pref("userChrome.tab.close_button_at_hover") {
.tabbrowser-tab:not(:hover, [pinned]) > .tab-stack > .tab-content > .tab-close-button {
padding-inline-start: 6px !important; /* Original: 0px */
width: 24px !important; /* Original: 17px */
}
}
}
- @supports -moz-bool-pref("userChrome.centered.tab.label") {
+ @media -moz-pref("userChrome.centered.tab.label") {
/* Based on https://github.com/MrOtherGuy/firefox-csshacks/blob/master/chrome/centered_tab_label.css */
.tab-label-container {
display: grid;
@@ -9778,21 +10271,21 @@
}
}
/*= Centered - URL Bar =======================================================*/
-@supports -moz-bool-pref("userChrome.centered.urlbar") {
+@media -moz-pref("userChrome.centered.urlbar") {
#urlbar:not([focused]) #urlbar-input,
#urlbar:not([focused]) .urlbar-input {
text-align: center !important;
}
}
/*= Centered - Bookmark Bar ==================================================*/
-@supports -moz-bool-pref("userChrome.centered.bookmarkbar") {
+@media -moz-pref("userChrome.centered.bookmarkbar") {
#PlacesToolbarItems {
display: flex !important;
justify-content: safe center !important;
}
}
/** Auto Hide *****************************************************************/
-@supports -moz-bool-pref("userChrome.autohide.back_button") or -moz-bool-pref("userChrome.autohide.forward_button") {
+@media -moz-pref("userChrome.autohide.back_button") or -moz-pref("userChrome.autohide.forward_button") {
:root {
--uc-toolbarbutton-hide-size: calc(
-1 * (16px + (2 * (var(--toolbarbutton-outer-padding) + var(--toolbarbutton-inner-padding))))
@@ -9801,7 +10294,7 @@
}
@-moz-document url("chrome://browser/content/browser.xhtml")
{
- @supports -moz-bool-pref("userChrome.autohide.back_button") {
+ @media -moz-pref("userChrome.autohide.back_button") {
:root:not([customizing="true"]) #back-button[disabled="true"] {
margin-left: var(--uc-toolbarbutton-hide-size) !important;
opacity: 0 !important;
@@ -9817,7 +10310,7 @@
}
}
}
- @supports -moz-bool-pref("userChrome.autohide.forward_button") {
+ @media -moz-pref("userChrome.autohide.forward_button") {
:root:not([customizing="true"]) #forward-button[disabled="true"] {
margin-left: var(--uc-toolbarbutton-hide-size) !important;
opacity: 0 !important;
@@ -9834,7 +10327,7 @@
}
}
}
-@supports -moz-bool-pref("userChrome.autohide.page_action") {
+@media -moz-pref("userChrome.autohide.page_action") {
#page-action-buttons > .urlbar-page-action {
margin-inline-end: calc(-16px - 2 * var(--urlbar-icon-padding));
opacity: 0;
@@ -9850,7 +10343,7 @@
transition: margin-inline-end 50ms var(--animation-easing-function) 900ms,
opacity 1.5s var(--animation-easing-function) 600ms !important;
}
- @supports -moz-bool-pref("userChrome.decoration.animate") {
+ @media -moz-pref("userChrome.decoration.animate") {
#page-action-buttons > .urlbar-page-action {
transition: margin-inline-end 50ms var(--animation-easing-function) 900ms,
opacity 1.5s var(--animation-easing-function) 600ms, background-color 2.5s var(--animation-easing-function) !important;
@@ -9863,20 +10356,20 @@
}
}
}
-@supports -moz-bool-pref("userChrome.autohide.tab") {
- @supports not -moz-bool-pref("userChrome.autohide.tab.opacity") {
- @supports not -moz-bool-pref("userChrome.autohide.tab.blur") {
+@media -moz-pref("userChrome.autohide.tab") {
+ @media not -moz-pref("userChrome.autohide.tab.opacity") {
+ @media not -moz-pref("userChrome.autohide.tab.blur") {
.tabbrowser-tab:not([multiselected]) .tab-content:not(:hover):not([selected]) {
margin-bottom: -64px;
}
}
}
- @supports -moz-bool-pref("userChrome.autohide.tab.opacity") {
+ @media -moz-pref("userChrome.autohide.tab.opacity") {
.tabbrowser-tab:not([multiselected]) .tab-content:not(:hover):not([selected]) {
opacity: 0%;
}
}
- @supports -moz-bool-pref("userChrome.autohide.tab.blur") {
+ @media -moz-pref("userChrome.autohide.tab.blur") {
.tabbrowser-tab:not([multiselected]) .tab-content:not(:hover):not([selected]) {
filter: blur(8px);
}
@@ -9890,19 +10383,19 @@
.tabbrowser-tab:not([multiselected]) .tab-content:not(:hover):not([selected]):is(:hover, :focus-within) {
transition-delay: 0s;
}
- @supports not -moz-bool-pref("userChrome.autohide.tab.opacity") {
- @supports not -moz-bool-pref("userChrome.autohide.tab.blur") {
+ @media not -moz-pref("userChrome.autohide.tab.opacity") {
+ @media not -moz-pref("userChrome.autohide.tab.blur") {
.tabbrowser-tab:not([multiselected]) .tab-content:not(:hover):not([selected]) {
transition-property: margin-bottom;
}
}
}
- @supports -moz-bool-pref("userChrome.autohide.tab.opacity") {
+ @media -moz-pref("userChrome.autohide.tab.opacity") {
.tabbrowser-tab:not([multiselected]) .tab-content:not(:hover):not([selected]) {
transition-property: opacity;
}
}
- @supports -moz-bool-pref("userChrome.autohide.tab.blur") {
+ @media -moz-pref("userChrome.autohide.tab.blur") {
.tabbrowser-tab:not([multiselected]) .tab-content:not(:hover):not([selected]) {
transition-property: filter;
}
@@ -9914,12 +10407,7 @@
--uc-autohide-toolbar-delay: 600ms;
}
-@supports -moz-bool-pref("userChrome.autohide.tabbar") or -moz-bool-pref("userChrome.autohide.navbar") or -moz-bool-pref(
- "userChrome.autohide.bookmarkbar"
- )
- or -moz-bool-pref("userChrome.tabbar.one_liner") or -moz-bool-pref("userChrome.tabbar.on_bottom.menubar_on_top") or -moz-bool-pref(
- "userChrome.hidden.tabbar"
- ) or -moz-bool-pref("userChrome.navbar.as_sidebar") {
+@media -moz-pref("userChrome.autohide.tabbar") or -moz-pref("userChrome.autohide.navbar") or -moz-pref("userChrome.autohide.bookmarkbar") or -moz-pref("userChrome.tabbar.one_liner") or -moz-pref("userChrome.tabbar.on_bottom.menubar_on_top") or -moz-pref("userChrome.hidden.tabbar") or -moz-pref("userChrome.navbar.as_sidebar") {
:root {
--uc-tabbar-height: var(--uc-tabbar-height-default);
--uc-tabbar-height-default: var(--tab-min-height);
@@ -9939,14 +10427,14 @@
--uc-menubar-height-default: calc(1.6rem + 2px);
--uc-menubar-inner-height: calc(1.6rem - 2px);
}
- @supports -moz-bool-pref("userChrome.hidden.tabbar") {
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner") {
+ @media -moz-pref("userChrome.hidden.tabbar") {
+ @media not -moz-pref("userChrome.tabbar.one_liner") {
:root {
--uc-tabbar-height: 0px;
}
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner") {
- @supports -moz-bool-pref("userChrome.tabbar.one_liner.responsive") {
+ @media -moz-pref("userChrome.tabbar.one_liner") {
+ @media -moz-pref("userChrome.tabbar.one_liner.responsive") {
@media screen and (max-width: 1100px) {
:root {
--uc-tabbar-height: 0px;
@@ -9955,40 +10443,40 @@
}
}
}
- @supports -moz-bool-pref("userChrome.hidden.navbar") {
+ @media -moz-pref("userChrome.hidden.navbar") {
:root {
--uc-navbar-height: 0px;
}
}
@supports selector(:has(a)) {
- :root:not([tabsintitlebar]):has(#toolbar-menubar) {
+ :root:not([tabsintitlebar]):not([customtitlebar]):has(#toolbar-menubar) {
--uc-menubar-height: var(--uc-menubar-height-default);
}
@media (-moz-gtk-csd-available) {
- :root[tabsintitlebar]:has(#toolbar-menubar[autohide="true"]) {
+ :root:is([tabsintitlebar], [customtitlebar]):has(#toolbar-menubar[autohide="true"]) {
--uc-menubar-height: calc(var(--tab-min-height) + 2 * var(--tab-block-margin));
}
}
@media (-moz-platform: windows) {
- :root[tabsintitlebar]:has(#toolbar-menubar[autohide="true"]) {
+ :root:is([tabsintitlebar], [customtitlebar]):has(#toolbar-menubar[autohide="true"]) {
--uc-menubar-height: calc(var(--tab-min-height) - var(--tabs-navbar-shadow-size));
}
}
- :root[tabsintitlebar]:has(#toolbar-menubar[autohide="false"]) {
+ :root:is([tabsintitlebar], [customtitlebar]):has(#toolbar-menubar[autohide="false"]) {
--uc-menubar-height: var(--uc-titlebar-buttonbox-height);
}
- :root:not([tabsintitlebar]):has(#toolbar-menubar[autohide="true"][inactive="true"]),
- :root[tabsintitlebar]:has(#toolbar-menubar[autohide="true"][inactive="true"]) {
+ :root:not([tabsintitlebar]):not([customtitlebar]):has(#toolbar-menubar[autohide="true"][inactive="true"]),
+ :root:is([tabsintitlebar], [customtitlebar]):has(#toolbar-menubar[autohide="true"][inactive="true"]) {
--uc-menubar-height: 0px;
}
#navigator-toolbox:has(#PersonalToolbar[collapsed="true"]) {
--uc-bm-height: 0px;
}
- @supports -moz-bool-pref("userChrome.navbar.as_sidebar") {
+ @media -moz-pref("userChrome.navbar.as_sidebar") {
#navigator-toolbox:has(#PersonalToolbar[collapsed="false"]) #nav-bar {
--uc-bm-height: var(--uc-bm-height-default);
}
- @supports -moz-bool-pref("userChrome.autohide.bookmarkbar") {
+ @media -moz-pref("userChrome.autohide.bookmarkbar") {
#navigator-toolbox:has(#PersonalToolbar[collapsed="false"]):not(:hover) #nav-bar {
--uc-bm-height: 0px;
}
@@ -9996,10 +10484,7 @@
}
}
}
-@supports -moz-bool-pref("userChrome.autohide.tabbar") or -moz-bool-pref("userChrome.autohide.navbar") or -moz-bool-pref(
- "userChrome.autohide.bookmarkbar"
- )
- or -moz-bool-pref("userChrome.autohide.infobar") {
+@media -moz-pref("userChrome.autohide.tabbar") or -moz-pref("userChrome.autohide.navbar") or -moz-pref("userChrome.autohide.bookmarkbar") or -moz-pref("userChrome.autohide.infobar") {
#navigator-toolbox {
position: relative;
}
@@ -10024,13 +10509,13 @@
position: relative;
z-index: 2 !important;
}
- @supports -moz-bool-pref("userChrome.autohide.toolbar_overlap") {
+ @media -moz-pref("userChrome.autohide.toolbar_overlap") {
#navigator-toolbox {
--uc-toolbar-hide-height: calc(-1 * var(--uc-toolbar-height, 0));
margin-bottom: var(--uc-toolbar-hide-height) !important;
}
@media (prefers-reduced-motion: no-preference) {
- @supports -moz-bool-pref("userChrome.decoration.animate") {
+ @media -moz-pref("userChrome.decoration.animate") {
#navigator-toolbox {
will-change: margin-top, margin-bottom, background-color !important;
transition: margin-top 1s ease,
@@ -10060,7 +10545,7 @@
background-color 0.5s var(--animation-easing-function) !important;
}
}
- @supports not -moz-bool-pref("userChrome.decoration.animate") {
+ @media not -moz-pref("userChrome.decoration.animate") {
#navigator-toolbox {
transition: margin-bottom var(--uc-autohide-toolbar-speed) var(--animation-easing-function)
var(--uc-autohide-toolbar-delay),
@@ -10071,40 +10556,40 @@
}
}
}
- @supports -moz-bool-pref("userChrome.autohide.tabbar") or -moz-bool-pref("userChrome.autohide.navbar") {
- @supports -moz-bool-pref("userChrome.autohide.tabbar") or -moz-bool-pref("userChrome.tabbar.one_liner") {
+ @media -moz-pref("userChrome.autohide.tabbar") or -moz-pref("userChrome.autohide.navbar") {
+ @media -moz-pref("userChrome.autohide.tabbar") or -moz-pref("userChrome.tabbar.one_liner") {
#navigator-toolbox:is(:hover, :focus-within) {
--uc-toolbar-height: var(--uc-tabbar-height);
}
- @supports not -moz-bool-pref("userChrome.autohide.navbar") {
- @supports -moz-bool-pref("userChrome.autohide.bookmarkbar") {
+ @media not -moz-pref("userChrome.autohide.navbar") {
+ @media -moz-pref("userChrome.autohide.bookmarkbar") {
#navigator-toolbox:is(:hover, :focus-within) {
--uc-toolbar-height: calc(var(--uc-tabbar-height) + var(--uc-bm-height));
}
}
}
- @supports -moz-bool-pref("userChrome.autohide.navbar") {
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner") {
- @supports not -moz-bool-pref("userChrome.autohide.bookmarkbar") {
+ @media -moz-pref("userChrome.autohide.navbar") {
+ @media not -moz-pref("userChrome.tabbar.one_liner") {
+ @media not -moz-pref("userChrome.autohide.bookmarkbar") {
#navigator-toolbox:is(:hover, :focus-within) {
--uc-toolbar-height: calc(var(--uc-tabbar-height) + var(--uc-navbar-height));
}
}
- @supports -moz-bool-pref("userChrome.autohide.bookmarkbar") {
+ @media -moz-pref("userChrome.autohide.bookmarkbar") {
#navigator-toolbox:is(:hover, :focus-within) {
--uc-toolbar-height: calc(var(--uc-tabbar-height) + var(--uc-navbar-height) + var(--uc-bm-height));
}
}
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner") {
- @supports -moz-bool-pref("userChrome.tabbar.one_liner.responsive") {
+ @media -moz-pref("userChrome.tabbar.one_liner") {
+ @media -moz-pref("userChrome.tabbar.one_liner.responsive") {
@media screen and (max-width: 1100px) {
- @supports not -moz-bool-pref("userChrome.autohide.bookmarkbar") {
+ @media not -moz-pref("userChrome.autohide.bookmarkbar") {
#navigator-toolbox:is(:hover, :focus-within) {
--uc-toolbar-height: calc(var(--uc-tabbar-height) + var(--uc-navbar-height));
}
}
- @supports -moz-bool-pref("userChrome.autohide.bookmarkbar") {
+ @media -moz-pref("userChrome.autohide.bookmarkbar") {
#navigator-toolbox:is(:hover, :focus-within) {
--uc-toolbar-height: calc(var(--uc-tabbar-height) + var(--uc-navbar-height) + var(--uc-bm-height));
}
@@ -10115,37 +10600,37 @@
}
}
}
- @supports not -moz-bool-pref("userChrome.autohide.tabbar") {
- @supports not -moz-bool-pref("userChrome.autohide.navbar") {
- @supports -moz-bool-pref("userChrome.autohide.bookmarkbar") {
+ @media not -moz-pref("userChrome.autohide.tabbar") {
+ @media not -moz-pref("userChrome.autohide.navbar") {
+ @media -moz-pref("userChrome.autohide.bookmarkbar") {
#navigator-toolbox:is(:hover, :focus-within) {
--uc-toolbar-height: var(--uc-bm-height);
}
}
}
- @supports -moz-bool-pref("userChrome.autohide.navbar") or -moz-bool-pref("userChrome.tabbar.one_liner") {
- @supports -moz-bool-pref("userChrome.autohide.navbar") {
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner") {
- @supports not -moz-bool-pref("userChrome.autohide.bookmarkbar") {
+ @media -moz-pref("userChrome.autohide.navbar") or -moz-pref("userChrome.tabbar.one_liner") {
+ @media -moz-pref("userChrome.autohide.navbar") {
+ @media not -moz-pref("userChrome.tabbar.one_liner") {
+ @media not -moz-pref("userChrome.autohide.bookmarkbar") {
#navigator-toolbox:is(:hover, :focus-within) {
--uc-toolbar-height: var(--uc-navbar-height);
}
}
- @supports -moz-bool-pref("userChrome.autohide.bookmarkbar") {
+ @media -moz-pref("userChrome.autohide.bookmarkbar") {
#navigator-toolbox:is(:hover, :focus-within) {
--uc-toolbar-height: calc(var(--uc-navbar-height) + var(--uc-bm-height));
}
}
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner") {
- @supports -moz-bool-pref("userChrome.tabbar.one_liner.responsive") {
+ @media -moz-pref("userChrome.tabbar.one_liner") {
+ @media -moz-pref("userChrome.tabbar.one_liner.responsive") {
@media screen and (max-width: 1100px) {
- @supports not -moz-bool-pref("userChrome.autohide.bookmarkbar") {
+ @media not -moz-pref("userChrome.autohide.bookmarkbar") {
#navigator-toolbox:is(:hover, :focus-within) {
--uc-toolbar-height: var(--uc-navbar-height);
}
}
- @supports -moz-bool-pref("userChrome.autohide.bookmarkbar") {
+ @media -moz-pref("userChrome.autohide.bookmarkbar") {
#navigator-toolbox:is(:hover, :focus-within) {
--uc-toolbar-height: calc(var(--uc-navbar-height) + var(--uc-bm-height));
}
@@ -10158,106 +10643,112 @@
}
}
}
-@supports -moz-bool-pref("userChrome.autohide.tabbar") or -moz-bool-pref("userChrome.autohide.navbar") {
- @supports -moz-bool-pref("userChrome.autohide.tabbar") or -moz-bool-pref("userChrome.tabbar.one_liner") {
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner.responsive") {
- :root:not([customizing]) #titlebar {
+@media -moz-pref("userChrome.autohide.tabbar") or -moz-pref("userChrome.autohide.navbar") {
+ @media -moz-pref("userChrome.autohide.tabbar") or -moz-pref("userChrome.tabbar.one_liner") {
+ @media not -moz-pref("userChrome.tabbar.one_liner.responsive") {
+ :root:not([customizing]) #titlebar,
+ :root:not([customizing]) #navigator-toolbox > #TabsToolbar {
margin-bottom: var(--uc-tabbar-hide-height);
will-change: margin-bottom;
}
#TabsToolbar:not([customizing]) {
will-change: opacity;
}
- @supports not -moz-bool-pref("userChrome.tabbar.on_bottom") {
+ @media not -moz-pref("userChrome.tabbar.on_bottom") {
#TabsToolbar:not([customizing]),
#TabsToolbar:not([customizing]) .titlebar-buttonbox-container {
opacity: 0;
}
}
- @supports -moz-bool-pref("userChrome.tabbar.on_bottom") {
+ @media -moz-pref("userChrome.tabbar.on_bottom") {
#TabsToolbar:not([customizing]) > *:not(.titlebar-buttonbox-container) {
opacity: 0;
}
}
- #navigator-toolbox:is(:hover, :focus-within) > #titlebar {
+ #navigator-toolbox:is(:hover, :focus-within) > #titlebar,
+ #navigator-toolbox:is(:hover, :focus-within) > #TabsToolbar {
margin-bottom: 0px;
}
- @supports not -moz-bool-pref("userChrome.tabbar.on_bottom") {
+ @media not -moz-pref("userChrome.tabbar.on_bottom") {
#navigator-toolbox:is(:hover, :focus-within) #TabsToolbar,
#navigator-toolbox:is(:hover, :focus-within) #TabsToolbar .titlebar-buttonbox-container {
opacity: 1;
}
}
- @supports -moz-bool-pref("userChrome.tabbar.on_bottom") {
+ @media -moz-pref("userChrome.tabbar.on_bottom") {
#navigator-toolbox:is(:hover, :focus-within) #TabsToolbar > *:not(.titlebar-buttonbox-container) {
opacity: 1;
}
}
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner.responsive") {
+ @media -moz-pref("userChrome.tabbar.one_liner.responsive") {
@media screen and (min-width: 1100px) {
- :root:not([customizing]) #titlebar {
+ :root:not([customizing]) #titlebar,
+ :root:not([customizing]) #navigator-toolbox > #TabsToolbar {
margin-bottom: var(--uc-tabbar-hide-height);
will-change: margin-bottom;
}
#TabsToolbar:not([customizing]) {
will-change: opacity;
}
- @supports not -moz-bool-pref("userChrome.tabbar.on_bottom") {
+ @media not -moz-pref("userChrome.tabbar.on_bottom") {
#TabsToolbar:not([customizing]),
#TabsToolbar:not([customizing]) .titlebar-buttonbox-container {
opacity: 0;
}
}
- @supports -moz-bool-pref("userChrome.tabbar.on_bottom") {
+ @media -moz-pref("userChrome.tabbar.on_bottom") {
#TabsToolbar:not([customizing]) > *:not(.titlebar-buttonbox-container) {
opacity: 0;
}
}
- #navigator-toolbox:is(:hover, :focus-within) > #titlebar {
+ #navigator-toolbox:is(:hover, :focus-within) > #titlebar,
+ #navigator-toolbox:is(:hover, :focus-within) > #TabsToolbar {
margin-bottom: 0px;
}
- @supports not -moz-bool-pref("userChrome.tabbar.on_bottom") {
+ @media not -moz-pref("userChrome.tabbar.on_bottom") {
#navigator-toolbox:is(:hover, :focus-within) #TabsToolbar,
#navigator-toolbox:is(:hover, :focus-within) #TabsToolbar .titlebar-buttonbox-container {
opacity: 1;
}
}
- @supports -moz-bool-pref("userChrome.tabbar.on_bottom") {
+ @media -moz-pref("userChrome.tabbar.on_bottom") {
#navigator-toolbox:is(:hover, :focus-within) #TabsToolbar > *:not(.titlebar-buttonbox-container) {
opacity: 1;
}
}
}
- @supports -moz-bool-pref("userChrome.autohide.tabbar") {
- :root:not([customizing]) #titlebar {
+ @media -moz-pref("userChrome.autohide.tabbar") {
+ :root:not([customizing]) #titlebar,
+ :root:not([customizing]) #navigator-toolbox > #TabsToolbar {
margin-bottom: var(--uc-tabbar-hide-height);
will-change: margin-bottom;
}
#TabsToolbar:not([customizing]) {
will-change: opacity;
}
- @supports not -moz-bool-pref("userChrome.tabbar.on_bottom") {
+ @media not -moz-pref("userChrome.tabbar.on_bottom") {
#TabsToolbar:not([customizing]),
#TabsToolbar:not([customizing]) .titlebar-buttonbox-container {
opacity: 0;
}
}
- @supports -moz-bool-pref("userChrome.tabbar.on_bottom") {
+ @media -moz-pref("userChrome.tabbar.on_bottom") {
#TabsToolbar:not([customizing]) > *:not(.titlebar-buttonbox-container) {
opacity: 0;
}
}
- #navigator-toolbox:is(:hover, :focus-within) > #titlebar {
+ #navigator-toolbox:is(:hover, :focus-within) > #titlebar,
+ #navigator-toolbox:is(:hover, :focus-within) > #TabsToolbar {
margin-bottom: 0px;
}
- @supports not -moz-bool-pref("userChrome.tabbar.on_bottom") {
+ @media not -moz-pref("userChrome.tabbar.on_bottom") {
#navigator-toolbox:is(:hover, :focus-within) #TabsToolbar,
#navigator-toolbox:is(:hover, :focus-within) #TabsToolbar .titlebar-buttonbox-container {
opacity: 1;
}
}
- @supports -moz-bool-pref("userChrome.tabbar.on_bottom") {
+ @media -moz-pref("userChrome.tabbar.on_bottom") {
#navigator-toolbox:is(:hover, :focus-within) #TabsToolbar > *:not(.titlebar-buttonbox-container) {
opacity: 1;
}
@@ -10270,14 +10761,14 @@
var(--uc-autohide-toolbar-delay),
background-color 1s var(--animation-easing-function) !important;
}
- @supports not -moz-bool-pref("userChrome.tabbar.on_bottom") {
+ @media not -moz-pref("userChrome.tabbar.on_bottom") {
#TabsToolbar:not([customizing]),
#TabsToolbar:not([customizing]) .titlebar-buttonbox-container {
transition: opacity var(--uc-autohide-toolbar-speed) var(--animation-easing-function)
var(--uc-autohide-toolbar-delay) !important;
}
}
- @supports -moz-bool-pref("userChrome.tabbar.on_bottom") {
+ @media -moz-pref("userChrome.tabbar.on_bottom") {
#TabsToolbar:not([customizing]) > *:not(.titlebar-buttonbox-container) {
transition: opacity var(--uc-autohide-toolbar-speed) var(--animation-easing-function)
var(--uc-autohide-toolbar-delay) !important;
@@ -10289,13 +10780,13 @@
#navigator-toolbox:is(:hover, :focus-within) > #titlebar:not([customizing]) {
transition-delay: 0s !important;
}
- @supports not -moz-bool-pref("userChrome.tabbar.on_bottom") {
+ @media not -moz-pref("userChrome.tabbar.on_bottom") {
#navigator-toolbox:is(:hover, :focus-within) #TabsToolbar:not([customizing]),
#navigator-toolbox:is(:hover, :focus-within) #TabsToolbar:not([customizing]) .titlebar-buttonbox-container {
transition-delay: 0s !important;
}
}
- @supports -moz-bool-pref("userChrome.tabbar.on_bottom") {
+ @media -moz-pref("userChrome.tabbar.on_bottom") {
#navigator-toolbox:is(:hover, :focus-within)
#TabsToolbar:not([customizing])
> *:not(.titlebar-buttonbox-container) {
@@ -10304,35 +10795,56 @@
}
}
}
- @supports -moz-bool-pref("userChrome.autohide.navbar") or -moz-bool-pref("userChrome.tabbar.one_liner") {
- @supports -moz-bool-pref("userChrome.autohide.navbar") {
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner") {
+ @media -moz-pref("userChrome.autohide.navbar") or -moz-pref("userChrome.tabbar.one_liner") {
+ @media -moz-pref("userChrome.autohide.navbar") {
+ @media not -moz-pref("userChrome.tabbar.one_liner") {
#nav-bar:not([customizing]) {
margin-bottom: var(--uc-navbar-hide-height);
+ }
+ #nav-bar:not([customizing]),
+ #nav-bar:not([customizing]) #urlbar {
opacity: 0;
will-change: margin-bottom, opacity;
}
#navigator-toolbox:is(:hover, :focus-within) #nav-bar:not([customizing]) {
margin-bottom: 0;
+ }
+ #navigator-toolbox:is(:hover, :focus-within) #nav-bar:not([customizing]),
+ #navigator-toolbox:is(:hover, :focus-within) #nav-bar:not([customizing]) #urlbar {
opacity: 1;
}
+ #navigator-toolbox:not(:hover, :focus-within) #nav-bar:not([customizing]) #urlbar {
+ pointer-events: none;
+ }
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner") {
- @supports -moz-bool-pref("userChrome.tabbar.one_liner.responsive") {
+ @media -moz-pref("userChrome.tabbar.one_liner") {
+ @media -moz-pref("userChrome.tabbar.one_liner.responsive") {
@media screen and (max-width: 1100px) {
#nav-bar:not([customizing]) {
margin-bottom: var(--uc-navbar-hide-height);
+ }
+ #nav-bar:not([customizing]),
+ #nav-bar:not([customizing]) #urlbar {
opacity: 0;
will-change: margin-bottom, opacity;
}
#navigator-toolbox:is(:hover, :focus-within) #nav-bar:not([customizing]) {
margin-bottom: 0;
+ }
+ #navigator-toolbox:is(:hover, :focus-within) #nav-bar:not([customizing]),
+ #navigator-toolbox:is(:hover, :focus-within) #nav-bar:not([customizing]) #urlbar {
opacity: 1;
}
+ #navigator-toolbox:not(:hover, :focus-within) #nav-bar:not([customizing]) #urlbar {
+ pointer-events: none;
+ }
}
}
}
}
+ #mainPopupSet:not(:hover) ~ #navigator-toolbox:not(:hover, :focus-within) #nav-bar:not([customizing]) {
+ -moz-window-dragging: no-drag;
+ }
@media (prefers-reduced-motion: no-preference) {
#nav-bar:not([customizing]) {
transition: margin-bottom var(--uc-autohide-toolbar-speed) var(--animation-easing-function)
@@ -10340,7 +10852,7 @@
opacity var(--uc-autohide-toolbar-speed) var(--animation-easing-function) var(--uc-autohide-toolbar-delay),
var(--ext-theme-background-transition) !important;
}
- @supports -moz-bool-pref("userChrome.autohide.fill_urlbar") {
+ @media -moz-pref("userChrome.autohide.fill_urlbar") {
#nav-bar:not([customizing]) {
transition: margin-inline var(--uc-autohide-toolbar-speed) var(--animation-easing-function)
var(--uc-autohide-toolbar-delay),
@@ -10350,20 +10862,25 @@
var(--ext-theme-background-transition) !important;
}
}
- #navigator-toolbox:is(:hover, :focus-within) #nav-bar:not([customizing]) {
+ #nav-bar:not([customizing]) #urlbar {
+ transition: opacity var(--uc-autohide-toolbar-speed) var(--animation-easing-function)
+ var(--uc-autohide-toolbar-delay) !important;
+ }
+ #navigator-toolbox:is(:hover, :focus-within) #nav-bar:not([customizing]),
+ #navigator-toolbox:is(:hover, :focus-within) #nav-bar:not([customizing]) #urlbar {
transition-delay: 0s !important;
}
}
}
}
-@supports -moz-bool-pref("userChrome.autohide.bookmarkbar") {
+@media -moz-pref("userChrome.autohide.bookmarkbar") {
#PersonalToolbar:not([customizing]) {
margin-bottom: var(--uc-bm-hide-height);
opacity: 0;
will-change: margin-bottom, opacity;
}
- @supports -moz-bool-pref("userChrome.autohide.toolbar_overlap") {
- @supports not -moz-bool-pref("userChrome.autohide.toolbar_overlap.allow_layout_shift") {
+ @media -moz-pref("userChrome.autohide.toolbar_overlap") {
+ @media not -moz-pref("userChrome.autohide.toolbar_overlap.allow_layout_shift") {
@supports not selector(:has(a)) {
#PersonalToolbar:not([customizing])[collapsed="true"] {
visibility: visible !important;
@@ -10388,7 +10905,7 @@
}
}
}
-@supports -moz-bool-pref("userChrome.autohide.infobar") {
+@media -moz-pref("userChrome.autohide.infobar") {
#tab-notification-deck:not([customizing]) > .notificationbox-stack {
--infobar-height: calc(
25px + (var(--infobar-button-vertical-margin, 4px) * 2) + var(--infobar-message-vertical-margin, 8px)
@@ -10406,7 +10923,7 @@
--infobar-message-margin: 0 4px var(--infobar-message-vertical-margin, 8px);
opacity: 1;
}
- @supports -moz-bool-pref("userChrome.autohide.toolbar_overlap") {
+ @media -moz-pref("userChrome.autohide.toolbar_overlap") {
#tab-notification-deck:not([customizing]) {
height: 0;
}
@@ -10426,7 +10943,7 @@
}
}
}
-@supports -moz-bool-pref("userChrome.autohide.sidebar") {
+@media -moz-pref("userChrome.autohide.sidebar") {
#sidebar-box {
min-width: var(--uc-sidebar-width) !important;
max-width: var(--uc-sidebar-width) !important;
@@ -10435,7 +10952,7 @@
min-width: var(--uc-sidebar-activate-width) !important;
max-width: var(--uc-sidebar-activate-width) !important;
}
- @supports -moz-bool-pref("userChrome.sidebar.overlap") {
+ @media -moz-pref("userChrome.sidebar.overlap") {
#sidebar-header,
#sidebar {
min-width: var(--uc-sidebar-width) !important;
@@ -10501,7 +11018,7 @@
}
}
}
- @supports not -moz-bool-pref("userChrome.sidebar.overlap") {
+ @media not -moz-pref("userChrome.sidebar.overlap") {
#sidebar-box {
--uc-sidebar-fullscreen-margin: calc(
var(--uc-sidebar-fullscreen-width) + var(--uc-sidebar-activate-width-reverse)
@@ -10514,18 +11031,18 @@
min-width: var(--uc-sidebar-activate-width) !important;
max-width: var(--uc-sidebar-activate-width) !important;
}
- :root[inFullscreen="true"] #sidebar-box:not([positionend="true"]) {
+ :root[inFullscreen="true"] #sidebar-box:not([positionend]) {
margin-inline-start: var(--uc-sidebar-fullscreen-margin) !important;
will-change: margin-inline-start;
}
- :root[inFullscreen="true"] #sidebar-box:not([positionend="true"]):is(:hover, :focus-within) {
+ :root[inFullscreen="true"] #sidebar-box:not([positionend]):is(:hover, :focus-within) {
margin-inline-start: 0 !important;
}
- :root[inFullscreen="true"] #sidebar-box[positionend="true"] {
+ :root[inFullscreen="true"] #sidebar-box[positionend] {
margin-inline-end: var(--uc-sidebar-fullscreen-margin) !important;
will-change: margin-inline-end;
}
- :root[inFullscreen="true"] #sidebar-box[positionend="true"]:is(:hover, :focus-within) {
+ :root[inFullscreen="true"] #sidebar-box[positionend]:is(:hover, :focus-within) {
margin-inline-end: 0 !important;
}
@media (prefers-reduced-motion: no-preference) {
@@ -10542,7 +11059,7 @@
transition: margin-inline-start var(--uc-autohide-fullscreen-sidebar-speed) var(--animation-easing-function)
var(--uc-autohide-sidebar-delay) !important;
}
- :root[inFullscreen="true"] #sidebar-box[positionend="true"] {
+ :root[inFullscreen="true"] #sidebar-box[positionend] {
transition-property: margin-inline-end !important;
}
:root[inFullscreen="true"] #sidebar-box:is(:hover, :focus-within),
@@ -10552,7 +11069,7 @@
}
}
}
-@supports -moz-bool-pref("userChrome.autohide.fill_urlbar") {
+@media -moz-pref("userChrome.autohide.fill_urlbar") {
#nav-bar:not(:hover, :focus-within, [urlbar-exceeds-toolbar-bounds="true"]) #urlbar-container {
order: -1;
-moz-box-ordinal-group: 0;
@@ -10561,14 +11078,14 @@
(2 * var(--urlbar-margin-inline) + var(--uc-window-drag-space-pre, 0px) + var(--uc-navbar-gap, 0px))
) !important;
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner") {
+ @media -moz-pref("userChrome.tabbar.one_liner") {
#nav-bar:is(:hover, :focus-within, [urlbar-exceeds-toolbar-bounds="true"]) {
--uc-tabbar-width: calc(100vw - var(--uc-navbar-width-origin));
}
}
@media (prefers-reduced-motion: no-preference) {
- @supports -moz-bool-pref("userChrome.tabbar.one_liner") {
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner.responsive") {
+ @media -moz-pref("userChrome.tabbar.one_liner") {
+ @media not -moz-pref("userChrome.tabbar.one_liner.responsive") {
#nav-bar {
transition: margin-inline var(--uc-autohide-toolbar-speed) var(--animation-easing-function)
var(--uc-autohide-toolbar-delay),
@@ -10578,7 +11095,7 @@
transition-delay: 0s !important;
}
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner.responsive") {
+ @media -moz-pref("userChrome.tabbar.one_liner.responsive") {
@media screen and (prefers-reduced-motion: no-preference) and (min-width: 1100px) {
#nav-bar {
transition: margin-inline var(--uc-autohide-toolbar-speed) var(--animation-easing-function)
@@ -10591,7 +11108,7 @@
}
}
}
- @supports not -moz-bool-pref("userChrome.tabbar.one_liner") {
+ @media not -moz-pref("userChrome.tabbar.one_liner") {
#urlbar-container {
transition: min-width var(--uc-autohide-toolbar-speed) var(--animation-easing-function)
var(--uc-autohide-toolbar-delay);
@@ -10600,8 +11117,8 @@
transition-delay: 0s !important;
}
}
- @supports -moz-bool-pref("userChrome.tabbar.one_liner") {
- @supports -moz-bool-pref("userChrome.tabbar.one_liner.responsive") {
+ @media -moz-pref("userChrome.tabbar.one_liner") {
+ @media -moz-pref("userChrome.tabbar.one_liner.responsive") {
@media screen and (prefers-reduced-motion: no-preference) and (max-width: 1100px) {
#urlbar-container {
transition: min-width var(--uc-autohide-toolbar-speed) var(--animation-easing-function)
@@ -10616,27 +11133,27 @@
}
}
/** Hidden ********************************************************************/
-@supports not -moz-bool-pref("userChrome.tabbar.one_liner") {
- @supports -moz-bool-pref("userChrome.hidden.tabbar") {
+@media not -moz-pref("userChrome.tabbar.one_liner") {
+ @media -moz-pref("userChrome.hidden.tabbar") {
#TabsToolbar {
display: none !important;
}
}
- @supports -moz-bool-pref("userChrome.hidden.navbar") {
+ @media -moz-pref("userChrome.hidden.navbar") {
#nav-bar {
visibility: collapse; /* display: none is not work */
}
}
}
-@supports -moz-bool-pref("userChrome.tabbar.one_liner") {
- @supports -moz-bool-pref("userChrome.tabbar.one_liner.responsive") {
+@media -moz-pref("userChrome.tabbar.one_liner") {
+ @media -moz-pref("userChrome.tabbar.one_liner.responsive") {
@media screen and (max-width: 1100px) {
- @supports -moz-bool-pref("userChrome.hidden.tabbar") {
+ @media -moz-pref("userChrome.hidden.tabbar") {
#TabsToolbar {
display: none !important;
}
}
- @supports -moz-bool-pref("userChrome.hidden.navbar") {
+ @media -moz-pref("userChrome.hidden.navbar") {
#nav-bar {
visibility: collapse; /* display: none is not work */
}
@@ -10644,36 +11161,36 @@
}
}
}
-@supports -moz-bool-pref("userChrome.hidden.tab_icon") {
- @supports not -moz-bool-pref("userChrome.hidden.tab_icon.always") {
+@media -moz-pref("userChrome.hidden.tab_icon") {
+ @media not -moz-pref("userChrome.hidden.tab_icon.always") {
.tabbrowser-tab:not([pinned="true"]) .tab-icon-image {
display: none;
}
}
- @supports -moz-bool-pref("userChrome.hidden.tab_icon.always") {
+ @media -moz-pref("userChrome.hidden.tab_icon.always") {
.tabbrowser-tab:not([pinned="true"]) .tab-icon-stack {
display: none;
}
}
}
-@supports -moz-bool-pref("userChrome.hidden.private_indicator") {
+@media -moz-pref("userChrome.hidden.private_indicator") {
.private-browsing-indicator,
#private-browsing-indicator-with-label {
display: none;
}
}
-@supports -moz-bool-pref("userChrome.hidden.titlebar_container") {
+@media -moz-pref("userChrome.hidden.titlebar_container") {
.titlebar-buttonbox-container {
display: none !important;
}
}
-@supports -moz-bool-pref("userChrome.hidden.sidebar_header") {
- @supports not -moz-bool-pref("userChrome.hidden.sidebar_header.vertical_tab_only") {
+@media -moz-pref("userChrome.hidden.sidebar_header") {
+ @media not -moz-pref("userChrome.hidden.sidebar_header.vertical_tab_only") {
#sidebar-header {
display: none !important;
}
}
- @supports -moz-bool-pref("userChrome.hidden.sidebar_header.vertical_tab_only") {
+ @media -moz-pref("userChrome.hidden.sidebar_header.vertical_tab_only") {
#sidebar-box:is(
[sidebarcommand="treestyletab_piro_sakura_ne_jp-sidebar-action"],
[sidebarcommand="tabcenter-reborn_ariasuni-sidebar-action"],
@@ -10684,8 +11201,8 @@
}
}
}
-@supports -moz-bool-pref("userChrome.hidden.urlbar_iconbox") {
- @supports not -moz-bool-pref("userChrome.hidden.urlbar_iconbox.label_only") {
+@media -moz-pref("userChrome.hidden.urlbar_iconbox") {
+ @media not -moz-pref("userChrome.hidden.urlbar_iconbox.label_only") {
#identity-box[pageproxystate="valid"].notSecureText #identity-icon-label,
#identity-box[pageproxystate="valid"].chromeUI #identity-icon-box,
#identity-box[pageproxystate="valid"].extensionPage #identity-icon-box {
@@ -10695,7 +11212,7 @@
padding-inline-end: 5px; /* Original: 8px */
}
}
- @supports -moz-bool-pref("userChrome.hidden.urlbar_iconbox.label_only") {
+ @media -moz-pref("userChrome.hidden.urlbar_iconbox.label_only") {
#identity-box[pageproxystate="valid"].notSecureText,
#identity-box[pageproxystate="valid"].chromeUI,
#identity-box[pageproxystate="valid"].extensionPage {
@@ -10705,7 +11222,7 @@
#identity-box[pageproxystate="valid"].extensionPage #identity-icon-box:not(:hover) {
background-color: transparent !important;
}
- @supports not -moz-bool-pref("userChrome.urlbar.iconbox_with_separator") {
+ @media not -moz-pref("userChrome.urlbar.iconbox_with_separator") {
#identity-box[pageproxystate="valid"].chromeUI #identity-icon-box,
#identity-box[pageproxystate="valid"].extensionPage #identity-icon-box {
padding-inline: var(--urlbar-icon-padding) !important;
@@ -10716,23 +11233,23 @@
}
}
}
-@supports -moz-bool-pref("userChrome.hidden.bookmarkbar_icon") {
+@media -moz-pref("userChrome.hidden.bookmarkbar_icon") {
#PlacesToolbarItems .bookmark-item > .toolbarbutton-icon {
display: none;
}
}
-@supports -moz-bool-pref("userChrome.hidden.bookmarkbar_label") {
+@media -moz-pref("userChrome.hidden.bookmarkbar_label") {
#PlacesToolbarItems .bookmark-item > .toolbarbutton-text {
visibility: collapse; /* display: none is not work */
}
}
-@supports -moz-bool-pref("userChrome.hidden.disabled_menu") {
+@media -moz-pref("userChrome.hidden.disabled_menu") {
menu[disabled="true"],
menuitem:not(#context-back, #context-forward)[disabled="true"] {
visibility: collapse !important;
}
- @supports -moz-bool-pref("widget.macos.native-context-menus") or -moz-bool-pref("widget.gtk.native-context-menus") {
+ @media -moz-pref("widget.macos.native-context-menus") or -moz-pref("widget.gtk.native-context-menus") {
#context-back[disabled="true"],
#context-forward[disabled="true"] {
visibility: collapse !important;
@@ -10740,7 +11257,7 @@
}
}
/** Icons *********************************************************************/
-@supports not -moz-bool-pref("userChrome.icon.disabled") {
+@media not -moz-pref("userChrome.icon.disabled") {
/** Icons - List **************************************************************/
:root {
--uc-folder-icon: url("chrome://global/skin/icons/folder.svg");
@@ -10757,12 +11274,12 @@
--uc-sidebar-icon: url("chrome://browser/skin/sidebars.svg");
--uc-sidebar-icon-reverse: url("chrome://browser/skin/sidebars-right.svg");
}
- @supports -moz-bool-pref("userChrome.icon.library") {
+ @media -moz-pref("userChrome.icon.library") {
:root {
--uc-folder-icon: url("../icons/folder.svg");
}
}
- @supports -moz-bool-pref("userChrome.tab.connect_to_window") {
+ @media -moz-pref("userChrome.tab.connect_to_window") {
:root {
--uc-tab-icon: url("../icons/tab-photon.svg");
--uc-tab-copy-icon: url("../icons/tab-copy-photon.svg");
@@ -10776,7 +11293,7 @@
}
}
@supports selector(:has(a)) {
- :root:has(#sidebar-box[positionend="true"]) {
+ :root:has(#sidebar-box[positionend]) {
--uc-sidebar-icon: url("chrome://browser/skin/sidebars-right.svg");
--uc-sidebar-icon-reverse: url("chrome://browser/skin/sidebars.svg");
}
@@ -10789,7 +11306,7 @@
list-style-image: var(--uc-tab-icon) !important;
}
/** Library - Icons Replace ***************************************************/
- @supports -moz-bool-pref("userChrome.icon.library") {
+ @media -moz-pref("userChrome.icon.library") {
/*= Standard Folder - More Visible ===========================================*/
/* on Toolbar and Menus */
:-moz-any(#PlacesToolbar, #BMB_bookmarksPopup, #bookmarksMenu)
@@ -10962,7 +11479,7 @@
}
}
/** Panel - Icons *************************************************************/
- @supports -moz-bool-pref("userChrome.icon.panel") {
+ @media -moz-pref("userChrome.icon.panel") {
/*= Padding ==================================================================*/
:root {
--arrowpanel-menuicon-padding: 8px;
@@ -10975,7 +11492,7 @@
.subviewbutton > .toolbarbutton-icon {
width: 16px;
}
- @supports not -moz-bool-pref("userChrome.icon.panel_full") {
+ @media not -moz-pref("userChrome.icon.panel_full") {
:root {
/* Global */
--arrowpanel-menuicon-paddingx2: calc(var(--arrowpanel-menuicon-padding) * 2);
@@ -11095,15 +11612,26 @@
background-size: 16px !important;
background-image: var(--avatar-image-url) !important;
}
+ #appMenu-profiles-button > image,
+ #appMenu-empty-profiles-button > image {
+ fill: transparent !important;
+ }
+ #appMenu-empty-profiles-button,
+ #PanelUI-fxa-menu-empty-profiles-button {
+ list-style-image: url("chrome://browser/content/profiles/assets/16_heart.svg");
+ }
+ #profiles-manage-profiles-button {
+ list-style-image: url("chrome://global/skin/icons/settings.svg");
+ }
#new-tab-button {
list-style-image: var(--uc-new-tab-icon) !important;
}
- @supports -moz-bool-pref("userChrome.icon.panel_full") or -moz-bool-pref("userChrome.icon.panel_photon") {
+ @media -moz-pref("userChrome.icon.panel_full") or -moz-pref("userChrome.icon.panel_photon") {
#appMenu-new-tab-button2 {
list-style-image: var(--uc-new-tab-icon);
}
}
- @supports -moz-bool-pref("userChrome.icon.panel_photon") {
+ @media -moz-pref("userChrome.icon.panel_photon") {
#appMenu-save-file-button2,
#appMenu-find-button2,
#appMenu-more-button2 {
@@ -11115,8 +11643,8 @@
padding-inline-start: var(--arrowpanel-menuimageblank-padding-horizontal) !important;
}
}
- @supports not -moz-bool-pref("userChrome.icon.panel_photon") {
- @supports not -moz-bool-pref("userChrome.icon.panel_full") {
+ @media not -moz-pref("userChrome.icon.panel_photon") {
+ @media not -moz-pref("userChrome.icon.panel_full") {
#appMenu-new-tab-button2,
#appMenu-passwords-button,
#appMenu-extensions-themes-button,
@@ -11149,7 +11677,7 @@
#appMenu-downloads-button {
list-style-image: url("chrome://browser/skin/downloads/downloads.svg");
}
- @supports -moz-bool-pref("userChrome.icon.panel_full") or -moz-bool-pref("userChrome.icon.panel_photon") {
+ @media -moz-pref("userChrome.icon.panel_full") or -moz-pref("userChrome.icon.panel_photon") {
#appMenu-passwords-button {
list-style-image: url("chrome://browser/skin/login.svg");
}
@@ -11160,7 +11688,7 @@
#appMenu-print-button2 {
list-style-image: url("chrome://global/skin/icons/print.svg");
}
- @supports -moz-bool-pref("userChrome.icon.panel_full") {
+ @media -moz-pref("userChrome.icon.panel_full") {
#appMenu-save-file-button2 {
list-style-image: url("../icons/toolbarButton-download.svg");
}
@@ -11211,12 +11739,12 @@
#appMenu-settings-button {
list-style-image: url("chrome://global/skin/icons/settings.svg");
}
- @supports -moz-bool-pref("userChrome.icon.panel_full") {
+ @media -moz-pref("userChrome.icon.panel_full") {
#appMenu-more-button2 {
list-style-image: url("../icons/ion.svg");
}
}
- @supports -moz-bool-pref("userChrome.icon.panel_full") or -moz-bool-pref("userChrome.icon.panel_photon") {
+ @media -moz-pref("userChrome.icon.panel_full") or -moz-pref("userChrome.icon.panel_photon") {
#appMenu-help-button2 {
list-style-image: url("chrome://global/skin/icons/help.svg");
}
@@ -11242,13 +11770,13 @@
background-image: var(--avatar-image-url);
margin-inline-end: var(--arrowpanel-menuicon-padding);
}
- @supports -moz-bool-pref("userChrome.icon.account_image_to_right") {
+ @media -moz-pref("userChrome.icon.account_image_to_right") {
#fxa-manage-account-button::before {
order: 2 !important;
-moz-box-ordinal-group: 2 !important;
}
}
- @supports -moz-bool-pref("userChrome.icon.account_label_to_right") {
+ @media -moz-pref("userChrome.icon.account_label_to_right") {
#fxa-menu-header-title,
#fxa-menu-header-description {
text-align: right;
@@ -11315,7 +11843,8 @@
#PanelUI-signedin-panel[hidden="true"] + #PanelUI-fxa-cta-menu #PanelUI-products-separator {
display: none;
}
- #PanelUI-fxa-menu > :first-child {
+ #PanelUI-fxa-menu > :first-child,
+ #fxa-manage-account-button {
order: -1;
-moz-box-ordinal-group: 0;
}
@@ -11330,6 +11859,21 @@
.sendToDevice-device.subviewbutton.sync-menuitem.sendtab-target:not([clientType]) {
list-style-image: url("chrome://global/skin/icons/settings.svg");
}
+ .sendToDevice-device[clientType="phone"] {
+ list-style-image: url("../icons/device-phone.svg") !important;
+ }
+ .sendToDevice-device[clientType="tablet"] {
+ list-style-image: url("../icons/device-tablet.svg") !important;
+ }
+ .sendToDevice-device[clientType="desktop"] {
+ list-style-image: url("../icons/device-desktop.svg") !important;
+ }
+ .sendToDevice-device[clientType="tv"] {
+ list-style-image: url("../icons/device-tv.svg") !important;
+ }
+ .sendToDevice-device[clientType="vr"] {
+ list-style-image: url("../icons/device-vr.svg") !important;
+ }
/*= Panel - Bookmark =========================================================*/
#panelMenuBookmarkThisPage {
list-style-image: url("chrome://browser/skin/bookmark-hollow.svg");
@@ -11484,6 +12028,9 @@
#allTabsMenu-searchTabs {
list-style-image: url("chrome://global/skin/icons/search-glass.svg");
}
+ #allTabsMenu-syncedTabs {
+ list-style-image: url("../icons/synced-tabs.svg");
+ }
#allTabsMenu-closeDuplicateTabs {
list-style-image: var(--uc-tab-close-duplicate-icon);
}
@@ -11513,7 +12060,7 @@
#BMB_bookmarksToolbar {
--menuitem-image: url("../icons/bookmarks-toolbar-alt.svg");
}
- @supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled") {
+ @media -moz-pref("layout.css.osx-font-smoothing.enabled") {
#BMB_bookmarksShowAllTop {
list-style-image: url("chrome://browser/skin/bookmark-star-on-tray.svg") !important;
}
@@ -11536,6 +12083,9 @@
fill: currentColor;
margin-inline-end: 1em;
}
+ #protections-popup-report-broken-site-button {
+ list-style-image: url("chrome://global/skin/icons/lightbulb.svg");
+ }
#protections-popup-settings-button > .protections-popup-settings-icon,
#protections-popup-multiView .panel-subview-footer-button {
list-style-image: url("chrome://global/skin/icons/settings.svg");
@@ -11580,6 +12130,12 @@
#sidebar-switcher-tabs:is(menuitem) {
--menuitem-image: url("../icons/synced-tabs.svg");
}
+ #sidebar-switcher-genai-chat.subviewbutton {
+ list-style-image: url("chrome://mozapps/skin/extensions/category-discover.svg");
+ }
+ #sidebar-switcher-genai-chat:is(menuitem) {
+ --menuitem-image: url("chrome://mozapps/skin/extensions/category-discover.svg");
+ }
#sidebar-reverse-position.subviewbutton {
list-style-image: var(--uc-sidebar-icon-reverse);
}
@@ -11592,6 +12148,44 @@
#sidebarMenu-popup > *:is(menuitem)[data-l10n-id="sidebar-menu-close"] {
--menuitem-image: url("chrome://global/skin/icons/close.svg");
}
+ /*= sidebar-context-menu =====================================================*/
+ #sidebar-context-menu-manage-extension {
+ --menuitem-image: url("chrome://global/skin/icons/settings.svg");
+ }
+ #sidebar-context-menu-remove-extension {
+ --menuitem-image: url("chrome://global/skin/icons/delete.svg");
+ }
+ #sidebar-context-menu-report-extension {
+ --menuitem-image: url("../icons/send.svg");
+ }
+ #sidebar-context-menu-unpin-extension {
+ --menuitem-image: url("../icons/unpin-tab.svg");
+ }
+ #sidebar-context-menu-hide-sidebar {
+ --menuitem-image: url("../icons/eye-hide.svg");
+ }
+ #sidebar-context-menu-customize-sidebar {
+ --menuitem-image: url("chrome://browser/skin/customize.svg");
+ }
+ #sidebar-context-menu-enable-vertical-tabs {
+ --menuitem-image: url("chrome://browser/skin/sidebar-collapsed.svg");
+ }
+ /*= chrome://browser/content/syncedtabs/sidebar.xhtml ========================*/
+ .item.client[clientType="phone"] > .item-title-container > .item-icon-container {
+ background-image: url("../icons/device-phone.svg") !important;
+ }
+ .item.client[clientType="tablet"] > .item-title-container > .item-icon-container {
+ background-image: url("../icons/device-tablet.svg") !important;
+ }
+ .item.client[clientType="desktop"] > .item-title-container > .item-icon-container {
+ background-image: url("../icons/device-desktop.svg") !important;
+ }
+ .item.client[clientType="tv"] > .item-title-container > .item-icon-container {
+ background-image: url("../icons/device-tv.svg") !important;
+ }
+ .item.client[clientType="vr"] > .item-title-container > .item-icon-container {
+ background-image: url("../icons/device-vr.svg") !important;
+ }
/*= unified-extensions-view ===================================================*/
#unified-extensions-manage-extensions {
list-style-image: url("chrome://mozapps/skin/extensions/extension.svg");
@@ -11609,11 +12203,13 @@
}
}
/** Menu - Icons Layout *******************************************************/
- @supports -moz-bool-pref("userChrome.icon.menu") {
+ @media -moz-pref("userChrome.icon.menu") {
menupopup menuitem:not([type="checkbox"][checked="true"], [type="radio"]),
menupopup menu:not([type="checkbox"][checked="true"], [type="radio"]),
menupopup menuitem:not([type="checkbox"][checked="true"], [type="radio"]) > .menu-iconic-left > .menu-iconic-icon,
+ menupopup menuitem:not([type="checkbox"][checked="true"], [type="radio"]) > .menu-icon,
menupopup menu:not([type="checkbox"][checked="true"], [type="radio"]) > .menu-iconic-left > .menu-iconic-icon,
+ menupopup menu:not([type="checkbox"][checked="true"], [type="radio"]) > .menu-icon,
#main-menubar > menu {
-moz-appearance: none !important; /* Linux: menulist */
}
@@ -11632,10 +12228,12 @@
#goPopup,
#historyMenuPopup,
#bookmarksMenuPopup,
+ #menu_ProfilesPopup,
#menu_ToolsPopup,
#windowPopup,
#menu_HelpPopup,
- #usercssloader-menupopup
+ #usercssloader-menupopup,
+ #sidebar-context-menu
)
menuitem:not(.menuitem-iconic, .bookmark-item, .in-menulist, [checked="true"]),
menupopup:is(
@@ -11645,10 +12243,12 @@
#goPopup,
#historyMenuPopup,
#bookmarksMenuPopup,
+ #menu_ProfilesPopup,
#menu_ToolsPopup,
#windowPopup,
#menu_HelpPopup,
- #usercssloader-menupopup
+ #usercssloader-menupopup,
+ #sidebar-context-menu
)
menu:not(.menu-iconic, .in-menulist, [checked="true"]),
menupopup:is(#organizeButtonPopup, #maintenanceButtonPopup)
@@ -11659,7 +12259,8 @@
#context-sendpagetodevice-popup,
#context-sendlinktodevice-popup,
#frame > menupopup,
- #spell-dictionaries-menu
+ #spell-dictionaries-menu,
+ #context-ask-chat > menupopup
)
> menuitem:not([type="checkbox"][checked="true"], [type="radio"]),
.openintabs-menuitem,
@@ -11681,7 +12282,7 @@
fill: currentColor !important;
}
/* For native context menus */
- @supports -moz-bool-pref("widget.macos.native-context-menus") or -moz-bool-pref("widget.gtk.native-context-menus") {
+ @media -moz-pref("widget.macos.native-context-menus") or -moz-pref("widget.gtk.native-context-menus") {
:not(menu, #ContentSelectDropdown)
> menupopup:not(.in-menulist)
> menuitem:not(.menuitem-iconic, .bookmark-item, .in-menulist, [checked="true"]),
@@ -11717,10 +12318,12 @@
#goPopup,
#historyMenuPopup,
#bookmarksMenuPopup,
+ #menu_ProfilesPopup,
#menu_ToolsPopup,
#windowPopup,
#menu_HelpPopup,
- #usercssloader-menupopup
+ #usercssloader-menupopup,
+ #sidebar-context-menu
)
menuitem:not(.menuitem-iconic, .bookmark-item, .in-menulist, [checked="true"]),
menupopup:is(
@@ -11730,10 +12333,12 @@
#goPopup,
#historyMenuPopup,
#bookmarksMenuPopup,
+ #menu_ProfilesPopup,
#menu_ToolsPopup,
#windowPopup,
#menu_HelpPopup,
- #usercssloader-menupopup
+ #usercssloader-menupopup,
+ #sidebar-context-menu
)
menu:not(.menu-iconic, .in-menulist, [checked="true"]),
menupopup:is(#organizeButtonPopup, #maintenanceButtonPopup)
@@ -11744,7 +12349,8 @@
#context-sendpagetodevice-popup,
#context-sendlinktodevice-popup,
#frame > menupopup,
- #spell-dictionaries-menu
+ #spell-dictionaries-menu,
+ #context-ask-chat > menupopup
)
> menuitem:not([type="checkbox"][checked="true"], [type="radio"]),
.openintabs-menuitem,
@@ -11766,7 +12372,7 @@
margin-inline-start: var(--arrowpanel-menuitem-margin-inline) !important;
}
/* Menubar */
- @supports -moz-bool-pref("userChrome.icon.global_menubar") {
+ @media -moz-pref("userChrome.icon.global_menubar") {
#main-menubar > menu {
background-position: var(--uc-menu-background-position) var(--context-menu-background-padding-default) center !important;
padding-inline-start: calc(16px + var(--context-menu-background-padding-default)) !important;
@@ -11780,7 +12386,18 @@
#main-menubar > menu menupopup {
--menuitem-image: none; /* Prevent Image Inheritance */
}
- @supports not -moz-bool-pref("userChrome.padding.global_menubar") {
+ @media (-moz-platform: windows) {
+ #main-menubar > menu > :is(.menubar-text, .menu-text) {
+ transform: translateY(-1px) !important; /* Fix menu top padding position */
+ padding-inline-start: 0.3em !important;
+ }
+ }
+ @media (-moz-gtk-csd-available) {
+ #main-menubar > menu > :is(.menubar-text, .menu-text) {
+ padding-inline-start: 3px;
+ }
+ }
+ @media not -moz-pref("userChrome.padding.global_menubar") {
#main-menubar > menu {
padding-block: 2px !important;
}
@@ -11811,10 +12428,12 @@
#goPopup,
#historyMenuPopup,
#bookmarksMenuPopup,
+ #menu_ProfilesPopup,
#menu_ToolsPopup,
#windowPopup,
#menu_HelpPopup,
- #usercssloader-menupopup
+ #usercssloader-menupopup,
+ #sidebar-context-menu
)
menuitem:not(.menuitem-iconic, .bookmark-item, .in-menulist, [checked="true"]),
menupopup:is(
@@ -11824,10 +12443,12 @@
#goPopup,
#historyMenuPopup,
#bookmarksMenuPopup,
+ #menu_ProfilesPopup,
#menu_ToolsPopup,
#windowPopup,
#menu_HelpPopup,
- #usercssloader-menupopup
+ #usercssloader-menupopup,
+ #sidebar-context-menu
)
menu:not(.menu-iconic, .in-menulist, [checked="true"]),
menupopup:is(#organizeButtonPopup, #maintenanceButtonPopup)
@@ -11838,7 +12459,8 @@
#context-sendpagetodevice-popup,
#context-sendlinktodevice-popup,
#frame > menupopup,
- #spell-dictionaries-menu
+ #spell-dictionaries-menu,
+ #context-ask-chat > menupopup
)
> menuitem:not([type="checkbox"][checked="true"], [type="radio"]),
.openintabs-menuitem,
@@ -11852,9 +12474,12 @@
.menupopup-arrowscrollbox {
padding-inline: 0 !important; /* Original: padding: var(--panel-padding); --panel-padding-block: 4px; */
}
+ menupopup[needsgutter] > :is(menu, menuitem) > .menu-icon {
+ display: none !important;
+ }
}
@media (-moz-platform: windows), (-moz-gtk-csd-available) {
- @supports -moz-bool-pref("userChrome.theme.non_native_menu") {
+ @media -moz-pref("userChrome.theme.non_native_menu") {
@media (-moz-platform: windows) and (-moz-gtk-csd-available),
(-moz-gtk-csd-available) and (-moz-gtk-csd-available) {
:root {
@@ -11879,10 +12504,12 @@
#goPopup,
#historyMenuPopup,
#bookmarksMenuPopup,
+ #menu_ProfilesPopup,
#menu_ToolsPopup,
#windowPopup,
#menu_HelpPopup,
- #usercssloader-menupopup
+ #usercssloader-menupopup,
+ #sidebar-context-menu
)
menuitem:not(.menuitem-iconic, .bookmark-item, .in-menulist, [checked="true"]),
menupopup:is(
@@ -11892,10 +12519,12 @@
#goPopup,
#historyMenuPopup,
#bookmarksMenuPopup,
+ #menu_ProfilesPopup,
#menu_ToolsPopup,
#windowPopup,
#menu_HelpPopup,
- #usercssloader-menupopup
+ #usercssloader-menupopup,
+ #sidebar-context-menu
)
menu:not(.menu-iconic, .in-menulist, [checked="true"]),
menupopup:is(#organizeButtonPopup, #maintenanceButtonPopup)
@@ -11907,7 +12536,8 @@
#context-sendpagetodevice-popup,
#context-sendlinktodevice-popup,
#frame > menupopup,
- #spell-dictionaries-menu
+ #spell-dictionaries-menu,
+ #context-ask-chat > menupopup
)
> menuitem:not([type="checkbox"][checked="true"], [type="radio"]),
.openintabs-menuitem,
@@ -11921,6 +12551,9 @@
.menupopup-arrowscrollbox {
padding-inline: 0 !important; /* Original: padding: var(--panel-padding); --panel-padding-block: 4px; */
}
+ menupopup[needsgutter] > :is(menu, menuitem) > .menu-icon {
+ display: none !important;
+ }
}
}
}
@@ -11941,12 +12574,15 @@
--context-menu-background-padding-default: 6px;
--context-menu-text-padding: 21px;
}
- #main-menubar > menu > .menubar-text {
- padding-inline-start: 3px;
+ .menu-icon {
+ display: unset !important;
+ }
+ #main-menubar > menu > .menu-icon {
+ display: none !important;
}
}
/* Padding - Mac */
- @supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled") {
+ @media -moz-pref("layout.css.osx-font-smoothing.enabled") {
:root {
--context-menu-background-padding-default: 10px;
--context-menu-mac-padding: 21px;
@@ -11973,7 +12609,7 @@
padding-inline-start: calc(var(--context-menu-background-padding) + var(--context-menu-mac-padding)) !important;
}
/* Global Menu */
- @supports -moz-bool-pref("userChrome.icon.global_menu.mac") {
+ @media -moz-pref("userChrome.icon.global_menu.mac") {
menupopup:is(
#menu_FilePopup,
#menu_EditPopup,
@@ -11981,10 +12617,12 @@
#goPopup,
#historyMenuPopup,
#bookmarksMenuPopup,
+ #menu_ProfilesPopup,
#menu_ToolsPopup,
#windowPopup,
#menu_HelpPopup,
- #usercssloader-menupopup
+ #usercssloader-menupopup,
+ #sidebar-context-menu
)
menuitem:not(.menuitem-iconic, .bookmark-item),
menupopup:is(
@@ -11994,10 +12632,12 @@
#goPopup,
#historyMenuPopup,
#bookmarksMenuPopup,
+ #menu_ProfilesPopup,
#menu_ToolsPopup,
#windowPopup,
#menu_HelpPopup,
- #usercssloader-menupopup
+ #usercssloader-menupopup,
+ #sidebar-context-menu
)
menu:not(.menu-iconic) {
list-style-image: var(--menuitem-image, url("../icons/blank.svg")) !important;
@@ -12047,10 +12687,14 @@
/* Windows */
@media (-moz-platform: windows) {
/* Bookmark Popup - None icon menu */
- menupopup:is(#BMB_bookmarksPopup)[placespopup="true"] menuitem:not(.menuitem-iconic, [disabled="true"]),
- menupopup:is(#BMB_bookmarksPopup)[placespopup="true"] menu:not(.menu-iconic),
- #PersonalToolbar menupopup[placespopup="true"] menuitem:not(.menuitem-iconic, [disabled="true"]),
- #PersonalToolbar menupopup[placespopup="true"] menu:not(.menu-iconic) {
+ menupopup:is(#BMB_bookmarksPopup)[placespopup="true"]
+ menuitem:not(.menuitem-iconic, [disabled="true"]):not(:has(.menu-icon[aria-hidden="true"])),
+ menupopup:is(#BMB_bookmarksPopup)[placespopup="true"]
+ menu:not(.menu-iconic):not(:has(.menu-icon[aria-hidden="true"])),
+ #PersonalToolbar
+ menupopup[placespopup="true"]
+ menuitem:not(.menuitem-iconic, [disabled="true"]):not(:has(.menu-icon[aria-hidden="true"])),
+ #PersonalToolbar menupopup[placespopup="true"] menu:not(.menu-iconic):not(:has(.menu-icon[aria-hidden="true"])) {
margin-inline: var(--arrowpanel-menuitem-margin-inline) !important;
padding-inline-start: var(--bookmark-menu-icon-text-padding) !important;
background-position: var(--uc-menu-background-position) var(--bookmark-menu-icon-background-padding) center !important;
@@ -12069,54 +12713,84 @@
margin-inline-start: -1px !important;
}
/* Bookmark Popup - None icon menu */
- menupopup:is(#BMB_bookmarksPopup)[placespopup="true"] menuitem:not(.menuitem-iconic, [disabled="true"]),
- menupopup:is(#BMB_bookmarksPopup)[placespopup="true"] menu:not(.menu-iconic),
- #PersonalToolbar menupopup[placespopup="true"] menuitem:not(.menuitem-iconic, [disabled="true"]),
- #PersonalToolbar menupopup[placespopup="true"] menu:not(.menu-iconic) {
+ menupopup:is(#BMB_bookmarksPopup)[placespopup="true"]
+ menuitem:not(.menuitem-iconic, [disabled="true"]):not(:has(.menu-icon[aria-hidden="true"])),
+ menupopup:is(#BMB_bookmarksPopup)[placespopup="true"]
+ menu:not(.menu-iconic):not(:has(.menu-icon[aria-hidden="true"])),
+ #PersonalToolbar
+ menupopup[placespopup="true"]
+ menuitem:not(.menuitem-iconic, [disabled="true"]):not(:has(.menu-icon[aria-hidden="true"])),
+ #PersonalToolbar menupopup[placespopup="true"] menu:not(.menu-iconic):not(:has(.menu-icon[aria-hidden="true"])) {
padding-inline-start: calc(var(--context-menu-background-padding) + 2px) !important;
}
- @supports -moz-bool-pref("userChrome.theme.non_native_menu") {
- menupopup:is(#BMB_bookmarksPopup)[placespopup="true"] menuitem:not(.menuitem-iconic, [disabled="true"]),
- menupopup:is(#BMB_bookmarksPopup)[placespopup="true"] menu:not(.menu-iconic),
- #PersonalToolbar menupopup[placespopup="true"] menuitem:not(.menuitem-iconic, [disabled="true"]),
- #PersonalToolbar menupopup[placespopup="true"] menu:not(.menu-iconic) {
+ @media -moz-pref("userChrome.theme.non_native_menu") {
+ menupopup:is(#BMB_bookmarksPopup)[placespopup="true"]
+ menuitem:not(.menuitem-iconic, [disabled="true"]):not(:has(.menu-icon[aria-hidden="true"])),
+ menupopup:is(#BMB_bookmarksPopup)[placespopup="true"]
+ menu:not(.menu-iconic):not(:has(.menu-icon[aria-hidden="true"])),
+ #PersonalToolbar
+ menupopup[placespopup="true"]
+ menuitem:not(.menuitem-iconic, [disabled="true"]):not(:has(.menu-icon[aria-hidden="true"])),
+ #PersonalToolbar
+ menupopup[placespopup="true"]
+ menu:not(.menu-iconic):not(:has(.menu-icon[aria-hidden="true"])) {
margin-inline: var(--arrowpanel-menuitem-margin-inline) !important;
}
}
menupopup:is(#BMB_bookmarksPopup)[placespopup="true"]
- menuitem:not(.menuitem-iconic, [disabled="true"])
+ menuitem:not(.menuitem-iconic, [disabled="true"]):not(:has(.menu-icon[aria-hidden="true"]))
.menu-text,
- menupopup:is(#BMB_bookmarksPopup)[placespopup="true"] menu:not(.menu-iconic) .menu-text,
- #PersonalToolbar menupopup[placespopup="true"] menuitem:not(.menuitem-iconic, [disabled="true"]) .menu-text,
- #PersonalToolbar menupopup[placespopup="true"] menu:not(.menu-iconic) .menu-text {
+ menupopup:is(#BMB_bookmarksPopup)[placespopup="true"]
+ menu:not(.menu-iconic):not(:has(.menu-icon[aria-hidden="true"]))
+ .menu-text,
+ #PersonalToolbar
+ menupopup[placespopup="true"]
+ menuitem:not(.menuitem-iconic, [disabled="true"]):not(:has(.menu-icon[aria-hidden="true"]))
+ .menu-text,
+ #PersonalToolbar
+ menupopup[placespopup="true"]
+ menu:not(.menu-iconic):not(:has(.menu-icon[aria-hidden="true"]))
+ .menu-text {
margin-inline-start: var(--context-menu-text-padding) !important;
}
}
- @supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled") {
+ @media -moz-pref("layout.css.osx-font-smoothing.enabled") {
/* Bookmark Popup - As Arrow Panel */
#PersonalToolbar menupopup menuitem,
#PersonalToolbar menupopup menu {
padding-inline: var(--arrowpanel-menuitem-padding-inline) !important;
}
/* Bookmark Popup - None icon menu */
- menupopup:is(#BMB_bookmarksPopup)[placespopup="true"] menuitem:not(.menuitem-iconic, [disabled="true"]),
- menupopup:is(#BMB_bookmarksPopup)[placespopup="true"] menu:not(.menu-iconic) {
+ menupopup:is(#BMB_bookmarksPopup)[placespopup="true"]
+ menuitem:not(.menuitem-iconic, [disabled="true"]):not(:has(.menu-icon[aria-hidden="true"])),
+ menupopup:is(#BMB_bookmarksPopup)[placespopup="true"]
+ menu:not(.menu-iconic):not(:has(.menu-icon[aria-hidden="true"])) {
padding-inline-start: calc(var(--arrowpanel-menuitem-padding-inline) + 3px) !important;
}
- #PersonalToolbar menupopup[placespopup="true"] menuitem:not(.menuitem-iconic, [disabled="true"]),
- #PersonalToolbar menupopup[placespopup="true"] menu:not(.menu-iconic) {
+ #PersonalToolbar
+ menupopup[placespopup="true"]
+ menuitem:not(.menuitem-iconic, [disabled="true"]):not(:has(.menu-icon[aria-hidden="true"])),
+ #PersonalToolbar menupopup[placespopup="true"] menu:not(.menu-iconic):not(:has(.menu-icon[aria-hidden="true"])) {
padding-inline-start: calc(var(--arrowpanel-menuitem-padding-inline) + 1px) !important;
}
menupopup:is(#BMB_bookmarksPopup)[placespopup="true"]
- menuitem:not(.menuitem-iconic, [disabled="true"])
+ menuitem:not(.menuitem-iconic, [disabled="true"]):not(:has(.menu-icon[aria-hidden="true"]))
> .menu-text,
- menupopup:is(#BMB_bookmarksPopup)[placespopup="true"] menu:not(.menu-iconic) > .menu-text,
- #PersonalToolbar menupopup[placespopup="true"] menuitem:not(.menuitem-iconic, [disabled="true"]) > .menu-text,
- #PersonalToolbar menupopup[placespopup="true"] menu:not(.menu-iconic) > .menu-text {
+ menupopup:is(#BMB_bookmarksPopup)[placespopup="true"]
+ menu:not(.menu-iconic):not(:has(.menu-icon[aria-hidden="true"]))
+ > .menu-text,
+ #PersonalToolbar
+ menupopup[placespopup="true"]
+ menuitem:not(.menuitem-iconic, [disabled="true"]):not(:has(.menu-icon[aria-hidden="true"]))
+ > .menu-text,
+ #PersonalToolbar
+ menupopup[placespopup="true"]
+ menu:not(.menu-iconic):not(:has(.menu-icon[aria-hidden="true"]))
+ > .menu-text {
padding-inline-start: var(--context-menu-mac-padding) !important;
}
}
- @supports -moz-bool-pref("userChrome.icon.context_menu") {
+ @media -moz-pref("userChrome.icon.context_menu") {
/** Context Menu - Icons ******************************************************/ /*= tabContextMenu ===========================================================*/
#context_openANewTab,
#treestyletab_piro_sakura_ne_jp-menuitem-_context_newTab,
@@ -12140,8 +12814,13 @@
#sidebartabs_asamuzak_jp-menuitem-_reloadAllTabs {
--menuitem-image: url("../icons/reload.svg");
}
+ #context_playTab,
+ #context_playSelectedTabs {
+ --menuitem-image: url("../icons/play-fill.svg");
+ }
#context_toggleMuteTab,
#context_toggleMuteSelectedTabs,
+ #treestyletab_piro_sakura_ne_jp-menuitem-_context_toggleMuteTab[label="Mute Tab"],
#treestyletab_piro_sakura_ne_jp-menuitem-_context_toggleMuteTab-mute,
#tabcenter-reborn_ariasuni-menuitem-_contextMenuMuteTab,
#sidebartabs_asamuzak_jp-menuitem-_muteTab {
@@ -12150,6 +12829,7 @@
}
#context_toggleMuteTab[muted],
#context_toggleMuteSelectedTabs[muted],
+ #treestyletab_piro_sakura_ne_jp-menuitem-_context_toggleMuteTab[label="Unmute Tab"],
#treestyletab_piro_sakura_ne_jp-menuitem-_context_toggleMuteTab-unmute,
#tabcenter-reborn_ariasuni-menuitem-_contextMenuMuteTab[label="Unmute Tab"],
#sidebartabs_asamuzak_jp-menuitem-_muteTab[label="Unmute Tab"] {
@@ -12169,6 +12849,12 @@
#sidebartabs_asamuzak_jp-menuitem-_pinTab[label="Unpin Tab"] {
--menuitem-image: url("../icons/unpin-tab.svg");
}
+ #treestyletab_piro_sakura_ne_jp-menuitem-_context_topLevel_toggleSticky[label="Stick Tab to Edges"] {
+ --menuitem-image: url("../icons/align-distribute-top.svg");
+ }
+ #treestyletab_piro_sakura_ne_jp-menuitem-_context_topLevel_toggleSticky[label="Unstick Tab to Edges"] {
+ --menuitem-image: url("../icons/align-space-evenly-vertical.svg");
+ }
#context_duplicateTab,
#context_duplicateTabs,
#treestyletab_piro_sakura_ne_jp-menuitem-_context_duplicateTab,
@@ -12203,7 +12889,7 @@
/* At windows */
--menuitem-image: url("../icons/share.svg");
}
- @supports -moz-bool-pref("userChrome.icon.menu.full") {
+ @media -moz-pref("userChrome.icon.menu.full") {
#context_shareTabURL,
menuitem.share-tab-url-item {
--menuitem-image: url("../icons/share.svg");
@@ -12229,12 +12915,13 @@
#sidebartabs_asamuzak_jp-menuitem-_closeTab {
--menuitem-image: url("chrome://global/skin/icons/close.svg");
}
- @supports -moz-bool-pref("userChrome.icon.menu.full") {
+ @media -moz-pref("userChrome.icon.menu.full") {
+ #treestyletab_piro_sakura_ne_jp-menuitem-_context_closeDuplicatedTabs,
#context_closeDuplicateTabs {
--menuitem-image: var(--uc-tab-close-duplicate-icon);
}
}
- @supports -moz-bool-pref("userChrome.icon.menu.full") {
+ @media -moz-pref("userChrome.icon.menu.full") {
#context_closeTabOptions,
#treestyletab_piro_sakura_ne_jp-menuitem-_context_closeMultipleTabs,
#tabcenter-reborn_ariasuni-menuitem-_contextMenuCloseTabs,
@@ -12299,6 +12986,12 @@
#toolbar-context-undoCloseTab {
--menuitem-image: url("../icons/undo.svg");
}
+ #toolbar-context-customize-sidebar {
+ --menuitem-image: url("chrome://browser/skin/customize.svg");
+ }
+ #toolbar-context-toggle-vertical-tabs {
+ --menuitem-image: url("chrome://browser/skin/sidebar-collapsed.svg");
+ }
#toggle_toolbar-menubar {
/* checkbox */
--menuitem-image: url("../icons/calendar-agenda.svg");
@@ -12323,7 +13016,7 @@
display: none;
}
}
- @supports -moz-bool-pref("userChrome.icon.menu.full") {
+ @media -moz-pref("userChrome.icon.menu.full") {
#tm-duplicateinWin {
--menuitem-image: url("../icons/tab-desktop-multiple-bottom.svg");
}
@@ -12332,7 +13025,7 @@
}
}
#tm-renameTab {
- --menuitem-image: url("chrome://global/skin/icons/edit.svg");
+ --menuitem-image: url("../icons/edit-active.svg");
}
#tm-copyTabUrl {
--menuitem-image: url("../icons/link.svg");
@@ -12343,12 +13036,12 @@
#context_reloadTabOptions {
--menuitem-image: url("../icons/reload.svg");
}
- @supports -moz-bool-pref("userChrome.icon.menu.full") {
+ @media -moz-pref("userChrome.icon.menu.full") {
#context_reloadTabOptions {
--menuitem-image: url("../icons/filter-reload.svg");
}
}
- @supports not -moz-bool-pref("userChrome.icon.menu.full") {
+ @media not -moz-pref("userChrome.icon.menu.full") {
#context_reloadTabOptions + #context_reloadTab {
--menuitem-image: url("../icons/blank.svg");
}
@@ -12362,12 +13055,12 @@
#tm-protectTab {
--menuitem-image: url("../icons/shield-task.svg");
}
- @supports -moz-bool-pref("userChrome.icon.menu.full") {
+ @media -moz-pref("userChrome.icon.menu.full") {
#tm-lockTab {
--menuitem-image: url("../icons/lock-closed.svg");
}
}
- @supports -moz-bool-pref("userChrome.icon.menu.full") {
+ @media -moz-pref("userChrome.icon.menu.full") {
#context_bookmarkAllTabs {
--menuitem-image: url("../icons/bookmark-multiple.svg");
}
@@ -12543,7 +13236,7 @@
#context-pdfjs-undo {
--menuitem-image: url("../icons/undo.svg");
}
- @supports -moz-bool-pref("userChrome.icon.menu.full") {
+ @media -moz-pref("userChrome.icon.menu.full") {
#context-redo,
#context-pdfjs-redo {
--menuitem-image: url("../icons/redo.svg");
@@ -12591,6 +13284,9 @@
#context-translate-selection {
--menuitem-image: url("../icons/translations.svg");
}
+ #context-ask-chat {
+ --menuitem-image: url("../icons/chat-sparkle.svg");
+ }
#frame {
--menuitem-image: url("../icons/command-frames.svg");
}
@@ -12623,7 +13319,7 @@
#context-media-eme-learnmore {
/* iconic */
}
- @supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled") {
+ @media -moz-pref("layout.css.osx-font-smoothing.enabled") {
#context-back {
--menuitem-image: url("chrome://browser/skin/back.svg");
}
@@ -12640,6 +13336,35 @@
--menuitem-image: url("chrome://browser/skin/bookmark.svg");
}
}
+ /*= context-ask-chat =========================================================*/
+ #ask-chat-shortcuts .toolbarbutton-icon {
+ order: -1;
+ margin-inline-end: var(--arrowpanel-menuitem-margin-inline) !important;
+ }
+ #ask-chat-shortcuts .subviewbutton:nth-child(1) {
+ list-style-image: url("../icons/apps-list-detail.svg");
+ }
+ #ask-chat-shortcuts .subviewbutton:nth-child(2) {
+ list-style-image: url("../icons/code-text.svg");
+ }
+ #ask-chat-shortcuts .subviewbutton:nth-child(3) {
+ list-style-image: url("../icons/tetris-app.svg");
+ }
+ #ask-chat-shortcuts .subviewbutton:nth-child(4) {
+ list-style-image: url("../icons/arrow-up-exclamation.svg");
+ }
+ #context-ask-chat menuitem:nth-child(1) {
+ --menuitem-image: url("../icons/apps-list-detail.svg");
+ }
+ #context-ask-chat menuitem:nth-child(2) {
+ --menuitem-image: url("../icons/code-text.svg");
+ }
+ #context-ask-chat menuitem:nth-child(3) {
+ --menuitem-image: url("../icons/tetris-app.svg");
+ }
+ #context-ask-chat menuitem:nth-child(4) {
+ --menuitem-image: url("../icons/arrow-up-exclamation.svg");
+ }
/*= main-context-menu-frame ==================================================*/
#context-showonlythisframe {
--menuitem-image: url("../icons/eye-show.svg");
@@ -12778,7 +13503,7 @@
#placesContext_show_bookmark\:info,
#placesContext_show\:info,
#placesContext_show_folder\:info {
- --menuitem-image: url("chrome://global/skin/icons/edit.svg");
+ --menuitem-image: url("../icons/edit-active.svg");
}
#placesContext_deleteBookmark,
#placesContext_deleteFolder,
@@ -12842,7 +13567,7 @@
--menuitem-image: url("chrome://global/skin/icons/check.svg");
}
#blockedPopupOptions > menuitem[oncommand="gPopupBlockerObserver.editPopupSettings();"] {
- --menuitem-image: url("chrome://global/skin/icons/edit.svg");
+ --menuitem-image: url("../icons/edit-active.svg");
}
#blockedPopupDontShowMessage {
/* checkbox */
@@ -12948,7 +13673,7 @@
#urlbar-input-container .textbox-contextmenu menuitem[cmd="cmd_undo"] {
--menuitem-image: url("../icons/undo.svg");
}
- @supports -moz-bool-pref("userChrome.icon.menu.full") {
+ @media -moz-pref("userChrome.icon.menu.full") {
#urlbar-input-container .textbox-contextmenu menuitem[cmd="cmd_redo"] {
--menuitem-image: url("../icons/redo.svg");
}
@@ -12959,7 +13684,7 @@
#urlbar-input-container .textbox-contextmenu menuitem[cmd="cmd_copy"] {
--menuitem-image: url("../icons/edit-copy.svg");
}
- @supports -moz-bool-pref("userChrome.icon.menu.full") {
+ @media -moz-pref("userChrome.icon.menu.full") {
#strip-on-share {
--menuitem-image: url("../icons/link-no-tracking.svg");
}
@@ -12967,7 +13692,7 @@
#urlbar-input-container .textbox-contextmenu menuitem[cmd="cmd_paste"] {
--menuitem-image: url("../icons/edit-paste.svg");
}
- @supports -moz-bool-pref("userChrome.icon.menu.full") {
+ @media -moz-pref("userChrome.icon.menu.full") {
#paste-and-go {
--menuitem-image: url("../icons/edit-paste-go.svg");
}
@@ -12983,7 +13708,7 @@
.textbox-contextmenu > menuitem[data-l10n-id="text-action-undo"] {
--menuitem-image: url("../icons/undo.svg");
}
- @supports -moz-bool-pref("userChrome.icon.menu.full") {
+ @media -moz-pref("userChrome.icon.menu.full") {
.textbox-contextmenu > menuitem[data-l10n-id="text-action-redo"] {
--menuitem-image: url("../icons/redo.svg");
}
@@ -13004,7 +13729,7 @@
--menuitem-image: url("../icons/select-all-on.svg");
}
/* Only searchbar */
- @supports -moz-bool-pref("userChrome.icon.menu.full") {
+ @media -moz-pref("userChrome.icon.menu.full") {
menuitem.searchbar-paste-and-search {
--menuitem-image: url("../icons/edit-paste-search.svg");
}
@@ -13057,6 +13782,9 @@
--menuitem-image: url("../icons/send.svg");
}
/*= urlbarView-result-menu ===================================================*/
+ .urlbarView-result-menuitem[data-command="trendingblock"] {
+ --menuitem-image: url("../icons/eye-hide.svg");
+ }
.urlbarView-result-menuitem[data-command="dismiss"] {
--menuitem-image: url("chrome://global/skin/icons/delete.svg");
}
@@ -13078,13 +13806,13 @@
--menuitem-image: url("chrome://global/skin/icons/info.svg");
}
}
- @supports -moz-bool-pref("userChrome.icon.global_menubar") {
+ @media -moz-pref("userChrome.icon.global_menubar") {
/*= main-menubar =============================================================*/
#file-menu {
--menuitem-image: url("../icons/mail-inbox-all.svg");
}
#edit-menu {
- --menuitem-image: url("chrome://global/skin/icons/edit.svg");
+ --menuitem-image: url("../icons/edit-active.svg");
}
#view-menu {
--menuitem-image: url("../icons/content-view.svg");
@@ -13095,6 +13823,10 @@
#bookmarksMenu {
--menuitem-image: url("chrome://browser/skin/bookmark.svg");
}
+ #profiles-menu:is(menu) {
+ fill: transparent !important;
+ --menuitem-image: url("chrome://browser/content/profiles/assets/16_heart.svg");
+ }
#tools-menu {
--menuitem-image: url("../icons/toolbox.svg");
}
@@ -13104,8 +13836,20 @@
#helpMenu {
--menuitem-image: url("chrome://global/skin/icons/help.svg");
}
+ /*= Others ===================================================================*/
+ #alltabs-button {
+ list-style-image: url("chrome://global/skin/icons/arrow-down.svg") !important;
+ }
+ #alltabs-button > .toolbarbutton-badge-stack > .toolbarbutton-icon {
+ /* Original
+ width: 20px;
+ margin: -2px;
+ */
+ width: 16px !important;
+ margin: 0 !important;
+ }
}
- @supports -moz-bool-pref("userChrome.icon.global_menu") {
+ @media -moz-pref("userChrome.icon.global_menu") {
/** Global Menu ***************************************************************/
/*= menu_FilePopup ===========================================================*/
#menu_newNavigatorTab {
@@ -13126,7 +13870,7 @@
#menu_close {
--menuitem-image: var(--uc-tab-close-icon);
}
- @supports -moz-bool-pref("userChrome.icon.menu.full") {
+ @media -moz-pref("userChrome.icon.menu.full") {
#menu_closeWindow {
--menuitem-image: url("../icons/close-window.svg");
}
@@ -13161,7 +13905,7 @@
#menu_undo {
--menuitem-image: url("../icons/undo.svg");
}
- @supports -moz-bool-pref("userChrome.icon.menu.full") {
+ @media -moz-pref("userChrome.icon.menu.full") {
#menu_redo {
--menuitem-image: url("../icons/redo.svg");
}
@@ -13184,7 +13928,7 @@
#menu_find {
--menuitem-image: url("chrome://global/skin/icons/search-glass.svg");
}
- @supports -moz-bool-pref("userChrome.icon.menu.full") {
+ @media -moz-pref("userChrome.icon.menu.full") {
#menu_findAgain {
--menuitem-image: url("../icons/find-again.svg");
}
@@ -13302,6 +14046,10 @@
#menu_searchBookmarks {
--menuitem-image: url("chrome://global/skin/icons/search-glass.svg");
}
+ /*= menu_ProfilesPopup =======================================================*/
+ #menu_manageProfiles {
+ --menuitem-image: url("chrome://global/skin/icons/settings.svg");
+ }
/*= menu_ToolsPopup ==========================================================*/
#menu_openDownloads {
--menuitem-image: url("chrome://browser/skin/downloads/downloads.svg");
@@ -13398,7 +14146,7 @@
--menuitem-image: url("chrome://global/skin/icons/info.svg");
}
}
- @supports -moz-bool-pref("userChrome.icon.library") {
+ @media -moz-pref("userChrome.icon.library") {
/*= organizeButtonPopup ======================================================*/
#newbookmark {
--menuitem-image: url("chrome://browser/skin/bookmark.svg");
@@ -13412,7 +14160,7 @@
#orgUndo {
--menuitem-image: url("../icons/undo.svg");
}
- @supports -moz-bool-pref("userChrome.icon.menu.full") {
+ @media -moz-pref("userChrome.icon.menu.full") {
#orgRedo {
--menuitem-image: url("../icons/redo.svg");
}
@@ -13446,7 +14194,7 @@
#backupBookmarks {
--menuitem-image: url("../icons/datastore.svg");
}
- @supports -moz-bool-pref("userChrome.icon.menu.full") {
+ @media -moz-pref("userChrome.icon.menu.full") {
#fileRestoreMenu {
--menuitem-image: url("../icons/datarestore.svg");
}
@@ -13463,7 +14211,7 @@
}
}
/** Icons - 1.25px Stroke Width ***********************************************/
- @supports -moz-bool-pref("userChrome.icon.1-25px_stroke") {
+ @media -moz-pref("userChrome.icon.1-25px_stroke") {
#firefox-view-button {
list-style-image: url("../icons/firefox-view.svg") !important;
}
@@ -13482,15 +14230,19 @@
{
content: url("../icons/developer.svg") !important;
}
+ .tabbrowser-tab:is([image="chrome://browser/skin/controlcenter/dashboard.svg"]) .tab-icon-image
+ {
+ content: url("../icons/dashboard.svg") !important;
+ }
}
/** Icons for fork browsers ***************************************************/
/*= Waterfox =================================================================*/
- @supports -moz-bool-pref("userChrome.icon.panel") {
+ @media -moz-pref("userChrome.icon.panel") {
#appMenu-restart-button {
list-style-image: url("../icons/refresh-cw.svg") !important;
}
}
- @supports -moz-bool-pref("userChrome.icon.menu") {
+ @media -moz-pref("userChrome.icon.menu") {
#menu_FileRestartItem {
--menuitem-image: url("../icons/refresh-cw.svg");
}
@@ -13500,9 +14252,12 @@
menuitem.privatetab-icon {
--menuitem-image: url("../icons/private-favicon.svg");
}
+ #sidebar_waterfox_net-menuitem-_openAllBookmarksWithStructure {
+ --menuitem-image: url("../icons/organization-horizontal.svg");
+ }
}
/*= Tor Browser ==============================================================*/
- @supports -moz-bool-pref("userChrome.icon.panel") {
+ @media -moz-pref("userChrome.icon.panel") {
#appMenuNewIdentity {
list-style-image: url("chrome://browser/skin/new_identity.svg");
}
@@ -13513,7 +14268,7 @@
list-style-image: url("chrome://browser/skin/onion.svg");
}
}
- @supports -moz-bool-pref("userChrome.icon.menu") {
+ @media -moz-pref("userChrome.icon.menu") {
#menu_newIdentity {
--menuitem-image: url("chrome://browser/skin/new_identity.svg");
}
@@ -13531,7 +14286,7 @@
#ssbPageAction-image[open-ssb="true"] {
list-style-image: url("../icons/pwa-launch.svg");
}
- @supports -moz-bool-pref("userChrome.icon.panel") {
+ @media -moz-pref("userChrome.icon.panel") {
#rebootappmenu {
list-style-image: url("../icons/refresh-cw.svg");
}
@@ -13548,7 +14303,7 @@
list-style-image: url("../icons/pwa-launch.svg");
}
}
- @supports -moz-bool-pref("userChrome.icon.menu") {
+ @media -moz-pref("userChrome.icon.menu") {
#toggle_sharemode {
--menuitem-image: url("chrome://branding/content/about-logo-private.png");
}
@@ -13562,7 +14317,7 @@
--menuitem-image: url("chrome://global/skin/icons/reload.svg");
}
#usercssloader-submenupopup > menuitem[data-l10n-id="make-browsercss-file"] {
- --menuitem-image: url("chrome://global/skin/icons/edit.svg");
+ --menuitem-image: url("../icons/edit-active.svg");
}
#usercssloader-submenupopup > menuitem[data-l10n-id="open-css-folder"] {
--menuitem-image: var(--uc-folder-icon);
@@ -13602,7 +14357,7 @@
}
}
}
-/*@ NIGHTLY @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/
+/*@ DEPRECATED @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/
/** Default Theme - Contrast **************************************************/
@media (-moz-bool-pref: "userChrome.theme.built_in_contrast") {
/*= Lightmode - Color darker =================================================*/
@@ -13663,7 +14418,7 @@
padding-inline-end: var(--arrowpanel-menuitem-padding-inline) !important;
}
/*= First visible tab margin at maximized #332 ===============================*/
- :root[tabsintitlebar="true"][sizemode="maximized"] #TabsToolbar {
+ :root:is([tabsintitlebar="true"], [customtitlebar="true"])[sizemode="maximized"] #TabsToolbar {
margin-left: -1px;
}
/*= Disabled menu background color ===========================================*/
@@ -13683,6 +14438,7 @@
/*= Infobar Align #858 =======================================================*/
/*= Inactive transparent #882 ================================================*/
/*= Tabpreviw transparent #890 ===============================================*/
+ /*= Design token =============================================================*/
}
@media (-moz-bool-pref: "userChrome.compatibility.theme") and (-moz-bool-pref: "userChrome.tab.connect_to_window") {
/* TARGET: original, photon */
@@ -13753,11 +14509,26 @@
--lwt-tabs-border-color: rgba(0, 0, 0, 0.4);
}
}
+@media (-moz-bool-pref: "userChrome.compatibility.theme") {
+ #main-window {
+ background-color: WindowFrame !important;
+ }
+}
+@media (-moz-bool-pref: "userChrome.compatibility.theme") {
+ :root[lwtheme][lwtheme-image] #customization-container {
+ background-image: none !important;
+ }
+}
@media (-moz-bool-pref: "userChrome.compatibility.theme") {
#customization-container {
background-color: transparent !important; /* Original: color-mix(in srgb, -moz-dialog 85%, white) */
}
}
+@media (-moz-bool-pref: "userChrome.compatibility.theme") {
+ :root:not([lwtheme]) #customization-container {
+ background-color: var(--toolbar-non-lwt-bgcolor) !important;
+ }
+}
@media (-moz-bool-pref: "userChrome.compatibility.theme") {
html|input.findbar-textbox {
border: 1px solid var(--input-border-color, var(--toolbar-field-border-color, ThreeDShadow)) !important; /* Original: 1px solid var(--input-border-color, var(--toolbar-field-border-color)) */
@@ -13803,14 +14574,18 @@
}
}
@media (-moz-bool-pref: "userChrome.compatibility.theme") {
- :root[tabsintitlebar] #titlebar:-moz-window-inactive {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar:-moz-window-inactive,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar:-moz-window-inactive,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar:-moz-window-inactive {
opacity: 1 !important;
color: color-mix(in srgb, currentColor calc(var(--inactive-titlebar-opacity, 0.75) * 100%), transparent) !important;
--inactive-toolbarbutton-icon-fill-opacity: calc(
var(--toolbarbutton-icon-fill-opacity, 1) * var(--inactive-titlebar-opacity, 0.75)
);
}
- :root[tabsintitlebar] #titlebar:-moz-window-inactive .toolbarbutton-icon {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar:-moz-window-inactive .toolbarbutton-icon,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar:-moz-window-inactive .toolbarbutton-icon,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar:-moz-window-inactive .toolbarbutton-icon {
fill-opacity: var(--inactive-toolbarbutton-icon-fill-opacity, 1);
}
}
@@ -13824,6 +14599,19 @@
) !important; /* Original: var(--tab-selected-textcolor, var(--toolbar-color)) */
}
}
+@media (-moz-bool-pref: "userChrome.compatibility.theme") {
+ :root,
+ :host {
+ --button-color: var(--button-text-color);
+ --button-bgcolor: var(--button-background-color);
+ --button-hover-bgcolor: var(--button-background-color-hover);
+ --button-active-bgcolor: var(--button-background-color-active);
+ --button-primary-color: var(--button-text-color-primary);
+ --button-primary-bgcolor: var(--button-background-color-primary);
+ --button-primary-hover-bgcolor: var(--button-background-color-primary-hover);
+ --button-primary-active-bgcolor: var(--button-background-color-primary-active);
+ }
+}
/*= OS - Compatibility =======================================================*/
@media (-moz-bool-pref: "userChrome.compatibility.os") {
/*= Windows 10 - Top border of accent color at ESR #358 ======================*/
@@ -13833,22 +14621,23 @@
/*= Linux - Light System Default Theme's Selected Tab ========================*/
/*= Titlebar Container Size at maximized #384 ================================*/
/*= Windows - Classic Theme #734 =============================================*/
+ /*= MacOS Fullscreen clipping #1045 ==========================================*/
}
@media (-moz-bool-pref: "userChrome.compatibility.os") and (-moz-platform: windows) {
- :root[sizemode="normal"][tabsintitlebar] #navigator-toolbox {
+ :root[sizemode="normal"]:is([tabsintitlebar], [customtitlebar]) #navigator-toolbox {
border-top: 0.5px solid rgb(47, 47, 47) !important;
}
- :root[sizemode="normal"][tabsintitlebar]:-moz-window-inactive #navigator-toolbox {
+ :root[sizemode="normal"]:is([tabsintitlebar], [customtitlebar]):-moz-window-inactive #navigator-toolbox {
border-top-color: rgb(57, 57, 57) !important;
}
}
@media (-moz-bool-pref: "userChrome.compatibility.os") and (-moz-platform: windows) and (-moz-windows-accent-color-in-titlebar) {
- :root[sizemode="normal"][tabsintitlebar] #navigator-toolbox {
+ :root[sizemode="normal"]:is([tabsintitlebar], [customtitlebar]) #navigator-toolbox {
border-top-color: ActiveBorder !important;
}
}
@media (-moz-bool-pref: "userChrome.compatibility.os") and (-moz-platform: windows) and (-moz-windows-accent-color-in-titlebar) and (-moz-bool-pref: "userChrome.compatibility.accent_color") {
- :root[sizemode="normal"][tabsintitlebar] #navigator-toolbox {
+ :root[sizemode="normal"]:is([tabsintitlebar], [customtitlebar]) #navigator-toolbox {
border-top-color: -moz-accent-color !important;
}
}
@@ -13859,28 +14648,6 @@
color: inherit !important; /* Original: -moz-menubarhovertext */
background-color: color-mix(in srgb, currentColor 20%, transparent) !important; /* Original: -moz-menuhover */
}
- /*= Linux - Titlebar button at lwtheme =====================================*/
-}
-@media (-moz-bool-pref: "userChrome.compatibility.os") and (-moz-gtk-csd-available) and (not (-moz-bool-pref: "userChrome.compatibility.os.linux_non_native_titlebar_button")) {
- :root:is(:-moz-lwtheme, [lwtheme]) .titlebar-button {
- appearance: none !important;
- }
- :root:is(:-moz-lwtheme, [lwtheme]) .titlebar-button > .toolbarbutton-icon {
- appearance: auto !important;
- width: unset !important;
- height: unset !important;
- }
- :root:is(:-moz-lwtheme, [lwtheme]) .titlebar-min,
- :root:is(:-moz-lwtheme, [lwtheme]) .titlebar-max,
- :root:is(:-moz-lwtheme, [lwtheme]) .titlebar-restore,
- :root:is(:-moz-lwtheme, [lwtheme]) .titlebar-close {
- list-style-image: none !important;
- }
- :root:is(:-moz-lwtheme, [lwtheme]) .titlebar-button,
- :root:is(:-moz-lwtheme, [lwtheme]) .titlebar-button:hover:active {
- background-color: unset !important;
- color: unset !important;
- }
}
@media (-moz-bool-pref: "userChrome.compatibility.os") and (-moz-gtk-csd-available) and (prefers-color-scheme: light) {
/* Because of
@@ -13906,17 +14673,22 @@
}
}
@media (-moz-bool-pref: "userChrome.compatibility.os") and (-moz-platform: windows) and (not (-moz-bool-pref: "userChrome.compatibility.os.windows_maximized")) {
- :root[tabsintitlebar] #titlebar {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar {
/* -moz-default-appearance: -moz-window-titlebar */
appearance: none !important;
}
}
@media (-moz-bool-pref: "userChrome.compatibility.os") and (-moz-platform: windows) and (-moz-bool-pref: "userChrome.compatibility.os.windows_maximized") {
- :root[tabsintitlebar][sizemode="maximized"] #titlebar {
+ :root:is([tabsintitlebar], [customtitlebar])[sizemode="maximized"] #titlebar {
appearance: none !important;
padding-top: 8px;
}
}
+@media (-moz-bool-pref: "userChrome.compatibility.os") {
+ :root[sizemode="fullscreen"][macOSNativeFullscreen]:not([inDOMFullscreen="true"]) #TabsToolbar {
+ min-height: var(--tab-min-height, fit-content) !important;
+ }
+}
/*= Others - Compatibility ===================================================*/
@media (-moz-bool-pref: "userChrome.compatibility.panel_cutoff") {
#appMenu-popup panelview {
@@ -13938,14 +14710,16 @@
@media (-moz-bool-pref: "userChrome.theme.system_default") and (-moz-windows-accent-color-in-titlebar),
(-moz-bool-pref: "userChrome.theme.system_default") and (-moz-gtk-csd-available) {
/* URL Bar */
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme)),
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) {
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme)),
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) {
--focus-outline-color: AccentColor !important;
}
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
#urlbar[open]
> #urlbar-background,
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) #urlbar[open] > #urlbar-background {
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ #urlbar[open]
+ > #urlbar-background {
border-color: color-mix(
in srgb,
AccentColor 50%,
@@ -13955,14 +14729,16 @@
}
@media (-moz-bool-pref: "userChrome.theme.system_default") and (-moz-windows-accent-color-in-titlebar) and (-moz-bool-pref: "userChrome.compatibility.accent_color"),
(-moz-bool-pref: "userChrome.theme.system_default") and (-moz-gtk-csd-available) and (-moz-bool-pref: "userChrome.compatibility.accent_color") {
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme)),
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) {
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme)),
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) {
--focus-outline-color: -moz-accent-color !important;
}
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
#urlbar[open]
> #urlbar-background,
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) #urlbar[open] > #urlbar-background {
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ #urlbar[open]
+ > #urlbar-background {
border-color: color-mix(
in srgb,
-moz-accent-color 50%,
@@ -14221,8 +14997,8 @@
}
}
@media (-moz-bool-pref: "userChrome.theme.system_default") and (-moz-platform: windows) and (-moz-bool-pref: "userChrome.theme.system_default") and (-moz-windows-accent-color-in-titlebar) {
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme)),
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) {
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme)),
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) {
--toolbarseparator-color: color-mix(in srgb, currentColor 20%, transparent) !important; /* As default */
}
}
@@ -14259,7 +15035,11 @@
}
@media (-moz-bool-pref: "userChrome.theme.system_default") and (-moz-platform: windows) {
:root:is(:not([lwtheme]), :not(:-moz-lwtheme)) #titlebar,
- :root[lwt-default-theme-in-dark-mode] #titlebar {
+ :root[lwt-default-theme-in-dark-mode] #titlebar,
+ :root:is(:not([lwtheme]), :not(:-moz-lwtheme)) #toolbar-menubar,
+ :root[lwt-default-theme-in-dark-mode] #toolbar-menubar,
+ :root:is(:not([lwtheme]), :not(:-moz-lwtheme)) #TabsToolbar,
+ :root[lwt-default-theme-in-dark-mode] #TabsToolbar {
--button-hover-bgcolor: var(--win-sidebar-button-hover-bgcolor);
--button-active-bgcolor: var(--win-sidebar-button-hover-active-bgcolor);
--toolbarbutton-hover-background: var(--win-sidebar-button-hover-bgcolor);
@@ -14306,7 +15086,8 @@
#appMenu-zoomReduce-button2,
#appMenu-zoomReset-button2,
#appMenu-zoomEnlarge-button2,
- #appMenu-fullscreen-button2
+ #appMenu-fullscreen-button2,
+ .unified-extensions-item-menu-button
):is(:hover),
:root[lwt-default-theme-in-dark-mode]
toolbarbutton.subviewbutton:not(
@@ -14317,7 +15098,8 @@
#appMenu-zoomReduce-button2,
#appMenu-zoomReset-button2,
#appMenu-zoomEnlarge-button2,
- #appMenu-fullscreen-button2
+ #appMenu-fullscreen-button2,
+ .unified-extensions-item-menu-button
):is(:hover) {
background-color: var(--win-hover-bgcolor) !important;
}
@@ -14357,6 +15139,27 @@
}
}
@media (-moz-bool-pref: "userChrome.theme.system_default") and (-moz-platform: windows) {
+ :root:is(:not([lwtheme]), :not(:-moz-lwtheme))
+ #tabbrowser-tabs:not([movingtab])
+ > #pinned-tabs-container
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[multiselected]:not([selected]),
+ :root[lwtheme-mozlightdark]
+ #tabbrowser-tabs:not([movingtab])
+ > #pinned-tabs-container
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[multiselected]:not([selected]),
+ :root:is(
+ [style*="--lwt-accent-color: rgb(240, 240, 244); --lwt-text-color: rgba(21, 20, 26);"],
+ [style*="--lwt-accent-color: rgb(28, 27, 34); --lwt-text-color: rgba(251, 251, 254);"]
+ )
+ #tabbrowser-tabs:not([movingtab])
+ > #pinned-tabs-container
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[multiselected]:not([selected]),
:root:is(:not([lwtheme]), :not(:-moz-lwtheme))
#tabbrowser-tabs:not([movingtab])
> #tabbrowser-arrowscrollbox
@@ -14387,30 +15190,46 @@
}
@media (-moz-bool-pref: "userChrome.theme.system_default") and (-moz-windows-accent-color-in-titlebar) {
/* Tab Bar */
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme)) .titlebar-color,
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) .titlebar-color {
- color: AccentColorText;
- background-color: AccentColor;
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ .titlebar-color,
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ .browser-titlebar,
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ .titlebar-color,
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ .browser-titlebar {
+ color: AccentColorText !important;
+ background-color: AccentColor !important;
}
}
@media (-moz-bool-pref: "userChrome.theme.system_default") and (-moz-windows-accent-color-in-titlebar) and (-moz-bool-pref: "userChrome.compatibility.accent_color") {
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme)) .titlebar-color,
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) .titlebar-color {
- color: -moz-accent-color-foreground;
- background-color: -moz-accent-color;
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ .titlebar-color,
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ .browser-titlebar,
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ .titlebar-color,
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ .browser-titlebar {
+ color: -moz-accent-color-foreground !important;
+ background-color: -moz-accent-color !important;
}
}
@media (-moz-bool-pref: "userChrome.theme.system_default") and (-moz-windows-accent-color-in-titlebar) {
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme)) .toolbar-items,
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) .toolbar-items {
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ .toolbar-items,
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ .toolbar-items {
--toolbarbutton-icon-fill: currentColor;
--toolbarbutton-hover-background: color-mix(in srgb, AccentColorText 10%, transparent);
--toolbarbutton-active-background: color-mix(in srgb, AccentColorText 15%, transparent);
}
}
@media (-moz-bool-pref: "userChrome.theme.system_default") and (-moz-windows-accent-color-in-titlebar) and (-moz-bool-pref: "userChrome.compatibility.accent_color") {
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme)) .toolbar-items,
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) .toolbar-items {
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ .toolbar-items,
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ .toolbar-items {
--toolbarbutton-hover-background: color-mix(in srgb, -moz-accent-color-foreground 10%, transparent);
--toolbarbutton-active-background: color-mix(in srgb, -moz-accent-color-foreground 15%, transparent);
}
@@ -14610,13 +15429,19 @@
}
}
@media (-moz-bool-pref: "userChrome.theme.system_default") and (-moz-bool-pref: "layout.css.osx-font-smoothing.enabled") {
- :root:is(:not([lwtheme]), :not(:-moz-lwtheme)) #titlebar {
+ :root:is(:not([lwtheme]), :not(:-moz-lwtheme)) #titlebar,
+ :root:is(:not([lwtheme]), :not(:-moz-lwtheme)) #toolbar-menubar,
+ :root:is(:not([lwtheme]), :not(:-moz-lwtheme)) #TabsToolbar {
--mac-hover-bgcolor: ButtonFace;
}
}
@media (-moz-bool-pref: "userChrome.theme.system_default") and (-moz-bool-pref: "layout.css.osx-font-smoothing.enabled") {
:root:is(:not([lwtheme]), :not(:-moz-lwtheme)) #titlebar,
- :root[lwt-default-theme-in-dark-mode] #titlebar {
+ :root[lwt-default-theme-in-dark-mode] #titlebar,
+ :root:is(:not([lwtheme]), :not(:-moz-lwtheme)) #toolbar-menubar,
+ :root[lwt-default-theme-in-dark-mode] #toolbar-menubar,
+ :root:is(:not([lwtheme]), :not(:-moz-lwtheme)) #TabsToolbar,
+ :root[lwt-default-theme-in-dark-mode] #TabsToolbar {
--button-hover-bgcolor: var(--mac-hover-bgcolor);
--button-active-bgcolor: var(--mac-hover-bgcolor);
--toolbarbutton-hover-background: var(--mac-hover-bgcolor);
@@ -14666,6 +15491,18 @@
}
}
@media (-moz-bool-pref: "userChrome.theme.system_default") and (-moz-bool-pref: "layout.css.osx-font-smoothing.enabled") and (-moz-bool-pref: "userChrome.tab.color_like_toolbar") {
+ :root[lwtheme-mozlightdark][lwt-default-theme-in-dark-mode]
+ #tabbrowser-tabs:not([movingtab])
+ > #pinned-tabs-container
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[selected],
+ :root[style*="--lwt-accent-color: rgb(28, 27, 34); --lwt-text-color: rgba(251, 251, 254);"][lwt-default-theme-in-dark-mode]
+ #tabbrowser-tabs:not([movingtab])
+ > #pinned-tabs-container
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[selected],
:root[lwtheme-mozlightdark][lwt-default-theme-in-dark-mode]
#tabbrowser-tabs:not([movingtab])
> #tabbrowser-arrowscrollbox
@@ -14819,8 +15656,11 @@
width: unset !important;
}
.menu-iconic-left .menu-iconic-icon,
+ .menu-iconic-left .menu-icon,
menuitem[type="checkbox"] .menu-iconic-icon,
- menuitem[type="radio"] .menu-iconic-icon {
+ menuitem[type="checkbox"] .menu-icon,
+ menuitem[type="radio"] .menu-iconic-icon,
+ menuitem[type="radio"] .menu-icon {
appearance: none !important;
}
}
@@ -14849,7 +15689,8 @@
}
}
@media (-moz-bool-pref: "userChrome.theme.non_native_menu") and (-moz-gtk-csd-available) {
- menuitem[checked="true"] > .menu-iconic-left {
+ menuitem[checked="true"] > .menu-iconic-left,
+ menuitem[checked="true"] > .menu-icon {
-moz-context-properties: fill, fill-opacity !important;
fill: currentColor !important;
fill-opacity: var(--menu-icon-opacity) !important;
@@ -14879,7 +15720,7 @@
@media (-moz-bool-pref: "userChrome.theme.non_native_menu") and (-moz-gtk-csd-available) {
menupopup {
/* Disable the default appearance so we can override the native styling. */
- appearance: none !important !important;
+ appearance: none !important;
/* Prevent any background or border around the outside of the shadow. */
background-color: transparent !important;
border: none !important;
@@ -14962,13 +15803,15 @@
}
}
@media (-moz-bool-pref: "userChrome.theme.non_native_menu") and (-moz-gtk-csd-available) {
- #context-navigation > .menuitem-iconic > .menu-iconic-left {
+ #context-navigation > .menuitem-iconic > .menu-iconic-left,
+ #context-navigation > .menuitem-iconic > .menu-icon {
margin: 0 !important;
padding: 0 !important;
}
}
@media (-moz-bool-pref: "userChrome.theme.non_native_menu") and (-moz-gtk-csd-available) {
- #context-navigation > .menuitem-iconic > .menu-iconic-left > .menu-iconic-icon {
+ #context-navigation > .menuitem-iconic > .menu-iconic-left > .menu-iconic-icon,
+ #context-navigation > .menuitem-iconic > .menu-icon {
width: var(--menuitem-min-width) !important;
height: 32px !important;
padding: 8px 1em !important;
@@ -14976,7 +15819,8 @@
}
}
@media (-moz-bool-pref: "userChrome.theme.non_native_menu") and (-moz-gtk-csd-available) {
- #context-navigation > .menuitem-iconic[_moz-menuactive="true"] > .menu-iconic-left > .menu-iconic-icon {
+ #context-navigation > .menuitem-iconic[_moz-menuactive="true"] > .menu-iconic-left > .menu-iconic-icon,
+ #context-navigation > .menuitem-iconic[_moz-menuactive="true"] > .menu-icon {
background-color: var(--menuitem-hover-background-color) !important;
}
}
@@ -14984,7 +15828,8 @@
#context-navigation
> .menuitem-iconic[_moz-menuactive="true"][disabled="true"]
> .menu-iconic-left
- > .menu-iconic-icon {
+ > .menu-iconic-icon,
+ #context-navigation > .menuitem-iconic[_moz-menuactive="true"][disabled="true"] > .menu-icon {
background-color: transparent !important;
}
}
@@ -15493,7 +16338,6 @@
> .menu-iconic-icon {
background-color: var(--menuitem-hover-background-color) !important;
}
- html#main-window menupopup #context-navigation > .menuitem-iconic[_moz-menuactive="true"],
html#main-window
menupopup
#context-navigation
@@ -15539,7 +16383,6 @@
> .menu-iconic-icon {
background-color: var(--menuitem-hover-background-color) !important;
}
- html#main-window menupopup #context-navigation > .menuitem-iconic[_moz-menuactive="true"],
html#main-window
menupopup
#context-navigation
@@ -15626,6 +16469,17 @@
background-color: var(--button-active-bgcolor) !important;
}
}
+@media (-moz-bool-pref: "userChrome.theme.fully_color") {
+ .notification-button.primary {
+ background-color: var(--button-primary-bgcolor) !important;
+ }
+ .notification-button.primary:hover {
+ background-color: var(--button-primary-hover-bgcolor) !important;
+ }
+ .notification-button.primary:hover:active {
+ background-color: var(--button-primary-active-bgcolor) !important;
+ }
+}
@media (-moz-bool-pref: "userChrome.theme.fully_color") {
html|button.ghost-button:not(.semi-transparent):enabled:hover {
background-color: var(--button-hover-bgcolor) !important;
@@ -15672,8 +16526,8 @@
}
}
@media (-moz-bool-pref: "userChrome.theme.fully_color") {
- #editBMPanel_namePicker,
- #editBMPanel_tagsField {
+ #editBookmarkPanel #editBMPanel_namePicker,
+ #editBookmarkPanel #editBMPanel_tagsField {
--input-bgcolor: var(--arrowpanel-background, Field);
--input-color: var(--arrowpanel-color, FieldText);
}
@@ -15909,13 +16763,17 @@
:root[style*="--focus-outline-color: rgb(172, 112, 255); --panel-separator-zap-gradient: linear-gradient(90deg, #9059FF 0%, #FF4AA2 52.08%, #FFBD4F 100%);"] {
--lwt-accent-color: rgb(45, 36, 91) !important;
}
- #titlebar {
+ #titlebar,
+ #toolbar-menubar,
+ #TabsToolbar {
--uc-frame-element-background: color-mix(in srgb, var(--lwt-accent-color, Window) 60%, transparent);
--toolbarbutton-hover-background: color-mix(in srgb, var(--lwt-accent-color, Window) 85%, transparent);
}
}
@media (-moz-bool-pref: "userChrome.theme.transparent.frame") and (-moz-gtk-csd-available) and (prefers-color-scheme: dark) {
- #titlebar {
+ #titlebar,
+ #toolbar-menubar,
+ #TabsToolbar {
--toolbarbutton-hover-background: color-mix(
in srgb,
var(--lwt-accent-color, Window) 40%,
@@ -15965,7 +16823,9 @@
--lwt-accent-color: transparent !important;
--lwt-text-color: WindowText !important;
}
- #titlebar .toolbarbutton-1 {
+ #titlebar .toolbarbutton-1,
+ #toolbar-menubar .toolbarbutton-1,
+ #TabsToolbar .toolbarbutton-1 {
--toolbarbutton-icon-fill: var(--lwt-text-color) !important;
}
:root:not([sizemode="fullscreen"]) .titlebar-buttonbox-container .titlebar-button:not(.titlebar-close:hover) {
@@ -16161,7 +17021,7 @@
fill: currentColor !important;
color: var(--in-content-primary-button-text-color) !important;
background-color: var(--in-content-primary-button-background) !important;
- background-image: url("chrome://global/skin/icons/radio.svg") !important;
+ background-image: url("../icons/radio.svg") !important;
border-color: transparent !important;
/* Style the button also when printing with "Print Backgrounds" unchecked */
color-adjust: exact !important;
@@ -16877,7 +17737,7 @@
@media (-moz-bool-pref: "userChrome.theme.proton_chrome") and (-moz-gtk-csd-available) {
#placesToolbar > toolbarbutton > .toolbarbutton-icon,
#placesMenu > menu > image,
- #placesMenu > menu > .menubar-text {
+ #placesMenu > menu > :is(.menubar-text, .menu-text) {
-moz-context-properties: fill !important;
fill: currentColor !important;
}
@@ -16915,7 +17775,7 @@
}
}
@media (-moz-bool-pref: "userChrome.theme.proton_chrome") and (-moz-gtk-csd-available) {
- #placesMenu > menu > .menubar-text {
+ #placesMenu > menu > :is(.menubar-text, .menu-text) {
margin-block: 0 !important; /* override menu.css */
padding-inline-end: 4px !important;
}
@@ -17453,11 +18313,18 @@
}
}
@media (prefers-reduced-motion: no-preference) and (-moz-bool-pref: "userChrome.decoration.animate") {
- #urlbar-background,
+ #urlbar-background {
+ transition: border-color 1s var(--animation-easing-function), background-color 0.5s var(--animation-easing-function) !important;
+ }
+ #urlbar-background:hover {
+ transition: border-color 0.5s var(--animation-easing-function),
+ background-color 0.5s var(--animation-easing-function) !important;
+ }
+}
+@media (prefers-reduced-motion: no-preference) and (-moz-bool-pref: "userChrome.decoration.animate") {
#searchbar {
transition: border-color 1s var(--animation-easing-function), background-color 1.5s var(--animation-easing-function) !important;
}
- #urlbar-background:hover,
#searchbar:hover {
transition: border-color 0.5s var(--animation-easing-function), background-color 1s var(--animation-easing-function) !important;
}
@@ -17509,17 +18376,15 @@
width: 18em;
max-width: 36em;
/* Animation */
- transition: margin-inline-start 0.25s var(--animation-easing-function), opacity 0.25s ease-in-out,
- visibility 0s linear !important;
- will-change: margin-inline-start, opacity, visibility;
+ transition: margin-inline-start 0.25s var(--animation-easing-function), visibility 0s linear !important;
+ will-change: margin-inline-start, visibility;
}
#sidebar-box[hidden="true"] {
display: flex !important;
display: -moz-box !important;
margin-inline-start: -18em;
- opacity: 0;
visibility: collapse;
- transition-delay: 0s, 0s, 0.25s !important;
+ transition-delay: 0s, 0.25s !important;
}
}
@media (prefers-reduced-motion: no-preference) and (-moz-bool-pref: "userChrome.decoration.animate") {
@@ -17632,6 +18497,11 @@
--tab-border-radius: 0 !important; /* Original: 4px */
}
}
+@media not (-moz-bool-pref: "userChrome.rounding.square_tab") {
+ :root {
+ --tab-border-radius: 4px !important; /* Original: 4px */
+ }
+}
@media (-moz-bool-pref: "userChrome.rounding.square_button") {
:root {
--urlbar-icon-border-radius: 0 !important; /* Original: calc(var(--toolbarbutton-border-radius) - 1px); */
@@ -17795,13 +18665,13 @@
}
}
@media (-moz-bool-pref: "userChrome.padding.first_tab") and (not (-moz-bool-pref: "userChrome.padding.first_tab.always")) {
- :root:not([tabsintitlebar]) #tabbrowser-tabs:not([positionpinnedtabs]),
+ :root:not([tabsintitlebar]):not([customtitlebar]) #tabbrowser-tabs:not([positionpinnedtabs]),
:root:is([sizemode="maximized"], [sizemode="fullscreen"]) #tabbrowser-tabs:not([positionpinnedtabs]) {
padding-inline-start: var(--uc-space-left-tabbar) !important;
}
}
@media (-moz-bool-pref: "userChrome.padding.first_tab") and (-moz-bool-pref: "userChrome.padding.first_tab.always") {
- :root:not([tabsintitlebar]) #tabbrowser-tabs,
+ :root:not([tabsintitlebar]):not([customtitlebar]) #tabbrowser-tabs,
:root:is([sizemode="maximized"], [sizemode="fullscreen"]) #tabbrowser-tabs {
padding-inline-start: calc(var(--tab-overflow-pinned-tabs-width, 0px) + var(--uc-space-left-tabbar)) !important;
}
@@ -17889,6 +18759,7 @@
}
}
@media (-moz-bool-pref: "userChrome.padding.tabbar_width") {
+ :root:not([uidensity="touch"]) #pinned-tabs-container,
:root:not([uidensity="touch"]) #tabbrowser-arrowscrollbox {
--scrollbtn-inner-padding: 1px;
--scrollbtn-outer-padding: 3px;
@@ -17936,15 +18807,35 @@
.tabbrowser-tab[fadein]:not([pinned]):not([style*="max-width"]) {
max-width: var(--tab-max-width) !important; /* Original: 225px */
}
+ #tabbrowser-tabs[orient="vertical"][expanded] .tabbrowser-tab[fadein]:not([pinned]):not([style*="max-width"]) {
+ max-width: none !important;
+ }
+ #tabbrowser-tabs[orient="horizontal"]
+ tab-group[collapsed]
+ > .tabbrowser-tab[fadein]:not([pinned]):not([style*="max-width"]) {
+ min-width: 0 !important;
+ max-width: 0 !important;
+ padding: 0 !important;
+ margin: 0 !important;
+ overflow-clip-margin: 0;
+ }
}
@media (-moz-bool-pref: "userChrome.padding.tabbar_width") {
:root[customizing="true"] #tabbrowser-arrowscrollbox-periphery,
+ #tabbrowser-tabs:not([hasadjacentnewtabbutton]):not([overflow="true"])
+ > #pinned-tabs-container
+ > #tabbrowser-arrowscrollbox-periphery,
#tabbrowser-tabs:not([hasadjacentnewtabbutton]):not([overflow="true"])
> #tabbrowser-arrowscrollbox
> #tabbrowser-arrowscrollbox-periphery {
min-width: 3px;
}
}
+@media (-moz-bool-pref: "userChrome.padding.tabbar_width") {
+ #tabbrowser-tabs[orient="horizontal"] .tab-group-label-container {
+ margin-inline-start: 4px !important;
+ }
+}
@media (-moz-bool-pref: "userChrome.padding.tabbar_width") and (not (-moz-bool-pref: "userChrome.tab.photon_like_padding")) and (-moz-bool-pref: "userChrome.tab.lepton_like_padding") {
#TabsToolbar:not([multibar]) .tabbrowser-tab[pinned] {
padding-inline: 1px !important;
@@ -17974,22 +18865,22 @@
}
}
@media (-moz-bool-pref: "userChrome.padding.drag_space") and (-moz-platform: windows) {
- :root[tabsintitlebar][sizemode="normal"] #toolbar-menubar[autohide="true"] {
+ :root:is([tabsintitlebar], [customtitlebar])[sizemode="normal"] #toolbar-menubar[autohide="true"] {
height: calc(var(--tab-min-height) + var(--uc-space-above-tabbar) - var(--tabs-navbar-shadow-size));
}
}
@media (-moz-bool-pref: "userChrome.padding.drag_space") and (-moz-platform: windows) and (-moz-bool-pref: "userChrome.padding.drag_space.maximized") {
- :root[tabsintitlebar][sizemode="maximized"] #toolbar-menubar[autohide="true"] {
+ :root:is([tabsintitlebar], [customtitlebar])[sizemode="maximized"] #toolbar-menubar[autohide="true"] {
height: calc(var(--tab-min-height) + var(--uc-space-above-tabbar) - var(--tabs-navbar-shadow-size));
}
}
@media (-moz-bool-pref: "userChrome.padding.drag_space") and (-moz-gtk-csd-available) {
- :root[tabsintitlebar][sizemode="normal"] #toolbar-menubar[autohide="true"] {
+ :root:is([tabsintitlebar], [customtitlebar])[sizemode="normal"] #toolbar-menubar[autohide="true"] {
height: calc(var(--tab-min-height) + var(--uc-space-above-tabbar));
}
}
@media (-moz-bool-pref: "userChrome.padding.drag_space") and (-moz-gtk-csd-available) and (-moz-bool-pref: "userChrome.padding.drag_space.maximized") {
- :root[tabsintitlebar][sizemode="maximized"] #toolbar-menubar[autohide="true"] {
+ :root:is([tabsintitlebar], [customtitlebar])[sizemode="maximized"] #toolbar-menubar[autohide="true"] {
height: calc(var(--tab-min-height) + var(--uc-space-above-tabbar));
}
}
@@ -18078,6 +18969,10 @@
}
}
@media (-moz-bool-pref: "userChrome.padding.tabbar_height") and (-moz-bool-pref: "userChrome.tab.connect_to_window") and (not (-moz-bool-pref: "userChrome.tabbar.multi_row")) {
+ :root:not([uidensity="compact"]) #TabsToolbar:not([multibar]) #pinned-tabs-container,
+ #TabsToolbar:not([multibar]) #pinned-tabs-container[overflowing="true"] > .tabbrowser-tab[pinned="true"],
+ #TabsToolbar:not([multibar]) #pinned-tabs-container[overflowing="true"] > .tabbrowser-tab[pinned="true"] .tab-stack,
+ #TabsToolbar:not([multibar]) #pinned-tabs-container[overflowing="true"] > .tabbrowser-tab[pinned="true"] .tab-content,
:root:not([uidensity="compact"]) #TabsToolbar:not([multibar]) #tabbrowser-arrowscrollbox,
#TabsToolbar:not([multibar]) #tabbrowser-arrowscrollbox[overflowing="true"] > .tabbrowser-tab[pinned="true"],
#TabsToolbar:not([multibar])
@@ -18090,11 +18985,13 @@
.tab-content {
max-height: var(--tab-min-height) !important; /* Force apply height */
}
+ :root[uidensity="compact"] #TabsToolbar:not([multibar]) #pinned-tabs-container,
:root[uidensity="compact"] #TabsToolbar:not([multibar]) #tabbrowser-arrowscrollbox {
height: var(--tab-min-height) !important;
}
}
@media (-moz-bool-pref: "userChrome.padding.tabbar_height") {
+ :root #pinned-tabs-container,
:root #tabbrowser-arrowscrollbox {
--scrollbtn-vertical-padding: 3px;
--scrollbtn-vertical-border: 2px;
@@ -18116,7 +19013,7 @@
}
}
@media (-moz-bool-pref: "userChrome.padding.tabbar_height") {
- :root[tabsintitlebar]:not([uidensity="compact"]) #toolbar-menubar[autohide="true"] {
+ :root:is([tabsintitlebar], [customtitlebar]):not([uidensity="compact"]) #toolbar-menubar[autohide="true"] {
height: calc(
var(--tab-min-height) - var(--tabs-navbar-shadow-size) - 2px
); /* Compact: 28px, Normal: 33px, Touch: 38px */
@@ -18175,11 +19072,6 @@
:root:not([uidensity="compact"]) #urlbar[breakout][breakout-extend-disabled][open] {
height: auto !important;
}
- :root[uidensity="touch"] #urlbar[breakout] {
- top: calc(
- (var(--urlbar-toolbar-height, var(--urlbar-container-height)) - var(--urlbar-height)) / 2 + 1px
- ) !important;
- }
/* spread menu */
:root:not([uidensity]) .urlbarView-row {
padding-block: 1px !important; /* Original: 2px */
@@ -18196,11 +19088,13 @@
}
@media (-moz-bool-pref: "userChrome.padding.urlView_expanding"), (-moz-bool-pref: "userChrome.urlView.as_commandbar") {
#urlbar[breakout][breakout-extend] {
- top: calc((var(--urlbar-toolbar-height, var(--urlbar-container-height)) - var(--urlbar-height)) / 2) !important;
- left: 0 !important;
- width: 100% !important;
+ top: calc(var(--urlbar-container-height) * 2 - var(--urlbar-height)) !important;
+ width: var(--urlbar-width) !important;
+ position: relative !important;
+ margin: 0 !important;
}
- #urlbar[breakout][breakout-extend] > #urlbar-input-container {
+ #urlbar[breakout][breakout-extend] > #urlbar-input-container,
+ #urlbar[breakout][breakout-extend] > .urlbar-input-container {
height: var(--urlbar-height) !important;
padding-block: 0 !important;
padding-inline: var(--urlbar-container-padding, 0px) !important;
@@ -18526,6 +19420,8 @@
display: flex !important; /* Needed for content to take up entire height, compatibility with tabs on bottom */
}
:root[sizemode="fullscreen"] #titlebar,
+ :root[sizemode="fullscreen"] #toolbar-menubar,
+ :root[sizemode="fullscreen"] #TabsToolbar,
:root[sizemode="fullscreen"] #nav-bar,
:root[sizemode="fullscreen"] #PersonalToolbar,
:root[sizemode="fullscreen"] #tab-notification-deck,
@@ -18541,7 +19437,8 @@
/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/tabs_on_bottom.css made available under Mozilla Public License v. 2.0
See the above repository for updates as well as full license text. */
/*= Tabbar - Move to bottom ==================================================*/
- #titlebar {
+ #titlebar,
+ #TabsToolbar {
order: 2;
-moz-box-ordinal-group: 2;
--tabs-navbar-shadow-size: 0px;
@@ -18613,7 +19510,7 @@
width: 100%;
overflow: hidden;
}
- :root[tabsintitlebar] #toolbar-menubar[autohide="true"]:not([inactive="true"]) {
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar[autohide="true"]:not([inactive="true"]) {
height: var(--uc-menubar-height) !important; /* calc(var(--tab-min-height) + 2 * var(--tab-block-margin)) */
}
#toolbar-menubar > .titlebar-buttonbox-container {
@@ -18647,7 +19544,8 @@
/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/tabs_on_bottom.css made available under Mozilla Public License v. 2.0
See the above repository for updates as well as full license text. */
/*= Tabbar - Move to bottom ==================================================*/
- #titlebar {
+ #titlebar,
+ #TabsToolbar {
order: 2;
-moz-box-ordinal-group: 2;
--tabs-navbar-shadow-size: 0px;
@@ -18719,7 +19617,7 @@
width: 100%;
overflow: hidden;
}
- :root[tabsintitlebar] #toolbar-menubar[autohide="true"]:not([inactive="true"]) {
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar[autohide="true"]:not([inactive="true"]) {
height: var(--uc-menubar-height) !important; /* calc(var(--tab-min-height) + 2 * var(--tab-block-margin)) */
}
#toolbar-menubar > .titlebar-buttonbox-container {
@@ -18773,7 +19671,9 @@
}
}
@media (-moz-bool-pref: "userChrome.tabbar.one_liner") and (not (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive")) {
- #titlebar {
+ #titlebar,
+ #toolbar-menubar,
+ #TabsToolbar {
transform: translateY(var(--uc-navbar-block, 0px));
}
}
@@ -18890,7 +19790,9 @@
}
}
@media screen and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (min-width: 1100px) {
- #titlebar {
+ #titlebar,
+ #toolbar-menubar,
+ #TabsToolbar {
transform: translateY(var(--uc-navbar-block, 0px));
}
}
@@ -18995,7 +19897,7 @@
--uc-window-drag-space-post: 0px; /* Same as .titlebar-spacer[type="post-tabs"] */
--uc-window-control-space: calc(var(--uc-window-control-width) + var(--uc-window-drag-space-post));
}
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-drag-space-pre: var(--uc-title-pre-spacer, 40px);
--uc-window-drag-space-post: var(--uc-title-post-spacer, 40px);
}
@@ -19004,7 +19906,7 @@
(-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-platform: windows),
(-moz-bool-pref: "userChrome.hidden.tabbar") and (-moz-platform: windows),
(-moz-bool-pref: "userChrome.tabbar.as_titlebar") and (-moz-platform: windows) {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-control-width: 138px;
}
}
@@ -19012,7 +19914,7 @@
(-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-gtk-csd-available),
(-moz-bool-pref: "userChrome.hidden.tabbar") and (-moz-gtk-csd-available),
(-moz-bool-pref: "userChrome.tabbar.as_titlebar") and (-moz-gtk-csd-available) {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
/* 84px is default value of linux */
}
}
@@ -19028,7 +19930,7 @@
(-moz-bool-pref: "userChrome.tabbar.as_titlebar") and (-moz-gtk-csd-available) and (-moz-gtk-csd-minimize-button),
(-moz-bool-pref: "userChrome.tabbar.as_titlebar") and (-moz-gtk-csd-available) and (-moz-gtk-csd-maximize-button),
(-moz-bool-pref: "userChrome.tabbar.as_titlebar") and (-moz-gtk-csd-available) and (-moz-gtk-csd-close-button) {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-control-width: 28px;
}
}
@@ -19044,7 +19946,7 @@
(-moz-bool-pref: "userChrome.tabbar.as_titlebar") and (-moz-gtk-csd-available) and (-moz-gtk-csd-minimize-button) and (-moz-gtk-csd-maximize-button),
(-moz-bool-pref: "userChrome.tabbar.as_titlebar") and (-moz-gtk-csd-available) and (-moz-gtk-csd-minimize-button) and (-moz-gtk-csd-close-button),
(-moz-bool-pref: "userChrome.tabbar.as_titlebar") and (-moz-gtk-csd-available) and (-moz-gtk-csd-maximize-button) and (-moz-gtk-csd-close-button) {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-control-width: 56px;
}
}
@@ -19052,7 +19954,7 @@
(-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-gtk-csd-available) and (-moz-gtk-csd-minimize-button) and (-moz-gtk-csd-maximize-button) and (-moz-gtk-csd-close-button),
(-moz-bool-pref: "userChrome.hidden.tabbar") and (-moz-gtk-csd-available) and (-moz-gtk-csd-minimize-button) and (-moz-gtk-csd-maximize-button) and (-moz-gtk-csd-close-button),
(-moz-bool-pref: "userChrome.tabbar.as_titlebar") and (-moz-gtk-csd-available) and (-moz-gtk-csd-minimize-button) and (-moz-gtk-csd-maximize-button) and (-moz-gtk-csd-close-button) {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-control-width: 84px;
}
}
@@ -19060,7 +19962,7 @@
(-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "layout.css.osx-font-smoothing.enabled"),
(-moz-bool-pref: "userChrome.hidden.tabbar") and (-moz-bool-pref: "layout.css.osx-font-smoothing.enabled"),
(-moz-bool-pref: "userChrome.tabbar.as_titlebar") and (-moz-bool-pref: "layout.css.osx-font-smoothing.enabled") {
- :root[tabsintitlebar] {
+ :root:is([tabsintitlebar], [customtitlebar]) {
--uc-window-control-width: 72px;
}
:root[sizemode="fullscreen"] {
@@ -19071,7 +19973,7 @@
(-moz-bool-pref: "userChrome.tabbar.one_liner"),
(-moz-bool-pref: "userChrome.hidden.tabbar"),
(-moz-bool-pref: "userChrome.tabbar.as_titlebar") {
- :root:is([tabsintitlebar][sizemode="maximized"], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar][sizemode="maximized"], [customtitlebar][sizemode="maximized"], [sizemode="fullscreen"]) {
--uc-window-drag-space-pre: 0px;
}
}
@@ -19079,7 +19981,7 @@
(-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (not (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive")) and (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first") and (-moz-platform: windows),
(-moz-bool-pref: "userChrome.hidden.tabbar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (not (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive")) and (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first") and (-moz-platform: windows),
(-moz-bool-pref: "userChrome.tabbar.as_titlebar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (not (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive")) and (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first") and (-moz-platform: windows) {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-drag-space-pre: 0px;
}
}
@@ -19087,7 +19989,7 @@
(-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (not (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive")) and (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first") and (-moz-gtk-csd-available) and (-moz-gtk-csd-reversed-placement: 0),
(-moz-bool-pref: "userChrome.hidden.tabbar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (not (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive")) and (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first") and (-moz-gtk-csd-available) and (-moz-gtk-csd-reversed-placement: 0),
(-moz-bool-pref: "userChrome.tabbar.as_titlebar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (not (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive")) and (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first") and (-moz-gtk-csd-available) and (-moz-gtk-csd-reversed-placement: 0) {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-drag-space-pre: 0px;
}
}
@@ -19095,7 +19997,7 @@
(-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (not (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive")) and (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first") and (-moz-bool-pref: "layout.css.osx-font-smoothing.enabled"),
(-moz-bool-pref: "userChrome.hidden.tabbar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (not (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive")) and (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first") and (-moz-bool-pref: "layout.css.osx-font-smoothing.enabled"),
(-moz-bool-pref: "userChrome.tabbar.as_titlebar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (not (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive")) and (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first") and (-moz-bool-pref: "layout.css.osx-font-smoothing.enabled") {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-control-space: 0px;
}
}
@@ -19103,7 +20005,7 @@
(-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (not (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive")) and (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first") and (-moz-gtk-csd-available) and (-moz-gtk-csd-reversed-placement),
(-moz-bool-pref: "userChrome.hidden.tabbar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (not (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive")) and (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first") and (-moz-gtk-csd-available) and (-moz-gtk-csd-reversed-placement),
(-moz-bool-pref: "userChrome.tabbar.as_titlebar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (not (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive")) and (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first") and (-moz-gtk-csd-available) and (-moz-gtk-csd-reversed-placement) {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-control-space: 0px;
}
}
@@ -19111,7 +20013,7 @@
(-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (not (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive")) and (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first") and (-moz-bool-pref: "userChrome.tabbar.as_titlebar"),
(-moz-bool-pref: "userChrome.hidden.tabbar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (not (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive")) and (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first") and (-moz-bool-pref: "userChrome.tabbar.as_titlebar"),
(-moz-bool-pref: "userChrome.tabbar.as_titlebar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (not (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive")) and (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first") and (-moz-bool-pref: "userChrome.tabbar.as_titlebar") {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) #tabbrowser-tabs {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) #tabbrowser-tabs {
--uc-window-control-space: 0px;
}
}
@@ -19119,7 +20021,7 @@
(-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (not (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive")) and (not (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first")) and (not (-moz-bool-pref: "userChrome.tabbar.as_titlebar")) and (-moz-platform: windows),
(-moz-bool-pref: "userChrome.hidden.tabbar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (not (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive")) and (not (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first")) and (not (-moz-bool-pref: "userChrome.tabbar.as_titlebar")) and (-moz-platform: windows),
(-moz-bool-pref: "userChrome.tabbar.as_titlebar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (not (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive")) and (not (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first")) and (not (-moz-bool-pref: "userChrome.tabbar.as_titlebar")) and (-moz-platform: windows) {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-control-space: 0px;
}
}
@@ -19127,7 +20029,7 @@
(-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (not (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive")) and (not (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first")) and (not (-moz-bool-pref: "userChrome.tabbar.as_titlebar")) and (-moz-gtk-csd-available) and (-moz-gtk-csd-reversed-placement: 0),
(-moz-bool-pref: "userChrome.hidden.tabbar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (not (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive")) and (not (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first")) and (not (-moz-bool-pref: "userChrome.tabbar.as_titlebar")) and (-moz-gtk-csd-available) and (-moz-gtk-csd-reversed-placement: 0),
(-moz-bool-pref: "userChrome.tabbar.as_titlebar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (not (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive")) and (not (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first")) and (not (-moz-bool-pref: "userChrome.tabbar.as_titlebar")) and (-moz-gtk-csd-available) and (-moz-gtk-csd-reversed-placement: 0) {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-control-space: 0px;
}
}
@@ -19139,7 +20041,7 @@
screen and (-moz-bool-pref: "userChrome.hidden.tabbar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (max-width: 1100px) and (not (-moz-bool-pref: "userChrome.hidden.tabbar")),
screen and (-moz-bool-pref: "userChrome.tabbar.as_titlebar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (max-width: 1100px) and (not (-moz-bool-pref: "userChrome.tabbar.on_bottom")),
screen and (-moz-bool-pref: "userChrome.tabbar.as_titlebar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (max-width: 1100px) and (not (-moz-bool-pref: "userChrome.hidden.tabbar")) {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-drag-space-pre: 0px;
--uc-window-control-space: 0px;
}
@@ -19148,7 +20050,7 @@
screen and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (min-width: 1100px) and (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first") and (-moz-platform: windows),
screen and (-moz-bool-pref: "userChrome.hidden.tabbar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (min-width: 1100px) and (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first") and (-moz-platform: windows),
screen and (-moz-bool-pref: "userChrome.tabbar.as_titlebar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (min-width: 1100px) and (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first") and (-moz-platform: windows) {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-drag-space-pre: 0px;
}
}
@@ -19156,7 +20058,7 @@
screen and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (min-width: 1100px) and (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first") and (-moz-gtk-csd-available) and (-moz-gtk-csd-reversed-placement: 0),
screen and (-moz-bool-pref: "userChrome.hidden.tabbar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (min-width: 1100px) and (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first") and (-moz-gtk-csd-available) and (-moz-gtk-csd-reversed-placement: 0),
screen and (-moz-bool-pref: "userChrome.tabbar.as_titlebar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (min-width: 1100px) and (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first") and (-moz-gtk-csd-available) and (-moz-gtk-csd-reversed-placement: 0) {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-drag-space-pre: 0px;
}
}
@@ -19164,7 +20066,7 @@
screen and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (min-width: 1100px) and (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first") and (-moz-bool-pref: "layout.css.osx-font-smoothing.enabled"),
screen and (-moz-bool-pref: "userChrome.hidden.tabbar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (min-width: 1100px) and (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first") and (-moz-bool-pref: "layout.css.osx-font-smoothing.enabled"),
screen and (-moz-bool-pref: "userChrome.tabbar.as_titlebar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (min-width: 1100px) and (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first") and (-moz-bool-pref: "layout.css.osx-font-smoothing.enabled") {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-control-space: 0px;
}
}
@@ -19172,7 +20074,7 @@
screen and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (min-width: 1100px) and (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first") and (-moz-gtk-csd-available) and (-moz-gtk-csd-reversed-placement),
screen and (-moz-bool-pref: "userChrome.hidden.tabbar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (min-width: 1100px) and (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first") and (-moz-gtk-csd-available) and (-moz-gtk-csd-reversed-placement),
screen and (-moz-bool-pref: "userChrome.tabbar.as_titlebar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (min-width: 1100px) and (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first") and (-moz-gtk-csd-available) and (-moz-gtk-csd-reversed-placement) {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-control-space: 0px;
}
}
@@ -19180,7 +20082,7 @@
screen and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (min-width: 1100px) and (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first") and (-moz-bool-pref: "userChrome.tabbar.as_titlebar"),
screen and (-moz-bool-pref: "userChrome.hidden.tabbar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (min-width: 1100px) and (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first") and (-moz-bool-pref: "userChrome.tabbar.as_titlebar"),
screen and (-moz-bool-pref: "userChrome.tabbar.as_titlebar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (min-width: 1100px) and (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first") and (-moz-bool-pref: "userChrome.tabbar.as_titlebar") {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) #tabbrowser-tabs {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) #tabbrowser-tabs {
--uc-window-control-space: 0px;
}
}
@@ -19188,7 +20090,7 @@
screen and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (min-width: 1100px) and (not (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first")) and (not (-moz-bool-pref: "userChrome.tabbar.as_titlebar")) and (-moz-platform: windows),
screen and (-moz-bool-pref: "userChrome.hidden.tabbar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (min-width: 1100px) and (not (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first")) and (not (-moz-bool-pref: "userChrome.tabbar.as_titlebar")) and (-moz-platform: windows),
screen and (-moz-bool-pref: "userChrome.tabbar.as_titlebar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (min-width: 1100px) and (not (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first")) and (not (-moz-bool-pref: "userChrome.tabbar.as_titlebar")) and (-moz-platform: windows) {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-control-space: 0px;
}
}
@@ -19196,7 +20098,7 @@
screen and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (min-width: 1100px) and (not (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first")) and (not (-moz-bool-pref: "userChrome.tabbar.as_titlebar")) and (-moz-gtk-csd-available) and (-moz-gtk-csd-reversed-placement: 0),
screen and (-moz-bool-pref: "userChrome.hidden.tabbar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (min-width: 1100px) and (not (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first")) and (not (-moz-bool-pref: "userChrome.tabbar.as_titlebar")) and (-moz-gtk-csd-available) and (-moz-gtk-csd-reversed-placement: 0),
screen and (-moz-bool-pref: "userChrome.tabbar.as_titlebar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (min-width: 1100px) and (not (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first")) and (not (-moz-bool-pref: "userChrome.tabbar.as_titlebar")) and (-moz-gtk-csd-available) and (-moz-gtk-csd-reversed-placement: 0) {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-control-space: 0px;
}
}
@@ -19324,14 +20226,14 @@
(-moz-bool-pref: "userChrome.tabbar.one_liner") and (not (-moz-bool-pref: "userChrome.hidden.titlebar_container")) and (not (-moz-bool-pref: "userChrome.tabbar.one_liner")) and (-moz-bool-pref: "userChrome.hidden.tabbar") and (-moz-platform: windows),
(-moz-bool-pref: "userChrome.hidden.tabbar") and (not (-moz-bool-pref: "userChrome.hidden.titlebar_container")) and (not (-moz-bool-pref: "userChrome.tabbar.one_liner")) and (-moz-bool-pref: "userChrome.tabbar.on_bottom") and (-moz-platform: windows),
(-moz-bool-pref: "userChrome.hidden.tabbar") and (not (-moz-bool-pref: "userChrome.hidden.titlebar_container")) and (not (-moz-bool-pref: "userChrome.tabbar.one_liner")) and (-moz-bool-pref: "userChrome.hidden.tabbar") and (-moz-platform: windows) {
- :root[sizemode="maximized"][tabsintitlebar] #navigator-toolbox-background {
+ :root[sizemode="maximized"]:is([tabsintitlebar], [customtitlebar]) #navigator-toolbox-background {
margin-top: calc(-1 * var(--uc-titlebar-padding));
}
- :root[sizemode="normal"][tabsintitlebar] #titlebar,
- :root[sizemode="maximized"][tabsintitlebar] #titlebar {
+ :root[sizemode="normal"]:is([tabsintitlebar], [customtitlebar]) #titlebar,
+ :root[sizemode="maximized"]:is([tabsintitlebar], [customtitlebar]) #titlebar {
appearance: none !important;
}
- .browser-toolbar:not(.titlebar-color) {
+ .browser-toolbar:not(.titlebar-color):not(.browser-titlebar) {
background-clip: border-box !important;
}
}
@@ -19432,13 +20334,19 @@
:root[inFullscreen]:not([macOSNativeFullscreen]) #menubar-items {
visibility: collapse !important;
}
- :root[tabsintitlebar] #titlebar {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar {
z-index: 1;
}
- :root[tabsintitlebar] #titlebar:-moz-window-inactive {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar:-moz-window-inactive,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar:-moz-window-inactive,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar:-moz-window-inactive {
opacity: 1 !important;
}
- :root[tabsintitlebar] #titlebar:-moz-window-inactive .titlebar-buttonbox {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar:-moz-window-inactive .titlebar-buttonbox,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar:-moz-window-inactive .titlebar-buttonbox,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar:-moz-window-inactive .titlebar-buttonbox {
opacity: var(--inactive-titlebar-opacity);
}
}
@@ -19548,14 +20456,14 @@
@media (-moz-bool-pref: "userChrome.tabbar.on_bottom") and (not (-moz-bool-pref: "userChrome.hidden.titlebar_container")) and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (not (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive")) and (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first") and (-moz-platform: windows),
(-moz-bool-pref: "userChrome.tabbar.one_liner") and (not (-moz-bool-pref: "userChrome.hidden.titlebar_container")) and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (not (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive")) and (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first") and (-moz-platform: windows),
(-moz-bool-pref: "userChrome.hidden.tabbar") and (not (-moz-bool-pref: "userChrome.hidden.titlebar_container")) and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (not (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive")) and (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first") and (-moz-platform: windows) {
- :root[sizemode="maximized"][tabsintitlebar] #navigator-toolbox-background {
+ :root[sizemode="maximized"]:is([tabsintitlebar], [customtitlebar]) #navigator-toolbox-background {
margin-top: calc(-1 * var(--uc-titlebar-padding));
}
- :root[sizemode="normal"][tabsintitlebar] #titlebar,
- :root[sizemode="maximized"][tabsintitlebar] #titlebar {
+ :root[sizemode="normal"]:is([tabsintitlebar], [customtitlebar]) #titlebar,
+ :root[sizemode="maximized"]:is([tabsintitlebar], [customtitlebar]) #titlebar {
appearance: none !important;
}
- .browser-toolbar:not(.titlebar-color) {
+ .browser-toolbar:not(.titlebar-color):not(.browser-titlebar) {
background-clip: border-box !important;
}
}
@@ -19632,13 +20540,19 @@
:root[inFullscreen]:not([macOSNativeFullscreen]) #menubar-items {
visibility: collapse !important;
}
- :root[tabsintitlebar] #titlebar {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar {
z-index: 1;
}
- :root[tabsintitlebar] #titlebar:-moz-window-inactive {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar:-moz-window-inactive,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar:-moz-window-inactive,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar:-moz-window-inactive {
opacity: 1 !important;
}
- :root[tabsintitlebar] #titlebar:-moz-window-inactive .titlebar-buttonbox {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar:-moz-window-inactive .titlebar-buttonbox,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar:-moz-window-inactive .titlebar-buttonbox,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar:-moz-window-inactive .titlebar-buttonbox {
opacity: var(--inactive-titlebar-opacity);
}
}
@@ -19742,14 +20656,14 @@
@media (-moz-bool-pref: "userChrome.tabbar.on_bottom") and (not (-moz-bool-pref: "userChrome.hidden.titlebar_container")) and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (not (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive")) and (-moz-bool-pref: "layout.css.osx-font-smoothing.enabled") and (-moz-platform: windows),
(-moz-bool-pref: "userChrome.tabbar.one_liner") and (not (-moz-bool-pref: "userChrome.hidden.titlebar_container")) and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (not (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive")) and (-moz-bool-pref: "layout.css.osx-font-smoothing.enabled") and (-moz-platform: windows),
(-moz-bool-pref: "userChrome.hidden.tabbar") and (not (-moz-bool-pref: "userChrome.hidden.titlebar_container")) and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (not (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive")) and (-moz-bool-pref: "layout.css.osx-font-smoothing.enabled") and (-moz-platform: windows) {
- :root[sizemode="maximized"][tabsintitlebar] #navigator-toolbox-background {
+ :root[sizemode="maximized"]:is([tabsintitlebar], [customtitlebar]) #navigator-toolbox-background {
margin-top: calc(-1 * var(--uc-titlebar-padding));
}
- :root[sizemode="normal"][tabsintitlebar] #titlebar,
- :root[sizemode="maximized"][tabsintitlebar] #titlebar {
+ :root[sizemode="normal"]:is([tabsintitlebar], [customtitlebar]) #titlebar,
+ :root[sizemode="maximized"]:is([tabsintitlebar], [customtitlebar]) #titlebar {
appearance: none !important;
}
- .browser-toolbar:not(.titlebar-color) {
+ .browser-toolbar:not(.titlebar-color):not(.browser-titlebar) {
background-clip: border-box !important;
}
}
@@ -19826,13 +20740,19 @@
:root[inFullscreen]:not([macOSNativeFullscreen]) #menubar-items {
visibility: collapse !important;
}
- :root[tabsintitlebar] #titlebar {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar {
z-index: 1;
}
- :root[tabsintitlebar] #titlebar:-moz-window-inactive {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar:-moz-window-inactive,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar:-moz-window-inactive,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar:-moz-window-inactive {
opacity: 1 !important;
}
- :root[tabsintitlebar] #titlebar:-moz-window-inactive .titlebar-buttonbox {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar:-moz-window-inactive .titlebar-buttonbox,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar:-moz-window-inactive .titlebar-buttonbox,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar:-moz-window-inactive .titlebar-buttonbox {
opacity: var(--inactive-titlebar-opacity);
}
}
@@ -19966,14 +20886,14 @@
screen and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (not (-moz-bool-pref: "userChrome.hidden.titlebar_container")) and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (-moz-bool-pref: "userChrome.hidden.tabbar") and (max-width: 1100px) and (-moz-platform: windows),
screen and (-moz-bool-pref: "userChrome.hidden.tabbar") and (not (-moz-bool-pref: "userChrome.hidden.titlebar_container")) and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (-moz-bool-pref: "userChrome.tabbar.on_bottom") and (max-width: 1100px) and (-moz-platform: windows),
screen and (-moz-bool-pref: "userChrome.hidden.tabbar") and (not (-moz-bool-pref: "userChrome.hidden.titlebar_container")) and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (-moz-bool-pref: "userChrome.hidden.tabbar") and (max-width: 1100px) and (-moz-platform: windows) {
- :root[sizemode="maximized"][tabsintitlebar] #navigator-toolbox-background {
+ :root[sizemode="maximized"]:is([tabsintitlebar], [customtitlebar]) #navigator-toolbox-background {
margin-top: calc(-1 * var(--uc-titlebar-padding));
}
- :root[sizemode="normal"][tabsintitlebar] #titlebar,
- :root[sizemode="maximized"][tabsintitlebar] #titlebar {
+ :root[sizemode="normal"]:is([tabsintitlebar], [customtitlebar]) #titlebar,
+ :root[sizemode="maximized"]:is([tabsintitlebar], [customtitlebar]) #titlebar {
appearance: none !important;
}
- .browser-toolbar:not(.titlebar-color) {
+ .browser-toolbar:not(.titlebar-color):not(.browser-titlebar) {
background-clip: border-box !important;
}
}
@@ -20074,13 +20994,19 @@
:root[inFullscreen]:not([macOSNativeFullscreen]) #menubar-items {
visibility: collapse !important;
}
- :root[tabsintitlebar] #titlebar {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar {
z-index: 1;
}
- :root[tabsintitlebar] #titlebar:-moz-window-inactive {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar:-moz-window-inactive,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar:-moz-window-inactive,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar:-moz-window-inactive {
opacity: 1 !important;
}
- :root[tabsintitlebar] #titlebar:-moz-window-inactive .titlebar-buttonbox {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar:-moz-window-inactive .titlebar-buttonbox,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar:-moz-window-inactive .titlebar-buttonbox,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar:-moz-window-inactive .titlebar-buttonbox {
opacity: var(--inactive-titlebar-opacity);
}
}
@@ -20190,14 +21116,14 @@
@media screen and (-moz-bool-pref: "userChrome.tabbar.on_bottom") and (not (-moz-bool-pref: "userChrome.hidden.titlebar_container")) and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (min-width: 1100px) and (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first") and (-moz-platform: windows),
screen and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (not (-moz-bool-pref: "userChrome.hidden.titlebar_container")) and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (min-width: 1100px) and (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first") and (-moz-platform: windows),
screen and (-moz-bool-pref: "userChrome.hidden.tabbar") and (not (-moz-bool-pref: "userChrome.hidden.titlebar_container")) and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (min-width: 1100px) and (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first") and (-moz-platform: windows) {
- :root[sizemode="maximized"][tabsintitlebar] #navigator-toolbox-background {
+ :root[sizemode="maximized"]:is([tabsintitlebar], [customtitlebar]) #navigator-toolbox-background {
margin-top: calc(-1 * var(--uc-titlebar-padding));
}
- :root[sizemode="normal"][tabsintitlebar] #titlebar,
- :root[sizemode="maximized"][tabsintitlebar] #titlebar {
+ :root[sizemode="normal"]:is([tabsintitlebar], [customtitlebar]) #titlebar,
+ :root[sizemode="maximized"]:is([tabsintitlebar], [customtitlebar]) #titlebar {
appearance: none !important;
}
- .browser-toolbar:not(.titlebar-color) {
+ .browser-toolbar:not(.titlebar-color):not(.browser-titlebar) {
background-clip: border-box !important;
}
}
@@ -20274,13 +21200,19 @@
:root[inFullscreen]:not([macOSNativeFullscreen]) #menubar-items {
visibility: collapse !important;
}
- :root[tabsintitlebar] #titlebar {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar {
z-index: 1;
}
- :root[tabsintitlebar] #titlebar:-moz-window-inactive {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar:-moz-window-inactive,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar:-moz-window-inactive,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar:-moz-window-inactive {
opacity: 1 !important;
}
- :root[tabsintitlebar] #titlebar:-moz-window-inactive .titlebar-buttonbox {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar:-moz-window-inactive .titlebar-buttonbox,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar:-moz-window-inactive .titlebar-buttonbox,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar:-moz-window-inactive .titlebar-buttonbox {
opacity: var(--inactive-titlebar-opacity);
}
}
@@ -20384,14 +21316,14 @@
@media screen and (-moz-bool-pref: "userChrome.tabbar.on_bottom") and (not (-moz-bool-pref: "userChrome.hidden.titlebar_container")) and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (min-width: 1100px) and (-moz-bool-pref: "layout.css.osx-font-smoothing.enabled") and (-moz-platform: windows),
screen and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (not (-moz-bool-pref: "userChrome.hidden.titlebar_container")) and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (min-width: 1100px) and (-moz-bool-pref: "layout.css.osx-font-smoothing.enabled") and (-moz-platform: windows),
screen and (-moz-bool-pref: "userChrome.hidden.tabbar") and (not (-moz-bool-pref: "userChrome.hidden.titlebar_container")) and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (min-width: 1100px) and (-moz-bool-pref: "layout.css.osx-font-smoothing.enabled") and (-moz-platform: windows) {
- :root[sizemode="maximized"][tabsintitlebar] #navigator-toolbox-background {
+ :root[sizemode="maximized"]:is([tabsintitlebar], [customtitlebar]) #navigator-toolbox-background {
margin-top: calc(-1 * var(--uc-titlebar-padding));
}
- :root[sizemode="normal"][tabsintitlebar] #titlebar,
- :root[sizemode="maximized"][tabsintitlebar] #titlebar {
+ :root[sizemode="normal"]:is([tabsintitlebar], [customtitlebar]) #titlebar,
+ :root[sizemode="maximized"]:is([tabsintitlebar], [customtitlebar]) #titlebar {
appearance: none !important;
}
- .browser-toolbar:not(.titlebar-color) {
+ .browser-toolbar:not(.titlebar-color):not(.browser-titlebar) {
background-clip: border-box !important;
}
}
@@ -20468,13 +21400,19 @@
:root[inFullscreen]:not([macOSNativeFullscreen]) #menubar-items {
visibility: collapse !important;
}
- :root[tabsintitlebar] #titlebar {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar {
z-index: 1;
}
- :root[tabsintitlebar] #titlebar:-moz-window-inactive {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar:-moz-window-inactive,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar:-moz-window-inactive,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar:-moz-window-inactive {
opacity: 1 !important;
}
- :root[tabsintitlebar] #titlebar:-moz-window-inactive .titlebar-buttonbox {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar:-moz-window-inactive .titlebar-buttonbox,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar:-moz-window-inactive .titlebar-buttonbox,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar:-moz-window-inactive .titlebar-buttonbox {
opacity: var(--inactive-titlebar-opacity);
}
}
@@ -20791,7 +21729,7 @@
}
/*= Tab Bar - Show only current tab ==========================================*/
@media (-moz-bool-pref: "userChrome.tabbar.as_titlebar") {
- :root:not([tabsintitlebar="true"]) #tabbrowser-tabs,
+ :root:not([tabsintitlebar="true"]):not([customtitlebar="true"]) #tabbrowser-tabs,
#scrollbutton-up,
#scrollbutton-down,
.titlebar-spacer[type="pre-tabs"],
@@ -20823,6 +21761,7 @@
width: 100%;
}
/* Pinned */
+ #tabbrowser-tabs[positionpinnedtabs] > #pinned-tabs-container > .tabbrowser-tab[pinned][selected="true"],
#tabbrowser-tabs[positionpinnedtabs] > #tabbrowser-arrowscrollbox > .tabbrowser-tab[pinned][selected="true"] {
position: relative !important;
}
@@ -20843,24 +21782,30 @@
/* Padding */
}
@media (-moz-bool-pref: "userChrome.tabbar.as_titlebar") and (not (-moz-bool-pref: "userChrome.centered.tab")) {
+ #pinned-tabs-container,
#tabbrowser-arrowscrollbox {
margin-inline: 2px !important;
}
+ :root[sizemode="normal"] #pinned-tabs-container,
:root[sizemode="normal"] #tabbrowser-arrowscrollbox {
margin-inline: 6px !important;
}
}
@media (-moz-bool-pref: "userChrome.tabbar.as_titlebar") and (-moz-bool-pref: "userChrome.centered.tab") and (-moz-bool-pref: "userChrome.centered.tab.label") {
+ #pinned-tabs-container,
#tabbrowser-arrowscrollbox {
margin-inline: 2px !important;
}
+ :root[sizemode="normal"] #pinned-tabs-container,
:root[sizemode="normal"] #tabbrowser-arrowscrollbox {
margin-inline: 6px !important;
}
}
@media (-moz-bool-pref: "userChrome.tabbar.as_titlebar") and (-moz-bool-pref: "browser.tabs.tabmanager.enabled") {
- :root:not([tabsintitlebar="true"]) #tabbrowser-tabs:not([overflow="true"], [hashiddentabs]) ~ #alltabs-button,
- :root:not([tabsintitlebar="true"])
+ :root:not([tabsintitlebar="true"]):not([customtitlebar="true"])
+ #tabbrowser-tabs:not([overflow="true"], [hashiddentabs])
+ ~ #alltabs-button,
+ :root:not([tabsintitlebar="true"]):not([customtitlebar="true"])
#tabbrowser-tabs[hasadjacentnewtabbutton]:not([overflow="true"])
~ #new-tab-button {
display: flex !important;
@@ -20894,6 +21839,7 @@
}
}
.scrollbox-clip[orient="horizontal"],
+ #pinned-tabs-container,
#tabbrowser-arrowscrollbox {
overflow: -moz-hidden-unscrollable;
display: block;
@@ -20971,6 +21917,7 @@
> #tabs-newtab-button {
z-index: 2 !important;
}
+ #tabbrowser-tabs[closebuttons="activetab"][hasadjacentnewtabbutton="true"] #pinned-tabs-container,
#tabbrowser-tabs[closebuttons="activetab"][hasadjacentnewtabbutton="true"] #tabbrowser-arrowscrollbox {
padding-inline-end: calc(
16px + (var(--toolbarbutton-inner-padding) + var(--toolbarbutton-outer-padding)) * 2
@@ -20988,21 +21935,37 @@
/** Tab UI ********************************************************************/
/*= Tab - Connect to window ==============================================*/
@media (-moz-bool-pref: "userChrome.tab.connect_to_window") {
- #tabbrowser-tabs[orient="vertical"] {
- --uc-tab-border-bottom-radius: var(--tab-border-radius);
+ #TabsToolbar #tabbrowser-tabs:not([orient="vertical"]) {
+ max-height: var(--tab-min-height);
}
- .tab-background {
+ #TabsToolbar #tabbrowser-tabs:not([orient="vertical"])[movingtab] {
+ padding-bottom: unset !important;
+ margin-bottom: unset !important;
+ }
+ #TabsToolbar[multibar] #tabbrowser-tabs:not([orient="vertical"]) {
+ max-height: var(--tab-min-height_mlt);
+ }
+ #tabbrowser-tabs:not([orient="vertical"]) {
+ min-height: unset !important; /* Original: var(--tabstrip-min-height) */
+ }
+ #tabbrowser-tabs:not([orient="vertical"]) .tab-background {
border-radius: var(--tab-border-radius) var(--tab-border-radius) var(--uc-tab-border-bottom-radius, 0px)
var(--uc-tab-border-bottom-radius, 0px) !important;
margin-bottom: 0px !important;
}
- .tab-content {
+ #tabbrowser-tabs:not([orient="vertical"]) .tab-content {
margin-top: 0px;
}
- .tab-stack {
+ #tabbrowser-tabs:not([orient="vertical"]) .tab-stack {
margin-top: 0px !important;
margin-bottom: 0px !important;
}
+ #tabbrowser-tabs:not([orient="vertical"]) tab-group .tabbrowser-tab:is([selected], [multiselected]) .tab-group-line {
+ transform: translateY(calc(var(--tab-group-line-thickness) * -1));
+ }
+ #tabbrowser-tabs[orient="vertical"] {
+ --uc-tab-border-bottom-radius: var(--tab-border-radius);
+ }
/* Remove line at Toolbar's top */
#tabbrowser-tabs {
z-index: 1 !important;
@@ -21016,9 +21979,11 @@
}
}
@media (-moz-bool-pref: "userChrome.tab.connect_to_window") {
+ #tabbrowser-tabs[positionpinnedtabs] > #pinned-tabs-container > .tabbrowser-tab[pinned],
#tabbrowser-tabs[positionpinnedtabs] > #tabbrowser-arrowscrollbox > .tabbrowser-tab[pinned] {
z-index: 0 !important;
}
+ #tabbrowser-tabs[positionpinnedtabs] > #pinned-tabs-container > .tabbrowser-tab[pinned] .tab-stack,
#tabbrowser-tabs[positionpinnedtabs] > #tabbrowser-arrowscrollbox > .tabbrowser-tab[pinned] .tab-stack {
/* Temporary solution for compatibility #513 */
overflow-y: clip;
@@ -21037,11 +22002,6 @@
}
/*= Selected Tab =============================================================*/
/*= Selected Tab - Bold ======================================================*/
-@media not (-moz-bool-pref: "userChrome.tab.selected_bold") {
- .tab-label:is([selected], [attention]) {
- font-weight: 400 !important;
- }
-}
@media (-moz-bool-pref: "userChrome.tab.selected_bold") {
.tab-label:is([selected], [attention]) {
font-weight: 600;
@@ -21059,6 +22019,26 @@
.tab-background:is([selected], [multiselected]) {
background-color: var(--tab-selected-bgcolor, var(--toolbar-bgcolor)) !important;
}
+ :root:is(:-moz-lwtheme, [lwtheme]) #pinned-tabs-container > .tabbrowser-tab > .tab-stack > .tab-background[selected],
+ :root:is(:-moz-lwtheme, [lwtheme])
+ #tabbrowser-tabs:not([movingtab])
+ > #pinned-tabs-container
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[selected],
+ :root:is(:-moz-lwtheme, [lwtheme])
+ #pinned-tabs-container
+ > tab-group
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[selected],
+ :root:is(:-moz-lwtheme, [lwtheme])
+ #tabbrowser-tabs[orient="horizontal"]:not([movingtab])
+ > #pinned-tabs-container
+ > tab-group
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[selected],
:root:is(:-moz-lwtheme, [lwtheme])
#tabbrowser-arrowscrollbox
> .tabbrowser-tab
@@ -21069,6 +22049,19 @@
> #tabbrowser-arrowscrollbox
> .tabbrowser-tab
> .tab-stack
+ > .tab-background[selected],
+ :root:is(:-moz-lwtheme, [lwtheme])
+ #tabbrowser-arrowscrollbox
+ > tab-group
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[selected],
+ :root:is(:-moz-lwtheme, [lwtheme])
+ #tabbrowser-tabs[orient="horizontal"]:not([movingtab])
+ > #tabbrowser-arrowscrollbox
+ > tab-group
+ > .tabbrowser-tab
+ > .tab-stack
> .tab-background[selected] {
/* Original: linear-gradient(var(--lwt-selected-tab-background-color, transparent), var(--lwt-selected-tab-background-color, transparent)), linear-gradient(var(--toolbar-bgcolor), var(--toolbar-bgcolor)), var(--lwt-header-image, none)
*/
@@ -21080,6 +22073,30 @@
}
}
@media (-moz-bool-pref: "userChrome.tab.color_like_toolbar") and (-moz-bool-pref: "userChrome.theme.transparent.frame") {
+ :root:not([lwtheme-image]):is(:-moz-lwtheme, [lwtheme])
+ #pinned-tabs-container
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[selected],
+ :root:not([lwtheme-image]):is(:-moz-lwtheme, [lwtheme])
+ #tabbrowser-tabs:not([movingtab])
+ > #pinned-tabs-container
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[selected],
+ :root:not([lwtheme-image]):is(:-moz-lwtheme, [lwtheme])
+ #pinned-tabs-container
+ > tab-group
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[selected],
+ :root:not([lwtheme-image]):is(:-moz-lwtheme, [lwtheme])
+ #tabbrowser-tabs[orient="horizontal"]:not([movingtab])
+ > #pinned-tabs-container
+ > tab-group
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[selected],
:root:not([lwtheme-image]):is(:-moz-lwtheme, [lwtheme])
#tabbrowser-arrowscrollbox
> .tabbrowser-tab
@@ -21090,6 +22107,19 @@
> #tabbrowser-arrowscrollbox
> .tabbrowser-tab
> .tab-stack
+ > .tab-background[selected],
+ :root:not([lwtheme-image]):is(:-moz-lwtheme, [lwtheme])
+ #tabbrowser-arrowscrollbox
+ > tab-group
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[selected],
+ :root:not([lwtheme-image]):is(:-moz-lwtheme, [lwtheme])
+ #tabbrowser-tabs[orient="horizontal"]:not([movingtab])
+ > #tabbrowser-arrowscrollbox
+ > tab-group
+ > .tabbrowser-tab
+ > .tab-stack
> .tab-background[selected] {
background-image: linear-gradient(transparent, transparent),
linear-gradient(var(--toolbar-bgcolor), var(--toolbar-bgcolor)), var(--lwt-additional-images, none) !important;
@@ -21099,16 +22129,35 @@
}
/*= Multi Selected Color - More Contrast =====================================*/
@media (-moz-bool-pref: "userChrome.tab.multi_selected") {
- #TabsToolbar {
+ #TabsToolbar,
+ #vertical-tabs {
--uc-multiselected-tab-bgcolor: color-mix(in srgb, currentColor 28%, var(--toolbar-bgcolor, transparent));
}
- #TabsToolbar[brighttext] {
+ #TabsToolbar[brighttext],
+ #vertical-tabs[brighttext] {
--uc-multiselected-tab-bgcolor: color-mix(in srgb, currentColor 16%, var(--toolbar-bgcolor, transparent));
}
+ #tabbrowser-tabs:not([movingtab])
+ > #pinned-tabs-container
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[multiselected]:not([selected]),
+ #tabbrowser-tabs:not([movingtab])
+ > #pinned-tabs-container
+ > tab-group
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[multiselected]:not([selected]),
#tabbrowser-tabs:not([movingtab])
> #tabbrowser-arrowscrollbox
> .tabbrowser-tab
> .tab-stack
+ > .tab-background[multiselected]:not([selected]),
+ #tabbrowser-tabs:not([movingtab])
+ > #tabbrowser-arrowscrollbox
+ > tab-group
+ > .tabbrowser-tab
+ > .tab-stack
> .tab-background[multiselected]:not([selected]) {
/* Original:
background-attachment: scroll, scroll, fixed;
@@ -21783,15 +22832,144 @@
margin: unset !important;
}
}
+/*= Selected Tab - Supernova like contextline ===================================*/
+@media (not (-moz-bool-pref: "userChrome.tab.photon_like_contextline")) and (-moz-bool-pref: "userChrome.tab.supernova_like_contextline") {
+ /* context line styles */
+ tabs tab.tabbrowser-tab > .tab-stack > .tab-background > .tab-context-line {
+ display: inline-flex !important;
+ display: -moz-inline-box !important;
+ }
+ tabs tab.tabbrowser-tab > .tab-stack > .tab-background > .tab-context-line::before {
+ content: "";
+ height: 1px !important;
+ border-radius: 9999px !important;
+ transform: translateY(5px);
+ margin-top: -1px !important;
+ margin-left: 5px;
+ margin-right: 5px;
+ width: 100%;
+ }
+ /* Override container-tab style */
+ tabs tab.tabbrowser-tab[usercontextid] > .tab-stack > .tab-background > .tab-context-line {
+ margin: unset !important;
+ }
+ /* selected tab style */
+ :root[lwtheme-mozlightdark]:not([lwthemetextcolor="bright"]),
+ :root[style*="--lwt-accent-color: rgb(240, 240, 244); --lwt-text-color: rgba(21, 20, 26);"] .tab-context-line,
+ :root[lwtheme-mozlightdark][lwthemetextcolor="bright"],
+ :root[style*="--lwt-accent-color: rgb(28, 27, 34); --lwt-text-color: rgba(251, 251, 254);"] .tab-context-line {
+ --tab-line-color: #45a1ff;
+ }
+ .tabbrowser-tab:is([selected], [multiselected]) .tab-context-line::before {
+ background-color: var(--tab-line-color, var(--lwt-tab-line-color, #45a1ff)) !important;
+ }
+ /* Set the active effect */
+ .tabbrowser-tab:active > .tab-stack > .tab-background > .tab-context-line::before {
+ filter: brightness(70%);
+ margin-left: 6px;
+ margin-right: 6px;
+ }
+ /* Set the hover effect */
+ .tabbrowser-tab:hover:not([selected="true"], [multiselected])
+ > .tab-stack
+ > .tab-background
+ > .tab-context-line::before {
+ background-color: rgba(0, 0, 0, 0.4) !important;
+ opacity: 1 !important;
+ }
+ #TabsToolbar[brighttext]
+ .tabbrowser-tab:hover:not([selected="true"], [multiselected])
+ > .tab-stack
+ > .tab-background
+ > .tab-context-line::before {
+ background-color: rgba(255, 255, 255, 0.4) !important;
+ }
+ /* Animation */
+ /* Animation for hover effect */
+ /* --- copied (not modified) from _photon_like_contextline.scss --- */
+ /* Prevent identity color flashing */
+ /* Remove side's background color border */
+}
+@media (not (-moz-bool-pref: "userChrome.tab.photon_like_contextline")) and (-moz-bool-pref: "userChrome.tab.supernova_like_contextline") and (prefers-reduced-motion: no-preference) {
+ .tabbrowser-tab:hover:not([selected="true"], [multiselected])
+ > .tab-stack
+ > .tab-background
+ > .tab-context-line::before {
+ animation: toWide 0.2s cubic-bezier(0, 0.9, 0.15, 1);
+ }
+}
+@media (not (-moz-bool-pref: "userChrome.tab.photon_like_contextline")) and (-moz-bool-pref: "userChrome.tab.supernova_like_contextline") {
+ @keyframes toWide {
+ 0% {
+ opacity: 0.8;
+ margin-left: 40%;
+ margin-right: 40%;
+ }
+ 100% {
+ opacity: 1;
+ margin-left: 5px;
+ margin-right: 5px;
+ }
+ }
+}
+@media (not (-moz-bool-pref: "userChrome.tab.photon_like_contextline")) and (-moz-bool-pref: "userChrome.tab.supernova_like_contextline") {
+ .tabbrowser-tab[usercontextid] .tab-context-line {
+ --identity-icon-color: none;
+ }
+}
+@media (not (-moz-bool-pref: "userChrome.tab.photon_like_contextline")) and (-moz-bool-pref: "userChrome.tab.supernova_like_contextline") {
+ :root:not([customizing="true"]) #TabsToolbar[brighttext] tab[visuallyselected] > stack::before,
+ :root:not([customizing="true"]) #TabsToolbar[brighttext] tab[visuallyselected] > stack::after {
+ /* As Selected Tab - Box Shadow */
+ stroke: var(--toolbar-color) !important;
+ }
+}
+@media (not (-moz-bool-pref: "userChrome.tab.photon_like_contextline")) and (-moz-bool-pref: "userChrome.tab.supernova_like_contextline") {
+ :root:is(:-moz-lwtheme, [lwtheme])
+ #TabsToolbar[brighttext]
+ #tabbrowser-tabs:not([noshadowfortests])
+ .tabbrowser-tab:is([visuallyselected], [multiselected])
+ > .tab-stack
+ > .tab-background {
+ --tabs-border-color: rgba(0, 0, 0, 0.3) !important;
+ box-shadow: 0 0 1px var(--tabs-border-color) !important; /* Original: 0 0 1px var(--tab-line-color, rgba(128,128,142,0.9)) */
+ }
+}
+@media (not (-moz-bool-pref: "userChrome.tab.photon_like_contextline")) and (-moz-bool-pref: "userChrome.tab.supernova_like_contextline") {
+ #TabsToolbar:not([brighttext])
+ #tabbrowser-tabs:not([noshadowfortests])
+ .tabbrowser-tab:is([visuallyselected], [multiselected])
+ > .tab-stack
+ > .tab-background {
+ box-shadow: 0 0 1px var(--tabs-border-color), 0 0 4px rgba(128, 128, 142, 0.5) !important; /* Original: 0 0 1px var(--tab-line-color, rgba(128,128,142,0.9)), 0 0 4px rgba(128,128,142,0.5) */
+ }
+}
+@media (not (-moz-bool-pref: "userChrome.tab.photon_like_contextline")) and (-moz-bool-pref: "userChrome.tab.supernova_like_contextline") and (-moz-bool-pref: "userChrome.tab.contextline_blue_accent") {
+ #tabbrowser-tabs .tab-context-line {
+ --tab-line-color: #45a1ff !important;
+ }
+}
+@media (not (-moz-bool-pref: "userChrome.tab.photon_like_contextline")) and (-moz-bool-pref: "userChrome.tab.supernova_like_contextline") and (not (-moz-bool-pref: "userChrome.tab.contextline_blue_accent")) and (-moz-gtk-csd-available) {
+ :root:is(:not([lwtheme]), :not(:-moz-lwtheme)) #tabbrowser-tabs .tab-context-line {
+ --tab-line-color: AccentColor !important; /* -moz-accent-color */
+ }
+}
+@media (not (-moz-bool-pref: "userChrome.tab.photon_like_contextline")) and (-moz-bool-pref: "userChrome.tab.supernova_like_contextline") and (not (-moz-bool-pref: "userChrome.tab.contextline_blue_accent")) and (-moz-gtk-csd-available) and (-moz-bool-pref: "userChrome.compatibility.accent_color") {
+ :root:is(:not([lwtheme]), :not(:-moz-lwtheme)) #tabbrowser-tabs .tab-context-line {
+ --tab-line-color: Highlight !important; /* -moz-accent-color */
+ }
+}
/*= Unselected Tab - Divide line =============================================*/
/*= Unselected Tab - Dynamic Separator =======================================*/
@media (-moz-bool-pref: "userChrome.tab.dynamic_separator") {
+ #pinned-tabs-container,
#tabbrowser-arrowscrollbox {
--start-tab-separator-position-x: -1.5px;
--end-tab-separator-position-x: 1.5px;
--tab-separator-position-x: -2.5px;
--tab-separator-position-y: calc(-50% + 1px);
}
+ #pinned-tabs-container:-moz-locale-dir(rtl),
#tabbrowser-arrowscrollbox:-moz-locale-dir(rtl) {
--start-tab-separator-position-x: 1.5px;
--end-tab-separator-position-x: -1.5px;
@@ -21804,8 +22982,8 @@
/* Latest Tab & New tab margin */
}
@media (-moz-bool-pref: "userChrome.tab.dynamic_separator") and (-moz-bool-pref: "userChrome.tab.newtab_button_like_tab") {
- .tab-stack::before,
- #tabs-newtab-button::before {
+ #tabbrowser-tabs:not([orient="vertical"]) .tab-stack::before,
+ #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button::before {
/* Box Model */
content: "";
display: block;
@@ -21823,19 +23001,20 @@
}
}
@media (-moz-bool-pref: "userChrome.tab.dynamic_separator") and (-moz-bool-pref: "userChrome.tab.newtab_button_like_tab") and (-moz-bool-pref: "userChrome.compatibility.dynamic_separator") {
- .tab-stack::before,
- #tabs-newtab-button::before {
+ #tabbrowser-tabs:not([orient="vertical"]) .tab-stack::before,
+ #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button::before {
background-color: var(--tabs-border-color);
}
}
@media (-moz-bool-pref: "userChrome.tab.dynamic_separator") and (-moz-bool-pref: "userChrome.tab.newtab_button_like_tab") {
- #tabs-newtab-button::before {
+ #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button::before {
left: calc(50% - (8px + var(--toolbarbutton-inner-padding)));
}
}
@media (-moz-bool-pref: "userChrome.tab.dynamic_separator") and (not (-moz-bool-pref: "userChrome.tab.newtab_button_like_tab")) {
- .tab-stack::before,
- #tabbrowser-arrowscrollbox:not([overflowing])
+ #tabbrowser-tabs:not([orient="vertical"]) .tab-stack::before,
+ #tabbrowser-tabs:not([orient="vertical"])
+ #tabbrowser-arrowscrollbox:not([overflowing])
.tabbrowser-tab:not([visuallyselected], [multiselected], :hover):last-of-type
.tab-stack::after {
/* Box Model */
@@ -21853,55 +23032,79 @@
}
}
@media (-moz-bool-pref: "userChrome.tab.dynamic_separator") and (not (-moz-bool-pref: "userChrome.tab.newtab_button_like_tab")) and (-moz-bool-pref: "userChrome.compatibility.dynamic_separator") {
- .tab-stack::before,
- #tabbrowser-arrowscrollbox:not([overflowing])
+ #tabbrowser-tabs:not([orient="vertical"]) .tab-stack::before,
+ #tabbrowser-tabs:not([orient="vertical"])
+ #tabbrowser-arrowscrollbox:not([overflowing])
.tabbrowser-tab:not([visuallyselected], [multiselected], :hover):last-of-type
.tab-stack::after {
background-color: var(--tabs-border-color);
}
}
@media (-moz-bool-pref: "userChrome.tab.dynamic_separator") and (not (-moz-bool-pref: "userChrome.tab.newtab_button_like_tab")) {
- .tab-stack::before {
+ #tabbrowser-tabs:not([orient="vertical"]) .tab-stack::before {
transform: translateX(var(--tab-separator-position-x)) translateY(var(--tab-separator-position-y)) !important;
}
}
@media (-moz-bool-pref: "userChrome.tab.dynamic_separator") and (not (-moz-bool-pref: "userChrome.tab.newtab_button_like_tab")) {
- .tabbrowser-tab:last-of-type .tab-stack::after {
+ #tabbrowser-tabs:not([orient="vertical"]) .tabbrowser-tab:last-of-type .tab-stack::after {
right: 0;
transform: translateX(var(--end-tab-separator-position-x)) translateY(var(--tab-separator-position-y)) !important;
}
}
@media (-moz-bool-pref: "userChrome.tab.dynamic_separator") {
- .tabbrowser-tab:not([visuallyselected], [multiselected], :hover, :first-of-type) .tab-stack::before {
+ #pinned-tabs-container:not([orient="vertical"]):not(:empty):not(
+ :has(.tabbrowser-tab[pinned]:is([visuallyselected], [multiselected], :hover):last-of-type)
+ )
+ ~ #tabbrowser-arrowscrollbox:not([orient="vertical"])
+ .tabbrowser-tab:not([visuallyselected], [multiselected], :hover):first-of-type
+ .tab-stack::before,
+ #tabbrowser-tabs:not([orient="vertical"])
+ .tabbrowser-tab:not([visuallyselected], [multiselected], :hover, :first-of-type)
+ .tab-stack::before {
opacity: var(--tab-separator-opacity);
}
}
@media (-moz-bool-pref: "userChrome.tab.dynamic_separator") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (not (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first")) and (not (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive")) {
- .tabbrowser-tab:not([visuallyselected], [multiselected], :hover):first-of-type .tab-stack::before {
+ #tabbrowser-tabs:not([orient="vertical"])
+ .tabbrowser-tab:not([visuallyselected], [multiselected], :hover):first-of-type
+ .tab-stack::before {
opacity: var(--tab-separator-opacity);
transform: translateX(var(--start-tab-separator-position-x)) translateY(var(--tab-separator-position-y));
}
}
@media screen and (-moz-bool-pref: "userChrome.tab.dynamic_separator") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (not (-moz-bool-pref: "userChrome.tabbar.one_liner.tabbar_first")) and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (min-width: 1100px) {
- .tabbrowser-tab:not([visuallyselected], [multiselected], :hover):first-of-type .tab-stack::before {
+ #tabbrowser-tabs:not([orient="vertical"])
+ .tabbrowser-tab:not([visuallyselected], [multiselected], :hover):first-of-type
+ .tab-stack::before {
opacity: var(--tab-separator-opacity);
transform: translateX(var(--start-tab-separator-position-x)) translateY(var(--tab-separator-position-y));
}
}
@media (-moz-bool-pref: "userChrome.tab.dynamic_separator") and (-moz-bool-pref: "userChrome.tab.newtab_button_like_tab") {
- #tabs-newtab-button:not(:hover, [open])::before {
+ #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button:not(:hover, [open])::before {
opacity: var(--tab-separator-opacity);
}
}
@media (-moz-bool-pref: "userChrome.tab.dynamic_separator") and (not (-moz-bool-pref: "userChrome.tab.newtab_button_like_tab")) {
- #tabbrowser-arrowscrollbox:not([overflowing])
+ #tabbrowser-tabs:not([orient="vertical"])
+ #tabbrowser-arrowscrollbox:not([overflowing])
.tabbrowser-tab:not([visuallyselected], [multiselected], :hover):last-of-type
.tab-stack::after {
opacity: var(--tab-separator-opacity);
}
}
+@media (-moz-bool-pref: "userChrome.tab.dynamic_separator") {
+ #tabbrowser-tabs:not([orient="vertical"])
+ tab-group:has(.tabbrowser-tab:last-child:is(:hover, [selected]))
+ + .tabbrowser-tab
+ .tab-stack::before,
+ #tabbrowser-tabs:not([orient="vertical"]) tab-group[collapsed] + .tabbrowser-tab .tab-stack::before {
+ opacity: 0 !important;
+ }
+}
@media (-moz-bool-pref: "userChrome.tab.dynamic_separator") {
#navigator-toolbox:not([movingtab])
+ #tabbrowser-tabs:not([orient="vertical"])
.tabbrowser-tab:is([first-visible-unpinned-tab], :nth-child(1 of :not([pinned], [hidden]))):is(
[visuallyselected],
[multiselected],
@@ -21909,6 +23112,7 @@
)
.tab-stack::before,
#navigator-toolbox:not([movingtab])
+ #tabbrowser-tabs:not([orient="vertical"])
#tabbrowser-arrowscrollbox[overflowing]
tab.tabbrowser-tab:is([first-visible-unpinned-tab], :nth-child(1 of :not([pinned], [hidden])))
.tab-stack::before {
@@ -21917,13 +23121,16 @@
}
@media (-moz-bool-pref: "userChrome.tab.dynamic_separator") and (-moz-bool-pref: "userChrome.tab.newtab_button_like_tab") {
#navigator-toolbox:not([movingtab])
+ #tabbrowser-tabs:not([orient="vertical"])
.tabbrowser-tab:is([visuallyselected], [multiselected], :hover)
+ .tabbrowser-tab
.tab-stack::before,
#navigator-toolbox:not([movingtab])
+ #tabbrowser-tabs:not([orient="vertical"])
.tabbrowser-tab:last-of-type:is([visuallyselected], [multiselected], :hover)
~ #tabs-newtab-button::before,
#navigator-toolbox:not([movingtab])
+ #tabbrowser-tabs:not([orient="vertical"])
.tabbrowser-tab:last-of-type:is([visuallyselected], [multiselected], :hover)
~ #tabbrowser-arrowscrollbox-periphery
#tabs-newtab-button::before {
@@ -21931,37 +23138,39 @@
}
}
@media (-moz-bool-pref: "userChrome.tab.dynamic_separator") and (not (-moz-bool-pref: "userChrome.tab.newtab_button_like_tab")) {
- .tabbrowser-tab:is([visuallyselected], [multiselected], :hover)
+ #tabbrowser-tabs:not([orient="vertical"])
+ .tabbrowser-tab:is([visuallyselected], [multiselected], :hover)
+ .tabbrowser-tab:not([visuallyselected])
.tab-stack::before {
opacity: 0 !important;
}
- :root:not([uidensity="compact"]) #tabs-newtab-button > .toolbarbutton-icon {
+ :root:not([uidensity="compact"]) #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button > .toolbarbutton-icon {
margin-left: 2px;
}
- :root[uidensity="compact"] #tabs-newtab-button > .toolbarbutton-icon {
+ :root[uidensity="compact"] #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button > .toolbarbutton-icon {
margin-left: 1px;
}
}
@media (-moz-bool-pref: "userChrome.tab.dynamic_separator") and (prefers-reduced-motion: no-preference) {
- .tab-stack::before {
+ #tabbrowser-tabs:not([orient="vertical"]) .tab-stack::before {
transition: opacity 0.2s var(--animation-easing-function); /* cubic-bezier(.07, .95, 0, 1) */
}
}
@media (-moz-bool-pref: "userChrome.tab.dynamic_separator") and (prefers-reduced-motion: no-preference) and (-moz-bool-pref: "userChrome.tab.newtab_button_like_tab") {
- #tabs-newtab-button::before {
+ #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button::before {
transition: opacity 0.2s var(--animation-easing-function); /* cubic-bezier(.07, .95, 0, 1) */
}
}
@media (-moz-bool-pref: "userChrome.tab.dynamic_separator") and (prefers-reduced-motion: no-preference) and (not (-moz-bool-pref: "userChrome.tab.newtab_button_like_tab")) {
- #tabbrowser-arrowscrollbox:not([overflowing])
+ #tabbrowser-tabs:not([orient="vertical"])
+ #tabbrowser-arrowscrollbox:not([overflowing])
.tabbrowser-tab:not([visuallyselected], [multiselected], :hover):last-of-type
.tab-stack::after {
transition: opacity 0.2s var(--animation-easing-function); /* cubic-bezier(.07, .95, 0, 1) */
}
}
@media (-moz-bool-pref: "userChrome.tab.dynamic_separator") {
- #tabbrowser-arrowscrollbox:not([overflowing]) .tabbrowser-tab:last-of-type {
+ #tabbrowser-tabs:not([orient="vertical"]) #tabbrowser-arrowscrollbox:not([overflowing]) .tabbrowser-tab:last-of-type {
margin-inline-end: 1px !important;
}
}
@@ -22072,7 +23281,7 @@
/* Fix tab overlap #678 */
}
@media (-moz-bool-pref: "userChrome.tab.newtab_button_like_tab") and (-moz-bool-pref: "userChrome.tab.connect_to_window") {
- #tabs-newtab-button {
+ #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button {
/* Size */
align-items: stretch !important;
-moz-box-align: stretch !important;
@@ -22080,7 +23289,7 @@
}
}
@media (-moz-bool-pref: "userChrome.tab.newtab_button_like_tab") and (-moz-bool-pref: "userChrome.tab.bottom_rounded_corner") {
- #tabs-newtab-button {
+ #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button {
/* Original:
margin: 0 0 var(--tabs-navbar-shadow-size) !important
=> Can't override style. Therefore, we should approach it by bypass.
@@ -22106,7 +23315,7 @@
(-moz-bool-pref: "userChrome.tab.newtab_button_like_tab") and (-moz-bool-pref: "userChrome.tab.bottom_rounded_corner") and (-moz-bool-pref: "userChrome.tab.bottom_rounded_corner.chrome_legacy"),
(-moz-bool-pref: "userChrome.tab.newtab_button_like_tab") and (-moz-bool-pref: "userChrome.tab.bottom_rounded_corner") and (-moz-bool-pref: "userChrome.tab.bottom_rounded_corner.chrome"),
(-moz-bool-pref: "userChrome.tab.newtab_button_like_tab") and (-moz-bool-pref: "userChrome.tab.bottom_rounded_corner") and (-moz-bool-pref: "userChrome.tab.bottom_rounded_corner.edge") {
- #tabs-newtab-button {
+ #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button {
--uc-newtab-position: 0px;
--uc-newtab-non-corner-bgwidth: 0px;
--uc-tab-corner-half-height: calc(var(--uc-tab-corner-height) / 2);
@@ -22135,7 +23344,7 @@
(-moz-bool-pref: "userChrome.tab.newtab_button_like_tab") and (-moz-bool-pref: "userChrome.tab.bottom_rounded_corner") and (-moz-bool-pref: "userChrome.tab.bottom_rounded_corner.chrome") and (-moz-bool-pref: "userChrome.tab.bottom_rounded_corner.edge"),
(-moz-bool-pref: "userChrome.tab.newtab_button_like_tab") and (-moz-bool-pref: "userChrome.tab.bottom_rounded_corner") and (-moz-bool-pref: "userChrome.tab.bottom_rounded_corner.edge") and (-moz-bool-pref: "userChrome.tab.bottom_rounded_corner.chrome"),
(-moz-bool-pref: "userChrome.tab.newtab_button_like_tab") and (-moz-bool-pref: "userChrome.tab.bottom_rounded_corner") and (-moz-bool-pref: "userChrome.tab.bottom_rounded_corner.edge") and (-moz-bool-pref: "userChrome.tab.bottom_rounded_corner.edge") {
- #tabs-newtab-button {
+ #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button {
--uc-newtab-non-corner-bgwidth: calc(2 * var(--toolbarbutton-inner-padding));
}
}
@@ -22150,13 +23359,20 @@
}
}
@media (-moz-bool-pref: "userChrome.tab.newtab_button_like_tab") and (-moz-windows-accent-color-in-titlebar) {
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme)) #tabs-newtab-button:hover,
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) #tabs-newtab-button:hover {
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ #tabbrowser-tabs:not([orient="vertical"])
+ #tabs-newtab-button:hover,
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ #tabbrowser-tabs:not([orient="vertical"])
+ #tabs-newtab-button:hover {
fill: color-mix(in srgb, AccentColorText 10%, transparent) !important; /* Hardcoded for compatibility */
}
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ #tabbrowser-tabs:not([orient="vertical"])
#tabs-newtab-button:hover:active,
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) #tabs-newtab-button:hover:active {
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ #tabbrowser-tabs:not([orient="vertical"])
+ #tabs-newtab-button:hover:active {
fill: color-mix(in srgb, AccentColorText 15%, transparent) !important; /* Hardcoded for compatibility */
}
}
@@ -22165,8 +23381,12 @@
(-moz-bool-pref: "userChrome.tab.newtab_button_like_tab") and (-moz-windows-accent-color-in-titlebar) and (-moz-bool-pref: "userChrome.tab.bottom_rounded_corner") and (-moz-bool-pref: "userChrome.tab.bottom_rounded_corner.chrome_legacy"),
(-moz-bool-pref: "userChrome.tab.newtab_button_like_tab") and (-moz-windows-accent-color-in-titlebar) and (-moz-bool-pref: "userChrome.tab.bottom_rounded_corner") and (-moz-bool-pref: "userChrome.tab.bottom_rounded_corner.chrome"),
(-moz-bool-pref: "userChrome.tab.newtab_button_like_tab") and (-moz-windows-accent-color-in-titlebar) and (-moz-bool-pref: "userChrome.tab.bottom_rounded_corner") and (-moz-bool-pref: "userChrome.tab.bottom_rounded_corner.edge") {
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme)) #tabs-newtab-button:hover,
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) #tabs-newtab-button:hover {
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ #tabbrowser-tabs:not([orient="vertical"])
+ #tabs-newtab-button:hover,
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ #tabbrowser-tabs:not([orient="vertical"])
+ #tabs-newtab-button:hover {
background-image: var(--uc-tab-corner-left-side-svg),
linear-gradient(
to left,
@@ -22175,9 +23395,12 @@
),
var(--uc-tab-corner-right-side-svg);
}
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ #tabbrowser-tabs:not([orient="vertical"])
#tabs-newtab-button:hover:active,
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) #tabs-newtab-button:hover:active {
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ #tabbrowser-tabs:not([orient="vertical"])
+ #tabs-newtab-button:hover:active {
background-image: var(--uc-tab-corner-left-side-svg),
linear-gradient(
to left,
@@ -22188,17 +23411,24 @@
}
}
@media (-moz-bool-pref: "userChrome.tab.newtab_button_like_tab") and (-moz-windows-accent-color-in-titlebar) and (-moz-bool-pref: "userChrome.compatibility.accent_color") {
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme)) #tabs-newtab-button:hover,
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) #tabs-newtab-button:hover {
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ #tabbrowser-tabs:not([orient="vertical"])
+ #tabs-newtab-button:hover,
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ #tabbrowser-tabs:not([orient="vertical"])
+ #tabs-newtab-button:hover {
fill: color-mix(
in srgb,
-moz-accent-color-foreground 10%,
transparent
) !important; /* Hardcoded for compatibility */
}
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ #tabbrowser-tabs:not([orient="vertical"])
#tabs-newtab-button:hover:active,
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) #tabs-newtab-button:hover:active {
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ #tabbrowser-tabs:not([orient="vertical"])
+ #tabs-newtab-button:hover:active {
fill: color-mix(
in srgb,
-moz-accent-color-foreground 15%,
@@ -22211,8 +23441,12 @@
(-moz-bool-pref: "userChrome.tab.newtab_button_like_tab") and (-moz-windows-accent-color-in-titlebar) and (-moz-bool-pref: "userChrome.compatibility.accent_color") and (-moz-bool-pref: "userChrome.tab.bottom_rounded_corner") and (-moz-bool-pref: "userChrome.tab.bottom_rounded_corner.chrome_legacy"),
(-moz-bool-pref: "userChrome.tab.newtab_button_like_tab") and (-moz-windows-accent-color-in-titlebar) and (-moz-bool-pref: "userChrome.compatibility.accent_color") and (-moz-bool-pref: "userChrome.tab.bottom_rounded_corner") and (-moz-bool-pref: "userChrome.tab.bottom_rounded_corner.chrome"),
(-moz-bool-pref: "userChrome.tab.newtab_button_like_tab") and (-moz-windows-accent-color-in-titlebar) and (-moz-bool-pref: "userChrome.compatibility.accent_color") and (-moz-bool-pref: "userChrome.tab.bottom_rounded_corner") and (-moz-bool-pref: "userChrome.tab.bottom_rounded_corner.edge") {
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme)) #tabs-newtab-button:hover,
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) #tabs-newtab-button:hover {
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ #tabbrowser-tabs:not([orient="vertical"])
+ #tabs-newtab-button:hover,
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ #tabbrowser-tabs:not([orient="vertical"])
+ #tabs-newtab-button:hover {
background-image: var(--uc-tab-corner-left-side-svg),
linear-gradient(
to left,
@@ -22221,9 +23455,12 @@
),
var(--uc-tab-corner-right-side-svg);
}
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ #tabbrowser-tabs:not([orient="vertical"])
#tabs-newtab-button:hover:active,
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) #tabs-newtab-button:hover:active {
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ #tabbrowser-tabs:not([orient="vertical"])
+ #tabs-newtab-button:hover:active {
background-image: var(--uc-tab-corner-left-side-svg),
linear-gradient(
to left,
@@ -22234,7 +23471,7 @@
}
}
@media (-moz-bool-pref: "userChrome.tab.newtab_button_like_tab") {
- #tabs-newtab-button .toolbarbutton-icon {
+ #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button .toolbarbutton-icon {
border-radius: var(--tab-border-radius) var(--tab-border-radius) 0 0 !important; /* Original: var(--tab-border-radius) */
padding: calc(var(--toolbarbutton-inner-padding) - var(--tab-block-margin) / 4) var(--toolbarbutton-inner-padding)
calc(var(--toolbarbutton-inner-padding) + var(--tab-block-margin) / 4 + var(--uc-tabs-navbar-shadow-size)) !important;
@@ -22248,7 +23485,7 @@
(-moz-bool-pref: "userChrome.tab.newtab_button_like_tab") and (-moz-bool-pref: "userChrome.tab.bottom_rounded_corner.chrome_legacy"),
(-moz-bool-pref: "userChrome.tab.newtab_button_like_tab") and (-moz-bool-pref: "userChrome.tab.bottom_rounded_corner.chrome"),
(-moz-bool-pref: "userChrome.tab.newtab_button_like_tab") and (-moz-bool-pref: "userChrome.tab.bottom_rounded_corner.edge") {
- #tabs-newtab-button .toolbarbutton-icon {
+ #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button .toolbarbutton-icon {
--tab-border-radius: 0px;
width: unset !important;
padding-inline: 0px !important;
@@ -22310,6 +23547,10 @@
--tab-label-mask-size: 25%;
}
.tabbrowser-tab[visuallyselected]:not([labelendaligned]):hover .tab-label-container,
+ #tabbrowser-tabs:not([closebuttons="activetab"])
+ > #pinned-tabs-container
+ > .tabbrowser-tab:not([visuallyselected], [labelendaligned]):hover
+ .tab-label-container,
#tabbrowser-tabs:not([closebuttons="activetab"])
> #tabbrowser-arrowscrollbox
> .tabbrowser-tab:not([visuallyselected], [labelendaligned]):hover
@@ -22319,6 +23560,12 @@
}
/** Clipped tabs - Show close button at hover *********************************/
@media (-moz-bool-pref: "userChrome.tab.close_button_at_hover") {
+ #tabbrowser-tabs[closebuttons="activetab"]
+ > #pinned-tabs-container
+ > .tabbrowser-tab:not([pinned])
+ > .tab-stack
+ > .tab-content
+ > .tab-close-button:not([selected]),
#tabbrowser-tabs[closebuttons="activetab"]
> #tabbrowser-arrowscrollbox
> .tabbrowser-tab:not([pinned])
@@ -22553,6 +23800,26 @@
height: 17px !important;
}
}
+@media (-moz-bool-pref: "userChrome.tab.sound_with_favicons") {
+ .tab-icon-overlay:not([crashed]):is([soundplaying], [muted], [activemedia-blocked]) {
+ -moz-context-properties: fill, fill-opacity, stroke !important;
+ fill: currentColor !important;
+ border: none !important;
+ }
+ .tab-icon-overlay:not([crashed]):is([pinned], [sharing]) {
+ stroke: var(--tab-icon-overlay-stroke, light-dark(white, black));
+ color: var(--tab-icon-overlay-fill, light-dark(black, white));
+ }
+ .tab-icon-overlay:not([crashed])[soundplaying] {
+ list-style-image: url("./icons/tab-audio-playing-small.svg");
+ }
+ .tab-icon-overlay:not([crashed])[muted] {
+ list-style-image: url("./icons/tab-audio-muted-small.svg");
+ }
+ .tab-icon-overlay:not([crashed])[activemedia-blocked] {
+ list-style-image: url("./icons/tab-audio-blocked-small.svg");
+ }
+}
@media (-moz-bool-pref: "userChrome.tab.sound_with_favicons") {
.tab-icon-overlay:not([sharing], [crashed]):is([soundplaying], [muted], [activemedia-blocked]) {
/* Color */
@@ -22563,6 +23830,33 @@
opacity: 1 !important;
}
}
+@media (-moz-bool-pref: "userChrome.tab.sound_with_favicons") {
+ .tab-audio-button:not([crashed]),
+ .tab-audio-button[pinned][crashed][selected] {
+ /* Position */
+ margin-inline-start: -8px !important;
+ margin-inline-end: -4px !important;
+ z-index: 1 !important;
+ transform: translateX(var(--uc-sound-tab-icon-position-x)) translateY(var(--uc-sound-tab-icon-position-y));
+ /* Shape */
+ --button-size-icon-small: 17px !important;
+ --button-min-height-small: 17px !important;
+ --button-border-radius: 100% !important;
+ width: 17px !important;
+ height: 17px !important;
+ border-radius: 100%;
+ overflow: clip;
+ --button-text-color-ghost-hover: light-dark(white, black);
+ --button-background-color-ghost-hover: light-dark(black, white);
+ }
+}
+@media (-moz-bool-pref: "userChrome.tab.sound_with_favicons") {
+ .tab-audio-button:not([sharing], [crashed]):is([soundplaying], [muted], [activemedia-blocked]) {
+ display: flex !important;
+ fill-opacity: 0.8 !important;
+ opacity: 1 !important;
+ }
+}
@media (-moz-bool-pref: "userChrome.tab.sound_with_favicons") and (not (-moz-bool-pref: "userChrome.hidden.tab_icon")) {
.tabbrowser-tab:not([pinned], [sharing], [crashed]):is([soundplaying], [muted], [activemedia-blocked])
.tab-label-container {
@@ -22953,7 +24247,7 @@
opacity: 0;
visibility: hidden;
}
- :root:has(#sidebar-box[positionend="true"]) #nav-bar {
+ :root:has(#sidebar-box[positionend]) #nav-bar {
right: 0;
}
}
@@ -23019,7 +24313,7 @@
position: absolute;
height: 100%;
}
- :root[customizing="true"] #browser[collapsed="true"] #sidebar-box[positionend="true"] {
+ :root[customizing="true"] #browser[collapsed="true"] #sidebar-box[positionend] {
right: 0;
}
:root[customizing="true"] #customization-container {
@@ -23034,12 +24328,12 @@
}
}
@media (-moz-bool-pref: "userChrome.navbar.as_sidebar") {
- :root[customizing="true"]:has(#sidebar-box:not([positionend="true"])) #customization-container {
+ :root[customizing="true"]:has(#sidebar-box:not([positionend])) #customization-container {
margin-inline-start: var(--uc-sidebar-activate-width);
}
}
@media (-moz-bool-pref: "userChrome.navbar.as_sidebar") {
- :root[customizing="true"]:has(#sidebar-box[positionend="true"]) #customization-container {
+ :root[customizing="true"]:has(#sidebar-box[positionend]) #customization-container {
margin-inline-end: var(--uc-sidebar-activate-width);
}
}
@@ -23373,11 +24667,11 @@
@media (-moz-bool-pref: "userChrome.sidebar.overlap"), (-moz-bool-pref: "userChrome.autohide.sidebar") {
#sidebar-box {
--uc-sidebar-shadow-color: #28282f;
- z-index: 1 !important;
+ z-index: var(--browser-area-z-index-sidebar-splitter, 3) !important;
position: relative !important;
box-shadow: var(--uc-sidebar-shadow-position) 0px 15px -10px var(--uc-sidebar-shadow-color);
}
- #sidebar-box[positionend="true"] {
+ #sidebar-box[positionend] {
--uc-sidebar-shadow-position: calc(-1 * var(--uc-sidebar-shadow-position-default));
}
#sidebar {
@@ -23388,7 +24682,7 @@
}
}
@media (-moz-bool-pref: "userChrome.sidebar.overlap") {
- #sidebar-box[positionend="true"] {
+ #sidebar-box[positionend] {
direction: rtl;
}
#sidebar-header,
@@ -24161,23 +25455,34 @@
}
/** Fullscreen - Overlap toolbar **********************************************/
@media (-moz-bool-pref: "userChrome.fullscreen.overlap") and (-moz-bool-pref: "browser.fullscreen.autohide") {
- :root[sizemode="fullscreen"] #navigator-toolbox {
+ :root[sizemode="fullscreen"]:not([inDOMFullscreen="true"]) #navigator-toolbox {
position: fixed !important; /* Needed for content to take up entire height */
z-index: 1000 !important; /* Puts the UI above the content */
}
- :root[sizemode="fullscreen"] :-moz-any(#navigator-toolbox, #titlebar, #nav-bar, #PersonalToolbar) {
+ :root[sizemode="fullscreen"]:not([inDOMFullscreen="true"]) #navigator-toolbox:is(:hover, :focus-within) {
+ margin-top: 0 !important;
+ }
+ :root[sizemode="fullscreen"]:not([inDOMFullscreen="true"])
+ :-moz-any(#navigator-toolbox, #titlebar, #toolbar-menubar, #TabsToolbar, #nav-bar, #PersonalToolbar) {
width: 100%; /* Makes the UI take up the entire width */
}
+ :root[sizemode="fullscreen"]:not([inDOMFullscreen="true"]) #urlbar:popover-open {
+ position: fixed !important;
+ }
}
@media (-moz-bool-pref: "userChrome.fullscreen.overlap") and (-moz-bool-pref: "browser.fullscreen.autohide") and (-moz-gtk-csd-available) {
/* Fix transparent background */
- :root[tabsintitlebar][sizemode="fullscreen"]:is(:not([lwtheme]), :not(:-moz-lwtheme)) #TabsToolbar {
+ :root:is([tabsintitlebar], [customtitlebar])[sizemode="fullscreen"]:not([inDOMFullscreen="true"]):is(
+ :not([lwtheme]),
+ :not(:-moz-lwtheme)
+ )
+ #TabsToolbar {
appearance: auto !important;
}
}
@media (-moz-bool-pref: "userChrome.fullscreen.show_bookmarkbar") {
- :root:not([sizemode="fullscreen"]) #PersonalToolbar[initialized="true"]:not([collapsed="true"]),
- :root[sizemode="fullscreen"] #PersonalToolbar[initialized="true"] {
+ :root:not([sizemode="fullscreen"]) #PersonalToolbar[initialized]:not([collapsed="true"]),
+ :root[sizemode="fullscreen"] #PersonalToolbar[initialized] {
visibility: unset !important; /* Makes the bookmarks toolbar visible if enabled */
}
}
@@ -24434,7 +25739,7 @@
(-moz-bool-pref: "userChrome.hidden.tabbar"),
(-moz-bool-pref: "userChrome.navbar.as_sidebar") {
@supports selector(:has(a)) {
- :root:not([tabsintitlebar]):has(#toolbar-menubar) {
+ :root:not([tabsintitlebar]):not([customtitlebar]):has(#toolbar-menubar) {
--uc-menubar-height: var(--uc-menubar-height-default);
}
@media (-moz-bool-pref: "userChrome.autohide.tabbar") and (-moz-gtk-csd-available),
@@ -24444,7 +25749,7 @@
(-moz-bool-pref: "userChrome.tabbar.on_bottom.menubar_on_top") and (-moz-gtk-csd-available),
(-moz-bool-pref: "userChrome.hidden.tabbar") and (-moz-gtk-csd-available),
(-moz-bool-pref: "userChrome.navbar.as_sidebar") and (-moz-gtk-csd-available) {
- :root[tabsintitlebar]:has(#toolbar-menubar[autohide="true"]) {
+ :root:is([tabsintitlebar], [customtitlebar]):has(#toolbar-menubar[autohide="true"]) {
--uc-menubar-height: calc(var(--tab-min-height) + 2 * var(--tab-block-margin));
}
}
@@ -24455,15 +25760,15 @@
(-moz-bool-pref: "userChrome.tabbar.on_bottom.menubar_on_top") and (-moz-platform: windows),
(-moz-bool-pref: "userChrome.hidden.tabbar") and (-moz-platform: windows),
(-moz-bool-pref: "userChrome.navbar.as_sidebar") and (-moz-platform: windows) {
- :root[tabsintitlebar]:has(#toolbar-menubar[autohide="true"]) {
+ :root:is([tabsintitlebar], [customtitlebar]):has(#toolbar-menubar[autohide="true"]) {
--uc-menubar-height: calc(var(--tab-min-height) - var(--tabs-navbar-shadow-size));
}
}
- :root[tabsintitlebar]:has(#toolbar-menubar[autohide="false"]) {
+ :root:is([tabsintitlebar], [customtitlebar]):has(#toolbar-menubar[autohide="false"]) {
--uc-menubar-height: var(--uc-titlebar-buttonbox-height);
}
- :root:not([tabsintitlebar]):has(#toolbar-menubar[autohide="true"][inactive="true"]),
- :root[tabsintitlebar]:has(#toolbar-menubar[autohide="true"][inactive="true"]) {
+ :root:not([tabsintitlebar]):not([customtitlebar]):has(#toolbar-menubar[autohide="true"][inactive="true"]),
+ :root:is([tabsintitlebar], [customtitlebar]):has(#toolbar-menubar[autohide="true"][inactive="true"]) {
--uc-menubar-height: 0px;
}
#navigator-toolbox:has(#PersonalToolbar[collapsed="true"]) {
@@ -24753,7 +26058,8 @@
(-moz-bool-pref: "userChrome.autohide.tabbar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (not (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive")),
(-moz-bool-pref: "userChrome.autohide.navbar") and (-moz-bool-pref: "userChrome.autohide.tabbar") and (not (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive")),
(-moz-bool-pref: "userChrome.autohide.navbar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (not (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive")) {
- :root:not([customizing]) #titlebar {
+ :root:not([customizing]) #titlebar,
+ :root:not([customizing]) #navigator-toolbox > #TabsToolbar {
margin-bottom: var(--uc-tabbar-hide-height);
will-change: margin-bottom;
}
@@ -24782,7 +26088,8 @@
(-moz-bool-pref: "userChrome.autohide.tabbar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (not (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive")),
(-moz-bool-pref: "userChrome.autohide.navbar") and (-moz-bool-pref: "userChrome.autohide.tabbar") and (not (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive")),
(-moz-bool-pref: "userChrome.autohide.navbar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (not (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive")) {
- #navigator-toolbox:is(:hover, :focus-within) > #titlebar {
+ #navigator-toolbox:is(:hover, :focus-within) > #titlebar,
+ #navigator-toolbox:is(:hover, :focus-within) > #TabsToolbar {
margin-bottom: 0px;
}
}
@@ -24807,7 +26114,8 @@
screen and (-moz-bool-pref: "userChrome.autohide.tabbar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (min-width: 1100px),
screen and (-moz-bool-pref: "userChrome.autohide.navbar") and (-moz-bool-pref: "userChrome.autohide.tabbar") and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (min-width: 1100px),
screen and (-moz-bool-pref: "userChrome.autohide.navbar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (min-width: 1100px) {
- :root:not([customizing]) #titlebar {
+ :root:not([customizing]) #titlebar,
+ :root:not([customizing]) #navigator-toolbox > #TabsToolbar {
margin-bottom: var(--uc-tabbar-hide-height);
will-change: margin-bottom;
}
@@ -24836,7 +26144,8 @@
screen and (-moz-bool-pref: "userChrome.autohide.tabbar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (min-width: 1100px),
screen and (-moz-bool-pref: "userChrome.autohide.navbar") and (-moz-bool-pref: "userChrome.autohide.tabbar") and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (min-width: 1100px),
screen and (-moz-bool-pref: "userChrome.autohide.navbar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (min-width: 1100px) {
- #navigator-toolbox:is(:hover, :focus-within) > #titlebar {
+ #navigator-toolbox:is(:hover, :focus-within) > #titlebar,
+ #navigator-toolbox:is(:hover, :focus-within) > #TabsToolbar {
margin-bottom: 0px;
}
}
@@ -24861,7 +26170,8 @@
(-moz-bool-pref: "userChrome.autohide.tabbar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (-moz-bool-pref: "userChrome.autohide.tabbar"),
(-moz-bool-pref: "userChrome.autohide.navbar") and (-moz-bool-pref: "userChrome.autohide.tabbar") and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (-moz-bool-pref: "userChrome.autohide.tabbar"),
(-moz-bool-pref: "userChrome.autohide.navbar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (-moz-bool-pref: "userChrome.autohide.tabbar") {
- :root:not([customizing]) #titlebar {
+ :root:not([customizing]) #titlebar,
+ :root:not([customizing]) #navigator-toolbox > #TabsToolbar {
margin-bottom: var(--uc-tabbar-hide-height);
will-change: margin-bottom;
}
@@ -24890,7 +26200,8 @@
(-moz-bool-pref: "userChrome.autohide.tabbar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (-moz-bool-pref: "userChrome.autohide.tabbar"),
(-moz-bool-pref: "userChrome.autohide.navbar") and (-moz-bool-pref: "userChrome.autohide.tabbar") and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (-moz-bool-pref: "userChrome.autohide.tabbar"),
(-moz-bool-pref: "userChrome.autohide.navbar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (-moz-bool-pref: "userChrome.autohide.tabbar") {
- #navigator-toolbox:is(:hover, :focus-within) > #titlebar {
+ #navigator-toolbox:is(:hover, :focus-within) > #titlebar,
+ #navigator-toolbox:is(:hover, :focus-within) > #TabsToolbar {
margin-bottom: 0px;
}
}
@@ -24974,13 +26285,22 @@
(-moz-bool-pref: "userChrome.autohide.navbar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.autohide.navbar") and (not (-moz-bool-pref: "userChrome.tabbar.one_liner")) {
#nav-bar:not([customizing]) {
margin-bottom: var(--uc-navbar-hide-height);
+ }
+ #nav-bar:not([customizing]),
+ #nav-bar:not([customizing]) #urlbar {
opacity: 0;
will-change: margin-bottom, opacity;
}
#navigator-toolbox:is(:hover, :focus-within) #nav-bar:not([customizing]) {
margin-bottom: 0;
+ }
+ #navigator-toolbox:is(:hover, :focus-within) #nav-bar:not([customizing]),
+ #navigator-toolbox:is(:hover, :focus-within) #nav-bar:not([customizing]) #urlbar {
opacity: 1;
}
+ #navigator-toolbox:not(:hover, :focus-within) #nav-bar:not([customizing]) #urlbar {
+ pointer-events: none;
+ }
}
@media screen and (-moz-bool-pref: "userChrome.autohide.tabbar") and (-moz-bool-pref: "userChrome.autohide.navbar") and (-moz-bool-pref: "userChrome.autohide.navbar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (max-width: 1100px),
screen and (-moz-bool-pref: "userChrome.autohide.tabbar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.autohide.navbar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (max-width: 1100px),
@@ -24988,13 +26308,30 @@
screen and (-moz-bool-pref: "userChrome.autohide.navbar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.autohide.navbar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (-moz-bool-pref: "userChrome.tabbar.one_liner.responsive") and (max-width: 1100px) {
#nav-bar:not([customizing]) {
margin-bottom: var(--uc-navbar-hide-height);
+ }
+ #nav-bar:not([customizing]),
+ #nav-bar:not([customizing]) #urlbar {
opacity: 0;
will-change: margin-bottom, opacity;
}
#navigator-toolbox:is(:hover, :focus-within) #nav-bar:not([customizing]) {
margin-bottom: 0;
+ }
+ #navigator-toolbox:is(:hover, :focus-within) #nav-bar:not([customizing]),
+ #navigator-toolbox:is(:hover, :focus-within) #nav-bar:not([customizing]) #urlbar {
opacity: 1;
}
+ #navigator-toolbox:not(:hover, :focus-within) #nav-bar:not([customizing]) #urlbar {
+ pointer-events: none;
+ }
+}
+@media (-moz-bool-pref: "userChrome.autohide.tabbar") and (-moz-bool-pref: "userChrome.autohide.navbar"),
+ (-moz-bool-pref: "userChrome.autohide.tabbar") and (-moz-bool-pref: "userChrome.tabbar.one_liner"),
+ (-moz-bool-pref: "userChrome.autohide.navbar") and (-moz-bool-pref: "userChrome.autohide.navbar"),
+ (-moz-bool-pref: "userChrome.autohide.navbar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") {
+ #mainPopupSet:not(:hover) ~ #navigator-toolbox:not(:hover, :focus-within) #nav-bar:not([customizing]) {
+ -moz-window-dragging: no-drag;
+ }
}
@media (-moz-bool-pref: "userChrome.autohide.tabbar") and (-moz-bool-pref: "userChrome.autohide.navbar") and (prefers-reduced-motion: no-preference),
(-moz-bool-pref: "userChrome.autohide.tabbar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (prefers-reduced-motion: no-preference),
@@ -25023,7 +26360,17 @@
(-moz-bool-pref: "userChrome.autohide.tabbar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (prefers-reduced-motion: no-preference),
(-moz-bool-pref: "userChrome.autohide.navbar") and (-moz-bool-pref: "userChrome.autohide.navbar") and (prefers-reduced-motion: no-preference),
(-moz-bool-pref: "userChrome.autohide.navbar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (prefers-reduced-motion: no-preference) {
- #navigator-toolbox:is(:hover, :focus-within) #nav-bar:not([customizing]) {
+ #nav-bar:not([customizing]) #urlbar {
+ transition: opacity var(--uc-autohide-toolbar-speed) var(--animation-easing-function)
+ var(--uc-autohide-toolbar-delay) !important;
+ }
+}
+@media (-moz-bool-pref: "userChrome.autohide.tabbar") and (-moz-bool-pref: "userChrome.autohide.navbar") and (prefers-reduced-motion: no-preference),
+ (-moz-bool-pref: "userChrome.autohide.tabbar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (prefers-reduced-motion: no-preference),
+ (-moz-bool-pref: "userChrome.autohide.navbar") and (-moz-bool-pref: "userChrome.autohide.navbar") and (prefers-reduced-motion: no-preference),
+ (-moz-bool-pref: "userChrome.autohide.navbar") and (-moz-bool-pref: "userChrome.tabbar.one_liner") and (prefers-reduced-motion: no-preference) {
+ #navigator-toolbox:is(:hover, :focus-within) #nav-bar:not([customizing]),
+ #navigator-toolbox:is(:hover, :focus-within) #nav-bar:not([customizing]) #urlbar {
transition-delay: 0s !important;
}
}
@@ -25184,18 +26531,18 @@
min-width: var(--uc-sidebar-activate-width) !important;
max-width: var(--uc-sidebar-activate-width) !important;
}
- :root[inFullscreen="true"] #sidebar-box:not([positionend="true"]) {
+ :root[inFullscreen="true"] #sidebar-box:not([positionend]) {
margin-inline-start: var(--uc-sidebar-fullscreen-margin) !important;
will-change: margin-inline-start;
}
- :root[inFullscreen="true"] #sidebar-box:not([positionend="true"]):is(:hover, :focus-within) {
+ :root[inFullscreen="true"] #sidebar-box:not([positionend]):is(:hover, :focus-within) {
margin-inline-start: 0 !important;
}
- :root[inFullscreen="true"] #sidebar-box[positionend="true"] {
+ :root[inFullscreen="true"] #sidebar-box[positionend] {
margin-inline-end: var(--uc-sidebar-fullscreen-margin) !important;
will-change: margin-inline-end;
}
- :root[inFullscreen="true"] #sidebar-box[positionend="true"]:is(:hover, :focus-within) {
+ :root[inFullscreen="true"] #sidebar-box[positionend]:is(:hover, :focus-within) {
margin-inline-end: 0 !important;
}
}
@@ -25213,7 +26560,7 @@
transition: margin-inline-start var(--uc-autohide-fullscreen-sidebar-speed) var(--animation-easing-function)
var(--uc-autohide-sidebar-delay) !important;
}
- :root[inFullscreen="true"] #sidebar-box[positionend="true"] {
+ :root[inFullscreen="true"] #sidebar-box[positionend] {
transition-property: margin-inline-end !important;
}
:root[inFullscreen="true"] #sidebar-box:is(:hover, :focus-within),
@@ -25434,7 +26781,7 @@
}
@media not (-moz-bool-pref: "userChrome.icon.disabled") {
@supports selector(:has(a)) {
- :root:has(#sidebar-box[positionend="true"]) {
+ :root:has(#sidebar-box[positionend]) {
--uc-sidebar-icon: url("chrome://browser/skin/sidebars-right.svg");
--uc-sidebar-icon-reverse: url("chrome://browser/skin/sidebars.svg");
}
@@ -25664,6 +27011,8 @@
/*= protections-popup ========================================================*/
/*= identity-popup ===========================================================*/
/*= sidebarMenu-popup ========================================================*/
+ /*= sidebar-context-menu =====================================================*/
+ /*= chrome://browser/content/syncedtabs/sidebar.xhtml ========================*/
/*= unified-extensions-view ===================================================*/
/*= Compatibility ============================================================*/
/*= Tab Mix Plus =============================================================*/
@@ -25828,6 +27177,23 @@
background-image: var(--avatar-image-url) !important;
}
}
+@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.panel") {
+ #appMenu-profiles-button > image,
+ #appMenu-empty-profiles-button > image {
+ fill: transparent !important;
+ }
+}
+@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.panel") {
+ #appMenu-empty-profiles-button,
+ #PanelUI-fxa-menu-empty-profiles-button {
+ list-style-image: url("chrome://browser/content/profiles/assets/16_heart.svg");
+ }
+}
+@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.panel") {
+ #profiles-manage-profiles-button {
+ list-style-image: url("chrome://global/skin/icons/settings.svg");
+ }
+}
@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.panel") {
#new-tab-button {
list-style-image: var(--uc-new-tab-icon) !important;
@@ -26109,7 +27475,8 @@
}
}
@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.panel") {
- #PanelUI-fxa-menu > :first-child {
+ #PanelUI-fxa-menu > :first-child,
+ #fxa-manage-account-button {
order: -1;
-moz-box-ordinal-group: 0;
}
@@ -26131,6 +27498,23 @@
list-style-image: url("chrome://global/skin/icons/settings.svg");
}
}
+@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.panel") {
+ .sendToDevice-device[clientType="phone"] {
+ list-style-image: url("../icons/device-phone.svg") !important;
+ }
+ .sendToDevice-device[clientType="tablet"] {
+ list-style-image: url("../icons/device-tablet.svg") !important;
+ }
+ .sendToDevice-device[clientType="desktop"] {
+ list-style-image: url("../icons/device-desktop.svg") !important;
+ }
+ .sendToDevice-device[clientType="tv"] {
+ list-style-image: url("../icons/device-tv.svg") !important;
+ }
+ .sendToDevice-device[clientType="vr"] {
+ list-style-image: url("../icons/device-vr.svg") !important;
+ }
+}
@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.panel") {
#panelMenuBookmarkThisPage {
list-style-image: url("chrome://browser/skin/bookmark-hollow.svg");
@@ -26349,6 +27733,11 @@
list-style-image: url("chrome://global/skin/icons/search-glass.svg");
}
}
+@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.panel") {
+ #allTabsMenu-syncedTabs {
+ list-style-image: url("../icons/synced-tabs.svg");
+ }
+}
@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.panel") {
#allTabsMenu-closeDuplicateTabs {
list-style-image: var(--uc-tab-close-duplicate-icon);
@@ -26418,6 +27807,11 @@
margin-inline-end: 1em;
}
}
+@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.panel") {
+ #protections-popup-report-broken-site-button {
+ list-style-image: url("chrome://global/skin/icons/lightbulb.svg");
+ }
+}
@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.panel") {
#protections-popup-settings-button > .protections-popup-settings-icon,
#protections-popup-multiView .panel-subview-footer-button {
@@ -26478,6 +27872,14 @@
--menuitem-image: url("../icons/synced-tabs.svg");
}
}
+@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.panel") {
+ #sidebar-switcher-genai-chat.subviewbutton {
+ list-style-image: url("chrome://mozapps/skin/extensions/category-discover.svg");
+ }
+ #sidebar-switcher-genai-chat:is(menuitem) {
+ --menuitem-image: url("chrome://mozapps/skin/extensions/category-discover.svg");
+ }
+}
@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.panel") {
#sidebar-reverse-position.subviewbutton {
list-style-image: var(--uc-sidebar-icon-reverse);
@@ -26494,6 +27896,66 @@
--menuitem-image: url("chrome://global/skin/icons/close.svg");
}
}
+@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.panel") {
+ #sidebar-context-menu-manage-extension {
+ --menuitem-image: url("chrome://global/skin/icons/settings.svg");
+ }
+}
+@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.panel") {
+ #sidebar-context-menu-remove-extension {
+ --menuitem-image: url("chrome://global/skin/icons/delete.svg");
+ }
+}
+@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.panel") {
+ #sidebar-context-menu-report-extension {
+ --menuitem-image: url("../icons/send.svg");
+ }
+}
+@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.panel") {
+ #sidebar-context-menu-unpin-extension {
+ --menuitem-image: url("../icons/unpin-tab.svg");
+ }
+}
+@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.panel") {
+ #sidebar-context-menu-hide-sidebar {
+ --menuitem-image: url("../icons/eye-hide.svg");
+ }
+}
+@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.panel") {
+ #sidebar-context-menu-customize-sidebar {
+ --menuitem-image: url("chrome://browser/skin/customize.svg");
+ }
+}
+@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.panel") {
+ #sidebar-context-menu-enable-vertical-tabs {
+ --menuitem-image: url("chrome://browser/skin/sidebar-collapsed.svg");
+ }
+}
+@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.panel") {
+ .item.client[clientType="phone"] > .item-title-container > .item-icon-container {
+ background-image: url("../icons/device-phone.svg") !important;
+ }
+}
+@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.panel") {
+ .item.client[clientType="tablet"] > .item-title-container > .item-icon-container {
+ background-image: url("../icons/device-tablet.svg") !important;
+ }
+}
+@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.panel") {
+ .item.client[clientType="desktop"] > .item-title-container > .item-icon-container {
+ background-image: url("../icons/device-desktop.svg") !important;
+ }
+}
+@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.panel") {
+ .item.client[clientType="tv"] > .item-title-container > .item-icon-container {
+ background-image: url("../icons/device-tv.svg") !important;
+ }
+}
+@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.panel") {
+ .item.client[clientType="vr"] > .item-title-container > .item-icon-container {
+ background-image: url("../icons/device-vr.svg") !important;
+ }
+}
@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.panel") {
#unified-extensions-manage-extensions {
list-style-image: url("chrome://mozapps/skin/extensions/extension.svg");
@@ -26516,7 +27978,9 @@
menupopup menuitem:not([type="checkbox"][checked="true"], [type="radio"]),
menupopup menu:not([type="checkbox"][checked="true"], [type="radio"]),
menupopup menuitem:not([type="checkbox"][checked="true"], [type="radio"]) > .menu-iconic-left > .menu-iconic-icon,
+ menupopup menuitem:not([type="checkbox"][checked="true"], [type="radio"]) > .menu-icon,
menupopup menu:not([type="checkbox"][checked="true"], [type="radio"]) > .menu-iconic-left > .menu-iconic-icon,
+ menupopup menu:not([type="checkbox"][checked="true"], [type="radio"]) > .menu-icon,
#main-menubar > menu {
-moz-appearance: none !important; /* Linux: menulist */
}
@@ -26535,10 +27999,12 @@
#goPopup,
#historyMenuPopup,
#bookmarksMenuPopup,
+ #menu_ProfilesPopup,
#menu_ToolsPopup,
#windowPopup,
#menu_HelpPopup,
- #usercssloader-menupopup
+ #usercssloader-menupopup,
+ #sidebar-context-menu
)
menuitem:not(.menuitem-iconic, .bookmark-item, .in-menulist, [checked="true"]),
menupopup:is(
@@ -26548,10 +28014,12 @@
#goPopup,
#historyMenuPopup,
#bookmarksMenuPopup,
+ #menu_ProfilesPopup,
#menu_ToolsPopup,
#windowPopup,
#menu_HelpPopup,
- #usercssloader-menupopup
+ #usercssloader-menupopup,
+ #sidebar-context-menu
)
menu:not(.menu-iconic, .in-menulist, [checked="true"]),
menupopup:is(#organizeButtonPopup, #maintenanceButtonPopup)
@@ -26562,7 +28030,8 @@
#context-sendpagetodevice-popup,
#context-sendlinktodevice-popup,
#frame > menupopup,
- #spell-dictionaries-menu
+ #spell-dictionaries-menu,
+ #context-ask-chat > menupopup
)
> menuitem:not([type="checkbox"][checked="true"], [type="radio"]),
.openintabs-menuitem,
@@ -26639,10 +28108,12 @@
#goPopup,
#historyMenuPopup,
#bookmarksMenuPopup,
+ #menu_ProfilesPopup,
#menu_ToolsPopup,
#windowPopup,
#menu_HelpPopup,
- #usercssloader-menupopup
+ #usercssloader-menupopup,
+ #sidebar-context-menu
)
menuitem:not(.menuitem-iconic, .bookmark-item, .in-menulist, [checked="true"]),
menupopup:is(
@@ -26652,10 +28123,12 @@
#goPopup,
#historyMenuPopup,
#bookmarksMenuPopup,
+ #menu_ProfilesPopup,
#menu_ToolsPopup,
#windowPopup,
#menu_HelpPopup,
- #usercssloader-menupopup
+ #usercssloader-menupopup,
+ #sidebar-context-menu
)
menu:not(.menu-iconic, .in-menulist, [checked="true"]),
menupopup:is(#organizeButtonPopup, #maintenanceButtonPopup)
@@ -26666,7 +28139,8 @@
#context-sendpagetodevice-popup,
#context-sendlinktodevice-popup,
#frame > menupopup,
- #spell-dictionaries-menu
+ #spell-dictionaries-menu,
+ #context-ask-chat > menupopup
)
> menuitem:not([type="checkbox"][checked="true"], [type="radio"]),
.openintabs-menuitem,
@@ -26705,6 +28179,17 @@
--menuitem-image: none; /* Prevent Image Inheritance */
}
}
+@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.menu") and (-moz-bool-pref: "userChrome.icon.global_menubar") and (-moz-platform: windows) {
+ #main-menubar > menu > :is(.menubar-text, .menu-text) {
+ transform: translateY(-1px) !important; /* Fix menu top padding position */
+ padding-inline-start: 0.3em !important;
+ }
+}
+@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.menu") and (-moz-bool-pref: "userChrome.icon.global_menubar") and (-moz-gtk-csd-available) {
+ #main-menubar > menu > :is(.menubar-text, .menu-text) {
+ padding-inline-start: 3px;
+ }
+}
@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.menu") and (-moz-bool-pref: "userChrome.icon.global_menubar") and (not (-moz-bool-pref: "userChrome.padding.global_menubar")) {
#main-menubar > menu {
padding-block: 2px !important;
@@ -26732,10 +28217,12 @@
#goPopup,
#historyMenuPopup,
#bookmarksMenuPopup,
+ #menu_ProfilesPopup,
#menu_ToolsPopup,
#windowPopup,
#menu_HelpPopup,
- #usercssloader-menupopup
+ #usercssloader-menupopup,
+ #sidebar-context-menu
)
menuitem:not(.menuitem-iconic, .bookmark-item, .in-menulist, [checked="true"]),
menupopup:is(
@@ -26745,10 +28232,12 @@
#goPopup,
#historyMenuPopup,
#bookmarksMenuPopup,
+ #menu_ProfilesPopup,
#menu_ToolsPopup,
#windowPopup,
#menu_HelpPopup,
- #usercssloader-menupopup
+ #usercssloader-menupopup,
+ #sidebar-context-menu
)
menu:not(.menu-iconic, .in-menulist, [checked="true"]),
menupopup:is(#organizeButtonPopup, #maintenanceButtonPopup)
@@ -26759,7 +28248,8 @@
#context-sendpagetodevice-popup,
#context-sendlinktodevice-popup,
#frame > menupopup,
- #spell-dictionaries-menu
+ #spell-dictionaries-menu,
+ #context-ask-chat > menupopup
)
> menuitem:not([type="checkbox"][checked="true"], [type="radio"]),
.openintabs-menuitem,
@@ -26773,6 +28263,9 @@
.menupopup-arrowscrollbox {
padding-inline: 0 !important; /* Original: padding: var(--panel-padding); --panel-padding-block: 4px; */
}
+ menupopup[needsgutter] > :is(menu, menuitem) > .menu-icon {
+ display: none !important;
+ }
}
@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.menu") and (-moz-platform: windows) and (-moz-bool-pref: "userChrome.theme.non_native_menu") and (-moz-gtk-csd-available),
(not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.menu") and (-moz-gtk-csd-available) and (-moz-bool-pref: "userChrome.theme.non_native_menu") and (-moz-gtk-csd-available) {
@@ -26796,10 +28289,12 @@
#goPopup,
#historyMenuPopup,
#bookmarksMenuPopup,
+ #menu_ProfilesPopup,
#menu_ToolsPopup,
#windowPopup,
#menu_HelpPopup,
- #usercssloader-menupopup
+ #usercssloader-menupopup,
+ #sidebar-context-menu
)
menuitem:not(.menuitem-iconic, .bookmark-item, .in-menulist, [checked="true"]),
menupopup:is(
@@ -26809,10 +28304,12 @@
#goPopup,
#historyMenuPopup,
#bookmarksMenuPopup,
+ #menu_ProfilesPopup,
#menu_ToolsPopup,
#windowPopup,
#menu_HelpPopup,
- #usercssloader-menupopup
+ #usercssloader-menupopup,
+ #sidebar-context-menu
)
menu:not(.menu-iconic, .in-menulist, [checked="true"]),
menupopup:is(#organizeButtonPopup, #maintenanceButtonPopup)
@@ -26823,7 +28320,8 @@
#context-sendpagetodevice-popup,
#context-sendlinktodevice-popup,
#frame > menupopup,
- #spell-dictionaries-menu
+ #spell-dictionaries-menu,
+ #context-ask-chat > menupopup
)
> menuitem:not([type="checkbox"][checked="true"], [type="radio"]),
.openintabs-menuitem,
@@ -26837,6 +28335,9 @@
.menupopup-arrowscrollbox {
padding-inline: 0 !important; /* Original: padding: var(--panel-padding); --panel-padding-block: 4px; */
}
+ menupopup[needsgutter] > :is(menu, menuitem) > .menu-icon {
+ display: none !important;
+ }
}
@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.menu") and (-moz-platform: windows) {
:root {
@@ -26853,8 +28354,11 @@
--context-menu-background-padding-default: 6px;
--context-menu-text-padding: 21px;
}
- #main-menubar > menu > .menubar-text {
- padding-inline-start: 3px;
+ .menu-icon {
+ display: unset !important;
+ }
+ #main-menubar > menu > .menu-icon {
+ display: none !important;
}
}
@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.menu") and (-moz-bool-pref: "layout.css.osx-font-smoothing.enabled") {
@@ -26892,10 +28396,12 @@
#goPopup,
#historyMenuPopup,
#bookmarksMenuPopup,
+ #menu_ProfilesPopup,
#menu_ToolsPopup,
#windowPopup,
#menu_HelpPopup,
- #usercssloader-menupopup
+ #usercssloader-menupopup,
+ #sidebar-context-menu
)
menuitem:not(.menuitem-iconic, .bookmark-item),
menupopup:is(
@@ -26905,10 +28411,12 @@
#goPopup,
#historyMenuPopup,
#bookmarksMenuPopup,
+ #menu_ProfilesPopup,
#menu_ToolsPopup,
#windowPopup,
#menu_HelpPopup,
- #usercssloader-menupopup
+ #usercssloader-menupopup,
+ #sidebar-context-menu
)
menu:not(.menu-iconic) {
list-style-image: var(--menuitem-image, url("../icons/blank.svg")) !important;
@@ -26957,10 +28465,14 @@
}
@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.menu") and (-moz-platform: windows) {
/* Bookmark Popup - None icon menu */
- menupopup:is(#BMB_bookmarksPopup)[placespopup="true"] menuitem:not(.menuitem-iconic, [disabled="true"]),
- menupopup:is(#BMB_bookmarksPopup)[placespopup="true"] menu:not(.menu-iconic),
- #PersonalToolbar menupopup[placespopup="true"] menuitem:not(.menuitem-iconic, [disabled="true"]),
- #PersonalToolbar menupopup[placespopup="true"] menu:not(.menu-iconic) {
+ menupopup:is(#BMB_bookmarksPopup)[placespopup="true"]
+ menuitem:not(.menuitem-iconic, [disabled="true"]):not(:has(.menu-icon[aria-hidden="true"])),
+ menupopup:is(#BMB_bookmarksPopup)[placespopup="true"]
+ menu:not(.menu-iconic):not(:has(.menu-icon[aria-hidden="true"])),
+ #PersonalToolbar
+ menupopup[placespopup="true"]
+ menuitem:not(.menuitem-iconic, [disabled="true"]):not(:has(.menu-icon[aria-hidden="true"])),
+ #PersonalToolbar menupopup[placespopup="true"] menu:not(.menu-iconic):not(:has(.menu-icon[aria-hidden="true"])) {
margin-inline: var(--arrowpanel-menuitem-margin-inline) !important;
padding-inline-start: var(--bookmark-menu-icon-text-padding) !important;
background-position: var(--uc-menu-background-position) var(--bookmark-menu-icon-background-padding) center !important;
@@ -26977,26 +28489,44 @@
margin-inline-start: -1px !important;
}
/* Bookmark Popup - None icon menu */
- menupopup:is(#BMB_bookmarksPopup)[placespopup="true"] menuitem:not(.menuitem-iconic, [disabled="true"]),
- menupopup:is(#BMB_bookmarksPopup)[placespopup="true"] menu:not(.menu-iconic),
- #PersonalToolbar menupopup[placespopup="true"] menuitem:not(.menuitem-iconic, [disabled="true"]),
- #PersonalToolbar menupopup[placespopup="true"] menu:not(.menu-iconic) {
+ menupopup:is(#BMB_bookmarksPopup)[placespopup="true"]
+ menuitem:not(.menuitem-iconic, [disabled="true"]):not(:has(.menu-icon[aria-hidden="true"])),
+ menupopup:is(#BMB_bookmarksPopup)[placespopup="true"]
+ menu:not(.menu-iconic):not(:has(.menu-icon[aria-hidden="true"])),
+ #PersonalToolbar
+ menupopup[placespopup="true"]
+ menuitem:not(.menuitem-iconic, [disabled="true"]):not(:has(.menu-icon[aria-hidden="true"])),
+ #PersonalToolbar menupopup[placespopup="true"] menu:not(.menu-iconic):not(:has(.menu-icon[aria-hidden="true"])) {
padding-inline-start: calc(var(--context-menu-background-padding) + 2px) !important;
}
}
@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.menu") and (-moz-gtk-csd-available) and (-moz-bool-pref: "userChrome.theme.non_native_menu") {
- menupopup:is(#BMB_bookmarksPopup)[placespopup="true"] menuitem:not(.menuitem-iconic, [disabled="true"]),
- menupopup:is(#BMB_bookmarksPopup)[placespopup="true"] menu:not(.menu-iconic),
- #PersonalToolbar menupopup[placespopup="true"] menuitem:not(.menuitem-iconic, [disabled="true"]),
- #PersonalToolbar menupopup[placespopup="true"] menu:not(.menu-iconic) {
+ menupopup:is(#BMB_bookmarksPopup)[placespopup="true"]
+ menuitem:not(.menuitem-iconic, [disabled="true"]):not(:has(.menu-icon[aria-hidden="true"])),
+ menupopup:is(#BMB_bookmarksPopup)[placespopup="true"]
+ menu:not(.menu-iconic):not(:has(.menu-icon[aria-hidden="true"])),
+ #PersonalToolbar
+ menupopup[placespopup="true"]
+ menuitem:not(.menuitem-iconic, [disabled="true"]):not(:has(.menu-icon[aria-hidden="true"])),
+ #PersonalToolbar menupopup[placespopup="true"] menu:not(.menu-iconic):not(:has(.menu-icon[aria-hidden="true"])) {
margin-inline: var(--arrowpanel-menuitem-margin-inline) !important;
}
}
@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.menu") and (-moz-gtk-csd-available) {
- menupopup:is(#BMB_bookmarksPopup)[placespopup="true"] menuitem:not(.menuitem-iconic, [disabled="true"]) .menu-text,
- menupopup:is(#BMB_bookmarksPopup)[placespopup="true"] menu:not(.menu-iconic) .menu-text,
- #PersonalToolbar menupopup[placespopup="true"] menuitem:not(.menuitem-iconic, [disabled="true"]) .menu-text,
- #PersonalToolbar menupopup[placespopup="true"] menu:not(.menu-iconic) .menu-text {
+ menupopup:is(#BMB_bookmarksPopup)[placespopup="true"]
+ menuitem:not(.menuitem-iconic, [disabled="true"]):not(:has(.menu-icon[aria-hidden="true"]))
+ .menu-text,
+ menupopup:is(#BMB_bookmarksPopup)[placespopup="true"]
+ menu:not(.menu-iconic):not(:has(.menu-icon[aria-hidden="true"]))
+ .menu-text,
+ #PersonalToolbar
+ menupopup[placespopup="true"]
+ menuitem:not(.menuitem-iconic, [disabled="true"]):not(:has(.menu-icon[aria-hidden="true"]))
+ .menu-text,
+ #PersonalToolbar
+ menupopup[placespopup="true"]
+ menu:not(.menu-iconic):not(:has(.menu-icon[aria-hidden="true"]))
+ .menu-text {
margin-inline-start: var(--context-menu-text-padding) !important;
}
}
@@ -27007,18 +28537,32 @@
padding-inline: var(--arrowpanel-menuitem-padding-inline) !important;
}
/* Bookmark Popup - None icon menu */
- menupopup:is(#BMB_bookmarksPopup)[placespopup="true"] menuitem:not(.menuitem-iconic, [disabled="true"]),
- menupopup:is(#BMB_bookmarksPopup)[placespopup="true"] menu:not(.menu-iconic) {
+ menupopup:is(#BMB_bookmarksPopup)[placespopup="true"]
+ menuitem:not(.menuitem-iconic, [disabled="true"]):not(:has(.menu-icon[aria-hidden="true"])),
+ menupopup:is(#BMB_bookmarksPopup)[placespopup="true"]
+ menu:not(.menu-iconic):not(:has(.menu-icon[aria-hidden="true"])) {
padding-inline-start: calc(var(--arrowpanel-menuitem-padding-inline) + 3px) !important;
}
- #PersonalToolbar menupopup[placespopup="true"] menuitem:not(.menuitem-iconic, [disabled="true"]),
- #PersonalToolbar menupopup[placespopup="true"] menu:not(.menu-iconic) {
+ #PersonalToolbar
+ menupopup[placespopup="true"]
+ menuitem:not(.menuitem-iconic, [disabled="true"]):not(:has(.menu-icon[aria-hidden="true"])),
+ #PersonalToolbar menupopup[placespopup="true"] menu:not(.menu-iconic):not(:has(.menu-icon[aria-hidden="true"])) {
padding-inline-start: calc(var(--arrowpanel-menuitem-padding-inline) + 1px) !important;
}
- menupopup:is(#BMB_bookmarksPopup)[placespopup="true"] menuitem:not(.menuitem-iconic, [disabled="true"]) > .menu-text,
- menupopup:is(#BMB_bookmarksPopup)[placespopup="true"] menu:not(.menu-iconic) > .menu-text,
- #PersonalToolbar menupopup[placespopup="true"] menuitem:not(.menuitem-iconic, [disabled="true"]) > .menu-text,
- #PersonalToolbar menupopup[placespopup="true"] menu:not(.menu-iconic) > .menu-text {
+ menupopup:is(#BMB_bookmarksPopup)[placespopup="true"]
+ menuitem:not(.menuitem-iconic, [disabled="true"]):not(:has(.menu-icon[aria-hidden="true"]))
+ > .menu-text,
+ menupopup:is(#BMB_bookmarksPopup)[placespopup="true"]
+ menu:not(.menu-iconic):not(:has(.menu-icon[aria-hidden="true"]))
+ > .menu-text,
+ #PersonalToolbar
+ menupopup[placespopup="true"]
+ menuitem:not(.menuitem-iconic, [disabled="true"]):not(:has(.menu-icon[aria-hidden="true"]))
+ > .menu-text,
+ #PersonalToolbar
+ menupopup[placespopup="true"]
+ menu:not(.menu-iconic):not(:has(.menu-icon[aria-hidden="true"]))
+ > .menu-text {
padding-inline-start: var(--context-menu-mac-padding) !important;
}
}
@@ -27046,8 +28590,13 @@
#sidebartabs_asamuzak_jp-menuitem-_reloadAllTabs {
--menuitem-image: url("../icons/reload.svg");
}
+ #context_playTab,
+ #context_playSelectedTabs {
+ --menuitem-image: url("../icons/play-fill.svg");
+ }
#context_toggleMuteTab,
#context_toggleMuteSelectedTabs,
+ #treestyletab_piro_sakura_ne_jp-menuitem-_context_toggleMuteTab[label="Mute Tab"],
#treestyletab_piro_sakura_ne_jp-menuitem-_context_toggleMuteTab-mute,
#tabcenter-reborn_ariasuni-menuitem-_contextMenuMuteTab,
#sidebartabs_asamuzak_jp-menuitem-_muteTab {
@@ -27056,6 +28605,7 @@
}
#context_toggleMuteTab[muted],
#context_toggleMuteSelectedTabs[muted],
+ #treestyletab_piro_sakura_ne_jp-menuitem-_context_toggleMuteTab[label="Unmute Tab"],
#treestyletab_piro_sakura_ne_jp-menuitem-_context_toggleMuteTab-unmute,
#tabcenter-reborn_ariasuni-menuitem-_contextMenuMuteTab[label="Unmute Tab"],
#sidebartabs_asamuzak_jp-menuitem-_muteTab[label="Unmute Tab"] {
@@ -27075,6 +28625,12 @@
#sidebartabs_asamuzak_jp-menuitem-_pinTab[label="Unpin Tab"] {
--menuitem-image: url("../icons/unpin-tab.svg");
}
+ #treestyletab_piro_sakura_ne_jp-menuitem-_context_topLevel_toggleSticky[label="Stick Tab to Edges"] {
+ --menuitem-image: url("../icons/align-distribute-top.svg");
+ }
+ #treestyletab_piro_sakura_ne_jp-menuitem-_context_topLevel_toggleSticky[label="Unstick Tab to Edges"] {
+ --menuitem-image: url("../icons/align-space-evenly-vertical.svg");
+ }
#context_duplicateTab,
#context_duplicateTabs,
#treestyletab_piro_sakura_ne_jp-menuitem-_context_duplicateTab,
@@ -27113,6 +28669,7 @@
/*= toolbar-context-menu =====================================================*/
/*= Tab Mix Plus =============================================================*/
/*= contentAreaContextMenu ===================================================*/
+ /*= context-ask-chat =========================================================*/
/*= main-context-menu-frame ==================================================*/
/*= Tab Mix Plus =============================================================*/
/*= downloadsContextMenu =====================================================*/ /*= placeContext =============================================================*/ /*= Notification =============================================================*/
@@ -27169,6 +28726,7 @@
}
}
@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.menu") and (-moz-bool-pref: "userChrome.icon.context_menu") and (-moz-bool-pref: "userChrome.icon.menu.full") {
+ #treestyletab_piro_sakura_ne_jp-menuitem-_context_closeDuplicatedTabs,
#context_closeDuplicateTabs {
--menuitem-image: var(--uc-tab-close-duplicate-icon);
}
@@ -27266,6 +28824,16 @@
--menuitem-image: url("../icons/undo.svg");
}
}
+@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.menu") and (-moz-bool-pref: "userChrome.icon.context_menu") {
+ #toolbar-context-customize-sidebar {
+ --menuitem-image: url("chrome://browser/skin/customize.svg");
+ }
+}
+@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.menu") and (-moz-bool-pref: "userChrome.icon.context_menu") {
+ #toolbar-context-toggle-vertical-tabs {
+ --menuitem-image: url("chrome://browser/skin/sidebar-collapsed.svg");
+ }
+}
@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.menu") and (-moz-bool-pref: "userChrome.icon.context_menu") {
#toggle_toolbar-menubar {
/* checkbox */
@@ -27309,7 +28877,7 @@
}
@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.menu") and (-moz-bool-pref: "userChrome.icon.context_menu") {
#tm-renameTab {
- --menuitem-image: url("chrome://global/skin/icons/edit.svg");
+ --menuitem-image: url("../icons/edit-active.svg");
}
}
@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.menu") and (-moz-bool-pref: "userChrome.icon.context_menu") {
@@ -27710,6 +29278,11 @@
--menuitem-image: url("../icons/translations.svg");
}
}
+@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.menu") and (-moz-bool-pref: "userChrome.icon.context_menu") {
+ #context-ask-chat {
+ --menuitem-image: url("../icons/chat-sparkle.svg");
+ }
+}
@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.menu") and (-moz-bool-pref: "userChrome.icon.context_menu") {
#frame {
--menuitem-image: url("../icons/command-frames.svg");
@@ -27779,6 +29352,52 @@
--menuitem-image: url("chrome://browser/skin/bookmark.svg");
}
}
+@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.menu") and (-moz-bool-pref: "userChrome.icon.context_menu") {
+ #ask-chat-shortcuts .toolbarbutton-icon {
+ order: -1;
+ margin-inline-end: var(--arrowpanel-menuitem-margin-inline) !important;
+ }
+}
+@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.menu") and (-moz-bool-pref: "userChrome.icon.context_menu") {
+ #ask-chat-shortcuts .subviewbutton:nth-child(1) {
+ list-style-image: url("../icons/apps-list-detail.svg");
+ }
+}
+@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.menu") and (-moz-bool-pref: "userChrome.icon.context_menu") {
+ #ask-chat-shortcuts .subviewbutton:nth-child(2) {
+ list-style-image: url("../icons/code-text.svg");
+ }
+}
+@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.menu") and (-moz-bool-pref: "userChrome.icon.context_menu") {
+ #ask-chat-shortcuts .subviewbutton:nth-child(3) {
+ list-style-image: url("../icons/tetris-app.svg");
+ }
+}
+@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.menu") and (-moz-bool-pref: "userChrome.icon.context_menu") {
+ #ask-chat-shortcuts .subviewbutton:nth-child(4) {
+ list-style-image: url("../icons/arrow-up-exclamation.svg");
+ }
+}
+@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.menu") and (-moz-bool-pref: "userChrome.icon.context_menu") {
+ #context-ask-chat menuitem:nth-child(1) {
+ --menuitem-image: url("../icons/apps-list-detail.svg");
+ }
+}
+@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.menu") and (-moz-bool-pref: "userChrome.icon.context_menu") {
+ #context-ask-chat menuitem:nth-child(2) {
+ --menuitem-image: url("../icons/code-text.svg");
+ }
+}
+@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.menu") and (-moz-bool-pref: "userChrome.icon.context_menu") {
+ #context-ask-chat menuitem:nth-child(3) {
+ --menuitem-image: url("../icons/tetris-app.svg");
+ }
+}
+@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.menu") and (-moz-bool-pref: "userChrome.icon.context_menu") {
+ #context-ask-chat menuitem:nth-child(4) {
+ --menuitem-image: url("../icons/arrow-up-exclamation.svg");
+ }
+}
@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.menu") and (-moz-bool-pref: "userChrome.icon.context_menu") {
#context-showonlythisframe {
--menuitem-image: url("../icons/eye-show.svg");
@@ -27994,7 +29613,7 @@
#placesContext_show_bookmark\:info,
#placesContext_show\:info,
#placesContext_show_folder\:info {
- --menuitem-image: url("chrome://global/skin/icons/edit.svg");
+ --menuitem-image: url("../icons/edit-active.svg");
}
}
@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.menu") and (-moz-bool-pref: "userChrome.icon.context_menu") {
@@ -28094,7 +29713,7 @@
}
@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.menu") and (-moz-bool-pref: "userChrome.icon.context_menu") {
#blockedPopupOptions > menuitem[oncommand="gPopupBlockerObserver.editPopupSettings();"] {
- --menuitem-image: url("chrome://global/skin/icons/edit.svg");
+ --menuitem-image: url("../icons/edit-active.svg");
}
}
@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.menu") and (-moz-bool-pref: "userChrome.icon.context_menu") {
@@ -28393,6 +30012,9 @@
}
}
@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.menu") and (-moz-bool-pref: "userChrome.icon.context_menu") {
+ .urlbarView-result-menuitem[data-command="trendingblock"] {
+ --menuitem-image: url("../icons/eye-hide.svg");
+ }
.urlbarView-result-menuitem[data-command="dismiss"] {
--menuitem-image: url("chrome://global/skin/icons/delete.svg");
}
@@ -28426,7 +30048,7 @@
--menuitem-image: url("../icons/mail-inbox-all.svg");
}
#edit-menu {
- --menuitem-image: url("chrome://global/skin/icons/edit.svg");
+ --menuitem-image: url("../icons/edit-active.svg");
}
#view-menu {
--menuitem-image: url("../icons/content-view.svg");
@@ -28437,6 +30059,10 @@
#bookmarksMenu {
--menuitem-image: url("chrome://browser/skin/bookmark.svg");
}
+ #profiles-menu:is(menu) {
+ fill: transparent !important;
+ --menuitem-image: url("chrome://browser/content/profiles/assets/16_heart.svg");
+ }
#tools-menu {
--menuitem-image: url("../icons/toolbox.svg");
}
@@ -28446,6 +30072,18 @@
#helpMenu {
--menuitem-image: url("chrome://global/skin/icons/help.svg");
}
+ /*= Others ===================================================================*/
+ #alltabs-button {
+ list-style-image: url("chrome://global/skin/icons/arrow-down.svg") !important;
+ }
+ #alltabs-button > .toolbarbutton-badge-stack > .toolbarbutton-icon {
+ /* Original
+ width: 20px;
+ margin: -2px;
+ */
+ width: 16px !important;
+ margin: 0 !important;
+ }
}
@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.menu") and (-moz-bool-pref: "userChrome.icon.global_menu") {
/** Global Menu ***************************************************************/
@@ -28477,6 +30115,7 @@
/*= goPopup ==================================================================*/
/* sub menu */
/*= bookmarksMenuPopup =======================================================*/
+ /*= menu_ProfilesPopup =======================================================*/
/*= menu_ToolsPopup ==========================================================*/
/* menuWebDeveloperPopup sub menu */
/*= windowPopup ==============================================================*/
@@ -28747,6 +30386,11 @@
--menuitem-image: url("chrome://global/skin/icons/search-glass.svg");
}
}
+@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.menu") and (-moz-bool-pref: "userChrome.icon.global_menu") {
+ #menu_manageProfiles {
+ --menuitem-image: url("chrome://global/skin/icons/settings.svg");
+ }
+}
@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.menu") and (-moz-bool-pref: "userChrome.icon.global_menu") {
#menu_openDownloads {
--menuitem-image: url("chrome://browser/skin/downloads/downloads.svg");
@@ -29000,6 +30644,10 @@
{
content: url("../icons/developer.svg") !important;
}
+ .tabbrowser-tab:is([image="chrome://browser/skin/controlcenter/dashboard.svg"]) .tab-icon-image
+ {
+ content: url("../icons/dashboard.svg") !important;
+ }
}
@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.panel") {
#appMenu-restart-button {
@@ -29016,6 +30664,9 @@
menuitem.privatetab-icon {
--menuitem-image: url("../icons/private-favicon.svg");
}
+ #sidebar_waterfox_net-menuitem-_openAllBookmarksWithStructure {
+ --menuitem-image: url("../icons/organization-horizontal.svg");
+ }
}
@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.panel") {
#appMenuNewIdentity {
@@ -29078,7 +30729,7 @@
--menuitem-image: url("chrome://global/skin/icons/reload.svg");
}
#usercssloader-submenupopup > menuitem[data-l10n-id="make-browsercss-file"] {
- --menuitem-image: url("chrome://global/skin/icons/edit.svg");
+ --menuitem-image: url("../icons/edit-active.svg");
}
#usercssloader-submenupopup > menuitem[data-l10n-id="open-css-folder"] {
--menuitem-image: var(--uc-folder-icon);
diff --git a/css/leptonChromeESR.css b/css/leptonChromeESR.css
index 699c3e0..bba6411 100644
--- a/css/leptonChromeESR.css
+++ b/css/leptonChromeESR.css
@@ -59,7 +59,7 @@
padding-inline-end: var(--arrowpanel-menuitem-padding-inline) !important;
}
/*= First visible tab margin at maximized #332 ===============================*/
- :root[tabsintitlebar="true"][sizemode="maximized"] #TabsToolbar {
+ :root:is([tabsintitlebar="true"], [customtitlebar="true"])[sizemode="maximized"] #TabsToolbar {
margin-left: -1px;
}
/*= Disabled menu background color ===========================================*/
@@ -133,9 +133,18 @@
--tabs-border-color: rgba(0, 0, 0, 0.4); /* Legacy: v96, (0, 0, 0, 0.3) -> (0, 0, 0, 0.4) */
--lwt-tabs-border-color: rgba(0, 0, 0, 0.4);
}
+ #main-window {
+ background-color: WindowFrame !important;
+ }
+ :root[lwtheme][lwtheme-image] #customization-container {
+ background-image: none !important;
+ }
#customization-container {
background-color: transparent !important; /* Original: color-mix(in srgb, -moz-dialog 85%, white) */
}
+ :root:not([lwtheme]) #customization-container {
+ background-color: var(--toolbar-non-lwt-bgcolor) !important;
+ }
/*= Findbar Border Color =====================================================*/
html|input.findbar-textbox {
border: 1px solid var(--input-border-color, var(--toolbar-field-border-color, ThreeDShadow)) !important; /* Original: 1px solid var(--input-border-color, var(--toolbar-field-border-color)) */
@@ -174,14 +183,18 @@
align-items: center !important;
}
/*= Inactive transparent #882 ================================================*/
- :root[tabsintitlebar] #titlebar:-moz-window-inactive {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar:-moz-window-inactive,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar:-moz-window-inactive,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar:-moz-window-inactive {
opacity: 1 !important;
color: color-mix(in srgb, currentColor calc(var(--inactive-titlebar-opacity, 0.75) * 100%), transparent) !important;
--inactive-toolbarbutton-icon-fill-opacity: calc(
var(--toolbarbutton-icon-fill-opacity, 1) * var(--inactive-titlebar-opacity, 0.75)
);
}
- :root[tabsintitlebar] #titlebar:-moz-window-inactive .toolbarbutton-icon {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar:-moz-window-inactive .toolbarbutton-icon,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar:-moz-window-inactive .toolbarbutton-icon,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar:-moz-window-inactive .toolbarbutton-icon {
fill-opacity: var(--inactive-toolbarbutton-icon-fill-opacity, 1);
}
/*= Tabpreviw transparent #890 ===============================================*/
@@ -193,25 +206,37 @@
--arrowpanel-color
) !important; /* Original: var(--tab-selected-textcolor, var(--toolbar-color)) */
}
+ /*= Design token =============================================================*/
+ :root,
+ :host {
+ --button-color: var(--button-text-color);
+ --button-bgcolor: var(--button-background-color);
+ --button-hover-bgcolor: var(--button-background-color-hover);
+ --button-active-bgcolor: var(--button-background-color-active);
+ --button-primary-color: var(--button-text-color-primary);
+ --button-primary-bgcolor: var(--button-background-color-primary);
+ --button-primary-hover-bgcolor: var(--button-background-color-primary-hover);
+ --button-primary-active-bgcolor: var(--button-background-color-primary-active);
+ }
}
/*= OS - Compatibility =======================================================*/
@supports -moz-bool-pref("userChrome.compatibility.os") {
/*= Windows 10 - Top border of accent color at ESR #358 ======================*/
@media (-moz-os-version: windows-win10), (-moz-platform: windows-win10) {
- :root[sizemode="normal"][tabsintitlebar] #navigator-toolbox {
+ :root[sizemode="normal"]:is([tabsintitlebar], [customtitlebar]) #navigator-toolbox {
border-top: 0.5px solid rgb(47, 47, 47) !important;
}
- :root[sizemode="normal"][tabsintitlebar]:-moz-window-inactive #navigator-toolbox {
+ :root[sizemode="normal"]:is([tabsintitlebar], [customtitlebar]):-moz-window-inactive #navigator-toolbox {
border-top-color: rgb(57, 57, 57) !important;
}
}
@media (-moz-os-version: windows-win10) and (-moz-windows-accent-color-in-titlebar),
(-moz-platform: windows-win10) and (-moz-windows-accent-color-in-titlebar) {
- :root[sizemode="normal"][tabsintitlebar] #navigator-toolbox {
+ :root[sizemode="normal"]:is([tabsintitlebar], [customtitlebar]) #navigator-toolbox {
border-top-color: ActiveBorder !important;
}
@supports -moz-bool-pref("userChrome.compatibility.accent_color") {
- :root[sizemode="normal"][tabsintitlebar] #navigator-toolbox {
+ :root[sizemode="normal"]:is([tabsintitlebar], [customtitlebar]) #navigator-toolbox {
border-top-color: -moz-accent-color !important;
}
}
@@ -354,28 +379,6 @@
color: inherit !important; /* Original: -moz-menubarhovertext */
background-color: color-mix(in srgb, currentColor 20%, transparent) !important; /* Original: -moz-menuhover */
}
- /*= Linux - Titlebar button at lwtheme =====================================*/
- @supports not -moz-bool-pref("userChrome.compatibility.os.linux_non_native_titlebar_button") {
- :root:is(:-moz-lwtheme, [lwtheme]) .titlebar-button {
- appearance: none !important;
- }
- :root:is(:-moz-lwtheme, [lwtheme]) .titlebar-button > .toolbarbutton-icon {
- appearance: auto !important;
- width: unset !important;
- height: unset !important;
- }
- :root:is(:-moz-lwtheme, [lwtheme]) .titlebar-min,
- :root:is(:-moz-lwtheme, [lwtheme]) .titlebar-max,
- :root:is(:-moz-lwtheme, [lwtheme]) .titlebar-restore,
- :root:is(:-moz-lwtheme, [lwtheme]) .titlebar-close {
- list-style-image: none !important;
- }
- :root:is(:-moz-lwtheme, [lwtheme]) .titlebar-button,
- :root:is(:-moz-lwtheme, [lwtheme]) .titlebar-button:hover:active {
- background-color: unset !important;
- color: unset !important;
- }
- }
}
/*= Linux - Light System Default Theme's Selected Tab ========================*/
@media (-moz-gtk-csd-available) and (-moz-toolbar-prefers-color-scheme: light),
@@ -408,7 +411,7 @@
(-moz-os-version: windows-win10),
(-moz-platform: windows) {
@supports not -moz-bool-pref("userChrome.compatibility.os.windows_maximized") {
- :root[tabsintitlebar] #titlebar {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar {
/* -moz-default-appearance: -moz-window-titlebar */
appearance: none !important;
}
@@ -428,13 +431,13 @@
(-moz-platform: windows) and (-moz-platform: windows-win7),
(-moz-platform: windows) and (-moz-os-version: windows-win8),
(-moz-platform: windows) and (-moz-platform: windows-win8) {
- :root[tabsintitlebar][sizemode="maximized"] #titlebar {
+ :root:is([tabsintitlebar], [customtitlebar])[sizemode="maximized"] #titlebar {
padding-top: 8px;
}
}
}
@supports -moz-bool-pref("userChrome.compatibility.os.windows_maximized") {
- :root[tabsintitlebar][sizemode="maximized"] #titlebar {
+ :root:is([tabsintitlebar], [customtitlebar])[sizemode="maximized"] #titlebar {
appearance: none !important;
padding-top: 8px;
}
@@ -445,18 +448,19 @@
(-moz-os-version: windows-win8) and (-moz-windows-classic),
(-moz-os-version: windows-win10) and (-moz-windows-classic),
(-moz-platform: windows) and (-moz-windows-classic) {
- :root[tabsintitlebar][sizemode="normal"]:not(:-moz-lwtheme) #navigator-toolbox {
+ :root:is([tabsintitlebar], [customtitlebar])[sizemode="normal"]:not(:-moz-lwtheme) #navigator-toolbox {
appearance: auto !important;
-moz-default-appearance: -moz-window-titlebar !important;
}
- :root[tabsintitlebar][sizemode="maximized"]:not(:-moz-lwtheme) #navigator-toolbox {
+ :root:is([tabsintitlebar], [customtitlebar])[sizemode="maximized"]:not(:-moz-lwtheme) #navigator-toolbox {
appearance: auto !important;
-moz-default-appearance: -moz-window-titlebar !important;
}
- :root[tabsintitlebar]:not(:-moz-lwtheme) #tabbrowser-arrowscrollbox {
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-lwtheme) #pinned-tabs-container,
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-lwtheme) #tabbrowser-arrowscrollbox {
color: -moz-dialogtext !important;
}
- :root[tabsintitlebar][sizemode="normal"] #navigator-toolbox:-moz-lwtheme {
+ :root:is([tabsintitlebar], [customtitlebar])[sizemode="normal"] #navigator-toolbox:-moz-lwtheme {
background-image: linear-gradient(
to bottom,
ThreeDLightShadow 0,
@@ -469,6 +473,10 @@
) !important;
}
}
+ /*= MacOS Fullscreen clipping #1045 ==========================================*/
+ :root[sizemode="fullscreen"][macOSNativeFullscreen]:not([inDOMFullscreen="true"]) #TabsToolbar {
+ min-height: var(--tab-min-height, fit-content) !important;
+ }
}
/*= Others - Compatibility ===================================================*/
@supports -moz-bool-pref("userChrome.compatibility.panel_cutoff") {
@@ -487,14 +495,14 @@
/*= Common - URL Bar focus color =============================================*/
@media (-moz-windows-accent-color-in-titlebar), (-moz-gtk-csd-available) {
/* URL Bar */
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme)),
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) {
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme)),
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) {
--focus-outline-color: AccentColor !important;
}
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
#urlbar[open]
> #urlbar-background,
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
#urlbar[open]
> #urlbar-background {
border-color: color-mix(
@@ -504,14 +512,14 @@
) !important; /* Like: --toolbar-field-focus-border-color */
}
@supports -moz-bool-pref("userChrome.compatibility.accent_color") {
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme)),
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) {
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme)),
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) {
--focus-outline-color: -moz-accent-color !important;
}
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
#urlbar[open]
> #urlbar-background,
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
#urlbar[open]
> #urlbar-background {
border-color: color-mix(
@@ -811,8 +819,11 @@
@supports -moz-bool-pref("userChrome.theme.system_default") {
@media (-moz-os-version: windows-win10) and (-moz-windows-accent-color-in-titlebar),
(-moz-platform: windows-win10) and (-moz-windows-accent-color-in-titlebar) {
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme)),
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) {
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(
+ :not([lwtheme]),
+ :not(:-moz-lwtheme)
+ ),
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) {
--toolbarseparator-color: color-mix(in srgb, currentColor 20%, transparent) !important; /* As default */
}
}
@@ -855,7 +866,11 @@
}
@media (-moz-os-version: windows-win10), (-moz-platform: windows-win10) {
:root:is(:not([lwtheme]), :not(:-moz-lwtheme)) #titlebar,
- :root[lwt-default-theme-in-dark-mode] #titlebar {
+ :root[lwt-default-theme-in-dark-mode] #titlebar,
+ :root:is(:not([lwtheme]), :not(:-moz-lwtheme)) #toolbar-menubar,
+ :root[lwt-default-theme-in-dark-mode] #toolbar-menubar,
+ :root:is(:not([lwtheme]), :not(:-moz-lwtheme)) #TabsToolbar,
+ :root[lwt-default-theme-in-dark-mode] #TabsToolbar {
--button-hover-bgcolor: var(--win-sidebar-button-hover-bgcolor);
--button-active-bgcolor: var(--win-sidebar-button-hover-active-bgcolor);
--toolbarbutton-hover-background: var(--win-sidebar-button-hover-bgcolor);
@@ -905,7 +920,8 @@
#appMenu-zoomReduce-button2,
#appMenu-zoomReset-button2,
#appMenu-zoomEnlarge-button2,
- #appMenu-fullscreen-button2
+ #appMenu-fullscreen-button2,
+ .unified-extensions-item-menu-button
):is(:hover),
:root[lwt-default-theme-in-dark-mode]
toolbarbutton.subviewbutton:not(
@@ -916,7 +932,8 @@
#appMenu-zoomReduce-button2,
#appMenu-zoomReset-button2,
#appMenu-zoomEnlarge-button2,
- #appMenu-fullscreen-button2
+ #appMenu-fullscreen-button2,
+ .unified-extensions-item-menu-button
):is(:hover) {
background-color: var(--win-hover-bgcolor) !important;
}
@@ -959,6 +976,27 @@
}
}
@media (-moz-os-version: windows-win10), (-moz-platform: windows-win10) {
+ :root:is(:not([lwtheme]), :not(:-moz-lwtheme))
+ #tabbrowser-tabs:not([movingtab])
+ > #pinned-tabs-container
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[multiselected]:not([selected]),
+ :root[lwtheme-mozlightdark]
+ #tabbrowser-tabs:not([movingtab])
+ > #pinned-tabs-container
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[multiselected]:not([selected]),
+ :root:is(
+ [style*="--lwt-accent-color: rgb(240, 240, 244); --lwt-text-color: rgba(21, 20, 26);"],
+ [style*="--lwt-accent-color: rgb(28, 27, 34); --lwt-text-color: rgba(251, 251, 254);"]
+ )
+ #tabbrowser-tabs:not([movingtab])
+ > #pinned-tabs-container
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[multiselected]:not([selected]),
:root:is(:not([lwtheme]), :not(:-moz-lwtheme))
#tabbrowser-tabs:not([movingtab])
> #tabbrowser-arrowscrollbox
@@ -990,27 +1028,43 @@
/*= Windows10 - Titlebar accent color ========================================*/
@media (-moz-windows-accent-color-in-titlebar) {
/* Tab Bar */
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme)) .titlebar-color,
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) .titlebar-color {
- color: AccentColorText;
- background-color: AccentColor;
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ .titlebar-color,
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ .browser-titlebar,
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ .titlebar-color,
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ .browser-titlebar {
+ color: AccentColorText !important;
+ background-color: AccentColor !important;
}
@supports -moz-bool-pref("userChrome.compatibility.accent_color") {
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme)) .titlebar-color,
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) .titlebar-color {
- color: -moz-accent-color-foreground;
- background-color: -moz-accent-color;
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ .titlebar-color,
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ .browser-titlebar,
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ .titlebar-color,
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ .browser-titlebar {
+ color: -moz-accent-color-foreground !important;
+ background-color: -moz-accent-color !important;
}
}
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme)) .toolbar-items,
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) .toolbar-items {
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ .toolbar-items,
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ .toolbar-items {
--toolbarbutton-icon-fill: currentColor;
--toolbarbutton-hover-background: color-mix(in srgb, AccentColorText 10%, transparent);
--toolbarbutton-active-background: color-mix(in srgb, AccentColorText 15%, transparent);
}
@supports -moz-bool-pref("userChrome.compatibility.accent_color") {
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme)) .toolbar-items,
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) .toolbar-items {
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ .toolbar-items,
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ .toolbar-items {
--toolbarbutton-hover-background: color-mix(in srgb, -moz-accent-color-foreground 10%, transparent);
--toolbarbutton-active-background: color-mix(in srgb, -moz-accent-color-foreground 15%, transparent);
}
@@ -1207,11 +1261,17 @@
:root[lwt-default-theme-in-dark-mode] #navigator-toolbox {
background-color: var(--mac-bgcolor) !important;
}
- :root:is(:not([lwtheme]), :not(:-moz-lwtheme)) #titlebar {
+ :root:is(:not([lwtheme]), :not(:-moz-lwtheme)) #titlebar,
+ :root:is(:not([lwtheme]), :not(:-moz-lwtheme)) #toolbar-menubar,
+ :root:is(:not([lwtheme]), :not(:-moz-lwtheme)) #TabsToolbar {
--mac-hover-bgcolor: ButtonFace;
}
:root:is(:not([lwtheme]), :not(:-moz-lwtheme)) #titlebar,
- :root[lwt-default-theme-in-dark-mode] #titlebar {
+ :root[lwt-default-theme-in-dark-mode] #titlebar,
+ :root:is(:not([lwtheme]), :not(:-moz-lwtheme)) #toolbar-menubar,
+ :root[lwt-default-theme-in-dark-mode] #toolbar-menubar,
+ :root:is(:not([lwtheme]), :not(:-moz-lwtheme)) #TabsToolbar,
+ :root[lwt-default-theme-in-dark-mode] #TabsToolbar {
--button-hover-bgcolor: var(--mac-hover-bgcolor);
--button-active-bgcolor: var(--mac-hover-bgcolor);
--toolbarbutton-hover-background: var(--mac-hover-bgcolor);
@@ -1256,6 +1316,18 @@
}
/* Hard Coded */
@supports -moz-bool-pref("userChrome.tab.color_like_toolbar") {
+ :root[lwtheme-mozlightdark][lwt-default-theme-in-dark-mode]
+ #tabbrowser-tabs:not([movingtab])
+ > #pinned-tabs-container
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[selected],
+ :root[style*="--lwt-accent-color: rgb(28, 27, 34); --lwt-text-color: rgba(251, 251, 254);"][lwt-default-theme-in-dark-mode]
+ #tabbrowser-tabs:not([movingtab])
+ > #pinned-tabs-container
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[selected],
:root[lwtheme-mozlightdark][lwt-default-theme-in-dark-mode]
#tabbrowser-tabs:not([movingtab])
> #tabbrowser-arrowscrollbox
@@ -1411,8 +1483,11 @@
width: unset !important;
}
.menu-iconic-left .menu-iconic-icon,
+ .menu-iconic-left .menu-icon,
menuitem[type="checkbox"] .menu-iconic-icon,
- menuitem[type="radio"] .menu-iconic-icon {
+ menuitem[type="checkbox"] .menu-icon,
+ menuitem[type="radio"] .menu-iconic-icon,
+ menuitem[type="radio"] .menu-icon {
appearance: none !important;
}
}
@@ -1441,7 +1516,8 @@
}
}
@media (-moz-gtk-csd-available) {
- menuitem[checked="true"] > .menu-iconic-left {
+ menuitem[checked="true"] > .menu-iconic-left,
+ menuitem[checked="true"] > .menu-icon {
-moz-context-properties: fill, fill-opacity !important;
fill: currentColor !important;
fill-opacity: var(--menu-icon-opacity) !important;
@@ -1471,7 +1547,7 @@
@media (-moz-gtk-csd-available) {
menupopup {
/* Disable the default appearance so we can override the native styling. */
- appearance: none !important !important;
+ appearance: none !important;
/* Prevent any background or border around the outside of the shadow. */
background-color: transparent !important;
border: none !important;
@@ -1554,13 +1630,15 @@
}
}
@media (-moz-gtk-csd-available) {
- #context-navigation > .menuitem-iconic > .menu-iconic-left {
+ #context-navigation > .menuitem-iconic > .menu-iconic-left,
+ #context-navigation > .menuitem-iconic > .menu-icon {
margin: 0 !important;
padding: 0 !important;
}
}
@media (-moz-gtk-csd-available) {
- #context-navigation > .menuitem-iconic > .menu-iconic-left > .menu-iconic-icon {
+ #context-navigation > .menuitem-iconic > .menu-iconic-left > .menu-iconic-icon,
+ #context-navigation > .menuitem-iconic > .menu-icon {
width: var(--menuitem-min-width) !important;
height: 32px !important;
padding: 8px 1em !important;
@@ -1568,7 +1646,8 @@
}
}
@media (-moz-gtk-csd-available) {
- #context-navigation > .menuitem-iconic[_moz-menuactive="true"] > .menu-iconic-left > .menu-iconic-icon {
+ #context-navigation > .menuitem-iconic[_moz-menuactive="true"] > .menu-iconic-left > .menu-iconic-icon,
+ #context-navigation > .menuitem-iconic[_moz-menuactive="true"] > .menu-icon {
background-color: var(--menuitem-hover-background-color) !important;
}
}
@@ -1576,7 +1655,8 @@
#context-navigation
> .menuitem-iconic[_moz-menuactive="true"][disabled="true"]
> .menu-iconic-left
- > .menu-iconic-icon {
+ > .menu-iconic-icon,
+ #context-navigation > .menuitem-iconic[_moz-menuactive="true"][disabled="true"] > .menu-icon {
background-color: transparent !important;
}
}
@@ -2085,7 +2165,6 @@
> .menu-iconic-icon {
background-color: var(--menuitem-hover-background-color) !important;
}
- html#main-window menupopup #context-navigation > .menuitem-iconic[_moz-menuactive="true"],
html#main-window
menupopup
#context-navigation
@@ -2133,7 +2212,6 @@
> .menu-iconic-icon {
background-color: var(--menuitem-hover-background-color) !important;
}
- html#main-window menupopup #context-navigation > .menuitem-iconic[_moz-menuactive="true"],
html#main-window
menupopup
#context-navigation
@@ -2214,6 +2292,15 @@
.notification-button:hover:active {
background-color: var(--button-active-bgcolor) !important;
}
+ .notification-button.primary {
+ background-color: var(--button-primary-bgcolor) !important;
+ }
+ .notification-button.primary:hover {
+ background-color: var(--button-primary-hover-bgcolor) !important;
+ }
+ .notification-button.primary:hover:active {
+ background-color: var(--button-primary-active-bgcolor) !important;
+ }
html|button.ghost-button:not(.semi-transparent):enabled:hover {
background-color: var(--button-hover-bgcolor) !important;
}
@@ -2250,8 +2337,8 @@
#editBMPanel_tagsSelector > richlistitem[selected="true"] {
background-color: var(--button-active-bgcolor, color-mix(in srgb, currentColor 30%, transparent)) !important;
}
- #editBMPanel_namePicker,
- #editBMPanel_tagsField {
+ #editBookmarkPanel #editBMPanel_namePicker,
+ #editBookmarkPanel #editBMPanel_tagsField {
--input-bgcolor: var(--arrowpanel-background, Field);
--input-color: var(--arrowpanel-color, FieldText);
}
@@ -2480,7 +2567,9 @@
:root[style*="--focus-outline-color: rgb(172, 112, 255); --panel-separator-zap-gradient: linear-gradient(90deg, #9059FF 0%, #FF4AA2 52.08%, #FFBD4F 100%);"] {
--lwt-accent-color: rgb(45, 36, 91) !important;
}
- #titlebar {
+ #titlebar,
+ #toolbar-menubar,
+ #TabsToolbar {
--uc-frame-element-background: color-mix(in srgb, var(--lwt-accent-color, Window) 60%, transparent);
--toolbarbutton-hover-background: color-mix(in srgb, var(--lwt-accent-color, Window) 85%, transparent);
}
@@ -2495,7 +2584,9 @@
(-moz-platform: windows-win7) and (prefers-color-scheme: dark),
(-moz-gtk-csd-available) and (-moz-toolbar-prefers-color-scheme: dark),
(-moz-gtk-csd-available) and (prefers-color-scheme: dark) {
- #titlebar {
+ #titlebar,
+ #toolbar-menubar,
+ #TabsToolbar {
--toolbarbutton-hover-background: color-mix(
in srgb,
var(--lwt-accent-color, Window) 40%,
@@ -2575,7 +2666,9 @@
--lwt-accent-color: transparent !important;
--lwt-text-color: WindowText !important;
}
- #titlebar .toolbarbutton-1 {
+ #titlebar .toolbarbutton-1,
+ #toolbar-menubar .toolbarbutton-1,
+ #TabsToolbar .toolbarbutton-1 {
--toolbarbutton-icon-fill: var(--lwt-text-color) !important;
}
:root:not([sizemode="fullscreen"]) .titlebar-buttonbox-container .titlebar-button:not(.titlebar-close:hover) {
@@ -2815,7 +2908,7 @@
fill: currentColor !important;
color: var(--in-content-primary-button-text-color) !important;
background-color: var(--in-content-primary-button-background) !important;
- background-image: url("chrome://global/skin/icons/radio.svg") !important;
+ background-image: url("../icons/radio.svg") !important;
border-color: transparent !important;
/* Style the button also when printing with "Print Backgrounds" unchecked */
color-adjust: exact !important;
@@ -3519,7 +3612,7 @@
}
#placesToolbar > toolbarbutton > .toolbarbutton-icon,
#placesMenu > menu > image,
- #placesMenu > menu > .menubar-text {
+ #placesMenu > menu > :is(.menubar-text, .menu-text) {
-moz-context-properties: fill !important;
fill: currentColor !important;
}
@@ -3549,7 +3642,7 @@
background-color: var(--organizer-selected-background) !important;
color: var(--organizer-selected-color) !important;
}
- #placesMenu > menu > .menubar-text {
+ #placesMenu > menu > :is(.menubar-text, .menu-text) {
margin-block: 0 !important; /* override menu.css */
padding-inline-end: 4px !important;
}
@@ -4018,12 +4111,18 @@
transition: all 0.3s var(--animation-easing-function) !important;
}
/*- URL / Search Bar -------------------------------------------------------*/
- #urlbar-background,
+ #urlbar-background {
+ transition: border-color 1s var(--animation-easing-function),
+ background-color 0.5s var(--animation-easing-function) !important;
+ }
+ #urlbar-background:hover {
+ transition: border-color 0.5s var(--animation-easing-function),
+ background-color 0.5s var(--animation-easing-function) !important;
+ }
#searchbar {
transition: border-color 1s var(--animation-easing-function),
background-color 1.5s var(--animation-easing-function) !important;
}
- #urlbar-background:hover,
#searchbar:hover {
transition: border-color 0.5s var(--animation-easing-function),
background-color 1s var(--animation-easing-function) !important;
@@ -4074,17 +4173,15 @@
width: 18em;
max-width: 36em;
/* Animation */
- transition: margin-inline-start 0.25s var(--animation-easing-function), opacity 0.25s ease-in-out,
- visibility 0s linear !important;
- will-change: margin-inline-start, opacity, visibility;
+ transition: margin-inline-start 0.25s var(--animation-easing-function), visibility 0s linear !important;
+ will-change: margin-inline-start, visibility;
}
#sidebar-box[hidden="true"] {
display: flex !important;
display: -moz-box !important;
margin-inline-start: -18em;
- opacity: 0;
visibility: collapse;
- transition-delay: 0s, 0s, 0.25s !important;
+ transition-delay: 0s, 0.25s !important;
}
}
/*- Titlebar & Full Screen -------------------------------------------------*/
@@ -4189,6 +4286,11 @@
--tab-border-radius: 0 !important; /* Original: 4px */
}
}
+@supports not -moz-bool-pref("userChrome.rounding.square_tab") {
+ :root {
+ --tab-border-radius: 4px !important; /* Original: 4px */
+ }
+}
@supports -moz-bool-pref("userChrome.rounding.square_button") {
:root {
--urlbar-icon-border-radius: 0 !important; /* Original: calc(var(--toolbarbutton-border-radius) - 1px); */
@@ -4351,13 +4453,13 @@
--uc-space-left-tabbar: 8px; /* If the option is not specified, it is equivalent to 0px. */
}
@supports not -moz-bool-pref("userChrome.padding.first_tab.always") {
- :root:not([tabsintitlebar]) #tabbrowser-tabs:not([positionpinnedtabs]),
+ :root:not([tabsintitlebar]):not([customtitlebar]) #tabbrowser-tabs:not([positionpinnedtabs]),
:root:is([sizemode="maximized"], [sizemode="fullscreen"]) #tabbrowser-tabs:not([positionpinnedtabs]) {
padding-inline-start: var(--uc-space-left-tabbar) !important;
}
}
@supports -moz-bool-pref("userChrome.padding.first_tab.always") {
- :root:not([tabsintitlebar]) #tabbrowser-tabs,
+ :root:not([tabsintitlebar]):not([customtitlebar]) #tabbrowser-tabs,
:root:is([sizemode="maximized"], [sizemode="fullscreen"]) #tabbrowser-tabs {
padding-inline-start: calc(var(--tab-overflow-pinned-tabs-width, 0px) + var(--uc-space-left-tabbar)) !important;
}
@@ -4439,6 +4541,7 @@
margin-inline-start: 0 !important;
}
}
+ :root:not([uidensity="touch"]) #pinned-tabs-container,
:root:not([uidensity="touch"]) #tabbrowser-arrowscrollbox {
--scrollbtn-inner-padding: 1px;
--scrollbtn-outer-padding: 3px;
@@ -4483,13 +4586,31 @@
.tabbrowser-tab[fadein]:not([pinned]):not([style*="max-width"]) {
max-width: var(--tab-max-width) !important; /* Original: 225px */
}
+ #tabbrowser-tabs[orient="vertical"][expanded] .tabbrowser-tab[fadein]:not([pinned]):not([style*="max-width"]) {
+ max-width: none !important;
+ }
+ #tabbrowser-tabs[orient="horizontal"]
+ tab-group[collapsed]
+ > .tabbrowser-tab[fadein]:not([pinned]):not([style*="max-width"]) {
+ min-width: 0 !important;
+ max-width: 0 !important;
+ padding: 0 !important;
+ margin: 0 !important;
+ overflow-clip-margin: 0;
+ }
/* neighbouring tabs should "pinch" together */
:root[customizing="true"] #tabbrowser-arrowscrollbox-periphery,
+ #tabbrowser-tabs:not([hasadjacentnewtabbutton]):not([overflow="true"])
+ > #pinned-tabs-container
+ > #tabbrowser-arrowscrollbox-periphery,
#tabbrowser-tabs:not([hasadjacentnewtabbutton]):not([overflow="true"])
> #tabbrowser-arrowscrollbox
> #tabbrowser-arrowscrollbox-periphery {
min-width: 3px;
}
+ #tabbrowser-tabs[orient="horizontal"] .tab-group-label-container {
+ margin-inline-start: 4px !important;
+ }
@supports not -moz-bool-pref("userChrome.tab.photon_like_padding") {
@supports -moz-bool-pref("userChrome.tab.lepton_like_padding") {
#TabsToolbar:not([multibar]) .tabbrowser-tab[pinned] {
@@ -4521,11 +4642,11 @@
--uc-space-above-tabbar: 8px; /* If the option is not specified, it is equivalent to 0px. */
}
@media (-moz-os-version: windows-win10), (-moz-platform: windows-win10) {
- :root[tabsintitlebar][sizemode="normal"] #toolbar-menubar[autohide="true"] {
+ :root:is([tabsintitlebar], [customtitlebar])[sizemode="normal"] #toolbar-menubar[autohide="true"] {
height: calc(var(--tab-min-height) + var(--uc-space-above-tabbar) - var(--tabs-navbar-shadow-size));
}
@supports -moz-bool-pref("userChrome.padding.drag_space.maximized") {
- :root[tabsintitlebar][sizemode="maximized"] #toolbar-menubar[autohide="true"] {
+ :root:is([tabsintitlebar], [customtitlebar])[sizemode="maximized"] #toolbar-menubar[autohide="true"] {
height: calc(var(--tab-min-height) + var(--uc-space-above-tabbar) - var(--tabs-navbar-shadow-size));
}
}
@@ -4535,11 +4656,11 @@
(-moz-os-version: windows-win8),
(-moz-platform: windows-win8),
(-moz-gtk-csd-available) {
- :root[tabsintitlebar][sizemode="normal"] #toolbar-menubar[autohide="true"] {
+ :root:is([tabsintitlebar], [customtitlebar])[sizemode="normal"] #toolbar-menubar[autohide="true"] {
height: calc(var(--tab-min-height) + var(--uc-space-above-tabbar));
}
@supports -moz-bool-pref("userChrome.padding.drag_space.maximized") {
- :root[tabsintitlebar][sizemode="maximized"] #toolbar-menubar[autohide="true"] {
+ :root:is([tabsintitlebar], [customtitlebar])[sizemode="maximized"] #toolbar-menubar[autohide="true"] {
height: calc(var(--tab-min-height) + var(--uc-space-above-tabbar));
}
}
@@ -4641,6 +4762,16 @@
) !important; /* Prevent overflow pinned tab bottom margin */
}
@supports not -moz-bool-pref("userChrome.tabbar.multi_row") {
+ :root:not([uidensity="compact"]) #TabsToolbar:not([multibar]) #pinned-tabs-container,
+ #TabsToolbar:not([multibar]) #pinned-tabs-container[overflowing="true"] > .tabbrowser-tab[pinned="true"],
+ #TabsToolbar:not([multibar])
+ #pinned-tabs-container[overflowing="true"]
+ > .tabbrowser-tab[pinned="true"]
+ .tab-stack,
+ #TabsToolbar:not([multibar])
+ #pinned-tabs-container[overflowing="true"]
+ > .tabbrowser-tab[pinned="true"]
+ .tab-content,
:root:not([uidensity="compact"]) #TabsToolbar:not([multibar]) #tabbrowser-arrowscrollbox,
#TabsToolbar:not([multibar]) #tabbrowser-arrowscrollbox[overflowing="true"] > .tabbrowser-tab[pinned="true"],
#TabsToolbar:not([multibar])
@@ -4653,12 +4784,14 @@
.tab-content {
max-height: var(--tab-min-height) !important; /* Force apply height */
}
+ :root[uidensity="compact"] #TabsToolbar:not([multibar]) #pinned-tabs-container,
:root[uidensity="compact"] #TabsToolbar:not([multibar]) #tabbrowser-arrowscrollbox {
height: var(--tab-min-height) !important;
}
}
}
/* Scroll Button - Size Fix */
+ :root #pinned-tabs-container,
:root #tabbrowser-arrowscrollbox {
--scrollbtn-vertical-padding: 3px;
--scrollbtn-vertical-border: 2px;
@@ -4676,7 +4809,7 @@
/* Original: calc(var(--tab-border-radius) + 4px) = 8px */
border-radius: var(--scrollbtn-border-radius, calc(var(--tab-border-radius) + 4px)) !important;
}
- :root[tabsintitlebar]:not([uidensity="compact"]) #toolbar-menubar[autohide="true"] {
+ :root:is([tabsintitlebar], [customtitlebar]):not([uidensity="compact"]) #toolbar-menubar[autohide="true"] {
height: calc(
var(--tab-min-height) - var(--tabs-navbar-shadow-size) - 2px
); /* Compact: 28px, Normal: 33px, Touch: 38px */
@@ -4736,11 +4869,6 @@
:root:not([uidensity="compact"]) #urlbar[breakout][breakout-extend-disabled][open] {
height: auto !important;
}
- :root[uidensity="touch"] #urlbar[breakout] {
- top: calc(
- (var(--urlbar-toolbar-height, var(--urlbar-container-height)) - var(--urlbar-height)) / 2 + 1px
- ) !important;
- }
/* spread menu */
:root:not([uidensity]) .urlbarView-row {
padding-block: 1px !important; /* Original: 2px */
@@ -4758,11 +4886,13 @@
}
@supports -moz-bool-pref("userChrome.padding.urlView_expanding") or -moz-bool-pref("userChrome.urlView.as_commandbar") {
#urlbar[breakout][breakout-extend] {
- top: calc((var(--urlbar-toolbar-height, var(--urlbar-container-height)) - var(--urlbar-height)) / 2) !important;
- left: 0 !important;
- width: 100% !important;
+ top: calc(var(--urlbar-container-height) * 2 - var(--urlbar-height)) !important;
+ width: var(--urlbar-width) !important;
+ position: relative !important;
+ margin: 0 !important;
}
- #urlbar[breakout][breakout-extend] > #urlbar-input-container {
+ #urlbar[breakout][breakout-extend] > #urlbar-input-container,
+ #urlbar[breakout][breakout-extend] > .urlbar-input-container {
height: var(--urlbar-height) !important;
padding-block: 0 !important;
padding-inline: var(--urlbar-container-padding, 0px) !important;
@@ -5096,6 +5226,8 @@
display: flex !important; /* Needed for content to take up entire height, compatibility with tabs on bottom */
}
:root[sizemode="fullscreen"] #titlebar,
+ :root[sizemode="fullscreen"] #toolbar-menubar,
+ :root[sizemode="fullscreen"] #TabsToolbar,
:root[sizemode="fullscreen"] #nav-bar,
:root[sizemode="fullscreen"] #PersonalToolbar,
:root[sizemode="fullscreen"] #tab-notification-deck,
@@ -5112,7 +5244,8 @@
/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/tabs_on_bottom.css made available under Mozilla Public License v. 2.0
See the above repository for updates as well as full license text. */
/*= Tabbar - Move to bottom ==================================================*/
- #titlebar {
+ #titlebar,
+ #TabsToolbar {
order: 2;
-moz-box-ordinal-group: 2;
--tabs-navbar-shadow-size: 0px;
@@ -5187,7 +5320,7 @@
width: 100%;
overflow: hidden;
}
- :root[tabsintitlebar] #toolbar-menubar[autohide="true"]:not([inactive="true"]) {
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar[autohide="true"]:not([inactive="true"]) {
height: var(--uc-menubar-height) !important; /* calc(var(--tab-min-height) + 2 * var(--tab-block-margin)) */
}
#toolbar-menubar > .titlebar-buttonbox-container {
@@ -5224,7 +5357,8 @@
/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/tabs_on_bottom.css made available under Mozilla Public License v. 2.0
See the above repository for updates as well as full license text. */
/*= Tabbar - Move to bottom ==================================================*/
- #titlebar {
+ #titlebar,
+ #TabsToolbar {
order: 2;
-moz-box-ordinal-group: 2;
--tabs-navbar-shadow-size: 0px;
@@ -5299,7 +5433,7 @@
width: 100%;
overflow: hidden;
}
- :root[tabsintitlebar] #toolbar-menubar[autohide="true"]:not([inactive="true"]) {
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar[autohide="true"]:not([inactive="true"]) {
height: var(--uc-menubar-height) !important; /* calc(var(--tab-min-height) + 2 * var(--tab-block-margin)) */
}
#toolbar-menubar > .titlebar-buttonbox-container {
@@ -5354,7 +5488,9 @@
margin-top: calc(var(--uc-tabbar-hide-height) + var(--uc-navbar-double-block)) !important;
margin-bottom: var(--uc-navbar-block, 0px) !important;
}
- #titlebar {
+ #titlebar,
+ #toolbar-menubar,
+ #TabsToolbar {
transform: translateY(var(--uc-navbar-block, 0px));
}
#TabsToolbar > .titlebar-buttonbox-container {
@@ -5456,7 +5592,9 @@
margin-top: calc(var(--uc-tabbar-hide-height) + var(--uc-navbar-double-block)) !important;
margin-bottom: var(--uc-navbar-block, 0px) !important;
}
- #titlebar {
+ #titlebar,
+ #toolbar-menubar,
+ #TabsToolbar {
transform: translateY(var(--uc-navbar-block, 0px));
}
#TabsToolbar > .titlebar-buttonbox-container {
@@ -5551,7 +5689,7 @@
--uc-window-drag-space-post: 0px; /* Same as .titlebar-spacer[type="post-tabs"] */
--uc-window-control-space: calc(var(--uc-window-control-width) + var(--uc-window-drag-space-post));
}
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-drag-space-pre: var(--uc-title-pre-spacer, 40px);
--uc-window-drag-space-post: var(--uc-title-post-spacer, 40px);
}
@@ -5559,48 +5697,48 @@
(-moz-platform: windows-win7),
(-moz-os-version: windows-win8),
(-moz-platform: windows-win8) {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-control-width: 105px;
}
}
@media (-moz-os-version: windows-win10), (-moz-platform: windows-win10) {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-control-width: 138px;
}
}
@media (-moz-gtk-csd-available) {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
/* 84px is default value of linux */
}
}
@media (-moz-gtk-csd-available) and (-moz-gtk-csd-minimize-button),
(-moz-gtk-csd-available) and (-moz-gtk-csd-maximize-button),
(-moz-gtk-csd-available) and (-moz-gtk-csd-close-button) {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-control-width: 28px;
}
}
@media (-moz-gtk-csd-available) and (-moz-gtk-csd-minimize-button) and (-moz-gtk-csd-maximize-button),
(-moz-gtk-csd-available) and (-moz-gtk-csd-minimize-button) and (-moz-gtk-csd-close-button),
(-moz-gtk-csd-available) and (-moz-gtk-csd-maximize-button) and (-moz-gtk-csd-close-button) {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-control-width: 56px;
}
}
@media (-moz-gtk-csd-available) and (-moz-gtk-csd-minimize-button) and (-moz-gtk-csd-maximize-button) and (-moz-gtk-csd-close-button) {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-control-width: 84px;
}
}
@supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled") {
- :root[tabsintitlebar] {
+ :root:is([tabsintitlebar], [customtitlebar]) {
--uc-window-control-width: 72px;
}
:root[sizemode="fullscreen"] {
--uc-window-control-space: 0px;
}
}
- :root:is([tabsintitlebar][sizemode="maximized"], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar][sizemode="maximized"], [customtitlebar][sizemode="maximized"], [sizemode="fullscreen"]) {
--uc-window-drag-space-pre: 0px;
}
@supports -moz-bool-pref("userChrome.tabbar.one_liner") {
@@ -5610,27 +5748,27 @@
(-moz-os-version: windows-win8),
(-moz-os-version: windows-win10),
(-moz-platform: windows) {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-drag-space-pre: 0px;
}
}
@media (-moz-gtk-csd-available) and (-moz-gtk-csd-reversed-placement: 0) {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-drag-space-pre: 0px;
}
}
@supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled") {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-control-space: 0px;
}
}
@media (-moz-gtk-csd-available) and (-moz-gtk-csd-reversed-placement) {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-control-space: 0px;
}
}
@supports -moz-bool-pref("userChrome.tabbar.as_titlebar") {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) #tabbrowser-tabs {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) #tabbrowser-tabs {
--uc-window-control-space: 0px;
}
}
@@ -5641,12 +5779,12 @@
(-moz-os-version: windows-win8),
(-moz-os-version: windows-win10),
(-moz-platform: windows) {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-control-space: 0px;
}
}
@media (-moz-gtk-csd-available) and (-moz-gtk-csd-reversed-placement: 0) {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-control-space: 0px;
}
}
@@ -5657,7 +5795,7 @@
@media screen and (max-width: 1100px) {
@supports (not -moz-bool-pref("userChrome.tabbar.on_bottom")) or
(not -moz-bool-pref("userChrome.hidden.tabbar")) {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-drag-space-pre: 0px;
--uc-window-control-space: 0px;
}
@@ -5669,27 +5807,27 @@
screen and (min-width: 1100px) and (-moz-os-version: windows-win8),
screen and (min-width: 1100px) and (-moz-os-version: windows-win10),
screen and (min-width: 1100px) and (-moz-platform: windows) {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-drag-space-pre: 0px;
}
}
@media screen and (min-width: 1100px) and (-moz-gtk-csd-available) and (-moz-gtk-csd-reversed-placement: 0) {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-drag-space-pre: 0px;
}
}
@supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled") {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-control-space: 0px;
}
}
@media screen and (min-width: 1100px) and (-moz-gtk-csd-available) and (-moz-gtk-csd-reversed-placement) {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-control-space: 0px;
}
}
@supports -moz-bool-pref("userChrome.tabbar.as_titlebar") {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) #tabbrowser-tabs {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) #tabbrowser-tabs {
--uc-window-control-space: 0px;
}
}
@@ -5700,12 +5838,12 @@
screen and (min-width: 1100px) and (-moz-os-version: windows-win8),
screen and (min-width: 1100px) and (-moz-os-version: windows-win10),
screen and (min-width: 1100px) and (-moz-platform: windows) {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-control-space: 0px;
}
}
@media screen and (min-width: 1100px) and (-moz-gtk-csd-available) and (-moz-gtk-csd-reversed-placement: 0) {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-control-space: 0px;
}
}
@@ -5786,17 +5924,17 @@
(-moz-os-version: windows-win8),
(-moz-os-version: windows-win10),
(-moz-platform: windows) {
- :root[sizemode="maximized"][tabsintitlebar] {
+ :root[sizemode="maximized"]:is([tabsintitlebar], [customtitlebar]) {
--uc-titlebar-padding: 8px;
}
- :root[sizemode="maximized"][tabsintitlebar] #navigator-toolbox-background {
+ :root[sizemode="maximized"]:is([tabsintitlebar], [customtitlebar]) #navigator-toolbox-background {
margin-top: calc(-1 * var(--uc-titlebar-padding));
}
- :root[sizemode="normal"][tabsintitlebar] #titlebar,
- :root[sizemode="maximized"][tabsintitlebar] #titlebar {
+ :root[sizemode="normal"]:is([tabsintitlebar], [customtitlebar]) #titlebar,
+ :root[sizemode="maximized"]:is([tabsintitlebar], [customtitlebar]) #titlebar {
appearance: none !important;
}
- .browser-toolbar:not(.titlebar-color) {
+ .browser-toolbar:not(.titlebar-color):not(.browser-titlebar) {
background-clip: border-box !important;
}
}
@@ -5859,13 +5997,19 @@
:root[inFullscreen]:not([macOSNativeFullscreen]) #menubar-items {
visibility: collapse !important;
}
- :root[tabsintitlebar] #titlebar {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar {
z-index: 1;
}
- :root[tabsintitlebar] #titlebar:-moz-window-inactive {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar:-moz-window-inactive,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar:-moz-window-inactive,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar:-moz-window-inactive {
opacity: 1 !important;
}
- :root[tabsintitlebar] #titlebar:-moz-window-inactive .titlebar-buttonbox {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar:-moz-window-inactive .titlebar-buttonbox,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar:-moz-window-inactive .titlebar-buttonbox,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar:-moz-window-inactive .titlebar-buttonbox {
opacity: var(--inactive-titlebar-opacity);
}
}
@@ -5945,17 +6089,17 @@
(-moz-os-version: windows-win8),
(-moz-os-version: windows-win10),
(-moz-platform: windows) {
- :root[sizemode="maximized"][tabsintitlebar] {
+ :root[sizemode="maximized"]:is([tabsintitlebar], [customtitlebar]) {
--uc-titlebar-padding: 8px;
}
- :root[sizemode="maximized"][tabsintitlebar] #navigator-toolbox-background {
+ :root[sizemode="maximized"]:is([tabsintitlebar], [customtitlebar]) #navigator-toolbox-background {
margin-top: calc(-1 * var(--uc-titlebar-padding));
}
- :root[sizemode="normal"][tabsintitlebar] #titlebar,
- :root[sizemode="maximized"][tabsintitlebar] #titlebar {
+ :root[sizemode="normal"]:is([tabsintitlebar], [customtitlebar]) #titlebar,
+ :root[sizemode="maximized"]:is([tabsintitlebar], [customtitlebar]) #titlebar {
appearance: none !important;
}
- .browser-toolbar:not(.titlebar-color) {
+ .browser-toolbar:not(.titlebar-color):not(.browser-titlebar) {
background-clip: border-box !important;
}
}
@@ -6018,13 +6162,19 @@
:root[inFullscreen]:not([macOSNativeFullscreen]) #menubar-items {
visibility: collapse !important;
}
- :root[tabsintitlebar] #titlebar {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar {
z-index: 1;
}
- :root[tabsintitlebar] #titlebar:-moz-window-inactive {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar:-moz-window-inactive,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar:-moz-window-inactive,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar:-moz-window-inactive {
opacity: 1 !important;
}
- :root[tabsintitlebar] #titlebar:-moz-window-inactive .titlebar-buttonbox {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar:-moz-window-inactive .titlebar-buttonbox,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar:-moz-window-inactive .titlebar-buttonbox,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar:-moz-window-inactive .titlebar-buttonbox {
opacity: var(--inactive-titlebar-opacity);
}
}
@@ -6101,17 +6251,17 @@
(-moz-os-version: windows-win8),
(-moz-os-version: windows-win10),
(-moz-platform: windows) {
- :root[sizemode="maximized"][tabsintitlebar] {
+ :root[sizemode="maximized"]:is([tabsintitlebar], [customtitlebar]) {
--uc-titlebar-padding: 8px;
}
- :root[sizemode="maximized"][tabsintitlebar] #navigator-toolbox-background {
+ :root[sizemode="maximized"]:is([tabsintitlebar], [customtitlebar]) #navigator-toolbox-background {
margin-top: calc(-1 * var(--uc-titlebar-padding));
}
- :root[sizemode="normal"][tabsintitlebar] #titlebar,
- :root[sizemode="maximized"][tabsintitlebar] #titlebar {
+ :root[sizemode="normal"]:is([tabsintitlebar], [customtitlebar]) #titlebar,
+ :root[sizemode="maximized"]:is([tabsintitlebar], [customtitlebar]) #titlebar {
appearance: none !important;
}
- .browser-toolbar:not(.titlebar-color) {
+ .browser-toolbar:not(.titlebar-color):not(.browser-titlebar) {
background-clip: border-box !important;
}
}
@@ -6174,13 +6324,19 @@
:root[inFullscreen]:not([macOSNativeFullscreen]) #menubar-items {
visibility: collapse !important;
}
- :root[tabsintitlebar] #titlebar {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar {
z-index: 1;
}
- :root[tabsintitlebar] #titlebar:-moz-window-inactive {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar:-moz-window-inactive,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar:-moz-window-inactive,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar:-moz-window-inactive {
opacity: 1 !important;
}
- :root[tabsintitlebar] #titlebar:-moz-window-inactive .titlebar-buttonbox {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar:-moz-window-inactive .titlebar-buttonbox,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar:-moz-window-inactive .titlebar-buttonbox,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar:-moz-window-inactive .titlebar-buttonbox {
opacity: var(--inactive-titlebar-opacity);
}
}
@@ -6267,17 +6423,17 @@
screen and (max-width: 1100px) and (-moz-os-version: windows-win8),
screen and (max-width: 1100px) and (-moz-os-version: windows-win10),
screen and (max-width: 1100px) and (-moz-platform: windows) {
- :root[sizemode="maximized"][tabsintitlebar] {
+ :root[sizemode="maximized"]:is([tabsintitlebar], [customtitlebar]) {
--uc-titlebar-padding: 8px;
}
- :root[sizemode="maximized"][tabsintitlebar] #navigator-toolbox-background {
+ :root[sizemode="maximized"]:is([tabsintitlebar], [customtitlebar]) #navigator-toolbox-background {
margin-top: calc(-1 * var(--uc-titlebar-padding));
}
- :root[sizemode="normal"][tabsintitlebar] #titlebar,
- :root[sizemode="maximized"][tabsintitlebar] #titlebar {
+ :root[sizemode="normal"]:is([tabsintitlebar], [customtitlebar]) #titlebar,
+ :root[sizemode="maximized"]:is([tabsintitlebar], [customtitlebar]) #titlebar {
appearance: none !important;
}
- .browser-toolbar:not(.titlebar-color) {
+ .browser-toolbar:not(.titlebar-color):not(.browser-titlebar) {
background-clip: border-box !important;
}
}
@@ -6349,13 +6505,19 @@
:root[inFullscreen]:not([macOSNativeFullscreen]) #menubar-items {
visibility: collapse !important;
}
- :root[tabsintitlebar] #titlebar {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar {
z-index: 1;
}
- :root[tabsintitlebar] #titlebar:-moz-window-inactive {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar:-moz-window-inactive,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar:-moz-window-inactive,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar:-moz-window-inactive {
opacity: 1 !important;
}
- :root[tabsintitlebar] #titlebar:-moz-window-inactive .titlebar-buttonbox {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar:-moz-window-inactive .titlebar-buttonbox,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar:-moz-window-inactive .titlebar-buttonbox,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar:-moz-window-inactive .titlebar-buttonbox {
opacity: var(--inactive-titlebar-opacity);
}
}
@@ -6440,17 +6602,17 @@
screen and (min-width: 1100px) and (-moz-os-version: windows-win8),
screen and (min-width: 1100px) and (-moz-os-version: windows-win10),
screen and (min-width: 1100px) and (-moz-platform: windows) {
- :root[sizemode="maximized"][tabsintitlebar] {
+ :root[sizemode="maximized"]:is([tabsintitlebar], [customtitlebar]) {
--uc-titlebar-padding: 8px;
}
- :root[sizemode="maximized"][tabsintitlebar] #navigator-toolbox-background {
+ :root[sizemode="maximized"]:is([tabsintitlebar], [customtitlebar]) #navigator-toolbox-background {
margin-top: calc(-1 * var(--uc-titlebar-padding));
}
- :root[sizemode="normal"][tabsintitlebar] #titlebar,
- :root[sizemode="maximized"][tabsintitlebar] #titlebar {
+ :root[sizemode="normal"]:is([tabsintitlebar], [customtitlebar]) #titlebar,
+ :root[sizemode="maximized"]:is([tabsintitlebar], [customtitlebar]) #titlebar {
appearance: none !important;
}
- .browser-toolbar:not(.titlebar-color) {
+ .browser-toolbar:not(.titlebar-color):not(.browser-titlebar) {
background-clip: border-box !important;
}
}
@@ -6513,13 +6675,19 @@
:root[inFullscreen]:not([macOSNativeFullscreen]) #menubar-items {
visibility: collapse !important;
}
- :root[tabsintitlebar] #titlebar {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar {
z-index: 1;
}
- :root[tabsintitlebar] #titlebar:-moz-window-inactive {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar:-moz-window-inactive,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar:-moz-window-inactive,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar:-moz-window-inactive {
opacity: 1 !important;
}
- :root[tabsintitlebar] #titlebar:-moz-window-inactive .titlebar-buttonbox {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar:-moz-window-inactive .titlebar-buttonbox,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar:-moz-window-inactive .titlebar-buttonbox,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar:-moz-window-inactive .titlebar-buttonbox {
opacity: var(--inactive-titlebar-opacity);
}
}
@@ -6599,17 +6767,17 @@
screen and (min-width: 1100px) and (-moz-os-version: windows-win8),
screen and (min-width: 1100px) and (-moz-os-version: windows-win10),
screen and (min-width: 1100px) and (-moz-platform: windows) {
- :root[sizemode="maximized"][tabsintitlebar] {
+ :root[sizemode="maximized"]:is([tabsintitlebar], [customtitlebar]) {
--uc-titlebar-padding: 8px;
}
- :root[sizemode="maximized"][tabsintitlebar] #navigator-toolbox-background {
+ :root[sizemode="maximized"]:is([tabsintitlebar], [customtitlebar]) #navigator-toolbox-background {
margin-top: calc(-1 * var(--uc-titlebar-padding));
}
- :root[sizemode="normal"][tabsintitlebar] #titlebar,
- :root[sizemode="maximized"][tabsintitlebar] #titlebar {
+ :root[sizemode="normal"]:is([tabsintitlebar], [customtitlebar]) #titlebar,
+ :root[sizemode="maximized"]:is([tabsintitlebar], [customtitlebar]) #titlebar {
appearance: none !important;
}
- .browser-toolbar:not(.titlebar-color) {
+ .browser-toolbar:not(.titlebar-color):not(.browser-titlebar) {
background-clip: border-box !important;
}
}
@@ -6672,13 +6840,19 @@
:root[inFullscreen]:not([macOSNativeFullscreen]) #menubar-items {
visibility: collapse !important;
}
- :root[tabsintitlebar] #titlebar {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar {
z-index: 1;
}
- :root[tabsintitlebar] #titlebar:-moz-window-inactive {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar:-moz-window-inactive,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar:-moz-window-inactive,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar:-moz-window-inactive {
opacity: 1 !important;
}
- :root[tabsintitlebar] #titlebar:-moz-window-inactive .titlebar-buttonbox {
+ :root:is([tabsintitlebar], [customtitlebar]) #titlebar:-moz-window-inactive .titlebar-buttonbox,
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar:-moz-window-inactive .titlebar-buttonbox,
+ :root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar:-moz-window-inactive .titlebar-buttonbox {
opacity: var(--inactive-titlebar-opacity);
}
}
@@ -7019,7 +7193,7 @@
}
/*= Tab Bar - Show only current tab ==========================================*/
@supports -moz-bool-pref("userChrome.tabbar.as_titlebar") {
- :root:not([tabsintitlebar="true"]) #tabbrowser-tabs,
+ :root:not([tabsintitlebar="true"]):not([customtitlebar="true"]) #tabbrowser-tabs,
#scrollbutton-up,
#scrollbutton-down,
.titlebar-spacer[type="pre-tabs"],
@@ -7051,6 +7225,7 @@
width: 100%;
}
/* Pinned */
+ #tabbrowser-tabs[positionpinnedtabs] > #pinned-tabs-container > .tabbrowser-tab[pinned][selected="true"],
#tabbrowser-tabs[positionpinnedtabs] > #tabbrowser-arrowscrollbox > .tabbrowser-tab[pinned][selected="true"] {
position: relative !important;
}
@@ -7070,26 +7245,32 @@
}
/* Padding */
@supports not -moz-bool-pref("userChrome.centered.tab") {
+ #pinned-tabs-container,
#tabbrowser-arrowscrollbox {
margin-inline: 2px !important;
}
+ :root[sizemode="normal"] #pinned-tabs-container,
:root[sizemode="normal"] #tabbrowser-arrowscrollbox {
margin-inline: 6px !important;
}
}
@supports -moz-bool-pref("userChrome.centered.tab") {
@supports -moz-bool-pref("userChrome.centered.tab.label") {
+ #pinned-tabs-container,
#tabbrowser-arrowscrollbox {
margin-inline: 2px !important;
}
+ :root[sizemode="normal"] #pinned-tabs-container,
:root[sizemode="normal"] #tabbrowser-arrowscrollbox {
margin-inline: 6px !important;
}
}
}
@supports -moz-bool-pref("browser.tabs.tabmanager.enabled") {
- :root:not([tabsintitlebar="true"]) #tabbrowser-tabs:not([overflow="true"], [hashiddentabs]) ~ #alltabs-button,
- :root:not([tabsintitlebar="true"])
+ :root:not([tabsintitlebar="true"]):not([customtitlebar="true"])
+ #tabbrowser-tabs:not([overflow="true"], [hashiddentabs])
+ ~ #alltabs-button,
+ :root:not([tabsintitlebar="true"]):not([customtitlebar="true"])
#tabbrowser-tabs[hasadjacentnewtabbutton]:not([overflow="true"])
~ #new-tab-button {
display: flex !important;
@@ -7124,6 +7305,7 @@
}
}
.scrollbox-clip[orient="horizontal"],
+ #pinned-tabs-container,
#tabbrowser-arrowscrollbox {
overflow: -moz-hidden-unscrollable;
display: block;
@@ -7201,6 +7383,7 @@
> #tabs-newtab-button {
z-index: 2 !important;
}
+ #tabbrowser-tabs[closebuttons="activetab"][hasadjacentnewtabbutton="true"] #pinned-tabs-container,
#tabbrowser-tabs[closebuttons="activetab"][hasadjacentnewtabbutton="true"] #tabbrowser-arrowscrollbox {
padding-inline-end: calc(
16px + (var(--toolbarbutton-inner-padding) + var(--toolbarbutton-outer-padding)) * 2
@@ -7218,21 +7401,37 @@
/** Tab UI ********************************************************************/
/*= Tab - Connect to window ==============================================*/
@supports -moz-bool-pref("userChrome.tab.connect_to_window") {
- #tabbrowser-tabs[orient="vertical"] {
- --uc-tab-border-bottom-radius: var(--tab-border-radius);
+ #TabsToolbar #tabbrowser-tabs:not([orient="vertical"]) {
+ max-height: var(--tab-min-height);
}
- .tab-background {
+ #TabsToolbar #tabbrowser-tabs:not([orient="vertical"])[movingtab] {
+ padding-bottom: unset !important;
+ margin-bottom: unset !important;
+ }
+ #TabsToolbar[multibar] #tabbrowser-tabs:not([orient="vertical"]) {
+ max-height: var(--tab-min-height_mlt);
+ }
+ #tabbrowser-tabs:not([orient="vertical"]) {
+ min-height: unset !important; /* Original: var(--tabstrip-min-height) */
+ }
+ #tabbrowser-tabs:not([orient="vertical"]) .tab-background {
border-radius: var(--tab-border-radius) var(--tab-border-radius) var(--uc-tab-border-bottom-radius, 0px)
var(--uc-tab-border-bottom-radius, 0px) !important;
margin-bottom: 0px !important;
}
- .tab-content {
+ #tabbrowser-tabs:not([orient="vertical"]) .tab-content {
margin-top: 0px;
}
- .tab-stack {
+ #tabbrowser-tabs:not([orient="vertical"]) .tab-stack {
margin-top: 0px !important;
margin-bottom: 0px !important;
}
+ #tabbrowser-tabs:not([orient="vertical"]) tab-group .tabbrowser-tab:is([selected], [multiselected]) .tab-group-line {
+ transform: translateY(calc(var(--tab-group-line-thickness) * -1));
+ }
+ #tabbrowser-tabs[orient="vertical"] {
+ --uc-tab-border-bottom-radius: var(--tab-border-radius);
+ }
/* Remove line at Toolbar's top */
#tabbrowser-tabs {
z-index: 1 !important;
@@ -7243,9 +7442,11 @@
}
}
/* Pinned Tab - tabbrowser-arrowscrollbox overflowing */
+ #tabbrowser-tabs[positionpinnedtabs] > #pinned-tabs-container > .tabbrowser-tab[pinned],
#tabbrowser-tabs[positionpinnedtabs] > #tabbrowser-arrowscrollbox > .tabbrowser-tab[pinned] {
z-index: 0 !important;
}
+ #tabbrowser-tabs[positionpinnedtabs] > #pinned-tabs-container > .tabbrowser-tab[pinned] .tab-stack,
#tabbrowser-tabs[positionpinnedtabs] > #tabbrowser-arrowscrollbox > .tabbrowser-tab[pinned] .tab-stack {
/* Temporary solution for compatibility #513 */
overflow-y: clip;
@@ -7263,11 +7464,6 @@
}
/*= Selected Tab =============================================================*/
/*= Selected Tab - Bold ======================================================*/
-@supports not -moz-bool-pref("userChrome.tab.selected_bold") {
- .tab-label:is([selected], [attention]) {
- font-weight: 400 !important;
- }
-}
@supports -moz-bool-pref("userChrome.tab.selected_bold") {
.tab-label:is([selected], [attention]) {
font-weight: 600;
@@ -7285,6 +7481,26 @@
.tab-background:is([selected], [multiselected]) {
background-color: var(--tab-selected-bgcolor, var(--toolbar-bgcolor)) !important;
}
+ :root:is(:-moz-lwtheme, [lwtheme]) #pinned-tabs-container > .tabbrowser-tab > .tab-stack > .tab-background[selected],
+ :root:is(:-moz-lwtheme, [lwtheme])
+ #tabbrowser-tabs:not([movingtab])
+ > #pinned-tabs-container
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[selected],
+ :root:is(:-moz-lwtheme, [lwtheme])
+ #pinned-tabs-container
+ > tab-group
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[selected],
+ :root:is(:-moz-lwtheme, [lwtheme])
+ #tabbrowser-tabs[orient="horizontal"]:not([movingtab])
+ > #pinned-tabs-container
+ > tab-group
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[selected],
:root:is(:-moz-lwtheme, [lwtheme])
#tabbrowser-arrowscrollbox
> .tabbrowser-tab
@@ -7295,6 +7511,19 @@
> #tabbrowser-arrowscrollbox
> .tabbrowser-tab
> .tab-stack
+ > .tab-background[selected],
+ :root:is(:-moz-lwtheme, [lwtheme])
+ #tabbrowser-arrowscrollbox
+ > tab-group
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[selected],
+ :root:is(:-moz-lwtheme, [lwtheme])
+ #tabbrowser-tabs[orient="horizontal"]:not([movingtab])
+ > #tabbrowser-arrowscrollbox
+ > tab-group
+ > .tabbrowser-tab
+ > .tab-stack
> .tab-background[selected] {
/* Original: linear-gradient(var(--lwt-selected-tab-background-color, transparent), var(--lwt-selected-tab-background-color, transparent)), linear-gradient(var(--toolbar-bgcolor), var(--toolbar-bgcolor)), var(--lwt-header-image, none)
*/
@@ -7305,6 +7534,30 @@
background-repeat: repeat-x, repeat-x, no-repeat !important;
}
@supports -moz-bool-pref("userChrome.theme.transparent.frame") {
+ :root:not([lwtheme-image]):is(:-moz-lwtheme, [lwtheme])
+ #pinned-tabs-container
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[selected],
+ :root:not([lwtheme-image]):is(:-moz-lwtheme, [lwtheme])
+ #tabbrowser-tabs:not([movingtab])
+ > #pinned-tabs-container
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[selected],
+ :root:not([lwtheme-image]):is(:-moz-lwtheme, [lwtheme])
+ #pinned-tabs-container
+ > tab-group
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[selected],
+ :root:not([lwtheme-image]):is(:-moz-lwtheme, [lwtheme])
+ #tabbrowser-tabs[orient="horizontal"]:not([movingtab])
+ > #pinned-tabs-container
+ > tab-group
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[selected],
:root:not([lwtheme-image]):is(:-moz-lwtheme, [lwtheme])
#tabbrowser-arrowscrollbox
> .tabbrowser-tab
@@ -7315,6 +7568,19 @@
> #tabbrowser-arrowscrollbox
> .tabbrowser-tab
> .tab-stack
+ > .tab-background[selected],
+ :root:not([lwtheme-image]):is(:-moz-lwtheme, [lwtheme])
+ #tabbrowser-arrowscrollbox
+ > tab-group
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[selected],
+ :root:not([lwtheme-image]):is(:-moz-lwtheme, [lwtheme])
+ #tabbrowser-tabs[orient="horizontal"]:not([movingtab])
+ > #tabbrowser-arrowscrollbox
+ > tab-group
+ > .tabbrowser-tab
+ > .tab-stack
> .tab-background[selected] {
background-image: linear-gradient(transparent, transparent),
linear-gradient(var(--toolbar-bgcolor), var(--toolbar-bgcolor)), var(--lwt-additional-images, none) !important;
@@ -7325,16 +7591,35 @@
}
/*= Multi Selected Color - More Contrast =====================================*/
@supports -moz-bool-pref("userChrome.tab.multi_selected") {
- #TabsToolbar {
+ #TabsToolbar,
+ #vertical-tabs {
--uc-multiselected-tab-bgcolor: color-mix(in srgb, currentColor 28%, var(--toolbar-bgcolor, transparent));
}
- #TabsToolbar[brighttext] {
+ #TabsToolbar[brighttext],
+ #vertical-tabs[brighttext] {
--uc-multiselected-tab-bgcolor: color-mix(in srgb, currentColor 16%, var(--toolbar-bgcolor, transparent));
}
+ #tabbrowser-tabs:not([movingtab])
+ > #pinned-tabs-container
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[multiselected]:not([selected]),
+ #tabbrowser-tabs:not([movingtab])
+ > #pinned-tabs-container
+ > tab-group
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[multiselected]:not([selected]),
#tabbrowser-tabs:not([movingtab])
> #tabbrowser-arrowscrollbox
> .tabbrowser-tab
> .tab-stack
+ > .tab-background[multiselected]:not([selected]),
+ #tabbrowser-tabs:not([movingtab])
+ > #tabbrowser-arrowscrollbox
+ > tab-group
+ > .tabbrowser-tab
+ > .tab-stack
> .tab-background[multiselected]:not([selected]) {
/* Original:
background-attachment: scroll, scroll, fixed;
@@ -7890,15 +8175,138 @@
margin: unset !important;
}
}
+/*= Selected Tab - Supernova like contextline ===================================*/
+@supports not -moz-bool-pref("userChrome.tab.photon_like_contextline") {
+ @supports -moz-bool-pref("userChrome.tab.supernova_like_contextline") {
+ /* context line styles */
+ tabs tab.tabbrowser-tab > .tab-stack > .tab-background > .tab-context-line {
+ display: inline-flex !important;
+ display: -moz-inline-box !important;
+ }
+ tabs tab.tabbrowser-tab > .tab-stack > .tab-background > .tab-context-line::before {
+ content: "";
+ height: 1px !important;
+ border-radius: 9999px !important;
+ transform: translateY(5px);
+ margin-top: -1px !important;
+ margin-left: 5px;
+ margin-right: 5px;
+ width: 100%;
+ }
+ /* Override container-tab style */
+ tabs tab.tabbrowser-tab[usercontextid] > .tab-stack > .tab-background > .tab-context-line {
+ margin: unset !important;
+ }
+ /* selected tab style */
+ :root[lwtheme-mozlightdark]:not([lwthemetextcolor="bright"]),
+ :root[style*="--lwt-accent-color: rgb(240, 240, 244); --lwt-text-color: rgba(21, 20, 26);"] .tab-context-line,
+ :root[lwtheme-mozlightdark][lwthemetextcolor="bright"],
+ :root[style*="--lwt-accent-color: rgb(28, 27, 34); --lwt-text-color: rgba(251, 251, 254);"] .tab-context-line {
+ --tab-line-color: #45a1ff;
+ }
+ .tabbrowser-tab:is([selected], [multiselected]) .tab-context-line::before {
+ background-color: var(--tab-line-color, var(--lwt-tab-line-color, #45a1ff)) !important;
+ }
+ /* Set the active effect */
+ .tabbrowser-tab:active > .tab-stack > .tab-background > .tab-context-line::before {
+ filter: brightness(70%);
+ margin-left: 6px;
+ margin-right: 6px;
+ }
+ /* Set the hover effect */
+ .tabbrowser-tab:hover:not([selected="true"], [multiselected])
+ > .tab-stack
+ > .tab-background
+ > .tab-context-line::before {
+ background-color: rgba(0, 0, 0, 0.4) !important;
+ opacity: 1 !important;
+ }
+ #TabsToolbar[brighttext]
+ .tabbrowser-tab:hover:not([selected="true"], [multiselected])
+ > .tab-stack
+ > .tab-background
+ > .tab-context-line::before {
+ background-color: rgba(255, 255, 255, 0.4) !important;
+ }
+ /* Animation */
+ @media (prefers-reduced-motion: no-preference) {
+ .tabbrowser-tab:hover:not([selected="true"], [multiselected])
+ > .tab-stack
+ > .tab-background
+ > .tab-context-line::before {
+ animation: toWide 0.2s cubic-bezier(0, 0.9, 0.15, 1);
+ }
+ }
+ /* Animation for hover effect */
+ @keyframes toWide {
+ 0% {
+ opacity: 0.8;
+ margin-left: 40%;
+ margin-right: 40%;
+ }
+ 100% {
+ opacity: 1;
+ margin-left: 5px;
+ margin-right: 5px;
+ }
+ }
+ /* --- copied (not modified) from _photon_like_contextline.scss --- */
+ /* Prevent identity color flashing */
+ .tabbrowser-tab[usercontextid] .tab-context-line {
+ --identity-icon-color: none;
+ }
+ :root:not([customizing="true"]) #TabsToolbar[brighttext] tab[visuallyselected] > stack::before,
+ :root:not([customizing="true"]) #TabsToolbar[brighttext] tab[visuallyselected] > stack::after {
+ /* As Selected Tab - Box Shadow */
+ stroke: var(--toolbar-color) !important;
+ }
+ /* Remove side's background color border */
+ :root:is(:-moz-lwtheme, [lwtheme])
+ #TabsToolbar[brighttext]
+ #tabbrowser-tabs:not([noshadowfortests])
+ .tabbrowser-tab:is([visuallyselected], [multiselected])
+ > .tab-stack
+ > .tab-background {
+ --tabs-border-color: rgba(0, 0, 0, 0.3) !important;
+ box-shadow: 0 0 1px var(--tabs-border-color) !important; /* Original: 0 0 1px var(--tab-line-color, rgba(128,128,142,0.9)) */
+ }
+ #TabsToolbar:not([brighttext])
+ #tabbrowser-tabs:not([noshadowfortests])
+ .tabbrowser-tab:is([visuallyselected], [multiselected])
+ > .tab-stack
+ > .tab-background {
+ box-shadow: 0 0 1px var(--tabs-border-color), 0 0 4px rgba(128, 128, 142, 0.5) !important; /* Original: 0 0 1px var(--tab-line-color, rgba(128,128,142,0.9)), 0 0 4px rgba(128,128,142,0.5) */
+ }
+ @supports -moz-bool-pref("userChrome.tab.contextline_blue_accent") {
+ #tabbrowser-tabs .tab-context-line {
+ --tab-line-color: #45a1ff !important;
+ }
+ }
+ @supports not -moz-bool-pref("userChrome.tab.contextline_blue_accent") {
+ @media (-moz-gtk-csd-available) {
+ :root:is(:not([lwtheme]), :not(:-moz-lwtheme)) #tabbrowser-tabs .tab-context-line {
+ --tab-line-color: AccentColor !important; /* -moz-accent-color */
+ }
+ @supports -moz-bool-pref("userChrome.compatibility.accent_color") {
+ :root:is(:not([lwtheme]), :not(:-moz-lwtheme)) #tabbrowser-tabs .tab-context-line {
+ --tab-line-color: Highlight !important; /* -moz-accent-color */
+ }
+ }
+ }
+ }
+ }
+}
/*= Unselected Tab - Divide line =============================================*/
/*= Unselected Tab - Dynamic Separator =======================================*/
@supports -moz-bool-pref("userChrome.tab.dynamic_separator") {
+ #pinned-tabs-container,
#tabbrowser-arrowscrollbox {
--start-tab-separator-position-x: -1.5px;
--end-tab-separator-position-x: 1.5px;
--tab-separator-position-x: -2.5px;
--tab-separator-position-y: calc(-50% + 1px);
}
+ #pinned-tabs-container:-moz-locale-dir(rtl),
#tabbrowser-arrowscrollbox:-moz-locale-dir(rtl) {
--start-tab-separator-position-x: 1.5px;
--end-tab-separator-position-x: -1.5px;
@@ -7908,8 +8316,8 @@
position: relative;
}
@supports -moz-bool-pref("userChrome.tab.newtab_button_like_tab") {
- .tab-stack::before,
- #tabs-newtab-button::before {
+ #tabbrowser-tabs:not([orient="vertical"]) .tab-stack::before,
+ #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button::before {
/* Box Model */
content: "";
display: block;
@@ -7926,18 +8334,19 @@
transform: translateX(var(--tab-separator-position-x)) translateY(var(--tab-separator-position-y));
}
@supports -moz-bool-pref("userChrome.compatibility.dynamic_separator") {
- .tab-stack::before,
- #tabs-newtab-button::before {
+ #tabbrowser-tabs:not([orient="vertical"]) .tab-stack::before,
+ #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button::before {
background-color: var(--tabs-border-color);
}
}
- #tabs-newtab-button::before {
+ #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button::before {
left: calc(50% - (8px + var(--toolbarbutton-inner-padding)));
}
}
@supports not -moz-bool-pref("userChrome.tab.newtab_button_like_tab") {
- .tab-stack::before,
- #tabbrowser-arrowscrollbox:not([overflowing])
+ #tabbrowser-tabs:not([orient="vertical"]) .tab-stack::before,
+ #tabbrowser-tabs:not([orient="vertical"])
+ #tabbrowser-arrowscrollbox:not([overflowing])
.tabbrowser-tab:not([visuallyselected], [multiselected], :hover):last-of-type
.tab-stack::after {
/* Box Model */
@@ -7954,35 +8363,48 @@
background-color: var(--toolbarseparator-color);
}
@supports -moz-bool-pref("userChrome.compatibility.dynamic_separator") {
- .tab-stack::before,
- #tabbrowser-arrowscrollbox:not([overflowing])
+ #tabbrowser-tabs:not([orient="vertical"]) .tab-stack::before,
+ #tabbrowser-tabs:not([orient="vertical"])
+ #tabbrowser-arrowscrollbox:not([overflowing])
.tabbrowser-tab:not([visuallyselected], [multiselected], :hover):last-of-type
.tab-stack::after {
background-color: var(--tabs-border-color);
}
}
- .tab-stack::before {
+ #tabbrowser-tabs:not([orient="vertical"]) .tab-stack::before {
transform: translateX(var(--tab-separator-position-x)) translateY(var(--tab-separator-position-y)) !important;
}
- .tabbrowser-tab:last-of-type .tab-stack::after {
+ #tabbrowser-tabs:not([orient="vertical"]) .tabbrowser-tab:last-of-type .tab-stack::after {
right: 0;
transform: translateX(var(--end-tab-separator-position-x)) translateY(var(--tab-separator-position-y)) !important;
}
}
- .tabbrowser-tab:not([visuallyselected], [multiselected], :hover, :first-of-type) .tab-stack::before {
+ #pinned-tabs-container:not([orient="vertical"]):not(:empty):not(
+ :has(.tabbrowser-tab[pinned]:is([visuallyselected], [multiselected], :hover):last-of-type)
+ )
+ ~ #tabbrowser-arrowscrollbox:not([orient="vertical"])
+ .tabbrowser-tab:not([visuallyselected], [multiselected], :hover):first-of-type
+ .tab-stack::before,
+ #tabbrowser-tabs:not([orient="vertical"])
+ .tabbrowser-tab:not([visuallyselected], [multiselected], :hover, :first-of-type)
+ .tab-stack::before {
opacity: var(--tab-separator-opacity);
}
@supports -moz-bool-pref("userChrome.tabbar.one_liner") {
@supports not -moz-bool-pref("userChrome.tabbar.one_liner.tabbar_first") {
@supports not -moz-bool-pref("userChrome.tabbar.one_liner.responsive") {
- .tabbrowser-tab:not([visuallyselected], [multiselected], :hover):first-of-type .tab-stack::before {
+ #tabbrowser-tabs:not([orient="vertical"])
+ .tabbrowser-tab:not([visuallyselected], [multiselected], :hover):first-of-type
+ .tab-stack::before {
opacity: var(--tab-separator-opacity);
transform: translateX(var(--start-tab-separator-position-x)) translateY(var(--tab-separator-position-y));
}
}
@supports -moz-bool-pref("userChrome.tabbar.one_liner.responsive") {
@media screen and (min-width: 1100px) {
- .tabbrowser-tab:not([visuallyselected], [multiselected], :hover):first-of-type .tab-stack::before {
+ #tabbrowser-tabs:not([orient="vertical"])
+ .tabbrowser-tab:not([visuallyselected], [multiselected], :hover):first-of-type
+ .tab-stack::before {
opacity: var(--tab-separator-opacity);
transform: translateX(var(--start-tab-separator-position-x)) translateY(var(--tab-separator-position-y));
}
@@ -7991,18 +8413,27 @@
}
}
@supports -moz-bool-pref("userChrome.tab.newtab_button_like_tab") {
- #tabs-newtab-button:not(:hover, [open])::before {
+ #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button:not(:hover, [open])::before {
opacity: var(--tab-separator-opacity);
}
}
@supports not -moz-bool-pref("userChrome.tab.newtab_button_like_tab") {
- #tabbrowser-arrowscrollbox:not([overflowing])
+ #tabbrowser-tabs:not([orient="vertical"])
+ #tabbrowser-arrowscrollbox:not([overflowing])
.tabbrowser-tab:not([visuallyselected], [multiselected], :hover):last-of-type
.tab-stack::after {
opacity: var(--tab-separator-opacity);
}
}
+ #tabbrowser-tabs:not([orient="vertical"])
+ tab-group:has(.tabbrowser-tab:last-child:is(:hover, [selected]))
+ + .tabbrowser-tab
+ .tab-stack::before,
+ #tabbrowser-tabs:not([orient="vertical"]) tab-group[collapsed] + .tabbrowser-tab .tab-stack::before {
+ opacity: 0 !important;
+ }
#navigator-toolbox:not([movingtab])
+ #tabbrowser-tabs:not([orient="vertical"])
.tabbrowser-tab:is([first-visible-unpinned-tab], :nth-child(1 of :not([pinned], [hidden]))):is(
[visuallyselected],
[multiselected],
@@ -8010,6 +8441,7 @@
)
.tab-stack::before,
#navigator-toolbox:not([movingtab])
+ #tabbrowser-tabs:not([orient="vertical"])
#tabbrowser-arrowscrollbox[overflowing]
tab.tabbrowser-tab:is([first-visible-unpinned-tab], :nth-child(1 of :not([pinned], [hidden])))
.tab-stack::before {
@@ -8017,13 +8449,16 @@
}
@supports -moz-bool-pref("userChrome.tab.newtab_button_like_tab") {
#navigator-toolbox:not([movingtab])
+ #tabbrowser-tabs:not([orient="vertical"])
.tabbrowser-tab:is([visuallyselected], [multiselected], :hover)
+ .tabbrowser-tab
.tab-stack::before,
#navigator-toolbox:not([movingtab])
+ #tabbrowser-tabs:not([orient="vertical"])
.tabbrowser-tab:last-of-type:is([visuallyselected], [multiselected], :hover)
~ #tabs-newtab-button::before,
#navigator-toolbox:not([movingtab])
+ #tabbrowser-tabs:not([orient="vertical"])
.tabbrowser-tab:last-of-type:is([visuallyselected], [multiselected], :hover)
~ #tabbrowser-arrowscrollbox-periphery
#tabs-newtab-button::before {
@@ -8031,30 +8466,35 @@
}
}
@supports not -moz-bool-pref("userChrome.tab.newtab_button_like_tab") {
- .tabbrowser-tab:is([visuallyselected], [multiselected], :hover)
+ #tabbrowser-tabs:not([orient="vertical"])
+ .tabbrowser-tab:is([visuallyselected], [multiselected], :hover)
+ .tabbrowser-tab:not([visuallyselected])
.tab-stack::before {
opacity: 0 !important;
}
- :root:not([uidensity="compact"]) #tabs-newtab-button > .toolbarbutton-icon {
+ :root:not([uidensity="compact"])
+ #tabbrowser-tabs:not([orient="vertical"])
+ #tabs-newtab-button
+ > .toolbarbutton-icon {
margin-left: 2px;
}
- :root[uidensity="compact"] #tabs-newtab-button > .toolbarbutton-icon {
+ :root[uidensity="compact"] #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button > .toolbarbutton-icon {
margin-left: 1px;
}
}
/* Animate */
@media (prefers-reduced-motion: no-preference) {
- .tab-stack::before {
+ #tabbrowser-tabs:not([orient="vertical"]) .tab-stack::before {
transition: opacity 0.2s var(--animation-easing-function); /* cubic-bezier(.07, .95, 0, 1) */
}
@supports -moz-bool-pref("userChrome.tab.newtab_button_like_tab") {
- #tabs-newtab-button::before {
+ #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button::before {
transition: opacity 0.2s var(--animation-easing-function); /* cubic-bezier(.07, .95, 0, 1) */
}
}
@supports not -moz-bool-pref("userChrome.tab.newtab_button_like_tab") {
- #tabbrowser-arrowscrollbox:not([overflowing])
+ #tabbrowser-tabs:not([orient="vertical"])
+ #tabbrowser-arrowscrollbox:not([overflowing])
.tabbrowser-tab:not([visuallyselected], [multiselected], :hover):last-of-type
.tab-stack::after {
transition: opacity 0.2s var(--animation-easing-function); /* cubic-bezier(.07, .95, 0, 1) */
@@ -8062,7 +8502,7 @@
}
}
/* Latest Tab & New tab margin */
- #tabbrowser-arrowscrollbox:not([overflowing]) .tabbrowser-tab:last-of-type {
+ #tabbrowser-tabs:not([orient="vertical"]) #tabbrowser-arrowscrollbox:not([overflowing]) .tabbrowser-tab:last-of-type {
margin-inline-end: 1px !important;
}
}
@@ -8167,7 +8607,7 @@
/*= New tab button - Looks like tab ==========================================*/
@supports -moz-bool-pref("userChrome.tab.newtab_button_like_tab") {
@supports -moz-bool-pref("userChrome.tab.connect_to_window") {
- #tabs-newtab-button {
+ #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button {
/* Size */
align-items: stretch !important;
-moz-box-align: stretch !important;
@@ -8175,7 +8615,7 @@
}
}
@supports -moz-bool-pref("userChrome.tab.bottom_rounded_corner") {
- #tabs-newtab-button {
+ #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button {
/* Original:
margin: 0 0 var(--tabs-navbar-shadow-size) !important
=> Can't override style. Therefore, we should approach it by bypass.
@@ -8200,7 +8640,7 @@
) or -moz-bool-pref("userChrome.tab.bottom_rounded_corner.chrome_legacy") or -moz-bool-pref(
"userChrome.tab.bottom_rounded_corner.chrome"
) or -moz-bool-pref("userChrome.tab.bottom_rounded_corner.edge") {
- #tabs-newtab-button {
+ #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button {
--uc-newtab-position: 0px;
--uc-newtab-non-corner-bgwidth: 0px;
--uc-tab-corner-half-height: calc(var(--uc-tab-corner-height) / 2);
@@ -8220,7 +8660,7 @@
background-origin: padding-box;
}
@supports -moz-bool-pref("userChrome.tab.bottom_rounded_corner.chrome") or -moz-bool-pref("userChrome.tab.bottom_rounded_corner.edge") {
- #tabs-newtab-button {
+ #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button {
--uc-newtab-non-corner-bgwidth: calc(2 * var(--toolbarbutton-inner-padding));
}
}
@@ -8234,13 +8674,20 @@
--uc-newtab-bgcolor: var(--toolbarbutton-active-background);
}
@media (-moz-windows-accent-color-in-titlebar) {
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme)) #tabs-newtab-button:hover,
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) #tabs-newtab-button:hover {
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ #tabbrowser-tabs:not([orient="vertical"])
+ #tabs-newtab-button:hover,
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ #tabbrowser-tabs:not([orient="vertical"])
+ #tabs-newtab-button:hover {
fill: color-mix(in srgb, AccentColorText 10%, transparent) !important; /* Hardcoded for compatibility */
}
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ #tabbrowser-tabs:not([orient="vertical"])
#tabs-newtab-button:hover:active,
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) #tabs-newtab-button:hover:active {
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ #tabbrowser-tabs:not([orient="vertical"])
+ #tabs-newtab-button:hover:active {
fill: color-mix(in srgb, AccentColorText 15%, transparent) !important; /* Hardcoded for compatibility */
}
@supports -moz-bool-pref("userChrome.tab.bottom_rounded_corner") {
@@ -8249,9 +8696,12 @@
) or -moz-bool-pref("userChrome.tab.bottom_rounded_corner.chrome_legacy") or -moz-bool-pref(
"userChrome.tab.bottom_rounded_corner.chrome"
) or -moz-bool-pref("userChrome.tab.bottom_rounded_corner.edge") {
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ #tabbrowser-tabs:not([orient="vertical"])
#tabs-newtab-button:hover,
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) #tabs-newtab-button:hover {
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ #tabbrowser-tabs:not([orient="vertical"])
+ #tabs-newtab-button:hover {
background-image: var(--uc-tab-corner-left-side-svg),
linear-gradient(
to left,
@@ -8260,9 +8710,11 @@
),
var(--uc-tab-corner-right-side-svg);
}
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ #tabbrowser-tabs:not([orient="vertical"])
#tabs-newtab-button:hover:active,
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ #tabbrowser-tabs:not([orient="vertical"])
#tabs-newtab-button:hover:active {
background-image: var(--uc-tab-corner-left-side-svg),
linear-gradient(
@@ -8275,18 +8727,23 @@
}
}
@supports -moz-bool-pref("userChrome.compatibility.accent_color") {
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ #tabbrowser-tabs:not([orient="vertical"])
#tabs-newtab-button:hover,
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) #tabs-newtab-button:hover {
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ #tabbrowser-tabs:not([orient="vertical"])
+ #tabs-newtab-button:hover {
fill: color-mix(
in srgb,
-moz-accent-color-foreground 10%,
transparent
) !important; /* Hardcoded for compatibility */
}
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ #tabbrowser-tabs:not([orient="vertical"])
#tabs-newtab-button:hover:active,
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ #tabbrowser-tabs:not([orient="vertical"])
#tabs-newtab-button:hover:active {
fill: color-mix(
in srgb,
@@ -8300,9 +8757,15 @@
) or -moz-bool-pref("userChrome.tab.bottom_rounded_corner.chrome_legacy") or -moz-bool-pref(
"userChrome.tab.bottom_rounded_corner.chrome"
) or -moz-bool-pref("userChrome.tab.bottom_rounded_corner.edge") {
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(
+ :not([lwtheme]),
+ :not(:-moz-lwtheme)
+ )
+ #tabbrowser-tabs:not([orient="vertical"])
#tabs-newtab-button:hover,
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) #tabs-newtab-button:hover {
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ #tabbrowser-tabs:not([orient="vertical"])
+ #tabs-newtab-button:hover {
background-image: var(--uc-tab-corner-left-side-svg),
linear-gradient(
to left,
@@ -8311,9 +8774,14 @@
),
var(--uc-tab-corner-right-side-svg);
}
- :root[tabsintitlebar]:not(:-moz-window-inactive):is(:not([lwtheme]), :not(:-moz-lwtheme))
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive):is(
+ :not([lwtheme]),
+ :not(:-moz-lwtheme)
+ )
+ #tabbrowser-tabs:not([orient="vertical"])
#tabs-newtab-button:hover:active,
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)
+ #tabbrowser-tabs:not([orient="vertical"])
#tabs-newtab-button:hover:active {
background-image: var(--uc-tab-corner-left-side-svg),
linear-gradient(
@@ -8328,7 +8796,7 @@
}
}
/* '+'Icon */
- #tabs-newtab-button .toolbarbutton-icon {
+ #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button .toolbarbutton-icon {
border-radius: var(--tab-border-radius) var(--tab-border-radius) 0 0 !important; /* Original: var(--tab-border-radius) */
padding: calc(var(--toolbarbutton-inner-padding) - var(--tab-block-margin) / 4) var(--toolbarbutton-inner-padding)
calc(var(--toolbarbutton-inner-padding) + var(--tab-block-margin) / 4 + var(--uc-tabs-navbar-shadow-size)) !important;
@@ -8341,7 +8809,7 @@
) or -moz-bool-pref("userChrome.tab.bottom_rounded_corner.chrome_legacy") or -moz-bool-pref(
"userChrome.tab.bottom_rounded_corner.chrome"
) or -moz-bool-pref("userChrome.tab.bottom_rounded_corner.edge") {
- #tabs-newtab-button .toolbarbutton-icon {
+ #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button .toolbarbutton-icon {
--tab-border-radius: 0px;
width: unset !important;
padding-inline: 0px !important;
@@ -8405,6 +8873,10 @@
--tab-label-mask-size: 25%;
}
.tabbrowser-tab[visuallyselected]:not([labelendaligned]):hover .tab-label-container,
+ #tabbrowser-tabs:not([closebuttons="activetab"])
+ > #pinned-tabs-container
+ > .tabbrowser-tab:not([visuallyselected], [labelendaligned]):hover
+ .tab-label-container,
#tabbrowser-tabs:not([closebuttons="activetab"])
> #tabbrowser-arrowscrollbox
> .tabbrowser-tab:not([visuallyselected], [labelendaligned]):hover
@@ -8414,6 +8886,12 @@
}
/** Clipped tabs - Show close button at hover *********************************/
@supports -moz-bool-pref("userChrome.tab.close_button_at_hover") {
+ #tabbrowser-tabs[closebuttons="activetab"]
+ > #pinned-tabs-container
+ > .tabbrowser-tab:not([pinned])
+ > .tab-stack
+ > .tab-content
+ > .tab-close-button:not([selected]),
#tabbrowser-tabs[closebuttons="activetab"]
> #tabbrowser-arrowscrollbox
> .tabbrowser-tab:not([pinned])
@@ -8632,6 +9110,24 @@
width: 17px !important;
height: 17px !important;
}
+ .tab-icon-overlay:not([crashed]):is([soundplaying], [muted], [activemedia-blocked]) {
+ -moz-context-properties: fill, fill-opacity, stroke !important;
+ fill: currentColor !important;
+ border: none !important;
+ }
+ .tab-icon-overlay:not([crashed]):is([pinned], [sharing]) {
+ stroke: var(--tab-icon-overlay-stroke, light-dark(white, black));
+ color: var(--tab-icon-overlay-fill, light-dark(black, white));
+ }
+ .tab-icon-overlay:not([crashed])[soundplaying] {
+ list-style-image: url("./icons/tab-audio-playing-small.svg");
+ }
+ .tab-icon-overlay:not([crashed])[muted] {
+ list-style-image: url("./icons/tab-audio-muted-small.svg");
+ }
+ .tab-icon-overlay:not([crashed])[activemedia-blocked] {
+ list-style-image: url("./icons/tab-audio-blocked-small.svg");
+ }
.tab-icon-overlay:not([sharing], [crashed]):is([soundplaying], [muted], [activemedia-blocked]) {
/* Color */
color: currentColor !important;
@@ -8640,6 +9136,29 @@
fill-opacity: 0.8 !important;
opacity: 1 !important;
}
+ .tab-audio-button:not([crashed]),
+ .tab-audio-button[pinned][crashed][selected] {
+ /* Position */
+ margin-inline-start: -8px !important;
+ margin-inline-end: -4px !important;
+ z-index: 1 !important;
+ transform: translateX(var(--uc-sound-tab-icon-position-x)) translateY(var(--uc-sound-tab-icon-position-y));
+ /* Shape */
+ --button-size-icon-small: 17px !important;
+ --button-min-height-small: 17px !important;
+ --button-border-radius: 100% !important;
+ width: 17px !important;
+ height: 17px !important;
+ border-radius: 100%;
+ overflow: clip;
+ --button-text-color-ghost-hover: light-dark(white, black);
+ --button-background-color-ghost-hover: light-dark(black, white);
+ }
+ .tab-audio-button:not([sharing], [crashed]):is([soundplaying], [muted], [activemedia-blocked]) {
+ display: flex !important;
+ fill-opacity: 0.8 !important;
+ opacity: 1 !important;
+ }
/* Label */
@supports not -moz-bool-pref("userChrome.hidden.tab_icon") {
.tabbrowser-tab:not([pinned], [sharing], [crashed]):is([soundplaying], [muted], [activemedia-blocked])
@@ -9013,7 +9532,7 @@
opacity: 0;
visibility: hidden;
}
- :root:has(#sidebar-box[positionend="true"]) #nav-bar {
+ :root:has(#sidebar-box[positionend]) #nav-bar {
right: 0;
}
}
@@ -9076,7 +9595,7 @@
position: absolute;
height: 100%;
}
- :root[customizing="true"] #browser[collapsed="true"] #sidebar-box[positionend="true"] {
+ :root[customizing="true"] #browser[collapsed="true"] #sidebar-box[positionend] {
right: 0;
}
:root[customizing="true"] #customization-container {
@@ -9089,10 +9608,10 @@
--uc-customization-conatiner-margin: calc(var(--uc-navbar-height-default) - var(--uc-tabbar-height-default));
}
}
- :root[customizing="true"]:has(#sidebar-box:not([positionend="true"])) #customization-container {
+ :root[customizing="true"]:has(#sidebar-box:not([positionend])) #customization-container {
margin-inline-start: var(--uc-sidebar-activate-width);
}
- :root[customizing="true"]:has(#sidebar-box[positionend="true"]) #customization-container {
+ :root[customizing="true"]:has(#sidebar-box[positionend]) #customization-container {
margin-inline-end: var(--uc-sidebar-activate-width);
}
:root[customizing="true"] #customization-palette-container,
@@ -9404,11 +9923,11 @@
@supports -moz-bool-pref("userChrome.sidebar.overlap") or -moz-bool-pref("userChrome.autohide.sidebar") {
#sidebar-box {
--uc-sidebar-shadow-color: #28282f;
- z-index: 1 !important;
+ z-index: var(--browser-area-z-index-sidebar-splitter, 3) !important;
position: relative !important;
box-shadow: var(--uc-sidebar-shadow-position) 0px 15px -10px var(--uc-sidebar-shadow-color);
}
- #sidebar-box[positionend="true"] {
+ #sidebar-box[positionend] {
--uc-sidebar-shadow-position: calc(-1 * var(--uc-sidebar-shadow-position-default));
}
#sidebar {
@@ -9419,7 +9938,7 @@
}
}
@supports -moz-bool-pref("userChrome.sidebar.overlap") {
- #sidebar-box[positionend="true"] {
+ #sidebar-box[positionend] {
direction: rtl;
}
#sidebar-header,
@@ -10132,24 +10651,35 @@
/** Fullscreen - Overlap toolbar **********************************************/
@supports -moz-bool-pref("userChrome.fullscreen.overlap") {
@supports -moz-bool-pref("browser.fullscreen.autohide") {
- :root[sizemode="fullscreen"] #navigator-toolbox {
+ :root[sizemode="fullscreen"]:not([inDOMFullscreen="true"]) #navigator-toolbox {
position: fixed !important; /* Needed for content to take up entire height */
z-index: 1000 !important; /* Puts the UI above the content */
}
- :root[sizemode="fullscreen"] :-moz-any(#navigator-toolbox, #titlebar, #nav-bar, #PersonalToolbar) {
+ :root[sizemode="fullscreen"]:not([inDOMFullscreen="true"]) #navigator-toolbox:is(:hover, :focus-within) {
+ margin-top: 0 !important;
+ }
+ :root[sizemode="fullscreen"]:not([inDOMFullscreen="true"])
+ :-moz-any(#navigator-toolbox, #titlebar, #toolbar-menubar, #TabsToolbar, #nav-bar, #PersonalToolbar) {
width: 100%; /* Makes the UI take up the entire width */
}
+ :root[sizemode="fullscreen"]:not([inDOMFullscreen="true"]) #urlbar:popover-open {
+ position: fixed !important;
+ }
@media (-moz-gtk-csd-available) {
/* Fix transparent background */
- :root[tabsintitlebar][sizemode="fullscreen"]:is(:not([lwtheme]), :not(:-moz-lwtheme)) #TabsToolbar {
+ :root:is([tabsintitlebar], [customtitlebar])[sizemode="fullscreen"]:not([inDOMFullscreen="true"]):is(
+ :not([lwtheme]),
+ :not(:-moz-lwtheme)
+ )
+ #TabsToolbar {
appearance: auto !important;
}
}
}
}
@supports -moz-bool-pref("userChrome.fullscreen.show_bookmarkbar") {
- :root:not([sizemode="fullscreen"]) #PersonalToolbar[initialized="true"]:not([collapsed="true"]),
- :root[sizemode="fullscreen"] #PersonalToolbar[initialized="true"] {
+ :root:not([sizemode="fullscreen"]) #PersonalToolbar[initialized]:not([collapsed="true"]),
+ :root[sizemode="fullscreen"] #PersonalToolbar[initialized] {
visibility: unset !important; /* Makes the bookmarks toolbar visible if enabled */
}
}
@@ -10391,16 +10921,16 @@
}
}
@supports selector(:has(a)) {
- :root:not([tabsintitlebar]):has(#toolbar-menubar) {
+ :root:not([tabsintitlebar]):not([customtitlebar]):has(#toolbar-menubar) {
--uc-menubar-height: var(--uc-menubar-height-default);
}
@media (-moz-gtk-csd-available) {
- :root[tabsintitlebar]:has(#toolbar-menubar[autohide="true"]) {
+ :root:is([tabsintitlebar], [customtitlebar]):has(#toolbar-menubar[autohide="true"]) {
--uc-menubar-height: calc(var(--tab-min-height) + 2 * var(--tab-block-margin));
}
}
@media (-moz-os-version: windows-win10), (-moz-platform: windows-win10) {
- :root[tabsintitlebar]:has(#toolbar-menubar[autohide="true"]) {
+ :root:is([tabsintitlebar], [customtitlebar]):has(#toolbar-menubar[autohide="true"]) {
--uc-menubar-height: calc(var(--tab-min-height) - var(--tabs-navbar-shadow-size));
}
}
@@ -10408,15 +10938,15 @@
(-moz-platform: windows-win7),
(-moz-os-version: windows-win8),
(-moz-platform: windows-win8) {
- :root[tabsintitlebar]:has(#toolbar-menubar[autohide="true"]) {
+ :root:is([tabsintitlebar], [customtitlebar]):has(#toolbar-menubar[autohide="true"]) {
--uc-menubar-height: calc(var(--tab-min-height) + var(--tab-block-margin));
}
}
- :root[tabsintitlebar]:has(#toolbar-menubar[autohide="false"]) {
+ :root:is([tabsintitlebar], [customtitlebar]):has(#toolbar-menubar[autohide="false"]) {
--uc-menubar-height: var(--uc-titlebar-buttonbox-height);
}
- :root:not([tabsintitlebar]):has(#toolbar-menubar[autohide="true"][inactive="true"]),
- :root[tabsintitlebar]:has(#toolbar-menubar[autohide="true"][inactive="true"]) {
+ :root:not([tabsintitlebar]):not([customtitlebar]):has(#toolbar-menubar[autohide="true"][inactive="true"]),
+ :root:is([tabsintitlebar], [customtitlebar]):has(#toolbar-menubar[autohide="true"][inactive="true"]) {
--uc-menubar-height: 0px;
}
#navigator-toolbox:has(#PersonalToolbar[collapsed="true"]) {
@@ -10599,7 +11129,8 @@
@supports -moz-bool-pref("userChrome.autohide.tabbar") or -moz-bool-pref("userChrome.autohide.navbar") {
@supports -moz-bool-pref("userChrome.autohide.tabbar") or -moz-bool-pref("userChrome.tabbar.one_liner") {
@supports not -moz-bool-pref("userChrome.tabbar.one_liner.responsive") {
- :root:not([customizing]) #titlebar {
+ :root:not([customizing]) #titlebar,
+ :root:not([customizing]) #navigator-toolbox > #TabsToolbar {
margin-bottom: var(--uc-tabbar-hide-height);
will-change: margin-bottom;
}
@@ -10617,7 +11148,8 @@
opacity: 0;
}
}
- #navigator-toolbox:is(:hover, :focus-within) > #titlebar {
+ #navigator-toolbox:is(:hover, :focus-within) > #titlebar,
+ #navigator-toolbox:is(:hover, :focus-within) > #TabsToolbar {
margin-bottom: 0px;
}
@supports not -moz-bool-pref("userChrome.tabbar.on_bottom") {
@@ -10634,7 +11166,8 @@
}
@supports -moz-bool-pref("userChrome.tabbar.one_liner.responsive") {
@media screen and (min-width: 1100px) {
- :root:not([customizing]) #titlebar {
+ :root:not([customizing]) #titlebar,
+ :root:not([customizing]) #navigator-toolbox > #TabsToolbar {
margin-bottom: var(--uc-tabbar-hide-height);
will-change: margin-bottom;
}
@@ -10652,7 +11185,8 @@
opacity: 0;
}
}
- #navigator-toolbox:is(:hover, :focus-within) > #titlebar {
+ #navigator-toolbox:is(:hover, :focus-within) > #titlebar,
+ #navigator-toolbox:is(:hover, :focus-within) > #TabsToolbar {
margin-bottom: 0px;
}
@supports not -moz-bool-pref("userChrome.tabbar.on_bottom") {
@@ -10668,7 +11202,8 @@
}
}
@supports -moz-bool-pref("userChrome.autohide.tabbar") {
- :root:not([customizing]) #titlebar {
+ :root:not([customizing]) #titlebar,
+ :root:not([customizing]) #navigator-toolbox > #TabsToolbar {
margin-bottom: var(--uc-tabbar-hide-height);
will-change: margin-bottom;
}
@@ -10686,7 +11221,8 @@
opacity: 0;
}
}
- #navigator-toolbox:is(:hover, :focus-within) > #titlebar {
+ #navigator-toolbox:is(:hover, :focus-within) > #titlebar,
+ #navigator-toolbox:is(:hover, :focus-within) > #TabsToolbar {
margin-bottom: 0px;
}
@supports not -moz-bool-pref("userChrome.tabbar.on_bottom") {
@@ -10747,30 +11283,51 @@
@supports not -moz-bool-pref("userChrome.tabbar.one_liner") {
#nav-bar:not([customizing]) {
margin-bottom: var(--uc-navbar-hide-height);
+ }
+ #nav-bar:not([customizing]),
+ #nav-bar:not([customizing]) #urlbar {
opacity: 0;
will-change: margin-bottom, opacity;
}
#navigator-toolbox:is(:hover, :focus-within) #nav-bar:not([customizing]) {
margin-bottom: 0;
+ }
+ #navigator-toolbox:is(:hover, :focus-within) #nav-bar:not([customizing]),
+ #navigator-toolbox:is(:hover, :focus-within) #nav-bar:not([customizing]) #urlbar {
opacity: 1;
}
+ #navigator-toolbox:not(:hover, :focus-within) #nav-bar:not([customizing]) #urlbar {
+ pointer-events: none;
+ }
}
@supports -moz-bool-pref("userChrome.tabbar.one_liner") {
@supports -moz-bool-pref("userChrome.tabbar.one_liner.responsive") {
@media screen and (max-width: 1100px) {
#nav-bar:not([customizing]) {
margin-bottom: var(--uc-navbar-hide-height);
+ }
+ #nav-bar:not([customizing]),
+ #nav-bar:not([customizing]) #urlbar {
opacity: 0;
will-change: margin-bottom, opacity;
}
#navigator-toolbox:is(:hover, :focus-within) #nav-bar:not([customizing]) {
margin-bottom: 0;
+ }
+ #navigator-toolbox:is(:hover, :focus-within) #nav-bar:not([customizing]),
+ #navigator-toolbox:is(:hover, :focus-within) #nav-bar:not([customizing]) #urlbar {
opacity: 1;
}
+ #navigator-toolbox:not(:hover, :focus-within) #nav-bar:not([customizing]) #urlbar {
+ pointer-events: none;
+ }
}
}
}
}
+ #mainPopupSet:not(:hover) ~ #navigator-toolbox:not(:hover, :focus-within) #nav-bar:not([customizing]) {
+ -moz-window-dragging: no-drag;
+ }
@media (prefers-reduced-motion: no-preference) {
#nav-bar:not([customizing]) {
transition: margin-bottom var(--uc-autohide-toolbar-speed) var(--animation-easing-function)
@@ -10788,7 +11345,12 @@
var(--ext-theme-background-transition) !important;
}
}
- #navigator-toolbox:is(:hover, :focus-within) #nav-bar:not([customizing]) {
+ #nav-bar:not([customizing]) #urlbar {
+ transition: opacity var(--uc-autohide-toolbar-speed) var(--animation-easing-function)
+ var(--uc-autohide-toolbar-delay) !important;
+ }
+ #navigator-toolbox:is(:hover, :focus-within) #nav-bar:not([customizing]),
+ #navigator-toolbox:is(:hover, :focus-within) #nav-bar:not([customizing]) #urlbar {
transition-delay: 0s !important;
}
}
@@ -10952,18 +11514,18 @@
min-width: var(--uc-sidebar-activate-width) !important;
max-width: var(--uc-sidebar-activate-width) !important;
}
- :root[inFullscreen="true"] #sidebar-box:not([positionend="true"]) {
+ :root[inFullscreen="true"] #sidebar-box:not([positionend]) {
margin-inline-start: var(--uc-sidebar-fullscreen-margin) !important;
will-change: margin-inline-start;
}
- :root[inFullscreen="true"] #sidebar-box:not([positionend="true"]):is(:hover, :focus-within) {
+ :root[inFullscreen="true"] #sidebar-box:not([positionend]):is(:hover, :focus-within) {
margin-inline-start: 0 !important;
}
- :root[inFullscreen="true"] #sidebar-box[positionend="true"] {
+ :root[inFullscreen="true"] #sidebar-box[positionend] {
margin-inline-end: var(--uc-sidebar-fullscreen-margin) !important;
will-change: margin-inline-end;
}
- :root[inFullscreen="true"] #sidebar-box[positionend="true"]:is(:hover, :focus-within) {
+ :root[inFullscreen="true"] #sidebar-box[positionend]:is(:hover, :focus-within) {
margin-inline-end: 0 !important;
}
@media (prefers-reduced-motion: no-preference) {
@@ -10980,7 +11542,7 @@
transition: margin-inline-start var(--uc-autohide-fullscreen-sidebar-speed) var(--animation-easing-function)
var(--uc-autohide-sidebar-delay) !important;
}
- :root[inFullscreen="true"] #sidebar-box[positionend="true"] {
+ :root[inFullscreen="true"] #sidebar-box[positionend] {
transition-property: margin-inline-end !important;
}
:root[inFullscreen="true"] #sidebar-box:is(:hover, :focus-within),
@@ -11214,7 +11776,7 @@
}
}
@supports selector(:has(a)) {
- :root:has(#sidebar-box[positionend="true"]) {
+ :root:has(#sidebar-box[positionend]) {
--uc-sidebar-icon: url("chrome://browser/skin/sidebars-right.svg");
--uc-sidebar-icon-reverse: url("chrome://browser/skin/sidebars.svg");
}
@@ -11533,6 +12095,17 @@
background-size: 16px !important;
background-image: var(--avatar-image-url) !important;
}
+ #appMenu-profiles-button > image,
+ #appMenu-empty-profiles-button > image {
+ fill: transparent !important;
+ }
+ #appMenu-empty-profiles-button,
+ #PanelUI-fxa-menu-empty-profiles-button {
+ list-style-image: url("chrome://browser/content/profiles/assets/16_heart.svg");
+ }
+ #profiles-manage-profiles-button {
+ list-style-image: url("chrome://global/skin/icons/settings.svg");
+ }
#new-tab-button {
list-style-image: var(--uc-new-tab-icon) !important;
}
@@ -11753,7 +12326,8 @@
#PanelUI-signedin-panel[hidden="true"] + #PanelUI-fxa-cta-menu #PanelUI-products-separator {
display: none;
}
- #PanelUI-fxa-menu > :first-child {
+ #PanelUI-fxa-menu > :first-child,
+ #fxa-manage-account-button {
order: -1;
-moz-box-ordinal-group: 0;
}
@@ -11768,6 +12342,21 @@
.sendToDevice-device.subviewbutton.sync-menuitem.sendtab-target:not([clientType]) {
list-style-image: url("chrome://global/skin/icons/settings.svg");
}
+ .sendToDevice-device[clientType="phone"] {
+ list-style-image: url("../icons/device-phone.svg") !important;
+ }
+ .sendToDevice-device[clientType="tablet"] {
+ list-style-image: url("../icons/device-tablet.svg") !important;
+ }
+ .sendToDevice-device[clientType="desktop"] {
+ list-style-image: url("../icons/device-desktop.svg") !important;
+ }
+ .sendToDevice-device[clientType="tv"] {
+ list-style-image: url("../icons/device-tv.svg") !important;
+ }
+ .sendToDevice-device[clientType="vr"] {
+ list-style-image: url("../icons/device-vr.svg") !important;
+ }
/*= Panel - Bookmark =========================================================*/
#panelMenuBookmarkThisPage {
list-style-image: url("chrome://browser/skin/bookmark-hollow.svg");
@@ -11922,6 +12511,9 @@
#allTabsMenu-searchTabs {
list-style-image: url("chrome://global/skin/icons/search-glass.svg");
}
+ #allTabsMenu-syncedTabs {
+ list-style-image: url("../icons/synced-tabs.svg");
+ }
#allTabsMenu-closeDuplicateTabs {
list-style-image: var(--uc-tab-close-duplicate-icon);
}
@@ -11974,6 +12566,9 @@
fill: currentColor;
margin-inline-end: 1em;
}
+ #protections-popup-report-broken-site-button {
+ list-style-image: url("chrome://global/skin/icons/lightbulb.svg");
+ }
#protections-popup-settings-button > .protections-popup-settings-icon,
#protections-popup-multiView .panel-subview-footer-button {
list-style-image: url("chrome://global/skin/icons/settings.svg");
@@ -12018,6 +12613,12 @@
#sidebar-switcher-tabs:is(menuitem) {
--menuitem-image: url("../icons/synced-tabs.svg");
}
+ #sidebar-switcher-genai-chat.subviewbutton {
+ list-style-image: url("chrome://mozapps/skin/extensions/category-discover.svg");
+ }
+ #sidebar-switcher-genai-chat:is(menuitem) {
+ --menuitem-image: url("chrome://mozapps/skin/extensions/category-discover.svg");
+ }
#sidebar-reverse-position.subviewbutton {
list-style-image: var(--uc-sidebar-icon-reverse);
}
@@ -12030,6 +12631,44 @@
#sidebarMenu-popup > *:is(menuitem)[data-l10n-id="sidebar-menu-close"] {
--menuitem-image: url("chrome://global/skin/icons/close.svg");
}
+ /*= sidebar-context-menu =====================================================*/
+ #sidebar-context-menu-manage-extension {
+ --menuitem-image: url("chrome://global/skin/icons/settings.svg");
+ }
+ #sidebar-context-menu-remove-extension {
+ --menuitem-image: url("chrome://global/skin/icons/delete.svg");
+ }
+ #sidebar-context-menu-report-extension {
+ --menuitem-image: url("../icons/send.svg");
+ }
+ #sidebar-context-menu-unpin-extension {
+ --menuitem-image: url("../icons/unpin-tab.svg");
+ }
+ #sidebar-context-menu-hide-sidebar {
+ --menuitem-image: url("../icons/eye-hide.svg");
+ }
+ #sidebar-context-menu-customize-sidebar {
+ --menuitem-image: url("chrome://browser/skin/customize.svg");
+ }
+ #sidebar-context-menu-enable-vertical-tabs {
+ --menuitem-image: url("chrome://browser/skin/sidebar-collapsed.svg");
+ }
+ /*= chrome://browser/content/syncedtabs/sidebar.xhtml ========================*/
+ .item.client[clientType="phone"] > .item-title-container > .item-icon-container {
+ background-image: url("../icons/device-phone.svg") !important;
+ }
+ .item.client[clientType="tablet"] > .item-title-container > .item-icon-container {
+ background-image: url("../icons/device-tablet.svg") !important;
+ }
+ .item.client[clientType="desktop"] > .item-title-container > .item-icon-container {
+ background-image: url("../icons/device-desktop.svg") !important;
+ }
+ .item.client[clientType="tv"] > .item-title-container > .item-icon-container {
+ background-image: url("../icons/device-tv.svg") !important;
+ }
+ .item.client[clientType="vr"] > .item-title-container > .item-icon-container {
+ background-image: url("../icons/device-vr.svg") !important;
+ }
/*= unified-extensions-view ===================================================*/
#unified-extensions-manage-extensions {
list-style-image: url("chrome://mozapps/skin/extensions/extension.svg");
@@ -12051,7 +12690,9 @@
menupopup menuitem:not([type="checkbox"][checked="true"], [type="radio"]),
menupopup menu:not([type="checkbox"][checked="true"], [type="radio"]),
menupopup menuitem:not([type="checkbox"][checked="true"], [type="radio"]) > .menu-iconic-left > .menu-iconic-icon,
+ menupopup menuitem:not([type="checkbox"][checked="true"], [type="radio"]) > .menu-icon,
menupopup menu:not([type="checkbox"][checked="true"], [type="radio"]) > .menu-iconic-left > .menu-iconic-icon,
+ menupopup menu:not([type="checkbox"][checked="true"], [type="radio"]) > .menu-icon,
#main-menubar > menu {
-moz-appearance: none !important; /* Linux: menulist */
}
@@ -12070,10 +12711,12 @@
#goPopup,
#historyMenuPopup,
#bookmarksMenuPopup,
+ #menu_ProfilesPopup,
#menu_ToolsPopup,
#windowPopup,
#menu_HelpPopup,
- #usercssloader-menupopup
+ #usercssloader-menupopup,
+ #sidebar-context-menu
)
menuitem:not(.menuitem-iconic, .bookmark-item, .in-menulist, [checked="true"]),
menupopup:is(
@@ -12083,10 +12726,12 @@
#goPopup,
#historyMenuPopup,
#bookmarksMenuPopup,
+ #menu_ProfilesPopup,
#menu_ToolsPopup,
#windowPopup,
#menu_HelpPopup,
- #usercssloader-menupopup
+ #usercssloader-menupopup,
+ #sidebar-context-menu
)
menu:not(.menu-iconic, .in-menulist, [checked="true"]),
menupopup:is(#organizeButtonPopup, #maintenanceButtonPopup)
@@ -12097,7 +12742,8 @@
#context-sendpagetodevice-popup,
#context-sendlinktodevice-popup,
#frame > menupopup,
- #spell-dictionaries-menu
+ #spell-dictionaries-menu,
+ #context-ask-chat > menupopup
)
> menuitem:not([type="checkbox"][checked="true"], [type="radio"]),
.openintabs-menuitem,
@@ -12155,10 +12801,12 @@
#goPopup,
#historyMenuPopup,
#bookmarksMenuPopup,
+ #menu_ProfilesPopup,
#menu_ToolsPopup,
#windowPopup,
#menu_HelpPopup,
- #usercssloader-menupopup
+ #usercssloader-menupopup,
+ #sidebar-context-menu
)
menuitem:not(.menuitem-iconic, .bookmark-item, .in-menulist, [checked="true"]),
menupopup:is(
@@ -12168,10 +12816,12 @@
#goPopup,
#historyMenuPopup,
#bookmarksMenuPopup,
+ #menu_ProfilesPopup,
#menu_ToolsPopup,
#windowPopup,
#menu_HelpPopup,
- #usercssloader-menupopup
+ #usercssloader-menupopup,
+ #sidebar-context-menu
)
menu:not(.menu-iconic, .in-menulist, [checked="true"]),
menupopup:is(#organizeButtonPopup, #maintenanceButtonPopup)
@@ -12182,7 +12832,8 @@
#context-sendpagetodevice-popup,
#context-sendlinktodevice-popup,
#frame > menupopup,
- #spell-dictionaries-menu
+ #spell-dictionaries-menu,
+ #context-ask-chat > menupopup
)
> menuitem:not([type="checkbox"][checked="true"], [type="radio"]),
.openintabs-menuitem,
@@ -12218,6 +12869,20 @@
#main-menubar > menu menupopup {
--menuitem-image: none; /* Prevent Image Inheritance */
}
+ @media (-moz-os-version: windows-win7),
+ (-moz-os-version: windows-win8),
+ (-moz-os-version: windows-win10),
+ (-moz-platform: windows) {
+ #main-menubar > menu > :is(.menubar-text, .menu-text) {
+ transform: translateY(-1px) !important; /* Fix menu top padding position */
+ padding-inline-start: 0.3em !important;
+ }
+ }
+ @media (-moz-gtk-csd-available) {
+ #main-menubar > menu > :is(.menubar-text, .menu-text) {
+ padding-inline-start: 3px;
+ }
+ }
@supports not -moz-bool-pref("userChrome.padding.global_menubar") {
#main-menubar > menu {
padding-block: 2px !important;
@@ -12252,10 +12917,12 @@
#goPopup,
#historyMenuPopup,
#bookmarksMenuPopup,
+ #menu_ProfilesPopup,
#menu_ToolsPopup,
#windowPopup,
#menu_HelpPopup,
- #usercssloader-menupopup
+ #usercssloader-menupopup,
+ #sidebar-context-menu
)
menuitem:not(.menuitem-iconic, .bookmark-item, .in-menulist, [checked="true"]),
menupopup:is(
@@ -12265,10 +12932,12 @@
#goPopup,
#historyMenuPopup,
#bookmarksMenuPopup,
+ #menu_ProfilesPopup,
#menu_ToolsPopup,
#windowPopup,
#menu_HelpPopup,
- #usercssloader-menupopup
+ #usercssloader-menupopup,
+ #sidebar-context-menu
)
menu:not(.menu-iconic, .in-menulist, [checked="true"]),
menupopup:is(#organizeButtonPopup, #maintenanceButtonPopup)
@@ -12279,7 +12948,8 @@
#context-sendpagetodevice-popup,
#context-sendlinktodevice-popup,
#frame > menupopup,
- #spell-dictionaries-menu
+ #spell-dictionaries-menu,
+ #context-ask-chat > menupopup
)
> menuitem:not([type="checkbox"][checked="true"], [type="radio"]),
.openintabs-menuitem,
@@ -12293,6 +12963,9 @@
.menupopup-arrowscrollbox {
padding-inline: 0 !important; /* Original: padding: var(--panel-padding); --panel-padding-block: 4px; */
}
+ menupopup[needsgutter] > :is(menu, menuitem) > .menu-icon {
+ display: none !important;
+ }
}
@media (-moz-os-version: windows-win7),
(-moz-os-version: windows-win8),
@@ -12327,10 +13000,12 @@
#goPopup,
#historyMenuPopup,
#bookmarksMenuPopup,
+ #menu_ProfilesPopup,
#menu_ToolsPopup,
#windowPopup,
#menu_HelpPopup,
- #usercssloader-menupopup
+ #usercssloader-menupopup,
+ #sidebar-context-menu
)
menuitem:not(.menuitem-iconic, .bookmark-item, .in-menulist, [checked="true"]),
menupopup:is(
@@ -12340,10 +13015,12 @@
#goPopup,
#historyMenuPopup,
#bookmarksMenuPopup,
+ #menu_ProfilesPopup,
#menu_ToolsPopup,
#windowPopup,
#menu_HelpPopup,
- #usercssloader-menupopup
+ #usercssloader-menupopup,
+ #sidebar-context-menu
)
menu:not(.menu-iconic, .in-menulist, [checked="true"]),
menupopup:is(#organizeButtonPopup, #maintenanceButtonPopup)
@@ -12355,7 +13032,8 @@
#context-sendpagetodevice-popup,
#context-sendlinktodevice-popup,
#frame > menupopup,
- #spell-dictionaries-menu
+ #spell-dictionaries-menu,
+ #context-ask-chat > menupopup
)
> menuitem:not([type="checkbox"][checked="true"], [type="radio"]),
.openintabs-menuitem,
@@ -12369,6 +13047,9 @@
.menupopup-arrowscrollbox {
padding-inline: 0 !important; /* Original: padding: var(--panel-padding); --panel-padding-block: 4px; */
}
+ menupopup[needsgutter] > :is(menu, menuitem) > .menu-icon {
+ display: none !important;
+ }
}
}
}
@@ -12512,10 +13193,12 @@
#goPopup,
#historyMenuPopup,
#bookmarksMenuPopup,
+ #menu_ProfilesPopup,
#menu_ToolsPopup,
#windowPopup,
#menu_HelpPopup,
- #usercssloader-menupopup
+ #usercssloader-menupopup,
+ #sidebar-context-menu
)
menuitem:not(.menuitem-iconic, .bookmark-item, .in-menulist, [checked="true"]),
menupopup:is(
@@ -12525,10 +13208,12 @@
#goPopup,
#historyMenuPopup,
#bookmarksMenuPopup,
+ #menu_ProfilesPopup,
#menu_ToolsPopup,
#windowPopup,
#menu_HelpPopup,
- #usercssloader-menupopup
+ #usercssloader-menupopup,
+ #sidebar-context-menu
)
menu:not(.menu-iconic, .in-menulist, [checked="true"]),
menupopup:is(#organizeButtonPopup, #maintenanceButtonPopup)
@@ -12539,7 +13224,8 @@
#context-sendpagetodevice-popup,
#context-sendlinktodevice-popup,
#frame > menupopup,
- #spell-dictionaries-menu
+ #spell-dictionaries-menu,
+ #context-ask-chat > menupopup
)
> menuitem:not([type="checkbox"][checked="true"], [type="radio"]),
.openintabs-menuitem,
@@ -12557,8 +13243,11 @@
--context-menu-background-padding-default: 6px;
--context-menu-text-padding: 21px;
}
- #main-menubar > menu > .menubar-text {
- padding-inline-start: 3px;
+ .menu-icon {
+ display: unset !important;
+ }
+ #main-menubar > menu > .menu-icon {
+ display: none !important;
}
}
/* Padding - Mac */
@@ -12597,10 +13286,12 @@
#goPopup,
#historyMenuPopup,
#bookmarksMenuPopup,
+ #menu_ProfilesPopup,
#menu_ToolsPopup,
#windowPopup,
#menu_HelpPopup,
- #usercssloader-menupopup
+ #usercssloader-menupopup,
+ #sidebar-context-menu
)
menuitem:not(.menuitem-iconic, .bookmark-item),
menupopup:is(
@@ -12610,10 +13301,12 @@
#goPopup,
#historyMenuPopup,
#bookmarksMenuPopup,
+ #menu_ProfilesPopup,
#menu_ToolsPopup,
#windowPopup,
#menu_HelpPopup,
- #usercssloader-menupopup
+ #usercssloader-menupopup,
+ #sidebar-context-menu
)
menu:not(.menu-iconic) {
list-style-image: var(--menuitem-image, url("../icons/blank.svg")) !important;
@@ -12666,10 +13359,14 @@
(-moz-os-version: windows-win10),
(-moz-platform: windows) {
/* Bookmark Popup - None icon menu */
- menupopup:is(#BMB_bookmarksPopup)[placespopup="true"] menuitem:not(.menuitem-iconic, [disabled="true"]),
- menupopup:is(#BMB_bookmarksPopup)[placespopup="true"] menu:not(.menu-iconic),
- #PersonalToolbar menupopup[placespopup="true"] menuitem:not(.menuitem-iconic, [disabled="true"]),
- #PersonalToolbar menupopup[placespopup="true"] menu:not(.menu-iconic) {
+ menupopup:is(#BMB_bookmarksPopup)[placespopup="true"]
+ menuitem:not(.menuitem-iconic, [disabled="true"]):not(:has(.menu-icon[aria-hidden="true"])),
+ menupopup:is(#BMB_bookmarksPopup)[placespopup="true"]
+ menu:not(.menu-iconic):not(:has(.menu-icon[aria-hidden="true"])),
+ #PersonalToolbar
+ menupopup[placespopup="true"]
+ menuitem:not(.menuitem-iconic, [disabled="true"]):not(:has(.menu-icon[aria-hidden="true"])),
+ #PersonalToolbar menupopup[placespopup="true"] menu:not(.menu-iconic):not(:has(.menu-icon[aria-hidden="true"])) {
margin-inline: var(--arrowpanel-menuitem-margin-inline) !important;
padding-inline-start: var(--bookmark-menu-icon-text-padding) !important;
background-position: var(--uc-menu-background-position) var(--bookmark-menu-icon-background-padding) center !important;
@@ -12697,26 +13394,44 @@
margin-inline-start: -1px !important;
}
/* Bookmark Popup - None icon menu */
- menupopup:is(#BMB_bookmarksPopup)[placespopup="true"] menuitem:not(.menuitem-iconic, [disabled="true"]),
- menupopup:is(#BMB_bookmarksPopup)[placespopup="true"] menu:not(.menu-iconic),
- #PersonalToolbar menupopup[placespopup="true"] menuitem:not(.menuitem-iconic, [disabled="true"]),
- #PersonalToolbar menupopup[placespopup="true"] menu:not(.menu-iconic) {
+ menupopup:is(#BMB_bookmarksPopup)[placespopup="true"]
+ menuitem:not(.menuitem-iconic, [disabled="true"]):not(:has(.menu-icon[aria-hidden="true"])),
+ menupopup:is(#BMB_bookmarksPopup)[placespopup="true"]
+ menu:not(.menu-iconic):not(:has(.menu-icon[aria-hidden="true"])),
+ #PersonalToolbar
+ menupopup[placespopup="true"]
+ menuitem:not(.menuitem-iconic, [disabled="true"]):not(:has(.menu-icon[aria-hidden="true"])),
+ #PersonalToolbar menupopup[placespopup="true"] menu:not(.menu-iconic):not(:has(.menu-icon[aria-hidden="true"])) {
padding-inline-start: calc(var(--context-menu-background-padding) + 2px) !important;
}
@supports -moz-bool-pref("userChrome.theme.non_native_menu") {
- menupopup:is(#BMB_bookmarksPopup)[placespopup="true"] menuitem:not(.menuitem-iconic, [disabled="true"]),
- menupopup:is(#BMB_bookmarksPopup)[placespopup="true"] menu:not(.menu-iconic),
- #PersonalToolbar menupopup[placespopup="true"] menuitem:not(.menuitem-iconic, [disabled="true"]),
- #PersonalToolbar menupopup[placespopup="true"] menu:not(.menu-iconic) {
+ menupopup:is(#BMB_bookmarksPopup)[placespopup="true"]
+ menuitem:not(.menuitem-iconic, [disabled="true"]):not(:has(.menu-icon[aria-hidden="true"])),
+ menupopup:is(#BMB_bookmarksPopup)[placespopup="true"]
+ menu:not(.menu-iconic):not(:has(.menu-icon[aria-hidden="true"])),
+ #PersonalToolbar
+ menupopup[placespopup="true"]
+ menuitem:not(.menuitem-iconic, [disabled="true"]):not(:has(.menu-icon[aria-hidden="true"])),
+ #PersonalToolbar
+ menupopup[placespopup="true"]
+ menu:not(.menu-iconic):not(:has(.menu-icon[aria-hidden="true"])) {
margin-inline: var(--arrowpanel-menuitem-margin-inline) !important;
}
}
menupopup:is(#BMB_bookmarksPopup)[placespopup="true"]
- menuitem:not(.menuitem-iconic, [disabled="true"])
+ menuitem:not(.menuitem-iconic, [disabled="true"]):not(:has(.menu-icon[aria-hidden="true"]))
.menu-text,
- menupopup:is(#BMB_bookmarksPopup)[placespopup="true"] menu:not(.menu-iconic) .menu-text,
- #PersonalToolbar menupopup[placespopup="true"] menuitem:not(.menuitem-iconic, [disabled="true"]) .menu-text,
- #PersonalToolbar menupopup[placespopup="true"] menu:not(.menu-iconic) .menu-text {
+ menupopup:is(#BMB_bookmarksPopup)[placespopup="true"]
+ menu:not(.menu-iconic):not(:has(.menu-icon[aria-hidden="true"]))
+ .menu-text,
+ #PersonalToolbar
+ menupopup[placespopup="true"]
+ menuitem:not(.menuitem-iconic, [disabled="true"]):not(:has(.menu-icon[aria-hidden="true"]))
+ .menu-text,
+ #PersonalToolbar
+ menupopup[placespopup="true"]
+ menu:not(.menu-iconic):not(:has(.menu-icon[aria-hidden="true"]))
+ .menu-text {
margin-inline-start: var(--context-menu-text-padding) !important;
}
}
@@ -12727,20 +13442,32 @@
padding-inline: var(--arrowpanel-menuitem-padding-inline) !important;
}
/* Bookmark Popup - None icon menu */
- menupopup:is(#BMB_bookmarksPopup)[placespopup="true"] menuitem:not(.menuitem-iconic, [disabled="true"]),
- menupopup:is(#BMB_bookmarksPopup)[placespopup="true"] menu:not(.menu-iconic) {
+ menupopup:is(#BMB_bookmarksPopup)[placespopup="true"]
+ menuitem:not(.menuitem-iconic, [disabled="true"]):not(:has(.menu-icon[aria-hidden="true"])),
+ menupopup:is(#BMB_bookmarksPopup)[placespopup="true"]
+ menu:not(.menu-iconic):not(:has(.menu-icon[aria-hidden="true"])) {
padding-inline-start: calc(var(--arrowpanel-menuitem-padding-inline) + 3px) !important;
}
- #PersonalToolbar menupopup[placespopup="true"] menuitem:not(.menuitem-iconic, [disabled="true"]),
- #PersonalToolbar menupopup[placespopup="true"] menu:not(.menu-iconic) {
+ #PersonalToolbar
+ menupopup[placespopup="true"]
+ menuitem:not(.menuitem-iconic, [disabled="true"]):not(:has(.menu-icon[aria-hidden="true"])),
+ #PersonalToolbar menupopup[placespopup="true"] menu:not(.menu-iconic):not(:has(.menu-icon[aria-hidden="true"])) {
padding-inline-start: calc(var(--arrowpanel-menuitem-padding-inline) + 1px) !important;
}
menupopup:is(#BMB_bookmarksPopup)[placespopup="true"]
- menuitem:not(.menuitem-iconic, [disabled="true"])
+ menuitem:not(.menuitem-iconic, [disabled="true"]):not(:has(.menu-icon[aria-hidden="true"]))
> .menu-text,
- menupopup:is(#BMB_bookmarksPopup)[placespopup="true"] menu:not(.menu-iconic) > .menu-text,
- #PersonalToolbar menupopup[placespopup="true"] menuitem:not(.menuitem-iconic, [disabled="true"]) > .menu-text,
- #PersonalToolbar menupopup[placespopup="true"] menu:not(.menu-iconic) > .menu-text {
+ menupopup:is(#BMB_bookmarksPopup)[placespopup="true"]
+ menu:not(.menu-iconic):not(:has(.menu-icon[aria-hidden="true"]))
+ > .menu-text,
+ #PersonalToolbar
+ menupopup[placespopup="true"]
+ menuitem:not(.menuitem-iconic, [disabled="true"]):not(:has(.menu-icon[aria-hidden="true"]))
+ > .menu-text,
+ #PersonalToolbar
+ menupopup[placespopup="true"]
+ menu:not(.menu-iconic):not(:has(.menu-icon[aria-hidden="true"]))
+ > .menu-text {
padding-inline-start: var(--context-menu-mac-padding) !important;
}
}
@@ -12768,8 +13495,13 @@
#sidebartabs_asamuzak_jp-menuitem-_reloadAllTabs {
--menuitem-image: url("../icons/reload.svg");
}
+ #context_playTab,
+ #context_playSelectedTabs {
+ --menuitem-image: url("../icons/play-fill.svg");
+ }
#context_toggleMuteTab,
#context_toggleMuteSelectedTabs,
+ #treestyletab_piro_sakura_ne_jp-menuitem-_context_toggleMuteTab[label="Mute Tab"],
#treestyletab_piro_sakura_ne_jp-menuitem-_context_toggleMuteTab-mute,
#tabcenter-reborn_ariasuni-menuitem-_contextMenuMuteTab,
#sidebartabs_asamuzak_jp-menuitem-_muteTab {
@@ -12778,6 +13510,7 @@
}
#context_toggleMuteTab[muted],
#context_toggleMuteSelectedTabs[muted],
+ #treestyletab_piro_sakura_ne_jp-menuitem-_context_toggleMuteTab[label="Unmute Tab"],
#treestyletab_piro_sakura_ne_jp-menuitem-_context_toggleMuteTab-unmute,
#tabcenter-reborn_ariasuni-menuitem-_contextMenuMuteTab[label="Unmute Tab"],
#sidebartabs_asamuzak_jp-menuitem-_muteTab[label="Unmute Tab"] {
@@ -12797,6 +13530,12 @@
#sidebartabs_asamuzak_jp-menuitem-_pinTab[label="Unpin Tab"] {
--menuitem-image: url("../icons/unpin-tab.svg");
}
+ #treestyletab_piro_sakura_ne_jp-menuitem-_context_topLevel_toggleSticky[label="Stick Tab to Edges"] {
+ --menuitem-image: url("../icons/align-distribute-top.svg");
+ }
+ #treestyletab_piro_sakura_ne_jp-menuitem-_context_topLevel_toggleSticky[label="Unstick Tab to Edges"] {
+ --menuitem-image: url("../icons/align-space-evenly-vertical.svg");
+ }
#context_duplicateTab,
#context_duplicateTabs,
#treestyletab_piro_sakura_ne_jp-menuitem-_context_duplicateTab,
@@ -12858,6 +13597,7 @@
--menuitem-image: url("chrome://global/skin/icons/close.svg");
}
@supports -moz-bool-pref("userChrome.icon.menu.full") {
+ #treestyletab_piro_sakura_ne_jp-menuitem-_context_closeDuplicatedTabs,
#context_closeDuplicateTabs {
--menuitem-image: var(--uc-tab-close-duplicate-icon);
}
@@ -12927,6 +13667,12 @@
#toolbar-context-undoCloseTab {
--menuitem-image: url("../icons/undo.svg");
}
+ #toolbar-context-customize-sidebar {
+ --menuitem-image: url("chrome://browser/skin/customize.svg");
+ }
+ #toolbar-context-toggle-vertical-tabs {
+ --menuitem-image: url("chrome://browser/skin/sidebar-collapsed.svg");
+ }
#toggle_toolbar-menubar {
/* checkbox */
--menuitem-image: url("../icons/calendar-agenda.svg");
@@ -12963,7 +13709,7 @@
}
}
#tm-renameTab {
- --menuitem-image: url("chrome://global/skin/icons/edit.svg");
+ --menuitem-image: url("../icons/edit-active.svg");
}
#tm-copyTabUrl {
--menuitem-image: url("../icons/link.svg");
@@ -13222,6 +13968,9 @@
#context-translate-selection {
--menuitem-image: url("../icons/translations.svg");
}
+ #context-ask-chat {
+ --menuitem-image: url("../icons/chat-sparkle.svg");
+ }
#frame {
--menuitem-image: url("../icons/command-frames.svg");
}
@@ -13271,6 +14020,35 @@
--menuitem-image: url("chrome://browser/skin/bookmark.svg");
}
}
+ /*= context-ask-chat =========================================================*/
+ #ask-chat-shortcuts .toolbarbutton-icon {
+ order: -1;
+ margin-inline-end: var(--arrowpanel-menuitem-margin-inline) !important;
+ }
+ #ask-chat-shortcuts .subviewbutton:nth-child(1) {
+ list-style-image: url("../icons/apps-list-detail.svg");
+ }
+ #ask-chat-shortcuts .subviewbutton:nth-child(2) {
+ list-style-image: url("../icons/code-text.svg");
+ }
+ #ask-chat-shortcuts .subviewbutton:nth-child(3) {
+ list-style-image: url("../icons/tetris-app.svg");
+ }
+ #ask-chat-shortcuts .subviewbutton:nth-child(4) {
+ list-style-image: url("../icons/arrow-up-exclamation.svg");
+ }
+ #context-ask-chat menuitem:nth-child(1) {
+ --menuitem-image: url("../icons/apps-list-detail.svg");
+ }
+ #context-ask-chat menuitem:nth-child(2) {
+ --menuitem-image: url("../icons/code-text.svg");
+ }
+ #context-ask-chat menuitem:nth-child(3) {
+ --menuitem-image: url("../icons/tetris-app.svg");
+ }
+ #context-ask-chat menuitem:nth-child(4) {
+ --menuitem-image: url("../icons/arrow-up-exclamation.svg");
+ }
/*= main-context-menu-frame ==================================================*/
#context-showonlythisframe {
--menuitem-image: url("../icons/eye-show.svg");
@@ -13409,7 +14187,7 @@
#placesContext_show_bookmark\:info,
#placesContext_show\:info,
#placesContext_show_folder\:info {
- --menuitem-image: url("chrome://global/skin/icons/edit.svg");
+ --menuitem-image: url("../icons/edit-active.svg");
}
#placesContext_deleteBookmark,
#placesContext_deleteFolder,
@@ -13473,7 +14251,7 @@
--menuitem-image: url("chrome://global/skin/icons/check.svg");
}
#blockedPopupOptions > menuitem[oncommand="gPopupBlockerObserver.editPopupSettings();"] {
- --menuitem-image: url("chrome://global/skin/icons/edit.svg");
+ --menuitem-image: url("../icons/edit-active.svg");
}
#blockedPopupDontShowMessage {
/* checkbox */
@@ -13688,6 +14466,9 @@
--menuitem-image: url("../icons/send.svg");
}
/*= urlbarView-result-menu ===================================================*/
+ .urlbarView-result-menuitem[data-command="trendingblock"] {
+ --menuitem-image: url("../icons/eye-hide.svg");
+ }
.urlbarView-result-menuitem[data-command="dismiss"] {
--menuitem-image: url("chrome://global/skin/icons/delete.svg");
}
@@ -13715,7 +14496,7 @@
--menuitem-image: url("../icons/mail-inbox-all.svg");
}
#edit-menu {
- --menuitem-image: url("chrome://global/skin/icons/edit.svg");
+ --menuitem-image: url("../icons/edit-active.svg");
}
#view-menu {
--menuitem-image: url("../icons/content-view.svg");
@@ -13726,6 +14507,10 @@
#bookmarksMenu {
--menuitem-image: url("chrome://browser/skin/bookmark.svg");
}
+ #profiles-menu:is(menu) {
+ fill: transparent !important;
+ --menuitem-image: url("chrome://browser/content/profiles/assets/16_heart.svg");
+ }
#tools-menu {
--menuitem-image: url("../icons/toolbox.svg");
}
@@ -13735,6 +14520,18 @@
#helpMenu {
--menuitem-image: url("chrome://global/skin/icons/help.svg");
}
+ /*= Others ===================================================================*/
+ #alltabs-button {
+ list-style-image: url("chrome://global/skin/icons/arrow-down.svg") !important;
+ }
+ #alltabs-button > .toolbarbutton-badge-stack > .toolbarbutton-icon {
+ /* Original
+ width: 20px;
+ margin: -2px;
+ */
+ width: 16px !important;
+ margin: 0 !important;
+ }
}
@supports -moz-bool-pref("userChrome.icon.global_menu") {
/** Global Menu ***************************************************************/
@@ -13933,6 +14730,10 @@
#menu_searchBookmarks {
--menuitem-image: url("chrome://global/skin/icons/search-glass.svg");
}
+ /*= menu_ProfilesPopup =======================================================*/
+ #menu_manageProfiles {
+ --menuitem-image: url("chrome://global/skin/icons/settings.svg");
+ }
/*= menu_ToolsPopup ==========================================================*/
#menu_openDownloads {
--menuitem-image: url("chrome://browser/skin/downloads/downloads.svg");
@@ -14113,6 +14914,10 @@
{
content: url("../icons/developer.svg") !important;
}
+ .tabbrowser-tab:is([image="chrome://browser/skin/controlcenter/dashboard.svg"]) .tab-icon-image
+ {
+ content: url("../icons/dashboard.svg") !important;
+ }
}
/** Icons for fork browsers ***************************************************/
/*= Waterfox =================================================================*/
@@ -14131,6 +14936,9 @@
menuitem.privatetab-icon {
--menuitem-image: url("../icons/private-favicon.svg");
}
+ #sidebar_waterfox_net-menuitem-_openAllBookmarksWithStructure {
+ --menuitem-image: url("../icons/organization-horizontal.svg");
+ }
}
/*= Tor Browser ==============================================================*/
@supports -moz-bool-pref("userChrome.icon.panel") {
@@ -14193,7 +15001,7 @@
--menuitem-image: url("chrome://global/skin/icons/reload.svg");
}
#usercssloader-submenupopup > menuitem[data-l10n-id="make-browsercss-file"] {
- --menuitem-image: url("chrome://global/skin/icons/edit.svg");
+ --menuitem-image: url("../icons/edit-active.svg");
}
#usercssloader-submenupopup > menuitem[data-l10n-id="open-css-folder"] {
--menuitem-image: var(--uc-folder-icon);
diff --git a/css/leptonContent.css b/css/leptonContent.css
index 7e5a57a..d8e968d 100644
--- a/css/leptonContent.css
+++ b/css/leptonContent.css
@@ -42,6 +42,9 @@
box-sizing: content-box;
padding: 0 !important;
}
+ button[data-l10n-id="addon-updates-manual-updates-found"] {
+ height: 100%;
+ }
#categories {
padding-inline-end: 1px !important; /* Original: 4px */
}
@@ -53,7 +56,7 @@
}
/** Video player **************************************************************/
/* Control Bar Size */
-@supports -moz-bool-pref("userContent.player.size") {
+@media -moz-pref("userContent.player.size") {
#controlsContainer {
--controlBar-height: 40px; /* Original: 40px, Replace to this value */
}
@@ -79,7 +82,7 @@
}
}
/* Control Bar UI */
-@supports -moz-bool-pref("userContent.player.ui") {
+@media -moz-pref("userContent.player.ui") {
audio {
--duration-color: #929292; /* Like Original */
--media-background: rgba(26, 26, 26, 0.8); /* Like Original */
@@ -113,7 +116,7 @@
#controlsContainer .duration {
color: var(--duration-color) !important; /* Original: #929292 */
}
- @supports -moz-bool-pref("userContent.player.ui.twoline") {
+ @media -moz-pref("userContent.player.ui.twoline") {
audio {
/* #controlsContainer .controlBar */
--controlBar-flex-wrap: unset;
@@ -203,7 +206,7 @@
}
}
}
-@supports -moz-bool-pref("userContent.player.icon") {
+@media -moz-pref("userContent.player.icon") {
#controlsContainer .fullscreenButton {
background-image: url("../icons/enter-fullscreen.svg") !important;
}
@@ -211,14 +214,14 @@
background-image: url("../icons/exit-fullscreen.svg") !important;
}
}
-@supports -moz-bool-pref("userContent.player.noaudio") {
+@media -moz-pref("userContent.player.noaudio") {
#controlsContainer .muteButton[noAudio] {
/* Remove volume button at noAudio */
display: none !important;
}
}
/* Click to play UI */
-@supports -moz-bool-pref("userContent.player.click_to_play") {
+@media -moz-pref("userContent.player.click_to_play") {
#controlsContainer .clickToPlay {
cursor: pointer;
opacity: 0.65 !important;
@@ -232,7 +235,7 @@
}
}
/* Animation */
-@supports -moz-bool-pref("userContent.player.animate") {
+@media -moz-pref("userContent.player.animate") {
@media (prefers-reduced-motion: no-preference) {
/* Control Bar */
#controlsContainer .controlBar {
@@ -264,7 +267,7 @@
/** Activity Stream ***********************************************************/
@-moz-document url("about:home"), url("about:newtab") {
/** Activity Stream - Search Focus Border: like URL *************************/
- @supports -moz-bool-pref("userContent.page.field_border") {
+ @media -moz-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);"],
@@ -282,8 +285,8 @@
/* 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") {
+ @media -moz-pref("userContent.page.proton_color") {
+ @media -moz-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);"],
@@ -295,7 +298,7 @@
}
}
/** Activity Stream - Menu Icons ********************************************/
- @supports -moz-bool-pref("userChrome.icon.context_menu") {
+ @media -moz-pref("userChrome.icon.context_menu") {
.context-menu-list .context-menu-item button {
padding-inline-start: 0 !important;
}
@@ -321,7 +324,7 @@
--menuitem-image: url("../icons/unpin-tab.svg");
}
.context-menu-item span[data-l10n-id="newtab-menu-edit-topsites"] {
- --menuitem-image: url("chrome://global/skin/icons/edit.svg");
+ --menuitem-image: url("../icons/edit-active.svg");
}
.context-menu-item span[data-l10n-id="newtab-menu-bookmark"] {
--menuitem-image: url("chrome://browser/skin/bookmark.svg");
@@ -338,7 +341,7 @@
.context-menu-item span[data-l10n-id="newtab-menu-show-file"] {
--menuitem-image: url("chrome://global/skin/icons/folder.svg");
}
- @supports -moz-bool-pref("userChrome.icon.library") {
+ @media -moz-pref("userChrome.icon.library") {
.context-menu-item span[data-l10n-id="newtab-menu-show-file"] {
--menuitem-image: url("../icons/folder.svg");
}
@@ -357,8 +360,13 @@
}
}
/** Activity Stream - Web Site Icon: full size ******************************/
- @supports -moz-bool-pref("userContent.newTab.full_icon") {
+ @media -moz-pref("userContent.newTab.full_icon") {
+ .top-site-outer {
+ width: 120px !important; /* v135: calc(var(--size-item-large) * 3); */
+ }
.top-site-outer .tile {
+ width: 80px !important; /* v135: calc(var(--size-item-large) * 2); */
+ height: 80px !important; /* v135: calc(var(--size-item-large) * 2); */
overflow: hidden;
}
.top-site-outer .icon-wrapper {
@@ -371,13 +379,16 @@
}
.top-site-outer .context-menu-button {
top: 0px !important; /* Original: -20px */
+ right: 0px !important;
+ width: 22px !important;
+ height: 22px !important;
}
.top-site-outer .context-menu {
top: 16.75px !important; /* Original: 6.75px */
}
}
/** Activity Stream - Animate ***********************************************/
- @supports -moz-bool-pref("userContent.newTab.animate") {
+ @media -moz-pref("userContent.newTab.animate") {
@media (prefers-reduced-motion: no-preference) {
:root {
--animation-easing-function: cubic-bezier(0.07, 0.95, 0, 1);
@@ -407,7 +418,7 @@
.search-wrapper .search-inner-wrapper > .search-handoff-button:focus {
transition: border-color 0.5s var(--animation-easing-function), box-shadow 1s var(--animation-easing-function);
}
- @supports -moz-bool-pref("userContent.page.field_border") {
+ @media -moz-pref("userContent.page.field_border") {
.search-wrapper .search-inner-wrapper:hover > input,
.search-wrapper .search-inner-wrapper:hover > .search-handoff-button {
border-color: var(--newtab-primary-action-background) !important;
@@ -417,10 +428,11 @@
}
}
/** Activity Stream - Pocket order to last **********************************/
- @supports -moz-bool-pref("userContent.newTab.pocket_to_last") {
+ @media -moz-pref("userContent.newTab.pocket_to_last") {
.body-wrapper.on {
display: flex;
- flex-wrap: wrap;
+ flex-wrap: wrap !important;
+ flex-direction: row !important;
}
.body-wrapper.on > .discovery-stream.ds-layout {
flex-basis: 100%;
@@ -433,7 +445,7 @@
}
}
/** Activity Stream - Home Search Bar looks like proton *********************/
- @supports -moz-bool-pref("userContent.newTab.searchbar") {
+ @media -moz-pref("userContent.newTab.searchbar") {
/* Dropdown Colors */
#root {
--newtab-search-background-color: rgba(255, 255, 255, 1); /* Same as light theme's --panel-background */
@@ -511,7 +523,7 @@
}
}
/** Activity Stream - Hide Firefox's logo ***********************************/
- @supports -moz-bool-pref("userContent.newTab.hidden_logo") {
+ @media -moz-pref("userContent.newTab.hidden_logo") {
.logo-and-wordmark {
display: none !important;
}
@@ -520,7 +532,7 @@
}
}
/** Activity Stream - Custom background image *******************************/
- @supports -moz-bool-pref("userContent.newTab.background_image") {
+ @media -moz-pref("userContent.newTab.background_image") {
body::before {
content: "";
position: fixed;
@@ -541,7 +553,7 @@
}
}
/** Error Page - Restore illustrations ****************************************/
-@supports -moz-bool-pref("userContent.page.illustration") {
+@media -moz-pref("userContent.page.illustration") {
@-moz-document url-prefix("about:neterror"), url-prefix("about:restartrequired"), url("chrome://browser/content/aboutRestartRequired.xhtml"), url("about:sessionrestore"), url("chrome://browser/content/aboutSessionRestore.xhtml")
{
/* Illustrations Position */
@@ -648,7 +660,7 @@
}
/** Fully Dark Mode ***********************************************************/
/*= Fully Dark Mode - Dark Mode Colors =======================================*/
-@supports -moz-bool-pref("userContent.page.proton_color") {
+@media -moz-pref("userContent.page.proton_color") {
@-moz-document url-prefix("about:"), url-prefix("chrome://"), 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:///).*/$")
{
/*= Default Colors - Hard Coded ==============================================*/
@@ -835,7 +847,7 @@
--menu-icon-opacity: var(--dark-menu-icon-opacity);
}
}
- @supports -moz-bool-pref("userChrome.theme.non_native_menu") {
+ @media -moz-pref("userChrome.theme.non_native_menu") {
@media (-moz-gtk-csd-available) {
:root {
/* Override some menu color variables for light browser themes. */
@@ -869,7 +881,15 @@
}
}
}
- @supports -moz-bool-pref("userContent.page.proton_color.dark_blue_accent") {
+ @media -moz-pref("userContent.page.proton_color.dark_blue_accent") or -moz-pref("userContent.page.proton_color.system_accent") {
+ :root,
+ :host(.anonymous-content-host) {
+ --color-accent-primary: var(--in-content-primary-button-background) !important;
+ --color-accent-primary-hover: var(--in-content-primary-button-background-hover) !important;
+ --color-accent-primary-active: light-dark(var(--color-blue-70), var(--color-cyan-20));
+ }
+ }
+ @media -moz-pref("userContent.page.proton_color.dark_blue_accent") {
@media (prefers-color-scheme: dark) {
:host,
:root {
@@ -925,7 +945,7 @@
}
}
}
- @supports -moz-bool-pref("userContent.page.proton_color.system_accent") {
+ @media -moz-pref("userContent.page.proton_color.system_accent") {
:host,
:root {
--in-content-primary-button-text-color: AccentColorText !important;
@@ -933,7 +953,7 @@
--in-content-primary-button-background-hover: color-mix(in srgb, black 10%, AccentColor) !important;
--in-content-primary-button-background-active: color-mix(in srgb, black 20%, AccentColor) !important;
}
- @supports -moz-bool-pref("userChrome.compatibility.accent_color") {
+ @media -moz-pref("userChrome.compatibility.accent_color") {
:host,
:root {
--in-content-primary-button-text-color: HighlightText !important;
@@ -945,7 +965,7 @@
}
}
}
-@supports -moz-bool-pref("userContent.page.dark_mode") {
+@media -moz-pref("userContent.page.dark_mode") {
@media (prefers-color-scheme: dark) {
/*= Addons.org =============================================================*/
@-moz-document url-prefix("https://addons.mozilla.org")
@@ -1827,7 +1847,7 @@
box-shadow: 0 0 0 3px color-mix(in srgb, var(--in-content-primary-button-background-hover) 80%, transparent) !important;
}
}
- @supports -moz-bool-pref("userContent.page.dark_mode.pdf") {
+ @media -moz-pref("userContent.page.dark_mode.pdf") {
@-moz-document unobservable-document() {
@-moz-document regexp("^(?!.*\\.pdf\\?n).*") {
#outerContainer {
@@ -1847,7 +1867,7 @@
}
}
/** Fully Proton Mode *********************************************************/
-@supports -moz-bool-pref("userContent.page.proton") {
+@media -moz-pref("userContent.page.proton") {
/*= Common contents ==========================================================*/ /*= abouts' common ===========================================================*/
@-moz-document url-prefix("about:"), url-prefix("chrome://pippki/content/"), url-prefix("chrome://browser/content/")
{
@@ -1918,7 +1938,7 @@
/* Ensure font-size isn't overridden by widget styling (e.g. in forms.css) */
font-size: 1em !important;
}
- @supports -moz-bool-pref("userChrome.rounding.square_button") {
+ @media -moz-pref("userChrome.rounding.square_button") {
button,
select,
input[type="color"] {
@@ -1998,7 +2018,7 @@
margin-inline: 0 6px !important;
flex-shrink: 0 !important; /* avoid shrinking inside flex container */
}
- @supports -moz-bool-pref("userChrome.rounding.square_checklabel") {
+ @media -moz-pref("userChrome.rounding.square_checklabel") {
input[type="checkbox"] {
border-radius: 0 !important;
}
@@ -2092,7 +2112,7 @@
}
}
/*= Field Border =============================================================*/
- @supports -moz-bool-pref("userContent.page.field_border") {
+ @media -moz-pref("userContent.page.field_border") {
@media (prefers-reduced-motion: no-preference) {
@-moz-document url-prefix("about:") {
html|input:is(
@@ -2251,14 +2271,31 @@
background-color: var(--in-content-box-background-odd);
}
}
+ @-moz-document url-prefix("about:preferences") {
+ .privacy-extra-information > .custom-option:not(:first-child) {
+ margin-block: 2px !important; /* Original: 10px */
+ }
+ .extra-information-label:not(:first-child) {
+ margin-top: 4px !important; /* Original: 19px */
+ }
+ }
/*= about:processes ==========================================================*/
- @-moz-document url-prefix("about:processes") {
+ @-moz-document url-prefix("about:processes"), url-prefix("about:performance") {
td.type.favicon[style*='background-image: url("chrome://global/skin/icons/link.svg");']
{
background-image: url("../icons/link.svg") !important;
}
.profiler-icon {
- background: url("../icons/performance.svg") no-repeat center !important;
+ cursor: pointer;
+ background-image: url("../icons/performance.svg") !important;
+ background-repeat: no-repeat !important;
+ background-position: center !important;
+ color: inherit !important;
+ }
+ @media not -moz-pref("userChrome.rounding.square_button") {
+ .profiler-icon {
+ border-radius: 8px !important;
+ }
}
}
@-moz-document url-prefix("about:profiling") {
@@ -2266,11 +2303,30 @@
background-image: url("../icons/performance.svg") !important;
}
}
+ /*= about:processes ==========================================================*/
+ @-moz-document url-prefix("about:support") {
+ #reset-box-button {
+ --in-content-focus-outline-color: var(--in-content-danger-button-background) !important;
+ background-color: var(--in-content-danger-button-background) !important;
+ color: var(--in-content-primary-button-text-color) !important;
+ border-color: var(--in-content-primary-button-border-color) !important;
+ }
+ #reset-box-button:enabled:hover {
+ background-color: var(--in-content-danger-button-background-hover) !important;
+ color: var(--in-content-primary-button-text-color-hover) !important;
+ border-color: var(--in-content-primary-button-border-hover) !important;
+ }
+ #reset-box-button:enabled:hover:active {
+ background-color: var(--in-content-danger-button-background-active) !important;
+ color: var(--in-content-primary-button-text-color-active) !important;
+ border-color: var(--in-content-primary-button-border-active) !important;
+ }
+ }
/*= chrome://browser/content/places/places.xhtml =============================*/
@-moz-document url("chrome://browser/content/places/places.xhtml")
{
/** Library - Icons Replace *************************************************/
- @supports -moz-bool-pref("userChrome.icon.library") {
+ @media -moz-pref("userChrome.icon.library") {
/*= Standard Folder - More Visible ===========================================*/
/* on Toolbar and Menus */
:-moz-any(#PlacesToolbar, #BMB_bookmarksPopup, #bookmarksMenu)
@@ -2449,7 +2505,7 @@
background-position: right center;
}
/*= Proton ===============================================================*/
- @supports -moz-bool-pref("userContent.page.proton") {
+ @media -moz-pref("userContent.page.proton") {
:root {
--organizer-color: -moz-DialogText;
--organizer-deemphasized-color: GrayText;
@@ -2524,7 +2580,7 @@
padding: 5px !important;
border-radius: 4px !important;
}
- @supports -moz-bool-pref("userChrome.rounding.square_button") {
+ @media -moz-pref("userChrome.rounding.square_button") {
#placesToolbar > toolbarbutton {
border-radius: 0 !important;
}
@@ -2541,7 +2597,7 @@
}
#placesToolbar > toolbarbutton > .toolbarbutton-icon,
#placesMenu > menu > image,
- #placesMenu > menu > .menubar-text {
+ #placesMenu > menu > :is(.menubar-text, .menu-text) {
-moz-context-properties: fill !important;
fill: currentColor !important;
}
@@ -2556,7 +2612,7 @@
border-radius: 4px !important;
margin-inline-end: 2px !important;
}
- @supports -moz-bool-pref("userChrome.rounding.square_button") {
+ @media -moz-pref("userChrome.rounding.square_button") {
#placesMenu > menu {
border-radius: 0 !important;
}
@@ -2571,7 +2627,7 @@
background-color: var(--organizer-selected-background) !important;
color: var(--organizer-selected-color) !important;
}
- #placesMenu > menu > .menubar-text {
+ #placesMenu > menu > :is(.menubar-text, .menu-text) {
margin-block: 0 !important; /* override menu.css */
padding-inline-end: 4px !important;
}
@@ -2587,7 +2643,7 @@
padding-block: 2px !important;
min-height: 24px !important;
}
- @supports -moz-bool-pref("userChrome.rounding.square_field") {
+ @media -moz-pref("userChrome.rounding.square_field") {
#searchFilter,
#detailsPane html|input {
border-radius: 0 !important;
@@ -2734,7 +2790,7 @@
-moz-context-properties: fill !important;
fill: currentColor !important;
}
- @supports -moz-bool-pref("userChrome.rounding.square_button") {
+ @media -moz-pref("userChrome.rounding.square_button") {
#editBookmarkPanelRows .expander-up,
#editBookmarkPanelRows .expander-down {
border-radius: 0 !important;
@@ -2773,7 +2829,7 @@
min-height: 20px !important;
padding-inline: 4px !important;
}
- @supports -moz-bool-pref("userChrome.rounding.square_field") {
+ @media -moz-pref("userChrome.rounding.square_field") {
#places input {
border-radius: 0 !important;
}
@@ -2796,7 +2852,7 @@
border: 1px solid var(--organizer-border-color) !important;
border-radius: 4px !important;
}
- @supports -moz-bool-pref("userChrome.rounding.square_field") {
+ @media -moz-pref("userChrome.rounding.square_field") {
#editBMPanel_tagsSelectorRow > richlistbox {
border-radius: 0 !important;
}
@@ -2835,7 +2891,7 @@
fill: currentColor !important;
color: var(--in-content-primary-button-text-color) !important;
background-color: var(--in-content-primary-button-background) !important;
- background-image: url("chrome://global/skin/icons/radio.svg") !important;
+ background-image: url("../icons/radio.svg") !important;
border-color: transparent !important;
/* Style the button also when printing with "Print Backgrounds" unchecked */
color-adjust: exact !important;
@@ -2897,7 +2953,7 @@
color: var(--checkbox-checked-color, AccentColorText) !important;
background-color: var(--checkbox-checked-bgcolor, AccentColor) !important;
}
- @supports -moz-bool-pref("userChrome.compatibility.accent_color") {
+ @media -moz-pref("userChrome.compatibility.accent_color") {
menuitem[type="checkbox"] > .menu-iconic-left[checked="true"] > .menu-iconic-icon {
color: var(--checkbox-checked-color, -moz-accent-color-foreground) !important;
background-color: var(--checkbox-checked-bgcolor, -moz-accent-color) !important;
@@ -2909,7 +2965,7 @@
color-mix(in srgb, AccentColor 4%, Field)
) !important;
}
- @supports -moz-bool-pref("userChrome.compatibility.accent_color") {
+ @media -moz-pref("userChrome.compatibility.accent_color") {
menuitem[type="checkbox"]:not([disabled="true"]):hover > .menu-iconic-left > .menu-iconic-icon {
background-color: var(
--checkbox-unchecked-hover-bgcolor,
@@ -2923,7 +2979,7 @@
color-mix(in srgb, AccentColor 8%, Field)
) !important;
}
- @supports -moz-bool-pref("userChrome.compatibility.accent_color") {
+ @media -moz-pref("userChrome.compatibility.accent_color") {
menuitem[type="checkbox"]:not([disabled="true"]):hover:active > .menu-iconic-left > .menu-iconic-icon {
background-color: var(
--checkbox-unchecked-active-bgcolor,
@@ -2937,7 +2993,7 @@
color-mix(in srgb, currentColor 12.5%, AccentColor)
) !important;
}
- @supports -moz-bool-pref("userChrome.compatibility.accent_color") {
+ @media -moz-pref("userChrome.compatibility.accent_color") {
menuitem[type="checkbox"]:not([disabled="true"]):hover
> .menu-iconic-left[checked="true"]
> .menu-iconic-icon {
@@ -2955,7 +3011,7 @@
color-mix(in srgb, currentColor 25%, AccentColor)
) !important;
}
- @supports -moz-bool-pref("userChrome.compatibility.accent_color") {
+ @media -moz-pref("userChrome.compatibility.accent_color") {
menuitem[type="checkbox"]:not([disabled="true"]):hover:active
> .menu-iconic-left[checked="true"]
> .menu-iconic-icon {
@@ -2969,7 +3025,7 @@
outline: 2px solid var(--focus-outline-color, AccentColor) !important;
outline-offset: var(--focus-outline-offset, 2px) !important;
}
- @supports -moz-bool-pref("userChrome.compatibility.accent_color") {
+ @media -moz-pref("userChrome.compatibility.accent_color") {
menuitem[type="checkbox"]:focus > .menu-iconic-left > .menu-iconic-icon {
outline: 2px solid var(--focus-outline-color, -moz-accent-color) !important;
}
@@ -2979,7 +3035,7 @@
/* color will set the border-color on the check due to how HCM works for in-content pages. */
color: var(--checkbox-checked-border-color, color-mix(in srgb, AccentColor 4%, Field)) !important;
}
- @supports -moz-bool-pref("userChrome.compatibility.accent_color") {
+ @media -moz-pref("userChrome.compatibility.accent_color") {
menuitem[type="checkbox"]:not([disabled="true"]) > .menu-iconic-left > .menu-iconic-icon {
/* color will set the border-color on the check due to how HCM works for in-content pages. */
color: var(--checkbox-checked-border-color, color-mix(in srgb, -moz-accent-color 4%, Field)) !important;
@@ -2989,7 +3045,7 @@
color: var(--checkbox-checked-border-color, currentColor) !important;
fill: var(--checkbox-checked-color, AccentColorText) !important;
}
- @supports -moz-bool-pref("userChrome.compatibility.accent_color") {
+ @media -moz-pref("userChrome.compatibility.accent_color") {
menuitem[type="checkbox"] > .menu-iconic-left[checked="true"] {
fill: var(--checkbox-checked-color, -moz-accent-color-foreground) !important;
}
@@ -3003,7 +3059,7 @@
color: var(--checkbox-checked-border-color-hover, AccentColorText) !important;
fill: var(--checkbox-checked-border-color-hover, AccentColorText) !important;
}
- @supports -moz-bool-pref("userChrome.compatibility.accent_color") {
+ @media -moz-pref("userChrome.compatibility.accent_color") {
menuitem[type="checkbox"]:not([disabled="true"]):hover:active
> .menu-iconic-left[checked="true"]
> .menu-iconic-icon,
@@ -3036,7 +3092,7 @@
}
}
/** Rounding ******************************************************************/
-@supports -moz-bool-pref("userChrome.rounding.square_button") {
+@media -moz-pref("userChrome.rounding.square_button") {
.all-buttons-container,
.highlight-buttons > button,
.cancel-shot,
@@ -3086,14 +3142,14 @@
}
}
}
-@supports -moz-bool-pref("userChrome.rounding.square_dialog") {
+@media -moz-pref("userChrome.rounding.square_dialog") {
@-moz-document url("about:home"), url("about:newtab") {
.modal {
border-radius: 0 !important;
}
}
}
-@supports -moz-bool-pref("userChrome.rounding.square_checklabel") {
+@media -moz-pref("userChrome.rounding.square_checklabel") {
@-moz-document url-prefix("about:"), regexp("^chrome://\\w+/content/.*.xhtml$")
{
input[type="checkbox"]:not(.toggle-button),
@@ -3102,7 +3158,7 @@
}
}
}
-@supports -moz-bool-pref("userChrome.rounding.square_field") {
+@media -moz-pref("userChrome.rounding.square_field") {
@-moz-document url-prefix("about:"), regexp("^chrome://\\w+/content/.*.xhtml$")
{
input:is(
@@ -3146,7 +3202,7 @@
}
}
}
-@supports -moz-bool-pref("userChrome.rounding.square_menupopup") {
+@media -moz-pref("userChrome.rounding.square_menupopup") {
@-moz-document url-prefix("about:"), url-prefix("chrome://")
{
panel,
@@ -3176,7 +3232,7 @@
}
}
}
-@supports -moz-bool-pref("userChrome.rounding.square_infobox") {
+@media -moz-pref("userChrome.rounding.square_infobox") {
@-moz-document url-prefix("about:"), regexp("^chrome://\\w+/content/.*.xhtml$")
{
/*
@@ -3208,7 +3264,7 @@
}
}
@-moz-document url-prefix("about:"), regexp(".*.pdf$") {
- @supports -moz-bool-pref("userChrome.rounding.square_dialog") {
+ @media -moz-pref("userChrome.rounding.square_dialog") {
dialog,
.dialogBox {
border-radius: 0 !important;
@@ -3218,7 +3274,7 @@
@-moz-document url("chrome://browser/content/places/places.xhtml")
{
/*= Library ==============================================================*/
- @supports -moz-bool-pref("userChrome.rounding.square_button") {
+ @media -moz-pref("userChrome.rounding.square_button") {
#placesToolbar > toolbarbutton,
#placesMenu > menu,
#editBookmarkPanelRows .expander-up,
@@ -3226,7 +3282,7 @@
border-radius: 0 !important;
}
}
- @supports -moz-bool-pref("userChrome.rounding.square_field") {
+ @media -moz-pref("userChrome.rounding.square_field") {
#searchFilter,
#detailsPane html|input,
#places input #editBMPanel_tagsSelectorRow > richlistbox {
@@ -3235,7 +3291,7 @@
}
}
/** Monospace *****************************************************************/
-@supports -moz-bool-pref("userContent.page.monospace") {
+@media -moz-pref("userContent.page.monospace") {
@-moz-document url-prefix("about:"), url-prefix("chrome://"), regexp("^((jar:)?file:///).*/$")
{
* {
@@ -3244,14 +3300,17 @@
}
}
/** Menu - Icons Layout *******************************************************/
-@supports not -moz-bool-pref("userChrome.icon.disabled") {
- @supports -moz-bool-pref("userChrome.icon.menu") {
- :root {
- --uc-folder-icon: url("chrome://global/skin/icons/folder.svg");
- }
- @supports -moz-bool-pref("userChrome.icon.library") {
+@media not -moz-pref("userChrome.icon.disabled") {
+ @media -moz-pref("userChrome.icon.menu") {
+ @-moz-document url-prefix("about:"), url-prefix("chrome://"), regexp("^((jar:)?file:///).*/$")
+ {
:root {
- --uc-folder-icon: url("../icons/folder.svg");
+ --uc-folder-icon: url("chrome://global/skin/icons/folder.svg");
+ }
+ @media -moz-pref("userChrome.icon.library") {
+ :root {
+ --uc-folder-icon: url("../icons/folder.svg");
+ }
}
}
@-moz-document url("chrome://browser/content/places/places.xhtml"), url("about:downloads")
@@ -3259,7 +3318,9 @@
menupopup menuitem:not([type="checkbox"][checked="true"], [type="radio"]),
menupopup menu:not([type="checkbox"][checked="true"], [type="radio"]),
menupopup menuitem:not([type="checkbox"][checked="true"], [type="radio"]) > .menu-iconic-left > .menu-iconic-icon,
- menupopup menu:not([type="checkbox"][checked="true"], [type="radio"]) > .menu-iconic-left > .menu-iconic-icon {
+ menupopup menuitem:not([type="checkbox"][checked="true"], [type="radio"]) > .menu-icon,
+ menupopup menu:not([type="checkbox"][checked="true"], [type="radio"]) > .menu-iconic-left > .menu-iconic-icon,
+ menupopup menu:not([type="checkbox"][checked="true"], [type="radio"]) > .menu-icon {
-moz-appearance: none !important; /* Linux: menulist */
}
menupopup:is(#placesContext, #placesColumnsContext, #downloadsContextMenu)
@@ -3279,7 +3340,7 @@
background-image: var(--menuitem-image);
}
/* For native context menus */
- @supports -moz-bool-pref("widget.macos.native-context-menus") or -moz-bool-pref("widget.gtk.native-context-menus") {
+ @media -moz-pref("widget.macos.native-context-menus") or -moz-pref("widget.gtk.native-context-menus") {
:not(menu, #ContentSelectDropdown)
> menupopup:not(.in-menulist)
> menuitem:not(.menuitem-iconic, .bookmark-item, .in-menulist, [checked="true"]),
@@ -3332,7 +3393,7 @@
}
}
@media (-moz-platform: windows), (-moz-gtk-csd-available) {
- @supports -moz-bool-pref("userChrome.theme.non_native_menu") {
+ @media -moz-pref("userChrome.theme.non_native_menu") {
@media (-moz-platform: windows) and (-moz-gtk-csd-available),
(-moz-gtk-csd-available) and (-moz-gtk-csd-available) {
:root {
@@ -3375,6 +3436,12 @@
--context-menu-background-padding-default: 6px;
--context-menu-text-padding: 21px;
}
+ .menu-icon {
+ display: unset !important;
+ }
+ #main-menubar > menu > .menu-icon {
+ display: none !important;
+ }
/* Contextmenu Checkbox Unset */
menupopup:is(#placesContext, #placesColumnsContext, #downloadsContextMenu) menuitem[type="checkbox"] {
margin-inline: 0 !important;
@@ -3382,19 +3449,25 @@
menupopup:is(#placesContext, #placesColumnsContext, #downloadsContextMenu)
menuitem[type="checkbox"]
> .menu-iconic-left
- > .menu-iconic-icon {
+ > .menu-iconic-icon,
+ menupopup:is(#placesContext, #placesColumnsContext, #downloadsContextMenu)
+ menuitem[type="checkbox"]
+ > .menu-icon {
margin-inline-end: 0 !important;
}
menupopup:is(#placesContext, #placesColumnsContext, #downloadsContextMenu)
menuitem[type="checkbox"]:not([checked="true"])
> .menu-iconic-left
- > .menu-iconic-icon {
+ > .menu-iconic-icon,
+ menupopup:is(#placesContext, #placesColumnsContext, #downloadsContextMenu)
+ menuitem[type="checkbox"]:not([checked="true"])
+ > .menu-icon {
border: none !important;
background-color: unset !important;
}
}
/* Padding - Mac */
- @supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled") {
+ @media -moz-pref("layout.css.osx-font-smoothing.enabled") {
:root {
--context-menu-background-padding-default: 10px;
--context-menu-mac-padding: 21px;
@@ -3424,7 +3497,7 @@
}
}
/*= Context Menu ===========================================================*/
- @supports -moz-bool-pref("userChrome.icon.context_menu") {
+ @media -moz-pref("userChrome.icon.context_menu") {
/* Icon lists */
/*= downloadsContextMenu =====================================================*/
.downloadPauseMenuItem {
@@ -3493,7 +3566,7 @@
#placesContext_show_bookmark\:info,
#placesContext_show\:info,
#placesContext_show_folder\:info {
- --menuitem-image: url("chrome://global/skin/icons/edit.svg");
+ --menuitem-image: url("../icons/edit-active.svg");
}
#placesContext_deleteBookmark,
#placesContext_deleteFolder,
@@ -3543,7 +3616,7 @@
--menuitem-image: url("../icons/movetowindow-16.svg");
}
}
- @supports -moz-bool-pref("userChrome.icon.global_menu") {
+ @media -moz-pref("userChrome.icon.global_menu") {
/*= organizeButtonPopup ======================================================*/
#newbookmark {
--menuitem-image: url("chrome://browser/skin/bookmark.svg");
@@ -3557,7 +3630,7 @@
#orgUndo {
--menuitem-image: url("../icons/undo.svg");
}
- @supports -moz-bool-pref("userChrome.icon.menu.full") {
+ @media -moz-pref("userChrome.icon.menu.full") {
#orgRedo {
--menuitem-image: url("../icons/redo.svg");
}
@@ -3591,7 +3664,7 @@
#backupBookmarks {
--menuitem-image: url("../icons/datastore.svg");
}
- @supports -moz-bool-pref("userChrome.icon.menu.full") {
+ @media -moz-pref("userChrome.icon.menu.full") {
#fileRestoreMenu {
--menuitem-image: url("../icons/datarestore.svg");
}
@@ -3608,8 +3681,8 @@
}
}
@-moz-document url-prefix("about:addons") {
- @supports -moz-bool-pref("userChrome.icon.context_menu") {
- button[role="menuitem"] {
+ @media -moz-pref("userChrome.icon.context_menu") {
+ button:is([role="menuitem"], [role="menuitemcheckbox"]) {
background-image: var(--icon, url("../icons/blank.svg")); /* Don't use !important. because of [checked] */
}
panel-item[action="check-for-updates"] {
@@ -3638,7 +3711,7 @@
}
}
@-moz-document url-prefix("about:logins") {
- @supports -moz-bool-pref("userChrome.icon.context_menu") {
+ @media -moz-pref("userChrome.icon.context_menu") {
.menuitem-export {
background-image: url("../icons/toolbarButton-download.svg") !important;
}
@@ -3649,7 +3722,7 @@
/** Download Panel ************************************************************/
@-moz-document url-prefix("about:downloads") {
@media (prefers-reduced-motion: no-preference) {
- @supports -moz-bool-pref("userChrome.decoration.download_panel") {
+ @media -moz-pref("userChrome.decoration.download_panel") {
/* Accent Color for downloaded item */
#downloadsListBox .download-state[exists] .downloadDetails {
color: var(--button-primary-bgcolor);
@@ -3670,8 +3743,7 @@
}
}
}
-}
-/*@ NIGHTLY @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/
+} /*@ DEPRECATED @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/
/** Compatibility *************************************************************/
@-moz-document url-prefix("about:preferences") {
.content-blocking-warning.info-box-container > hbox > .content-blocking-warning-image {
@@ -3714,6 +3786,9 @@
box-sizing: content-box;
padding: 0 !important;
}
+ button[data-l10n-id="addon-updates-manual-updates-found"] {
+ height: 100%;
+ }
#categories {
padding-inline-end: 1px !important; /* Original: 4px */
}
@@ -3993,7 +4068,7 @@
--menuitem-image: url("../icons/unpin-tab.svg");
}
.context-menu-item span[data-l10n-id="newtab-menu-edit-topsites"] {
- --menuitem-image: url("chrome://global/skin/icons/edit.svg");
+ --menuitem-image: url("../icons/edit-active.svg");
}
.context-menu-item span[data-l10n-id="newtab-menu-bookmark"] {
--menuitem-image: url("chrome://browser/skin/bookmark.svg");
@@ -4038,7 +4113,12 @@
}
/** Activity Stream - Web Site Icon: full size ******************************/
@media (-moz-bool-pref: "userContent.newTab.full_icon") {
+ .top-site-outer {
+ width: 120px !important; /* v135: calc(var(--size-item-large) * 3); */
+ }
.top-site-outer .tile {
+ width: 80px !important; /* v135: calc(var(--size-item-large) * 2); */
+ height: 80px !important; /* v135: calc(var(--size-item-large) * 2); */
overflow: hidden;
}
.top-site-outer .icon-wrapper {
@@ -4051,6 +4131,9 @@
}
.top-site-outer .context-menu-button {
top: 0px !important; /* Original: -20px */
+ right: 0px !important;
+ width: 22px !important;
+ height: 22px !important;
}
.top-site-outer .context-menu {
top: 16.75px !important; /* Original: 6.75px */
@@ -4093,12 +4176,12 @@
border-color: var(--newtab-primary-action-background) !important;
transition: border-color 0.5s var(--animation-easing-function);
}
- }
- /** Activity Stream - Pocket order to last **********************************/
+ } /** Activity Stream - Pocket order to last **********************************/
@media (-moz-bool-pref: "userContent.newTab.pocket_to_last") {
.body-wrapper.on {
display: flex;
- flex-wrap: wrap;
+ flex-wrap: wrap !important;
+ flex-direction: row !important;
}
.body-wrapper.on > .discovery-stream.ds-layout {
flex-basis: 100%;
@@ -4559,6 +4642,15 @@
--menu-icon-opacity: var(--dark-menu-icon-opacity);
}
}
+ @media (-moz-bool-pref: "userContent.page.proton_color") and (-moz-bool-pref: "userContent.page.proton_color.dark_blue_accent"),
+ (-moz-bool-pref: "userContent.page.proton_color") and (-moz-bool-pref: "userContent.page.proton_color.system_accent") {
+ :root,
+ :host(.anonymous-content-host) {
+ --color-accent-primary: var(--in-content-primary-button-background) !important;
+ --color-accent-primary-hover: var(--in-content-primary-button-background-hover) !important;
+ --color-accent-primary-active: light-dark(var(--color-blue-70), var(--color-cyan-20));
+ }
+ }
@media (-moz-bool-pref: "userContent.page.proton_color") and (-moz-bool-pref: "userContent.page.proton_color.dark_blue_accent") and (prefers-color-scheme: dark) {
:host,
:root {
@@ -5786,6 +5878,7 @@
/*= about:memory =============================================================*/
/*= about:preferences ========================================================*/
/*= about:processes ==========================================================*/
+ /*= about:processes ==========================================================*/
/*= chrome://browser/content/places/places.xhtml =============================*/
}
@media (-moz-bool-pref: "userContent.page.proton") and (-moz-bool-pref: "userContent.page.field_border") and (prefers-reduced-motion: no-preference) {
@@ -5950,13 +6043,32 @@
}
}
@media (-moz-bool-pref: "userContent.page.proton") {
- @-moz-document url-prefix("about:processes") {
+ @-moz-document url-prefix("about:preferences") {
+ .privacy-extra-information > .custom-option:not(:first-child) {
+ margin-block: 2px !important; /* Original: 10px */
+ }
+ .extra-information-label:not(:first-child) {
+ margin-top: 4px !important; /* Original: 19px */
+ }
+ }
+}
+@media (-moz-bool-pref: "userContent.page.proton") {
+ @-moz-document url-prefix("about:processes"), url-prefix("about:performance") {
td.type.favicon[style*='background-image: url("chrome://global/skin/icons/link.svg");']
{
background-image: url("../icons/link.svg") !important;
}
.profiler-icon {
- background: url("../icons/performance.svg") no-repeat center !important;
+ cursor: pointer;
+ background-image: url("../icons/performance.svg") !important;
+ background-repeat: no-repeat !important;
+ background-position: center !important;
+ color: inherit !important;
+ }
+ @media (-moz-bool-pref: "userContent.page.proton") and (not (-moz-bool-pref: "userChrome.rounding.square_button")) {
+ .profiler-icon {
+ border-radius: 8px !important;
+ }
}
}
}
@@ -5967,6 +6079,26 @@
}
}
}
+@media (-moz-bool-pref: "userContent.page.proton") {
+ @-moz-document url-prefix("about:support") {
+ #reset-box-button {
+ --in-content-focus-outline-color: var(--in-content-danger-button-background) !important;
+ background-color: var(--in-content-danger-button-background) !important;
+ color: var(--in-content-primary-button-text-color) !important;
+ border-color: var(--in-content-primary-button-border-color) !important;
+ }
+ #reset-box-button:enabled:hover {
+ background-color: var(--in-content-danger-button-background-hover) !important;
+ color: var(--in-content-primary-button-text-color-hover) !important;
+ border-color: var(--in-content-primary-button-border-hover) !important;
+ }
+ #reset-box-button:enabled:hover:active {
+ background-color: var(--in-content-danger-button-background-active) !important;
+ color: var(--in-content-primary-button-text-color-active) !important;
+ border-color: var(--in-content-primary-button-border-active) !important;
+ }
+ }
+}
@media (-moz-bool-pref: "userContent.page.proton") {
@-moz-document url("chrome://browser/content/places/places.xhtml")
{
@@ -6259,7 +6391,7 @@
@media (-moz-bool-pref: "userContent.page.proton") and (-moz-gtk-csd-available) and (-moz-bool-pref: "userContent.page.proton") {
#placesToolbar > toolbarbutton > .toolbarbutton-icon,
#placesMenu > menu > image,
- #placesMenu > menu > .menubar-text {
+ #placesMenu > menu > :is(.menubar-text, .menu-text) {
-moz-context-properties: fill !important;
fill: currentColor !important;
}
@@ -6297,7 +6429,7 @@
}
}
@media (-moz-bool-pref: "userContent.page.proton") and (-moz-gtk-csd-available) and (-moz-bool-pref: "userContent.page.proton") {
- #placesMenu > menu > .menubar-text {
+ #placesMenu > menu > :is(.menubar-text, .menu-text) {
margin-block: 0 !important; /* override menu.css */
padding-inline-end: 4px !important;
}
@@ -6611,7 +6743,7 @@
fill: currentColor !important;
color: var(--in-content-primary-button-text-color) !important;
background-color: var(--in-content-primary-button-background) !important;
- background-image: url("chrome://global/skin/icons/radio.svg") !important;
+ background-image: url("../icons/radio.svg") !important;
border-color: transparent !important;
/* Style the button also when printing with "Print Backgrounds" unchecked */
color-adjust: exact !important;
@@ -7031,22 +7163,25 @@
}
/** Menu - Icons Layout *******************************************************/
@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.menu") {
- :root {
- --uc-folder-icon: url("chrome://global/skin/icons/folder.svg");
+ @-moz-document url-prefix("about:"), url-prefix("chrome://"), regexp("^((jar:)?file:///).*/$")
+ {
+ :root {
+ --uc-folder-icon: url("chrome://global/skin/icons/folder.svg");
+ }
+ @media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.menu") and (-moz-bool-pref: "userChrome.icon.library") {
+ :root {
+ --uc-folder-icon: url("../icons/folder.svg");
+ }
+ }
}
-}
-@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.menu") and (-moz-bool-pref: "userChrome.icon.library") {
- :root {
- --uc-folder-icon: url("../icons/folder.svg");
- }
-}
-@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.menu") {
@-moz-document url("chrome://browser/content/places/places.xhtml"), url("about:downloads")
{
menupopup menuitem:not([type="checkbox"][checked="true"], [type="radio"]),
menupopup menu:not([type="checkbox"][checked="true"], [type="radio"]),
menupopup menuitem:not([type="checkbox"][checked="true"], [type="radio"]) > .menu-iconic-left > .menu-iconic-icon,
- menupopup menu:not([type="checkbox"][checked="true"], [type="radio"]) > .menu-iconic-left > .menu-iconic-icon {
+ menupopup menuitem:not([type="checkbox"][checked="true"], [type="radio"]) > .menu-icon,
+ menupopup menu:not([type="checkbox"][checked="true"], [type="radio"]) > .menu-iconic-left > .menu-iconic-icon,
+ menupopup menu:not([type="checkbox"][checked="true"], [type="radio"]) > .menu-icon {
-moz-appearance: none !important; /* Linux: menulist */
}
menupopup:is(#placesContext, #placesColumnsContext, #downloadsContextMenu)
@@ -7158,6 +7293,12 @@
--context-menu-background-padding-default: 6px;
--context-menu-text-padding: 21px;
}
+ .menu-icon {
+ display: unset !important;
+ }
+ #main-menubar > menu > .menu-icon {
+ display: none !important;
+ }
/* Contextmenu Checkbox Unset */
menupopup:is(#placesContext, #placesColumnsContext, #downloadsContextMenu) menuitem[type="checkbox"] {
margin-inline: 0 !important;
@@ -7165,13 +7306,19 @@
menupopup:is(#placesContext, #placesColumnsContext, #downloadsContextMenu)
menuitem[type="checkbox"]
> .menu-iconic-left
- > .menu-iconic-icon {
+ > .menu-iconic-icon,
+ menupopup:is(#placesContext, #placesColumnsContext, #downloadsContextMenu)
+ menuitem[type="checkbox"]
+ > .menu-icon {
margin-inline-end: 0 !important;
}
menupopup:is(#placesContext, #placesColumnsContext, #downloadsContextMenu)
menuitem[type="checkbox"]:not([checked="true"])
> .menu-iconic-left
- > .menu-iconic-icon {
+ > .menu-iconic-icon,
+ menupopup:is(#placesContext, #placesColumnsContext, #downloadsContextMenu)
+ menuitem[type="checkbox"]:not([checked="true"])
+ > .menu-icon {
border: none !important;
background-color: unset !important;
}
@@ -7274,7 +7421,7 @@
#placesContext_show_bookmark\:info,
#placesContext_show\:info,
#placesContext_show_folder\:info {
- --menuitem-image: url("chrome://global/skin/icons/edit.svg");
+ --menuitem-image: url("../icons/edit-active.svg");
}
#placesContext_deleteBookmark,
#placesContext_deleteFolder,
@@ -7412,11 +7559,9 @@
}
}
}
-}
-@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.menu") {
@-moz-document url-prefix("about:addons") {
@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.menu") and (-moz-bool-pref: "userChrome.icon.context_menu") {
- button[role="menuitem"] {
+ button:is([role="menuitem"], [role="menuitemcheckbox"]) {
background-image: var(--icon, url("../icons/blank.svg")); /* Don't use !important. because of [checked] */
}
panel-item[action="check-for-updates"] {
@@ -7444,8 +7589,6 @@
}
}
}
-}
-@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.menu") {
@-moz-document url-prefix("about:logins") {
@media (not (-moz-bool-pref: "userChrome.icon.disabled")) and (-moz-bool-pref: "userChrome.icon.menu") and (-moz-bool-pref: "userChrome.icon.context_menu") {
.menuitem-export {
diff --git a/css/leptonContentESR.css b/css/leptonContentESR.css
index 40ab7f0..fd77d24 100644
--- a/css/leptonContentESR.css
+++ b/css/leptonContentESR.css
@@ -42,6 +42,9 @@
box-sizing: content-box;
padding: 0 !important;
}
+ button[data-l10n-id="addon-updates-manual-updates-found"] {
+ height: 100%;
+ }
#categories {
padding-inline-end: 1px !important; /* Original: 4px */
}
@@ -321,7 +324,7 @@
--menuitem-image: url("../icons/unpin-tab.svg");
}
.context-menu-item span[data-l10n-id="newtab-menu-edit-topsites"] {
- --menuitem-image: url("chrome://global/skin/icons/edit.svg");
+ --menuitem-image: url("../icons/edit-active.svg");
}
.context-menu-item span[data-l10n-id="newtab-menu-bookmark"] {
--menuitem-image: url("chrome://browser/skin/bookmark.svg");
@@ -358,7 +361,12 @@
}
/** Activity Stream - Web Site Icon: full size ******************************/
@supports -moz-bool-pref("userContent.newTab.full_icon") {
+ .top-site-outer {
+ width: 120px !important; /* v135: calc(var(--size-item-large) * 3); */
+ }
.top-site-outer .tile {
+ width: 80px !important; /* v135: calc(var(--size-item-large) * 2); */
+ height: 80px !important; /* v135: calc(var(--size-item-large) * 2); */
overflow: hidden;
}
.top-site-outer .icon-wrapper {
@@ -371,6 +379,9 @@
}
.top-site-outer .context-menu-button {
top: 0px !important; /* Original: -20px */
+ right: 0px !important;
+ width: 22px !important;
+ height: 22px !important;
}
.top-site-outer .context-menu {
top: 16.75px !important; /* Original: 6.75px */
@@ -420,7 +431,8 @@
@supports -moz-bool-pref("userContent.newTab.pocket_to_last") {
.body-wrapper.on {
display: flex;
- flex-wrap: wrap;
+ flex-wrap: wrap !important;
+ flex-direction: row !important;
}
.body-wrapper.on > .discovery-stream.ds-layout {
flex-basis: 100%;
@@ -871,6 +883,14 @@
}
}
}
+ @supports -moz-bool-pref("userContent.page.proton_color.dark_blue_accent") or -moz-bool-pref("userContent.page.proton_color.system_accent") {
+ :root,
+ :host(.anonymous-content-host) {
+ --color-accent-primary: var(--in-content-primary-button-background) !important;
+ --color-accent-primary-hover: var(--in-content-primary-button-background-hover) !important;
+ --color-accent-primary-active: light-dark(var(--color-blue-70), var(--color-cyan-20));
+ }
+ }
@supports -moz-bool-pref("userContent.page.proton_color.dark_blue_accent") {
@media (-moz-toolbar-prefers-color-scheme: dark), (prefers-color-scheme: dark) {
:host,
@@ -2254,14 +2274,31 @@
background-color: var(--in-content-box-background-odd);
}
}
+ @-moz-document url-prefix("about:preferences") {
+ .privacy-extra-information > .custom-option:not(:first-child) {
+ margin-block: 2px !important; /* Original: 10px */
+ }
+ .extra-information-label:not(:first-child) {
+ margin-top: 4px !important; /* Original: 19px */
+ }
+ }
/*= about:processes ==========================================================*/
- @-moz-document url-prefix("about:processes") {
+ @-moz-document url-prefix("about:processes"), url-prefix("about:performance") {
td.type.favicon[style*='background-image: url("chrome://global/skin/icons/link.svg");']
{
background-image: url("../icons/link.svg") !important;
}
.profiler-icon {
- background: url("../icons/performance.svg") no-repeat center !important;
+ cursor: pointer;
+ background-image: url("../icons/performance.svg") !important;
+ background-repeat: no-repeat !important;
+ background-position: center !important;
+ color: inherit !important;
+ }
+ @supports not -moz-bool-pref("userChrome.rounding.square_button") {
+ .profiler-icon {
+ border-radius: 8px !important;
+ }
}
}
@-moz-document url-prefix("about:profiling") {
@@ -2269,6 +2306,25 @@
background-image: url("../icons/performance.svg") !important;
}
}
+ /*= about:processes ==========================================================*/
+ @-moz-document url-prefix("about:support") {
+ #reset-box-button {
+ --in-content-focus-outline-color: var(--in-content-danger-button-background) !important;
+ background-color: var(--in-content-danger-button-background) !important;
+ color: var(--in-content-primary-button-text-color) !important;
+ border-color: var(--in-content-primary-button-border-color) !important;
+ }
+ #reset-box-button:enabled:hover {
+ background-color: var(--in-content-danger-button-background-hover) !important;
+ color: var(--in-content-primary-button-text-color-hover) !important;
+ border-color: var(--in-content-primary-button-border-hover) !important;
+ }
+ #reset-box-button:enabled:hover:active {
+ background-color: var(--in-content-danger-button-background-active) !important;
+ color: var(--in-content-primary-button-text-color-active) !important;
+ border-color: var(--in-content-primary-button-border-active) !important;
+ }
+ }
/*= chrome://browser/content/places/places.xhtml =============================*/
@-moz-document url("chrome://browser/content/places/places.xhtml")
{
@@ -2544,7 +2600,7 @@
}
#placesToolbar > toolbarbutton > .toolbarbutton-icon,
#placesMenu > menu > image,
- #placesMenu > menu > .menubar-text {
+ #placesMenu > menu > :is(.menubar-text, .menu-text) {
-moz-context-properties: fill !important;
fill: currentColor !important;
}
@@ -2574,7 +2630,7 @@
background-color: var(--organizer-selected-background) !important;
color: var(--organizer-selected-color) !important;
}
- #placesMenu > menu > .menubar-text {
+ #placesMenu > menu > :is(.menubar-text, .menu-text) {
margin-block: 0 !important; /* override menu.css */
padding-inline-end: 4px !important;
}
@@ -2838,7 +2894,7 @@
fill: currentColor !important;
color: var(--in-content-primary-button-text-color) !important;
background-color: var(--in-content-primary-button-background) !important;
- background-image: url("chrome://global/skin/icons/radio.svg") !important;
+ background-image: url("../icons/radio.svg") !important;
border-color: transparent !important;
/* Style the button also when printing with "Print Backgrounds" unchecked */
color-adjust: exact !important;
@@ -3249,12 +3305,15 @@
/** Menu - Icons Layout *******************************************************/
@supports not -moz-bool-pref("userChrome.icon.disabled") {
@supports -moz-bool-pref("userChrome.icon.menu") {
- :root {
- --uc-folder-icon: url("chrome://global/skin/icons/folder.svg");
- }
- @supports -moz-bool-pref("userChrome.icon.library") {
+ @-moz-document url-prefix("about:"), url-prefix("chrome://"), regexp("^((jar:)?file:///).*/$")
+ {
:root {
- --uc-folder-icon: url("../icons/folder.svg");
+ --uc-folder-icon: url("chrome://global/skin/icons/folder.svg");
+ }
+ @supports -moz-bool-pref("userChrome.icon.library") {
+ :root {
+ --uc-folder-icon: url("../icons/folder.svg");
+ }
}
}
@-moz-document url("chrome://browser/content/places/places.xhtml"), url("about:downloads")
@@ -3262,7 +3321,9 @@
menupopup menuitem:not([type="checkbox"][checked="true"], [type="radio"]),
menupopup menu:not([type="checkbox"][checked="true"], [type="radio"]),
menupopup menuitem:not([type="checkbox"][checked="true"], [type="radio"]) > .menu-iconic-left > .menu-iconic-icon,
- menupopup menu:not([type="checkbox"][checked="true"], [type="radio"]) > .menu-iconic-left > .menu-iconic-icon {
+ menupopup menuitem:not([type="checkbox"][checked="true"], [type="radio"]) > .menu-icon,
+ menupopup menu:not([type="checkbox"][checked="true"], [type="radio"]) > .menu-iconic-left > .menu-iconic-icon,
+ menupopup menu:not([type="checkbox"][checked="true"], [type="radio"]) > .menu-icon {
-moz-appearance: none !important; /* Linux: menulist */
}
menupopup:is(#placesContext, #placesColumnsContext, #downloadsContextMenu)
@@ -3514,6 +3575,12 @@
--context-menu-background-padding-default: 6px;
--context-menu-text-padding: 21px;
}
+ .menu-icon {
+ display: unset !important;
+ }
+ #main-menubar > menu > .menu-icon {
+ display: none !important;
+ }
/* Contextmenu Checkbox Unset */
menupopup:is(#placesContext, #placesColumnsContext, #downloadsContextMenu) menuitem[type="checkbox"] {
margin-inline: 0 !important;
@@ -3521,13 +3588,19 @@
menupopup:is(#placesContext, #placesColumnsContext, #downloadsContextMenu)
menuitem[type="checkbox"]
> .menu-iconic-left
- > .menu-iconic-icon {
+ > .menu-iconic-icon,
+ menupopup:is(#placesContext, #placesColumnsContext, #downloadsContextMenu)
+ menuitem[type="checkbox"]
+ > .menu-icon {
margin-inline-end: 0 !important;
}
menupopup:is(#placesContext, #placesColumnsContext, #downloadsContextMenu)
menuitem[type="checkbox"]:not([checked="true"])
> .menu-iconic-left
- > .menu-iconic-icon {
+ > .menu-iconic-icon,
+ menupopup:is(#placesContext, #placesColumnsContext, #downloadsContextMenu)
+ menuitem[type="checkbox"]:not([checked="true"])
+ > .menu-icon {
border: none !important;
background-color: unset !important;
}
@@ -3632,7 +3705,7 @@
#placesContext_show_bookmark\:info,
#placesContext_show\:info,
#placesContext_show_folder\:info {
- --menuitem-image: url("chrome://global/skin/icons/edit.svg");
+ --menuitem-image: url("../icons/edit-active.svg");
}
#placesContext_deleteBookmark,
#placesContext_deleteFolder,
@@ -3748,7 +3821,7 @@
}
@-moz-document url-prefix("about:addons") {
@supports -moz-bool-pref("userChrome.icon.context_menu") {
- button[role="menuitem"] {
+ button:is([role="menuitem"], [role="menuitemcheckbox"]) {
background-image: var(--icon, url("../icons/blank.svg")); /* Don't use !important. because of [checked] */
}
panel-item[action="check-for-updates"] {
diff --git a/icons/align-distribute-top.svg b/icons/align-distribute-top.svg
new file mode 100644
index 0000000..7347d7d
--- /dev/null
+++ b/icons/align-distribute-top.svg
@@ -0,0 +1,3 @@
+
diff --git a/icons/align-space-evenly-vertical.svg b/icons/align-space-evenly-vertical.svg
new file mode 100644
index 0000000..9a3318a
--- /dev/null
+++ b/icons/align-space-evenly-vertical.svg
@@ -0,0 +1,3 @@
+
diff --git a/icons/apps-list-detail.svg b/icons/apps-list-detail.svg
new file mode 100644
index 0000000..39a1bea
--- /dev/null
+++ b/icons/apps-list-detail.svg
@@ -0,0 +1,3 @@
+
diff --git a/icons/arrow-between-up.svg b/icons/arrow-between-up.svg
new file mode 100644
index 0000000..24a77e9
--- /dev/null
+++ b/icons/arrow-between-up.svg
@@ -0,0 +1,3 @@
+
diff --git a/icons/arrow-up-exclamation.svg b/icons/arrow-up-exclamation.svg
new file mode 100644
index 0000000..e5c57bf
--- /dev/null
+++ b/icons/arrow-up-exclamation.svg
@@ -0,0 +1,3 @@
+
diff --git a/icons/chat-sparkle.svg b/icons/chat-sparkle.svg
new file mode 100644
index 0000000..94ab3ef
--- /dev/null
+++ b/icons/chat-sparkle.svg
@@ -0,0 +1,3 @@
+
diff --git a/icons/code-text.svg b/icons/code-text.svg
new file mode 100644
index 0000000..f55df35
--- /dev/null
+++ b/icons/code-text.svg
@@ -0,0 +1,3 @@
+
diff --git a/icons/edit-active.svg b/icons/edit-active.svg
new file mode 100644
index 0000000..2a43922
--- /dev/null
+++ b/icons/edit-active.svg
@@ -0,0 +1,3 @@
+
diff --git a/icons/import.svg b/icons/import.svg
new file mode 100644
index 0000000..1746970
--- /dev/null
+++ b/icons/import.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/organization-horizontal.svg b/icons/organization-horizontal.svg
new file mode 100644
index 0000000..73a2630
--- /dev/null
+++ b/icons/organization-horizontal.svg
@@ -0,0 +1,3 @@
+
diff --git a/icons/play-fill.svg b/icons/play-fill.svg
new file mode 100644
index 0000000..59192b0
--- /dev/null
+++ b/icons/play-fill.svg
@@ -0,0 +1,3 @@
+
diff --git a/icons/profiler-stopwatch.svg b/icons/profiler-stopwatch.svg
new file mode 100644
index 0000000..70de076
--- /dev/null
+++ b/icons/profiler-stopwatch.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/radio.svg b/icons/radio.svg
new file mode 100644
index 0000000..21ec9fd
--- /dev/null
+++ b/icons/radio.svg
@@ -0,0 +1,6 @@
+
+
diff --git a/icons/refresh-cw.svg b/icons/refresh-cw.svg
index 8d41f1c..15497e5 100644
--- a/icons/refresh-cw.svg
+++ b/icons/refresh-cw.svg
@@ -1,9 +1 @@
-
+
diff --git a/icons/tab-audio-blocked-circle-12.svg b/icons/tab-audio-blocked-circle-12.svg
new file mode 100644
index 0000000..572ebf2
--- /dev/null
+++ b/icons/tab-audio-blocked-circle-12.svg
@@ -0,0 +1,14 @@
+
+
diff --git a/icons/tab-audio-muted-small.svg b/icons/tab-audio-muted-small.svg
new file mode 100644
index 0000000..b36c244
--- /dev/null
+++ b/icons/tab-audio-muted-small.svg
@@ -0,0 +1,6 @@
+
+
\ No newline at end of file
diff --git a/icons/tab-audio-playing-small.svg b/icons/tab-audio-playing-small.svg
new file mode 100644
index 0000000..7f95de3
--- /dev/null
+++ b/icons/tab-audio-playing-small.svg
@@ -0,0 +1,6 @@
+
+
diff --git a/icons/tetris-app.svg b/icons/tetris-app.svg
new file mode 100644
index 0000000..ab0ef1b
--- /dev/null
+++ b/icons/tetris-app.svg
@@ -0,0 +1,3 @@
+
diff --git a/icons/update-circle.svg b/icons/update-circle.svg
new file mode 100644
index 0000000..5a216bd
--- /dev/null
+++ b/icons/update-circle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/install.sh b/install.sh
index 5ba9579..ab47194 100755
--- a/install.sh
+++ b/install.sh
@@ -344,6 +344,7 @@ firefoxProfileDirPaths=(
"${HOME}/.cachy"
"${HOME}/.local/opt/tor-browser/app/Browser/TorBrowser/Data/Browser"
"${HOME}/.var/app/org.mozilla.firefox/.mozilla/firefox"
+ "${HOME}/.var/app/io.gitlab.librewolf-community/.librewolf"
"${HOME}/snap/firefox/common/.mozilla/firefox"
"${HOME}/Library/Application Support/Firefox"
"${HOME}/Library/Application Support/Waterfox"
diff --git a/package.json b/package.json
index cc20d98..d21a81b 100644
--- a/package.json
+++ b/package.json
@@ -32,5 +32,6 @@
},
"jest": {
"testEnvironment": "jest-environment-node-single-context"
- }
+ },
+ "packageManager": "yarn@4.5.3"
}
diff --git a/src/autohide/_common.scss b/src/autohide/_common.scss
index 35ed7d7..7909372 100644
--- a/src/autohide/_common.scss
+++ b/src/autohide/_common.scss
@@ -48,11 +48,11 @@
}
@include Has {
:root {
- &:not([tabsintitlebar]):has(#toolbar-menubar) {
+ &:not([tabsintitlebar]):not([customtitlebar]):has(#toolbar-menubar) {
--uc-menubar-height: var(--uc-menubar-height-default); // text 1rem, menu padding 0.3em
}
- &[tabsintitlebar]:has(#toolbar-menubar[autohide="true"]) {
+ &:is([tabsintitlebar], [customtitlebar]):has(#toolbar-menubar[autohide="true"]) {
@include OS($linux) {
--uc-menubar-height: calc(var(--tab-min-height) + 2 * var(--tab-block-margin));
}
@@ -63,12 +63,12 @@
--uc-menubar-height: calc(var(--tab-min-height) + var(--tab-block-margin));
}
}
- &[tabsintitlebar]:has(#toolbar-menubar[autohide="false"]) {
+ &:is([tabsintitlebar], [customtitlebar]):has(#toolbar-menubar[autohide="false"]) {
--uc-menubar-height: var(--uc-titlebar-buttonbox-height);
}
- &:not([tabsintitlebar]),
- &[tabsintitlebar] {
+ &:not([tabsintitlebar]):not([customtitlebar]),
+ &:is([tabsintitlebar], [customtitlebar]) {
&:has(#toolbar-menubar[autohide="true"][inactive="true"]) {
--uc-menubar-height: 0px;
}
diff --git a/src/autohide/_navbar.scss b/src/autohide/_navbar.scss
index 5b7b47b..bb3ee89 100644
--- a/src/autohide/_navbar.scss
+++ b/src/autohide/_navbar.scss
@@ -1,13 +1,29 @@
@include OneLinerNavbar {
#nav-bar:not([customizing]) {
margin-bottom: var(--uc-navbar-hide-height);
- opacity: 0;
- will-change: margin-bottom, opacity;
+
+ // Why use #urlbar? - Prevent URLbar overlay #1028
+ &, #urlbar {
+ opacity: 0;
+ will-change: margin-bottom, opacity;
+ }
}
#navigator-toolbox:is(:hover, :focus-within) #nav-bar:not([customizing]) {
margin-bottom: 0;
- opacity: 1;
+
+ &, #urlbar {
+ opacity: 1;
+ }
}
+ // #1028
+ #navigator-toolbox:not(:hover, :focus-within) #nav-bar:not([customizing]) #urlbar {
+ pointer-events: none;
+ }
+}
+
+// Drag & Drop Event #820
+#mainPopupSet:not(:hover)~#navigator-toolbox:not(:hover, :focus-within) #nav-bar:not([customizing]) {
+ -moz-window-dragging: no-drag;
}
@include Animate {
@@ -22,8 +38,14 @@
opacity var(--uc-autohide-toolbar-speed) var(--animation-easing-function) var(--uc-autohide-toolbar-delay),
var(--ext-theme-background-transition) !important;
}
+
+ #urlbar {
+ transition: opacity var(--uc-autohide-toolbar-speed) var(--animation-easing-function) var(--uc-autohide-toolbar-delay) !important;
+ }
}
#navigator-toolbox:is(:hover, :focus-within) #nav-bar:not([customizing]) {
- transition-delay: 0s !important;
+ &, #urlbar {
+ transition-delay: 0s !important;
+ }
}
}
diff --git a/src/autohide/_tabbar.scss b/src/autohide/_tabbar.scss
index fe377cb..bb334db 100644
--- a/src/autohide/_tabbar.scss
+++ b/src/autohide/_tabbar.scss
@@ -16,7 +16,8 @@
//------------------------------------------------------------------------------
@include OneLinerTabbar {
- :root:not([customizing]) #titlebar {
+ :root:not([customizing]) #titlebar,
+ :root:not([customizing]) #navigator-toolbox > #TabsToolbar {
margin-bottom: var(--uc-tabbar-hide-height);
will-change: margin-bottom;
}
@@ -28,7 +29,8 @@
}
#navigator-toolbox:is(:hover, :focus-within) {
- > #titlebar {
+ > #titlebar,
+ > #TabsToolbar {
margin-bottom: 0px;
}
#TabsToolbar {
diff --git a/src/autohide/sidebar/_static.scss b/src/autohide/sidebar/_static.scss
index 3524e72..6742395 100644
--- a/src/autohide/sidebar/_static.scss
+++ b/src/autohide/sidebar/_static.scss
@@ -11,7 +11,7 @@
}
:root[inFullscreen="true"] #sidebar-box {
- &:not([positionend="true"]) {
+ &:not([positionend]) {
margin-inline-start: var(--uc-sidebar-fullscreen-margin) !important;
will-change: margin-inline-start;
@@ -20,7 +20,7 @@
}
}
- &[positionend="true"] {
+ &[positionend] {
margin-inline-end: var(--uc-sidebar-fullscreen-margin) !important;
will-change: margin-inline-end;
@@ -45,7 +45,7 @@
:root[inFullscreen="true"] #sidebar-box {
transition: margin-inline-start var(--uc-autohide-fullscreen-sidebar-speed) var(--animation-easing-function) var(--uc-autohide-sidebar-delay) !important;
- &[positionend="true"] {
+ &[positionend] {
transition-property: margin-inline-end !important;
}
&:is(:hover, :focus-within),
diff --git a/src/combined/_back_forward_button.scss b/src/combined/_back_forward_button.scss
index 1379356..884f69b 100644
--- a/src/combined/_back_forward_button.scss
+++ b/src/combined/_back_forward_button.scss
@@ -3,6 +3,11 @@
@mixin _combined_forward_button() {
@if mode.isMediaPref() {
+ @#{media} #{'-moz-pref("userChrome.combined.urlbar.nav_button") or ((not -moz-pref("userChrome.combined.sub_button.as_normal")) or (-moz-pref("userChrome.combined.nav_button") and -moz-pref("userChrome.combined.urlbar.home_button")))'} {
+ @content;
+ }
+ }
+ @else if mode.isMediaBoolPref() {
@media (-moz-bool-pref: '"userChrome.combined.urlbar.nav_button"'),
((not (-moz-bool-pref: '"userChrome.combined.sub_button.as_normal"')) or
(
diff --git a/src/compatibility/_os.scss b/src/compatibility/_os.scss
index db4ace7..089d82a 100644
--- a/src/compatibility/_os.scss
+++ b/src/compatibility/_os.scss
@@ -1,6 +1,6 @@
/*= Windows 10 - Top border of accent color at ESR #358 ======================*/
@include OS($win10) {
- :root[sizemode=normal][tabsintitlebar] {
+ :root[sizemode=normal]:is([tabsintitlebar], [customtitlebar]) {
#navigator-toolbox {
border-top: .5px solid rgb(47, 47, 47) !important;
}
@@ -167,31 +167,6 @@
color: inherit !important; /* Original: -moz-menubarhovertext */
background-color: color-mix(in srgb, currentColor 20%, transparent) !important; /* Original: -moz-menuhover */
}
-
- /*= Linux - Titlebar button at lwtheme =====================================*/
- @include NotOption("userChrome.compatibility.os.linux_non_native_titlebar_button") {
- @include lwtheme {
- .titlebar-button {
- appearance: none !important;
- > .toolbarbutton-icon {
- appearance: auto !important;
- width: unset !important;
- height: unset !important;
- }
- }
- .titlebar-min,
- .titlebar-max,
- .titlebar-restore,
- .titlebar-close {
- list-style-image: none !important;
- }
- .titlebar-button,
- .titlebar-button:hover:active {
- background-color: unset !important;
- color: unset !important;
- }
- }
- }
}
/*= Linux - Light System Default Theme's Selected Tab ========================*/
@@ -231,7 +206,7 @@ $_os_linuxDefaultShadow: 0 0 4px rgba(128, 128, 142, 0.5);
/*= Titlebar Container Size at maximized #384 ================================*/
@include OS($win) {
- :root[tabsintitlebar] {
+ :root:is([tabsintitlebar], [customtitlebar]) {
@include NotOption("userChrome.compatibility.os.windows_maximized") {
#titlebar {
// Prevent #476 FF v105 above
@@ -263,21 +238,22 @@ $_os_linuxDefaultShadow: 0 0 4px rgba(128, 128, 142, 0.5);
// https://github.com/mozilla/gecko-dev/blob/4334cb91a3762ac497c50a1c7b86b8004690229e/browser/themes/windows/browser-aero.css#L71-L81
@include OS($win) {
@include WinClassic {
- :root[tabsintitlebar][sizemode="normal"]:not(:-moz-lwtheme) #navigator-toolbox {
+ :root:is([tabsintitlebar], [customtitlebar])[sizemode="normal"]:not(:-moz-lwtheme) #navigator-toolbox {
appearance: auto !important;
-moz-default-appearance: -moz-window-titlebar !important;;
}
- :root[tabsintitlebar][sizemode="maximized"]:not(:-moz-lwtheme) #navigator-toolbox {
+ :root:is([tabsintitlebar], [customtitlebar])[sizemode="maximized"]:not(:-moz-lwtheme) #navigator-toolbox {
appearance: auto !important;;
-moz-default-appearance:-moz-window-titlebar !important;;
}
- :root[tabsintitlebar]:not(:-moz-lwtheme) #tabbrowser-arrowscrollbox {
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-lwtheme) #pinned-tabs-container,
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-lwtheme) #tabbrowser-arrowscrollbox {
color: -moz-dialogtext !important;
}
- :root[tabsintitlebar][sizemode="normal"] #navigator-toolbox:-moz-lwtheme {
+ :root:is([tabsintitlebar], [customtitlebar])[sizemode="normal"] #navigator-toolbox:-moz-lwtheme {
background-image: linear-gradient(
to bottom,
ThreeDLightShadow 0, ThreeDLightShadow 1px,
@@ -287,3 +263,8 @@ $_os_linuxDefaultShadow: 0 0 4px rgba(128, 128, 142, 0.5);
}
}
}
+
+/*= MacOS Fullscreen clipping #1045 ==========================================*/
+:root[sizemode="fullscreen"][macOSNativeFullscreen]:not([inDOMFullscreen="true"]) #TabsToolbar {
+ min-height: var(--tab-min-height, fit-content) !important;
+}
diff --git a/src/compatibility/_theme.scss b/src/compatibility/_theme.scss
index 2cb8861..a987fe4 100644
--- a/src/compatibility/_theme.scss
+++ b/src/compatibility/_theme.scss
@@ -35,7 +35,7 @@ menu.subviewbutton {
}
/*= First visible tab margin at maximized #332 ===============================*/
-:root[tabsintitlebar="true"][sizemode="maximized"] #TabsToolbar {
+:root:is([tabsintitlebar="true"], [customtitlebar="true"])[sizemode="maximized"] #TabsToolbar {
margin-left: -1px;
}
@@ -135,9 +135,18 @@ menu {
}
}
+#main-window {
+ background-color: WindowFrame !important;
+}
+:root[lwtheme][lwtheme-image] #customization-container {
+ background-image: none !important;
+}
#customization-container {
background-color: transparent !important; /* Original: color-mix(in srgb, -moz-dialog 85%, white) */
}
+:root:not([lwtheme]) #customization-container {
+ background-color: var(--toolbar-non-lwt-bgcolor) !important;
+}
/*= Findbar Border Color =====================================================*/
html|input.findbar-textbox {
@@ -184,7 +193,9 @@ vbox[part="drop-indicator-bar"] > image[part="drop-indicator"] {
}
/*= Inactive transparent #882 ================================================*/
-:root[tabsintitlebar] #titlebar:-moz-window-inactive {
+:root:is([tabsintitlebar], [customtitlebar]) #titlebar:-moz-window-inactive,
+:root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar:-moz-window-inactive,
+:root:is([tabsintitlebar], [customtitlebar]) #TabsToolbar:-moz-window-inactive {
opacity: 1 !important;
color: color-mix(in srgb, currentColor calc(var(--inactive-titlebar-opacity, 0.75) * 100%), transparent) !important;
--inactive-toolbarbutton-icon-fill-opacity: calc(var(--toolbarbutton-icon-fill-opacity, 1) * var(--inactive-titlebar-opacity, 0.75));
@@ -199,3 +210,16 @@ vbox[part="drop-indicator-bar"] > image[part="drop-indicator"] {
--panel-background: var(--arrowpanel-background) !important; /* Original: var(--tab-selected-bgcolor, var(--toolbar-bgcolor)) */
--panel-color: var(--arrowpanel-color) !important; /* Original: var(--tab-selected-textcolor, var(--toolbar-color)) */
}
+
+/*= Design token =============================================================*/
+:root, :host {
+ --button-color: var(--button-text-color);
+ --button-bgcolor: var(--button-background-color);
+ --button-hover-bgcolor: var(--button-background-color-hover);
+ --button-active-bgcolor: var(--button-background-color-active);
+
+ --button-primary-color: var(--button-text-color-primary);
+ --button-primary-bgcolor: var(--button-background-color-primary);
+ --button-primary-hover-bgcolor: var(--button-background-color-primary-hover);
+ --button-primary-active-bgcolor: var(--button-background-color-primary-active);
+}
diff --git a/src/contents/_activity_stream.scss b/src/contents/_activity_stream.scss
index 221d1cc..60f41c3 100644
--- a/src/contents/_activity_stream.scss
+++ b/src/contents/_activity_stream.scss
@@ -36,7 +36,11 @@
/** Activity Stream - Web Site Icon: full size ******************************/
@include Option("userContent.newTab.full_icon") {
.top-site-outer {
+ width: 120px !important; /* v135: calc(var(--size-item-large) * 3); */
+
.tile {
+ width: 80px !important; /* v135: calc(var(--size-item-large) * 2); */
+ height: 80px !important; /* v135: calc(var(--size-item-large) * 2); */
overflow: hidden;
}
@@ -51,6 +55,9 @@
.context-menu-button {
top: 0px !important; /* Original: -20px */
+ right: 0px !important;
+ width: 22px !important;
+ height: 22px !important;
}
.context-menu {
top: 16.75px !important; /* Original: 6.75px */
@@ -112,7 +119,8 @@
@include Option("userContent.newTab.pocket_to_last") {
.body-wrapper.on {
display: flex;
- flex-wrap: wrap;
+ flex-wrap: wrap !important;
+ flex-direction: row !important;
> .discovery-stream.ds-layout {
flex-basis: 100%;
diff --git a/src/contents/_compatibility.scss b/src/contents/_compatibility.scss
index 3a205d2..031a73d 100644
--- a/src/contents/_compatibility.scss
+++ b/src/contents/_compatibility.scss
@@ -50,6 +50,9 @@
box-sizing: content-box;
padding: 0 !important;
}
+ button[data-l10n-id="addon-updates-manual-updates-found"] {
+ height: 100%;
+ }
// #911
#categories {
diff --git a/src/contents/_context_menu.scss b/src/contents/_context_menu.scss
index daec5c7..c4a2e7e 100644
--- a/src/contents/_context_menu.scss
+++ b/src/contents/_context_menu.scss
@@ -1,6 +1,13 @@
@import "../icons/shared";
-:root {
- @include initIcons;
+
+@include moz-document(
+ url-prefix "about:",
+ url-prefix "chrome://",
+ regexp "^((jar:)?file:\/\/\/).*\/$"
+) {
+ :root {
+ @include initIcons;
+ }
}
@include moz-document(
diff --git a/src/contents/_proton_color.scss b/src/contents/_proton_color.scss
index 62dfe9c..eedfffa 100644
--- a/src/contents/_proton_color.scss
+++ b/src/contents/_proton_color.scss
@@ -9,6 +9,16 @@
) {
@import "../theme/proton_color";
+ @include Option(
+ "userContent.page.proton_color.dark_blue_accent",
+ "userContent.page.proton_color.system_accent"
+ ) {
+ :root, :host(.anonymous-content-host) {
+ --color-accent-primary: var(--in-content-primary-button-background) !important;
+ --color-accent-primary-hover: var(--in-content-primary-button-background-hover) !important;
+ --color-accent-primary-active: light-dark(var(--color-blue-70), var(--color-cyan-20));
+ }
+ }
@include Option("userContent.page.proton_color.dark_blue_accent") {
@include Dark {
@import "../theme/dark_blue_color";
diff --git a/src/contents/_proton_contents.scss b/src/contents/_proton_contents.scss
index 2a06c7a..ca094dd 100644
--- a/src/contents/_proton_contents.scss
+++ b/src/contents/_proton_contents.scss
@@ -32,5 +32,8 @@
/*= about:processes ==========================================================*/
@import "proton_contents/about_processes";
+/*= about:processes ==========================================================*/
+@import "proton_contents/about_others";
+
/*= chrome://browser/content/places/places.xhtml =============================*/
@import "../library/contents";
diff --git a/src/contents/proton_contents/_about_others.scss b/src/contents/proton_contents/_about_others.scss
new file mode 100644
index 0000000..e55a476
--- /dev/null
+++ b/src/contents/proton_contents/_about_others.scss
@@ -0,0 +1,19 @@
+@include moz-document(url-prefix "about:support") {
+ #reset-box-button {
+ --in-content-focus-outline-color: var(--in-content-danger-button-background) !important;
+ background-color: var(--in-content-danger-button-background) !important;
+ color: var(--in-content-primary-button-text-color) !important;
+ border-color: var(--in-content-primary-button-border-color) !important;
+
+ &:enabled:hover {
+ background-color: var(--in-content-danger-button-background-hover) !important;
+ color: var(--in-content-primary-button-text-color-hover) !important;
+ border-color: var(--in-content-primary-button-border-hover) !important;
+ }
+ &:enabled:hover:active {
+ background-color: var(--in-content-danger-button-background-active) !important;
+ color: var(--in-content-primary-button-text-color-active) !important;
+ border-color: var(--in-content-primary-button-border-active) !important;
+ }
+ }
+}
diff --git a/src/contents/proton_contents/_about_preferences.scss b/src/contents/proton_contents/_about_preferences.scss
index d8a43f1..4ef7326 100644
--- a/src/contents/proton_contents/_about_preferences.scss
+++ b/src/contents/proton_contents/_about_preferences.scss
@@ -23,3 +23,12 @@
}
}
}
+@include moz-document(url-prefix "about:preferences") {
+ // #952
+ .privacy-extra-information > .custom-option:not(:first-child) {
+ margin-block: 2px !important; /* Original: 10px */
+ }
+ .extra-information-label:not(:first-child) {
+ margin-top: 4px !important; /* Original: 19px */
+ }
+}
diff --git a/src/contents/proton_contents/_about_processes.scss b/src/contents/proton_contents/_about_processes.scss
index 7d52b32..5a05cdc 100644
--- a/src/contents/proton_contents/_about_processes.scss
+++ b/src/contents/proton_contents/_about_processes.scss
@@ -1,10 +1,22 @@
-@include moz-document(url-prefix "about:processes") {
+@include moz-document(
+ url-prefix "about:processes",
+ url-prefix "about:performance"
+) {
td.type.favicon[style*='background-image: url("chrome://global/skin/icons/link.svg");'] {
background-image: url("../icons/link.svg") !important;
}
.profiler-icon {
- background: url("../icons/performance.svg") no-repeat center !important;
+ cursor: pointer;
+ background-image: url("../icons/performance.svg") !important;
+ background-repeat: no-repeat !important;
+ background-position: center !important;
+ @include NotOption("userChrome.rounding.square_button") {
+ border-radius: 8px !important;
+ }
+
+ // #960
+ color: inherit !important;
}
}
diff --git a/src/decoration/_animate.scss b/src/decoration/_animate.scss
index 640fd27..3077987 100644
--- a/src/decoration/_animate.scss
+++ b/src/decoration/_animate.scss
@@ -64,7 +64,12 @@
}
/*- URL / Search Bar -------------------------------------------------------*/
-#urlbar-background,
+#urlbar-background {
+ transition: border-color 1s var(--animation-easing-function), background-color 0.5s var(--animation-easing-function) !important;
+ &:hover {
+ transition: border-color 0.5s var(--animation-easing-function), background-color 0.5s var(--animation-easing-function) !important;
+ }
+}
#searchbar {
transition: border-color 1s var(--animation-easing-function), background-color 1.5s var(--animation-easing-function) !important;
&:hover {
@@ -114,16 +119,14 @@ xul|search-textbox.tabsFilter,
max-width: 36em;
/* Animation */
- transition: margin-inline-start 0.25s var(--animation-easing-function), opacity 0.25s ease-in-out,
- visibility 0s linear !important;
- will-change: margin-inline-start, opacity, visibility;
+ transition: margin-inline-start 0.25s var(--animation-easing-function), visibility 0s linear !important;
+ will-change: margin-inline-start, visibility;
&[hidden="true"] {
@include Box(true);
margin-inline-start: -18em;
- opacity: 0;
visibility: collapse;
- transition-delay: 0s, 0s, 0.25s !important;
+ transition-delay: 0s, 0.25s !important;
}
}
}
diff --git a/src/fullscreen/_overlap.scss b/src/fullscreen/_overlap.scss
index 4838ed3..0f5669c 100644
--- a/src/fullscreen/_overlap.scss
+++ b/src/fullscreen/_overlap.scss
@@ -1,15 +1,24 @@
-:root[sizemode="fullscreen"] #navigator-toolbox {
+:root[sizemode="fullscreen"]:not([inDOMFullscreen="true"]) #navigator-toolbox {
position: fixed !important; /* Needed for content to take up entire height */
z-index: 1000 !important; /* Puts the UI above the content */
+
+ &:is(:hover, :focus-within) {
+ margin-top: 0 !important;
+ }
}
-:root[sizemode="fullscreen"] :-moz-any(#navigator-toolbox, #titlebar, #nav-bar, #PersonalToolbar) {
+:root[sizemode="fullscreen"]:not([inDOMFullscreen="true"]) :-moz-any(#navigator-toolbox, #titlebar, #toolbar-menubar, #TabsToolbar, #nav-bar, #PersonalToolbar) {
width: 100%; /* Makes the UI take up the entire width */
}
+:root[sizemode="fullscreen"]:not([inDOMFullscreen="true"]) #urlbar:popover-open {
+ // Prevent URLbar overlay #1028
+ position: fixed !important;
+}
+
@include OS($linux) {
/* Fix transparent background */
- :root[tabsintitlebar][sizemode="fullscreen"]#{$not_lwtheme} #TabsToolbar {
+ :root:is([tabsintitlebar], [customtitlebar])[sizemode="fullscreen"]:not([inDOMFullscreen="true"])#{$not_lwtheme} #TabsToolbar {
appearance: auto !important;
}
}
diff --git a/src/fullscreen/_show_bookmarkbar.scss b/src/fullscreen/_show_bookmarkbar.scss
index a91348e..d787a8d 100644
--- a/src/fullscreen/_show_bookmarkbar.scss
+++ b/src/fullscreen/_show_bookmarkbar.scss
@@ -1,4 +1,4 @@
-:root:not([sizemode="fullscreen"]) #PersonalToolbar[initialized="true"]:not([collapsed="true"]),
-:root[sizemode="fullscreen"] #PersonalToolbar[initialized="true"] {
+:root:not([sizemode="fullscreen"]) #PersonalToolbar[initialized]:not([collapsed="true"]),
+:root[sizemode="fullscreen"] #PersonalToolbar[initialized] {
visibility: unset !important; /* Makes the bookmarks toolbar visible if enabled */
}
diff --git a/src/icons/_1.25px_stroke.scss b/src/icons/_1.25px_stroke.scss
index ac47244..8b3a7d5 100644
--- a/src/icons/_1.25px_stroke.scss
+++ b/src/icons/_1.25px_stroke.scss
@@ -20,3 +20,9 @@
) .tab-icon-image {
content: url("../icons/developer.svg") !important;
}
+
+.tabbrowser-tab:is(
+ [image="chrome://browser/skin/controlcenter/dashboard.svg"]
+) .tab-icon-image {
+ content: url("../icons/dashboard.svg") !important;
+}
diff --git a/src/icons/_activity_stream.scss b/src/icons/_activity_stream.scss
index b916a3e..bfc362b 100644
--- a/src/icons/_activity_stream.scss
+++ b/src/icons/_activity_stream.scss
@@ -5,7 +5,7 @@
--menuitem-image: url("../icons/unpin-tab.svg");
}
.context-menu-item span[data-l10n-id="newtab-menu-edit-topsites"] {
- --menuitem-image: url("chrome://global/skin/icons/edit.svg");
+ --menuitem-image: url("../icons/edit-active.svg");
}
.context-menu-item span[data-l10n-id="newtab-menu-bookmark"] {
--menuitem-image: url("chrome://browser/skin/bookmark.svg");
diff --git a/src/icons/_addon_page.scss b/src/icons/_addon_page.scss
index f8b0a5b..3b49c75 100644
--- a/src/icons/_addon_page.scss
+++ b/src/icons/_addon_page.scss
@@ -1,5 +1,5 @@
// https://github.com/mozilla/gecko-dev/commit/260e4270fca18f2f6f59a1ffe4deccb5080a15f7
-button[role="menuitem"] {
+button:is([role="menuitem"], [role="menuitemcheckbox"]) {
background-image: var(--icon, url("../icons/blank.svg")); /* Don't use !important. because of [checked] */
}
diff --git a/src/icons/_global_menu.scss b/src/icons/_global_menu.scss
index fa0de58..12eaab4 100644
--- a/src/icons/_global_menu.scss
+++ b/src/icons/_global_menu.scss
@@ -238,6 +238,11 @@ menu.share-tab-url-item {
#menu_mobileBookmarks {
}
+/*= menu_ProfilesPopup =======================================================*/
+#menu_manageProfiles {
+ --menuitem-image: url("chrome://global/skin/icons/settings.svg");
+}
+
/*= menu_ToolsPopup ==========================================================*/
#menu_openDownloads {
--menuitem-image: url("chrome://browser/skin/downloads/downloads.svg");
diff --git a/src/icons/_global_menubar.scss b/src/icons/_global_menubar.scss
index e477397..ed59975 100644
--- a/src/icons/_global_menubar.scss
+++ b/src/icons/_global_menubar.scss
@@ -3,7 +3,7 @@
--menuitem-image: url("../icons/mail-inbox-all.svg");
}
#edit-menu {
- --menuitem-image: url("chrome://global/skin/icons/edit.svg");
+ --menuitem-image: url("../icons/edit-active.svg");
}
#view-menu {
--menuitem-image: url("../icons/content-view.svg");
@@ -14,6 +14,11 @@
#bookmarksMenu {
--menuitem-image: url("chrome://browser/skin/bookmark.svg");
}
+#profiles-menu:is(menu) {
+ // Using stroke
+ fill: transparent !important;
+ --menuitem-image: url("chrome://browser/content/profiles/assets/16_heart.svg");
+}
#tools-menu {
--menuitem-image: url("../icons/toolbox.svg");
}
@@ -23,3 +28,16 @@
#helpMenu {
--menuitem-image: url("chrome://global/skin/icons/help.svg");
}
+
+/*= Others ===================================================================*/
+#alltabs-button {
+ list-style-image: url("chrome://global/skin/icons/arrow-down.svg") !important;
+ > .toolbarbutton-badge-stack > .toolbarbutton-icon {
+ /* Original
+ width: 20px;
+ margin: -2px;
+ */
+ width: 16px !important;
+ margin: 0 !important;
+ }
+}
diff --git a/src/icons/_index.scss b/src/icons/_index.scss
index c9fe7f8..cc76e54 100644
--- a/src/icons/_index.scss
+++ b/src/icons/_index.scss
@@ -28,7 +28,7 @@
--uc-sidebar-icon: url("chrome://browser/skin/sidebars.svg");
--uc-sidebar-icon-reverse: url("chrome://browser/skin/sidebars-right.svg");
@include Has {
- &:has(#sidebar-box[positionend="true"]) {
+ &:has(#sidebar-box[positionend]) {
--uc-sidebar-icon: url("chrome://browser/skin/sidebars-right.svg");
--uc-sidebar-icon-reverse: url("chrome://browser/skin/sidebars.svg");
}
diff --git a/src/icons/_panel.scss b/src/icons/_panel.scss
index e276e4b..37056e6 100644
--- a/src/icons/_panel.scss
+++ b/src/icons/_panel.scss
@@ -29,6 +29,20 @@
background-image: var(--avatar-image-url) !important;
}
+#appMenu-profiles-button > image,
+#appMenu-empty-profiles-button > image {
+ // Using stroke
+ fill: transparent !important;
+}
+#appMenu-empty-profiles-button,
+#PanelUI-fxa-menu-empty-profiles-button {
+ list-style-image: url("chrome://browser/content/profiles/assets/16_heart.svg");
+}
+
+#profiles-manage-profiles-button {
+ list-style-image: url("chrome://global/skin/icons/settings.svg");
+}
+
#new-tab-button {
list-style-image: var(--uc-new-tab-icon) !important;
}
@@ -259,7 +273,8 @@
#PanelUI-signedin-panel[hidden="true"] + #PanelUI-fxa-cta-menu #PanelUI-products-separator {
display: none; // #916
}
-#PanelUI-fxa-menu > :first-child {
+#PanelUI-fxa-menu > :first-child,
+#fxa-manage-account-button {
@include BoxOrder(0);
}
#PanelUI-sign-out-separator {
@@ -274,6 +289,28 @@
list-style-image: url("chrome://global/skin/icons/settings.svg");
}
+.sendToDevice-device {
+ &[clientType="phone"] {
+ list-style-image: url("../icons/device-phone.svg") !important;
+ }
+
+ &[clientType="tablet"] {
+ list-style-image: url("../icons/device-tablet.svg") !important;
+ }
+
+ &[clientType="desktop"] {
+ list-style-image: url("../icons/device-desktop.svg") !important;
+ }
+
+ &[clientType="tv"] {
+ list-style-image: url("../icons/device-tv.svg") !important;
+ }
+
+ &[clientType="vr"] {
+ list-style-image: url("../icons/device-vr.svg") !important;
+ }
+}
+
/*= Panel - Bookmark =========================================================*/
#panelMenuBookmarkThisPage {
list-style-image: url("chrome://browser/skin/bookmark-hollow.svg");
@@ -439,6 +476,9 @@ panelMenuBookmarkThisPage[starred] {
#allTabsMenu-searchTabs {
list-style-image: url("chrome://global/skin/icons/search-glass.svg");
}
+#allTabsMenu-syncedTabs {
+ list-style-image: url("../icons/synced-tabs.svg");
+}
#allTabsMenu-closeDuplicateTabs {
list-style-image: var(--uc-tab-close-duplicate-icon);
}
@@ -500,6 +540,10 @@ panelMenuBookmarkThisPage[starred] {
margin-inline-end: 1em;
}
+#protections-popup-report-broken-site-button {
+ list-style-image: url("chrome://global/skin/icons/lightbulb.svg");
+}
+
#protections-popup-settings-button > .protections-popup-settings-icon,
#protections-popup-multiView .panel-subview-footer-button {
list-style-image: url("chrome://global/skin/icons/settings.svg");
@@ -550,6 +594,10 @@ panelMenuBookmarkThisPage[starred] {
@include _subviewMenuitem(url("../icons/synced-tabs.svg"));
}
+#sidebar-switcher-genai-chat {
+ @include _subviewMenuitem(url("chrome://mozapps/skin/extensions/category-discover.svg"));
+}
+
#sidebar-reverse-position {
@include _subviewMenuitem(var(--uc-sidebar-icon-reverse));
}
@@ -561,6 +609,51 @@ panelMenuBookmarkThisPage[starred] {
);
}
+/*= sidebar-context-menu =====================================================*/
+#sidebar-context-menu-manage-extension {
+ --menuitem-image: url("chrome://global/skin/icons/settings.svg");
+}
+#sidebar-context-menu-remove-extension {
+ --menuitem-image: url("chrome://global/skin/icons/delete.svg");
+}
+#sidebar-context-menu-report-extension {
+ --menuitem-image: url("../icons/send.svg");
+}
+
+#sidebar-context-menu-unpin-extension {
+ --menuitem-image: url("../icons/unpin-tab.svg");
+}
+#sidebar-context-menu-hide-sidebar {
+ --menuitem-image: url("../icons/eye-hide.svg");
+}
+#sidebar-context-menu-customize-sidebar {
+ --menuitem-image: url("chrome://browser/skin/customize.svg");
+}
+#sidebar-context-menu-enable-vertical-tabs {
+ --menuitem-image: url("chrome://browser/skin/sidebar-collapsed.svg");
+}
+
+/*= chrome://browser/content/syncedtabs/sidebar.xhtml ========================*/
+.item.client[clientType=phone] > .item-title-container > .item-icon-container {
+ background-image: url("../icons/device-phone.svg") !important;
+}
+
+.item.client[clientType=tablet] > .item-title-container > .item-icon-container {
+ background-image: url("../icons/device-tablet.svg") !important;
+}
+
+.item.client[clientType=desktop] > .item-title-container > .item-icon-container {
+ background-image: url("../icons/device-desktop.svg") !important;
+}
+
+.item.client[clientType=tv] > .item-title-container > .item-icon-container {
+ background-image: url("../icons/device-tv.svg") !important;
+}
+
+.item.client[clientType=vr] > .item-title-container > .item-icon-container {
+ background-image: url("../icons/device-vr.svg") !important;
+}
+
/*= unified-extensions-view ===================================================*/
#unified-extensions-manage-extensions {
list-style-image: url("chrome://mozapps/skin/extensions/extension.svg");
diff --git a/src/icons/context_menu/_content_area.scss b/src/icons/context_menu/_content_area.scss
index 7cad874..06fcdd3 100644
--- a/src/icons/context_menu/_content_area.scss
+++ b/src/icons/context_menu/_content_area.scss
@@ -232,6 +232,9 @@
#context-translate-selection {
--menuitem-image: url("../icons/translations.svg");
}
+#context-ask-chat {
+ --menuitem-image: url("../icons/chat-sparkle.svg");
+}
#frame {
--menuitem-image: url("../icons/command-frames.svg");
@@ -289,6 +292,38 @@
}
}
+/*= context-ask-chat =========================================================*/
+#ask-chat-shortcuts .toolbarbutton-icon {
+ order: -1;
+ margin-inline-end: var(--arrowpanel-menuitem-margin-inline) !important;
+}
+#ask-chat-shortcuts .subviewbutton:nth-child(1) {
+ list-style-image: url("../icons/apps-list-detail.svg");
+}
+#ask-chat-shortcuts .subviewbutton:nth-child(2) {
+ list-style-image: url("../icons/code-text.svg");
+}
+#ask-chat-shortcuts .subviewbutton:nth-child(3) {
+ list-style-image: url("../icons/tetris-app.svg");
+}
+#ask-chat-shortcuts .subviewbutton:nth-child(4) {
+ list-style-image: url("../icons/arrow-up-exclamation.svg");
+}
+
+
+#context-ask-chat menuitem:nth-child(1) {
+ --menuitem-image: url("../icons/apps-list-detail.svg");
+}
+#context-ask-chat menuitem:nth-child(2) {
+ --menuitem-image: url("../icons/code-text.svg");
+}
+#context-ask-chat menuitem:nth-child(3) {
+ --menuitem-image: url("../icons/tetris-app.svg");
+}
+#context-ask-chat menuitem:nth-child(4) {
+ --menuitem-image: url("../icons/arrow-up-exclamation.svg");
+}
+
/*= main-context-menu-frame ==================================================*/
#context-showonlythisframe {
--menuitem-image: url("../icons/eye-show.svg");
diff --git a/src/icons/context_menu/_others.scss b/src/icons/context_menu/_others.scss
index 98f40ae..63c5401 100644
--- a/src/icons/context_menu/_others.scss
+++ b/src/icons/context_menu/_others.scss
@@ -15,7 +15,7 @@
--menuitem-image: url("chrome://global/skin/icons/check.svg");
}
#blockedPopupOptions > menuitem[oncommand="gPopupBlockerObserver.editPopupSettings();"] {
- --menuitem-image: url("chrome://global/skin/icons/edit.svg");
+ --menuitem-image: url("../icons/edit-active.svg");
}
#blockedPopupDontShowMessage {
/* checkbox */
@@ -260,6 +260,9 @@ menuitem.searchbar-clear-history {
/*= urlbarView-result-menu ===================================================*/
.urlbarView-result-menuitem {
+ &[data-command="trendingblock"] {
+ --menuitem-image: url("../icons/eye-hide.svg");
+ }
&[data-command="dismiss"] {
--menuitem-image: url("chrome://global/skin/icons/delete.svg");
}
diff --git a/src/icons/context_menu/_place.scss b/src/icons/context_menu/_place.scss
index ff23f51..4764c72 100644
--- a/src/icons/context_menu/_place.scss
+++ b/src/icons/context_menu/_place.scss
@@ -24,7 +24,7 @@
#placesContext_show_bookmark\:info,
#placesContext_show\:info,
#placesContext_show_folder\:info {
- --menuitem-image: url("chrome://global/skin/icons/edit.svg");
+ --menuitem-image: url("../icons/edit-active.svg");
}
#placesContext_deleteBookmark,
#placesContext_deleteFolder,
diff --git a/src/icons/context_menu/_tab_toolbar.scss b/src/icons/context_menu/_tab_toolbar.scss
index 2488d3b..276bb83 100644
--- a/src/icons/context_menu/_tab_toolbar.scss
+++ b/src/icons/context_menu/_tab_toolbar.scss
@@ -22,8 +22,13 @@
#sidebartabs_asamuzak_jp-menuitem-_reloadAllTabs {
--menuitem-image: url("../icons/reload.svg");
}
+#context_playTab,
+#context_playSelectedTabs {
+ --menuitem-image: url("../icons/play-fill.svg");
+}
#context_toggleMuteTab,
#context_toggleMuteSelectedTabs,
+#treestyletab_piro_sakura_ne_jp-menuitem-_context_toggleMuteTab[label="Mute Tab"],
#treestyletab_piro_sakura_ne_jp-menuitem-_context_toggleMuteTab-mute,
#tabcenter-reborn_ariasuni-menuitem-_contextMenuMuteTab,
#sidebartabs_asamuzak_jp-menuitem-_muteTab {
@@ -32,6 +37,7 @@
}
#context_toggleMuteTab[muted],
#context_toggleMuteSelectedTabs[muted],
+#treestyletab_piro_sakura_ne_jp-menuitem-_context_toggleMuteTab[label="Unmute Tab"],
#treestyletab_piro_sakura_ne_jp-menuitem-_context_toggleMuteTab-unmute,
#tabcenter-reborn_ariasuni-menuitem-_contextMenuMuteTab[label="Unmute Tab"],
#sidebartabs_asamuzak_jp-menuitem-_muteTab[label="Unmute Tab"] {
@@ -51,6 +57,12 @@
#sidebartabs_asamuzak_jp-menuitem-_pinTab[label="Unpin Tab"] {
--menuitem-image: url("../icons/unpin-tab.svg");
}
+#treestyletab_piro_sakura_ne_jp-menuitem-_context_topLevel_toggleSticky[label="Stick Tab to Edges"] {
+ --menuitem-image: url("../icons/align-distribute-top.svg");
+}
+#treestyletab_piro_sakura_ne_jp-menuitem-_context_topLevel_toggleSticky[label="Unstick Tab to Edges"] {
+ --menuitem-image: url("../icons/align-space-evenly-vertical.svg");
+}
#context_duplicateTab,
#context_duplicateTabs,
#treestyletab_piro_sakura_ne_jp-menuitem-_context_duplicateTab,
@@ -121,6 +133,7 @@
#sidebartabs_asamuzak_jp-menuitem-_closeTab {
--menuitem-image: url("chrome://global/skin/icons/close.svg");
}
+#treestyletab_piro_sakura_ne_jp-menuitem-_context_closeDuplicatedTabs,
#context_closeDuplicateTabs {
@include Option("userChrome.icon.menu.full") {
--menuitem-image: var(--uc-tab-close-duplicate-icon);
@@ -205,6 +218,13 @@
--menuitem-image: url("../icons/undo.svg");
}
+#toolbar-context-customize-sidebar {
+ --menuitem-image: url("chrome://browser/skin/customize.svg");
+}
+#toolbar-context-toggle-vertical-tabs {
+ --menuitem-image: url("chrome://browser/skin/sidebar-collapsed.svg");
+}
+
#toggle_toolbar-menubar {
/* checkbox */
--menuitem-image: url("../icons/calendar-agenda.svg");
@@ -243,7 +263,7 @@ menuitem.viewCustomizeToolbar {
}
}
#tm-renameTab {
- --menuitem-image: url("chrome://global/skin/icons/edit.svg");
+ --menuitem-image: url("../icons/edit-active.svg");
}
#tm-copyTabUrl {
--menuitem-image: url("../icons/link.svg");
diff --git a/src/icons/fork_browsers/_floorp.scss b/src/icons/fork_browsers/_floorp.scss
index 67c3947..7947326 100644
--- a/src/icons/fork_browsers/_floorp.scss
+++ b/src/icons/fork_browsers/_floorp.scss
@@ -47,7 +47,7 @@
}
&[data-l10n-id="make-browsercss-file"] {
- --menuitem-image: url("chrome://global/skin/icons/edit.svg");
+ --menuitem-image: url("../icons/edit-active.svg");
}
&[data-l10n-id="open-css-folder"] {
--menuitem-image: var(--uc-folder-icon);
diff --git a/src/icons/fork_browsers/_waterfox.scss b/src/icons/fork_browsers/_waterfox.scss
index 95164e0..3d53d71 100644
--- a/src/icons/fork_browsers/_waterfox.scss
+++ b/src/icons/fork_browsers/_waterfox.scss
@@ -15,4 +15,8 @@
menuitem.privatetab-icon {
--menuitem-image: url("../icons/private-favicon.svg");
}
+
+ #sidebar_waterfox_net-menuitem-_openAllBookmarksWithStructure {
+ --menuitem-image: url("../icons/organization-horizontal.svg");
+ }
}
diff --git a/src/icons/layout/_bookmark_menu.scss b/src/icons/layout/_bookmark_menu.scss
index 2c4cfbb..3f2e2c7 100644
--- a/src/icons/layout/_bookmark_menu.scss
+++ b/src/icons/layout/_bookmark_menu.scss
@@ -17,8 +17,8 @@ menupopup menupopup[emptyplacesresult] .menu-text,
//-- Mixin ---------------------------------------------------------------------
// Items
-$_bookmarkMenuitem: "menuitem:not(.menuitem-iconic, [disabled=\"true\"])";
-$_bookmarkMenu: "menu:not(.menu-iconic)";
+$_bookmarkMenuitem: "menuitem:not(.menuitem-iconic, [disabled=\"true\"]):not(:has(.menu-icon[aria-hidden=\"true\"]))";
+$_bookmarkMenu: "menu:not(.menu-iconic):not(:has(.menu-icon[aria-hidden=\"true\"]))";
// Components
$_bookmarkPopup: "menupopup:is(#BMB_bookmarksPopup)[placespopup=\"true\"]";
diff --git a/src/icons/layout/_menu.scss b/src/icons/layout/_menu.scss
index 6b2411f..1807962 100644
--- a/src/icons/layout/_menu.scss
+++ b/src/icons/layout/_menu.scss
@@ -81,6 +81,15 @@ $_layoutCommonMenus: (
menupopup {
--menuitem-image: none; /* Prevent Image Inheritance */
}
+ & > :is(.menubar-text, .menu-text) {
+ @include OS($win) {
+ transform: translateY(-1px) !important; /* Fix menu top padding position */
+ padding-inline-start: 0.3em !important;
+ }
+ @include OS($linux) {
+ @include _layout_init_linux;
+ }
+ }
@include NotOption("userChrome.padding.global_menubar") {
padding-block: 2px !important;
}
@@ -99,6 +108,11 @@ $_layoutCommonMenus: (
.menupopup-arrowscrollbox {
padding-inline: 0 !important; /* Original: padding: var(--panel-padding); --panel-padding-block: 4px; */
}
+
+ // FF v141 #1128
+ menupopup[needsgutter] > :is(menu, menuitem) > .menu-icon {
+ display: none !important;
+ }
}
}
@@ -113,10 +127,6 @@ $_layoutCommonMenus: (
/* Padding - Linux */
@include OS($linux) {
@include _layout_root_linux;
-
- #{$_globalMenus} > .menubar-text {
- @include _layout_init_linux;
- }
}
/* Padding - Mac */
diff --git a/src/icons/layout/_menu_common.scss b/src/icons/layout/_menu_common.scss
index 3885026..68e298e 100644
--- a/src/icons/layout/_menu_common.scss
+++ b/src/icons/layout/_menu_common.scss
@@ -12,7 +12,7 @@ $_checkMenu: ":not([type=\"checkbox\"][checked=\"true\"], [type=\"radio\"])";
$_nestedPopup: "> menupopup:not(.in-menulist) >";
$_nestedPopupIcon: ":not(menu, #ContentSelectDropdown) #{$_nestedPopup}";
$_nestedPopupPadding: ":not(menu, #ContentSelectDropdown, #context-navigation) #{$_nestedPopup}";
-$_iconMenuPopup: "menupopup:is(#menu_FilePopup, #menu_EditPopup, #menu_viewPopup, #goPopup, #historyMenuPopup, #bookmarksMenuPopup, #menu_ToolsPopup, #windowPopup, #menu_HelpPopup, #usercssloader-menupopup)";
+$_iconMenuPopup: "menupopup:is(#menu_FilePopup, #menu_EditPopup, #menu_viewPopup, #goPopup, #historyMenuPopup, #bookmarksMenuPopup, #menu_ProfilesPopup, #menu_ToolsPopup, #windowPopup, #menu_HelpPopup, #usercssloader-menupopup, #sidebar-context-menu)";
$_nestedPopupIconMenus: selector.nest(
$_nestedPopupIcon,
@@ -31,7 +31,7 @@ $_globalMenus: "#main-menubar > menu";
$_libraryMenuitem: "menupopup:is(#organizeButtonPopup, #maintenanceButtonPopup) > #{$_iconMenuitem}";
$_libraryMenu: "menupopup:is(#viewMenuPopup, #maintenanceButtonPopup) > #{$_iconMenu}";
$_sendTabMenuPopup: "#context_sendTabToDevicePopupMenu, #context-sendpagetodevice-popup, #context-sendlinktodevice-popup";
-$_otherPopupMenuitem: "menupopup:is(#{$_sendTabMenuPopup}, #frame > menupopup, #spell-dictionaries-menu) > menuitem#{$_checkMenu}";
+$_otherPopupMenuitem: "menupopup:is(#{$_sendTabMenuPopup}, #frame > menupopup, #spell-dictionaries-menu, #context-ask-chat > menupopup) > menuitem#{$_checkMenu}";
$_otherIconMenu: ".openintabs-menuitem, #blockedPopupDontShowMessage, #BMB_viewBookmarksToolbar, #sidebarMenu-popup:is(menupopup)";
//-- Mixin ---------------------------------------------------------------------
@@ -41,7 +41,7 @@ $_initialMenus: selector.append(
$_checkMenu
);
$_initialMenus: $_initialMenus + "," +
- selector.nest($_initialMenus, "> .menu-iconic-left > .menu-iconic-icon");
+ selector.nest($_initialMenus, "> .menu-iconic-left > .menu-iconic-icon, > .menu-icon");
@mixin _initial_menus() {
-moz-appearance: none !important; /* Linux: menulist */
}
@@ -192,6 +192,12 @@ $_initialMenus: $_initialMenus + "," +
// https://github.com/mozilla/gecko-dev/blob/e54707888510dec75db59a170b287d1db031505a/toolkit/themes/linux/global/menu.css#L103
--context-menu-text-padding: 21px;
}
+ .menu-icon {
+ display: unset !important;
+ }
+ #main-menubar > menu > .menu-icon {
+ display: none !important;
+ }
}
@mixin _layout_init_linux() {
padding-inline-start: 3px;
diff --git a/src/icons/layout/_menu_contents.scss b/src/icons/layout/_menu_contents.scss
index f772c6a..b1d8dd0 100644
--- a/src/icons/layout/_menu_contents.scss
+++ b/src/icons/layout/_menu_contents.scss
@@ -61,10 +61,12 @@ $_placesPopupSetMenus: selector.nest(
/* Contextmenu Checkbox Unset */
#{$_placesPopupSet} menuitem[type="checkbox"] {
margin-inline: 0 !important;
- > .menu-iconic-left > .menu-iconic-icon {
+ > .menu-iconic-left > .menu-iconic-icon,
+ > .menu-icon {
margin-inline-end: 0 !important;
}
- &:not([checked="true"]) > .menu-iconic-left > .menu-iconic-icon {
+ &:not([checked="true"]) > .menu-iconic-left > .menu-iconic-icon,
+ &:not([checked="true"]) > .menu-icon {
border: none !important;
background-color: unset !important;
}
diff --git a/src/leptonChromeNightly.scss b/src/leptonChromeNightly.scss
index a6e12d3..03de202 100644
--- a/src/leptonChromeNightly.scss
+++ b/src/leptonChromeNightly.scss
@@ -3,8 +3,9 @@
@namespace xul url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
@namespace html url("http://www.w3.org/1999/xhtml");
-@import "leptonChrome";
-
-/*@ NIGHTLY @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/
@include mode.MEDIA_PREF;
@import "leptonChrome";
+
+/*@ DEPRECATED @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/
+@include mode.MEDIA_BOOL_PREF;
+@import "leptonChrome";
diff --git a/src/leptonContentNightly.scss b/src/leptonContentNightly.scss
index 87f1740..64f28e9 100644
--- a/src/leptonContentNightly.scss
+++ b/src/leptonContentNightly.scss
@@ -3,8 +3,9 @@
@namespace xul url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
@namespace html url("http://www.w3.org/1999/xhtml");
-@import "leptonContent";
-
-/*@ NIGHTLY @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/
@include mode.MEDIA_PREF;
@import "leptonContent";
+
+/*@ DEPRECATED @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/
+@include mode.MEDIA_BOOL_PREF;
+@import "leptonContent";
diff --git a/src/library/_proton.scss b/src/library/_proton.scss
index f48a152..5c3eff5 100644
--- a/src/library/_proton.scss
+++ b/src/library/_proton.scss
@@ -101,7 +101,7 @@
#placesToolbar > toolbarbutton > .toolbarbutton-icon,
#placesMenu > menu > image,
-#placesMenu > menu > .menubar-text {
+#placesMenu > menu > :is(.menubar-text, .menu-text) {
-moz-context-properties: fill !important;
fill: currentColor !important;
}
@@ -131,7 +131,7 @@
background-color: var(--organizer-selected-background) !important;
color: var(--organizer-selected-color) !important;
}
- > .menubar-text {
+ > :is(.menubar-text, .menu-text) {
margin-block: 0 !important; /* override menu.css */
padding-inline-end: 4px !important;
}
diff --git a/src/navbar/_as_sidebar.scss b/src/navbar/_as_sidebar.scss
index 05ef66b..2975430 100644
--- a/src/navbar/_as_sidebar.scss
+++ b/src/navbar/_as_sidebar.scss
@@ -41,7 +41,7 @@
opacity: 0;
visibility: hidden; // If use `collapse`, inline `--urlbar-toolbar-height` variable is calculated strangely small.
}
- :root:has(#sidebar-box[positionend="true"]) #nav-bar {
+ :root:has(#sidebar-box[positionend]) #nav-bar {
right: 0;
}
}
@@ -109,7 +109,7 @@
position: absolute;
height: 100%;
- &[positionend="true"] {
+ &[positionend] {
right: 0;
}
}
@@ -125,10 +125,10 @@
height: calc(100% - var(--uc-customization-conatiner-margin));
}
- &:has(#sidebar-box:not([positionend="true"])) #customization-container {
+ &:has(#sidebar-box:not([positionend])) #customization-container {
margin-inline-start: var(--uc-sidebar-activate-width);
}
- &:has(#sidebar-box[positionend="true"]) #customization-container {
+ &:has(#sidebar-box[positionend]) #customization-container {
margin-inline-end: var(--uc-sidebar-activate-width);
}
diff --git a/src/padding/_drag_space.scss b/src/padding/_drag_space.scss
index 07e0f75..fd3c427 100644
--- a/src/padding/_drag_space.scss
+++ b/src/padding/_drag_space.scss
@@ -6,11 +6,11 @@
//-- Mixin ---------------------------------------------------------------------
@mixin _dragSpaceHeight {
- :root[tabsintitlebar][sizemode="normal"] #toolbar-menubar[autohide="true"] {
+ :root:is([tabsintitlebar], [customtitlebar])[sizemode="normal"] #toolbar-menubar[autohide="true"] {
@content;
}
@include Option("userChrome.padding.drag_space.maximized") {
- :root[tabsintitlebar][sizemode="maximized"] #toolbar-menubar[autohide="true"] {
+ :root:is([tabsintitlebar], [customtitlebar])[sizemode="maximized"] #toolbar-menubar[autohide="true"] {
@content;
}
}
diff --git a/src/padding/_first_tab.scss b/src/padding/_first_tab.scss
index 508a964..5684296 100644
--- a/src/padding/_first_tab.scss
+++ b/src/padding/_first_tab.scss
@@ -4,14 +4,14 @@
}
@include NotOption("userChrome.padding.first_tab.always") {
- :root:not([tabsintitlebar]) #tabbrowser-tabs:not([positionpinnedtabs]),
+ :root:not([tabsintitlebar]):not([customtitlebar]) #tabbrowser-tabs:not([positionpinnedtabs]),
:root:is([sizemode="maximized"], [sizemode="fullscreen"]) #tabbrowser-tabs:not([positionpinnedtabs]) {
padding-inline-start: var(--uc-space-left-tabbar) !important;
}
}
@include Option("userChrome.padding.first_tab.always") {
- :root:not([tabsintitlebar]) #tabbrowser-tabs,
+ :root:not([tabsintitlebar]):not([customtitlebar]) #tabbrowser-tabs,
:root:is([sizemode="maximized"], [sizemode="fullscreen"]) #tabbrowser-tabs {
padding-inline-start: calc(var(--tab-overflow-pinned-tabs-width, 0px) + var(--uc-space-left-tabbar)) !important;
}
diff --git a/src/padding/_index.scss b/src/padding/_index.scss
index 5f13bfa..32328f1 100644
--- a/src/padding/_index.scss
+++ b/src/padding/_index.scss
@@ -51,12 +51,14 @@
}
@include Option("userChrome.padding.urlView_expanding", "userChrome.urlView.as_commandbar") {
#urlbar[breakout][breakout-extend] {
- top: calc((var(--urlbar-toolbar-height, var(--urlbar-container-height)) - var(--urlbar-height)) / 2) !important;
- left: 0 !important;
- width: 100% !important;
+ top: calc(var(--urlbar-container-height) * 2 - var(--urlbar-height)) !important;
+ width: var(--urlbar-width) !important;
+ position: relative !important;
+ margin: 0 !important;
}
- #urlbar[breakout][breakout-extend] > #urlbar-input-container {
+ #urlbar[breakout][breakout-extend] > #urlbar-input-container,
+ #urlbar[breakout][breakout-extend] > .urlbar-input-container {
height: var(--urlbar-height) !important;
padding-block: 0 !important;
padding-inline: var(--urlbar-container-padding, 0px) !important;
diff --git a/src/padding/_tabbar_height.scss b/src/padding/_tabbar_height.scss
index 8b0b6a9..adafc8b 100644
--- a/src/padding/_tabbar_height.scss
+++ b/src/padding/_tabbar_height.scss
@@ -62,12 +62,17 @@
}
@include NotOption("userChrome.tabbar.multi_row") {
+ :root:not([uidensity="compact"]) #TabsToolbar:not([multibar]) #pinned-tabs-container,
+ #TabsToolbar:not([multibar]) #pinned-tabs-container[overflowing="true"] > .tabbrowser-tab[pinned="true"],
+ #TabsToolbar:not([multibar]) #pinned-tabs-container[overflowing="true"] > .tabbrowser-tab[pinned="true"] .tab-stack,
+ #TabsToolbar:not([multibar]) #pinned-tabs-container[overflowing="true"] > .tabbrowser-tab[pinned="true"] .tab-content,
:root:not([uidensity="compact"]) #TabsToolbar:not([multibar]) #tabbrowser-arrowscrollbox,
#TabsToolbar:not([multibar]) #tabbrowser-arrowscrollbox[overflowing="true"] > .tabbrowser-tab[pinned="true"],
#TabsToolbar:not([multibar]) #tabbrowser-arrowscrollbox[overflowing="true"] > .tabbrowser-tab[pinned="true"] .tab-stack,
#TabsToolbar:not([multibar]) #tabbrowser-arrowscrollbox[overflowing="true"] > .tabbrowser-tab[pinned="true"] .tab-content {
max-height: var(--tab-min-height) !important; /* Force apply height */
}
+ :root[uidensity="compact"] #TabsToolbar:not([multibar]) #pinned-tabs-container,
:root[uidensity="compact"] #TabsToolbar:not([multibar]) #tabbrowser-arrowscrollbox {
height: var(--tab-min-height) !important;
}
@@ -75,6 +80,7 @@
}
/* Scroll Button - Size Fix */
+:root #pinned-tabs-container,
:root #tabbrowser-arrowscrollbox {
--scrollbtn-vertical-padding: 3px;
--scrollbtn-vertical-border: 2px;
@@ -94,7 +100,7 @@
border-radius: var(--scrollbtn-border-radius, calc(var(--tab-border-radius) + 4px)) !important;
}
-:root[tabsintitlebar]:not([uidensity="compact"]) #toolbar-menubar[autohide="true"] {
+:root:is([tabsintitlebar], [customtitlebar]):not([uidensity="compact"]) #toolbar-menubar[autohide="true"] {
height: calc(
var(--tab-min-height) - var(--tabs-navbar-shadow-size) - 2px
); /* Compact: 28px, Normal: 33px, Touch: 38px */
diff --git a/src/padding/_tabbar_width.scss b/src/padding/_tabbar_width.scss
index fdc5ee1..af24fad 100644
--- a/src/padding/_tabbar_width.scss
+++ b/src/padding/_tabbar_width.scss
@@ -60,6 +60,7 @@
}
}
+:root:not([uidensity="touch"]) #pinned-tabs-container,
:root:not([uidensity="touch"]) #tabbrowser-arrowscrollbox {
--scrollbtn-inner-padding: 1px;
--scrollbtn-outer-padding: 3px;
@@ -92,14 +93,30 @@
}
.tabbrowser-tab[fadein]:not([pinned]):not([style*="max-width"]) {
max-width: var(--tab-max-width) !important; /* Original: 225px */
+
+ #tabbrowser-tabs[orient="vertical"][expanded] & {
+ max-width: none !important;
+ }
+ #tabbrowser-tabs[orient="horizontal"] tab-group[collapsed] > & {
+ min-width: 0 !important;
+ max-width: 0 !important;
+ padding: 0 !important;;
+ margin: 0 !important;
+ overflow-clip-margin: 0;
+ }
}
/* neighbouring tabs should "pinch" together */
:root[customizing="true"] #tabbrowser-arrowscrollbox-periphery,
+#tabbrowser-tabs:not([hasadjacentnewtabbutton]):not([overflow="true"])
+ > #pinned-tabs-container > #tabbrowser-arrowscrollbox-periphery,
#tabbrowser-tabs:not([hasadjacentnewtabbutton]):not([overflow="true"])
> #tabbrowser-arrowscrollbox > #tabbrowser-arrowscrollbox-periphery {
min-width: 3px; // With Panorama Tab Groups #643 #846
}
+#tabbrowser-tabs[orient="horizontal"] .tab-group-label-container {
+ margin-inline-start: 4px !important;
+}
@include NotOption("userChrome.tab.photon_like_padding") {
@include Option("userChrome.tab.lepton_like_padding") {
#TabsToolbar:not([multibar]) .tabbrowser-tab {
diff --git a/src/padding/_urlbar.scss b/src/padding/_urlbar.scss
index eadc489..eecbbd4 100644
--- a/src/padding/_urlbar.scss
+++ b/src/padding/_urlbar.scss
@@ -24,11 +24,6 @@
height: auto !important;
}
}
- :root[uidensity="touch"] & {
- // Fallback #881
- top: calc((var(--urlbar-toolbar-height, var(--urlbar-container-height))
- - var(--urlbar-height)) / 2 + 1px) !important;
- }
}
/* spread menu */
diff --git a/src/rounding/_square.scss b/src/rounding/_square.scss
index 5722402..3140184 100644
--- a/src/rounding/_square.scss
+++ b/src/rounding/_square.scss
@@ -3,6 +3,11 @@
--tab-border-radius: 0 !important; /* Original: 4px */
}
}
+@include NotOption("userChrome.rounding.square_tab") {
+ :root {
+ --tab-border-radius: 4px !important; /* Original: 4px */
+ }
+}
@include Option("userChrome.rounding.square_button") {
:root {
--urlbar-icon-border-radius: 0 !important; /* Original: calc(var(--toolbarbutton-border-radius) - 1px); */
diff --git a/src/sidebar/_overlap.scss b/src/sidebar/_overlap.scss
index b1f1585..84d2ced 100644
--- a/src/sidebar/_overlap.scss
+++ b/src/sidebar/_overlap.scss
@@ -33,11 +33,11 @@
#sidebar-box {
--uc-sidebar-shadow-color: #28282F;
- z-index: 1 !important;
+ z-index: var(--browser-area-z-index-sidebar-splitter, 3) !important;
position: relative !important;
box-shadow: var(--uc-sidebar-shadow-position) 0px 15px -10px var(--uc-sidebar-shadow-color);
- &[positionend="true"] {
+ &[positionend] {
--uc-sidebar-shadow-position: calc(-1 * var(--uc-sidebar-shadow-position-default));
}
}
@@ -53,7 +53,7 @@
}
@include Option("userChrome.sidebar.overlap") {
- #sidebar-box[positionend="true"] {
+ #sidebar-box[positionend] {
direction: rtl;
}
diff --git a/src/tab/_connect_to_window.scss b/src/tab/_connect_to_window.scss
index 89ba62b..671912f 100644
--- a/src/tab/_connect_to_window.scss
+++ b/src/tab/_connect_to_window.scss
@@ -1,19 +1,41 @@
+#TabsToolbar {
+ #tabbrowser-tabs:not([orient="vertical"]) {
+ max-height: var(--tab-min-height);
+ }
+ #tabbrowser-tabs:not([orient="vertical"])[movingtab] {
+ padding-bottom: unset !important;
+ margin-bottom: unset !important;
+ }
+
+ &[multibar] #tabbrowser-tabs:not([orient="vertical"]) {
+ max-height: var(--tab-min-height_mlt);
+ }
+}
+
+#tabbrowser-tabs:not([orient="vertical"]) {
+ min-height: unset !important; /* Original: var(--tabstrip-min-height) */
+
+ .tab-background {
+ border-radius: var(--tab-border-radius) var(--tab-border-radius) var(--uc-tab-border-bottom-radius, 0px) var(--uc-tab-border-bottom-radius, 0px) !important;
+ margin-bottom: 0px !important;
+ }
+
+ .tab-content {
+ margin-top: 0px; // #892 Consider var(--tab-block-margin)
+ }
+
+ .tab-stack {
+ margin-top: 0px !important;
+ margin-bottom: 0px !important;
+ }
+
+ tab-group .tabbrowser-tab:is([selected], [multiselected]) .tab-group-line {
+ transform: translateY(calc(var(--tab-group-line-thickness) * -1));
+ }
+}
#tabbrowser-tabs[orient="vertical"] {
--uc-tab-border-bottom-radius: var(--tab-border-radius);
}
-.tab-background {
- border-radius: var(--tab-border-radius) var(--tab-border-radius) var(--uc-tab-border-bottom-radius, 0px) var(--uc-tab-border-bottom-radius, 0px) !important;
- margin-bottom: 0px !important;
-}
-
-.tab-content {
- margin-top: 0px; // #892 Consider var(--tab-block-margin)
-}
-
-.tab-stack {
- margin-top: 0px !important;
- margin-bottom: 0px !important;
-}
/* Remove line at Toolbar's top */
#tabbrowser-tabs {
@@ -26,6 +48,7 @@
}
/* Pinned Tab - tabbrowser-arrowscrollbox overflowing */
+#tabbrowser-tabs[positionpinnedtabs] > #pinned-tabs-container > .tabbrowser-tab[pinned],
#tabbrowser-tabs[positionpinnedtabs] > #tabbrowser-arrowscrollbox > .tabbrowser-tab[pinned] {
z-index: 0 !important;
diff --git a/src/tab/_selected_tab.scss b/src/tab/_selected_tab.scss
index c2c3592..961d035 100644
--- a/src/tab/_selected_tab.scss
+++ b/src/tab/_selected_tab.scss
@@ -67,3 +67,27 @@
@include Option("userChrome.tab.photon_like_contextline") {
@import "selected_tab/photon_like_contextline";
}
+
+/*= Selected Tab - Supernova like contextline ===================================*/
+@include NotOption("userChrome.tab.photon_like_contextline") {
+ @include Option("userChrome.tab.supernova_like_contextline") {
+ @import "selected_tab/supernova_like_contextline";
+
+ @include Option("userChrome.tab.contextline_blue_accent") {
+ #tabbrowser-tabs .tab-context-line {
+ --tab-line-color: #45a1ff !important;
+ }
+ }
+ @include NotOption("userChrome.tab.contextline_blue_accent") {
+ @include OS("linux") {
+ @include not_lwtheme {
+ #tabbrowser-tabs .tab-context-line {
+ @include AccentColor("Highlight") {
+ --tab-line-color: #{$accentColor} !important; /* -moz-accent-color */
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/src/tab/clipped_tab/_letters_cleary.scss b/src/tab/clipped_tab/_letters_cleary.scss
index 2151ded..d5c5bd9 100644
--- a/src/tab/clipped_tab/_letters_cleary.scss
+++ b/src/tab/clipped_tab/_letters_cleary.scss
@@ -30,6 +30,7 @@
}
.tabbrowser-tab[visuallyselected]:not([labelendaligned]):hover .tab-label-container,
+#tabbrowser-tabs:not([closebuttons=activetab]) > #pinned-tabs-container > .tabbrowser-tab:not([visuallyselected],[labelendaligned]):hover .tab-label-container,
#tabbrowser-tabs:not([closebuttons=activetab]) > #tabbrowser-arrowscrollbox > .tabbrowser-tab:not([visuallyselected],[labelendaligned]):hover .tab-label-container {
--tab-label-mask-size: 0.9em; /* Original: 1em */
}
diff --git a/src/tab/clipped_tab/_show_close_button_at_hover.scss b/src/tab/clipped_tab/_show_close_button_at_hover.scss
index 8629f5e..34bda20 100644
--- a/src/tab/clipped_tab/_show_close_button_at_hover.scss
+++ b/src/tab/clipped_tab/_show_close_button_at_hover.scss
@@ -19,6 +19,11 @@
}
#tabbrowser-tabs[closebuttons="activetab"] {
+ > #pinned-tabs-container
+ > .tabbrowser-tab:not([pinned])
+ > .tab-stack
+ > .tab-content
+ > .tab-close-button:not([selected]),
> #tabbrowser-arrowscrollbox
> .tabbrowser-tab:not([pinned])
> .tab-stack
diff --git a/src/tab/newtab_button/_looks_like_tab.scss b/src/tab/newtab_button/_looks_like_tab.scss
index f6e7c8c..bd9303b 100644
--- a/src/tab/newtab_button/_looks_like_tab.scss
+++ b/src/tab/newtab_button/_looks_like_tab.scss
@@ -1,4 +1,4 @@
-#tabs-newtab-button {
+#tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button {
@include Option("userChrome.tab.connect_to_window") {
/* Size */
@include BoxAlign("stretch", true);
@@ -73,16 +73,16 @@
}
@media (-moz-windows-accent-color-in-titlebar) {
@include AccentColor {
- :root[tabsintitlebar]:not(:-moz-window-inactive)#{$not_lwtheme} #tabs-newtab-button:hover,
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) #tabs-newtab-button:hover {
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive)#{$not_lwtheme} #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button:hover,
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button:hover {
fill: color-mix(
in srgb,
$accentTextColor 10%,
transparent
) !important; /* Hardcoded for compatibility */
}
- :root[tabsintitlebar]:not(:-moz-window-inactive)#{$not_lwtheme} #tabs-newtab-button:hover:active,
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) #tabs-newtab-button:hover:active {
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive)#{$not_lwtheme} #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button:hover:active,
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button:hover:active {
fill: color-mix(
in srgb,
$accentTextColor 15%,
@@ -98,14 +98,14 @@
"userChrome.tab.bottom_rounded_corner.chrome",
"userChrome.tab.bottom_rounded_corner.edge"
) {
- :root[tabsintitlebar]:not(:-moz-window-inactive)#{$not_lwtheme} #tabs-newtab-button:hover,
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) #tabs-newtab-button:hover {
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive)#{$not_lwtheme} #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button:hover,
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button:hover {
background-image: var(--uc-tab-corner-left-side-svg),
linear-gradient(to left, color-mix(in srgb, $accentTextColor 10%, transparent), color-mix(in srgb, $accentTextColor 10%, transparent)),
var(--uc-tab-corner-right-side-svg);
}
- :root[tabsintitlebar]:not(:-moz-window-inactive)#{$not_lwtheme} #tabs-newtab-button:hover:active,
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) #tabs-newtab-button:hover:active {
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive)#{$not_lwtheme} #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button:hover:active,
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button:hover:active {
background-image: var(--uc-tab-corner-left-side-svg),
linear-gradient(to left, color-mix(in srgb, $accentTextColor 15%, transparent), color-mix(in srgb, $accentTextColor 15%, transparent)),
var(--uc-tab-corner-right-side-svg);
@@ -116,7 +116,7 @@
}
/* '+'Icon */
-#tabs-newtab-button .toolbarbutton-icon {
+#tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button .toolbarbutton-icon {
border-radius: var(--tab-border-radius) var(--tab-border-radius) 0 0 !important; /* Original: var(--tab-border-radius) */
padding: calc(var(--toolbarbutton-inner-padding) - (var(--tab-block-margin) / 4)) var(--toolbarbutton-inner-padding)
diff --git a/src/tab/selected_tab/_bold.scss b/src/tab/selected_tab/_bold.scss
index 0b0fa2e..5157637 100644
--- a/src/tab/selected_tab/_bold.scss
+++ b/src/tab/selected_tab/_bold.scss
@@ -1,7 +1,4 @@
.tab-label:is([selected], [attention]) {
- @include NotOption("userChrome.tab.selected_bold") {
- font-weight: 400 !important;
- }
@include Option("userChrome.tab.selected_bold") {
font-weight: 600;
}
diff --git a/src/tab/selected_tab/_color_like_toolbar.scss b/src/tab/selected_tab/_color_like_toolbar.scss
index d6695dd..75ede0c 100644
--- a/src/tab/selected_tab/_color_like_toolbar.scss
+++ b/src/tab/selected_tab/_color_like_toolbar.scss
@@ -7,6 +7,26 @@
background-color: var(--tab-selected-bgcolor, var(--toolbar-bgcolor)) !important;
}
+#pinned-tabs-container
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[selected],
+#tabbrowser-tabs:not([movingtab])
+ > #pinned-tabs-container
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[selected],
+#pinned-tabs-container
+ > tab-group
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[selected],
+#tabbrowser-tabs[orient="horizontal"]:not([movingtab])
+ > #pinned-tabs-container
+ > tab-group
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[selected],
#tabbrowser-arrowscrollbox
> .tabbrowser-tab
> .tab-stack
@@ -15,6 +35,17 @@
> #tabbrowser-arrowscrollbox
> .tabbrowser-tab
> .tab-stack
+ > .tab-background[selected],
+#tabbrowser-arrowscrollbox
+ > tab-group
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[selected],
+#tabbrowser-tabs[orient="horizontal"]:not([movingtab])
+ > #tabbrowser-arrowscrollbox
+ > tab-group
+ > .tabbrowser-tab
+ > .tab-stack
> .tab-background[selected] {
@include lwtheme(false) {
/* Original: linear-gradient(var(--lwt-selected-tab-background-color, transparent), var(--lwt-selected-tab-background-color, transparent)), linear-gradient(var(--toolbar-bgcolor), var(--toolbar-bgcolor)), var(--lwt-header-image, none)
diff --git a/src/tab/selected_tab/_multi_selected.scss b/src/tab/selected_tab/_multi_selected.scss
index a5605d7..8375d4d 100644
--- a/src/tab/selected_tab/_multi_selected.scss
+++ b/src/tab/selected_tab/_multi_selected.scss
@@ -1,4 +1,5 @@
-#TabsToolbar {
+#TabsToolbar,
+#vertical-tabs {
--uc-multiselected-tab-bgcolor: color-mix(in srgb, currentColor 28%, var(--toolbar-bgcolor, transparent));
&[brighttext] {
@@ -6,10 +7,27 @@
}
}
+#tabbrowser-tabs:not([movingtab])
+ > #pinned-tabs-container
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[multiselected]:not([selected]),
+#tabbrowser-tabs:not([movingtab])
+ > #pinned-tabs-container
+ > tab-group
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[multiselected]:not([selected]),
#tabbrowser-tabs:not([movingtab])
> #tabbrowser-arrowscrollbox
> .tabbrowser-tab
> .tab-stack
+ > .tab-background[multiselected]:not([selected]),
+#tabbrowser-tabs:not([movingtab])
+ > #tabbrowser-arrowscrollbox
+ > tab-group
+ > .tabbrowser-tab
+ > .tab-stack
> .tab-background[multiselected]:not([selected]) {
/* Original:
background-attachment: scroll, scroll, fixed;
diff --git a/src/tab/selected_tab/_supernova_like_contextline.scss b/src/tab/selected_tab/_supernova_like_contextline.scss
new file mode 100644
index 0000000..32e0830
--- /dev/null
+++ b/src/tab/selected_tab/_supernova_like_contextline.scss
@@ -0,0 +1,107 @@
+/* context line styles */
+tabs tab.tabbrowser-tab > .tab-stack > .tab-background > .tab-context-line {
+ @include InlineBox(true);
+ &::before {
+ content: "";
+ height: 1px !important;
+ border-radius: 9999px !important;
+ transform: translateY(5px);
+ margin-top: -1px !important;
+ margin-left: 5px;
+ margin-right: 5px;
+ width: 100%;
+ }
+}
+
+/* Override container-tab style */
+tabs tab.tabbrowser-tab[usercontextid] > .tab-stack > .tab-background > .tab-context-line {
+ margin: unset !important;
+}
+
+/* selected tab style */
+#{built-in-light-theme()} .tab-context-line,
+#{built-in-dark-theme()} .tab-context-line {
+ --tab-line-color: #45a1ff;
+}
+.tabbrowser-tab:is([selected], [multiselected]) .tab-context-line::before {
+ background-color: var(--tab-line-color, var(--lwt-tab-line-color, #45a1ff)) !important;
+}
+
+/* Set the active effect */
+.tabbrowser-tab:active > .tab-stack > .tab-background > .tab-context-line::before {
+ filter: brightness(70%);
+ margin-left: 6px;
+ margin-right: 6px;
+}
+
+/* Set the hover effect */
+.tabbrowser-tab:hover:not([selected="true"], [multiselected])
+ > .tab-stack
+ > .tab-background
+ > .tab-context-line::before {
+ background-color: rgba(0, 0, 0, 0.4) !important;
+ opacity: 1 !important;
+}
+
+#TabsToolbar[brighttext]
+ .tabbrowser-tab:hover:not([selected="true"], [multiselected])
+ > .tab-stack
+ > .tab-background
+ > .tab-context-line::before {
+ background-color: rgba(255, 255, 255, 0.4) !important;
+}
+
+
+/* Animation */
+@media (prefers-reduced-motion: no-preference) {
+ .tabbrowser-tab:hover:not([selected="true"], [multiselected])
+ > .tab-stack
+ > .tab-background
+ > .tab-context-line::before {
+ animation: toWide 0.2s cubic-bezier(0, 0.9, 0.15, 1);
+ }
+}
+
+/* Animation for hover effect */
+@keyframes toWide {
+ 0% {
+ opacity: 0.8;
+ margin-left: 40%;
+ margin-right: 40%;
+ }
+ 100% {
+ opacity: 1;
+ margin-left: 5px;
+ margin-right: 5px;
+ }
+}
+
+/* --- copied (not modified) from _photon_like_contextline.scss --- */
+
+/* Prevent identity color flashing */
+.tabbrowser-tab[usercontextid] .tab-context-line {
+ --identity-icon-color: none;
+}
+:root:not([customizing="true"]) #TabsToolbar[brighttext] tab[visuallyselected] > stack::before,
+:root:not([customizing="true"]) #TabsToolbar[brighttext] tab[visuallyselected] > stack::after {
+ /* As Selected Tab - Box Shadow */
+ stroke: var(--toolbar-color) !important;
+}
+
+/* Remove side's background color border */
+:root#{$lwtheme}
+ #TabsToolbar[brighttext]
+ #tabbrowser-tabs:not([noshadowfortests])
+ .tabbrowser-tab:is([visuallyselected], [multiselected])
+ > .tab-stack
+ > .tab-background {
+ --tabs-border-color: rgba(0, 0, 0, 0.3) !important;
+ box-shadow: 0 0 1px var(--tabs-border-color) !important; /* Original: 0 0 1px var(--tab-line-color, rgba(128,128,142,0.9)) */
+}
+#TabsToolbar:not([brighttext])
+ #tabbrowser-tabs:not([noshadowfortests])
+ .tabbrowser-tab:is([visuallyselected], [multiselected])
+ > .tab-stack
+ > .tab-background {
+ box-shadow: 0 0 1px var(--tabs-border-color), 0 0 4px rgba(128, 128, 142, 0.5) !important; /* Original: 0 0 1px var(--tab-line-color, rgba(128,128,142,0.9)), 0 0 4px rgba(128,128,142,0.5) */
+}
diff --git a/src/tab/sound_tab/_show_with_favicons.scss b/src/tab/sound_tab/_show_with_favicons.scss
index 4d1a5db..662bd08 100644
--- a/src/tab/sound_tab/_show_with_favicons.scss
+++ b/src/tab/sound_tab/_show_with_favicons.scss
@@ -60,6 +60,29 @@
width: 17px !important;
height: 17px !important;
}
+.tab-icon-overlay:not([crashed]) {
+ // https://github.com/black7375/Firefox-UI-Fix/issues/1011
+ &:is([soundplaying], [muted], [activemedia-blocked]) {
+ -moz-context-properties: fill, fill-opacity, stroke !important;
+ fill: currentColor !important;
+ border: none !important;
+ }
+ &:is([pinned], [sharing]) {
+ stroke: var(--tab-icon-overlay-stroke, light-dark(white, black));
+ color: var(--tab-icon-overlay-fill, light-dark(black, white));
+ }
+
+ // There is a difference in size between background-image and list-style-image due to margins, etc.
+ &[soundplaying] {
+ list-style-image: url("./icons/tab-audio-playing-small.svg");
+ }
+ &[muted] {
+ list-style-image: url("./icons/tab-audio-muted-small.svg");
+ }
+ &[activemedia-blocked] {
+ list-style-image: url("./icons/tab-audio-blocked-small.svg");
+ }
+}
.tab-icon-overlay:not([sharing], [crashed]):is([soundplaying], [muted], [activemedia-blocked]) {
/* Color */
color: currentColor !important;
@@ -69,6 +92,32 @@
opacity: 1 !important;
}
+.tab-audio-button:not([crashed]),
+.tab-audio-button[pinned][crashed][selected] {
+ /* Position */
+ margin-inline-start: -8px !important;
+ margin-inline-end: -4px !important;
+ z-index: 1 !important;
+ transform: translateX(var(--uc-sound-tab-icon-position-x)) translateY(var(--uc-sound-tab-icon-position-y));
+
+ /* Shape */
+ --button-size-icon-small: 17px !important;
+ --button-min-height-small: 17px !important;
+ --button-border-radius: 100% !important;
+ width: 17px !important;
+ height: 17px !important;
+ border-radius: 100%;
+ overflow: clip;
+
+ --button-text-color-ghost-hover: light-dark(white, black);
+ --button-background-color-ghost-hover: light-dark(black, white);
+}
+.tab-audio-button:not([sharing], [crashed]):is([soundplaying], [muted], [activemedia-blocked]) {
+ display: flex !important;
+ fill-opacity: 0.8 !important;
+ opacity: 1 !important;
+}
+
/* Label */
@include _hidden_tabIcon_soundTabLabel {
.tabbrowser-tab:not([pinned], [sharing], [crashed]):is([soundplaying], [muted], [activemedia-blocked]) {
diff --git a/src/tab/unselected_tab/_dynamic_separator.scss b/src/tab/unselected_tab/_dynamic_separator.scss
index 15292a9..1b9b392 100644
--- a/src/tab/unselected_tab/_dynamic_separator.scss
+++ b/src/tab/unselected_tab/_dynamic_separator.scss
@@ -23,6 +23,7 @@
//------------------------------------------------------------------------------
+#pinned-tabs-container,
#tabbrowser-arrowscrollbox {
--start-tab-separator-position-x: -1.5px;
--end-tab-separator-position-x: 1.5px;
@@ -40,42 +41,43 @@
}
@include Option("userChrome.tab.newtab_button_like_tab") {
- .tab-stack::before,
- #tabs-newtab-button::before {
+ #tabbrowser-tabs:not([orient="vertical"]) .tab-stack::before,
+ #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button::before {
@include _dynamicSeparatorShape;
/* More position */
transform: translateX(var(--tab-separator-position-x)) translateY(var(--tab-separator-position-y));
}
- #tabs-newtab-button::before {
+ #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button::before {
left: calc(50% - (8px + var(--toolbarbutton-inner-padding)));
}
}
@include NotOption("userChrome.tab.newtab_button_like_tab") {
- .tab-stack::before,
- #tabbrowser-arrowscrollbox:not([overflowing])
+ #tabbrowser-tabs:not([orient="vertical"]) .tab-stack::before,
+ #tabbrowser-tabs:not([orient="vertical"]) #tabbrowser-arrowscrollbox:not([overflowing])
.tabbrowser-tab:not([visuallyselected], [multiselected], :hover):last-of-type
.tab-stack::after {
@include _dynamicSeparatorShape;
}
- .tab-stack::before {
+ #tabbrowser-tabs:not([orient="vertical"]) .tab-stack::before {
transform: translateX(var(--tab-separator-position-x)) translateY(var(--tab-separator-position-y)) !important;
}
- .tabbrowser-tab:last-of-type .tab-stack::after {
+ #tabbrowser-tabs:not([orient="vertical"]) .tabbrowser-tab:last-of-type .tab-stack::after {
right: 0;
transform: translateX(var(--end-tab-separator-position-x)) translateY(var(--tab-separator-position-y)) !important;
}
}
-.tabbrowser-tab:not([visuallyselected], [multiselected], :hover, :first-of-type) .tab-stack::before {
+#pinned-tabs-container:not([orient="vertical"]):not(:empty):not(:has(.tabbrowser-tab[pinned]:is([visuallyselected], [multiselected], :hover):last-of-type)) ~ #tabbrowser-arrowscrollbox:not([orient="vertical"]) .tabbrowser-tab:not([visuallyselected], [multiselected], :hover):first-of-type .tab-stack::before,
+#tabbrowser-tabs:not([orient="vertical"]) .tabbrowser-tab:not([visuallyselected], [multiselected], :hover, :first-of-type) .tab-stack::before {
opacity: var(--tab-separator-opacity);
}
@include Option("userChrome.tabbar.one_liner") {
@include NotOption("userChrome.tabbar.one_liner.tabbar_first") {
@include OneLinerContent {
- .tabbrowser-tab:not([visuallyselected], [multiselected], :hover):first-of-type .tab-stack::before {
+ #tabbrowser-tabs:not([orient="vertical"]) .tabbrowser-tab:not([visuallyselected], [multiselected], :hover):first-of-type .tab-stack::before {
opacity: var(--tab-separator-opacity);
transform: translateX(var(--start-tab-separator-position-x)) translateY(var(--tab-separator-position-y));
}
@@ -83,68 +85,75 @@
}
}
@include Option("userChrome.tab.newtab_button_like_tab") {
- #tabs-newtab-button:not(:hover, [open])::before {
+ #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button:not(:hover, [open])::before {
opacity: var(--tab-separator-opacity);
}
}
@include NotOption("userChrome.tab.newtab_button_like_tab") {
- #tabbrowser-arrowscrollbox:not([overflowing])
+ #tabbrowser-tabs:not([orient="vertical"]) #tabbrowser-arrowscrollbox:not([overflowing])
.tabbrowser-tab:not([visuallyselected], [multiselected], :hover):last-of-type
.tab-stack::after {
opacity: var(--tab-separator-opacity);
}
}
-#navigator-toolbox:not([movingtab])
+#tabbrowser-tabs:not([orient="vertical"]) tab-group {
+ &:has(.tabbrowser-tab:last-child:is(:hover, [selected])) + .tabbrowser-tab .tab-stack::before,
+ &[collapsed] + .tabbrowser-tab .tab-stack::before {
+ opacity: 0 !important;
+ }
+}
+
+#navigator-toolbox:not([movingtab]) #tabbrowser-tabs:not([orient="vertical"])
.tabbrowser-tab:is([first-visible-unpinned-tab], :nth-child(1 of :not([pinned], [hidden]))):is([visuallyselected], [multiselected], :hover)
.tab-stack::before,
-#navigator-toolbox:not([movingtab])
+#navigator-toolbox:not([movingtab]) #tabbrowser-tabs:not([orient="vertical"])
#tabbrowser-arrowscrollbox[overflowing]
tab.tabbrowser-tab:is([first-visible-unpinned-tab], :nth-child(1 of :not([pinned], [hidden])))
.tab-stack::before {
opacity: 0 !important;
}
@include Option("userChrome.tab.newtab_button_like_tab") {
- #navigator-toolbox:not([movingtab])
+ #navigator-toolbox:not([movingtab]) #tabbrowser-tabs:not([orient="vertical"])
.tabbrowser-tab:is([visuallyselected], [multiselected], :hover)
+ .tabbrowser-tab
.tab-stack::before,
- #navigator-toolbox:not([movingtab])
+ #navigator-toolbox:not([movingtab]) #tabbrowser-tabs:not([orient="vertical"])
.tabbrowser-tab:last-of-type:is([visuallyselected], [multiselected], :hover)
~ #tabs-newtab-button::before, /* Legacy - v103 */
- #navigator-toolbox:not([movingtab])
+ #navigator-toolbox:not([movingtab]) #tabbrowser-tabs:not([orient="vertical"])
.tabbrowser-tab:last-of-type:is([visuallyselected], [multiselected], :hover)
~ #tabbrowser-arrowscrollbox-periphery #tabs-newtab-button::before {
opacity: 0 !important;
}
}
@include NotOption("userChrome.tab.newtab_button_like_tab") {
- .tabbrowser-tab:is([visuallyselected], [multiselected], :hover)
+ #tabbrowser-tabs:not([orient="vertical"]) .tabbrowser-tab:is([visuallyselected], [multiselected], :hover)
+ .tabbrowser-tab:not([visuallyselected])
.tab-stack::before {
opacity: 0 !important;
}
- :root:not([uidensity="compact"]) #tabs-newtab-button > .toolbarbutton-icon {
+ :root:not([uidensity="compact"]) #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button > .toolbarbutton-icon {
margin-left: 2px;
}
- :root[uidensity="compact"] #tabs-newtab-button > .toolbarbutton-icon {
+ :root[uidensity="compact"] #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button > .toolbarbutton-icon {
margin-left: 1px;
}
}
/* Animate */
@include Animate {
- .tab-stack::before {
+ #tabbrowser-tabs:not([orient="vertical"]) .tab-stack::before {
transition: opacity 0.2s var(--animation-easing-function); /* cubic-bezier(.07, .95, 0, 1) */
}
@include Option("userChrome.tab.newtab_button_like_tab") {
- #tabs-newtab-button::before {
+ #tabbrowser-tabs:not([orient="vertical"]) #tabs-newtab-button::before {
transition: opacity 0.2s var(--animation-easing-function); /* cubic-bezier(.07, .95, 0, 1) */
}
}
@include NotOption("userChrome.tab.newtab_button_like_tab") {
- #tabbrowser-arrowscrollbox:not([overflowing])
+ #tabbrowser-tabs:not([orient="vertical"]) #tabbrowser-arrowscrollbox:not([overflowing])
.tabbrowser-tab:not([visuallyselected], [multiselected], :hover):last-of-type
.tab-stack::after {
transition: opacity 0.2s var(--animation-easing-function); /* cubic-bezier(.07, .95, 0, 1) */
@@ -153,6 +162,6 @@
}
/* Latest Tab & New tab margin */
-#tabbrowser-arrowscrollbox:not([overflowing]) .tabbrowser-tab:last-of-type {
+#tabbrowser-tabs:not([orient="vertical"]) #tabbrowser-arrowscrollbox:not([overflowing]) .tabbrowser-tab:last-of-type {
margin-inline-end: 1px !important;
}
diff --git a/src/tabbar/_as_titlebar.scss b/src/tabbar/_as_titlebar.scss
index bd0c6cd..813a38a 100644
--- a/src/tabbar/_as_titlebar.scss
+++ b/src/tabbar/_as_titlebar.scss
@@ -12,7 +12,7 @@
//------------------------------------------------------------------------------
-:root:not([tabsintitlebar="true"]) #tabbrowser-tabs, /* Show only */
+:root:not([tabsintitlebar="true"]):not([customtitlebar="true"]) #tabbrowser-tabs, /* Show only */
#scrollbutton-up, /* Defaults */
#scrollbutton-down,
.titlebar-spacer[type="pre-tabs"],
@@ -48,6 +48,7 @@ spacer:is([part="overflow-start-indicator"], [part="overflow-end-indicator"]),
}
/* Pinned */
+#tabbrowser-tabs[positionpinnedtabs] > #pinned-tabs-container > .tabbrowser-tab[pinned][selected="true"],
#tabbrowser-tabs[positionpinnedtabs] > #tabbrowser-arrowscrollbox > .tabbrowser-tab[pinned][selected="true"] {
position: relative !important;
}
@@ -70,18 +71,19 @@ spacer:is([part="overflow-start-indicator"], [part="overflow-end-indicator"]),
/* Padding */
@include _asTitlebar_preSpacer {
+ #pinned-tabs-container,
#tabbrowser-arrowscrollbox {
margin-inline: 2px !important;
- }
- :root[sizemode="normal"] #tabbrowser-arrowscrollbox {
- margin-inline: 6px !important;
+ :root[sizemode="normal"] & {
+ margin-inline: 6px !important;
+ }
}
}
@include Option("browser.tabs.tabmanager.enabled") {
- :root:not([tabsintitlebar="true"]) #tabbrowser-tabs:not([overflow="true"], [hashiddentabs]) ~ #alltabs-button,
- :root:not([tabsintitlebar="true"]) #tabbrowser-tabs[hasadjacentnewtabbutton]:not([overflow="true"]) ~ #new-tab-button {
+ :root:not([tabsintitlebar="true"]):not([customtitlebar="true"]) #tabbrowser-tabs:not([overflow="true"], [hashiddentabs]) ~ #alltabs-button,
+ :root:not([tabsintitlebar="true"]):not([customtitlebar="true"]) #tabbrowser-tabs[hasadjacentnewtabbutton]:not([overflow="true"]) ~ #new-tab-button {
@include Box(true);
}
}
diff --git a/src/tabbar/_index.scss b/src/tabbar/_index.scss
index 2f28f58..b13c753 100644
--- a/src/tabbar/_index.scss
+++ b/src/tabbar/_index.scss
@@ -6,6 +6,8 @@
// flex-wrap: wrap; // Disabled at #700
}
:root[sizemode="fullscreen"] #titlebar,
+ :root[sizemode="fullscreen"] #toolbar-menubar,
+ :root[sizemode="fullscreen"] #TabsToolbar,
:root[sizemode="fullscreen"] #nav-bar,
:root[sizemode="fullscreen"] #PersonalToolbar,
:root[sizemode="fullscreen"] #tab-notification-deck,
diff --git a/src/tabbar/_multi_row.scss b/src/tabbar/_multi_row.scss
index d136f51..d7864a3 100644
--- a/src/tabbar/_multi_row.scss
+++ b/src/tabbar/_multi_row.scss
@@ -40,6 +40,7 @@ See the above repository for updates as well as full license text. */
}
.scrollbox-clip[orient="horizontal"],
+#pinned-tabs-container,
#tabbrowser-arrowscrollbox {
overflow: -moz-hidden-unscrollable;
display: block;
diff --git a/src/tabbar/_on_bottom.scss b/src/tabbar/_on_bottom.scss
index 489bb49..456a535 100644
--- a/src/tabbar/_on_bottom.scss
+++ b/src/tabbar/_on_bottom.scss
@@ -2,7 +2,8 @@
See the above repository for updates as well as full license text. */
/*= Tabbar - Move to bottom ==================================================*/
-#titlebar {
+#titlebar,
+#TabsToolbar {
@include BoxOrder(2) /* When userChrome.fullscreen.overlap */;
--tabs-navbar-shadow-size: 0px;
}
@@ -81,7 +82,7 @@ See the above repository for updates as well as full license text. */
width: 100%;
overflow: hidden;
}
- :root[tabsintitlebar] #toolbar-menubar[autohide="true"]:not([inactive="true"]) {
+ :root:is([tabsintitlebar], [customtitlebar]) #toolbar-menubar[autohide="true"]:not([inactive="true"]) {
height: var(--uc-menubar-height) !important; /* calc(var(--tab-min-height) + 2 * var(--tab-block-margin)) */
}
diff --git a/src/tabbar/_one_liner.scss b/src/tabbar/_one_liner.scss
index b4ccba9..52c297b 100644
--- a/src/tabbar/_one_liner.scss
+++ b/src/tabbar/_one_liner.scss
@@ -19,7 +19,9 @@
// transform: translateY(calc(-1 * var(--uc-navbar-block, 0px)));
}
-#titlebar {
+#titlebar,
+#toolbar-menubar,
+#TabsToolbar {
transform: translateY(var(--uc-navbar-block, 0px));
}
#TabsToolbar > .titlebar-buttonbox-container {
diff --git a/src/tabbar/_unscroll.scss b/src/tabbar/_unscroll.scss
index f343b0f..24018e1 100644
--- a/src/tabbar/_unscroll.scss
+++ b/src/tabbar/_unscroll.scss
@@ -46,6 +46,7 @@ spacer[part="overflow-start-indicator"] + .scrollbox-clip > scrollbox {
}
}
+ #pinned-tabs-container,
#tabbrowser-arrowscrollbox {
padding-inline-end: calc(16px + (var(--toolbarbutton-inner-padding) + var(--toolbarbutton-outer-padding)) * 2) !important;
}
diff --git a/src/tabbar/layout/_window_control.scss b/src/tabbar/layout/_window_control.scss
index 2c45148..bf0b908 100644
--- a/src/tabbar/layout/_window_control.scss
+++ b/src/tabbar/layout/_window_control.scss
@@ -53,7 +53,7 @@ See the above repository for updates as well as full license text. */
}
@include OS($win) {
- :root[sizemode="maximized"][tabsintitlebar] {
+ :root[sizemode="maximized"]:is([tabsintitlebar], [customtitlebar]) {
@if mode.isESR() {
--uc-titlebar-padding: 8px;
}
@@ -62,11 +62,11 @@ See the above repository for updates as well as full license text. */
margin-top: calc(-1 * var(--uc-titlebar-padding));
}
}
- :root[sizemode="normal"][tabsintitlebar] #titlebar,
- :root[sizemode="maximized"][tabsintitlebar] #titlebar {
+ :root[sizemode="normal"]:is([tabsintitlebar], [customtitlebar]) #titlebar,
+ :root[sizemode="maximized"]:is([tabsintitlebar], [customtitlebar]) #titlebar {
appearance: none !important;
}
- .browser-toolbar:not(.titlebar-color) {
+ .browser-toolbar:not(.titlebar-color):not(.browser-titlebar) {
background-clip: border-box !important;
}
}
@@ -130,12 +130,16 @@ See the above repository for updates as well as full license text. */
}
}
- :root[tabsintitlebar] #titlebar {
- z-index: 1;
- &:-moz-window-inactive {
- opacity: 1 !important;
- .titlebar-buttonbox {
- opacity: var(--inactive-titlebar-opacity);
+ :root:is([tabsintitlebar], [customtitlebar]) {
+ #titlebar,
+ #toolbar-menubar,
+ #TabsToolbar {
+ z-index: 1;
+ &:-moz-window-inactive {
+ opacity: 1 !important;
+ .titlebar-buttonbox {
+ opacity: var(--inactive-titlebar-opacity);
+ }
}
}
}
diff --git a/src/tabbar/layout/_window_control_size.scss b/src/tabbar/layout/_window_control_size.scss
index 6407d1b..d9c9a62 100644
--- a/src/tabbar/layout/_window_control_size.scss
+++ b/src/tabbar/layout/_window_control_size.scss
@@ -40,7 +40,7 @@
//------------------------------------------------------------------------------
-:root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+:root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
--uc-window-drag-space-pre: var(--uc-title-pre-spacer, 40px); // 30px
--uc-window-drag-space-post: var(--uc-title-post-spacer, 40px); // 25px
@@ -71,7 +71,7 @@
}
}
@include OS($mac) {
- :root[tabsintitlebar] {
+ :root:is([tabsintitlebar], [customtitlebar]) {
--uc-window-control-width: 72px;
}
:root[sizemode="fullscreen"] {
@@ -79,12 +79,12 @@
}
}
-:root:is([tabsintitlebar][sizemode="maximized"], [sizemode="fullscreen"]) {
+:root:is([tabsintitlebar][sizemode="maximized"], [customtitlebar][sizemode="maximized"], [sizemode="fullscreen"]) {
@include _remove_spacer_pre;
}
@include Option("userChrome.tabbar.one_liner") {
- :root:is([tabsintitlebar], [sizemode="fullscreen"]) {
+ :root:is([tabsintitlebar], [customtitlebar], [sizemode="fullscreen"]) {
@include NotOption("userChrome.tabbar.one_liner.responsive") {
@include _remove_spacer_oneLiner;
}
diff --git a/src/theme/_fully_color.scss b/src/theme/_fully_color.scss
index 54e5449..2808b0a 100644
--- a/src/theme/_fully_color.scss
+++ b/src/theme/_fully_color.scss
@@ -57,7 +57,6 @@ html#main-window menupopup:not(.in-menulist) {
background-color: var(--menuitem-hover-background-color) !important;
}
- &,
&[disabled="true"] > .menu-iconic-left > .menu-iconic-icon {
background-color: transparent !important;
}
@@ -134,6 +133,16 @@ html#main-window menupopup:not(.in-menulist) {
background-color: var(--button-active-bgcolor) !important;
}
}
+.notification-button.primary {
+ background-color: var(--button-primary-bgcolor) !important;
+
+ &:hover {
+ background-color: var(--button-primary-hover-bgcolor) !important;
+ }
+ &:hover:active {
+ background-color: var(--button-primary-active-bgcolor) !important;
+ }
+}
html|button.ghost-button:not(.semi-transparent):enabled:hover {
background-color: var(--button-hover-bgcolor) !important;
@@ -177,8 +186,8 @@ html|button.ghost-button:not(.semi-transparent):enabled:hover:active {
background-color: var(--button-active-bgcolor, color-mix(in srgb, currentColor 30%, transparent)) !important;
}
-#editBMPanel_namePicker,
-#editBMPanel_tagsField {
+#editBookmarkPanel #editBMPanel_namePicker,
+#editBookmarkPanel #editBMPanel_tagsField {
--input-bgcolor: var(--arrowpanel-background, Field);
--input-color: var(--arrowpanel-color, FieldText);
}
diff --git a/src/theme/_non_native_menu.scss b/src/theme/_non_native_menu.scss
index 691fab6..7ef8727 100644
--- a/src/theme/_non_native_menu.scss
+++ b/src/theme/_non_native_menu.scss
@@ -100,7 +100,8 @@
menuitem[type="radio"] {
appearance: none !important; /* to override more specific selectors above. */
width: unset !important;
- .menu-iconic-icon {
+ .menu-iconic-icon,
+ .menu-icon {
appearance: none !important;
}
}
@@ -128,7 +129,8 @@
checkboxes and radio buttons because the native drawing we use on other
Windows versions looks pretty bad with the Win10 styles, so for now we'll
insert a generic checkmark icon for both types. */
- menuitem[checked="true"] > .menu-iconic-left {
+ menuitem[checked="true"] > .menu-iconic-left,
+ menuitem[checked="true"] > .menu-icon {
-moz-context-properties: fill, fill-opacity !important;
fill: currentColor !important;
fill-opacity: var(--menu-icon-opacity) !important;
@@ -157,7 +159,7 @@
//-- Global - Menu Popup -----------------------------------------------------
menupopup {
/* Disable the default appearance so we can override the native styling. */
- appearance: none !important !important;
+ appearance: none !important;
/* Prevent any background or border around the outside of the shadow. */
background-color: transparent !important;
@@ -233,23 +235,27 @@
background-color: transparent !important;
}
- #context-navigation > .menuitem-iconic > .menu-iconic-left {
+ #context-navigation > .menuitem-iconic > .menu-iconic-left,
+ #context-navigation > .menuitem-iconic > .menu-icon {
margin: 0 !important;
padding: 0 !important;
}
/* override styles from shared/contextmenu.inc.css */
- #context-navigation > .menuitem-iconic > .menu-iconic-left > .menu-iconic-icon {
+ #context-navigation > .menuitem-iconic > .menu-iconic-left > .menu-iconic-icon,
+ #context-navigation > .menuitem-iconic > .menu-icon {
width: var(--menuitem-min-width) !important;
height: 32px !important;
padding: 8px 1em !important;
margin: 0 !important;
}
- #context-navigation > .menuitem-iconic[_moz-menuactive="true"] > .menu-iconic-left > .menu-iconic-icon {
+ #context-navigation > .menuitem-iconic[_moz-menuactive="true"] > .menu-iconic-left > .menu-iconic-icon,
+ #context-navigation > .menuitem-iconic[_moz-menuactive="true"] > .menu-icon {
background-color: var(--menuitem-hover-background-color) !important; // -moz-menuhover
}
- #context-navigation > .menuitem-iconic[_moz-menuactive="true"][disabled="true"] > .menu-iconic-left > .menu-iconic-icon {
+ #context-navigation > .menuitem-iconic[_moz-menuactive="true"][disabled="true"] > .menu-iconic-left > .menu-iconic-icon,
+ #context-navigation > .menuitem-iconic[_moz-menuactive="true"][disabled="true"] > .menu-icon {
background-color: transparent !important;// -moz-menuhoverdisabled
}
diff --git a/src/theme/system_default_theme/_mac.scss b/src/theme/system_default_theme/_mac.scss
index f48da86..8f34b91 100644
--- a/src/theme/system_default_theme/_mac.scss
+++ b/src/theme/system_default_theme/_mac.scss
@@ -184,10 +184,14 @@
background-color: var(--mac-bgcolor) !important;
}
- :root#{$not_lwtheme} #titlebar {
+ :root#{$not_lwtheme} #titlebar,
+ :root#{$not_lwtheme} #toolbar-menubar,
+ :root#{$not_lwtheme} #TabsToolbar {
--mac-hover-bgcolor: ButtonFace;
}
- #{selector.nest(system-default-theme(), "#titlebar")} {
+ #{selector.nest(system-default-theme(), "#titlebar")},
+ #{selector.nest(system-default-theme(), "#toolbar-menubar")},
+ #{selector.nest(system-default-theme(), "#TabsToolbar")} {
--button-hover-bgcolor: var(--mac-hover-bgcolor);
--button-active-bgcolor: var(--mac-hover-bgcolor);
--toolbarbutton-hover-background: var(--mac-hover-bgcolor);
@@ -237,6 +241,18 @@
/* Hard Coded */
@include Option("userChrome.tab.color_like_toolbar") {
+ :root[lwtheme-mozlightdark][lwt-default-theme-in-dark-mode] /* Legacy */
+ #tabbrowser-tabs:not([movingtab])
+ > #pinned-tabs-container
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[selected],
+ :root[style*="--lwt-accent-color: rgb(28, 27, 34); --lwt-text-color: rgba(251, 251, 254);"][lwt-default-theme-in-dark-mode]
+ #tabbrowser-tabs:not([movingtab])
+ > #pinned-tabs-container
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[selected],
:root[lwtheme-mozlightdark][lwt-default-theme-in-dark-mode] /* Legacy */
#tabbrowser-tabs:not([movingtab])
> #tabbrowser-arrowscrollbox
diff --git a/src/theme/system_default_theme/_urlbar_focus_color.scss b/src/theme/system_default_theme/_urlbar_focus_color.scss
index 029b598..eefdd96 100644
--- a/src/theme/system_default_theme/_urlbar_focus_color.scss
+++ b/src/theme/system_default_theme/_urlbar_focus_color.scss
@@ -1,7 +1,7 @@
/*= Common - URL Bar focus color =============================================*/
// TODO: `OS` Not covered case
-$_urlBarFocusSelector: ":root[tabsintitlebar]:not(:-moz-window-inactive)#{$not_lwtheme}";
-$_urlBarFocusDarkSelector: ":root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)";
+$_urlBarFocusSelector: ":root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive)#{$not_lwtheme}";
+$_urlBarFocusDarkSelector: ":root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive)";
@media (-moz-windows-accent-color-in-titlebar), (-moz-gtk-csd-available) {
/* URL Bar */
diff --git a/src/theme/system_default_theme/_win10.scss b/src/theme/system_default_theme/_win10.scss
index 3d9c7e8..0b5f1b4 100644
--- a/src/theme/system_default_theme/_win10.scss
+++ b/src/theme/system_default_theme/_win10.scss
@@ -244,8 +244,8 @@
@include Option("userChrome.theme.system_default") {
@media (-moz-windows-accent-color-in-titlebar) {
- :root[tabsintitlebar]:not(:-moz-window-inactive)#{$not_lwtheme},
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) {
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive)#{$not_lwtheme},
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) {
--toolbarseparator-color: color-mix(in srgb, currentColor 20%, transparent) !important; /* As default */
}
}
@@ -286,7 +286,9 @@
}
/*- Toolbar ----------------------------------------------------------------*/
- #{selector.nest(system-default-theme(), "#titlebar")} {
+ #{selector.nest(system-default-theme(), "#titlebar")},
+ #{selector.nest(system-default-theme(), "#toolbar-menubar")},
+ #{selector.nest(system-default-theme(), "#TabsToolbar")} {
--button-hover-bgcolor: var(--win-sidebar-button-hover-bgcolor);
--button-active-bgcolor: var(--win-sidebar-button-hover-active-bgcolor);
--toolbarbutton-hover-background: var(--win-sidebar-button-hover-bgcolor);
@@ -320,7 +322,7 @@
}
$panelZoomButtons: "#appMenu-fxa-label2, #appMenu-zoomReduce-button2, #appMenu-zoomReset-button2, #appMenu-zoomEnlarge-button2, #appMenu-fullscreen-button2";
- #{selector.nest(system-default-theme(), "toolbarbutton.subviewbutton:not([disabled], [open], :active, #{$panelZoomButtons}):is(:hover)")} {
+ #{selector.nest(system-default-theme(), "toolbarbutton.subviewbutton:not([disabled], [open], :active, #{$panelZoomButtons}, .unified-extensions-item-menu-button):is(:hover)")} {
background-color: var(--win-hover-bgcolor) !important;
}
#{selector.nest(system-default-theme(), "toolbarbutton.subviewbutton:not([disabled], #{$panelZoomButtons}):is([open], :hover:active)")} {
@@ -340,6 +342,24 @@
}
}
+ :root#{$not_lwtheme}
+ #tabbrowser-tabs:not([movingtab])
+ > #pinned-tabs-container
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[multiselected]:not([selected]),
+ :root[lwtheme-mozlightdark] /* Legacy */
+ #tabbrowser-tabs:not([movingtab])
+ > #pinned-tabs-container
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[multiselected]:not([selected]),
+ :root:is([style*="--lwt-accent-color: rgb(240, 240, 244); --lwt-text-color: rgba(21, 20, 26);"], [style*="--lwt-accent-color: rgb(28, 27, 34); --lwt-text-color: rgba(251, 251, 254);"])
+ #tabbrowser-tabs:not([movingtab])
+ > #pinned-tabs-container
+ > .tabbrowser-tab
+ > .tab-stack
+ > .tab-background[multiselected]:not([selected]),
:root#{$not_lwtheme}
#tabbrowser-tabs:not([movingtab])
> #tabbrowser-arrowscrollbox
@@ -369,12 +389,13 @@
/*= Windows10 - Titlebar accent color ========================================*/
@media (-moz-windows-accent-color-in-titlebar) {
/* Tab Bar */
- :root[tabsintitlebar]:not(:-moz-window-inactive)#{$not_lwtheme},
- :root[tabsintitlebar][lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) {
- .titlebar-color {
+ :root:is([tabsintitlebar], [customtitlebar]):not(:-moz-window-inactive)#{$not_lwtheme},
+ :root:is([tabsintitlebar], [customtitlebar])[lwt-default-theme-in-dark-mode]:not(:-moz-window-inactive) {
+ .titlebar-color,
+ .browser-titlebar {
@include AccentColor {
- color: $accentTextColor;
- background-color: $accentColor; // TODO: Use $accentBorder
+ color: $accentTextColor !important;
+ background-color: $accentColor !important; // TODO: Use $accentBorder
}
}
diff --git a/src/theme/transparent/_general_element_background.scss b/src/theme/transparent/_general_element_background.scss
index 7287ce3..dea3edd 100644
--- a/src/theme/transparent/_general_element_background.scss
+++ b/src/theme/transparent/_general_element_background.scss
@@ -17,7 +17,9 @@
);
}
-#titlebar {
+#titlebar,
+#toolbar-menubar,
+#TabsToolbar {
--uc-frame-element-background: #{ frameTransparent() };
--toolbarbutton-hover-background: #{ frameTransparent(85%) };
diff --git a/src/theme/transparent/_win11.scss b/src/theme/transparent/_win11.scss
index 73f661b..adea6e9 100644
--- a/src/theme/transparent/_win11.scss
+++ b/src/theme/transparent/_win11.scss
@@ -7,8 +7,12 @@
--lwt-text-color: WindowText !important;
}
-#titlebar .toolbarbutton-1 {
- --toolbarbutton-icon-fill: var(--lwt-text-color) !important;
+#titlebar,
+#toolbar-menubar,
+#TabsToolbar {
+ .toolbarbutton-1 {
+ --toolbarbutton-icon-fill: var(--lwt-text-color) !important;
+ }
}
:root:not([sizemode="fullscreen"]) .titlebar-buttonbox-container .titlebar-button:not(.titlebar-close:hover) {
diff --git a/src/utils/_mode.scss b/src/utils/_mode.scss
index 0543dae..6b65c20 100644
--- a/src/utils/_mode.scss
+++ b/src/utils/_mode.scss
@@ -1,5 +1,5 @@
$_osESR: false !default;
-$_mediaPref: false !default;
+$_pref: "support-bool-pref" !default; // "support-bool-pref" | "media-bool-pref" | "media-pref"
@mixin ESR() {
$_osESR: true !global;
@@ -9,12 +9,16 @@ $_mediaPref: false !default;
$_osESR: false !global;
}
-@mixin SUPPORT_PREF() {
- $_mediaPref: false !global;
+@mixin SUPPORT_BOOL_PREF() {
+ $_pref: "support-bool-pref" !global;
+}
+
+@mixin MEDIA_BOOL_PREF() {
+ $_pref: "media-bool-pref" !global;
}
@mixin MEDIA_PREF() {
- $_mediaPref: true !global;
+ $_pref: "media-pref" !global;
}
@function isESR() {
@@ -25,6 +29,14 @@ $_mediaPref: false !default;
@return not $_osESR;
}
-@function isMediaPref() {
- @return isSTANDARD() and $_mediaPref;
+@function isSupportBoolPref() {
+ @return isESR() and $_pref == "support-bool-pref";
+}
+
+@function isMediaBoolPref() {
+ @return isSTANDARD() and $_pref == "media-bool-pref";
+}
+
+@function isMediaPref() {
+ @return isSTANDARD() and $_pref == "media-pref";
}
diff --git a/src/utils/_option.scss b/src/utils/_option.scss
index 6649f91..604db93 100644
--- a/src/utils/_option.scss
+++ b/src/utils/_option.scss
@@ -11,14 +11,17 @@
@return if($positive, $str, "(not " + $str + ")");
}
-@function _pref($option) {
+@function _supportPref($option) {
@return "-moz-bool-pref(\"#{$option}\")";
}
-@function _prefMedia($option) {
+@function _mediaBoolPref($option) {
@return "(-moz-bool-pref: \"#{$option}\")";
}
+@function _mediaPref($option) {
+ @return "-moz-pref(\"#{$option}\")";
+}
-@function _getOption($optionNames, $positive: true) {
+@function _getOptionSupports($optionNames, $positive: true) {
$result: "";
@for $i from 1 through length($optionNames) {
$option: nth($optionNames, $i);
@@ -30,27 +33,27 @@
$result: $result + _prefix($separator, $i);
@if type-of($option) == "list" {
- $result: $result + "(" + _getOption($option, $positive) + ")";
+ $result: $result + "(" + _getOptionSupports($option, $positive) + ")";
}
@else {
- $result: $result + _not(_pref($option), $positive);
+ $result: $result + _not(_supportPref($option), $positive);
}
}
@return $result;
}
-@function _optionWrapper($optionNames, $positive: true) {
+@function _getOptionSupportsWrapper($optionNames, $positive: true) {
// Test warning for top level `not`
@if length($optionNames) == 1 {
$option: nth($optionNames, 1);
@if not (type-of($option) == "list") {
- $option: _pref($option);
+ $option: _supportPref($option);
@return if($positive, $option, "not " + $option);
}
}
- @return _getOption($optionNames, $positive);
+ @return _getOptionSupports($optionNames, $positive);
}
-@function _getOptionMedia($optionNames, $positive: true) {
+@function _getOptionMediaBool($optionNames, $positive: true) {
$result: "";
@for $i from 1 through length($optionNames) {
$option: nth($optionNames, $i);
@@ -62,23 +65,60 @@
$result: $result + _prefix($separator, $i);
@if type-of($option) == "list" {
- $result: $result + _getOptionMedia($option, $positive) ;
+ $result: $result + _getOptionMediaBool($option, $positive) ;
}
@else {
- $result: $result + _not(_prefMedia($option), $positive);
+ $result: $result + _not(_mediaBoolPref($option), $positive);
}
}
@return $result;
}
+@function _getOptionMedia($optionNames, $positive: true) {
+ $result: "";
+ @for $i from 1 through length($optionNames) {
+ $option: nth($optionNames, $i);
+ $separator: if(
+ list-separator($optionNames) == "comma", "or", if(
+ list-separator($optionNames) == "space", "and", null
+ )
+ );
+ $result: $result + _prefix($separator, $i);
+
+ @if type-of($option) == "list" {
+ $result: $result + "(" + _getOptionMedia($option, $positive) + ")";
+ }
+ @else {
+ $result: $result + _not(_mediaPref($option), $positive);
+ }
+ }
+ @return $result;
+}
+@function _getOptionMediaWrapper($optionNames, $positive: true) {
+ // Test warning for top level `not`
+ @if length($optionNames) == 1 {
+ $option: nth($optionNames, 1);
+ @if not (type-of($option) == "list") {
+ $option: _mediaPref($option);
+ @return if($positive, $option, "not " + $option);
+ }
+ }
+ @return _getOptionMedia($optionNames, $positive);
+}
+
@mixin Option($optionNames...) {
@if mode.isMediaPref() {
- @media #{_getOptionMedia($optionNames)} {
+ @#{media} #{_getOptionMediaWrapper($optionNames)} {
+ @content;
+ }
+ }
+ @else if mode.isMediaBoolPref() {
+ @media #{_getOptionMediaBool($optionNames)} {
@content;
}
}
@else {
- @supports #{_optionWrapper($optionNames)} {
+ @supports #{_getOptionSupportsWrapper($optionNames)} {
@content;
}
}
@@ -86,12 +126,17 @@
@mixin NotOption($optionNames...) {
@if mode.isMediaPref() {
- @media #{_getOptionMedia($optionNames, false)} {
+ @#{media} #{_getOptionMediaWrapper($optionNames, false)} {
+ @content;
+ }
+ }
+ @else if mode.isMediaBoolPref() {
+ @media #{_getOptionMediaBool($optionNames, false)} {
@content;
}
}
@else {
- @supports #{_optionWrapper($optionNames, false)} {
+ @supports #{_getOptionSupportsWrapper($optionNames, false)} {
@content;
}
}
diff --git a/src/utils/_proton_elements.scss b/src/utils/_proton_elements.scss
index 24b8d5e..bdc0acf 100644
--- a/src/utils/_proton_elements.scss
+++ b/src/utils/_proton_elements.scss
@@ -31,7 +31,7 @@
color: var(--in-content-primary-button-text-color) !important;
background-color: var(--in-content-primary-button-background) !important;
- background-image: url("chrome://global/skin/icons/radio.svg") !important;
+ background-image: url("../icons/radio.svg") !important;
border-color: transparent !important;
/* Style the button also when printing with "Print Backgrounds" unchecked */
diff --git a/user.js b/user.js
index 06aa26f..7a47f7d 100644
--- a/user.js
+++ b/user.js
@@ -47,6 +47,9 @@ user_pref("userChrome.tab.bottom_rounded_corner", true);
user_pref("userChrome.tab.photon_like_contextline", false);
user_pref("userChrome.rounding.square_tab", false);
+// Proton Only
+// user_pref("userChrome.tab.supernova_like_contextline", true);
+
// == Theme Compatibility Settings =============================================
// user_pref("userChrome.compatibility.accent_color", true); // Firefox v103 Below
// user_pref("userChrome.compatibility.covered_header_image", true);
@@ -54,7 +57,6 @@ user_pref("userChrome.rounding.square_tab", false);
// user_pref("userChrome.compatibility.navbar_top_border", true);
// user_pref("userChrome.compatibility.dynamic_separator", true); // Need dynamic_separator
-// user_pref("userChrome.compatibility.os.linux_non_native_titlebar_button", true);
// user_pref("userChrome.compatibility.os.windows_maximized", true);
// user_pref("userChrome.compatibility.os.win11", true);
@@ -283,7 +285,7 @@ user_pref("userContent.page.proton", true); // Need proton_color
// ** Useful Options ***********************************************************
// Tab preview
// https://blog.nightly.mozilla.org/2024/02/06/a-preview-of-tab-previews-these-weeks-in-firefox-issue-153/
-user_pref("browser.tabs.cardPreview.enabled", true);
+user_pref("browser.tabs.hoverPreview.enabled", true);
// Paste suggestion at urlbar
// https://blog.nightly.mozilla.org/2023/12/04/url-gonna-want-to-check-this-out-these-weeks-in-firefox-issue-150/
diff --git a/yarn.lock b/yarn.lock
index b4142e8..ca52965 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1,2448 +1,3966 @@
-# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
-# yarn lockfile v1
-
-
-"@ampproject/remapping@^2.1.0":
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d"
- integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==
- dependencies:
- "@jridgewell/gen-mapping" "^0.1.0"
- "@jridgewell/trace-mapping" "^0.3.9"
-
-"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a"
- integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==
- dependencies:
- "@babel/highlight" "^7.18.6"
-
-"@babel/code-frame@^7.22.13":
- version "7.22.13"
- resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.13.tgz#e3c1c099402598483b7a8c46a721d1038803755e"
- integrity sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==
- dependencies:
- "@babel/highlight" "^7.22.13"
- chalk "^2.4.2"
-
-"@babel/compat-data@^7.20.5":
- version "7.20.10"
- resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.20.10.tgz#9d92fa81b87542fff50e848ed585b4212c1d34ec"
- integrity sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==
-
-"@babel/core@^7.11.6", "@babel/core@^7.12.3":
- version "7.20.7"
- resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.7.tgz#37072f951bd4d28315445f66e0ec9f6ae0c8c35f"
- integrity sha512-t1ZjCluspe5DW24bn2Rr1CDb2v9rn/hROtg9a2tmd0+QYf4bsloYfLQzjG4qHPNMhWtKdGC33R5AxGR2Af2cBw==
- dependencies:
- "@ampproject/remapping" "^2.1.0"
- "@babel/code-frame" "^7.18.6"
- "@babel/generator" "^7.20.7"
- "@babel/helper-compilation-targets" "^7.20.7"
- "@babel/helper-module-transforms" "^7.20.7"
- "@babel/helpers" "^7.20.7"
- "@babel/parser" "^7.20.7"
- "@babel/template" "^7.20.7"
- "@babel/traverse" "^7.20.7"
- "@babel/types" "^7.20.7"
- convert-source-map "^1.7.0"
- debug "^4.1.0"
- gensync "^1.0.0-beta.2"
- json5 "^2.2.1"
- semver "^6.3.0"
-
-"@babel/generator@^7.20.7", "@babel/generator@^7.7.2":
- version "7.20.7"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.7.tgz#f8ef57c8242665c5929fe2e8d82ba75460187b4a"
- integrity sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==
- dependencies:
- "@babel/types" "^7.20.7"
- "@jridgewell/gen-mapping" "^0.3.2"
- jsesc "^2.5.1"
-
-"@babel/generator@^7.23.0":
- version "7.23.0"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.0.tgz#df5c386e2218be505b34837acbcb874d7a983420"
- integrity sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==
- dependencies:
- "@babel/types" "^7.23.0"
- "@jridgewell/gen-mapping" "^0.3.2"
- "@jridgewell/trace-mapping" "^0.3.17"
- jsesc "^2.5.1"
-
-"@babel/helper-compilation-targets@^7.20.7":
- version "7.20.7"
- resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz#a6cd33e93629f5eb473b021aac05df62c4cd09bb"
- integrity sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==
- dependencies:
- "@babel/compat-data" "^7.20.5"
- "@babel/helper-validator-option" "^7.18.6"
- browserslist "^4.21.3"
- lru-cache "^5.1.1"
- semver "^6.3.0"
-
-"@babel/helper-environment-visitor@^7.18.9":
- version "7.18.9"
- resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be"
- integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==
-
-"@babel/helper-environment-visitor@^7.22.20":
- version "7.22.20"
- resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167"
- integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==
-
-"@babel/helper-function-name@^7.23.0":
- version "7.23.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759"
- integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==
- dependencies:
- "@babel/template" "^7.22.15"
- "@babel/types" "^7.23.0"
-
-"@babel/helper-hoist-variables@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb"
- integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==
- dependencies:
- "@babel/types" "^7.22.5"
-
-"@babel/helper-module-imports@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e"
- integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==
- dependencies:
- "@babel/types" "^7.18.6"
-
-"@babel/helper-module-transforms@^7.20.7":
- version "7.20.11"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz#df4c7af713c557938c50ea3ad0117a7944b2f1b0"
- integrity sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==
- dependencies:
- "@babel/helper-environment-visitor" "^7.18.9"
- "@babel/helper-module-imports" "^7.18.6"
- "@babel/helper-simple-access" "^7.20.2"
- "@babel/helper-split-export-declaration" "^7.18.6"
- "@babel/helper-validator-identifier" "^7.19.1"
- "@babel/template" "^7.20.7"
- "@babel/traverse" "^7.20.10"
- "@babel/types" "^7.20.7"
-
-"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.8.0":
- version "7.20.2"
- resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz#d1b9000752b18d0877cff85a5c376ce5c3121629"
- integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==
-
-"@babel/helper-simple-access@^7.20.2":
- version "7.20.2"
- resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz#0ab452687fe0c2cfb1e2b9e0015de07fc2d62dd9"
- integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==
- dependencies:
- "@babel/types" "^7.20.2"
-
-"@babel/helper-split-export-declaration@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075"
- integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==
- dependencies:
- "@babel/types" "^7.18.6"
-
-"@babel/helper-split-export-declaration@^7.22.6":
- version "7.22.6"
- resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c"
- integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==
- dependencies:
- "@babel/types" "^7.22.5"
-
-"@babel/helper-string-parser@^7.19.4":
- version "7.19.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63"
- integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==
-
-"@babel/helper-string-parser@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f"
- integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==
-
-"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1":
- version "7.19.1"
- resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2"
- integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==
-
-"@babel/helper-validator-identifier@^7.22.20":
- version "7.22.20"
- resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0"
- integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==
-
-"@babel/helper-validator-option@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8"
- integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==
-
-"@babel/helpers@^7.20.7":
- version "7.20.7"
- resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.7.tgz#04502ff0feecc9f20ecfaad120a18f011a8e6dce"
- integrity sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA==
- dependencies:
- "@babel/template" "^7.20.7"
- "@babel/traverse" "^7.20.7"
- "@babel/types" "^7.20.7"
-
-"@babel/highlight@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf"
- integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==
- dependencies:
- "@babel/helper-validator-identifier" "^7.18.6"
- chalk "^2.0.0"
- js-tokens "^4.0.0"
-
-"@babel/highlight@^7.22.13":
- version "7.22.20"
- resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.20.tgz#4ca92b71d80554b01427815e06f2df965b9c1f54"
- integrity sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==
- dependencies:
- "@babel/helper-validator-identifier" "^7.22.20"
- chalk "^2.4.2"
- js-tokens "^4.0.0"
-
-"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7":
- version "7.20.7"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.7.tgz#66fe23b3c8569220817d5feb8b9dcdc95bb4f71b"
- integrity sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==
-
-"@babel/parser@^7.22.15", "@babel/parser@^7.23.0":
- version "7.23.0"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.0.tgz#da950e622420bf96ca0d0f2909cdddac3acd8719"
- integrity sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==
-
-"@babel/plugin-syntax-async-generators@^7.8.4":
- version "7.8.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d"
- integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-bigint@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea"
- integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-class-properties@^7.8.3":
- version "7.12.13"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10"
- integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.12.13"
-
-"@babel/plugin-syntax-import-meta@^7.8.3":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51"
- integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-syntax-json-strings@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a"
- integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-jsx@^7.7.2":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz#a8feef63b010150abd97f1649ec296e849943ca0"
- integrity sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==
- dependencies:
- "@babel/helper-plugin-utils" "^7.18.6"
-
-"@babel/plugin-syntax-logical-assignment-operators@^7.8.3":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699"
- integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9"
- integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-numeric-separator@^7.8.3":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97"
- integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-syntax-object-rest-spread@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871"
- integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-optional-catch-binding@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1"
- integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-optional-chaining@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a"
- integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-top-level-await@^7.8.3":
- version "7.14.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c"
- integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-syntax-typescript@^7.7.2":
- version "7.20.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz#4e9a0cfc769c85689b77a2e642d24e9f697fc8c7"
- integrity sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.19.0"
-
-"@babel/template@^7.20.7", "@babel/template@^7.3.3":
- version "7.20.7"
- resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.20.7.tgz#a15090c2839a83b02aa996c0b4994005841fd5a8"
- integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==
- dependencies:
- "@babel/code-frame" "^7.18.6"
- "@babel/parser" "^7.20.7"
- "@babel/types" "^7.20.7"
-
-"@babel/template@^7.22.15":
- version "7.22.15"
- resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38"
- integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==
- dependencies:
- "@babel/code-frame" "^7.22.13"
- "@babel/parser" "^7.22.15"
- "@babel/types" "^7.22.15"
-
-"@babel/traverse@^7.20.10", "@babel/traverse@^7.20.7", "@babel/traverse@^7.7.2":
- version "7.23.2"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.2.tgz#329c7a06735e144a506bdb2cad0268b7f46f4ad8"
- integrity sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==
- dependencies:
- "@babel/code-frame" "^7.22.13"
- "@babel/generator" "^7.23.0"
- "@babel/helper-environment-visitor" "^7.22.20"
- "@babel/helper-function-name" "^7.23.0"
- "@babel/helper-hoist-variables" "^7.22.5"
- "@babel/helper-split-export-declaration" "^7.22.6"
- "@babel/parser" "^7.23.0"
- "@babel/types" "^7.23.0"
- debug "^4.1.0"
- globals "^11.1.0"
-
-"@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.20.2", "@babel/types@^7.20.7", "@babel/types@^7.3.0", "@babel/types@^7.3.3":
- version "7.20.7"
- resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.7.tgz#54ec75e252318423fc07fb644dc6a58a64c09b7f"
- integrity sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==
- dependencies:
- "@babel/helper-string-parser" "^7.19.4"
- "@babel/helper-validator-identifier" "^7.19.1"
- to-fast-properties "^2.0.0"
-
-"@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0":
- version "7.23.0"
- resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.0.tgz#8c1f020c9df0e737e4e247c0619f58c68458aaeb"
- integrity sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==
- dependencies:
- "@babel/helper-string-parser" "^7.22.5"
- "@babel/helper-validator-identifier" "^7.22.20"
- to-fast-properties "^2.0.0"
-
-"@bcoe/v8-coverage@^0.2.3":
- version "0.2.3"
- resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
- integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
-
-"@istanbuljs/load-nyc-config@^1.0.0":
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced"
- integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==
- dependencies:
- camelcase "^5.3.1"
- find-up "^4.1.0"
- get-package-type "^0.1.0"
- js-yaml "^3.13.1"
- resolve-from "^5.0.0"
-
-"@istanbuljs/schema@^0.1.2":
- version "0.1.3"
- resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98"
- integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==
-
-"@jest/console@^29.3.1":
- version "29.3.1"
- resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.3.1.tgz#3e3f876e4e47616ea3b1464b9fbda981872e9583"
- integrity sha512-IRE6GD47KwcqA09RIWrabKdHPiKDGgtAL31xDxbi/RjQMsr+lY+ppxmHwY0dUEV3qvvxZzoe5Hl0RXZJOjQNUg==
- dependencies:
- "@jest/types" "^29.3.1"
- "@types/node" "*"
- chalk "^4.0.0"
- jest-message-util "^29.3.1"
- jest-util "^29.3.1"
- slash "^3.0.0"
-
-"@jest/core@^29.3.1":
- version "29.3.1"
- resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.3.1.tgz#bff00f413ff0128f4debec1099ba7dcd649774a1"
- integrity sha512-0ohVjjRex985w5MmO5L3u5GR1O30DexhBSpuwx2P+9ftyqHdJXnk7IUWiP80oHMvt7ubHCJHxV0a0vlKVuZirw==
- dependencies:
- "@jest/console" "^29.3.1"
- "@jest/reporters" "^29.3.1"
- "@jest/test-result" "^29.3.1"
- "@jest/transform" "^29.3.1"
- "@jest/types" "^29.3.1"
- "@types/node" "*"
- ansi-escapes "^4.2.1"
- chalk "^4.0.0"
- ci-info "^3.2.0"
- exit "^0.1.2"
- graceful-fs "^4.2.9"
- jest-changed-files "^29.2.0"
- jest-config "^29.3.1"
- jest-haste-map "^29.3.1"
- jest-message-util "^29.3.1"
- jest-regex-util "^29.2.0"
- jest-resolve "^29.3.1"
- jest-resolve-dependencies "^29.3.1"
- jest-runner "^29.3.1"
- jest-runtime "^29.3.1"
- jest-snapshot "^29.3.1"
- jest-util "^29.3.1"
- jest-validate "^29.3.1"
- jest-watcher "^29.3.1"
- micromatch "^4.0.4"
- pretty-format "^29.3.1"
- slash "^3.0.0"
- strip-ansi "^6.0.0"
-
-"@jest/environment@^29.3.1":
- version "29.3.1"
- resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.3.1.tgz#eb039f726d5fcd14698acd072ac6576d41cfcaa6"
- integrity sha512-pMmvfOPmoa1c1QpfFW0nXYtNLpofqo4BrCIk6f2kW4JFeNlHV2t3vd+3iDLf31e2ot2Mec0uqZfmI+U0K2CFag==
- dependencies:
- "@jest/fake-timers" "^29.3.1"
- "@jest/types" "^29.3.1"
- "@types/node" "*"
- jest-mock "^29.3.1"
-
-"@jest/expect-utils@^29.3.1":
- version "29.3.1"
- resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.3.1.tgz#531f737039e9b9e27c42449798acb5bba01935b6"
- integrity sha512-wlrznINZI5sMjwvUoLVk617ll/UYfGIZNxmbU+Pa7wmkL4vYzhV9R2pwVqUh4NWWuLQWkI8+8mOkxs//prKQ3g==
- dependencies:
- jest-get-type "^29.2.0"
-
-"@jest/expect@^29.3.1":
- version "29.3.1"
- resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.3.1.tgz#456385b62894349c1d196f2d183e3716d4c6a6cd"
- integrity sha512-QivM7GlSHSsIAWzgfyP8dgeExPRZ9BIe2LsdPyEhCGkZkoyA+kGsoIzbKAfZCvvRzfZioKwPtCZIt5SaoxYCvg==
- dependencies:
- expect "^29.3.1"
- jest-snapshot "^29.3.1"
-
-"@jest/fake-timers@^29.3.1":
- version "29.3.1"
- resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.3.1.tgz#b140625095b60a44de820876d4c14da1aa963f67"
- integrity sha512-iHTL/XpnDlFki9Tq0Q1GGuVeQ8BHZGIYsvCO5eN/O/oJaRzofG9Xndd9HuSDBI/0ZS79pg0iwn07OMTQ7ngF2A==
- dependencies:
- "@jest/types" "^29.3.1"
- "@sinonjs/fake-timers" "^9.1.2"
- "@types/node" "*"
- jest-message-util "^29.3.1"
- jest-mock "^29.3.1"
- jest-util "^29.3.1"
-
-"@jest/globals@^29.3.1":
- version "29.3.1"
- resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.3.1.tgz#92be078228e82d629df40c3656d45328f134a0c6"
- integrity sha512-cTicd134vOcwO59OPaB6AmdHQMCtWOe+/DitpTZVxWgMJ+YvXL1HNAmPyiGbSHmF/mXVBkvlm8YYtQhyHPnV6Q==
- dependencies:
- "@jest/environment" "^29.3.1"
- "@jest/expect" "^29.3.1"
- "@jest/types" "^29.3.1"
- jest-mock "^29.3.1"
-
-"@jest/reporters@^29.3.1":
- version "29.3.1"
- resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.3.1.tgz#9a6d78c109608e677c25ddb34f907b90e07b4310"
- integrity sha512-GhBu3YFuDrcAYW/UESz1JphEAbvUjaY2vShRZRoRY1mxpCMB3yGSJ4j9n0GxVlEOdCf7qjvUfBCrTUUqhVfbRA==
- dependencies:
- "@bcoe/v8-coverage" "^0.2.3"
- "@jest/console" "^29.3.1"
- "@jest/test-result" "^29.3.1"
- "@jest/transform" "^29.3.1"
- "@jest/types" "^29.3.1"
- "@jridgewell/trace-mapping" "^0.3.15"
- "@types/node" "*"
- chalk "^4.0.0"
- collect-v8-coverage "^1.0.0"
- exit "^0.1.2"
- glob "^7.1.3"
- graceful-fs "^4.2.9"
- istanbul-lib-coverage "^3.0.0"
- istanbul-lib-instrument "^5.1.0"
- istanbul-lib-report "^3.0.0"
- istanbul-lib-source-maps "^4.0.0"
- istanbul-reports "^3.1.3"
- jest-message-util "^29.3.1"
- jest-util "^29.3.1"
- jest-worker "^29.3.1"
- slash "^3.0.0"
- string-length "^4.0.1"
- strip-ansi "^6.0.0"
- v8-to-istanbul "^9.0.1"
-
-"@jest/schemas@^29.0.0":
- version "29.0.0"
- resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.0.0.tgz#5f47f5994dd4ef067fb7b4188ceac45f77fe952a"
- integrity sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==
- dependencies:
- "@sinclair/typebox" "^0.24.1"
-
-"@jest/source-map@^29.2.0":
- version "29.2.0"
- resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.2.0.tgz#ab3420c46d42508dcc3dc1c6deee0b613c235744"
- integrity sha512-1NX9/7zzI0nqa6+kgpSdKPK+WU1p+SJk3TloWZf5MzPbxri9UEeXX5bWZAPCzbQcyuAzubcdUHA7hcNznmRqWQ==
- dependencies:
- "@jridgewell/trace-mapping" "^0.3.15"
- callsites "^3.0.0"
- graceful-fs "^4.2.9"
-
-"@jest/test-result@^29.3.1":
- version "29.3.1"
- resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.3.1.tgz#92cd5099aa94be947560a24610aa76606de78f50"
- integrity sha512-qeLa6qc0ddB0kuOZyZIhfN5q0e2htngokyTWsGriedsDhItisW7SDYZ7ceOe57Ii03sL988/03wAcBh3TChMGw==
- dependencies:
- "@jest/console" "^29.3.1"
- "@jest/types" "^29.3.1"
- "@types/istanbul-lib-coverage" "^2.0.0"
- collect-v8-coverage "^1.0.0"
-
-"@jest/test-sequencer@^29.3.1":
- version "29.3.1"
- resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.3.1.tgz#fa24b3b050f7a59d48f7ef9e0b782ab65123090d"
- integrity sha512-IqYvLbieTv20ArgKoAMyhLHNrVHJfzO6ARZAbQRlY4UGWfdDnLlZEF0BvKOMd77uIiIjSZRwq3Jb3Fa3I8+2UA==
- dependencies:
- "@jest/test-result" "^29.3.1"
- graceful-fs "^4.2.9"
- jest-haste-map "^29.3.1"
- slash "^3.0.0"
-
-"@jest/transform@^29.3.1":
- version "29.3.1"
- resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.3.1.tgz#1e6bd3da4af50b5c82a539b7b1f3770568d6e36d"
- integrity sha512-8wmCFBTVGYqFNLWfcOWoVuMuKYPUBTnTMDkdvFtAYELwDOl9RGwOsvQWGPFxDJ8AWY9xM/8xCXdqmPK3+Q5Lug==
- dependencies:
- "@babel/core" "^7.11.6"
- "@jest/types" "^29.3.1"
- "@jridgewell/trace-mapping" "^0.3.15"
- babel-plugin-istanbul "^6.1.1"
- chalk "^4.0.0"
- convert-source-map "^2.0.0"
- fast-json-stable-stringify "^2.1.0"
- graceful-fs "^4.2.9"
- jest-haste-map "^29.3.1"
- jest-regex-util "^29.2.0"
- jest-util "^29.3.1"
- micromatch "^4.0.4"
- pirates "^4.0.4"
- slash "^3.0.0"
- write-file-atomic "^4.0.1"
-
-"@jest/types@^29.3.1":
- version "29.3.1"
- resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.3.1.tgz#7c5a80777cb13e703aeec6788d044150341147e3"
- integrity sha512-d0S0jmmTpjnhCmNpApgX3jrUZgZ22ivKJRvL2lli5hpCRoNnp1f85r2/wpKfXuYu8E7Jjh1hGfhPyup1NM5AmA==
- dependencies:
- "@jest/schemas" "^29.0.0"
- "@types/istanbul-lib-coverage" "^2.0.0"
- "@types/istanbul-reports" "^3.0.0"
- "@types/node" "*"
- "@types/yargs" "^17.0.8"
- chalk "^4.0.0"
-
-"@jridgewell/gen-mapping@^0.1.0":
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996"
- integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==
- dependencies:
- "@jridgewell/set-array" "^1.0.0"
- "@jridgewell/sourcemap-codec" "^1.4.10"
-
-"@jridgewell/gen-mapping@^0.3.2":
- version "0.3.2"
- resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9"
- integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==
- dependencies:
- "@jridgewell/set-array" "^1.0.1"
- "@jridgewell/sourcemap-codec" "^1.4.10"
- "@jridgewell/trace-mapping" "^0.3.9"
-
-"@jridgewell/resolve-uri@3.1.0":
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78"
- integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==
-
-"@jridgewell/resolve-uri@^3.1.0":
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721"
- integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==
-
-"@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1":
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72"
- integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==
-
-"@jridgewell/sourcemap-codec@1.4.14", "@jridgewell/sourcemap-codec@^1.4.10":
- version "1.4.14"
- resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24"
- integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==
-
-"@jridgewell/sourcemap-codec@^1.4.14":
- version "1.4.15"
- resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32"
- integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
-
-"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.15", "@jridgewell/trace-mapping@^0.3.9":
- version "0.3.17"
- resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985"
- integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==
- dependencies:
- "@jridgewell/resolve-uri" "3.1.0"
- "@jridgewell/sourcemap-codec" "1.4.14"
-
-"@jridgewell/trace-mapping@^0.3.17":
- version "0.3.20"
- resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz#72e45707cf240fa6b081d0366f8265b0cd10197f"
- integrity sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==
- dependencies:
- "@jridgewell/resolve-uri" "^3.1.0"
- "@jridgewell/sourcemap-codec" "^1.4.14"
-
-"@nodelib/fs.scandir@2.1.5":
- version "2.1.5"
- resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
- integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
- dependencies:
- "@nodelib/fs.stat" "2.0.5"
- run-parallel "^1.1.9"
-
-"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b"
- integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
-
-"@nodelib/fs.walk@^1.2.3":
- version "1.2.8"
- resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a"
- integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
- dependencies:
- "@nodelib/fs.scandir" "2.1.5"
- fastq "^1.6.0"
-
-"@sinclair/typebox@^0.24.1":
- version "0.24.51"
- resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.24.51.tgz#645f33fe4e02defe26f2f5c0410e1c094eac7f5f"
- integrity sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==
-
-"@sinonjs/commons@^1.7.0":
- version "1.8.6"
- resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.6.tgz#80c516a4dc264c2a69115e7578d62581ff455ed9"
- integrity sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==
- dependencies:
- type-detect "4.0.8"
-
-"@sinonjs/fake-timers@^9.1.2":
- version "9.1.2"
- resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz#4eaab737fab77332ab132d396a3c0d364bd0ea8c"
- integrity sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==
- dependencies:
- "@sinonjs/commons" "^1.7.0"
-
-"@types/babel__core@^7.1.14":
- version "7.1.20"
- resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.20.tgz#e168cdd612c92a2d335029ed62ac94c95b362359"
- integrity sha512-PVb6Bg2QuscZ30FvOU7z4guG6c926D9YRvOxEaelzndpMsvP+YM74Q/dAFASpg2l6+XLalxSGxcq/lrgYWZtyQ==
- dependencies:
- "@babel/parser" "^7.1.0"
- "@babel/types" "^7.0.0"
- "@types/babel__generator" "*"
- "@types/babel__template" "*"
- "@types/babel__traverse" "*"
-
-"@types/babel__generator@*":
- version "7.6.4"
- resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.4.tgz#1f20ce4c5b1990b37900b63f050182d28c2439b7"
- integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==
- dependencies:
- "@babel/types" "^7.0.0"
-
-"@types/babel__template@*":
- version "7.4.1"
- resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969"
- integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==
- dependencies:
- "@babel/parser" "^7.1.0"
- "@babel/types" "^7.0.0"
-
-"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6":
- version "7.18.3"
- resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.18.3.tgz#dfc508a85781e5698d5b33443416b6268c4b3e8d"
- integrity sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w==
- dependencies:
- "@babel/types" "^7.3.0"
-
-"@types/css@^0.0.33":
- version "0.0.33"
- resolved "https://registry.yarnpkg.com/@types/css/-/css-0.0.33.tgz#d0b49c4090c09c8e5dc01364560627e5ebb770f2"
- integrity sha512-qjeDgh86R0LIeEM588q65yatc8Yyo/VvSIYFqq8JOIHDolhGNX0rz7k/OuxqDpnpqlefoHj8X4Ai/6hT9IWtKQ==
-
-"@types/graceful-fs@^4.1.3":
- version "4.1.5"
- resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15"
- integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==
- dependencies:
- "@types/node" "*"
-
-"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1":
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44"
- integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==
-
-"@types/istanbul-lib-report@*":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686"
- integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==
- dependencies:
- "@types/istanbul-lib-coverage" "*"
-
-"@types/istanbul-reports@^3.0.0":
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff"
- integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==
- dependencies:
- "@types/istanbul-lib-report" "*"
-
-"@types/node@*":
- version "18.11.18"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.18.tgz#8dfb97f0da23c2293e554c5a50d61ef134d7697f"
- integrity sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==
-
-"@types/prettier@^2.1.5":
- version "2.7.2"
- resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.2.tgz#6c2324641cc4ba050a8c710b2b251b377581fbf0"
- integrity sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==
-
-"@types/stack-utils@^2.0.0":
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c"
- integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==
-
-"@types/yargs-parser@*":
- version "21.0.0"
- resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b"
- integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==
-
-"@types/yargs@^17.0.8":
- version "17.0.18"
- resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.18.tgz#466225ab4fbabb9aa711f5b406796daf1374a5b7"
- integrity sha512-eIJR1UER6ur3EpKM3d+2Pgd+ET+k6Kn9B4ZItX0oPjjVI5PrfaRjKyLT5UYendDpLuoiJMNJvovLQbEXqhsPaw==
- dependencies:
- "@types/yargs-parser" "*"
-
-ansi-colors@^4.1.1:
- version "4.1.3"
- resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b"
- integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==
-
-ansi-escapes@^4.2.1:
- version "4.3.2"
- resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e"
- integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==
- dependencies:
- type-fest "^0.21.3"
-
-ansi-regex@^5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
- integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
-
-ansi-styles@^3.2.1:
- version "3.2.1"
- resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
- integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
- dependencies:
- color-convert "^1.9.0"
-
-ansi-styles@^4.0.0, ansi-styles@^4.1.0:
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
- integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
- dependencies:
- color-convert "^2.0.1"
-
-ansi-styles@^5.0.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b"
- integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==
-
-anymatch@^3.0.3, anymatch@~3.1.2:
- version "3.1.3"
- resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e"
- integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==
- dependencies:
- normalize-path "^3.0.0"
- picomatch "^2.0.4"
-
-argparse@^1.0.7:
- version "1.0.10"
- resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
- integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
- dependencies:
- sprintf-js "~1.0.2"
-
-atob@^2.1.2:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
- integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
-
-babel-jest@^29.3.1:
- version "29.3.1"
- resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.3.1.tgz#05c83e0d128cd48c453eea851482a38782249f44"
- integrity sha512-aard+xnMoxgjwV70t0L6wkW/3HQQtV+O0PEimxKgzNqCJnbYmroPojdP2tqKSOAt8QAKV/uSZU8851M7B5+fcA==
- dependencies:
- "@jest/transform" "^29.3.1"
- "@types/babel__core" "^7.1.14"
- babel-plugin-istanbul "^6.1.1"
- babel-preset-jest "^29.2.0"
- chalk "^4.0.0"
- graceful-fs "^4.2.9"
- slash "^3.0.0"
-
-babel-plugin-istanbul@^6.1.1:
- version "6.1.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73"
- integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
- "@istanbuljs/load-nyc-config" "^1.0.0"
- "@istanbuljs/schema" "^0.1.2"
- istanbul-lib-instrument "^5.0.4"
- test-exclude "^6.0.0"
-
-babel-plugin-jest-hoist@^29.2.0:
- version "29.2.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.2.0.tgz#23ee99c37390a98cfddf3ef4a78674180d823094"
- integrity sha512-TnspP2WNiR3GLfCsUNHqeXw0RoQ2f9U5hQ5L3XFpwuO8htQmSrhh8qsB6vi5Yi8+kuynN1yjDjQsPfkebmB6ZA==
- dependencies:
- "@babel/template" "^7.3.3"
- "@babel/types" "^7.3.3"
- "@types/babel__core" "^7.1.14"
- "@types/babel__traverse" "^7.0.6"
-
-babel-preset-current-node-syntax@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b"
- integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==
- dependencies:
- "@babel/plugin-syntax-async-generators" "^7.8.4"
- "@babel/plugin-syntax-bigint" "^7.8.3"
- "@babel/plugin-syntax-class-properties" "^7.8.3"
- "@babel/plugin-syntax-import-meta" "^7.8.3"
- "@babel/plugin-syntax-json-strings" "^7.8.3"
- "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3"
- "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
- "@babel/plugin-syntax-numeric-separator" "^7.8.3"
- "@babel/plugin-syntax-object-rest-spread" "^7.8.3"
- "@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
- "@babel/plugin-syntax-optional-chaining" "^7.8.3"
- "@babel/plugin-syntax-top-level-await" "^7.8.3"
-
-babel-preset-jest@^29.2.0:
- version "29.2.0"
- resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.2.0.tgz#3048bea3a1af222e3505e4a767a974c95a7620dc"
- integrity sha512-z9JmMJppMxNv8N7fNRHvhMg9cvIkMxQBXgFkane3yKVEvEOP+kB50lk8DFRvF9PGqbyXxlmebKWhuDORO8RgdA==
- dependencies:
- babel-plugin-jest-hoist "^29.2.0"
- babel-preset-current-node-syntax "^1.0.0"
-
-balanced-match@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
- integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
-
-binary-extensions@^2.0.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
- integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
-
-brace-expansion@^1.1.7:
- version "1.1.11"
- resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
- integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
- dependencies:
- balanced-match "^1.0.0"
- concat-map "0.0.1"
-
-braces@^3.0.2, braces@~3.0.2:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789"
- integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==
- dependencies:
- fill-range "^7.1.1"
-
-browserslist@^4.21.3:
- version "4.21.4"
- resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.4.tgz#e7496bbc67b9e39dd0f98565feccdcb0d4ff6987"
- integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==
- dependencies:
- caniuse-lite "^1.0.30001400"
- electron-to-chromium "^1.4.251"
- node-releases "^2.0.6"
- update-browserslist-db "^1.0.9"
-
-bser@2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05"
- integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==
- dependencies:
- node-int64 "^0.4.0"
-
-buffer-from@^1.0.0:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
- integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
-
-callsites@^3.0.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
- integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
-
-camelcase@^5.3.1:
- version "5.3.1"
- resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
- integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
-
-camelcase@^6.2.0:
- version "6.3.0"
- resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a"
- integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
-
-caniuse-lite@^1.0.30001400:
- version "1.0.30001441"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001441.tgz#987437b266260b640a23cd18fbddb509d7f69f3e"
- integrity sha512-OyxRR4Vof59I3yGWXws6i908EtGbMzVUi3ganaZQHmydk1iwDhRnvaPG2WaR0KcqrDFKrxVZHULT396LEPhXfg==
-
-chalk@^2.0.0, chalk@^2.4.2:
- version "2.4.2"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
- integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
- dependencies:
- ansi-styles "^3.2.1"
- escape-string-regexp "^1.0.5"
- supports-color "^5.3.0"
-
-chalk@^4.0.0:
- version "4.1.2"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
- integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
- dependencies:
- ansi-styles "^4.1.0"
- supports-color "^7.1.0"
-
-char-regex@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf"
- integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==
-
-"chokidar@>=3.0.0 <4.0.0":
- version "3.5.3"
- resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd"
- integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
- dependencies:
- anymatch "~3.1.2"
- braces "~3.0.2"
- glob-parent "~5.1.2"
- is-binary-path "~2.1.0"
- is-glob "~4.0.1"
- normalize-path "~3.0.0"
- readdirp "~3.6.0"
- optionalDependencies:
- fsevents "~2.3.2"
-
-ci-info@^3.2.0:
- version "3.7.0"
- resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.7.0.tgz#6d01b3696c59915b6ce057e4aa4adfc2fa25f5ef"
- integrity sha512-2CpRNYmImPx+RXKLq6jko/L07phmS9I02TyqkcNU20GCF/GgaWvc58hPtjxDX8lPpkdwc9sNh72V9k00S7ezog==
-
-cjs-module-lexer@^1.0.0:
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz#9f84ba3244a512f3a54e5277e8eef4c489864e40"
- integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==
-
-clap@^3.0.0:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/clap/-/clap-3.1.1.tgz#c2d2688f89eb90a68e7b8a6619ed2303b43c2c04"
- integrity sha512-vp42956Ax06WwaaheYEqEOgXZ3VKJxgccZ0gJL0HpyiupkIS9RVJFo5eDU1BPeQAOqz+cclndZg4DCqG1sJReQ==
- dependencies:
- ansi-colors "^4.1.1"
-
-cliui@^8.0.1:
- version "8.0.1"
- resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa"
- integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==
- dependencies:
- string-width "^4.2.0"
- strip-ansi "^6.0.1"
- wrap-ansi "^7.0.0"
-
-co@^4.6.0:
- version "4.6.0"
- resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
- integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==
-
-collect-v8-coverage@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59"
- integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==
-
-color-convert@^1.9.0:
- version "1.9.3"
- resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
- integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
- dependencies:
- color-name "1.1.3"
-
-color-convert@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
- integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
- dependencies:
- color-name "~1.1.4"
-
-color-name@1.1.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
- integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
-
-color-name@~1.1.4:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
- integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
-
-concat-map@0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
- integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
-
-convert-source-map@^1.6.0, convert-source-map@^1.7.0:
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f"
- integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==
-
-convert-source-map@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a"
- integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==
-
-cross-spawn@^7.0.3:
- version "7.0.3"
- resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
- integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
- dependencies:
- path-key "^3.1.0"
- shebang-command "^2.0.0"
- which "^2.0.1"
-
-css-tree@^2.0.2:
- version "2.3.1"
- resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.3.1.tgz#10264ce1e5442e8572fc82fbe490644ff54b5c20"
- integrity sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==
- dependencies:
- mdn-data "2.0.30"
- source-map-js "^1.0.1"
-
-css@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/css/-/css-3.0.0.tgz#4447a4d58fdd03367c516ca9f64ae365cee4aa5d"
- integrity sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==
- dependencies:
- inherits "^2.0.4"
- source-map "^0.6.1"
- source-map-resolve "^0.6.0"
-
-csstree-validator@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/csstree-validator/-/csstree-validator-3.0.0.tgz#041579bf815d88b0a72452453605b32b2a1f422f"
- integrity sha512-Y5OSq3wI0Xz6L7DCgJQtQ97U+v99SkX9r663VjpvUMJPhEr0A149OxiAGqcnokB5bt81irgnMudspBzujzqn0w==
- dependencies:
- clap "^3.0.0"
- css-tree "^2.0.2"
- resolve "^1.20.0"
-
-debug@^4.1.0, debug@^4.1.1:
- version "4.3.4"
- resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
- integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
- dependencies:
- ms "2.1.2"
-
-decode-uri-component@^0.2.0:
- version "0.2.2"
- resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9"
- integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==
-
-dedent@^0.7.0:
- version "0.7.0"
- resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c"
- integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==
-
-deepmerge@^4.2.2:
- version "4.2.2"
- resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955"
- integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==
-
-detect-newline@^3.0.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651"
- integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==
-
-diff-sequences@^29.3.1:
- version "29.3.1"
- resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.3.1.tgz#104b5b95fe725932421a9c6e5b4bef84c3f2249e"
- integrity sha512-hlM3QR272NXCi4pq+N4Kok4kOp6EsgOM3ZSpJI7Da3UAs+Ttsi8MRmB6trM/lhyzUxGfOgnpkHtgqm5Q/CTcfQ==
-
-electron-to-chromium@^1.4.251:
- version "1.4.284"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz#61046d1e4cab3a25238f6bf7413795270f125592"
- integrity sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==
-
-emittery@^0.13.1:
- version "0.13.1"
- resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad"
- integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==
-
-emoji-regex@^8.0.0:
- version "8.0.0"
- resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
- integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
-
-error-ex@^1.3.1:
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
- integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
- dependencies:
- is-arrayish "^0.2.1"
-
-escalade@^3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
- integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
-
-escape-string-regexp@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
- integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==
-
-escape-string-regexp@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344"
- integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==
-
-esprima@^4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
- integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
-
-execa@^5.0.0:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd"
- integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==
- dependencies:
- cross-spawn "^7.0.3"
- get-stream "^6.0.0"
- human-signals "^2.1.0"
- is-stream "^2.0.0"
- merge-stream "^2.0.0"
- npm-run-path "^4.0.1"
- onetime "^5.1.2"
- signal-exit "^3.0.3"
- strip-final-newline "^2.0.0"
-
-exit@^0.1.2:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c"
- integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==
-
-expect@^29.3.1:
- version "29.3.1"
- resolved "https://registry.yarnpkg.com/expect/-/expect-29.3.1.tgz#92877aad3f7deefc2e3f6430dd195b92295554a6"
- integrity sha512-gGb1yTgU30Q0O/tQq+z30KBWv24ApkMgFUpvKBkyLUBL68Wv8dHdJxTBZFl/iT8K/bqDHvUYRH6IIN3rToopPA==
- dependencies:
- "@jest/expect-utils" "^29.3.1"
- jest-get-type "^29.2.0"
- jest-matcher-utils "^29.3.1"
- jest-message-util "^29.3.1"
- jest-util "^29.3.1"
-
-fast-glob@^3.2.12:
- version "3.2.12"
- resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80"
- integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==
- dependencies:
- "@nodelib/fs.stat" "^2.0.2"
- "@nodelib/fs.walk" "^1.2.3"
- glob-parent "^5.1.2"
- merge2 "^1.3.0"
- micromatch "^4.0.4"
-
-fast-json-stable-stringify@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
- integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
-
-fastq@^1.6.0:
- version "1.14.0"
- resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.14.0.tgz#107f69d7295b11e0fccc264e1fc6389f623731ce"
- integrity sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg==
- dependencies:
- reusify "^1.0.4"
-
-fb-watchman@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.2.tgz#e9524ee6b5c77e9e5001af0f85f3adbb8623255c"
- integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==
- dependencies:
- bser "2.1.1"
-
-fill-range@^7.1.1:
- version "7.1.1"
- resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292"
- integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==
- dependencies:
- to-regex-range "^5.0.1"
-
-find-up@^4.0.0, find-up@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19"
- integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
- dependencies:
- locate-path "^5.0.0"
- path-exists "^4.0.0"
-
-fs.realpath@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
- integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
-
-fsevents@^2.3.2, fsevents@~2.3.2:
- version "2.3.2"
- resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
- integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
-
-function-bind@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
- integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
-
-gensync@^1.0.0-beta.2:
- version "1.0.0-beta.2"
- resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
- integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
-
-get-caller-file@^2.0.5:
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
- integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
-
-get-package-type@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a"
- integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==
-
-get-stream@^6.0.0:
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7"
- integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==
-
-glob-parent@^5.1.2, glob-parent@~5.1.2:
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
- integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
- dependencies:
- is-glob "^4.0.1"
-
-glob@^7.1.3, glob@^7.1.4:
- version "7.2.3"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
- integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
- dependencies:
- fs.realpath "^1.0.0"
- inflight "^1.0.4"
- inherits "2"
- minimatch "^3.1.1"
- once "^1.3.0"
- path-is-absolute "^1.0.0"
-
-globals@^11.1.0:
- version "11.12.0"
- resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
- integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
-
-graceful-fs@^4.2.9:
- version "4.2.10"
- resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c"
- integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==
-
-has-flag@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
- integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==
-
-has-flag@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
- integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
-
-has@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
- integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
- dependencies:
- function-bind "^1.1.1"
-
-html-escaper@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453"
- integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==
-
-human-signals@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0"
- integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==
-
-immutable@^4.0.0:
- version "4.2.1"
- resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.2.1.tgz#8a4025691018c560a40c67e43d698f816edc44d4"
- integrity sha512-7WYV7Q5BTs0nlQm7tl92rDYYoyELLKHoDMBKhrxEoiV4mrfVdRz8hzPiYOzH7yWjzoVEamxRuAqhxL2PLRwZYQ==
-
-import-local@^3.0.2:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4"
- integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==
- dependencies:
- pkg-dir "^4.2.0"
- resolve-cwd "^3.0.0"
-
-imurmurhash@^0.1.4:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
- integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==
-
-inflight@^1.0.4:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
- integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==
- dependencies:
- once "^1.3.0"
- wrappy "1"
-
-inherits@2, inherits@^2.0.4:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
- integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
-
-is-arrayish@^0.2.1:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
- integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==
-
-is-binary-path@~2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
- integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
- dependencies:
- binary-extensions "^2.0.0"
-
-is-core-module@^2.9.0:
- version "2.11.0"
- resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144"
- integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==
- dependencies:
- has "^1.0.3"
-
-is-extglob@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
- integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
-
-is-fullwidth-code-point@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
- integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
-
-is-generator-fn@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118"
- integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==
-
-is-glob@^4.0.1, is-glob@~4.0.1:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
- integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
- dependencies:
- is-extglob "^2.1.1"
-
-is-number@^7.0.0:
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
- integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
-
-is-stream@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077"
- integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==
-
-isexe@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
- integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
-
-istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3"
- integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==
-
-istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0:
- version "5.2.1"
- resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d"
- integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==
- dependencies:
- "@babel/core" "^7.12.3"
- "@babel/parser" "^7.14.7"
- "@istanbuljs/schema" "^0.1.2"
- istanbul-lib-coverage "^3.2.0"
- semver "^6.3.0"
-
-istanbul-lib-report@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6"
- integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==
- dependencies:
- istanbul-lib-coverage "^3.0.0"
- make-dir "^3.0.0"
- supports-color "^7.1.0"
-
-istanbul-lib-source-maps@^4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551"
- integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==
- dependencies:
- debug "^4.1.1"
- istanbul-lib-coverage "^3.0.0"
- source-map "^0.6.1"
-
-istanbul-reports@^3.1.3:
- version "3.1.5"
- resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.5.tgz#cc9a6ab25cb25659810e4785ed9d9fb742578bae"
- integrity sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==
- dependencies:
- html-escaper "^2.0.0"
- istanbul-lib-report "^3.0.0"
-
-jest-changed-files@^29.2.0:
- version "29.2.0"
- resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.2.0.tgz#b6598daa9803ea6a4dce7968e20ab380ddbee289"
- integrity sha512-qPVmLLyBmvF5HJrY7krDisx6Voi8DmlV3GZYX0aFNbaQsZeoz1hfxcCMbqDGuQCxU1dJy9eYc2xscE8QrCCYaA==
- dependencies:
- execa "^5.0.0"
- p-limit "^3.1.0"
-
-jest-circus@^29.3.1:
- version "29.3.1"
- resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.3.1.tgz#177d07c5c0beae8ef2937a67de68f1e17bbf1b4a"
- integrity sha512-wpr26sEvwb3qQQbdlmei+gzp6yoSSoSL6GsLPxnuayZSMrSd5Ka7IjAvatpIernBvT2+Ic6RLTg+jSebScmasg==
- dependencies:
- "@jest/environment" "^29.3.1"
- "@jest/expect" "^29.3.1"
- "@jest/test-result" "^29.3.1"
- "@jest/types" "^29.3.1"
- "@types/node" "*"
- chalk "^4.0.0"
- co "^4.6.0"
- dedent "^0.7.0"
- is-generator-fn "^2.0.0"
- jest-each "^29.3.1"
- jest-matcher-utils "^29.3.1"
- jest-message-util "^29.3.1"
- jest-runtime "^29.3.1"
- jest-snapshot "^29.3.1"
- jest-util "^29.3.1"
- p-limit "^3.1.0"
- pretty-format "^29.3.1"
- slash "^3.0.0"
- stack-utils "^2.0.3"
-
-jest-cli@^29.3.1:
- version "29.3.1"
- resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.3.1.tgz#e89dff427db3b1df50cea9a393ebd8640790416d"
- integrity sha512-TO/ewvwyvPOiBBuWZ0gm04z3WWP8TIK8acgPzE4IxgsLKQgb377NYGrQLc3Wl/7ndWzIH2CDNNsUjGxwLL43VQ==
- dependencies:
- "@jest/core" "^29.3.1"
- "@jest/test-result" "^29.3.1"
- "@jest/types" "^29.3.1"
- chalk "^4.0.0"
- exit "^0.1.2"
- graceful-fs "^4.2.9"
- import-local "^3.0.2"
- jest-config "^29.3.1"
- jest-util "^29.3.1"
- jest-validate "^29.3.1"
- prompts "^2.0.1"
- yargs "^17.3.1"
-
-jest-config@^29.3.1:
- version "29.3.1"
- resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.3.1.tgz#0bc3dcb0959ff8662957f1259947aedaefb7f3c6"
- integrity sha512-y0tFHdj2WnTEhxmGUK1T7fgLen7YK4RtfvpLFBXfQkh2eMJAQq24Vx9472lvn5wg0MAO6B+iPfJfzdR9hJYalg==
- dependencies:
- "@babel/core" "^7.11.6"
- "@jest/test-sequencer" "^29.3.1"
- "@jest/types" "^29.3.1"
- babel-jest "^29.3.1"
- chalk "^4.0.0"
- ci-info "^3.2.0"
- deepmerge "^4.2.2"
- glob "^7.1.3"
- graceful-fs "^4.2.9"
- jest-circus "^29.3.1"
- jest-environment-node "^29.3.1"
- jest-get-type "^29.2.0"
- jest-regex-util "^29.2.0"
- jest-resolve "^29.3.1"
- jest-runner "^29.3.1"
- jest-util "^29.3.1"
- jest-validate "^29.3.1"
- micromatch "^4.0.4"
- parse-json "^5.2.0"
- pretty-format "^29.3.1"
- slash "^3.0.0"
- strip-json-comments "^3.1.1"
-
-jest-diff@^29.3.1:
- version "29.3.1"
- resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.3.1.tgz#d8215b72fed8f1e647aed2cae6c752a89e757527"
- integrity sha512-vU8vyiO7568tmin2lA3r2DP8oRvzhvRcD4DjpXc6uGveQodyk7CKLhQlCSiwgx3g0pFaE88/KLZ0yaTWMc4Uiw==
- dependencies:
- chalk "^4.0.0"
- diff-sequences "^29.3.1"
- jest-get-type "^29.2.0"
- pretty-format "^29.3.1"
-
-jest-docblock@^29.2.0:
- version "29.2.0"
- resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.2.0.tgz#307203e20b637d97cee04809efc1d43afc641e82"
- integrity sha512-bkxUsxTgWQGbXV5IENmfiIuqZhJcyvF7tU4zJ/7ioTutdz4ToB5Yx6JOFBpgI+TphRY4lhOyCWGNH/QFQh5T6A==
- dependencies:
- detect-newline "^3.0.0"
-
-jest-each@^29.3.1:
- version "29.3.1"
- resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.3.1.tgz#bc375c8734f1bb96625d83d1ca03ef508379e132"
- integrity sha512-qrZH7PmFB9rEzCSl00BWjZYuS1BSOH8lLuC0azQE9lQrAx3PWGKHTDudQiOSwIy5dGAJh7KA0ScYlCP7JxvFYA==
- dependencies:
- "@jest/types" "^29.3.1"
- chalk "^4.0.0"
- jest-get-type "^29.2.0"
- jest-util "^29.3.1"
- pretty-format "^29.3.1"
-
-jest-environment-node-single-context@^29.0.0:
- version "29.0.0"
- resolved "https://registry.yarnpkg.com/jest-environment-node-single-context/-/jest-environment-node-single-context-29.0.0.tgz#1959273b6b33b6ec63605863d8768488a247b91d"
- integrity sha512-/XB09Hje38Kl5k9ISUpXNom3M4DQo5ifEsnELPFP5r3yrJDRyNQCEjL/9ScUN6z6UeF4FCNZUsiJIX/tGtTXNw==
- dependencies:
- jest-environment-node "^29.0.1"
-
-jest-environment-node@^29.0.1, jest-environment-node@^29.3.1:
- version "29.3.1"
- resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.3.1.tgz#5023b32472b3fba91db5c799a0d5624ad4803e74"
- integrity sha512-xm2THL18Xf5sIHoU7OThBPtuH6Lerd+Y1NLYiZJlkE3hbE+7N7r8uvHIl/FkZ5ymKXJe/11SQuf3fv4v6rUMag==
- dependencies:
- "@jest/environment" "^29.3.1"
- "@jest/fake-timers" "^29.3.1"
- "@jest/types" "^29.3.1"
- "@types/node" "*"
- jest-mock "^29.3.1"
- jest-util "^29.3.1"
-
-jest-get-type@^29.2.0:
- version "29.2.0"
- resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.2.0.tgz#726646f927ef61d583a3b3adb1ab13f3a5036408"
- integrity sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==
-
-jest-haste-map@^29.3.1:
- version "29.3.1"
- resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.3.1.tgz#af83b4347f1dae5ee8c2fb57368dc0bb3e5af843"
- integrity sha512-/FFtvoG1xjbbPXQLFef+WSU4yrc0fc0Dds6aRPBojUid7qlPqZvxdUBA03HW0fnVHXVCnCdkuoghYItKNzc/0A==
- dependencies:
- "@jest/types" "^29.3.1"
- "@types/graceful-fs" "^4.1.3"
- "@types/node" "*"
- anymatch "^3.0.3"
- fb-watchman "^2.0.0"
- graceful-fs "^4.2.9"
- jest-regex-util "^29.2.0"
- jest-util "^29.3.1"
- jest-worker "^29.3.1"
- micromatch "^4.0.4"
- walker "^1.0.8"
- optionalDependencies:
- fsevents "^2.3.2"
-
-jest-leak-detector@^29.3.1:
- version "29.3.1"
- resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.3.1.tgz#95336d020170671db0ee166b75cd8ef647265518"
- integrity sha512-3DA/VVXj4zFOPagGkuqHnSQf1GZBmmlagpguxEERO6Pla2g84Q1MaVIB3YMxgUaFIaYag8ZnTyQgiZ35YEqAQA==
- dependencies:
- jest-get-type "^29.2.0"
- pretty-format "^29.3.1"
-
-jest-matcher-utils@^29.3.1:
- version "29.3.1"
- resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.3.1.tgz#6e7f53512f80e817dfa148672bd2d5d04914a572"
- integrity sha512-fkRMZUAScup3txIKfMe3AIZZmPEjWEdsPJFK3AIy5qRohWqQFg1qrmKfYXR9qEkNc7OdAu2N4KPHibEmy4HPeQ==
- dependencies:
- chalk "^4.0.0"
- jest-diff "^29.3.1"
- jest-get-type "^29.2.0"
- pretty-format "^29.3.1"
-
-jest-message-util@^29.3.1:
- version "29.3.1"
- resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.3.1.tgz#37bc5c468dfe5120712053dd03faf0f053bd6adb"
- integrity sha512-lMJTbgNcDm5z+6KDxWtqOFWlGQxD6XaYwBqHR8kmpkP+WWWG90I35kdtQHY67Ay5CSuydkTBbJG+tH9JShFCyA==
- dependencies:
- "@babel/code-frame" "^7.12.13"
- "@jest/types" "^29.3.1"
- "@types/stack-utils" "^2.0.0"
- chalk "^4.0.0"
- graceful-fs "^4.2.9"
- micromatch "^4.0.4"
- pretty-format "^29.3.1"
- slash "^3.0.0"
- stack-utils "^2.0.3"
-
-jest-mock@^29.3.1:
- version "29.3.1"
- resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.3.1.tgz#60287d92e5010979d01f218c6b215b688e0f313e"
- integrity sha512-H8/qFDtDVMFvFP4X8NuOT3XRDzOUTz+FeACjufHzsOIBAxivLqkB1PoLCaJx9iPPQ8dZThHPp/G3WRWyMgA3JA==
- dependencies:
- "@jest/types" "^29.3.1"
- "@types/node" "*"
- jest-util "^29.3.1"
-
-jest-pnp-resolver@^1.2.2:
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e"
- integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==
-
-jest-regex-util@^29.2.0:
- version "29.2.0"
- resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.2.0.tgz#82ef3b587e8c303357728d0322d48bbfd2971f7b"
- integrity sha512-6yXn0kg2JXzH30cr2NlThF+70iuO/3irbaB4mh5WyqNIvLLP+B6sFdluO1/1RJmslyh/f9osnefECflHvTbwVA==
-
-jest-resolve-dependencies@^29.3.1:
- version "29.3.1"
- resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.3.1.tgz#a6a329708a128e68d67c49f38678a4a4a914c3bf"
- integrity sha512-Vk0cYq0byRw2WluNmNWGqPeRnZ3p3hHmjJMp2dyyZeYIfiBskwq4rpiuGFR6QGAdbj58WC7HN4hQHjf2mpvrLA==
- dependencies:
- jest-regex-util "^29.2.0"
- jest-snapshot "^29.3.1"
-
-jest-resolve@^29.3.1:
- version "29.3.1"
- resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.3.1.tgz#9a4b6b65387a3141e4a40815535c7f196f1a68a7"
- integrity sha512-amXJgH/Ng712w3Uz5gqzFBBjxV8WFLSmNjoreBGMqxgCz5cH7swmBZzgBaCIOsvb0NbpJ0vgaSFdJqMdT+rADw==
- dependencies:
- chalk "^4.0.0"
- graceful-fs "^4.2.9"
- jest-haste-map "^29.3.1"
- jest-pnp-resolver "^1.2.2"
- jest-util "^29.3.1"
- jest-validate "^29.3.1"
- resolve "^1.20.0"
- resolve.exports "^1.1.0"
- slash "^3.0.0"
-
-jest-runner@^29.3.1:
- version "29.3.1"
- resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.3.1.tgz#a92a879a47dd096fea46bb1517b0a99418ee9e2d"
- integrity sha512-oFvcwRNrKMtE6u9+AQPMATxFcTySyKfLhvso7Sdk/rNpbhg4g2GAGCopiInk1OP4q6gz3n6MajW4+fnHWlU3bA==
- dependencies:
- "@jest/console" "^29.3.1"
- "@jest/environment" "^29.3.1"
- "@jest/test-result" "^29.3.1"
- "@jest/transform" "^29.3.1"
- "@jest/types" "^29.3.1"
- "@types/node" "*"
- chalk "^4.0.0"
- emittery "^0.13.1"
- graceful-fs "^4.2.9"
- jest-docblock "^29.2.0"
- jest-environment-node "^29.3.1"
- jest-haste-map "^29.3.1"
- jest-leak-detector "^29.3.1"
- jest-message-util "^29.3.1"
- jest-resolve "^29.3.1"
- jest-runtime "^29.3.1"
- jest-util "^29.3.1"
- jest-watcher "^29.3.1"
- jest-worker "^29.3.1"
- p-limit "^3.1.0"
- source-map-support "0.5.13"
-
-jest-runtime@^29.3.1:
- version "29.3.1"
- resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.3.1.tgz#21efccb1a66911d6d8591276a6182f520b86737a"
- integrity sha512-jLzkIxIqXwBEOZx7wx9OO9sxoZmgT2NhmQKzHQm1xwR1kNW/dn0OjxR424VwHHf1SPN6Qwlb5pp1oGCeFTQ62A==
- dependencies:
- "@jest/environment" "^29.3.1"
- "@jest/fake-timers" "^29.3.1"
- "@jest/globals" "^29.3.1"
- "@jest/source-map" "^29.2.0"
- "@jest/test-result" "^29.3.1"
- "@jest/transform" "^29.3.1"
- "@jest/types" "^29.3.1"
- "@types/node" "*"
- chalk "^4.0.0"
- cjs-module-lexer "^1.0.0"
- collect-v8-coverage "^1.0.0"
- glob "^7.1.3"
- graceful-fs "^4.2.9"
- jest-haste-map "^29.3.1"
- jest-message-util "^29.3.1"
- jest-mock "^29.3.1"
- jest-regex-util "^29.2.0"
- jest-resolve "^29.3.1"
- jest-snapshot "^29.3.1"
- jest-util "^29.3.1"
- slash "^3.0.0"
- strip-bom "^4.0.0"
-
-jest-snapshot@^29.3.1:
- version "29.3.1"
- resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.3.1.tgz#17bcef71a453adc059a18a32ccbd594b8cc4e45e"
- integrity sha512-+3JOc+s28upYLI2OJM4PWRGK9AgpsMs/ekNryUV0yMBClT9B1DF2u2qay8YxcQd338PPYSFNb0lsar1B49sLDA==
- dependencies:
- "@babel/core" "^7.11.6"
- "@babel/generator" "^7.7.2"
- "@babel/plugin-syntax-jsx" "^7.7.2"
- "@babel/plugin-syntax-typescript" "^7.7.2"
- "@babel/traverse" "^7.7.2"
- "@babel/types" "^7.3.3"
- "@jest/expect-utils" "^29.3.1"
- "@jest/transform" "^29.3.1"
- "@jest/types" "^29.3.1"
- "@types/babel__traverse" "^7.0.6"
- "@types/prettier" "^2.1.5"
- babel-preset-current-node-syntax "^1.0.0"
- chalk "^4.0.0"
- expect "^29.3.1"
- graceful-fs "^4.2.9"
- jest-diff "^29.3.1"
- jest-get-type "^29.2.0"
- jest-haste-map "^29.3.1"
- jest-matcher-utils "^29.3.1"
- jest-message-util "^29.3.1"
- jest-util "^29.3.1"
- natural-compare "^1.4.0"
- pretty-format "^29.3.1"
- semver "^7.3.5"
-
-jest-util@^29.3.1:
- version "29.3.1"
- resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.3.1.tgz#1dda51e378bbcb7e3bc9d8ab651445591ed373e1"
- integrity sha512-7YOVZaiX7RJLv76ZfHt4nbNEzzTRiMW/IiOG7ZOKmTXmoGBxUDefgMAxQubu6WPVqP5zSzAdZG0FfLcC7HOIFQ==
- dependencies:
- "@jest/types" "^29.3.1"
- "@types/node" "*"
- chalk "^4.0.0"
- ci-info "^3.2.0"
- graceful-fs "^4.2.9"
- picomatch "^2.2.3"
-
-jest-validate@^29.3.1:
- version "29.3.1"
- resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.3.1.tgz#d56fefaa2e7d1fde3ecdc973c7f7f8f25eea704a"
- integrity sha512-N9Lr3oYR2Mpzuelp1F8negJR3YE+L1ebk1rYA5qYo9TTY3f9OWdptLoNSPP9itOCBIRBqjt/S5XHlzYglLN67g==
- dependencies:
- "@jest/types" "^29.3.1"
- camelcase "^6.2.0"
- chalk "^4.0.0"
- jest-get-type "^29.2.0"
- leven "^3.1.0"
- pretty-format "^29.3.1"
-
-jest-watcher@^29.3.1:
- version "29.3.1"
- resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.3.1.tgz#3341547e14fe3c0f79f9c3a4c62dbc3fc977fd4a"
- integrity sha512-RspXG2BQFDsZSRKGCT/NiNa8RkQ1iKAjrO0//soTMWx/QUt+OcxMqMSBxz23PYGqUuWm2+m2mNNsmj0eIoOaFg==
- dependencies:
- "@jest/test-result" "^29.3.1"
- "@jest/types" "^29.3.1"
- "@types/node" "*"
- ansi-escapes "^4.2.1"
- chalk "^4.0.0"
- emittery "^0.13.1"
- jest-util "^29.3.1"
- string-length "^4.0.1"
-
-jest-worker@^29.3.1:
- version "29.3.1"
- resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.3.1.tgz#e9462161017a9bb176380d721cab022661da3d6b"
- integrity sha512-lY4AnnmsEWeiXirAIA0c9SDPbuCBq8IYuDVL8PMm0MZ2PEs2yPvRA/J64QBXuZp7CYKrDM/rmNrc9/i3KJQncw==
- dependencies:
- "@types/node" "*"
- jest-util "^29.3.1"
- merge-stream "^2.0.0"
- supports-color "^8.0.0"
-
-jest@^29.3.1:
- version "29.3.1"
- resolved "https://registry.yarnpkg.com/jest/-/jest-29.3.1.tgz#c130c0d551ae6b5459b8963747fed392ddbde122"
- integrity sha512-6iWfL5DTT0Np6UYs/y5Niu7WIfNv/wRTtN5RSXt2DIEft3dx3zPuw/3WJQBCJfmEzvDiEKwoqMbGD9n49+qLSA==
- dependencies:
- "@jest/core" "^29.3.1"
- "@jest/types" "^29.3.1"
- import-local "^3.0.2"
- jest-cli "^29.3.1"
-
-js-tokens@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
- integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
-
-js-yaml@^3.13.1:
- version "3.14.1"
- resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"
- integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
- dependencies:
- argparse "^1.0.7"
- esprima "^4.0.0"
-
-jsesc@^2.5.1:
- version "2.5.2"
- resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
- integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
-
-json-parse-even-better-errors@^2.3.0:
- version "2.3.1"
- resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d"
- integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==
-
-json5@^2.2.1:
- version "2.2.3"
- resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
- integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
-
-kleur@^3.0.3:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e"
- integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==
-
-leven@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2"
- integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==
-
-lines-and-columns@^1.1.6:
- version "1.2.4"
- resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632"
- integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==
-
-locate-path@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0"
- integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==
- dependencies:
- p-locate "^4.1.0"
-
-lodash@^4.17.21:
- version "4.17.21"
- resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
- integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
-
-lru-cache@^5.1.1:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
- integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==
- dependencies:
- yallist "^3.0.2"
-
-lru-cache@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
- integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
- dependencies:
- yallist "^4.0.0"
-
-make-dir@^3.0.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f"
- integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==
- dependencies:
- semver "^6.0.0"
-
-makeerror@1.0.12:
- version "1.0.12"
- resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a"
- integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==
- dependencies:
- tmpl "1.0.5"
-
-mdn-data@2.0.30:
- version "2.0.30"
- resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.30.tgz#ce4df6f80af6cfbe218ecd5c552ba13c4dfa08cc"
- integrity sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==
-
-merge-stream@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
- integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
-
-merge2@^1.3.0:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
- integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
-
-micromatch@^4.0.4:
- version "4.0.5"
- resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6"
- integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==
- dependencies:
- braces "^3.0.2"
- picomatch "^2.3.1"
-
-mimic-fn@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
- integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
-
-minimatch@^3.0.4, minimatch@^3.1.1:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
- integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
- dependencies:
- brace-expansion "^1.1.7"
-
-ms@2.1.2:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
- integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
-
-natural-compare@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
- integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==
-
-node-int64@^0.4.0:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b"
- integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==
-
-node-releases@^2.0.6:
- version "2.0.8"
- resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.8.tgz#0f349cdc8fcfa39a92ac0be9bc48b7706292b9ae"
- integrity sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==
-
-normalize-path@^3.0.0, normalize-path@~3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
- integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
-
-npm-run-path@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea"
- integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==
- dependencies:
- path-key "^3.0.0"
-
-once@^1.3.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
- integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==
- dependencies:
- wrappy "1"
-
-onetime@^5.1.2:
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e"
- integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==
- dependencies:
- mimic-fn "^2.1.0"
-
-p-limit@^2.2.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
- integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
- dependencies:
- p-try "^2.0.0"
-
-p-limit@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
- integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
- dependencies:
- yocto-queue "^0.1.0"
-
-p-locate@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07"
- integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==
- dependencies:
- p-limit "^2.2.0"
-
-p-try@^2.0.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
- integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
-
-parse-json@^5.2.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd"
- integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==
- dependencies:
- "@babel/code-frame" "^7.0.0"
- error-ex "^1.3.1"
- json-parse-even-better-errors "^2.3.0"
- lines-and-columns "^1.1.6"
-
-path-exists@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
- integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
-
-path-is-absolute@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
- integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==
-
-path-key@^3.0.0, path-key@^3.1.0:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
- integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
-
-path-parse@^1.0.7:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
- integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
-
-picocolors@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
- integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
-
-picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1:
- version "2.3.1"
- resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
- integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
-
-pirates@^4.0.4:
- version "4.0.5"
- resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b"
- integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==
-
-pkg-dir@^4.2.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3"
- integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==
- dependencies:
- find-up "^4.0.0"
-
-prettier@^2.8.1:
- version "2.8.1"
- resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.1.tgz#4e1fd11c34e2421bc1da9aea9bd8127cd0a35efc"
- integrity sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg==
-
-pretty-format@^29.3.1:
- version "29.3.1"
- resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.3.1.tgz#1841cac822b02b4da8971dacb03e8a871b4722da"
- integrity sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg==
- dependencies:
- "@jest/schemas" "^29.0.0"
- ansi-styles "^5.0.0"
- react-is "^18.0.0"
-
-prompts@^2.0.1:
- version "2.4.2"
- resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069"
- integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==
- dependencies:
- kleur "^3.0.3"
- sisteransi "^1.0.5"
-
-queue-microtask@^1.2.2:
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
- integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
-
-react-is@^18.0.0:
- version "18.2.0"
- resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b"
- integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==
-
-readdirp@~3.6.0:
- version "3.6.0"
- resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
- integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
- dependencies:
- picomatch "^2.2.1"
-
-require-directory@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
- integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==
-
-resolve-cwd@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d"
- integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==
- dependencies:
- resolve-from "^5.0.0"
-
-resolve-from@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69"
- integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==
-
-resolve.exports@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9"
- integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==
-
-resolve@^1.20.0:
- version "1.22.1"
- resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177"
- integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==
- dependencies:
- is-core-module "^2.9.0"
- path-parse "^1.0.7"
- supports-preserve-symlinks-flag "^1.0.0"
-
-reusify@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
- integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
-
-run-parallel@^1.1.9:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
- integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
- dependencies:
- queue-microtask "^1.2.2"
-
-sass-true@^7.0.0:
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/sass-true/-/sass-true-7.0.0.tgz#eabbc92f29b2d602a57234ec0fe65050fb0df930"
- integrity sha512-sRdXX7MrrYdg+lPRm+/vIr8wVvDrNtWj3ttOVyIMHZQ8vNoV67+YjZKTsY9+B4Ecee+/U3ryXKJLi1YcMEkaJQ==
- dependencies:
- "@types/css" "^0.0.33"
- css "^3.0.0"
- jest-diff "^29.3.1"
- lodash "^4.17.21"
-
-sass@^1.57.1:
- version "1.57.1"
- resolved "https://registry.yarnpkg.com/sass/-/sass-1.57.1.tgz#dfafd46eb3ab94817145e8825208ecf7281119b5"
- integrity sha512-O2+LwLS79op7GI0xZ8fqzF7X2m/m8WFfI02dHOdsK5R2ECeS5F62zrwg/relM1rjSLy7Vd/DiMNIvPrQGsA0jw==
- dependencies:
- chokidar ">=3.0.0 <4.0.0"
- immutable "^4.0.0"
- source-map-js ">=0.6.2 <2.0.0"
-
-semver@^6.0.0, semver@^6.3.0:
- version "6.3.1"
- resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
- integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
-
-semver@^7.3.5:
- version "7.5.4"
- resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e"
- integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
- dependencies:
- lru-cache "^6.0.0"
-
-shebang-command@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
- integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
- dependencies:
- shebang-regex "^3.0.0"
-
-shebang-regex@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
- integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
-
-signal-exit@^3.0.3, signal-exit@^3.0.7:
- version "3.0.7"
- resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9"
- integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
-
-sisteransi@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed"
- integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==
-
-slash@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
- integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
-
-"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
- integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
-
-source-map-resolve@^0.6.0:
- version "0.6.0"
- resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.6.0.tgz#3d9df87e236b53f16d01e58150fc7711138e5ed2"
- integrity sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==
- dependencies:
- atob "^2.1.2"
- decode-uri-component "^0.2.0"
-
-source-map-support@0.5.13:
- version "0.5.13"
- resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932"
- integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==
- dependencies:
- buffer-from "^1.0.0"
- source-map "^0.6.0"
-
-source-map@^0.6.0, source-map@^0.6.1:
- version "0.6.1"
- resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
- integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
-
-sprintf-js@~1.0.2:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
- integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==
-
-stack-utils@^2.0.3:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f"
- integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==
- dependencies:
- escape-string-regexp "^2.0.0"
-
-string-length@^4.0.1:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a"
- integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==
- dependencies:
- char-regex "^1.0.2"
- strip-ansi "^6.0.0"
-
-string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
- version "4.2.3"
- resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
- integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
- dependencies:
- emoji-regex "^8.0.0"
- is-fullwidth-code-point "^3.0.0"
- strip-ansi "^6.0.1"
-
-strip-ansi@^6.0.0, strip-ansi@^6.0.1:
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
- integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
- dependencies:
- ansi-regex "^5.0.1"
-
-strip-bom@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878"
- integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==
-
-strip-final-newline@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"
- integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
-
-strip-json-comments@^3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
- integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
-
-supports-color@^5.3.0:
- version "5.5.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
- integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
- dependencies:
- has-flag "^3.0.0"
-
-supports-color@^7.1.0:
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
- integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
- dependencies:
- has-flag "^4.0.0"
-
-supports-color@^8.0.0:
- version "8.1.1"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c"
- integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==
- dependencies:
- has-flag "^4.0.0"
-
-supports-preserve-symlinks-flag@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
- integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
-
-test-exclude@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e"
- integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==
- dependencies:
- "@istanbuljs/schema" "^0.1.2"
- glob "^7.1.4"
- minimatch "^3.0.4"
-
-tmpl@1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc"
- integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==
-
-to-fast-properties@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
- integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==
-
-to-regex-range@^5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
- integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
- dependencies:
- is-number "^7.0.0"
-
-type-detect@4.0.8:
- version "4.0.8"
- resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c"
- integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==
-
-type-fest@^0.21.3:
- version "0.21.3"
- resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37"
- integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==
-
-update-browserslist-db@^1.0.9:
- version "1.0.10"
- resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3"
- integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==
- dependencies:
- escalade "^3.1.1"
- picocolors "^1.0.0"
-
-v8-to-istanbul@^9.0.1:
- version "9.0.1"
- resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz#b6f994b0b5d4ef255e17a0d17dc444a9f5132fa4"
- integrity sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==
- dependencies:
- "@jridgewell/trace-mapping" "^0.3.12"
- "@types/istanbul-lib-coverage" "^2.0.1"
- convert-source-map "^1.6.0"
-
-walker@^1.0.8:
- version "1.0.8"
- resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f"
- integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==
- dependencies:
- makeerror "1.0.12"
-
-which@^2.0.1:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
- integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
- dependencies:
- isexe "^2.0.0"
-
-wrap-ansi@^7.0.0:
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
- integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
- dependencies:
- ansi-styles "^4.0.0"
- string-width "^4.1.0"
- strip-ansi "^6.0.0"
-
-wrappy@1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
- integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
-
-write-file-atomic@^4.0.1:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd"
- integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==
- dependencies:
- imurmurhash "^0.1.4"
- signal-exit "^3.0.7"
-
-y18n@^5.0.5:
- version "5.0.8"
- resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55"
- integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==
-
-yallist@^3.0.2:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
- integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
-
-yallist@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
- integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
-
-yargs-parser@^21.1.1:
- version "21.1.1"
- resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35"
- integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==
-
-yargs@^17.3.1:
- version "17.6.2"
- resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.6.2.tgz#2e23f2944e976339a1ee00f18c77fedee8332541"
- integrity sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==
- dependencies:
- cliui "^8.0.1"
- escalade "^3.1.1"
- get-caller-file "^2.0.5"
- require-directory "^2.1.1"
- string-width "^4.2.3"
- y18n "^5.0.5"
- yargs-parser "^21.1.1"
-
-yocto-queue@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
- integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
+# This file is generated by running "yarn install" inside your project.
+# Manual changes might be lost - proceed with caution!
+
+__metadata:
+ version: 8
+ cacheKey: 10c0
+
+"@ampproject/remapping@npm:^2.1.0":
+ version: 2.2.0
+ resolution: "@ampproject/remapping@npm:2.2.0"
+ dependencies:
+ "@jridgewell/gen-mapping": "npm:^0.1.0"
+ "@jridgewell/trace-mapping": "npm:^0.3.9"
+ checksum: 10c0/d267d8def81d75976bed4f1f81418a234a75338963ed0b8565342ef3918b07e9043806eb3a1736df7ac0774edb98e2890f880bba42817f800495e4ae3fac995e
+ languageName: node
+ linkType: hard
+
+"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.18.6":
+ version: 7.18.6
+ resolution: "@babel/code-frame@npm:7.18.6"
+ dependencies:
+ "@babel/highlight": "npm:^7.18.6"
+ checksum: 10c0/e3966f2717b7ebd9610524730e10b75ee74154f62617e5e115c97dbbbabc5351845c9aa850788012cb4d9aee85c3dc59fe6bef36690f244e8dcfca34bd35e9c9
+ languageName: node
+ linkType: hard
+
+"@babel/code-frame@npm:^7.22.13":
+ version: 7.22.13
+ resolution: "@babel/code-frame@npm:7.22.13"
+ dependencies:
+ "@babel/highlight": "npm:^7.22.13"
+ chalk: "npm:^2.4.2"
+ checksum: 10c0/f4cc8ae1000265677daf4845083b72f88d00d311adb1a93c94eb4b07bf0ed6828a81ae4ac43ee7d476775000b93a28a9cddec18fbdc5796212d8dcccd5de72bd
+ languageName: node
+ linkType: hard
+
+"@babel/compat-data@npm:^7.20.5":
+ version: 7.20.10
+ resolution: "@babel/compat-data@npm:7.20.10"
+ checksum: 10c0/5394197084af5118287e20ea8e4942c43bb4047943ddb12cb19d44c19eeeaf038459b087adb2e6b7d46780543d10b3a1a415441fc8fb98f6dc9d7e902a19e325
+ languageName: node
+ linkType: hard
+
+"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3":
+ version: 7.20.7
+ resolution: "@babel/core@npm:7.20.7"
+ dependencies:
+ "@ampproject/remapping": "npm:^2.1.0"
+ "@babel/code-frame": "npm:^7.18.6"
+ "@babel/generator": "npm:^7.20.7"
+ "@babel/helper-compilation-targets": "npm:^7.20.7"
+ "@babel/helper-module-transforms": "npm:^7.20.7"
+ "@babel/helpers": "npm:^7.20.7"
+ "@babel/parser": "npm:^7.20.7"
+ "@babel/template": "npm:^7.20.7"
+ "@babel/traverse": "npm:^7.20.7"
+ "@babel/types": "npm:^7.20.7"
+ convert-source-map: "npm:^1.7.0"
+ debug: "npm:^4.1.0"
+ gensync: "npm:^1.0.0-beta.2"
+ json5: "npm:^2.2.1"
+ semver: "npm:^6.3.0"
+ checksum: 10c0/d94ba353a18550e181a7510aecbd7fd307d29d586f6532e00b57c540f29314623cc77b0a894f28abeb478b14426c6f6d01cd8d9f52bd9a5d30c9b2e0497d3e1c
+ languageName: node
+ linkType: hard
+
+"@babel/generator@npm:^7.20.7, @babel/generator@npm:^7.7.2":
+ version: 7.20.7
+ resolution: "@babel/generator@npm:7.20.7"
+ dependencies:
+ "@babel/types": "npm:^7.20.7"
+ "@jridgewell/gen-mapping": "npm:^0.3.2"
+ jsesc: "npm:^2.5.1"
+ checksum: 10c0/b22032867dfad3115404ea74fd063079883428cf838ec490a1f64d2e5e4dd82f94f77df90eb95a57740fb387a115b5ffe655e768cb50862832c6f9f6ffb4be79
+ languageName: node
+ linkType: hard
+
+"@babel/generator@npm:^7.23.0":
+ version: 7.23.0
+ resolution: "@babel/generator@npm:7.23.0"
+ dependencies:
+ "@babel/types": "npm:^7.23.0"
+ "@jridgewell/gen-mapping": "npm:^0.3.2"
+ "@jridgewell/trace-mapping": "npm:^0.3.17"
+ jsesc: "npm:^2.5.1"
+ checksum: 10c0/b7d8727c574119b5ef06e5d5d0d8d939527d51537db4b08273caebb18f3f2b1d4517b874776085e161fd47d28f26b22c08e7f270b64f43b2afd4a60c5936d6cd
+ languageName: node
+ linkType: hard
+
+"@babel/helper-compilation-targets@npm:^7.20.7":
+ version: 7.20.7
+ resolution: "@babel/helper-compilation-targets@npm:7.20.7"
+ dependencies:
+ "@babel/compat-data": "npm:^7.20.5"
+ "@babel/helper-validator-option": "npm:^7.18.6"
+ browserslist: "npm:^4.21.3"
+ lru-cache: "npm:^5.1.1"
+ semver: "npm:^6.3.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0
+ checksum: 10c0/68c3e12e04c8f26c82a1aabb8003610b818d4171e0b885d1ca87c700acd7f0c50a7f4f1d3c0044947e327cb5670294b55c666d09109144b3b01021c587401e4c
+ languageName: node
+ linkType: hard
+
+"@babel/helper-environment-visitor@npm:^7.18.9":
+ version: 7.18.9
+ resolution: "@babel/helper-environment-visitor@npm:7.18.9"
+ checksum: 10c0/a69dd50ea91d8143b899a40ca7a387fa84dbaa02e606d8692188c7c59bd4007bcd632c189f7b7dab72cb7a016e159557a6fccf7093ab9b584d87cf2ea8cf36b7
+ languageName: node
+ linkType: hard
+
+"@babel/helper-environment-visitor@npm:^7.22.20":
+ version: 7.22.20
+ resolution: "@babel/helper-environment-visitor@npm:7.22.20"
+ checksum: 10c0/e762c2d8f5d423af89bd7ae9abe35bd4836d2eb401af868a63bbb63220c513c783e25ef001019418560b3fdc6d9a6fb67e6c0b650bcdeb3a2ac44b5c3d2bdd94
+ languageName: node
+ linkType: hard
+
+"@babel/helper-function-name@npm:^7.23.0":
+ version: 7.23.0
+ resolution: "@babel/helper-function-name@npm:7.23.0"
+ dependencies:
+ "@babel/template": "npm:^7.22.15"
+ "@babel/types": "npm:^7.23.0"
+ checksum: 10c0/d771dd1f3222b120518176733c52b7cadac1c256ff49b1889dbbe5e3fed81db855b8cc4e40d949c9d3eae0e795e8229c1c8c24c0e83f27cfa6ee3766696c6428
+ languageName: node
+ linkType: hard
+
+"@babel/helper-hoist-variables@npm:^7.22.5":
+ version: 7.22.5
+ resolution: "@babel/helper-hoist-variables@npm:7.22.5"
+ dependencies:
+ "@babel/types": "npm:^7.22.5"
+ checksum: 10c0/60a3077f756a1cd9f14eb89f0037f487d81ede2b7cfe652ea6869cd4ec4c782b0fb1de01b8494b9a2d2050e3d154d7d5ad3be24806790acfb8cbe2073bf1e208
+ languageName: node
+ linkType: hard
+
+"@babel/helper-module-imports@npm:^7.18.6":
+ version: 7.18.6
+ resolution: "@babel/helper-module-imports@npm:7.18.6"
+ dependencies:
+ "@babel/types": "npm:^7.18.6"
+ checksum: 10c0/a92e28fc4b5dbb0d0afd4a313efc0cf5b26ce1adc0c01fc22724c997789ac7d7f4f30bc9143d94a6ba8b0a035933cf63a727a365ce1c57dbca0935f48de96244
+ languageName: node
+ linkType: hard
+
+"@babel/helper-module-transforms@npm:^7.20.7":
+ version: 7.20.11
+ resolution: "@babel/helper-module-transforms@npm:7.20.11"
+ dependencies:
+ "@babel/helper-environment-visitor": "npm:^7.18.9"
+ "@babel/helper-module-imports": "npm:^7.18.6"
+ "@babel/helper-simple-access": "npm:^7.20.2"
+ "@babel/helper-split-export-declaration": "npm:^7.18.6"
+ "@babel/helper-validator-identifier": "npm:^7.19.1"
+ "@babel/template": "npm:^7.20.7"
+ "@babel/traverse": "npm:^7.20.10"
+ "@babel/types": "npm:^7.20.7"
+ checksum: 10c0/a6cc533c3c9a2ed939f041002c142611a657a6defffda195f56936793f7ceb6c9abcc0c5e77e49da9e1584f60442e04107937394dbd6560d1094cfd7f3a9a152
+ languageName: node
+ linkType: hard
+
+"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.19.0, @babel/helper-plugin-utils@npm:^7.8.0":
+ version: 7.20.2
+ resolution: "@babel/helper-plugin-utils@npm:7.20.2"
+ checksum: 10c0/bf4de040e57b7ddff36ea599e963c391eb246d5a95207bb9ef3e33073c451bcc0821e3a9cc08dfede862a6dcc110d7e6e7d9a483482f852be358c5b60add499c
+ languageName: node
+ linkType: hard
+
+"@babel/helper-simple-access@npm:^7.20.2":
+ version: 7.20.2
+ resolution: "@babel/helper-simple-access@npm:7.20.2"
+ dependencies:
+ "@babel/types": "npm:^7.20.2"
+ checksum: 10c0/79cea28155536c74b37839748caea534bc413fac8c512e6101e9eecfe83f670db77bc782bdb41114caecbb1e2a73007ff6015d6a5ce58cae5363b8c5bd2dcee9
+ languageName: node
+ linkType: hard
+
+"@babel/helper-split-export-declaration@npm:^7.18.6":
+ version: 7.18.6
+ resolution: "@babel/helper-split-export-declaration@npm:7.18.6"
+ dependencies:
+ "@babel/types": "npm:^7.18.6"
+ checksum: 10c0/1335b510a9aefcbf60d89648e622715774e56040d72302dc5e176c8d837c9ab81414ccfa9ed771a9f98da7192579bb12ab7a95948bfdc69b03b4a882b3983e48
+ languageName: node
+ linkType: hard
+
+"@babel/helper-split-export-declaration@npm:^7.22.6":
+ version: 7.22.6
+ resolution: "@babel/helper-split-export-declaration@npm:7.22.6"
+ dependencies:
+ "@babel/types": "npm:^7.22.5"
+ checksum: 10c0/d83e4b623eaa9622c267d3c83583b72f3aac567dc393dda18e559d79187961cb29ae9c57b2664137fc3d19508370b12ec6a81d28af73a50e0846819cb21c6e44
+ languageName: node
+ linkType: hard
+
+"@babel/helper-string-parser@npm:^7.19.4":
+ version: 7.19.4
+ resolution: "@babel/helper-string-parser@npm:7.19.4"
+ checksum: 10c0/e20c81582e75df2a020a1c547376668a6e1e1c2ca535a6b7abb25b83d5536c99c0d113184bbe87c1a26e923a9bb0c6e5279fca8db6bd609cd3499fafafc01598
+ languageName: node
+ linkType: hard
+
+"@babel/helper-string-parser@npm:^7.22.5":
+ version: 7.22.5
+ resolution: "@babel/helper-string-parser@npm:7.22.5"
+ checksum: 10c0/6b0ff8af724377ec41e5587fffa7605198da74cb8e7d8d48a36826df0c0ba210eb9fedb3d9bef4d541156e0bd11040f021945a6cbb731ccec4aefb4affa17aa4
+ languageName: node
+ linkType: hard
+
+"@babel/helper-string-parser@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/helper-string-parser@npm:7.25.9"
+ checksum: 10c0/7244b45d8e65f6b4338a6a68a8556f2cb161b782343e97281a5f2b9b93e420cad0d9f5773a59d79f61d0c448913d06f6a2358a87f2e203cf112e3c5b53522ee6
+ languageName: node
+ linkType: hard
+
+"@babel/helper-validator-identifier@npm:^7.18.6, @babel/helper-validator-identifier@npm:^7.19.1":
+ version: 7.19.1
+ resolution: "@babel/helper-validator-identifier@npm:7.19.1"
+ checksum: 10c0/f978ecfea840f65b64ab9e17fac380625a45f4fe1361eeb29867fcfd1c9eaa72abd7023f2f40ac3168587d7e5153660d16cfccb352a557be2efd347a051b4b20
+ languageName: node
+ linkType: hard
+
+"@babel/helper-validator-identifier@npm:^7.22.20":
+ version: 7.22.20
+ resolution: "@babel/helper-validator-identifier@npm:7.22.20"
+ checksum: 10c0/dcad63db345fb110e032de46c3688384b0008a42a4845180ce7cd62b1a9c0507a1bed727c4d1060ed1a03ae57b4d918570259f81724aaac1a5b776056f37504e
+ languageName: node
+ linkType: hard
+
+"@babel/helper-validator-identifier@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/helper-validator-identifier@npm:7.25.9"
+ checksum: 10c0/4fc6f830177b7b7e887ad3277ddb3b91d81e6c4a24151540d9d1023e8dc6b1c0505f0f0628ae653601eb4388a8db45c1c14b2c07a9173837aef7e4116456259d
+ languageName: node
+ linkType: hard
+
+"@babel/helper-validator-option@npm:^7.18.6":
+ version: 7.18.6
+ resolution: "@babel/helper-validator-option@npm:7.18.6"
+ checksum: 10c0/7a1452725b87e6b0d26e8a981ad1e19a24d3bb8b17fb25d1254d6d1f3f2f2efd675135417d44f704ea4dd88f854e7a0a31967322dcb3e06fa80fc4fec71853a5
+ languageName: node
+ linkType: hard
+
+"@babel/helpers@npm:^7.20.7":
+ version: 7.20.7
+ resolution: "@babel/helpers@npm:7.20.7"
+ dependencies:
+ "@babel/template": "npm:^7.20.7"
+ "@babel/traverse": "npm:^7.20.7"
+ "@babel/types": "npm:^7.20.7"
+ checksum: 10c0/3b84879d243c64c7ce5abf2f1a845236f443a3c70beb5897075641a9a1deaa841697b0aeaf9963c471a7e817ca4bed8a8af7677cc3d65904eb7bdffed3e8bcf9
+ languageName: node
+ linkType: hard
+
+"@babel/highlight@npm:^7.18.6":
+ version: 7.18.6
+ resolution: "@babel/highlight@npm:7.18.6"
+ dependencies:
+ "@babel/helper-validator-identifier": "npm:^7.18.6"
+ chalk: "npm:^2.0.0"
+ js-tokens: "npm:^4.0.0"
+ checksum: 10c0/a6a6928d25099ef04c337fcbb829fab8059bb67d31ac37212efd611bdbe247d0e71a5096c4524272cb56399f40251fac57c025e42d3bc924db0183a6435a60ac
+ languageName: node
+ linkType: hard
+
+"@babel/highlight@npm:^7.22.13":
+ version: 7.22.20
+ resolution: "@babel/highlight@npm:7.22.20"
+ dependencies:
+ "@babel/helper-validator-identifier": "npm:^7.22.20"
+ chalk: "npm:^2.4.2"
+ js-tokens: "npm:^4.0.0"
+ checksum: 10c0/f3c3a193afad23434297d88e81d1d6c0c2cf02423de2139ada7ce0a7fc62d8559abf4cc996533c1a9beca7fc990010eb8d544097f75e818ac113bf39ed810aa2
+ languageName: node
+ linkType: hard
+
+"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7":
+ version: 7.20.7
+ resolution: "@babel/parser@npm:7.20.7"
+ bin:
+ parser: ./bin/babel-parser.js
+ checksum: 10c0/fd75ef65d5b98b88f8cfa14b72909473ddb783d536399a8a911eff4b3a5022b71d12725ddf6ee796de7b3d2243ce33b991efaab3921a28ece91668c7887dce18
+ languageName: node
+ linkType: hard
+
+"@babel/parser@npm:^7.22.15, @babel/parser@npm:^7.23.0":
+ version: 7.23.0
+ resolution: "@babel/parser@npm:7.23.0"
+ bin:
+ parser: ./bin/babel-parser.js
+ checksum: 10c0/ab4ea9360ed4ba3c728c5a9bf33035103ebde20a7e943c4ae1d42becb02a313d731d12a93c795c5a19777031e4022e64b92a52262eda902522a1a18649826283
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-syntax-async-generators@npm:^7.8.4":
+ version: 7.8.4
+ resolution: "@babel/plugin-syntax-async-generators@npm:7.8.4"
+ dependencies:
+ "@babel/helper-plugin-utils": "npm:^7.8.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 10c0/d13efb282838481348c71073b6be6245b35d4f2f964a8f71e4174f235009f929ef7613df25f8d2338e2d3e44bc4265a9f8638c6aaa136d7a61fe95985f9725c8
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-syntax-bigint@npm:^7.8.3":
+ version: 7.8.3
+ resolution: "@babel/plugin-syntax-bigint@npm:7.8.3"
+ dependencies:
+ "@babel/helper-plugin-utils": "npm:^7.8.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 10c0/686891b81af2bc74c39013655da368a480f17dd237bf9fbc32048e5865cb706d5a8f65438030da535b332b1d6b22feba336da8fa931f663b6b34e13147d12dde
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-syntax-class-properties@npm:^7.8.3":
+ version: 7.12.13
+ resolution: "@babel/plugin-syntax-class-properties@npm:7.12.13"
+ dependencies:
+ "@babel/helper-plugin-utils": "npm:^7.12.13"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 10c0/95168fa186416195280b1264fb18afcdcdcea780b3515537b766cb90de6ce042d42dd6a204a39002f794ae5845b02afb0fd4861a3308a861204a55e68310a120
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-syntax-import-meta@npm:^7.8.3":
+ version: 7.10.4
+ resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4"
+ dependencies:
+ "@babel/helper-plugin-utils": "npm:^7.10.4"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 10c0/0b08b5e4c3128523d8e346f8cfc86824f0da2697b1be12d71af50a31aff7a56ceb873ed28779121051475010c28d6146a6bfea8518b150b71eeb4e46190172ee
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-syntax-json-strings@npm:^7.8.3":
+ version: 7.8.3
+ resolution: "@babel/plugin-syntax-json-strings@npm:7.8.3"
+ dependencies:
+ "@babel/helper-plugin-utils": "npm:^7.8.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 10c0/e98f31b2ec406c57757d115aac81d0336e8434101c224edd9a5c93cefa53faf63eacc69f3138960c8b25401315af03df37f68d316c151c4b933136716ed6906e
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-syntax-jsx@npm:^7.7.2":
+ version: 7.18.6
+ resolution: "@babel/plugin-syntax-jsx@npm:7.18.6"
+ dependencies:
+ "@babel/helper-plugin-utils": "npm:^7.18.6"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 10c0/d6d88b16e727bfe75c6ad6674bf7171bd5b2007ebab3f785eff96a98889cc2dd9d9b05a9ad8a265e04e67eddee81d63fcade27db033bb5aa5cc73f45cc450d6d
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-syntax-logical-assignment-operators@npm:^7.8.3":
+ version: 7.10.4
+ resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4"
+ dependencies:
+ "@babel/helper-plugin-utils": "npm:^7.10.4"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 10c0/2594cfbe29411ad5bc2ad4058de7b2f6a8c5b86eda525a993959438615479e59c012c14aec979e538d60a584a1a799b60d1b8942c3b18468cb9d99b8fd34cd0b
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-syntax-nullish-coalescing-operator@npm:^7.8.3":
+ version: 7.8.3
+ resolution: "@babel/plugin-syntax-nullish-coalescing-operator@npm:7.8.3"
+ dependencies:
+ "@babel/helper-plugin-utils": "npm:^7.8.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 10c0/2024fbb1162899094cfc81152449b12bd0cc7053c6d4bda8ac2852545c87d0a851b1b72ed9560673cbf3ef6248257262c3c04aabf73117215c1b9cc7dd2542ce
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-syntax-numeric-separator@npm:^7.8.3":
+ version: 7.10.4
+ resolution: "@babel/plugin-syntax-numeric-separator@npm:7.10.4"
+ dependencies:
+ "@babel/helper-plugin-utils": "npm:^7.10.4"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 10c0/c55a82b3113480942c6aa2fcbe976ff9caa74b7b1109ff4369641dfbc88d1da348aceb3c31b6ed311c84d1e7c479440b961906c735d0ab494f688bf2fd5b9bb9
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-syntax-object-rest-spread@npm:^7.8.3":
+ version: 7.8.3
+ resolution: "@babel/plugin-syntax-object-rest-spread@npm:7.8.3"
+ dependencies:
+ "@babel/helper-plugin-utils": "npm:^7.8.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 10c0/ee1eab52ea6437e3101a0a7018b0da698545230015fc8ab129d292980ec6dff94d265e9e90070e8ae5fed42f08f1622c14c94552c77bcac784b37f503a82ff26
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-syntax-optional-catch-binding@npm:^7.8.3":
+ version: 7.8.3
+ resolution: "@babel/plugin-syntax-optional-catch-binding@npm:7.8.3"
+ dependencies:
+ "@babel/helper-plugin-utils": "npm:^7.8.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 10c0/27e2493ab67a8ea6d693af1287f7e9acec206d1213ff107a928e85e173741e1d594196f99fec50e9dde404b09164f39dec5864c767212154ffe1caa6af0bc5af
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-syntax-optional-chaining@npm:^7.8.3":
+ version: 7.8.3
+ resolution: "@babel/plugin-syntax-optional-chaining@npm:7.8.3"
+ dependencies:
+ "@babel/helper-plugin-utils": "npm:^7.8.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 10c0/46edddf2faa6ebf94147b8e8540dfc60a5ab718e2de4d01b2c0bdf250a4d642c2bd47cbcbb739febcb2bf75514dbcefad3c52208787994b8d0f8822490f55e81
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-syntax-top-level-await@npm:^7.8.3":
+ version: 7.14.5
+ resolution: "@babel/plugin-syntax-top-level-await@npm:7.14.5"
+ dependencies:
+ "@babel/helper-plugin-utils": "npm:^7.14.5"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 10c0/14bf6e65d5bc1231ffa9def5f0ef30b19b51c218fcecaa78cd1bdf7939dfdf23f90336080b7f5196916368e399934ce5d581492d8292b46a2fb569d8b2da106f
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-syntax-typescript@npm:^7.7.2":
+ version: 7.20.0
+ resolution: "@babel/plugin-syntax-typescript@npm:7.20.0"
+ dependencies:
+ "@babel/helper-plugin-utils": "npm:^7.19.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 10c0/c57bb9b717b3b7324cc0c094d411bac23f6d78ed5e4e06fb89e3e8de37437e649c53440d8c29ecb3875f398ad1a9e8acc96e3af6b3802e83f7eab855de319e80
+ languageName: node
+ linkType: hard
+
+"@babel/template@npm:^7.20.7, @babel/template@npm:^7.3.3":
+ version: 7.20.7
+ resolution: "@babel/template@npm:7.20.7"
+ dependencies:
+ "@babel/code-frame": "npm:^7.18.6"
+ "@babel/parser": "npm:^7.20.7"
+ "@babel/types": "npm:^7.20.7"
+ checksum: 10c0/1c6dcf9ac92769e6ab5e3d9048975537d26ab00b869646462ab4583d45e419c01db5144715ec0d70548835a3098c5d5416148c4a0b996a95e8e0b9dc8d042dd3
+ languageName: node
+ linkType: hard
+
+"@babel/template@npm:^7.22.15":
+ version: 7.22.15
+ resolution: "@babel/template@npm:7.22.15"
+ dependencies:
+ "@babel/code-frame": "npm:^7.22.13"
+ "@babel/parser": "npm:^7.22.15"
+ "@babel/types": "npm:^7.22.15"
+ checksum: 10c0/9312edd37cf1311d738907003f2aa321a88a42ba223c69209abe4d7111db019d321805504f606c7fd75f21c6cf9d24d0a8223104cd21ebd207e241b6c551f454
+ languageName: node
+ linkType: hard
+
+"@babel/traverse@npm:^7.20.10, @babel/traverse@npm:^7.20.7, @babel/traverse@npm:^7.7.2":
+ version: 7.23.2
+ resolution: "@babel/traverse@npm:7.23.2"
+ dependencies:
+ "@babel/code-frame": "npm:^7.22.13"
+ "@babel/generator": "npm:^7.23.0"
+ "@babel/helper-environment-visitor": "npm:^7.22.20"
+ "@babel/helper-function-name": "npm:^7.23.0"
+ "@babel/helper-hoist-variables": "npm:^7.22.5"
+ "@babel/helper-split-export-declaration": "npm:^7.22.6"
+ "@babel/parser": "npm:^7.23.0"
+ "@babel/types": "npm:^7.23.0"
+ debug: "npm:^4.1.0"
+ globals: "npm:^11.1.0"
+ checksum: 10c0/d096c7c4bab9262a2f658298a3c630ae4a15a10755bb257ae91d5ab3e3b2877438934859c8d34018b7727379fe6b26c4fa2efc81cf4c462a7fe00caf79fa02ff
+ languageName: node
+ linkType: hard
+
+"@babel/types@npm:^7.0.0, @babel/types@npm:^7.18.6, @babel/types@npm:^7.20.2, @babel/types@npm:^7.20.7, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3":
+ version: 7.20.7
+ resolution: "@babel/types@npm:7.20.7"
+ dependencies:
+ "@babel/helper-string-parser": "npm:^7.19.4"
+ "@babel/helper-validator-identifier": "npm:^7.19.1"
+ to-fast-properties: "npm:^2.0.0"
+ checksum: 10c0/df0061f306bd95389604075ba5a88e984a801635c70c77b3b6ae8ab44675064b9ef4088c6c78dbf786a28efc662ad37f9c09f8658ba44c12cb8dd6f450a8bde7
+ languageName: node
+ linkType: hard
+
+"@babel/types@npm:^7.22.15, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0":
+ version: 7.23.0
+ resolution: "@babel/types@npm:7.23.0"
+ dependencies:
+ "@babel/helper-string-parser": "npm:^7.22.5"
+ "@babel/helper-validator-identifier": "npm:^7.22.20"
+ to-fast-properties: "npm:^2.0.0"
+ checksum: 10c0/70e4db41acb6793d0eb8d81a2fa88f19ee661219b84bd5f703dbdb54eb3a4d3c0dfc55e69034c945b479df9f43fd4b1376480aaccfc19797ce5af1c5d2576b36
+ languageName: node
+ linkType: hard
+
+"@babel/types@npm:^7.8.3":
+ version: 7.26.0
+ resolution: "@babel/types@npm:7.26.0"
+ dependencies:
+ "@babel/helper-string-parser": "npm:^7.25.9"
+ "@babel/helper-validator-identifier": "npm:^7.25.9"
+ checksum: 10c0/b694f41ad1597127e16024d766c33a641508aad037abd08d0d1f73af753e1119fa03b4a107d04b5f92cc19c095a594660547ae9bead1db2299212d644b0a5cb8
+ languageName: node
+ linkType: hard
+
+"@bcoe/v8-coverage@npm:^0.2.3":
+ version: 0.2.3
+ resolution: "@bcoe/v8-coverage@npm:0.2.3"
+ checksum: 10c0/6b80ae4cb3db53f486da2dc63b6e190a74c8c3cca16bb2733f234a0b6a9382b09b146488ae08e2b22cf00f6c83e20f3e040a2f7894f05c045c946d6a090b1d52
+ languageName: node
+ linkType: hard
+
+"@isaacs/cliui@npm:^8.0.2":
+ version: 8.0.2
+ resolution: "@isaacs/cliui@npm:8.0.2"
+ dependencies:
+ string-width: "npm:^5.1.2"
+ string-width-cjs: "npm:string-width@^4.2.0"
+ strip-ansi: "npm:^7.0.1"
+ strip-ansi-cjs: "npm:strip-ansi@^6.0.1"
+ wrap-ansi: "npm:^8.1.0"
+ wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0"
+ checksum: 10c0/b1bf42535d49f11dc137f18d5e4e63a28c5569de438a221c369483731e9dac9fb797af554e8bf02b6192d1e5eba6e6402cf93900c3d0ac86391d00d04876789e
+ languageName: node
+ linkType: hard
+
+"@istanbuljs/load-nyc-config@npm:^1.0.0":
+ version: 1.1.0
+ resolution: "@istanbuljs/load-nyc-config@npm:1.1.0"
+ dependencies:
+ camelcase: "npm:^5.3.1"
+ find-up: "npm:^4.1.0"
+ get-package-type: "npm:^0.1.0"
+ js-yaml: "npm:^3.13.1"
+ resolve-from: "npm:^5.0.0"
+ checksum: 10c0/dd2a8b094887da5a1a2339543a4933d06db2e63cbbc2e288eb6431bd832065df0c099d091b6a67436e71b7d6bf85f01ce7c15f9253b4cbebcc3b9a496165ba42
+ languageName: node
+ linkType: hard
+
+"@istanbuljs/schema@npm:^0.1.2":
+ version: 0.1.3
+ resolution: "@istanbuljs/schema@npm:0.1.3"
+ checksum: 10c0/61c5286771676c9ca3eb2bd8a7310a9c063fb6e0e9712225c8471c582d157392c88f5353581c8c9adbe0dff98892317d2fdfc56c3499aa42e0194405206a963a
+ languageName: node
+ linkType: hard
+
+"@jest/console@npm:^29.3.1":
+ version: 29.3.1
+ resolution: "@jest/console@npm:29.3.1"
+ dependencies:
+ "@jest/types": "npm:^29.3.1"
+ "@types/node": "npm:*"
+ chalk: "npm:^4.0.0"
+ jest-message-util: "npm:^29.3.1"
+ jest-util: "npm:^29.3.1"
+ slash: "npm:^3.0.0"
+ checksum: 10c0/f4773d50b6588eb44daffdf808891f32a827e3f99ae8cca74efb5a9fc117655e418e97e13fcbbf530062321fa940ba88d028e66d27bdf97e41231b2e5b114626
+ languageName: node
+ linkType: hard
+
+"@jest/core@npm:^29.3.1":
+ version: 29.3.1
+ resolution: "@jest/core@npm:29.3.1"
+ dependencies:
+ "@jest/console": "npm:^29.3.1"
+ "@jest/reporters": "npm:^29.3.1"
+ "@jest/test-result": "npm:^29.3.1"
+ "@jest/transform": "npm:^29.3.1"
+ "@jest/types": "npm:^29.3.1"
+ "@types/node": "npm:*"
+ ansi-escapes: "npm:^4.2.1"
+ chalk: "npm:^4.0.0"
+ ci-info: "npm:^3.2.0"
+ exit: "npm:^0.1.2"
+ graceful-fs: "npm:^4.2.9"
+ jest-changed-files: "npm:^29.2.0"
+ jest-config: "npm:^29.3.1"
+ jest-haste-map: "npm:^29.3.1"
+ jest-message-util: "npm:^29.3.1"
+ jest-regex-util: "npm:^29.2.0"
+ jest-resolve: "npm:^29.3.1"
+ jest-resolve-dependencies: "npm:^29.3.1"
+ jest-runner: "npm:^29.3.1"
+ jest-runtime: "npm:^29.3.1"
+ jest-snapshot: "npm:^29.3.1"
+ jest-util: "npm:^29.3.1"
+ jest-validate: "npm:^29.3.1"
+ jest-watcher: "npm:^29.3.1"
+ micromatch: "npm:^4.0.4"
+ pretty-format: "npm:^29.3.1"
+ slash: "npm:^3.0.0"
+ strip-ansi: "npm:^6.0.0"
+ peerDependencies:
+ node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
+ peerDependenciesMeta:
+ node-notifier:
+ optional: true
+ checksum: 10c0/06a930365498e9cf902537746090c6ce2d98c1c394d81a458f0a74c287a5321306cad25c1aec1f55222b9e3d514d7f8de6e8d44eea3bc6d63ae75b618eb473bc
+ languageName: node
+ linkType: hard
+
+"@jest/environment@npm:^29.3.1":
+ version: 29.3.1
+ resolution: "@jest/environment@npm:29.3.1"
+ dependencies:
+ "@jest/fake-timers": "npm:^29.3.1"
+ "@jest/types": "npm:^29.3.1"
+ "@types/node": "npm:*"
+ jest-mock: "npm:^29.3.1"
+ checksum: 10c0/46982c52649854e7766b8129a81a59fefefb898f853fe2a1394e72c5492a183f4e596eb91f3d4ba614a7117869ccf2c509ba190747c96085de4fa8300bb65226
+ languageName: node
+ linkType: hard
+
+"@jest/expect-utils@npm:^29.3.1":
+ version: 29.3.1
+ resolution: "@jest/expect-utils@npm:29.3.1"
+ dependencies:
+ jest-get-type: "npm:^29.2.0"
+ checksum: 10c0/dc58ff9c5c7e893c056f3560cb1445771dcc1555df0b5aeff4808c6425ca9b921eae5b4f92b433b89c401e445694f5484b352f06620bac9e7cb97b8f56ee3e21
+ languageName: node
+ linkType: hard
+
+"@jest/expect@npm:^29.3.1":
+ version: 29.3.1
+ resolution: "@jest/expect@npm:29.3.1"
+ dependencies:
+ expect: "npm:^29.3.1"
+ jest-snapshot: "npm:^29.3.1"
+ checksum: 10c0/705bdad3f5af7c87d252a26dab890ac7f560d53439b364b4260f68b2dba271464bd7de7cfe2b03db7abaccc409da4da338075f870a1c31a1b4770bab6e67c53f
+ languageName: node
+ linkType: hard
+
+"@jest/fake-timers@npm:^29.3.1":
+ version: 29.3.1
+ resolution: "@jest/fake-timers@npm:29.3.1"
+ dependencies:
+ "@jest/types": "npm:^29.3.1"
+ "@sinonjs/fake-timers": "npm:^9.1.2"
+ "@types/node": "npm:*"
+ jest-message-util: "npm:^29.3.1"
+ jest-mock: "npm:^29.3.1"
+ jest-util: "npm:^29.3.1"
+ checksum: 10c0/b2fe1ea5d8ff3aa9ef099550d5897adba0ed53f8971e134ad589a52346b1f6914df986ef5c847264f7446a7dcae66946f4107cb1087b630a447cf13ad334b59b
+ languageName: node
+ linkType: hard
+
+"@jest/globals@npm:^29.3.1":
+ version: 29.3.1
+ resolution: "@jest/globals@npm:29.3.1"
+ dependencies:
+ "@jest/environment": "npm:^29.3.1"
+ "@jest/expect": "npm:^29.3.1"
+ "@jest/types": "npm:^29.3.1"
+ jest-mock: "npm:^29.3.1"
+ checksum: 10c0/cda0fc6e1f8fd5a72f576c227db7a0b5ec47baa168e7aae0aca2b8f8d08d97b0c563a154460b96dcbaf3991584111a852ce783ceb66fc526cf440faa668b3893
+ languageName: node
+ linkType: hard
+
+"@jest/reporters@npm:^29.3.1":
+ version: 29.3.1
+ resolution: "@jest/reporters@npm:29.3.1"
+ dependencies:
+ "@bcoe/v8-coverage": "npm:^0.2.3"
+ "@jest/console": "npm:^29.3.1"
+ "@jest/test-result": "npm:^29.3.1"
+ "@jest/transform": "npm:^29.3.1"
+ "@jest/types": "npm:^29.3.1"
+ "@jridgewell/trace-mapping": "npm:^0.3.15"
+ "@types/node": "npm:*"
+ chalk: "npm:^4.0.0"
+ collect-v8-coverage: "npm:^1.0.0"
+ exit: "npm:^0.1.2"
+ glob: "npm:^7.1.3"
+ graceful-fs: "npm:^4.2.9"
+ istanbul-lib-coverage: "npm:^3.0.0"
+ istanbul-lib-instrument: "npm:^5.1.0"
+ istanbul-lib-report: "npm:^3.0.0"
+ istanbul-lib-source-maps: "npm:^4.0.0"
+ istanbul-reports: "npm:^3.1.3"
+ jest-message-util: "npm:^29.3.1"
+ jest-util: "npm:^29.3.1"
+ jest-worker: "npm:^29.3.1"
+ slash: "npm:^3.0.0"
+ string-length: "npm:^4.0.1"
+ strip-ansi: "npm:^6.0.0"
+ v8-to-istanbul: "npm:^9.0.1"
+ peerDependencies:
+ node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
+ peerDependenciesMeta:
+ node-notifier:
+ optional: true
+ checksum: 10c0/c961d44d868d019f6a722e31370785ffe91f1746ee65337c5bb1c557cc053bfc0a54fc07d703c6d3d2ad16e87241f2d22ee59895161049fafd4f94f893cdb9bf
+ languageName: node
+ linkType: hard
+
+"@jest/schemas@npm:^29.0.0":
+ version: 29.0.0
+ resolution: "@jest/schemas@npm:29.0.0"
+ dependencies:
+ "@sinclair/typebox": "npm:^0.24.1"
+ checksum: 10c0/08c2f6b0237f52ab9448eb6633561ee1e499871082ac41a51b581e91571f6da317b4be0529307caf4cb3fd50798f7c096665db6bb2b5dde999a2c0c08b8775c9
+ languageName: node
+ linkType: hard
+
+"@jest/source-map@npm:^29.2.0":
+ version: 29.2.0
+ resolution: "@jest/source-map@npm:29.2.0"
+ dependencies:
+ "@jridgewell/trace-mapping": "npm:^0.3.15"
+ callsites: "npm:^3.0.0"
+ graceful-fs: "npm:^4.2.9"
+ checksum: 10c0/6b63d7a1deb59f59fdd7c6f5700069401ec6228e788f3446a6f9ead2e4926c394e1d00eced3f77296a218089c0a173d2aeb5c7b9fd6205ddb160a9f28e644ea8
+ languageName: node
+ linkType: hard
+
+"@jest/test-result@npm:^29.3.1":
+ version: 29.3.1
+ resolution: "@jest/test-result@npm:29.3.1"
+ dependencies:
+ "@jest/console": "npm:^29.3.1"
+ "@jest/types": "npm:^29.3.1"
+ "@types/istanbul-lib-coverage": "npm:^2.0.0"
+ collect-v8-coverage: "npm:^1.0.0"
+ checksum: 10c0/6433a278119d5cdca1f92d1727850c9092a816a95bd5f3efb86b413599f1281d3f4e44ce564e25428ee1759c46cf8916e86fe077c0d94026a4b9ca40cb6722ed
+ languageName: node
+ linkType: hard
+
+"@jest/test-sequencer@npm:^29.3.1":
+ version: 29.3.1
+ resolution: "@jest/test-sequencer@npm:29.3.1"
+ dependencies:
+ "@jest/test-result": "npm:^29.3.1"
+ graceful-fs: "npm:^4.2.9"
+ jest-haste-map: "npm:^29.3.1"
+ slash: "npm:^3.0.0"
+ checksum: 10c0/30399c44fcbacbe2b538b720d4857f2edf5be29b7ce7ea9c1a4af87d7526b5a0896d379bcf7a61608f18f86732edfbade24ec3b7091f9e26bb4bd0fe8a68fb79
+ languageName: node
+ linkType: hard
+
+"@jest/transform@npm:^29.3.1":
+ version: 29.3.1
+ resolution: "@jest/transform@npm:29.3.1"
+ dependencies:
+ "@babel/core": "npm:^7.11.6"
+ "@jest/types": "npm:^29.3.1"
+ "@jridgewell/trace-mapping": "npm:^0.3.15"
+ babel-plugin-istanbul: "npm:^6.1.1"
+ chalk: "npm:^4.0.0"
+ convert-source-map: "npm:^2.0.0"
+ fast-json-stable-stringify: "npm:^2.1.0"
+ graceful-fs: "npm:^4.2.9"
+ jest-haste-map: "npm:^29.3.1"
+ jest-regex-util: "npm:^29.2.0"
+ jest-util: "npm:^29.3.1"
+ micromatch: "npm:^4.0.4"
+ pirates: "npm:^4.0.4"
+ slash: "npm:^3.0.0"
+ write-file-atomic: "npm:^4.0.1"
+ checksum: 10c0/5e43dea16b6985f7f28bb7f1d8f7c8e1a980dd3325265ef48e8bbc7ba02530e26094541693ac1fb8dd791b7615adf3ef0b537d60ee8fe8299b1ab84f445451e0
+ languageName: node
+ linkType: hard
+
+"@jest/types@npm:^29.3.1":
+ version: 29.3.1
+ resolution: "@jest/types@npm:29.3.1"
+ dependencies:
+ "@jest/schemas": "npm:^29.0.0"
+ "@types/istanbul-lib-coverage": "npm:^2.0.0"
+ "@types/istanbul-reports": "npm:^3.0.0"
+ "@types/node": "npm:*"
+ "@types/yargs": "npm:^17.0.8"
+ chalk: "npm:^4.0.0"
+ checksum: 10c0/c1ae1a66fbe403c82578d55cc5a061bffce2426f830c9365d0ab033f48580f3beb378631efe85e420709ff898fca6f7dd8fca9eb412dfed3d88a80c422065188
+ languageName: node
+ linkType: hard
+
+"@jridgewell/gen-mapping@npm:^0.1.0":
+ version: 0.1.1
+ resolution: "@jridgewell/gen-mapping@npm:0.1.1"
+ dependencies:
+ "@jridgewell/set-array": "npm:^1.0.0"
+ "@jridgewell/sourcemap-codec": "npm:^1.4.10"
+ checksum: 10c0/3d784d87aee604bc4d48d3d9e547e0466d9f4a432cd9b3a4f3e55d104313bf3945e7e970cd5fa767bc145df11f1d568a01ab6659696be41f0ed2a817f3b583a3
+ languageName: node
+ linkType: hard
+
+"@jridgewell/gen-mapping@npm:^0.3.2":
+ version: 0.3.2
+ resolution: "@jridgewell/gen-mapping@npm:0.3.2"
+ dependencies:
+ "@jridgewell/set-array": "npm:^1.0.1"
+ "@jridgewell/sourcemap-codec": "npm:^1.4.10"
+ "@jridgewell/trace-mapping": "npm:^0.3.9"
+ checksum: 10c0/82685c8735c63fe388badee45e2970a6bc83eed1c84d46d8652863bafeca22a6c6cc15812f5999a4535366f4668ccc9ba6d5c67dfb72e846fa8a063806f10afd
+ languageName: node
+ linkType: hard
+
+"@jridgewell/resolve-uri@npm:3.1.0":
+ version: 3.1.0
+ resolution: "@jridgewell/resolve-uri@npm:3.1.0"
+ checksum: 10c0/78055e2526108331126366572045355051a930f017d1904a4f753d3f4acee8d92a14854948095626f6163cffc24ea4e3efa30637417bb866b84743dec7ef6fd9
+ languageName: node
+ linkType: hard
+
+"@jridgewell/resolve-uri@npm:^3.1.0":
+ version: 3.1.1
+ resolution: "@jridgewell/resolve-uri@npm:3.1.1"
+ checksum: 10c0/0dbc9e29bc640bbbdc5b9876d2859c69042bfcf1423c1e6421bcca53e826660bff4e41c7d4bcb8dbea696404231a6f902f76ba41835d049e20f2dd6cffb713bf
+ languageName: node
+ linkType: hard
+
+"@jridgewell/set-array@npm:^1.0.0, @jridgewell/set-array@npm:^1.0.1":
+ version: 1.1.2
+ resolution: "@jridgewell/set-array@npm:1.1.2"
+ checksum: 10c0/bc7ab4c4c00470de4e7562ecac3c0c84f53e7ee8a711e546d67c47da7febe7c45cd67d4d84ee3c9b2c05ae8e872656cdded8a707a283d30bd54fbc65aef821ab
+ languageName: node
+ linkType: hard
+
+"@jridgewell/sourcemap-codec@npm:1.4.14, @jridgewell/sourcemap-codec@npm:^1.4.10":
+ version: 1.4.14
+ resolution: "@jridgewell/sourcemap-codec@npm:1.4.14"
+ checksum: 10c0/3fbaff1387c1338b097eeb6ff92890d7838f7de0dde259e4983763b44540bfd5ca6a1f7644dc8ad003a57f7e80670d5b96a8402f1386ba9aee074743ae9bad51
+ languageName: node
+ linkType: hard
+
+"@jridgewell/sourcemap-codec@npm:^1.4.14":
+ version: 1.4.15
+ resolution: "@jridgewell/sourcemap-codec@npm:1.4.15"
+ checksum: 10c0/0c6b5ae663087558039052a626d2d7ed5208da36cfd707dcc5cea4a07cfc918248403dcb5989a8f7afaf245ce0573b7cc6fd94c4a30453bd10e44d9363940ba5
+ languageName: node
+ linkType: hard
+
+"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.15, @jridgewell/trace-mapping@npm:^0.3.9":
+ version: 0.3.17
+ resolution: "@jridgewell/trace-mapping@npm:0.3.17"
+ dependencies:
+ "@jridgewell/resolve-uri": "npm:3.1.0"
+ "@jridgewell/sourcemap-codec": "npm:1.4.14"
+ checksum: 10c0/40b65fcbdd7cc5a60dbe0a2780b6670ebbc1a31c96e43833e0bf2fee0773b1ba5137ab7d137b28fc3f215567bd5f9d06b7b30634ba15636c13bd8a863c20ae9a
+ languageName: node
+ linkType: hard
+
+"@jridgewell/trace-mapping@npm:^0.3.17":
+ version: 0.3.20
+ resolution: "@jridgewell/trace-mapping@npm:0.3.20"
+ dependencies:
+ "@jridgewell/resolve-uri": "npm:^3.1.0"
+ "@jridgewell/sourcemap-codec": "npm:^1.4.14"
+ checksum: 10c0/0ea0b2675cf513ec44dc25605616a3c9b808b9832e74b5b63c44260d66b58558bba65764f81928fc1033ead911f8718dca1134049c3e7a93937faf436671df31
+ languageName: node
+ linkType: hard
+
+"@nodelib/fs.scandir@npm:2.1.5":
+ version: 2.1.5
+ resolution: "@nodelib/fs.scandir@npm:2.1.5"
+ dependencies:
+ "@nodelib/fs.stat": "npm:2.0.5"
+ run-parallel: "npm:^1.1.9"
+ checksum: 10c0/732c3b6d1b1e967440e65f284bd06e5821fedf10a1bea9ed2bb75956ea1f30e08c44d3def9d6a230666574edbaf136f8cfd319c14fd1f87c66e6a44449afb2eb
+ languageName: node
+ linkType: hard
+
+"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2":
+ version: 2.0.5
+ resolution: "@nodelib/fs.stat@npm:2.0.5"
+ checksum: 10c0/88dafe5e3e29a388b07264680dc996c17f4bda48d163a9d4f5c1112979f0ce8ec72aa7116122c350b4e7976bc5566dc3ddb579be1ceaacc727872eb4ed93926d
+ languageName: node
+ linkType: hard
+
+"@nodelib/fs.walk@npm:^1.2.3":
+ version: 1.2.8
+ resolution: "@nodelib/fs.walk@npm:1.2.8"
+ dependencies:
+ "@nodelib/fs.scandir": "npm:2.1.5"
+ fastq: "npm:^1.6.0"
+ checksum: 10c0/db9de047c3bb9b51f9335a7bb46f4fcfb6829fb628318c12115fbaf7d369bfce71c15b103d1fc3b464812d936220ee9bc1c8f762d032c9f6be9acc99249095b1
+ languageName: node
+ linkType: hard
+
+"@npmcli/agent@npm:^2.0.0":
+ version: 2.2.2
+ resolution: "@npmcli/agent@npm:2.2.2"
+ dependencies:
+ agent-base: "npm:^7.1.0"
+ http-proxy-agent: "npm:^7.0.0"
+ https-proxy-agent: "npm:^7.0.1"
+ lru-cache: "npm:^10.0.1"
+ socks-proxy-agent: "npm:^8.0.3"
+ checksum: 10c0/325e0db7b287d4154ecd164c0815c08007abfb07653cc57bceded17bb7fd240998a3cbdbe87d700e30bef494885eccc725ab73b668020811d56623d145b524ae
+ languageName: node
+ linkType: hard
+
+"@npmcli/fs@npm:^3.1.0":
+ version: 3.1.1
+ resolution: "@npmcli/fs@npm:3.1.1"
+ dependencies:
+ semver: "npm:^7.3.5"
+ checksum: 10c0/c37a5b4842bfdece3d14dfdb054f73fe15ed2d3da61b34ff76629fb5b1731647c49166fd2a8bf8b56fcfa51200382385ea8909a3cbecdad612310c114d3f6c99
+ languageName: node
+ linkType: hard
+
+"@pkgjs/parseargs@npm:^0.11.0":
+ version: 0.11.0
+ resolution: "@pkgjs/parseargs@npm:0.11.0"
+ checksum: 10c0/5bd7576bb1b38a47a7fc7b51ac9f38748e772beebc56200450c4a817d712232b8f1d3ef70532c80840243c657d491cf6a6be1e3a214cff907645819fdc34aadd
+ languageName: node
+ linkType: hard
+
+"@sinclair/typebox@npm:^0.24.1":
+ version: 0.24.51
+ resolution: "@sinclair/typebox@npm:0.24.51"
+ checksum: 10c0/458131e83ca59ad3721f0abeef2aa5220aff2083767e1143d75c67c85d55ef7a212f48f394471ee6bdd2e860ba30f09a489cdd2a28a2824d5b0d1014bdfb2552
+ languageName: node
+ linkType: hard
+
+"@sinonjs/commons@npm:^1.7.0":
+ version: 1.8.6
+ resolution: "@sinonjs/commons@npm:1.8.6"
+ dependencies:
+ type-detect: "npm:4.0.8"
+ checksum: 10c0/93b4d4e27e93652b83467869c2fe09cbd8f37cd5582327f0e081fbf9b93899e2d267db7b668c96810c63dc229867614ced825e5512b47db96ca6f87cb3ec0f61
+ languageName: node
+ linkType: hard
+
+"@sinonjs/fake-timers@npm:^9.1.2":
+ version: 9.1.2
+ resolution: "@sinonjs/fake-timers@npm:9.1.2"
+ dependencies:
+ "@sinonjs/commons": "npm:^1.7.0"
+ checksum: 10c0/d9187f9130f03272562ff9845867299c6f7cf15157bbb3e6aca4a1f06d885b0eef54259d0ad41e2f8043dc530b4db730b6c9415b169033e7ba8fed0ad449ceec
+ languageName: node
+ linkType: hard
+
+"@types/babel__core@npm:^7.1.14":
+ version: 7.1.20
+ resolution: "@types/babel__core@npm:7.1.20"
+ dependencies:
+ "@babel/parser": "npm:^7.1.0"
+ "@babel/types": "npm:^7.0.0"
+ "@types/babel__generator": "npm:*"
+ "@types/babel__template": "npm:*"
+ "@types/babel__traverse": "npm:*"
+ checksum: 10c0/f88025726047188c9ee96790294d5bb56bf452f6b65f80389788e8b11c16aab77fd709e2d1c07117ddee4e8a267615a88434b0570318301554daf304e20d7ad3
+ languageName: node
+ linkType: hard
+
+"@types/babel__generator@npm:*":
+ version: 7.6.4
+ resolution: "@types/babel__generator@npm:7.6.4"
+ dependencies:
+ "@babel/types": "npm:^7.0.0"
+ checksum: 10c0/e0051b450e4ba2df0a7e386f08df902a4e920f6f8d6f185d69ddbe9b0e2e2d3ae434bb51e437bc0fca2a9a0f5dc4ca44d3a1941ef75e74371e8be5bf64416fe4
+ languageName: node
+ linkType: hard
+
+"@types/babel__template@npm:*":
+ version: 7.4.1
+ resolution: "@types/babel__template@npm:7.4.1"
+ dependencies:
+ "@babel/parser": "npm:^7.1.0"
+ "@babel/types": "npm:^7.0.0"
+ checksum: 10c0/6f180e96c39765487f27e861d43eebed341ec7a2fc06cdf5a52c22872fae67f474ca165d149c708f4fd9d5482beb66c0a92f77411b234bb30262ed2303e50b1a
+ languageName: node
+ linkType: hard
+
+"@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.6":
+ version: 7.18.3
+ resolution: "@types/babel__traverse@npm:7.18.3"
+ dependencies:
+ "@babel/types": "npm:^7.3.0"
+ checksum: 10c0/4214fd3e95925d9a7efa01142969a310263430d4f5de89be6c9c193110666677415161b474fa627d751dfd0f1eb7dc1c84c48f8b53098625c6bc78917683215a
+ languageName: node
+ linkType: hard
+
+"@types/css@npm:^0.0.33":
+ version: 0.0.33
+ resolution: "@types/css@npm:0.0.33"
+ checksum: 10c0/6beba4b3b372872b082f20929c4f5bf408ffa53db9173b7654a7873479e7c080ec534a0635f985119d9ad5e33e211b009aefaf5209eb18ea7779b1e8cac84431
+ languageName: node
+ linkType: hard
+
+"@types/graceful-fs@npm:^4.1.3":
+ version: 4.1.5
+ resolution: "@types/graceful-fs@npm:4.1.5"
+ dependencies:
+ "@types/node": "npm:*"
+ checksum: 10c0/537cff67c75f25b86df8909131b4c2100028bb73368125cef1358b41ba016377d0fc86e9e6101c2d3860cb83aff1be27953616a918de5b318b5fb18c8f4de09d
+ languageName: node
+ linkType: hard
+
+"@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0, @types/istanbul-lib-coverage@npm:^2.0.1":
+ version: 2.0.4
+ resolution: "@types/istanbul-lib-coverage@npm:2.0.4"
+ checksum: 10c0/af5f6b64e788331ed3f7b2e2613cb6ca659c58b8500be94bbda8c995ad3da9216c006f1cfe6f66b321c39392b1bda18b16e63cef090a77d24a00b4bd5ba3b018
+ languageName: node
+ linkType: hard
+
+"@types/istanbul-lib-report@npm:*":
+ version: 3.0.0
+ resolution: "@types/istanbul-lib-report@npm:3.0.0"
+ dependencies:
+ "@types/istanbul-lib-coverage": "npm:*"
+ checksum: 10c0/7ced458631276a28082ee40645224c3cdd8b861961039ff811d841069171c987ec7e50bc221845ec0d04df0022b2f457a21fb2f816dab2fbe64d59377b32031f
+ languageName: node
+ linkType: hard
+
+"@types/istanbul-reports@npm:^3.0.0":
+ version: 3.0.1
+ resolution: "@types/istanbul-reports@npm:3.0.1"
+ dependencies:
+ "@types/istanbul-lib-report": "npm:*"
+ checksum: 10c0/e147f0db9346a0cae9a359220bc76f7c78509fb6979a2597feb24d64b6e8328d2d26f9d152abbd59c6bca721e4ea2530af20116d01df50815efafd1e151fd777
+ languageName: node
+ linkType: hard
+
+"@types/node@npm:*":
+ version: 18.11.18
+ resolution: "@types/node@npm:18.11.18"
+ checksum: 10c0/1a308a03a7c1cfced411fc3187e49a507ab2b3ce7cdf0794b7511c8843aae5a8dbe52b16ba4217d2da1c8e3c50920c272b45fecff4cccc26606be7f42c33f4f5
+ languageName: node
+ linkType: hard
+
+"@types/prettier@npm:^2.1.5":
+ version: 2.7.2
+ resolution: "@types/prettier@npm:2.7.2"
+ checksum: 10c0/16ffbd1135c10027f118517d3b12aaaf3936be1f3c6e4c6c9c03d26d82077c2d86bf0dcad545417896f29e7d90faf058aae5c9db2e868be64298c644492ea29e
+ languageName: node
+ linkType: hard
+
+"@types/stack-utils@npm:^2.0.0":
+ version: 2.0.1
+ resolution: "@types/stack-utils@npm:2.0.1"
+ checksum: 10c0/3327ee919a840ffe907bbd5c1d07dfd79137dd9732d2d466cf717ceec5bb21f66296173c53bb56cff95fae4185b9cd6770df3e9745fe4ba528bbc4975f54d13f
+ languageName: node
+ linkType: hard
+
+"@types/yargs-parser@npm:*":
+ version: 21.0.0
+ resolution: "@types/yargs-parser@npm:21.0.0"
+ checksum: 10c0/cb89f3bb2e8002f1479a65a934e825be4cc18c50b350bbc656405d41cf90b8a299b105e7da497d7eb1aa460472a07d1e5a389f3af0862f1d1252279cfcdd017c
+ languageName: node
+ linkType: hard
+
+"@types/yargs@npm:^17.0.8":
+ version: 17.0.18
+ resolution: "@types/yargs@npm:17.0.18"
+ dependencies:
+ "@types/yargs-parser": "npm:*"
+ checksum: 10c0/bbc5cb5ce68c547f1c5349d1352f6dbfef3a963e223b82f17d53771a689f879ee427042be57ec3aa35a10af643bd4e603aa6e35d1bd8b5bcf80396226c9c9c7b
+ languageName: node
+ linkType: hard
+
+"Lepton@workspace:.":
+ version: 0.0.0-use.local
+ resolution: "Lepton@workspace:."
+ dependencies:
+ csstree-validator: "npm:^3.0.0"
+ fast-glob: "npm:^3.2.12"
+ jest: "npm:^29.3.1"
+ jest-environment-node-single-context: "npm:^29.0.0"
+ prettier: "npm:^2.8.1"
+ sass: "npm:^1.57.1"
+ sass-true: "npm:^7.0.0"
+ languageName: unknown
+ linkType: soft
+
+"abbrev@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "abbrev@npm:2.0.0"
+ checksum: 10c0/f742a5a107473946f426c691c08daba61a1d15942616f300b5d32fd735be88fef5cba24201757b6c407fd564555fb48c751cfa33519b2605c8a7aadd22baf372
+ languageName: node
+ linkType: hard
+
+"agent-base@npm:^7.0.2, agent-base@npm:^7.1.0, agent-base@npm:^7.1.1":
+ version: 7.1.1
+ resolution: "agent-base@npm:7.1.1"
+ dependencies:
+ debug: "npm:^4.3.4"
+ checksum: 10c0/e59ce7bed9c63bf071a30cc471f2933862044c97fd9958967bfe22521d7a0f601ce4ed5a8c011799d0c726ca70312142ae193bbebb60f576b52be19d4a363b50
+ languageName: node
+ linkType: hard
+
+"aggregate-error@npm:^3.0.0":
+ version: 3.1.0
+ resolution: "aggregate-error@npm:3.1.0"
+ dependencies:
+ clean-stack: "npm:^2.0.0"
+ indent-string: "npm:^4.0.0"
+ checksum: 10c0/a42f67faa79e3e6687a4923050e7c9807db3848a037076f791d10e092677d65c1d2d863b7848560699f40fc0502c19f40963fb1cd1fb3d338a7423df8e45e039
+ languageName: node
+ linkType: hard
+
+"ansi-colors@npm:^4.1.1":
+ version: 4.1.3
+ resolution: "ansi-colors@npm:4.1.3"
+ checksum: 10c0/ec87a2f59902f74e61eada7f6e6fe20094a628dab765cfdbd03c3477599368768cffccdb5d3bb19a1b6c99126783a143b1fee31aab729b31ffe5836c7e5e28b9
+ languageName: node
+ linkType: hard
+
+"ansi-escapes@npm:^4.2.1":
+ version: 4.3.2
+ resolution: "ansi-escapes@npm:4.3.2"
+ dependencies:
+ type-fest: "npm:^0.21.3"
+ checksum: 10c0/da917be01871525a3dfcf925ae2977bc59e8c513d4423368645634bf5d4ceba5401574eb705c1e92b79f7292af5a656f78c5725a4b0e1cec97c4b413705c1d50
+ languageName: node
+ linkType: hard
+
+"ansi-regex@npm:^5.0.1":
+ version: 5.0.1
+ resolution: "ansi-regex@npm:5.0.1"
+ checksum: 10c0/9a64bb8627b434ba9327b60c027742e5d17ac69277960d041898596271d992d4d52ba7267a63ca10232e29f6107fc8a835f6ce8d719b88c5f8493f8254813737
+ languageName: node
+ linkType: hard
+
+"ansi-regex@npm:^6.0.1":
+ version: 6.1.0
+ resolution: "ansi-regex@npm:6.1.0"
+ checksum: 10c0/a91daeddd54746338478eef88af3439a7edf30f8e23196e2d6ed182da9add559c601266dbef01c2efa46a958ad6f1f8b176799657616c702b5b02e799e7fd8dc
+ languageName: node
+ linkType: hard
+
+"ansi-styles@npm:^3.2.1":
+ version: 3.2.1
+ resolution: "ansi-styles@npm:3.2.1"
+ dependencies:
+ color-convert: "npm:^1.9.0"
+ checksum: 10c0/ece5a8ef069fcc5298f67e3f4771a663129abd174ea2dfa87923a2be2abf6cd367ef72ac87942da00ce85bd1d651d4cd8595aebdb1b385889b89b205860e977b
+ languageName: node
+ linkType: hard
+
+"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0":
+ version: 4.3.0
+ resolution: "ansi-styles@npm:4.3.0"
+ dependencies:
+ color-convert: "npm:^2.0.1"
+ checksum: 10c0/895a23929da416f2bd3de7e9cb4eabd340949328ab85ddd6e484a637d8f6820d485f53933446f5291c3b760cbc488beb8e88573dd0f9c7daf83dccc8fe81b041
+ languageName: node
+ linkType: hard
+
+"ansi-styles@npm:^5.0.0":
+ version: 5.2.0
+ resolution: "ansi-styles@npm:5.2.0"
+ checksum: 10c0/9c4ca80eb3c2fb7b33841c210d2f20807f40865d27008d7c3f707b7f95cab7d67462a565e2388ac3285b71cb3d9bb2173de8da37c57692a362885ec34d6e27df
+ languageName: node
+ linkType: hard
+
+"ansi-styles@npm:^6.1.0":
+ version: 6.2.1
+ resolution: "ansi-styles@npm:6.2.1"
+ checksum: 10c0/5d1ec38c123984bcedd996eac680d548f31828bd679a66db2bdf11844634dde55fec3efa9c6bb1d89056a5e79c1ac540c4c784d592ea1d25028a92227d2f2d5c
+ languageName: node
+ linkType: hard
+
+"anymatch@npm:^3.0.3, anymatch@npm:~3.1.2":
+ version: 3.1.3
+ resolution: "anymatch@npm:3.1.3"
+ dependencies:
+ normalize-path: "npm:^3.0.0"
+ picomatch: "npm:^2.0.4"
+ checksum: 10c0/57b06ae984bc32a0d22592c87384cd88fe4511b1dd7581497831c56d41939c8a001b28e7b853e1450f2bf61992dfcaa8ae2d0d161a0a90c4fb631ef07098fbac
+ languageName: node
+ linkType: hard
+
+"argparse@npm:^1.0.7":
+ version: 1.0.10
+ resolution: "argparse@npm:1.0.10"
+ dependencies:
+ sprintf-js: "npm:~1.0.2"
+ checksum: 10c0/b2972c5c23c63df66bca144dbc65d180efa74f25f8fd9b7d9a0a6c88ae839db32df3d54770dcb6460cf840d232b60695d1a6b1053f599d84e73f7437087712de
+ languageName: node
+ linkType: hard
+
+"atob@npm:^2.1.2":
+ version: 2.1.2
+ resolution: "atob@npm:2.1.2"
+ bin:
+ atob: bin/atob.js
+ checksum: 10c0/ada635b519dc0c576bb0b3ca63a73b50eefacf390abb3f062558342a8d68f2db91d0c8db54ce81b0d89de3b0f000de71f3ae7d761fd7d8cc624278fe443d6c7e
+ languageName: node
+ linkType: hard
+
+"babel-jest@npm:^29.3.1":
+ version: 29.3.1
+ resolution: "babel-jest@npm:29.3.1"
+ dependencies:
+ "@jest/transform": "npm:^29.3.1"
+ "@types/babel__core": "npm:^7.1.14"
+ babel-plugin-istanbul: "npm:^6.1.1"
+ babel-preset-jest: "npm:^29.2.0"
+ chalk: "npm:^4.0.0"
+ graceful-fs: "npm:^4.2.9"
+ slash: "npm:^3.0.0"
+ peerDependencies:
+ "@babel/core": ^7.8.0
+ checksum: 10c0/0ac669113d54a331e43cf3a5f39895bb8feadaad76c741027197c9c63dedff1835f1414877931dcb2daca614d8b50bc3c9c671fd44b46dca365fbec1c42e661a
+ languageName: node
+ linkType: hard
+
+"babel-plugin-istanbul@npm:^6.1.1":
+ version: 6.1.1
+ resolution: "babel-plugin-istanbul@npm:6.1.1"
+ dependencies:
+ "@babel/helper-plugin-utils": "npm:^7.0.0"
+ "@istanbuljs/load-nyc-config": "npm:^1.0.0"
+ "@istanbuljs/schema": "npm:^0.1.2"
+ istanbul-lib-instrument: "npm:^5.0.4"
+ test-exclude: "npm:^6.0.0"
+ checksum: 10c0/1075657feb705e00fd9463b329921856d3775d9867c5054b449317d39153f8fbcebd3e02ebf00432824e647faff3683a9ca0a941325ef1afe9b3c4dd51b24beb
+ languageName: node
+ linkType: hard
+
+"babel-plugin-jest-hoist@npm:^29.2.0":
+ version: 29.2.0
+ resolution: "babel-plugin-jest-hoist@npm:29.2.0"
+ dependencies:
+ "@babel/template": "npm:^7.3.3"
+ "@babel/types": "npm:^7.3.3"
+ "@types/babel__core": "npm:^7.1.14"
+ "@types/babel__traverse": "npm:^7.0.6"
+ checksum: 10c0/37888f5161cfefefebe7f81c6fb3cc3a38ff793f1b1d6196a5b5b3a72f778476cdfb78eb4a4e1bc09903f952bfc28c4854a88433e2dd31366512c85e493e32f9
+ languageName: node
+ linkType: hard
+
+"babel-preset-current-node-syntax@npm:^1.0.0":
+ version: 1.0.1
+ resolution: "babel-preset-current-node-syntax@npm:1.0.1"
+ dependencies:
+ "@babel/plugin-syntax-async-generators": "npm:^7.8.4"
+ "@babel/plugin-syntax-bigint": "npm:^7.8.3"
+ "@babel/plugin-syntax-class-properties": "npm:^7.8.3"
+ "@babel/plugin-syntax-import-meta": "npm:^7.8.3"
+ "@babel/plugin-syntax-json-strings": "npm:^7.8.3"
+ "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.8.3"
+ "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3"
+ "@babel/plugin-syntax-numeric-separator": "npm:^7.8.3"
+ "@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3"
+ "@babel/plugin-syntax-optional-catch-binding": "npm:^7.8.3"
+ "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3"
+ "@babel/plugin-syntax-top-level-await": "npm:^7.8.3"
+ peerDependencies:
+ "@babel/core": ^7.0.0
+ checksum: 10c0/5ba39a3a0e6c37d25e56a4fb843be632dac98d54706d8a0933f9bcb1a07987a96d55c2b5a6c11788a74063fb2534fe68c1f1dbb6c93626850c785e0938495627
+ languageName: node
+ linkType: hard
+
+"babel-preset-jest@npm:^29.2.0":
+ version: 29.2.0
+ resolution: "babel-preset-jest@npm:29.2.0"
+ dependencies:
+ babel-plugin-jest-hoist: "npm:^29.2.0"
+ babel-preset-current-node-syntax: "npm:^1.0.0"
+ peerDependencies:
+ "@babel/core": ^7.0.0
+ checksum: 10c0/bc72a6a64dd77b1075cbeaa53ee925b33e78d32e44fe3676c57941baa3ae8f59f6e2f399cef5b2d3ce2eecefb41e401ed4e276f4310f36519f4821c57227fb16
+ languageName: node
+ linkType: hard
+
+"balanced-match@npm:^1.0.0":
+ version: 1.0.2
+ resolution: "balanced-match@npm:1.0.2"
+ checksum: 10c0/9308baf0a7e4838a82bbfd11e01b1cb0f0cf2893bc1676c27c2a8c0e70cbae1c59120c3268517a8ae7fb6376b4639ef81ca22582611dbee4ed28df945134aaee
+ languageName: node
+ linkType: hard
+
+"binary-extensions@npm:^2.0.0":
+ version: 2.2.0
+ resolution: "binary-extensions@npm:2.2.0"
+ checksum: 10c0/d73d8b897238a2d3ffa5f59c0241870043aa7471335e89ea5e1ff48edb7c2d0bb471517a3e4c5c3f4c043615caa2717b5f80a5e61e07503d51dc85cb848e665d
+ languageName: node
+ linkType: hard
+
+"brace-expansion@npm:^1.1.7":
+ version: 1.1.11
+ resolution: "brace-expansion@npm:1.1.11"
+ dependencies:
+ balanced-match: "npm:^1.0.0"
+ concat-map: "npm:0.0.1"
+ checksum: 10c0/695a56cd058096a7cb71fb09d9d6a7070113c7be516699ed361317aca2ec169f618e28b8af352e02ab4233fb54eb0168460a40dc320bab0034b36ab59aaad668
+ languageName: node
+ linkType: hard
+
+"brace-expansion@npm:^2.0.1":
+ version: 2.0.1
+ resolution: "brace-expansion@npm:2.0.1"
+ dependencies:
+ balanced-match: "npm:^1.0.0"
+ checksum: 10c0/b358f2fe060e2d7a87aa015979ecea07f3c37d4018f8d6deb5bd4c229ad3a0384fe6029bb76cd8be63c81e516ee52d1a0673edbe2023d53a5191732ae3c3e49f
+ languageName: node
+ linkType: hard
+
+"braces@npm:^3.0.2, braces@npm:~3.0.2":
+ version: 3.0.3
+ resolution: "braces@npm:3.0.3"
+ dependencies:
+ fill-range: "npm:^7.1.1"
+ checksum: 10c0/7c6dfd30c338d2997ba77500539227b9d1f85e388a5f43220865201e407e076783d0881f2d297b9f80951b4c957fcf0b51c1d2d24227631643c3f7c284b0aa04
+ languageName: node
+ linkType: hard
+
+"browserslist@npm:^4.21.3":
+ version: 4.21.4
+ resolution: "browserslist@npm:4.21.4"
+ dependencies:
+ caniuse-lite: "npm:^1.0.30001400"
+ electron-to-chromium: "npm:^1.4.251"
+ node-releases: "npm:^2.0.6"
+ update-browserslist-db: "npm:^1.0.9"
+ bin:
+ browserslist: cli.js
+ checksum: 10c0/bbc5fe2b4280a590cb40b110cd282f18f4542d75ddb559dfe0a174fda0263d2a7dd5b1634d0f795d617d69cb5f9716479c4a90d9a954a7ef16bc0a2878965af8
+ languageName: node
+ linkType: hard
+
+"bser@npm:2.1.1":
+ version: 2.1.1
+ resolution: "bser@npm:2.1.1"
+ dependencies:
+ node-int64: "npm:^0.4.0"
+ checksum: 10c0/24d8dfb7b6d457d73f32744e678a60cc553e4ec0e9e1a01cf614b44d85c3c87e188d3cc78ef0442ce5032ee6818de20a0162ba1074725c0d08908f62ea979227
+ languageName: node
+ linkType: hard
+
+"buffer-from@npm:^1.0.0":
+ version: 1.1.2
+ resolution: "buffer-from@npm:1.1.2"
+ checksum: 10c0/124fff9d66d691a86d3b062eff4663fe437a9d9ee4b47b1b9e97f5a5d14f6d5399345db80f796827be7c95e70a8e765dd404b7c3ff3b3324f98e9b0c8826cc34
+ languageName: node
+ linkType: hard
+
+"cacache@npm:^18.0.0":
+ version: 18.0.4
+ resolution: "cacache@npm:18.0.4"
+ dependencies:
+ "@npmcli/fs": "npm:^3.1.0"
+ fs-minipass: "npm:^3.0.0"
+ glob: "npm:^10.2.2"
+ lru-cache: "npm:^10.0.1"
+ minipass: "npm:^7.0.3"
+ minipass-collect: "npm:^2.0.1"
+ minipass-flush: "npm:^1.0.5"
+ minipass-pipeline: "npm:^1.2.4"
+ p-map: "npm:^4.0.0"
+ ssri: "npm:^10.0.0"
+ tar: "npm:^6.1.11"
+ unique-filename: "npm:^3.0.0"
+ checksum: 10c0/6c055bafed9de4f3dcc64ac3dc7dd24e863210902b7c470eb9ce55a806309b3efff78033e3d8b4f7dcc5d467f2db43c6a2857aaaf26f0094b8a351d44c42179f
+ languageName: node
+ linkType: hard
+
+"callsites@npm:^3.0.0":
+ version: 3.1.0
+ resolution: "callsites@npm:3.1.0"
+ checksum: 10c0/fff92277400eb06c3079f9e74f3af120db9f8ea03bad0e84d9aede54bbe2d44a56cccb5f6cf12211f93f52306df87077ecec5b712794c5a9b5dac6d615a3f301
+ languageName: node
+ linkType: hard
+
+"camelcase@npm:^5.3.1":
+ version: 5.3.1
+ resolution: "camelcase@npm:5.3.1"
+ checksum: 10c0/92ff9b443bfe8abb15f2b1513ca182d16126359ad4f955ebc83dc4ddcc4ef3fdd2c078bc223f2673dc223488e75c99b16cc4d056624374b799e6a1555cf61b23
+ languageName: node
+ linkType: hard
+
+"camelcase@npm:^6.2.0":
+ version: 6.3.0
+ resolution: "camelcase@npm:6.3.0"
+ checksum: 10c0/0d701658219bd3116d12da3eab31acddb3f9440790c0792e0d398f0a520a6a4058018e546862b6fba89d7ae990efaeb97da71e1913e9ebf5a8b5621a3d55c710
+ languageName: node
+ linkType: hard
+
+"caniuse-lite@npm:^1.0.30001400":
+ version: 1.0.30001441
+ resolution: "caniuse-lite@npm:1.0.30001441"
+ checksum: 10c0/4b91bfc03cdbb9cf54225bbc36c2c568879d05ff8f2a34bdafbd7e5acc578d913b2d169bab4bf8a0992678e308779cd5603be0928d6552acefebfc52ded73aa1
+ languageName: node
+ linkType: hard
+
+"chalk@npm:^2.0.0, chalk@npm:^2.4.2":
+ version: 2.4.2
+ resolution: "chalk@npm:2.4.2"
+ dependencies:
+ ansi-styles: "npm:^3.2.1"
+ escape-string-regexp: "npm:^1.0.5"
+ supports-color: "npm:^5.3.0"
+ checksum: 10c0/e6543f02ec877732e3a2d1c3c3323ddb4d39fbab687c23f526e25bd4c6a9bf3b83a696e8c769d078e04e5754921648f7821b2a2acfd16c550435fd630026e073
+ languageName: node
+ linkType: hard
+
+"chalk@npm:^4.0.0":
+ version: 4.1.2
+ resolution: "chalk@npm:4.1.2"
+ dependencies:
+ ansi-styles: "npm:^4.1.0"
+ supports-color: "npm:^7.1.0"
+ checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880
+ languageName: node
+ linkType: hard
+
+"char-regex@npm:^1.0.2":
+ version: 1.0.2
+ resolution: "char-regex@npm:1.0.2"
+ checksum: 10c0/57a09a86371331e0be35d9083ba429e86c4f4648ecbe27455dbfb343037c16ee6fdc7f6b61f433a57cc5ded5561d71c56a150e018f40c2ffb7bc93a26dae341e
+ languageName: node
+ linkType: hard
+
+"chokidar@npm:>=3.0.0 <4.0.0":
+ version: 3.5.3
+ resolution: "chokidar@npm:3.5.3"
+ dependencies:
+ anymatch: "npm:~3.1.2"
+ braces: "npm:~3.0.2"
+ fsevents: "npm:~2.3.2"
+ glob-parent: "npm:~5.1.2"
+ is-binary-path: "npm:~2.1.0"
+ is-glob: "npm:~4.0.1"
+ normalize-path: "npm:~3.0.0"
+ readdirp: "npm:~3.6.0"
+ dependenciesMeta:
+ fsevents:
+ optional: true
+ checksum: 10c0/1076953093e0707c882a92c66c0f56ba6187831aa51bb4de878c1fec59ae611a3bf02898f190efec8e77a086b8df61c2b2a3ea324642a0558bdf8ee6c5dc9ca1
+ languageName: node
+ linkType: hard
+
+"chownr@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "chownr@npm:2.0.0"
+ checksum: 10c0/594754e1303672171cc04e50f6c398ae16128eb134a88f801bf5354fd96f205320f23536a045d9abd8b51024a149696e51231565891d4efdab8846021ecf88e6
+ languageName: node
+ linkType: hard
+
+"ci-info@npm:^3.2.0":
+ version: 3.7.0
+ resolution: "ci-info@npm:3.7.0"
+ checksum: 10c0/d2432ba9da65ae26e9599451638bf82d994008b9e231e4d29871d7c53346a744d4969e5aca93aa71465cb4cc08a7406c3e8c2dfa368ac80da4e87e22d94c32b5
+ languageName: node
+ linkType: hard
+
+"cjs-module-lexer@npm:^1.0.0":
+ version: 1.2.2
+ resolution: "cjs-module-lexer@npm:1.2.2"
+ checksum: 10c0/83330e1feda2e3699b8c305bfa8f841b41822049393f5eefeb574e60bde556e2a251ee9b7971cde0cb47ac4f7823bf4ab4a6005b8471f86ad9f5509eefb66cbd
+ languageName: node
+ linkType: hard
+
+"clap@npm:^3.0.0":
+ version: 3.1.1
+ resolution: "clap@npm:3.1.1"
+ dependencies:
+ ansi-colors: "npm:^4.1.1"
+ checksum: 10c0/c89b15e105b67a765f8eedcfceb7a2ef9126b74264ee7f121aeaaaeaa6f470dcfef44906dcd8f34bbcb40ace40b15fc13aadf33b9dbb683e11e93cd02eabab9b
+ languageName: node
+ linkType: hard
+
+"clean-stack@npm:^2.0.0":
+ version: 2.2.0
+ resolution: "clean-stack@npm:2.2.0"
+ checksum: 10c0/1f90262d5f6230a17e27d0c190b09d47ebe7efdd76a03b5a1127863f7b3c9aec4c3e6c8bb3a7bbf81d553d56a1fd35728f5a8ef4c63f867ac8d690109742a8c1
+ languageName: node
+ linkType: hard
+
+"cliui@npm:^8.0.1":
+ version: 8.0.1
+ resolution: "cliui@npm:8.0.1"
+ dependencies:
+ string-width: "npm:^4.2.0"
+ strip-ansi: "npm:^6.0.1"
+ wrap-ansi: "npm:^7.0.0"
+ checksum: 10c0/4bda0f09c340cbb6dfdc1ed508b3ca080f12992c18d68c6be4d9cf51756033d5266e61ec57529e610dacbf4da1c634423b0c1b11037709cc6b09045cbd815df5
+ languageName: node
+ linkType: hard
+
+"co@npm:^4.6.0":
+ version: 4.6.0
+ resolution: "co@npm:4.6.0"
+ checksum: 10c0/c0e85ea0ca8bf0a50cbdca82efc5af0301240ca88ebe3644a6ffb8ffe911f34d40f8fbcf8f1d52c5ddd66706abd4d3bfcd64259f1e8e2371d4f47573b0dc8c28
+ languageName: node
+ linkType: hard
+
+"collect-v8-coverage@npm:^1.0.0":
+ version: 1.0.1
+ resolution: "collect-v8-coverage@npm:1.0.1"
+ checksum: 10c0/df8192811a773d10978fd25060124e4228d9a86bab40de3f18df5ce1a3730832351a52ba1c0e3915d5bd638298fc7bc9723760d25f534462746e269a6f0ac91c
+ languageName: node
+ linkType: hard
+
+"color-convert@npm:^1.9.0":
+ version: 1.9.3
+ resolution: "color-convert@npm:1.9.3"
+ dependencies:
+ color-name: "npm:1.1.3"
+ checksum: 10c0/5ad3c534949a8c68fca8fbc6f09068f435f0ad290ab8b2f76841b9e6af7e0bb57b98cb05b0e19fe33f5d91e5a8611ad457e5f69e0a484caad1f7487fd0e8253c
+ languageName: node
+ linkType: hard
+
+"color-convert@npm:^2.0.1":
+ version: 2.0.1
+ resolution: "color-convert@npm:2.0.1"
+ dependencies:
+ color-name: "npm:~1.1.4"
+ checksum: 10c0/37e1150172f2e311fe1b2df62c6293a342ee7380da7b9cfdba67ea539909afbd74da27033208d01d6d5cfc65ee7868a22e18d7e7648e004425441c0f8a15a7d7
+ languageName: node
+ linkType: hard
+
+"color-name@npm:1.1.3":
+ version: 1.1.3
+ resolution: "color-name@npm:1.1.3"
+ checksum: 10c0/566a3d42cca25b9b3cd5528cd7754b8e89c0eb646b7f214e8e2eaddb69994ac5f0557d9c175eb5d8f0ad73531140d9c47525085ee752a91a2ab15ab459caf6d6
+ languageName: node
+ linkType: hard
+
+"color-name@npm:~1.1.4":
+ version: 1.1.4
+ resolution: "color-name@npm:1.1.4"
+ checksum: 10c0/a1a3f914156960902f46f7f56bc62effc6c94e84b2cae157a526b1c1f74b677a47ec602bf68a61abfa2b42d15b7c5651c6dbe72a43af720bc588dff885b10f95
+ languageName: node
+ linkType: hard
+
+"concat-map@npm:0.0.1":
+ version: 0.0.1
+ resolution: "concat-map@npm:0.0.1"
+ checksum: 10c0/c996b1cfdf95b6c90fee4dae37e332c8b6eb7d106430c17d538034c0ad9a1630cb194d2ab37293b1bdd4d779494beee7786d586a50bd9376fd6f7bcc2bd4c98f
+ languageName: node
+ linkType: hard
+
+"convert-source-map@npm:^1.6.0, convert-source-map@npm:^1.7.0":
+ version: 1.9.0
+ resolution: "convert-source-map@npm:1.9.0"
+ checksum: 10c0/281da55454bf8126cbc6625385928c43479f2060984180c42f3a86c8b8c12720a24eac260624a7d1e090004028d2dee78602330578ceec1a08e27cb8bb0a8a5b
+ languageName: node
+ linkType: hard
+
+"convert-source-map@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "convert-source-map@npm:2.0.0"
+ checksum: 10c0/8f2f7a27a1a011cc6cc88cc4da2d7d0cfa5ee0369508baae3d98c260bb3ac520691464e5bbe4ae7cdf09860c1d69ecc6f70c63c6e7c7f7e3f18ec08484dc7d9b
+ languageName: node
+ linkType: hard
+
+"cross-spawn@npm:^7.0.0":
+ version: 7.0.6
+ resolution: "cross-spawn@npm:7.0.6"
+ dependencies:
+ path-key: "npm:^3.1.0"
+ shebang-command: "npm:^2.0.0"
+ which: "npm:^2.0.1"
+ checksum: 10c0/053ea8b2135caff68a9e81470e845613e374e7309a47731e81639de3eaeb90c3d01af0e0b44d2ab9d50b43467223b88567dfeb3262db942dc063b9976718ffc1
+ languageName: node
+ linkType: hard
+
+"cross-spawn@npm:^7.0.3":
+ version: 7.0.3
+ resolution: "cross-spawn@npm:7.0.3"
+ dependencies:
+ path-key: "npm:^3.1.0"
+ shebang-command: "npm:^2.0.0"
+ which: "npm:^2.0.1"
+ checksum: 10c0/5738c312387081c98d69c98e105b6327b069197f864a60593245d64c8089c8a0a744e16349281210d56835bb9274130d825a78b2ad6853ca13cfbeffc0c31750
+ languageName: node
+ linkType: hard
+
+"css-tree@npm:^2.0.2":
+ version: 2.3.1
+ resolution: "css-tree@npm:2.3.1"
+ dependencies:
+ mdn-data: "npm:2.0.30"
+ source-map-js: "npm:^1.0.1"
+ checksum: 10c0/6f8c1a11d5e9b14bf02d10717fc0351b66ba12594166f65abfbd8eb8b5b490dd367f5c7721db241a3c792d935fc6751fbc09f7e1598d421477ad9fadc30f4f24
+ languageName: node
+ linkType: hard
+
+"css@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "css@npm:3.0.0"
+ dependencies:
+ inherits: "npm:^2.0.4"
+ source-map: "npm:^0.6.1"
+ source-map-resolve: "npm:^0.6.0"
+ checksum: 10c0/c17cb4a46a39c11b00225f1314158a892828af34cdf3badc7e88084882e9f414e4902a1d59231c0854f310af30bde343fd8a9e79c6001426fe88af45d3312fe2
+ languageName: node
+ linkType: hard
+
+"csstree-validator@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "csstree-validator@npm:3.0.0"
+ dependencies:
+ clap: "npm:^3.0.0"
+ css-tree: "npm:^2.0.2"
+ resolve: "npm:^1.20.0"
+ bin:
+ csstree-validator: bin/validate.js
+ checksum: 10c0/73ce07f7642e5709c501f2114ee9833122996c1ba94f476874415917da0e58592f23ac0ac2918913a512f0bbb637702be4f113c188ea18899a036af3cab2e38a
+ languageName: node
+ linkType: hard
+
+"debug@npm:4, debug@npm:^4.3.4":
+ version: 4.3.7
+ resolution: "debug@npm:4.3.7"
+ dependencies:
+ ms: "npm:^2.1.3"
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ checksum: 10c0/1471db19c3b06d485a622d62f65947a19a23fbd0dd73f7fd3eafb697eec5360cde447fb075919987899b1a2096e85d35d4eb5a4de09a57600ac9cf7e6c8e768b
+ languageName: node
+ linkType: hard
+
+"debug@npm:^4.1.0, debug@npm:^4.1.1":
+ version: 4.3.4
+ resolution: "debug@npm:4.3.4"
+ dependencies:
+ ms: "npm:2.1.2"
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ checksum: 10c0/cedbec45298dd5c501d01b92b119cd3faebe5438c3917ff11ae1bff86a6c722930ac9c8659792824013168ba6db7c4668225d845c633fbdafbbf902a6389f736
+ languageName: node
+ linkType: hard
+
+"decode-uri-component@npm:^0.2.0":
+ version: 0.2.2
+ resolution: "decode-uri-component@npm:0.2.2"
+ checksum: 10c0/1f4fa54eb740414a816b3f6c24818fbfcabd74ac478391e9f4e2282c994127db02010ce804f3d08e38255493cfe68608b3f5c8e09fd6efc4ae46c807691f7a31
+ languageName: node
+ linkType: hard
+
+"dedent@npm:^0.7.0":
+ version: 0.7.0
+ resolution: "dedent@npm:0.7.0"
+ checksum: 10c0/7c3aa00ddfe3e5fcd477958e156156a5137e3bb6ff1493ca05edff4decf29a90a057974cc77e75951f8eb801c1816cb45aea1f52d628cdd000b82b36ab839d1b
+ languageName: node
+ linkType: hard
+
+"deepmerge@npm:^4.2.2":
+ version: 4.2.2
+ resolution: "deepmerge@npm:4.2.2"
+ checksum: 10c0/d6136eee869057fea7a829aa2d10073ed49db5216e42a77cc737dd385334aab9b68dae22020a00c24c073d5f79cbbdd3f11b8d4fc87700d112ddaa0e1f968ef2
+ languageName: node
+ linkType: hard
+
+"detect-newline@npm:^3.0.0":
+ version: 3.1.0
+ resolution: "detect-newline@npm:3.1.0"
+ checksum: 10c0/c38cfc8eeb9fda09febb44bcd85e467c970d4e3bf526095394e5a4f18bc26dd0cf6b22c69c1fa9969261521c593836db335c2795218f6d781a512aea2fb8209d
+ languageName: node
+ linkType: hard
+
+"diff-sequences@npm:^29.3.1":
+ version: 29.3.1
+ resolution: "diff-sequences@npm:29.3.1"
+ checksum: 10c0/adbacc8d56c42f73c12a90e253c2b7024d2cd52c30bd81a3960a9cfd35164f8ecd3d8dd82ded38b0e48585923b56bd28f9aae942e6d1b23f444213b9d786b925
+ languageName: node
+ linkType: hard
+
+"eastasianwidth@npm:^0.2.0":
+ version: 0.2.0
+ resolution: "eastasianwidth@npm:0.2.0"
+ checksum: 10c0/26f364ebcdb6395f95124fda411f63137a4bfb5d3a06453f7f23dfe52502905bd84e0488172e0f9ec295fdc45f05c23d5d91baf16bd26f0fe9acd777a188dc39
+ languageName: node
+ linkType: hard
+
+"electron-to-chromium@npm:^1.4.251":
+ version: 1.4.284
+ resolution: "electron-to-chromium@npm:1.4.284"
+ checksum: 10c0/33a7509755efbc0e13e81cdf0486ed37ea354857213b92a987a81e229083c1b2ee5f663c1103db9e5ec142a611e0daeeee02f757f7184833866f8aecb7046c2b
+ languageName: node
+ linkType: hard
+
+"emittery@npm:^0.13.1":
+ version: 0.13.1
+ resolution: "emittery@npm:0.13.1"
+ checksum: 10c0/1573d0ae29ab34661b6c63251ff8f5facd24ccf6a823f19417ae8ba8c88ea450325788c67f16c99edec8de4b52ce93a10fe441ece389fd156e88ee7dab9bfa35
+ languageName: node
+ linkType: hard
+
+"emoji-regex@npm:^8.0.0":
+ version: 8.0.0
+ resolution: "emoji-regex@npm:8.0.0"
+ checksum: 10c0/b6053ad39951c4cf338f9092d7bfba448cdfd46fe6a2a034700b149ac9ffbc137e361cbd3c442297f86bed2e5f7576c1b54cc0a6bf8ef5106cc62f496af35010
+ languageName: node
+ linkType: hard
+
+"emoji-regex@npm:^9.2.2":
+ version: 9.2.2
+ resolution: "emoji-regex@npm:9.2.2"
+ checksum: 10c0/af014e759a72064cf66e6e694a7fc6b0ed3d8db680427b021a89727689671cefe9d04151b2cad51dbaf85d5ba790d061cd167f1cf32eb7b281f6368b3c181639
+ languageName: node
+ linkType: hard
+
+"encoding@npm:^0.1.13":
+ version: 0.1.13
+ resolution: "encoding@npm:0.1.13"
+ dependencies:
+ iconv-lite: "npm:^0.6.2"
+ checksum: 10c0/36d938712ff00fe1f4bac88b43bcffb5930c1efa57bbcdca9d67e1d9d6c57cfb1200fb01efe0f3109b2ce99b231f90779532814a81370a1bd3274a0f58585039
+ languageName: node
+ linkType: hard
+
+"env-paths@npm:^2.2.0":
+ version: 2.2.1
+ resolution: "env-paths@npm:2.2.1"
+ checksum: 10c0/285325677bf00e30845e330eec32894f5105529db97496ee3f598478e50f008c5352a41a30e5e72ec9de8a542b5a570b85699cd63bd2bc646dbcb9f311d83bc4
+ languageName: node
+ linkType: hard
+
+"err-code@npm:^2.0.2":
+ version: 2.0.3
+ resolution: "err-code@npm:2.0.3"
+ checksum: 10c0/b642f7b4dd4a376e954947550a3065a9ece6733ab8e51ad80db727aaae0817c2e99b02a97a3d6cecc648a97848305e728289cf312d09af395403a90c9d4d8a66
+ languageName: node
+ linkType: hard
+
+"error-ex@npm:^1.3.1":
+ version: 1.3.2
+ resolution: "error-ex@npm:1.3.2"
+ dependencies:
+ is-arrayish: "npm:^0.2.1"
+ checksum: 10c0/ba827f89369b4c93382cfca5a264d059dfefdaa56ecc5e338ffa58a6471f5ed93b71a20add1d52290a4873d92381174382658c885ac1a2305f7baca363ce9cce
+ languageName: node
+ linkType: hard
+
+"escalade@npm:^3.1.1":
+ version: 3.1.1
+ resolution: "escalade@npm:3.1.1"
+ checksum: 10c0/afd02e6ca91ffa813e1108b5e7756566173d6bc0d1eb951cb44d6b21702ec17c1cf116cfe75d4a2b02e05acb0b808a7a9387d0d1ca5cf9c04ad03a8445c3e46d
+ languageName: node
+ linkType: hard
+
+"escape-string-regexp@npm:^1.0.5":
+ version: 1.0.5
+ resolution: "escape-string-regexp@npm:1.0.5"
+ checksum: 10c0/a968ad453dd0c2724e14a4f20e177aaf32bb384ab41b674a8454afe9a41c5e6fe8903323e0a1052f56289d04bd600f81278edf140b0fcc02f5cac98d0f5b5371
+ languageName: node
+ linkType: hard
+
+"escape-string-regexp@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "escape-string-regexp@npm:2.0.0"
+ checksum: 10c0/2530479fe8db57eace5e8646c9c2a9c80fa279614986d16dcc6bcaceb63ae77f05a851ba6c43756d816c61d7f4534baf56e3c705e3e0d884818a46808811c507
+ languageName: node
+ linkType: hard
+
+"esprima@npm:^4.0.0":
+ version: 4.0.1
+ resolution: "esprima@npm:4.0.1"
+ bin:
+ esparse: ./bin/esparse.js
+ esvalidate: ./bin/esvalidate.js
+ checksum: 10c0/ad4bab9ead0808cf56501750fd9d3fb276f6b105f987707d059005d57e182d18a7c9ec7f3a01794ebddcca676773e42ca48a32d67a250c9d35e009ca613caba3
+ languageName: node
+ linkType: hard
+
+"execa@npm:^5.0.0":
+ version: 5.1.1
+ resolution: "execa@npm:5.1.1"
+ dependencies:
+ cross-spawn: "npm:^7.0.3"
+ get-stream: "npm:^6.0.0"
+ human-signals: "npm:^2.1.0"
+ is-stream: "npm:^2.0.0"
+ merge-stream: "npm:^2.0.0"
+ npm-run-path: "npm:^4.0.1"
+ onetime: "npm:^5.1.2"
+ signal-exit: "npm:^3.0.3"
+ strip-final-newline: "npm:^2.0.0"
+ checksum: 10c0/c8e615235e8de4c5addf2fa4c3da3e3aa59ce975a3e83533b4f6a71750fb816a2e79610dc5f1799b6e28976c9ae86747a36a606655bf8cb414a74d8d507b304f
+ languageName: node
+ linkType: hard
+
+"exit@npm:^0.1.2":
+ version: 0.1.2
+ resolution: "exit@npm:0.1.2"
+ checksum: 10c0/71d2ad9b36bc25bb8b104b17e830b40a08989be7f7d100b13269aaae7c3784c3e6e1e88a797e9e87523993a25ba27c8958959a554535370672cfb4d824af8989
+ languageName: node
+ linkType: hard
+
+"expect@npm:^29.3.1":
+ version: 29.3.1
+ resolution: "expect@npm:29.3.1"
+ dependencies:
+ "@jest/expect-utils": "npm:^29.3.1"
+ jest-get-type: "npm:^29.2.0"
+ jest-matcher-utils: "npm:^29.3.1"
+ jest-message-util: "npm:^29.3.1"
+ jest-util: "npm:^29.3.1"
+ checksum: 10c0/0662836949648b65ea80c0fc4777818bd384c00d2ad3d442ec1bea69a604097f94673a432245ae750b09bc8d292f381a31dcc59cf0433a9b2adfba501e257d63
+ languageName: node
+ linkType: hard
+
+"exponential-backoff@npm:^3.1.1":
+ version: 3.1.1
+ resolution: "exponential-backoff@npm:3.1.1"
+ checksum: 10c0/160456d2d647e6019640bd07111634d8c353038d9fa40176afb7cd49b0548bdae83b56d05e907c2cce2300b81cae35d800ef92fefb9d0208e190fa3b7d6bb579
+ languageName: node
+ linkType: hard
+
+"fast-glob@npm:^3.2.12":
+ version: 3.2.12
+ resolution: "fast-glob@npm:3.2.12"
+ dependencies:
+ "@nodelib/fs.stat": "npm:^2.0.2"
+ "@nodelib/fs.walk": "npm:^1.2.3"
+ glob-parent: "npm:^5.1.2"
+ merge2: "npm:^1.3.0"
+ micromatch: "npm:^4.0.4"
+ checksum: 10c0/08604fb8ef6442ce74068bef3c3104382bb1f5ab28cf75e4ee904662778b60ad620e1405e692b7edea598ef445f5d387827a965ba034e1892bf54b1dfde97f26
+ languageName: node
+ linkType: hard
+
+"fast-json-stable-stringify@npm:^2.1.0":
+ version: 2.1.0
+ resolution: "fast-json-stable-stringify@npm:2.1.0"
+ checksum: 10c0/7f081eb0b8a64e0057b3bb03f974b3ef00135fbf36c1c710895cd9300f13c94ba809bb3a81cf4e1b03f6e5285610a61abbd7602d0652de423144dfee5a389c9b
+ languageName: node
+ linkType: hard
+
+"fastq@npm:^1.6.0":
+ version: 1.14.0
+ resolution: "fastq@npm:1.14.0"
+ dependencies:
+ reusify: "npm:^1.0.4"
+ checksum: 10c0/11d27499021965f51db44f258085d84686920318f9a7f778567b097729c01a8e96ecd2ccfca33f1dbc0e01e26a4e48188a2d772c789071abd43d3ad96cdac3ec
+ languageName: node
+ linkType: hard
+
+"fb-watchman@npm:^2.0.0":
+ version: 2.0.2
+ resolution: "fb-watchman@npm:2.0.2"
+ dependencies:
+ bser: "npm:2.1.1"
+ checksum: 10c0/feae89ac148adb8f6ae8ccd87632e62b13563e6fb114cacb5265c51f585b17e2e268084519fb2edd133872f1d47a18e6bfd7e5e08625c0d41b93149694187581
+ languageName: node
+ linkType: hard
+
+"fill-range@npm:^7.1.1":
+ version: 7.1.1
+ resolution: "fill-range@npm:7.1.1"
+ dependencies:
+ to-regex-range: "npm:^5.0.1"
+ checksum: 10c0/b75b691bbe065472f38824f694c2f7449d7f5004aa950426a2c28f0306c60db9b880c0b0e4ed819997ffb882d1da02cfcfc819bddc94d71627f5269682edf018
+ languageName: node
+ linkType: hard
+
+"find-up@npm:^4.0.0, find-up@npm:^4.1.0":
+ version: 4.1.0
+ resolution: "find-up@npm:4.1.0"
+ dependencies:
+ locate-path: "npm:^5.0.0"
+ path-exists: "npm:^4.0.0"
+ checksum: 10c0/0406ee89ebeefa2d507feb07ec366bebd8a6167ae74aa4e34fb4c4abd06cf782a3ce26ae4194d70706f72182841733f00551c209fe575cb00bd92104056e78c1
+ languageName: node
+ linkType: hard
+
+"foreground-child@npm:^3.1.0":
+ version: 3.3.0
+ resolution: "foreground-child@npm:3.3.0"
+ dependencies:
+ cross-spawn: "npm:^7.0.0"
+ signal-exit: "npm:^4.0.1"
+ checksum: 10c0/028f1d41000553fcfa6c4bb5c372963bf3d9bf0b1f25a87d1a6253014343fb69dfb1b42d9625d7cf44c8ba429940f3d0ff718b62105d4d4a4f6ef8ca0a53faa2
+ languageName: node
+ linkType: hard
+
+"fs-minipass@npm:^2.0.0":
+ version: 2.1.0
+ resolution: "fs-minipass@npm:2.1.0"
+ dependencies:
+ minipass: "npm:^3.0.0"
+ checksum: 10c0/703d16522b8282d7299337539c3ed6edddd1afe82435e4f5b76e34a79cd74e488a8a0e26a636afc2440e1a23b03878e2122e3a2cfe375a5cf63c37d92b86a004
+ languageName: node
+ linkType: hard
+
+"fs-minipass@npm:^3.0.0":
+ version: 3.0.3
+ resolution: "fs-minipass@npm:3.0.3"
+ dependencies:
+ minipass: "npm:^7.0.3"
+ checksum: 10c0/63e80da2ff9b621e2cb1596abcb9207f1cf82b968b116ccd7b959e3323144cce7fb141462200971c38bbf2ecca51695069db45265705bed09a7cd93ae5b89f94
+ languageName: node
+ linkType: hard
+
+"fs.realpath@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "fs.realpath@npm:1.0.0"
+ checksum: 10c0/444cf1291d997165dfd4c0d58b69f0e4782bfd9149fd72faa4fe299e68e0e93d6db941660b37dd29153bf7186672ececa3b50b7e7249477b03fdf850f287c948
+ languageName: node
+ linkType: hard
+
+"fsevents@npm:^2.3.2, fsevents@npm:~2.3.2":
+ version: 2.3.2
+ resolution: "fsevents@npm:2.3.2"
+ dependencies:
+ node-gyp: "npm:latest"
+ checksum: 10c0/be78a3efa3e181cda3cf7a4637cb527bcebb0bd0ea0440105a3bb45b86f9245b307dc10a2507e8f4498a7d4ec349d1910f4d73e4d4495b16103106e07eee735b
+ conditions: os=darwin
+ languageName: node
+ linkType: hard
+
+"fsevents@patch:fsevents@npm%3A^2.3.2#optional!builtin, fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin":
+ version: 2.3.2
+ resolution: "fsevents@patch:fsevents@npm%3A2.3.2#optional!builtin::version=2.3.2&hash=df0bf1"
+ dependencies:
+ node-gyp: "npm:latest"
+ conditions: os=darwin
+ languageName: node
+ linkType: hard
+
+"function-bind@npm:^1.1.1":
+ version: 1.1.1
+ resolution: "function-bind@npm:1.1.1"
+ checksum: 10c0/60b74b2407e1942e1ed7f8c284f8ef714d0689dcfce5319985a5b7da3fc727f40b4a59ec72dc55aa83365ad7b8fa4fac3a30d93c850a2b452f29ae03dbc10a1e
+ languageName: node
+ linkType: hard
+
+"gensync@npm:^1.0.0-beta.2":
+ version: 1.0.0-beta.2
+ resolution: "gensync@npm:1.0.0-beta.2"
+ checksum: 10c0/782aba6cba65b1bb5af3b095d96249d20edbe8df32dbf4696fd49be2583faf676173bf4809386588828e4dd76a3354fcbeb577bab1c833ccd9fc4577f26103f8
+ languageName: node
+ linkType: hard
+
+"get-caller-file@npm:^2.0.5":
+ version: 2.0.5
+ resolution: "get-caller-file@npm:2.0.5"
+ checksum: 10c0/c6c7b60271931fa752aeb92f2b47e355eac1af3a2673f47c9589e8f8a41adc74d45551c1bc57b5e66a80609f10ffb72b6f575e4370d61cc3f7f3aaff01757cde
+ languageName: node
+ linkType: hard
+
+"get-package-type@npm:^0.1.0":
+ version: 0.1.0
+ resolution: "get-package-type@npm:0.1.0"
+ checksum: 10c0/e34cdf447fdf1902a1f6d5af737eaadf606d2ee3518287abde8910e04159368c268568174b2e71102b87b26c2020486f126bfca9c4fb1ceb986ff99b52ecd1be
+ languageName: node
+ linkType: hard
+
+"get-stream@npm:^6.0.0":
+ version: 6.0.1
+ resolution: "get-stream@npm:6.0.1"
+ checksum: 10c0/49825d57d3fd6964228e6200a58169464b8e8970489b3acdc24906c782fb7f01f9f56f8e6653c4a50713771d6658f7cfe051e5eb8c12e334138c9c918b296341
+ languageName: node
+ linkType: hard
+
+"glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.2":
+ version: 5.1.2
+ resolution: "glob-parent@npm:5.1.2"
+ dependencies:
+ is-glob: "npm:^4.0.1"
+ checksum: 10c0/cab87638e2112bee3f839ef5f6e0765057163d39c66be8ec1602f3823da4692297ad4e972de876ea17c44d652978638d2fd583c6713d0eb6591706825020c9ee
+ languageName: node
+ linkType: hard
+
+"glob@npm:^10.2.2, glob@npm:^10.3.10":
+ version: 10.4.5
+ resolution: "glob@npm:10.4.5"
+ dependencies:
+ foreground-child: "npm:^3.1.0"
+ jackspeak: "npm:^3.1.2"
+ minimatch: "npm:^9.0.4"
+ minipass: "npm:^7.1.2"
+ package-json-from-dist: "npm:^1.0.0"
+ path-scurry: "npm:^1.11.1"
+ bin:
+ glob: dist/esm/bin.mjs
+ checksum: 10c0/19a9759ea77b8e3ca0a43c2f07ecddc2ad46216b786bb8f993c445aee80d345925a21e5280c7b7c6c59e860a0154b84e4b2b60321fea92cd3c56b4a7489f160e
+ languageName: node
+ linkType: hard
+
+"glob@npm:^7.1.3, glob@npm:^7.1.4":
+ version: 7.2.3
+ resolution: "glob@npm:7.2.3"
+ dependencies:
+ fs.realpath: "npm:^1.0.0"
+ inflight: "npm:^1.0.4"
+ inherits: "npm:2"
+ minimatch: "npm:^3.1.1"
+ once: "npm:^1.3.0"
+ path-is-absolute: "npm:^1.0.0"
+ checksum: 10c0/65676153e2b0c9095100fe7f25a778bf45608eeb32c6048cf307f579649bcc30353277b3b898a3792602c65764e5baa4f643714dfbdfd64ea271d210c7a425fe
+ languageName: node
+ linkType: hard
+
+"globals@npm:^11.1.0":
+ version: 11.12.0
+ resolution: "globals@npm:11.12.0"
+ checksum: 10c0/758f9f258e7b19226bd8d4af5d3b0dcf7038780fb23d82e6f98932c44e239f884847f1766e8fa9cc5635ccb3204f7fa7314d4408dd4002a5e8ea827b4018f0a1
+ languageName: node
+ linkType: hard
+
+"graceful-fs@npm:^4.2.6":
+ version: 4.2.11
+ resolution: "graceful-fs@npm:4.2.11"
+ checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2
+ languageName: node
+ linkType: hard
+
+"graceful-fs@npm:^4.2.9":
+ version: 4.2.10
+ resolution: "graceful-fs@npm:4.2.10"
+ checksum: 10c0/4223a833e38e1d0d2aea630c2433cfb94ddc07dfc11d511dbd6be1d16688c5be848acc31f9a5d0d0ddbfb56d2ee5a6ae0278aceeb0ca6a13f27e06b9956fb952
+ languageName: node
+ linkType: hard
+
+"has-flag@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "has-flag@npm:3.0.0"
+ checksum: 10c0/1c6c83b14b8b1b3c25b0727b8ba3e3b647f99e9e6e13eb7322107261de07a4c1be56fc0d45678fc376e09772a3a1642ccdaf8fc69bdf123b6c086598397ce473
+ languageName: node
+ linkType: hard
+
+"has-flag@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "has-flag@npm:4.0.0"
+ checksum: 10c0/2e789c61b7888d66993e14e8331449e525ef42aac53c627cc53d1c3334e768bcb6abdc4f5f0de1478a25beec6f0bd62c7549058b7ac53e924040d4f301f02fd1
+ languageName: node
+ linkType: hard
+
+"has@npm:^1.0.3":
+ version: 1.0.3
+ resolution: "has@npm:1.0.3"
+ dependencies:
+ function-bind: "npm:^1.1.1"
+ checksum: 10c0/e1da0d2bd109f116b632f27782cf23182b42f14972ca9540e4c5aa7e52647407a0a4a76937334fddcb56befe94a3494825ec22b19b51f5e5507c3153fd1a5e1b
+ languageName: node
+ linkType: hard
+
+"html-escaper@npm:^2.0.0":
+ version: 2.0.2
+ resolution: "html-escaper@npm:2.0.2"
+ checksum: 10c0/208e8a12de1a6569edbb14544f4567e6ce8ecc30b9394fcaa4e7bb1e60c12a7c9a1ed27e31290817157e8626f3a4f29e76c8747030822eb84a6abb15c255f0a0
+ languageName: node
+ linkType: hard
+
+"http-cache-semantics@npm:^4.1.1":
+ version: 4.1.1
+ resolution: "http-cache-semantics@npm:4.1.1"
+ checksum: 10c0/ce1319b8a382eb3cbb4a37c19f6bfe14e5bb5be3d09079e885e8c513ab2d3cd9214902f8a31c9dc4e37022633ceabfc2d697405deeaf1b8f3552bb4ed996fdfc
+ languageName: node
+ linkType: hard
+
+"http-proxy-agent@npm:^7.0.0":
+ version: 7.0.2
+ resolution: "http-proxy-agent@npm:7.0.2"
+ dependencies:
+ agent-base: "npm:^7.1.0"
+ debug: "npm:^4.3.4"
+ checksum: 10c0/4207b06a4580fb85dd6dff521f0abf6db517489e70863dca1a0291daa7f2d3d2d6015a57bd702af068ea5cf9f1f6ff72314f5f5b4228d299c0904135d2aef921
+ languageName: node
+ linkType: hard
+
+"https-proxy-agent@npm:^7.0.1":
+ version: 7.0.5
+ resolution: "https-proxy-agent@npm:7.0.5"
+ dependencies:
+ agent-base: "npm:^7.0.2"
+ debug: "npm:4"
+ checksum: 10c0/2490e3acec397abeb88807db52cac59102d5ed758feee6df6112ab3ccd8325e8a1ce8bce6f4b66e5470eca102d31e425ace904242e4fa28dbe0c59c4bafa7b2c
+ languageName: node
+ linkType: hard
+
+"human-signals@npm:^2.1.0":
+ version: 2.1.0
+ resolution: "human-signals@npm:2.1.0"
+ checksum: 10c0/695edb3edfcfe9c8b52a76926cd31b36978782062c0ed9b1192b36bebc75c4c87c82e178dfcb0ed0fc27ca59d434198aac0bd0be18f5781ded775604db22304a
+ languageName: node
+ linkType: hard
+
+"iconv-lite@npm:^0.6.2":
+ version: 0.6.3
+ resolution: "iconv-lite@npm:0.6.3"
+ dependencies:
+ safer-buffer: "npm:>= 2.1.2 < 3.0.0"
+ checksum: 10c0/98102bc66b33fcf5ac044099d1257ba0b7ad5e3ccd3221f34dd508ab4070edff183276221684e1e0555b145fce0850c9f7d2b60a9fcac50fbb4ea0d6e845a3b1
+ languageName: node
+ linkType: hard
+
+"immutable@npm:^4.0.0":
+ version: 4.2.1
+ resolution: "immutable@npm:4.2.1"
+ checksum: 10c0/27b29dbbd5ca722a973c688c0ad91f2d09ea12058ff763045730abf12e20b6171da45379722c0bfb0220103a535244fbff9030fe73854eb22f017526643b1cc0
+ languageName: node
+ linkType: hard
+
+"import-local@npm:^3.0.2":
+ version: 3.1.0
+ resolution: "import-local@npm:3.1.0"
+ dependencies:
+ pkg-dir: "npm:^4.2.0"
+ resolve-cwd: "npm:^3.0.0"
+ bin:
+ import-local-fixture: fixtures/cli.js
+ checksum: 10c0/c67ecea72f775fe8684ca3d057e54bdb2ae28c14bf261d2607c269c18ea0da7b730924c06262eca9aed4b8ab31e31d65bc60b50e7296c85908a56e2f7d41ecd2
+ languageName: node
+ linkType: hard
+
+"imurmurhash@npm:^0.1.4":
+ version: 0.1.4
+ resolution: "imurmurhash@npm:0.1.4"
+ checksum: 10c0/8b51313850dd33605c6c9d3fd9638b714f4c4c40250cff658209f30d40da60f78992fb2df5dabee4acf589a6a82bbc79ad5486550754bd9ec4e3fc0d4a57d6a6
+ languageName: node
+ linkType: hard
+
+"indent-string@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "indent-string@npm:4.0.0"
+ checksum: 10c0/1e1904ddb0cb3d6cce7cd09e27a90184908b7a5d5c21b92e232c93579d314f0b83c246ffb035493d0504b1e9147ba2c9b21df0030f48673fba0496ecd698161f
+ languageName: node
+ linkType: hard
+
+"inflight@npm:^1.0.4":
+ version: 1.0.6
+ resolution: "inflight@npm:1.0.6"
+ dependencies:
+ once: "npm:^1.3.0"
+ wrappy: "npm:1"
+ checksum: 10c0/7faca22584600a9dc5b9fca2cd5feb7135ac8c935449837b315676b4c90aa4f391ec4f42240178244b5a34e8bede1948627fda392ca3191522fc46b34e985ab2
+ languageName: node
+ linkType: hard
+
+"inherits@npm:2, inherits@npm:^2.0.4":
+ version: 2.0.4
+ resolution: "inherits@npm:2.0.4"
+ checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2
+ languageName: node
+ linkType: hard
+
+"ip-address@npm:^9.0.5":
+ version: 9.0.5
+ resolution: "ip-address@npm:9.0.5"
+ dependencies:
+ jsbn: "npm:1.1.0"
+ sprintf-js: "npm:^1.1.3"
+ checksum: 10c0/331cd07fafcb3b24100613e4b53e1a2b4feab11e671e655d46dc09ee233da5011284d09ca40c4ecbdfe1d0004f462958675c224a804259f2f78d2465a87824bc
+ languageName: node
+ linkType: hard
+
+"is-arrayish@npm:^0.2.1":
+ version: 0.2.1
+ resolution: "is-arrayish@npm:0.2.1"
+ checksum: 10c0/e7fb686a739068bb70f860b39b67afc62acc62e36bb61c5f965768abce1873b379c563e61dd2adad96ebb7edf6651111b385e490cf508378959b0ed4cac4e729
+ languageName: node
+ linkType: hard
+
+"is-binary-path@npm:~2.1.0":
+ version: 2.1.0
+ resolution: "is-binary-path@npm:2.1.0"
+ dependencies:
+ binary-extensions: "npm:^2.0.0"
+ checksum: 10c0/a16eaee59ae2b315ba36fad5c5dcaf8e49c3e27318f8ab8fa3cdb8772bf559c8d1ba750a589c2ccb096113bb64497084361a25960899cb6172a6925ab6123d38
+ languageName: node
+ linkType: hard
+
+"is-core-module@npm:^2.9.0":
+ version: 2.11.0
+ resolution: "is-core-module@npm:2.11.0"
+ dependencies:
+ has: "npm:^1.0.3"
+ checksum: 10c0/fd8f78ef4e243c295deafa809f89381d89aff5aaf38bb63266b17ee6e34b6a051baa5bdc2365456863336d56af6a59a4c1df1256b4eff7d6b4afac618586b004
+ languageName: node
+ linkType: hard
+
+"is-extglob@npm:^2.1.1":
+ version: 2.1.1
+ resolution: "is-extglob@npm:2.1.1"
+ checksum: 10c0/5487da35691fbc339700bbb2730430b07777a3c21b9ebaecb3072512dfd7b4ba78ac2381a87e8d78d20ea08affb3f1971b4af629173a6bf435ff8a4c47747912
+ languageName: node
+ linkType: hard
+
+"is-fullwidth-code-point@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "is-fullwidth-code-point@npm:3.0.0"
+ checksum: 10c0/bb11d825e049f38e04c06373a8d72782eee0205bda9d908cc550ccb3c59b99d750ff9537982e01733c1c94a58e35400661f57042158ff5e8f3e90cf936daf0fc
+ languageName: node
+ linkType: hard
+
+"is-generator-fn@npm:^2.0.0":
+ version: 2.1.0
+ resolution: "is-generator-fn@npm:2.1.0"
+ checksum: 10c0/2957cab387997a466cd0bf5c1b6047bd21ecb32bdcfd8996b15747aa01002c1c88731802f1b3d34ac99f4f6874b626418bd118658cf39380fe5fff32a3af9c4d
+ languageName: node
+ linkType: hard
+
+"is-glob@npm:^4.0.1, is-glob@npm:~4.0.1":
+ version: 4.0.3
+ resolution: "is-glob@npm:4.0.3"
+ dependencies:
+ is-extglob: "npm:^2.1.1"
+ checksum: 10c0/17fb4014e22be3bbecea9b2e3a76e9e34ff645466be702f1693e8f1ee1adac84710d0be0bd9f967d6354036fd51ab7c2741d954d6e91dae6bb69714de92c197a
+ languageName: node
+ linkType: hard
+
+"is-lambda@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "is-lambda@npm:1.0.1"
+ checksum: 10c0/85fee098ae62ba6f1e24cf22678805473c7afd0fb3978a3aa260e354cb7bcb3a5806cf0a98403188465efedec41ab4348e8e4e79305d409601323855b3839d4d
+ languageName: node
+ linkType: hard
+
+"is-number@npm:^7.0.0":
+ version: 7.0.0
+ resolution: "is-number@npm:7.0.0"
+ checksum: 10c0/b4686d0d3053146095ccd45346461bc8e53b80aeb7671cc52a4de02dbbf7dc0d1d2a986e2fe4ae206984b4d34ef37e8b795ebc4f4295c978373e6575e295d811
+ languageName: node
+ linkType: hard
+
+"is-stream@npm:^2.0.0":
+ version: 2.0.1
+ resolution: "is-stream@npm:2.0.1"
+ checksum: 10c0/7c284241313fc6efc329b8d7f08e16c0efeb6baab1b4cd0ba579eb78e5af1aa5da11e68559896a2067cd6c526bd29241dda4eb1225e627d5aa1a89a76d4635a5
+ languageName: node
+ linkType: hard
+
+"isexe@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "isexe@npm:2.0.0"
+ checksum: 10c0/228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d
+ languageName: node
+ linkType: hard
+
+"isexe@npm:^3.1.1":
+ version: 3.1.1
+ resolution: "isexe@npm:3.1.1"
+ checksum: 10c0/9ec257654093443eb0a528a9c8cbba9c0ca7616ccb40abd6dde7202734d96bb86e4ac0d764f0f8cd965856aacbff2f4ce23e730dc19dfb41e3b0d865ca6fdcc7
+ languageName: node
+ linkType: hard
+
+"istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.0":
+ version: 3.2.0
+ resolution: "istanbul-lib-coverage@npm:3.2.0"
+ checksum: 10c0/10ecb00a50cac2f506af8231ce523ffa1ac1310db0435c8ffaabb50c1d72539906583aa13c84f8835dc103998b9989edc3c1de989d2e2a96a91a9ba44e5db6b9
+ languageName: node
+ linkType: hard
+
+"istanbul-lib-instrument@npm:^5.0.4, istanbul-lib-instrument@npm:^5.1.0":
+ version: 5.2.1
+ resolution: "istanbul-lib-instrument@npm:5.2.1"
+ dependencies:
+ "@babel/core": "npm:^7.12.3"
+ "@babel/parser": "npm:^7.14.7"
+ "@istanbuljs/schema": "npm:^0.1.2"
+ istanbul-lib-coverage: "npm:^3.2.0"
+ semver: "npm:^6.3.0"
+ checksum: 10c0/8a1bdf3e377dcc0d33ec32fe2b6ecacdb1e4358fd0eb923d4326bb11c67622c0ceb99600a680f3dad5d29c66fc1991306081e339b4d43d0b8a2ab2e1d910a6ee
+ languageName: node
+ linkType: hard
+
+"istanbul-lib-report@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "istanbul-lib-report@npm:3.0.0"
+ dependencies:
+ istanbul-lib-coverage: "npm:^3.0.0"
+ make-dir: "npm:^3.0.0"
+ supports-color: "npm:^7.1.0"
+ checksum: 10c0/81b0d5187c7603ed71bdea0b701a7329f8146549ca19aa26d91b4a163aea756f9d55c1a6dc1dcd087e24dfcb99baa69e266a68644fbfd5dc98107d6f6f5948d2
+ languageName: node
+ linkType: hard
+
+"istanbul-lib-source-maps@npm:^4.0.0":
+ version: 4.0.1
+ resolution: "istanbul-lib-source-maps@npm:4.0.1"
+ dependencies:
+ debug: "npm:^4.1.1"
+ istanbul-lib-coverage: "npm:^3.0.0"
+ source-map: "npm:^0.6.1"
+ checksum: 10c0/19e4cc405016f2c906dff271a76715b3e881fa9faeb3f09a86cb99b8512b3a5ed19cadfe0b54c17ca0e54c1142c9c6de9330d65506e35873994e06634eebeb66
+ languageName: node
+ linkType: hard
+
+"istanbul-reports@npm:^3.1.3":
+ version: 3.1.5
+ resolution: "istanbul-reports@npm:3.1.5"
+ dependencies:
+ html-escaper: "npm:^2.0.0"
+ istanbul-lib-report: "npm:^3.0.0"
+ checksum: 10c0/3a147171bffdbd3034856410b6ec81637871d17d10986513328fec23df6b666f66bd08ea480f5b7a5b9f7e8abc30f3e3c2e7d1b661fc57cdc479aaaa677b1011
+ languageName: node
+ linkType: hard
+
+"jackspeak@npm:^3.1.2":
+ version: 3.4.3
+ resolution: "jackspeak@npm:3.4.3"
+ dependencies:
+ "@isaacs/cliui": "npm:^8.0.2"
+ "@pkgjs/parseargs": "npm:^0.11.0"
+ dependenciesMeta:
+ "@pkgjs/parseargs":
+ optional: true
+ checksum: 10c0/6acc10d139eaefdbe04d2f679e6191b3abf073f111edf10b1de5302c97ec93fffeb2fdd8681ed17f16268aa9dd4f8c588ed9d1d3bffbbfa6e8bf897cbb3149b9
+ languageName: node
+ linkType: hard
+
+"jest-changed-files@npm:^29.2.0":
+ version: 29.2.0
+ resolution: "jest-changed-files@npm:29.2.0"
+ dependencies:
+ execa: "npm:^5.0.0"
+ p-limit: "npm:^3.1.0"
+ checksum: 10c0/2d3ed094ff26e6c3d5151d3bc6314c352c96f2070a3c92278711a214eeae2a6f931d619843f9e3a796c066a2ad1a7cc22f30f9e21c8bbde2fbaddbd10a64f8b8
+ languageName: node
+ linkType: hard
+
+"jest-circus@npm:^29.3.1":
+ version: 29.3.1
+ resolution: "jest-circus@npm:29.3.1"
+ dependencies:
+ "@jest/environment": "npm:^29.3.1"
+ "@jest/expect": "npm:^29.3.1"
+ "@jest/test-result": "npm:^29.3.1"
+ "@jest/types": "npm:^29.3.1"
+ "@types/node": "npm:*"
+ chalk: "npm:^4.0.0"
+ co: "npm:^4.6.0"
+ dedent: "npm:^0.7.0"
+ is-generator-fn: "npm:^2.0.0"
+ jest-each: "npm:^29.3.1"
+ jest-matcher-utils: "npm:^29.3.1"
+ jest-message-util: "npm:^29.3.1"
+ jest-runtime: "npm:^29.3.1"
+ jest-snapshot: "npm:^29.3.1"
+ jest-util: "npm:^29.3.1"
+ p-limit: "npm:^3.1.0"
+ pretty-format: "npm:^29.3.1"
+ slash: "npm:^3.0.0"
+ stack-utils: "npm:^2.0.3"
+ checksum: 10c0/01f706a16b2a89fc1af2df984c4bae5286a2540f0ddc3a252c165825161a3c234c11d85d73856693ac3a5789d199fe6574899323cad1b0905a23e4a8a1af5a56
+ languageName: node
+ linkType: hard
+
+"jest-cli@npm:^29.3.1":
+ version: 29.3.1
+ resolution: "jest-cli@npm:29.3.1"
+ dependencies:
+ "@jest/core": "npm:^29.3.1"
+ "@jest/test-result": "npm:^29.3.1"
+ "@jest/types": "npm:^29.3.1"
+ chalk: "npm:^4.0.0"
+ exit: "npm:^0.1.2"
+ graceful-fs: "npm:^4.2.9"
+ import-local: "npm:^3.0.2"
+ jest-config: "npm:^29.3.1"
+ jest-util: "npm:^29.3.1"
+ jest-validate: "npm:^29.3.1"
+ prompts: "npm:^2.0.1"
+ yargs: "npm:^17.3.1"
+ peerDependencies:
+ node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
+ peerDependenciesMeta:
+ node-notifier:
+ optional: true
+ bin:
+ jest: bin/jest.js
+ checksum: 10c0/df1beb004be8913bcabe536b3071ec6568524b8d94ba480423ad4c89c03660163a54615c0e6e557a7894b24ea2c68bf556ee1af06f2cbf5e4e0c9ac6ae223b90
+ languageName: node
+ linkType: hard
+
+"jest-config@npm:^29.3.1":
+ version: 29.3.1
+ resolution: "jest-config@npm:29.3.1"
+ dependencies:
+ "@babel/core": "npm:^7.11.6"
+ "@jest/test-sequencer": "npm:^29.3.1"
+ "@jest/types": "npm:^29.3.1"
+ babel-jest: "npm:^29.3.1"
+ chalk: "npm:^4.0.0"
+ ci-info: "npm:^3.2.0"
+ deepmerge: "npm:^4.2.2"
+ glob: "npm:^7.1.3"
+ graceful-fs: "npm:^4.2.9"
+ jest-circus: "npm:^29.3.1"
+ jest-environment-node: "npm:^29.3.1"
+ jest-get-type: "npm:^29.2.0"
+ jest-regex-util: "npm:^29.2.0"
+ jest-resolve: "npm:^29.3.1"
+ jest-runner: "npm:^29.3.1"
+ jest-util: "npm:^29.3.1"
+ jest-validate: "npm:^29.3.1"
+ micromatch: "npm:^4.0.4"
+ parse-json: "npm:^5.2.0"
+ pretty-format: "npm:^29.3.1"
+ slash: "npm:^3.0.0"
+ strip-json-comments: "npm:^3.1.1"
+ peerDependencies:
+ "@types/node": "*"
+ ts-node: ">=9.0.0"
+ peerDependenciesMeta:
+ "@types/node":
+ optional: true
+ ts-node:
+ optional: true
+ checksum: 10c0/395f9057cc93e59ea433901c1edc9660eb18e3543c214f4064e2be6e193f8e3db452995d91267fc21b6e53ab85b4f6fbb94db31c5543ec5db1c6dc44b157f950
+ languageName: node
+ linkType: hard
+
+"jest-diff@npm:^29.3.1":
+ version: 29.3.1
+ resolution: "jest-diff@npm:29.3.1"
+ dependencies:
+ chalk: "npm:^4.0.0"
+ diff-sequences: "npm:^29.3.1"
+ jest-get-type: "npm:^29.2.0"
+ pretty-format: "npm:^29.3.1"
+ checksum: 10c0/6bbe1fc91f9e7351e995f725029d984392fd0fe2374e64953c2b38a8d857f93b845fcf5d9421cccf2be077f651374f6b7ca6c5970687b2b6521452c15c1e3286
+ languageName: node
+ linkType: hard
+
+"jest-docblock@npm:^29.2.0":
+ version: 29.2.0
+ resolution: "jest-docblock@npm:29.2.0"
+ dependencies:
+ detect-newline: "npm:^3.0.0"
+ checksum: 10c0/2e5ac2ce86475afa4b0f15fa388206f187d936d0612e45ad29e0aa18158ee951c1d83b1f1ec7deee535f7afa80dbbc875d79398879703045a262dbf8344280de
+ languageName: node
+ linkType: hard
+
+"jest-each@npm:^29.3.1":
+ version: 29.3.1
+ resolution: "jest-each@npm:29.3.1"
+ dependencies:
+ "@jest/types": "npm:^29.3.1"
+ chalk: "npm:^4.0.0"
+ jest-get-type: "npm:^29.2.0"
+ jest-util: "npm:^29.3.1"
+ pretty-format: "npm:^29.3.1"
+ checksum: 10c0/c40262f290cf396406289d1a3884a02048b155e3d55da061f0b5d32b385cc6030799c88998733392335dd69c78da8aa6bed82399f5e8db642f5ef9e370425fc3
+ languageName: node
+ linkType: hard
+
+"jest-environment-node-single-context@npm:^29.0.0":
+ version: 29.0.0
+ resolution: "jest-environment-node-single-context@npm:29.0.0"
+ dependencies:
+ jest-environment-node: "npm:^29.0.1"
+ checksum: 10c0/e041082d0a91693b2159abcf749d25bcd168d84e6b4d82eca063fde7f2988ef654b369850dbef07cb681a3fd0cd42c5a9ffa8e0967faaca854f78b190be0d52a
+ languageName: node
+ linkType: hard
+
+"jest-environment-node@npm:^29.0.1, jest-environment-node@npm:^29.3.1":
+ version: 29.3.1
+ resolution: "jest-environment-node@npm:29.3.1"
+ dependencies:
+ "@jest/environment": "npm:^29.3.1"
+ "@jest/fake-timers": "npm:^29.3.1"
+ "@jest/types": "npm:^29.3.1"
+ "@types/node": "npm:*"
+ jest-mock: "npm:^29.3.1"
+ jest-util: "npm:^29.3.1"
+ checksum: 10c0/b74e1ed332eaab4a15384ddfceb340867aa98cc2c4387d8001fe13087a3586e91f89c79f830f3f4a72547c08283b030cc4267d1a91456ab69b9e29602773b280
+ languageName: node
+ linkType: hard
+
+"jest-get-type@npm:^29.2.0":
+ version: 29.2.0
+ resolution: "jest-get-type@npm:29.2.0"
+ checksum: 10c0/6466631b344ff8e9d3fa6a47bafa4fc2baf42ec8b4f5de5c99fa1edda128af869da319af4cf770662776e4ed7a3e44656eba690cf5b662c664605b0331762bc7
+ languageName: node
+ linkType: hard
+
+"jest-haste-map@npm:^29.3.1":
+ version: 29.3.1
+ resolution: "jest-haste-map@npm:29.3.1"
+ dependencies:
+ "@jest/types": "npm:^29.3.1"
+ "@types/graceful-fs": "npm:^4.1.3"
+ "@types/node": "npm:*"
+ anymatch: "npm:^3.0.3"
+ fb-watchman: "npm:^2.0.0"
+ fsevents: "npm:^2.3.2"
+ graceful-fs: "npm:^4.2.9"
+ jest-regex-util: "npm:^29.2.0"
+ jest-util: "npm:^29.3.1"
+ jest-worker: "npm:^29.3.1"
+ micromatch: "npm:^4.0.4"
+ walker: "npm:^1.0.8"
+ dependenciesMeta:
+ fsevents:
+ optional: true
+ checksum: 10c0/9f1309a727cf91ac15e329ce8f266c289bc9df4ccf1577f2187cd90ef6dbe4d7e2872432e5a8054a500340458e8c0a03f12a50e415cf305720dbd1e229531e08
+ languageName: node
+ linkType: hard
+
+"jest-leak-detector@npm:^29.3.1":
+ version: 29.3.1
+ resolution: "jest-leak-detector@npm:29.3.1"
+ dependencies:
+ jest-get-type: "npm:^29.2.0"
+ pretty-format: "npm:^29.3.1"
+ checksum: 10c0/d9d6e107a49cf44d748936a60a3190175b76e5d9aabd9c40c0196dafa8941fd6cb3ef60e57a85f65f5ce466d28b14ad7fceea83f81ec1e8769ae9cde5ceb901a
+ languageName: node
+ linkType: hard
+
+"jest-matcher-utils@npm:^29.3.1":
+ version: 29.3.1
+ resolution: "jest-matcher-utils@npm:29.3.1"
+ dependencies:
+ chalk: "npm:^4.0.0"
+ jest-diff: "npm:^29.3.1"
+ jest-get-type: "npm:^29.2.0"
+ pretty-format: "npm:^29.3.1"
+ checksum: 10c0/4efdcc2fa33a403285e26521f795c9c7ad537a30e5b4183a8d97fd9f05251107ef2ef1397dbb420a2517fa91606655cb1103a0c60a52b1f003d928dbea3963e3
+ languageName: node
+ linkType: hard
+
+"jest-message-util@npm:^29.3.1":
+ version: 29.3.1
+ resolution: "jest-message-util@npm:29.3.1"
+ dependencies:
+ "@babel/code-frame": "npm:^7.12.13"
+ "@jest/types": "npm:^29.3.1"
+ "@types/stack-utils": "npm:^2.0.0"
+ chalk: "npm:^4.0.0"
+ graceful-fs: "npm:^4.2.9"
+ micromatch: "npm:^4.0.4"
+ pretty-format: "npm:^29.3.1"
+ slash: "npm:^3.0.0"
+ stack-utils: "npm:^2.0.3"
+ checksum: 10c0/09291af22383d14a6ac0e4faea6382e07e38a89b67985ac48fd4604037572c847021d471f11f1866fd696875218996740a10a176acc26fbe072e4394d52129e0
+ languageName: node
+ linkType: hard
+
+"jest-mock@npm:^29.3.1":
+ version: 29.3.1
+ resolution: "jest-mock@npm:29.3.1"
+ dependencies:
+ "@jest/types": "npm:^29.3.1"
+ "@types/node": "npm:*"
+ jest-util: "npm:^29.3.1"
+ checksum: 10c0/d36a54364721e80a95f9af43358e25513d6f052a53b6625bd5238948d9d297ea3c180893cedbcc9e68c1e7b2e9326ac6ae08195b9c0578692a278323fe493ae4
+ languageName: node
+ linkType: hard
+
+"jest-pnp-resolver@npm:^1.2.2":
+ version: 1.2.3
+ resolution: "jest-pnp-resolver@npm:1.2.3"
+ peerDependencies:
+ jest-resolve: "*"
+ peerDependenciesMeta:
+ jest-resolve:
+ optional: true
+ checksum: 10c0/86eec0c78449a2de733a6d3e316d49461af6a858070e113c97f75fb742a48c2396ea94150cbca44159ffd4a959f743a47a8b37a792ef6fdad2cf0a5cba973fac
+ languageName: node
+ linkType: hard
+
+"jest-regex-util@npm:^29.2.0":
+ version: 29.2.0
+ resolution: "jest-regex-util@npm:29.2.0"
+ checksum: 10c0/7e500f4f6fcbf5f46d284e83c9ade2e47707ee51e90d82e531fe10de05924a13dff89280d7184f1050129a070ce6db6336b41e2fd3bd07b8c32a91e8235f9840
+ languageName: node
+ linkType: hard
+
+"jest-resolve-dependencies@npm:^29.3.1":
+ version: 29.3.1
+ resolution: "jest-resolve-dependencies@npm:29.3.1"
+ dependencies:
+ jest-regex-util: "npm:^29.2.0"
+ jest-snapshot: "npm:^29.3.1"
+ checksum: 10c0/93c23ac52ec60bc7c5f672acc19dbed113bf152f36f416e59c6f5cf94266349aeb963657dfd7bddcf29eee4c7151aa8a8b4856e47ee07afda56c02fdea0e19cf
+ languageName: node
+ linkType: hard
+
+"jest-resolve@npm:^29.3.1":
+ version: 29.3.1
+ resolution: "jest-resolve@npm:29.3.1"
+ dependencies:
+ chalk: "npm:^4.0.0"
+ graceful-fs: "npm:^4.2.9"
+ jest-haste-map: "npm:^29.3.1"
+ jest-pnp-resolver: "npm:^1.2.2"
+ jest-util: "npm:^29.3.1"
+ jest-validate: "npm:^29.3.1"
+ resolve: "npm:^1.20.0"
+ resolve.exports: "npm:^1.1.0"
+ slash: "npm:^3.0.0"
+ checksum: 10c0/61aca0adae54fa62262f31e98ee5c8be19a9704d3c5684604a8308fa724b4dca54dd82be2d68307d7e95153dbdb459c19bab57fdc8a26da96d966823e97d4d1e
+ languageName: node
+ linkType: hard
+
+"jest-runner@npm:^29.3.1":
+ version: 29.3.1
+ resolution: "jest-runner@npm:29.3.1"
+ dependencies:
+ "@jest/console": "npm:^29.3.1"
+ "@jest/environment": "npm:^29.3.1"
+ "@jest/test-result": "npm:^29.3.1"
+ "@jest/transform": "npm:^29.3.1"
+ "@jest/types": "npm:^29.3.1"
+ "@types/node": "npm:*"
+ chalk: "npm:^4.0.0"
+ emittery: "npm:^0.13.1"
+ graceful-fs: "npm:^4.2.9"
+ jest-docblock: "npm:^29.2.0"
+ jest-environment-node: "npm:^29.3.1"
+ jest-haste-map: "npm:^29.3.1"
+ jest-leak-detector: "npm:^29.3.1"
+ jest-message-util: "npm:^29.3.1"
+ jest-resolve: "npm:^29.3.1"
+ jest-runtime: "npm:^29.3.1"
+ jest-util: "npm:^29.3.1"
+ jest-watcher: "npm:^29.3.1"
+ jest-worker: "npm:^29.3.1"
+ p-limit: "npm:^3.1.0"
+ source-map-support: "npm:0.5.13"
+ checksum: 10c0/ba1edbf662cd5a8b63a0b58842a6daa3e1fbb98dd30bdd1636ec0662c460b49fd3bd6d0851c5b6a899c952b7cffb649ba7d2b25cabcfe9097efbde49123a1694
+ languageName: node
+ linkType: hard
+
+"jest-runtime@npm:^29.3.1":
+ version: 29.3.1
+ resolution: "jest-runtime@npm:29.3.1"
+ dependencies:
+ "@jest/environment": "npm:^29.3.1"
+ "@jest/fake-timers": "npm:^29.3.1"
+ "@jest/globals": "npm:^29.3.1"
+ "@jest/source-map": "npm:^29.2.0"
+ "@jest/test-result": "npm:^29.3.1"
+ "@jest/transform": "npm:^29.3.1"
+ "@jest/types": "npm:^29.3.1"
+ "@types/node": "npm:*"
+ chalk: "npm:^4.0.0"
+ cjs-module-lexer: "npm:^1.0.0"
+ collect-v8-coverage: "npm:^1.0.0"
+ glob: "npm:^7.1.3"
+ graceful-fs: "npm:^4.2.9"
+ jest-haste-map: "npm:^29.3.1"
+ jest-message-util: "npm:^29.3.1"
+ jest-mock: "npm:^29.3.1"
+ jest-regex-util: "npm:^29.2.0"
+ jest-resolve: "npm:^29.3.1"
+ jest-snapshot: "npm:^29.3.1"
+ jest-util: "npm:^29.3.1"
+ slash: "npm:^3.0.0"
+ strip-bom: "npm:^4.0.0"
+ checksum: 10c0/585cfbfc45280c673ff4137f432f7713284d976a7b769a0a2b520527a93bc15ee59e166255fcbc518387f073019d05eff3b373e33e8d94117ffc98d8ec700ff0
+ languageName: node
+ linkType: hard
+
+"jest-snapshot@npm:^29.3.1":
+ version: 29.3.1
+ resolution: "jest-snapshot@npm:29.3.1"
+ dependencies:
+ "@babel/core": "npm:^7.11.6"
+ "@babel/generator": "npm:^7.7.2"
+ "@babel/plugin-syntax-jsx": "npm:^7.7.2"
+ "@babel/plugin-syntax-typescript": "npm:^7.7.2"
+ "@babel/traverse": "npm:^7.7.2"
+ "@babel/types": "npm:^7.3.3"
+ "@jest/expect-utils": "npm:^29.3.1"
+ "@jest/transform": "npm:^29.3.1"
+ "@jest/types": "npm:^29.3.1"
+ "@types/babel__traverse": "npm:^7.0.6"
+ "@types/prettier": "npm:^2.1.5"
+ babel-preset-current-node-syntax: "npm:^1.0.0"
+ chalk: "npm:^4.0.0"
+ expect: "npm:^29.3.1"
+ graceful-fs: "npm:^4.2.9"
+ jest-diff: "npm:^29.3.1"
+ jest-get-type: "npm:^29.2.0"
+ jest-haste-map: "npm:^29.3.1"
+ jest-matcher-utils: "npm:^29.3.1"
+ jest-message-util: "npm:^29.3.1"
+ jest-util: "npm:^29.3.1"
+ natural-compare: "npm:^1.4.0"
+ pretty-format: "npm:^29.3.1"
+ semver: "npm:^7.3.5"
+ checksum: 10c0/ca65a637fc9547dea580342247f6adcdd83cf9bacc0af7ad2ff2b8a0d3310a09b983708071382f16957d717b90670b22cbf3849c46e2ec0f2c45d769826e12f3
+ languageName: node
+ linkType: hard
+
+"jest-util@npm:^29.3.1":
+ version: 29.3.1
+ resolution: "jest-util@npm:29.3.1"
+ dependencies:
+ "@jest/types": "npm:^29.3.1"
+ "@types/node": "npm:*"
+ chalk: "npm:^4.0.0"
+ ci-info: "npm:^3.2.0"
+ graceful-fs: "npm:^4.2.9"
+ picomatch: "npm:^2.2.3"
+ checksum: 10c0/c03606c389cf6f454962e4670fcb5d346e0cef166d71a6d70cde2ffaff9a0744fbf7b0651a01ac07e5ade790e95937bcaa604601ebb4c8dbf3e4c641027e61d0
+ languageName: node
+ linkType: hard
+
+"jest-validate@npm:^29.3.1":
+ version: 29.3.1
+ resolution: "jest-validate@npm:29.3.1"
+ dependencies:
+ "@jest/types": "npm:^29.3.1"
+ camelcase: "npm:^6.2.0"
+ chalk: "npm:^4.0.0"
+ jest-get-type: "npm:^29.2.0"
+ leven: "npm:^3.1.0"
+ pretty-format: "npm:^29.3.1"
+ checksum: 10c0/5398f1c324582f290a99f6d68d9345ff9d16bbdcce06dfa4a81b0115aeeef6f9252cb64396c9ab968dafddbe762f68c8874b6c993a991b1c7f6f5e55cccb31a9
+ languageName: node
+ linkType: hard
+
+"jest-watcher@npm:^29.3.1":
+ version: 29.3.1
+ resolution: "jest-watcher@npm:29.3.1"
+ dependencies:
+ "@jest/test-result": "npm:^29.3.1"
+ "@jest/types": "npm:^29.3.1"
+ "@types/node": "npm:*"
+ ansi-escapes: "npm:^4.2.1"
+ chalk: "npm:^4.0.0"
+ emittery: "npm:^0.13.1"
+ jest-util: "npm:^29.3.1"
+ string-length: "npm:^4.0.1"
+ checksum: 10c0/d3d029762c2d431bcff21635d959eb0aa000cc480e2a47277e8d36c57b8a76f6deab721015948cb8448238331813edcb44bec20f29670f80621709b0c0ca30ef
+ languageName: node
+ linkType: hard
+
+"jest-worker@npm:^29.3.1":
+ version: 29.3.1
+ resolution: "jest-worker@npm:29.3.1"
+ dependencies:
+ "@types/node": "npm:*"
+ jest-util: "npm:^29.3.1"
+ merge-stream: "npm:^2.0.0"
+ supports-color: "npm:^8.0.0"
+ checksum: 10c0/8f089e3283c2a84d70d24caacfcf9986592ebde6757d938aa43a2a9d59607724da16a148d9dee93197a25c2fe4f2ee84ade105a88edc4c168ca2ad7881a56837
+ languageName: node
+ linkType: hard
+
+"jest@npm:^29.3.1":
+ version: 29.3.1
+ resolution: "jest@npm:29.3.1"
+ dependencies:
+ "@jest/core": "npm:^29.3.1"
+ "@jest/types": "npm:^29.3.1"
+ import-local: "npm:^3.0.2"
+ jest-cli: "npm:^29.3.1"
+ peerDependencies:
+ node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
+ peerDependenciesMeta:
+ node-notifier:
+ optional: true
+ bin:
+ jest: bin/jest.js
+ checksum: 10c0/97dae1a4346280c7ba6aa361b48d37e6776d338e308c2f188b4493f435d9c87c923658084b86e6c51f7a48bf5000e3879afee46141c8ee6a4275994cabd3a29a
+ languageName: node
+ linkType: hard
+
+"js-tokens@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "js-tokens@npm:4.0.0"
+ checksum: 10c0/e248708d377aa058eacf2037b07ded847790e6de892bbad3dac0abba2e759cb9f121b00099a65195616badcb6eca8d14d975cb3e89eb1cfda644756402c8aeed
+ languageName: node
+ linkType: hard
+
+"js-yaml@npm:^3.13.1":
+ version: 3.14.1
+ resolution: "js-yaml@npm:3.14.1"
+ dependencies:
+ argparse: "npm:^1.0.7"
+ esprima: "npm:^4.0.0"
+ bin:
+ js-yaml: bin/js-yaml.js
+ checksum: 10c0/6746baaaeac312c4db8e75fa22331d9a04cccb7792d126ed8ce6a0bbcfef0cedaddd0c5098fade53db067c09fe00aa1c957674b4765610a8b06a5a189e46433b
+ languageName: node
+ linkType: hard
+
+"jsbn@npm:1.1.0":
+ version: 1.1.0
+ resolution: "jsbn@npm:1.1.0"
+ checksum: 10c0/4f907fb78d7b712e11dea8c165fe0921f81a657d3443dde75359ed52eb2b5d33ce6773d97985a089f09a65edd80b11cb75c767b57ba47391fee4c969f7215c96
+ languageName: node
+ linkType: hard
+
+"jsesc@npm:^2.5.1":
+ version: 2.5.2
+ resolution: "jsesc@npm:2.5.2"
+ bin:
+ jsesc: bin/jsesc
+ checksum: 10c0/dbf59312e0ebf2b4405ef413ec2b25abb5f8f4d9bc5fb8d9f90381622ebca5f2af6a6aa9a8578f65903f9e33990a6dc798edd0ce5586894bf0e9e31803a1de88
+ languageName: node
+ linkType: hard
+
+"json-parse-even-better-errors@npm:^2.3.0":
+ version: 2.3.1
+ resolution: "json-parse-even-better-errors@npm:2.3.1"
+ checksum: 10c0/140932564c8f0b88455432e0f33c4cb4086b8868e37524e07e723f4eaedb9425bdc2bafd71bd1d9765bd15fd1e2d126972bc83990f55c467168c228c24d665f3
+ languageName: node
+ linkType: hard
+
+"json5@npm:^2.2.1":
+ version: 2.2.3
+ resolution: "json5@npm:2.2.3"
+ bin:
+ json5: lib/cli.js
+ checksum: 10c0/5a04eed94810fa55c5ea138b2f7a5c12b97c3750bc63d11e511dcecbfef758003861522a070c2272764ee0f4e3e323862f386945aeb5b85b87ee43f084ba586c
+ languageName: node
+ linkType: hard
+
+"kleur@npm:^3.0.3":
+ version: 3.0.3
+ resolution: "kleur@npm:3.0.3"
+ checksum: 10c0/cd3a0b8878e7d6d3799e54340efe3591ca787d9f95f109f28129bdd2915e37807bf8918bb295ab86afb8c82196beec5a1adcaf29042ce3f2bd932b038fe3aa4b
+ languageName: node
+ linkType: hard
+
+"leven@npm:^3.1.0":
+ version: 3.1.0
+ resolution: "leven@npm:3.1.0"
+ checksum: 10c0/cd778ba3fbab0f4d0500b7e87d1f6e1f041507c56fdcd47e8256a3012c98aaee371d4c15e0a76e0386107af2d42e2b7466160a2d80688aaa03e66e49949f42df
+ languageName: node
+ linkType: hard
+
+"lines-and-columns@npm:^1.1.6":
+ version: 1.2.4
+ resolution: "lines-and-columns@npm:1.2.4"
+ checksum: 10c0/3da6ee62d4cd9f03f5dc90b4df2540fb85b352081bee77fe4bbcd12c9000ead7f35e0a38b8d09a9bb99b13223446dd8689ff3c4959807620726d788701a83d2d
+ languageName: node
+ linkType: hard
+
+"locate-path@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "locate-path@npm:5.0.0"
+ dependencies:
+ p-locate: "npm:^4.1.0"
+ checksum: 10c0/33a1c5247e87e022f9713e6213a744557a3e9ec32c5d0b5efb10aa3a38177615bf90221a5592674857039c1a0fd2063b82f285702d37b792d973e9e72ace6c59
+ languageName: node
+ linkType: hard
+
+"lodash@npm:^4.17.21":
+ version: 4.17.21
+ resolution: "lodash@npm:4.17.21"
+ checksum: 10c0/d8cbea072bb08655bb4c989da418994b073a608dffa608b09ac04b43a791b12aeae7cd7ad919aa4c925f33b48490b5cfe6c1f71d827956071dae2e7bb3a6b74c
+ languageName: node
+ linkType: hard
+
+"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0":
+ version: 10.4.3
+ resolution: "lru-cache@npm:10.4.3"
+ checksum: 10c0/ebd04fbca961e6c1d6c0af3799adcc966a1babe798f685bb84e6599266599cd95d94630b10262f5424539bc4640107e8a33aa28585374abf561d30d16f4b39fb
+ languageName: node
+ linkType: hard
+
+"lru-cache@npm:^5.1.1":
+ version: 5.1.1
+ resolution: "lru-cache@npm:5.1.1"
+ dependencies:
+ yallist: "npm:^3.0.2"
+ checksum: 10c0/89b2ef2ef45f543011e38737b8a8622a2f8998cddf0e5437174ef8f1f70a8b9d14a918ab3e232cb3ba343b7abddffa667f0b59075b2b80e6b4d63c3de6127482
+ languageName: node
+ linkType: hard
+
+"lru-cache@npm:^6.0.0":
+ version: 6.0.0
+ resolution: "lru-cache@npm:6.0.0"
+ dependencies:
+ yallist: "npm:^4.0.0"
+ checksum: 10c0/cb53e582785c48187d7a188d3379c181b5ca2a9c78d2bce3e7dee36f32761d1c42983da3fe12b55cb74e1779fa94cdc2e5367c028a9b35317184ede0c07a30a9
+ languageName: node
+ linkType: hard
+
+"make-dir@npm:^3.0.0":
+ version: 3.1.0
+ resolution: "make-dir@npm:3.1.0"
+ dependencies:
+ semver: "npm:^6.0.0"
+ checksum: 10c0/56aaafefc49c2dfef02c5c95f9b196c4eb6988040cf2c712185c7fe5c99b4091591a7fc4d4eafaaefa70ff763a26f6ab8c3ff60b9e75ea19876f49b18667ecaa
+ languageName: node
+ linkType: hard
+
+"make-fetch-happen@npm:^13.0.0":
+ version: 13.0.1
+ resolution: "make-fetch-happen@npm:13.0.1"
+ dependencies:
+ "@npmcli/agent": "npm:^2.0.0"
+ cacache: "npm:^18.0.0"
+ http-cache-semantics: "npm:^4.1.1"
+ is-lambda: "npm:^1.0.1"
+ minipass: "npm:^7.0.2"
+ minipass-fetch: "npm:^3.0.0"
+ minipass-flush: "npm:^1.0.5"
+ minipass-pipeline: "npm:^1.2.4"
+ negotiator: "npm:^0.6.3"
+ proc-log: "npm:^4.2.0"
+ promise-retry: "npm:^2.0.1"
+ ssri: "npm:^10.0.0"
+ checksum: 10c0/df5f4dbb6d98153b751bccf4dc4cc500de85a96a9331db9805596c46aa9f99d9555983954e6c1266d9f981ae37a9e4647f42b9a4bb5466f867f4012e582c9e7e
+ languageName: node
+ linkType: hard
+
+"makeerror@npm:1.0.12":
+ version: 1.0.12
+ resolution: "makeerror@npm:1.0.12"
+ dependencies:
+ tmpl: "npm:1.0.5"
+ checksum: 10c0/b0e6e599780ce6bab49cc413eba822f7d1f0dfebd1c103eaa3785c59e43e22c59018323cf9e1708f0ef5329e94a745d163fcbb6bff8e4c6742f9be9e86f3500c
+ languageName: node
+ linkType: hard
+
+"mdn-data@npm:2.0.30":
+ version: 2.0.30
+ resolution: "mdn-data@npm:2.0.30"
+ checksum: 10c0/a2c472ea16cee3911ae742593715aa4c634eb3d4b9f1e6ada0902aa90df13dcbb7285d19435f3ff213ebaa3b2e0c0265c1eb0e3fb278fda7f8919f046a410cd9
+ languageName: node
+ linkType: hard
+
+"merge-stream@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "merge-stream@npm:2.0.0"
+ checksum: 10c0/867fdbb30a6d58b011449b8885601ec1690c3e41c759ecd5a9d609094f7aed0096c37823ff4a7190ef0b8f22cc86beb7049196ff68c016e3b3c671d0dac91ce5
+ languageName: node
+ linkType: hard
+
+"merge2@npm:^1.3.0":
+ version: 1.4.1
+ resolution: "merge2@npm:1.4.1"
+ checksum: 10c0/254a8a4605b58f450308fc474c82ac9a094848081bf4c06778200207820e5193726dc563a0d2c16468810516a5c97d9d3ea0ca6585d23c58ccfff2403e8dbbeb
+ languageName: node
+ linkType: hard
+
+"micromatch@npm:^4.0.4":
+ version: 4.0.5
+ resolution: "micromatch@npm:4.0.5"
+ dependencies:
+ braces: "npm:^3.0.2"
+ picomatch: "npm:^2.3.1"
+ checksum: 10c0/3d6505b20f9fa804af5d8c596cb1c5e475b9b0cd05f652c5b56141cf941bd72adaeb7a436fda344235cef93a7f29b7472efc779fcdb83b478eab0867b95cdeff
+ languageName: node
+ linkType: hard
+
+"mimic-fn@npm:^2.1.0":
+ version: 2.1.0
+ resolution: "mimic-fn@npm:2.1.0"
+ checksum: 10c0/b26f5479d7ec6cc2bce275a08f146cf78f5e7b661b18114e2506dd91ec7ec47e7a25bf4360e5438094db0560bcc868079fb3b1fb3892b833c1ecbf63f80c95a4
+ languageName: node
+ linkType: hard
+
+"minimatch@npm:^3.0.4, minimatch@npm:^3.1.1":
+ version: 3.1.2
+ resolution: "minimatch@npm:3.1.2"
+ dependencies:
+ brace-expansion: "npm:^1.1.7"
+ checksum: 10c0/0262810a8fc2e72cca45d6fd86bd349eee435eb95ac6aa45c9ea2180e7ee875ef44c32b55b5973ceabe95ea12682f6e3725cbb63d7a2d1da3ae1163c8b210311
+ languageName: node
+ linkType: hard
+
+"minimatch@npm:^9.0.4":
+ version: 9.0.5
+ resolution: "minimatch@npm:9.0.5"
+ dependencies:
+ brace-expansion: "npm:^2.0.1"
+ checksum: 10c0/de96cf5e35bdf0eab3e2c853522f98ffbe9a36c37797778d2665231ec1f20a9447a7e567cb640901f89e4daaa95ae5d70c65a9e8aa2bb0019b6facbc3c0575ed
+ languageName: node
+ linkType: hard
+
+"minipass-collect@npm:^2.0.1":
+ version: 2.0.1
+ resolution: "minipass-collect@npm:2.0.1"
+ dependencies:
+ minipass: "npm:^7.0.3"
+ checksum: 10c0/5167e73f62bb74cc5019594709c77e6a742051a647fe9499abf03c71dca75515b7959d67a764bdc4f8b361cf897fbf25e2d9869ee039203ed45240f48b9aa06e
+ languageName: node
+ linkType: hard
+
+"minipass-fetch@npm:^3.0.0":
+ version: 3.0.5
+ resolution: "minipass-fetch@npm:3.0.5"
+ dependencies:
+ encoding: "npm:^0.1.13"
+ minipass: "npm:^7.0.3"
+ minipass-sized: "npm:^1.0.3"
+ minizlib: "npm:^2.1.2"
+ dependenciesMeta:
+ encoding:
+ optional: true
+ checksum: 10c0/9d702d57f556274286fdd97e406fc38a2f5c8d15e158b498d7393b1105974b21249289ec571fa2b51e038a4872bfc82710111cf75fae98c662f3d6f95e72152b
+ languageName: node
+ linkType: hard
+
+"minipass-flush@npm:^1.0.5":
+ version: 1.0.5
+ resolution: "minipass-flush@npm:1.0.5"
+ dependencies:
+ minipass: "npm:^3.0.0"
+ checksum: 10c0/2a51b63feb799d2bb34669205eee7c0eaf9dce01883261a5b77410c9408aa447e478efd191b4de6fc1101e796ff5892f8443ef20d9544385819093dbb32d36bd
+ languageName: node
+ linkType: hard
+
+"minipass-pipeline@npm:^1.2.4":
+ version: 1.2.4
+ resolution: "minipass-pipeline@npm:1.2.4"
+ dependencies:
+ minipass: "npm:^3.0.0"
+ checksum: 10c0/cbda57cea20b140b797505dc2cac71581a70b3247b84480c1fed5ca5ba46c25ecc25f68bfc9e6dcb1a6e9017dab5c7ada5eab73ad4f0a49d84e35093e0c643f2
+ languageName: node
+ linkType: hard
+
+"minipass-sized@npm:^1.0.3":
+ version: 1.0.3
+ resolution: "minipass-sized@npm:1.0.3"
+ dependencies:
+ minipass: "npm:^3.0.0"
+ checksum: 10c0/298f124753efdc745cfe0f2bdfdd81ba25b9f4e753ca4a2066eb17c821f25d48acea607dfc997633ee5bf7b6dfffb4eee4f2051eb168663f0b99fad2fa4829cb
+ languageName: node
+ linkType: hard
+
+"minipass@npm:^3.0.0":
+ version: 3.3.6
+ resolution: "minipass@npm:3.3.6"
+ dependencies:
+ yallist: "npm:^4.0.0"
+ checksum: 10c0/a114746943afa1dbbca8249e706d1d38b85ed1298b530f5808ce51f8e9e941962e2a5ad2e00eae7dd21d8a4aae6586a66d4216d1a259385e9d0358f0c1eba16c
+ languageName: node
+ linkType: hard
+
+"minipass@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "minipass@npm:5.0.0"
+ checksum: 10c0/a91d8043f691796a8ac88df039da19933ef0f633e3d7f0d35dcd5373af49131cf2399bfc355f41515dc495e3990369c3858cd319e5c2722b4753c90bf3152462
+ languageName: node
+ linkType: hard
+
+"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.1.2":
+ version: 7.1.2
+ resolution: "minipass@npm:7.1.2"
+ checksum: 10c0/b0fd20bb9fb56e5fa9a8bfac539e8915ae07430a619e4b86ff71f5fc757ef3924b23b2c4230393af1eda647ed3d75739e4e0acb250a6b1eb277cf7f8fe449557
+ languageName: node
+ linkType: hard
+
+"minizlib@npm:^2.1.1, minizlib@npm:^2.1.2":
+ version: 2.1.2
+ resolution: "minizlib@npm:2.1.2"
+ dependencies:
+ minipass: "npm:^3.0.0"
+ yallist: "npm:^4.0.0"
+ checksum: 10c0/64fae024e1a7d0346a1102bb670085b17b7f95bf6cfdf5b128772ec8faf9ea211464ea4add406a3a6384a7d87a0cd1a96263692134323477b4fb43659a6cab78
+ languageName: node
+ linkType: hard
+
+"mkdirp@npm:^1.0.3":
+ version: 1.0.4
+ resolution: "mkdirp@npm:1.0.4"
+ bin:
+ mkdirp: bin/cmd.js
+ checksum: 10c0/46ea0f3ffa8bc6a5bc0c7081ffc3907777f0ed6516888d40a518c5111f8366d97d2678911ad1a6882bf592fa9de6c784fea32e1687bb94e1f4944170af48a5cf
+ languageName: node
+ linkType: hard
+
+"ms@npm:2.1.2":
+ version: 2.1.2
+ resolution: "ms@npm:2.1.2"
+ checksum: 10c0/a437714e2f90dbf881b5191d35a6db792efbca5badf112f87b9e1c712aace4b4b9b742dd6537f3edf90fd6f684de897cec230abde57e87883766712ddda297cc
+ languageName: node
+ linkType: hard
+
+"ms@npm:^2.1.3":
+ version: 2.1.3
+ resolution: "ms@npm:2.1.3"
+ checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48
+ languageName: node
+ linkType: hard
+
+"natural-compare@npm:^1.4.0":
+ version: 1.4.0
+ resolution: "natural-compare@npm:1.4.0"
+ checksum: 10c0/f5f9a7974bfb28a91afafa254b197f0f22c684d4a1731763dda960d2c8e375b36c7d690e0d9dc8fba774c537af14a7e979129bca23d88d052fbeb9466955e447
+ languageName: node
+ linkType: hard
+
+"negotiator@npm:^0.6.3":
+ version: 0.6.4
+ resolution: "negotiator@npm:0.6.4"
+ checksum: 10c0/3e677139c7fb7628a6f36335bf11a885a62c21d5390204590a1a214a5631fcbe5ea74ef6a610b60afe84b4d975cbe0566a23f20ee17c77c73e74b80032108dea
+ languageName: node
+ linkType: hard
+
+"node-gyp@npm:latest":
+ version: 10.2.0
+ resolution: "node-gyp@npm:10.2.0"
+ dependencies:
+ env-paths: "npm:^2.2.0"
+ exponential-backoff: "npm:^3.1.1"
+ glob: "npm:^10.3.10"
+ graceful-fs: "npm:^4.2.6"
+ make-fetch-happen: "npm:^13.0.0"
+ nopt: "npm:^7.0.0"
+ proc-log: "npm:^4.1.0"
+ semver: "npm:^7.3.5"
+ tar: "npm:^6.2.1"
+ which: "npm:^4.0.0"
+ bin:
+ node-gyp: bin/node-gyp.js
+ checksum: 10c0/00630d67dbd09a45aee0a5d55c05e3916ca9e6d427ee4f7bc392d2d3dc5fad7449b21fc098dd38260a53d9dcc9c879b36704a1994235d4707e7271af7e9a835b
+ languageName: node
+ linkType: hard
+
+"node-int64@npm:^0.4.0":
+ version: 0.4.0
+ resolution: "node-int64@npm:0.4.0"
+ checksum: 10c0/a6a4d8369e2f2720e9c645255ffde909c0fbd41c92ea92a5607fc17055955daac99c1ff589d421eee12a0d24e99f7bfc2aabfeb1a4c14742f6c099a51863f31a
+ languageName: node
+ linkType: hard
+
+"node-releases@npm:^2.0.6":
+ version: 2.0.8
+ resolution: "node-releases@npm:2.0.8"
+ checksum: 10c0/4b58f44de428b630fae7e8bcd7bf8e4030dab628122acff3ce2df6bb480c00b97319bb9408e3be23b258329350c31e1cb27a232ba548c35f3bce2d647717be58
+ languageName: node
+ linkType: hard
+
+"nopt@npm:^7.0.0":
+ version: 7.2.1
+ resolution: "nopt@npm:7.2.1"
+ dependencies:
+ abbrev: "npm:^2.0.0"
+ bin:
+ nopt: bin/nopt.js
+ checksum: 10c0/a069c7c736767121242037a22a788863accfa932ab285a1eb569eb8cd534b09d17206f68c37f096ae785647435e0c5a5a0a67b42ec743e481a455e5ae6a6df81
+ languageName: node
+ linkType: hard
+
+"normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0":
+ version: 3.0.0
+ resolution: "normalize-path@npm:3.0.0"
+ checksum: 10c0/e008c8142bcc335b5e38cf0d63cfd39d6cf2d97480af9abdbe9a439221fd4d749763bab492a8ee708ce7a194bb00c9da6d0a115018672310850489137b3da046
+ languageName: node
+ linkType: hard
+
+"npm-run-path@npm:^4.0.1":
+ version: 4.0.1
+ resolution: "npm-run-path@npm:4.0.1"
+ dependencies:
+ path-key: "npm:^3.0.0"
+ checksum: 10c0/6f9353a95288f8455cf64cbeb707b28826a7f29690244c1e4bb61ec573256e021b6ad6651b394eb1ccfd00d6ec50147253aba2c5fe58a57ceb111fad62c519ac
+ languageName: node
+ linkType: hard
+
+"once@npm:^1.3.0":
+ version: 1.4.0
+ resolution: "once@npm:1.4.0"
+ dependencies:
+ wrappy: "npm:1"
+ checksum: 10c0/5d48aca287dfefabd756621c5dfce5c91a549a93e9fdb7b8246bc4c4790aa2ec17b34a260530474635147aeb631a2dcc8b32c613df0675f96041cbb8244517d0
+ languageName: node
+ linkType: hard
+
+"onetime@npm:^5.1.2":
+ version: 5.1.2
+ resolution: "onetime@npm:5.1.2"
+ dependencies:
+ mimic-fn: "npm:^2.1.0"
+ checksum: 10c0/ffcef6fbb2692c3c40749f31ea2e22677a876daea92959b8a80b521d95cca7a668c884d8b2045d1d8ee7d56796aa405c405462af112a1477594cc63531baeb8f
+ languageName: node
+ linkType: hard
+
+"p-limit@npm:^2.2.0":
+ version: 2.3.0
+ resolution: "p-limit@npm:2.3.0"
+ dependencies:
+ p-try: "npm:^2.0.0"
+ checksum: 10c0/8da01ac53efe6a627080fafc127c873da40c18d87b3f5d5492d465bb85ec7207e153948df6b9cbaeb130be70152f874229b8242ee2be84c0794082510af97f12
+ languageName: node
+ linkType: hard
+
+"p-limit@npm:^3.1.0":
+ version: 3.1.0
+ resolution: "p-limit@npm:3.1.0"
+ dependencies:
+ yocto-queue: "npm:^0.1.0"
+ checksum: 10c0/9db675949dbdc9c3763c89e748d0ef8bdad0afbb24d49ceaf4c46c02c77d30db4e0652ed36d0a0a7a95154335fab810d95c86153105bb73b3a90448e2bb14e1a
+ languageName: node
+ linkType: hard
+
+"p-locate@npm:^4.1.0":
+ version: 4.1.0
+ resolution: "p-locate@npm:4.1.0"
+ dependencies:
+ p-limit: "npm:^2.2.0"
+ checksum: 10c0/1b476ad69ad7f6059744f343b26d51ce091508935c1dbb80c4e0a2f397ffce0ca3a1f9f5cd3c7ce19d7929a09719d5c65fe70d8ee289c3f267cd36f2881813e9
+ languageName: node
+ linkType: hard
+
+"p-map@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "p-map@npm:4.0.0"
+ dependencies:
+ aggregate-error: "npm:^3.0.0"
+ checksum: 10c0/592c05bd6262c466ce269ff172bb8de7c6975afca9b50c975135b974e9bdaafbfe80e61aaaf5be6d1200ba08b30ead04b88cfa7e25ff1e3b93ab28c9f62a2c75
+ languageName: node
+ linkType: hard
+
+"p-try@npm:^2.0.0":
+ version: 2.2.0
+ resolution: "p-try@npm:2.2.0"
+ checksum: 10c0/c36c19907734c904b16994e6535b02c36c2224d433e01a2f1ab777237f4d86e6289fd5fd464850491e940379d4606ed850c03e0f9ab600b0ebddb511312e177f
+ languageName: node
+ linkType: hard
+
+"package-json-from-dist@npm:^1.0.0":
+ version: 1.0.1
+ resolution: "package-json-from-dist@npm:1.0.1"
+ checksum: 10c0/62ba2785eb655fec084a257af34dbe24292ab74516d6aecef97ef72d4897310bc6898f6c85b5cd22770eaa1ce60d55a0230e150fb6a966e3ecd6c511e23d164b
+ languageName: node
+ linkType: hard
+
+"parse-json@npm:^5.2.0":
+ version: 5.2.0
+ resolution: "parse-json@npm:5.2.0"
+ dependencies:
+ "@babel/code-frame": "npm:^7.0.0"
+ error-ex: "npm:^1.3.1"
+ json-parse-even-better-errors: "npm:^2.3.0"
+ lines-and-columns: "npm:^1.1.6"
+ checksum: 10c0/77947f2253005be7a12d858aedbafa09c9ae39eb4863adf330f7b416ca4f4a08132e453e08de2db46459256fb66afaac5ee758b44fe6541b7cdaf9d252e59585
+ languageName: node
+ linkType: hard
+
+"path-exists@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "path-exists@npm:4.0.0"
+ checksum: 10c0/8c0bd3f5238188197dc78dced15207a4716c51cc4e3624c44fc97acf69558f5ebb9a2afff486fe1b4ee148e0c133e96c5e11a9aa5c48a3006e3467da070e5e1b
+ languageName: node
+ linkType: hard
+
+"path-is-absolute@npm:^1.0.0":
+ version: 1.0.1
+ resolution: "path-is-absolute@npm:1.0.1"
+ checksum: 10c0/127da03c82172a2a50099cddbf02510c1791fc2cc5f7713ddb613a56838db1e8168b121a920079d052e0936c23005562059756d653b7c544c53185efe53be078
+ languageName: node
+ linkType: hard
+
+"path-key@npm:^3.0.0, path-key@npm:^3.1.0":
+ version: 3.1.1
+ resolution: "path-key@npm:3.1.1"
+ checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c
+ languageName: node
+ linkType: hard
+
+"path-parse@npm:^1.0.7":
+ version: 1.0.7
+ resolution: "path-parse@npm:1.0.7"
+ checksum: 10c0/11ce261f9d294cc7a58d6a574b7f1b935842355ec66fba3c3fd79e0f036462eaf07d0aa95bb74ff432f9afef97ce1926c720988c6a7451d8a584930ae7de86e1
+ languageName: node
+ linkType: hard
+
+"path-scurry@npm:^1.11.1":
+ version: 1.11.1
+ resolution: "path-scurry@npm:1.11.1"
+ dependencies:
+ lru-cache: "npm:^10.2.0"
+ minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0"
+ checksum: 10c0/32a13711a2a505616ae1cc1b5076801e453e7aae6ac40ab55b388bb91b9d0547a52f5aaceff710ea400205f18691120d4431e520afbe4266b836fadede15872d
+ languageName: node
+ linkType: hard
+
+"picocolors@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "picocolors@npm:1.0.0"
+ checksum: 10c0/20a5b249e331c14479d94ec6817a182fd7a5680debae82705747b2db7ec50009a5f6648d0621c561b0572703f84dbef0858abcbd5856d3c5511426afcb1961f7
+ languageName: node
+ linkType: hard
+
+"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.2.3, picomatch@npm:^2.3.1":
+ version: 2.3.1
+ resolution: "picomatch@npm:2.3.1"
+ checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be
+ languageName: node
+ linkType: hard
+
+"pirates@npm:^4.0.4":
+ version: 4.0.5
+ resolution: "pirates@npm:4.0.5"
+ checksum: 10c0/58b6ff0f137a3d70ff34ac4802fd19819cdc19b53e9c95adecae6c7cfc77719a11f561ad85d46e79e520ef57c31145a564c8bc3bee8cfee75d441fab2928a51d
+ languageName: node
+ linkType: hard
+
+"pkg-dir@npm:^4.2.0":
+ version: 4.2.0
+ resolution: "pkg-dir@npm:4.2.0"
+ dependencies:
+ find-up: "npm:^4.0.0"
+ checksum: 10c0/c56bda7769e04907a88423feb320babaed0711af8c436ce3e56763ab1021ba107c7b0cafb11cde7529f669cfc22bffcaebffb573645cbd63842ea9fb17cd7728
+ languageName: node
+ linkType: hard
+
+"prettier@npm:^2.8.1":
+ version: 2.8.1
+ resolution: "prettier@npm:2.8.1"
+ bin:
+ prettier: bin-prettier.js
+ checksum: 10c0/66a2967780f7ebb724e0470c61b97ac19d2e91258f26288e4920138621a845958d86df23ec37c9342ddf475872396f2c458e9fbabb095631b03e436f315002b2
+ languageName: node
+ linkType: hard
+
+"pretty-format@npm:^29.3.1":
+ version: 29.3.1
+ resolution: "pretty-format@npm:29.3.1"
+ dependencies:
+ "@jest/schemas": "npm:^29.0.0"
+ ansi-styles: "npm:^5.0.0"
+ react-is: "npm:^18.0.0"
+ checksum: 10c0/8c0b27a7f31c678a382de70217c524b752b14c6aaf56f94098b04208d91965e4b4f92c268e6c1124c20c3cf8de146dd4ba6a4d1f1033ae67c0dcccd4de23e98b
+ languageName: node
+ linkType: hard
+
+"proc-log@npm:^4.1.0, proc-log@npm:^4.2.0":
+ version: 4.2.0
+ resolution: "proc-log@npm:4.2.0"
+ checksum: 10c0/17db4757c2a5c44c1e545170e6c70a26f7de58feb985091fb1763f5081cab3d01b181fb2dd240c9f4a4255a1d9227d163d5771b7e69c9e49a561692db865efb9
+ languageName: node
+ linkType: hard
+
+"promise-retry@npm:^2.0.1":
+ version: 2.0.1
+ resolution: "promise-retry@npm:2.0.1"
+ dependencies:
+ err-code: "npm:^2.0.2"
+ retry: "npm:^0.12.0"
+ checksum: 10c0/9c7045a1a2928094b5b9b15336dcd2a7b1c052f674550df63cc3f36cd44028e5080448175b6f6ca32b642de81150f5e7b1a98b728f15cb069f2dd60ac2616b96
+ languageName: node
+ linkType: hard
+
+"prompts@npm:^2.0.1":
+ version: 2.4.2
+ resolution: "prompts@npm:2.4.2"
+ dependencies:
+ kleur: "npm:^3.0.3"
+ sisteransi: "npm:^1.0.5"
+ checksum: 10c0/16f1ac2977b19fe2cf53f8411cc98db7a3c8b115c479b2ca5c82b5527cd937aa405fa04f9a5960abeb9daef53191b53b4d13e35c1f5d50e8718c76917c5f1ea4
+ languageName: node
+ linkType: hard
+
+"queue-microtask@npm:^1.2.2":
+ version: 1.2.3
+ resolution: "queue-microtask@npm:1.2.3"
+ checksum: 10c0/900a93d3cdae3acd7d16f642c29a642aea32c2026446151f0778c62ac089d4b8e6c986811076e1ae180a694cedf077d453a11b58ff0a865629a4f82ab558e102
+ languageName: node
+ linkType: hard
+
+"react-is@npm:^18.0.0":
+ version: 18.2.0
+ resolution: "react-is@npm:18.2.0"
+ checksum: 10c0/6eb5e4b28028c23e2bfcf73371e72cd4162e4ac7ab445ddae2afe24e347a37d6dc22fae6e1748632cd43c6d4f9b8f86dcf26bf9275e1874f436d129952528ae0
+ languageName: node
+ linkType: hard
+
+"readdirp@npm:~3.6.0":
+ version: 3.6.0
+ resolution: "readdirp@npm:3.6.0"
+ dependencies:
+ picomatch: "npm:^2.2.1"
+ checksum: 10c0/6fa848cf63d1b82ab4e985f4cf72bd55b7dcfd8e0a376905804e48c3634b7e749170940ba77b32804d5fe93b3cc521aa95a8d7e7d725f830da6d93f3669ce66b
+ languageName: node
+ linkType: hard
+
+"require-directory@npm:^2.1.1":
+ version: 2.1.1
+ resolution: "require-directory@npm:2.1.1"
+ checksum: 10c0/83aa76a7bc1531f68d92c75a2ca2f54f1b01463cb566cf3fbc787d0de8be30c9dbc211d1d46be3497dac5785fe296f2dd11d531945ac29730643357978966e99
+ languageName: node
+ linkType: hard
+
+"resolve-cwd@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "resolve-cwd@npm:3.0.0"
+ dependencies:
+ resolve-from: "npm:^5.0.0"
+ checksum: 10c0/e608a3ebd15356264653c32d7ecbc8fd702f94c6703ea4ac2fb81d9c359180cba0ae2e6b71faa446631ed6145454d5a56b227efc33a2d40638ac13f8beb20ee4
+ languageName: node
+ linkType: hard
+
+"resolve-from@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "resolve-from@npm:5.0.0"
+ checksum: 10c0/b21cb7f1fb746de8107b9febab60095187781137fd803e6a59a76d421444b1531b641bba5857f5dc011974d8a5c635d61cec49e6bd3b7fc20e01f0fafc4efbf2
+ languageName: node
+ linkType: hard
+
+"resolve.exports@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "resolve.exports@npm:1.1.0"
+ checksum: 10c0/7e21c22ad129b934d5cc0b6aefd07f377a92e0b9699f49ac33eac1736a85e3aeb9270c85aac47f7070b5975739623ed007aac318d6bc5f036504b2b7a407fd31
+ languageName: node
+ linkType: hard
+
+"resolve@npm:^1.20.0":
+ version: 1.22.1
+ resolution: "resolve@npm:1.22.1"
+ dependencies:
+ is-core-module: "npm:^2.9.0"
+ path-parse: "npm:^1.0.7"
+ supports-preserve-symlinks-flag: "npm:^1.0.0"
+ bin:
+ resolve: bin/resolve
+ checksum: 10c0/6d58b1cb40f3fc80b9e45dd799d84cdc3829a993e4b9fa3b59d331e1dfacd0870e1851f4d0eb549d68c796e0b7087b43d1aec162653ccccff9e18191221a6e7d
+ languageName: node
+ linkType: hard
+
+"resolve@patch:resolve@npm%3A^1.20.0#optional!builtin":
+ version: 1.22.1
+ resolution: "resolve@patch:resolve@npm%3A1.22.1#optional!builtin::version=1.22.1&hash=c3c19d"
+ dependencies:
+ is-core-module: "npm:^2.9.0"
+ path-parse: "npm:^1.0.7"
+ supports-preserve-symlinks-flag: "npm:^1.0.0"
+ bin:
+ resolve: bin/resolve
+ checksum: 10c0/0d8ccceba5537769c42aa75e4aa75ae854aac866a11d7e9ffdb1663f0158ee646a0d48fc2818ed5e7fb364d64220a1fb9092a160e11e00cbdd5fbab39a13092c
+ languageName: node
+ linkType: hard
+
+"retry@npm:^0.12.0":
+ version: 0.12.0
+ resolution: "retry@npm:0.12.0"
+ checksum: 10c0/59933e8501727ba13ad73ef4a04d5280b3717fd650408460c987392efe9d7be2040778ed8ebe933c5cbd63da3dcc37919c141ef8af0a54a6e4fca5a2af177bfe
+ languageName: node
+ linkType: hard
+
+"reusify@npm:^1.0.4":
+ version: 1.0.4
+ resolution: "reusify@npm:1.0.4"
+ checksum: 10c0/c19ef26e4e188f408922c46f7ff480d38e8dfc55d448310dfb518736b23ed2c4f547fb64a6ed5bdba92cd7e7ddc889d36ff78f794816d5e71498d645ef476107
+ languageName: node
+ linkType: hard
+
+"run-parallel@npm:^1.1.9":
+ version: 1.2.0
+ resolution: "run-parallel@npm:1.2.0"
+ dependencies:
+ queue-microtask: "npm:^1.2.2"
+ checksum: 10c0/200b5ab25b5b8b7113f9901bfe3afc347e19bb7475b267d55ad0eb86a62a46d77510cb0f232507c9e5d497ebda569a08a9867d0d14f57a82ad5564d991588b39
+ languageName: node
+ linkType: hard
+
+"safer-buffer@npm:>= 2.1.2 < 3.0.0":
+ version: 2.1.2
+ resolution: "safer-buffer@npm:2.1.2"
+ checksum: 10c0/7e3c8b2e88a1841c9671094bbaeebd94448111dd90a81a1f606f3f67708a6ec57763b3b47f06da09fc6054193e0e6709e77325415dc8422b04497a8070fa02d4
+ languageName: node
+ linkType: hard
+
+"sass-true@npm:^7.0.0":
+ version: 7.0.0
+ resolution: "sass-true@npm:7.0.0"
+ dependencies:
+ "@types/css": "npm:^0.0.33"
+ css: "npm:^3.0.0"
+ jest-diff: "npm:^29.3.1"
+ lodash: "npm:^4.17.21"
+ peerDependencies:
+ sass: ">=1.45.0"
+ checksum: 10c0/4fe7fd34e920869560b996f5e087237f2148026a4f2081e1e264d0b598129328d458a524b55b2819c0b540466b1584f3271ad3d7d929a4a99d8f1891ed42ed12
+ languageName: node
+ linkType: hard
+
+"sass@npm:^1.57.1":
+ version: 1.57.1
+ resolution: "sass@npm:1.57.1"
+ dependencies:
+ chokidar: "npm:>=3.0.0 <4.0.0"
+ immutable: "npm:^4.0.0"
+ source-map-js: "npm:>=0.6.2 <2.0.0"
+ bin:
+ sass: sass.js
+ checksum: 10c0/de8ab22b4b4b962df8629d0a6e3ff1397c37406a8c422b23a2c3c82cb25f18f3fd2dceff0cbb679e600af1b17e331e5517bd7b4fa02cf068556128f2a45b5569
+ languageName: node
+ linkType: hard
+
+"semver@npm:^6.0.0, semver@npm:^6.3.0":
+ version: 6.3.1
+ resolution: "semver@npm:6.3.1"
+ bin:
+ semver: bin/semver.js
+ checksum: 10c0/e3d79b609071caa78bcb6ce2ad81c7966a46a7431d9d58b8800cfa9cb6a63699b3899a0e4bcce36167a284578212d9ae6942b6929ba4aa5015c079a67751d42d
+ languageName: node
+ linkType: hard
+
+"semver@npm:^7.3.5":
+ version: 7.5.4
+ resolution: "semver@npm:7.5.4"
+ dependencies:
+ lru-cache: "npm:^6.0.0"
+ bin:
+ semver: bin/semver.js
+ checksum: 10c0/5160b06975a38b11c1ab55950cb5b8a23db78df88275d3d8a42ccf1f29e55112ac995b3a26a522c36e3b5f76b0445f1eef70d696b8c7862a2b4303d7b0e7609e
+ languageName: node
+ linkType: hard
+
+"shebang-command@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "shebang-command@npm:2.0.0"
+ dependencies:
+ shebang-regex: "npm:^3.0.0"
+ checksum: 10c0/a41692e7d89a553ef21d324a5cceb5f686d1f3c040759c50aab69688634688c5c327f26f3ecf7001ebfd78c01f3c7c0a11a7c8bfd0a8bc9f6240d4f40b224e4e
+ languageName: node
+ linkType: hard
+
+"shebang-regex@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "shebang-regex@npm:3.0.0"
+ checksum: 10c0/1dbed0726dd0e1152a92696c76c7f06084eb32a90f0528d11acd764043aacf76994b2fb30aa1291a21bd019d6699164d048286309a278855ee7bec06cf6fb690
+ languageName: node
+ linkType: hard
+
+"signal-exit@npm:^3.0.3, signal-exit@npm:^3.0.7":
+ version: 3.0.7
+ resolution: "signal-exit@npm:3.0.7"
+ checksum: 10c0/25d272fa73e146048565e08f3309d5b942c1979a6f4a58a8c59d5fa299728e9c2fcd1a759ec870863b1fd38653670240cd420dad2ad9330c71f36608a6a1c912
+ languageName: node
+ linkType: hard
+
+"signal-exit@npm:^4.0.1":
+ version: 4.1.0
+ resolution: "signal-exit@npm:4.1.0"
+ checksum: 10c0/41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83
+ languageName: node
+ linkType: hard
+
+"sisteransi@npm:^1.0.5":
+ version: 1.0.5
+ resolution: "sisteransi@npm:1.0.5"
+ checksum: 10c0/230ac975cca485b7f6fe2b96a711aa62a6a26ead3e6fb8ba17c5a00d61b8bed0d7adc21f5626b70d7c33c62ff4e63933017a6462942c719d1980bb0b1207ad46
+ languageName: node
+ linkType: hard
+
+"slash@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "slash@npm:3.0.0"
+ checksum: 10c0/e18488c6a42bdfd4ac5be85b2ced3ccd0224773baae6ad42cfbb9ec74fc07f9fa8396bd35ee638084ead7a2a0818eb5e7151111544d4731ce843019dab4be47b
+ languageName: node
+ linkType: hard
+
+"smart-buffer@npm:^4.2.0":
+ version: 4.2.0
+ resolution: "smart-buffer@npm:4.2.0"
+ checksum: 10c0/a16775323e1404dd43fabafe7460be13a471e021637bc7889468eb45ce6a6b207261f454e4e530a19500cc962c4cc5348583520843b363f4193cee5c00e1e539
+ languageName: node
+ linkType: hard
+
+"socks-proxy-agent@npm:^8.0.3":
+ version: 8.0.4
+ resolution: "socks-proxy-agent@npm:8.0.4"
+ dependencies:
+ agent-base: "npm:^7.1.1"
+ debug: "npm:^4.3.4"
+ socks: "npm:^2.8.3"
+ checksum: 10c0/345593bb21b95b0508e63e703c84da11549f0a2657d6b4e3ee3612c312cb3a907eac10e53b23ede3557c6601d63252103494caa306b66560f43af7b98f53957a
+ languageName: node
+ linkType: hard
+
+"socks@npm:^2.8.3":
+ version: 2.8.3
+ resolution: "socks@npm:2.8.3"
+ dependencies:
+ ip-address: "npm:^9.0.5"
+ smart-buffer: "npm:^4.2.0"
+ checksum: 10c0/d54a52bf9325165770b674a67241143a3d8b4e4c8884560c4e0e078aace2a728dffc7f70150660f51b85797c4e1a3b82f9b7aa25e0a0ceae1a243365da5c51a7
+ languageName: node
+ linkType: hard
+
+"source-map-js@npm:>=0.6.2 <2.0.0, source-map-js@npm:^1.0.1":
+ version: 1.0.2
+ resolution: "source-map-js@npm:1.0.2"
+ checksum: 10c0/32f2dfd1e9b7168f9a9715eb1b4e21905850f3b50cf02cf476e47e4eebe8e6b762b63a64357896aa29b37e24922b4282df0f492e0d2ace572b43d15525976ff8
+ languageName: node
+ linkType: hard
+
+"source-map-resolve@npm:^0.6.0":
+ version: 0.6.0
+ resolution: "source-map-resolve@npm:0.6.0"
+ dependencies:
+ atob: "npm:^2.1.2"
+ decode-uri-component: "npm:^0.2.0"
+ checksum: 10c0/bc2a94af3d2417196195eecf0130925b3558726726504a7c7bd1b9e383c4a789fa3f4616c4c673cf8bd7930ddd2e80481f203422282aeae342dbd56b91995188
+ languageName: node
+ linkType: hard
+
+"source-map-support@npm:0.5.13":
+ version: 0.5.13
+ resolution: "source-map-support@npm:0.5.13"
+ dependencies:
+ buffer-from: "npm:^1.0.0"
+ source-map: "npm:^0.6.0"
+ checksum: 10c0/137539f8c453fa0f496ea42049ab5da4569f96781f6ac8e5bfda26937be9494f4e8891f523c5f98f0e85f71b35d74127a00c46f83f6a4f54672b58d53202565e
+ languageName: node
+ linkType: hard
+
+"source-map@npm:^0.6.0, source-map@npm:^0.6.1":
+ version: 0.6.1
+ resolution: "source-map@npm:0.6.1"
+ checksum: 10c0/ab55398007c5e5532957cb0beee2368529618ac0ab372d789806f5718123cc4367d57de3904b4e6a4170eb5a0b0f41373066d02ca0735a0c4d75c7d328d3e011
+ languageName: node
+ linkType: hard
+
+"sprintf-js@npm:^1.1.3":
+ version: 1.1.3
+ resolution: "sprintf-js@npm:1.1.3"
+ checksum: 10c0/09270dc4f30d479e666aee820eacd9e464215cdff53848b443964202bf4051490538e5dd1b42e1a65cf7296916ca17640aebf63dae9812749c7542ee5f288dec
+ languageName: node
+ linkType: hard
+
+"sprintf-js@npm:~1.0.2":
+ version: 1.0.3
+ resolution: "sprintf-js@npm:1.0.3"
+ checksum: 10c0/ecadcfe4c771890140da5023d43e190b7566d9cf8b2d238600f31bec0fc653f328da4450eb04bd59a431771a8e9cc0e118f0aa3974b683a4981b4e07abc2a5bb
+ languageName: node
+ linkType: hard
+
+"ssri@npm:^10.0.0":
+ version: 10.0.6
+ resolution: "ssri@npm:10.0.6"
+ dependencies:
+ minipass: "npm:^7.0.3"
+ checksum: 10c0/e5a1e23a4057a86a97971465418f22ea89bd439ac36ade88812dd920e4e61873e8abd6a9b72a03a67ef50faa00a2daf1ab745c5a15b46d03e0544a0296354227
+ languageName: node
+ linkType: hard
+
+"stack-utils@npm:^2.0.3":
+ version: 2.0.6
+ resolution: "stack-utils@npm:2.0.6"
+ dependencies:
+ escape-string-regexp: "npm:^2.0.0"
+ checksum: 10c0/651c9f87667e077584bbe848acaecc6049bc71979f1e9a46c7b920cad4431c388df0f51b8ad7cfd6eed3db97a2878d0fc8b3122979439ea8bac29c61c95eec8a
+ languageName: node
+ linkType: hard
+
+"string-length@npm:^4.0.1":
+ version: 4.0.2
+ resolution: "string-length@npm:4.0.2"
+ dependencies:
+ char-regex: "npm:^1.0.2"
+ strip-ansi: "npm:^6.0.0"
+ checksum: 10c0/1cd77409c3d7db7bc59406f6bcc9ef0783671dcbabb23597a1177c166906ef2ee7c8290f78cae73a8aec858768f189d2cb417797df5e15ec4eb5e16b3346340c
+ languageName: node
+ linkType: hard
+
+"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3":
+ version: 4.2.3
+ resolution: "string-width@npm:4.2.3"
+ dependencies:
+ emoji-regex: "npm:^8.0.0"
+ is-fullwidth-code-point: "npm:^3.0.0"
+ strip-ansi: "npm:^6.0.1"
+ checksum: 10c0/1e525e92e5eae0afd7454086eed9c818ee84374bb80328fc41217ae72ff5f065ef1c9d7f72da41de40c75fa8bb3dee63d92373fd492c84260a552c636392a47b
+ languageName: node
+ linkType: hard
+
+"string-width@npm:^5.0.1, string-width@npm:^5.1.2":
+ version: 5.1.2
+ resolution: "string-width@npm:5.1.2"
+ dependencies:
+ eastasianwidth: "npm:^0.2.0"
+ emoji-regex: "npm:^9.2.2"
+ strip-ansi: "npm:^7.0.1"
+ checksum: 10c0/ab9c4264443d35b8b923cbdd513a089a60de339216d3b0ed3be3ba57d6880e1a192b70ae17225f764d7adbf5994e9bb8df253a944736c15a0240eff553c678ca
+ languageName: node
+ linkType: hard
+
+"strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1":
+ version: 6.0.1
+ resolution: "strip-ansi@npm:6.0.1"
+ dependencies:
+ ansi-regex: "npm:^5.0.1"
+ checksum: 10c0/1ae5f212a126fe5b167707f716942490e3933085a5ff6c008ab97ab2f272c8025d3aa218b7bd6ab25729ca20cc81cddb252102f8751e13482a5199e873680952
+ languageName: node
+ linkType: hard
+
+"strip-ansi@npm:^7.0.1":
+ version: 7.1.0
+ resolution: "strip-ansi@npm:7.1.0"
+ dependencies:
+ ansi-regex: "npm:^6.0.1"
+ checksum: 10c0/a198c3762e8832505328cbf9e8c8381de14a4fa50a4f9b2160138158ea88c0f5549fb50cb13c651c3088f47e63a108b34622ec18c0499b6c8c3a5ddf6b305ac4
+ languageName: node
+ linkType: hard
+
+"strip-bom@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "strip-bom@npm:4.0.0"
+ checksum: 10c0/26abad1172d6bc48985ab9a5f96c21e440f6e7e476686de49be813b5a59b3566dccb5c525b831ec54fe348283b47f3ffb8e080bc3f965fde12e84df23f6bb7ef
+ languageName: node
+ linkType: hard
+
+"strip-final-newline@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "strip-final-newline@npm:2.0.0"
+ checksum: 10c0/bddf8ccd47acd85c0e09ad7375409d81653f645fda13227a9d459642277c253d877b68f2e5e4d819fe75733b0e626bac7e954c04f3236f6d196f79c94fa4a96f
+ languageName: node
+ linkType: hard
+
+"strip-json-comments@npm:^3.1.1":
+ version: 3.1.1
+ resolution: "strip-json-comments@npm:3.1.1"
+ checksum: 10c0/9681a6257b925a7fa0f285851c0e613cc934a50661fa7bb41ca9cbbff89686bb4a0ee366e6ecedc4daafd01e83eee0720111ab294366fe7c185e935475ebcecd
+ languageName: node
+ linkType: hard
+
+"supports-color@npm:^5.3.0":
+ version: 5.5.0
+ resolution: "supports-color@npm:5.5.0"
+ dependencies:
+ has-flag: "npm:^3.0.0"
+ checksum: 10c0/6ae5ff319bfbb021f8a86da8ea1f8db52fac8bd4d499492e30ec17095b58af11f0c55f8577390a749b1c4dde691b6a0315dab78f5f54c9b3d83f8fb5905c1c05
+ languageName: node
+ linkType: hard
+
+"supports-color@npm:^7.1.0":
+ version: 7.2.0
+ resolution: "supports-color@npm:7.2.0"
+ dependencies:
+ has-flag: "npm:^4.0.0"
+ checksum: 10c0/afb4c88521b8b136b5f5f95160c98dee7243dc79d5432db7efc27efb219385bbc7d9427398e43dd6cc730a0f87d5085ce1652af7efbe391327bc0a7d0f7fc124
+ languageName: node
+ linkType: hard
+
+"supports-color@npm:^8.0.0":
+ version: 8.1.1
+ resolution: "supports-color@npm:8.1.1"
+ dependencies:
+ has-flag: "npm:^4.0.0"
+ checksum: 10c0/ea1d3c275dd604c974670f63943ed9bd83623edc102430c05adb8efc56ba492746b6e95386e7831b872ec3807fd89dd8eb43f735195f37b5ec343e4234cc7e89
+ languageName: node
+ linkType: hard
+
+"supports-preserve-symlinks-flag@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "supports-preserve-symlinks-flag@npm:1.0.0"
+ checksum: 10c0/6c4032340701a9950865f7ae8ef38578d8d7053f5e10518076e6554a9381fa91bd9c6850193695c141f32b21f979c985db07265a758867bac95de05f7d8aeb39
+ languageName: node
+ linkType: hard
+
+"tar@npm:^6.1.11, tar@npm:^6.2.1":
+ version: 6.2.1
+ resolution: "tar@npm:6.2.1"
+ dependencies:
+ chownr: "npm:^2.0.0"
+ fs-minipass: "npm:^2.0.0"
+ minipass: "npm:^5.0.0"
+ minizlib: "npm:^2.1.1"
+ mkdirp: "npm:^1.0.3"
+ yallist: "npm:^4.0.0"
+ checksum: 10c0/a5eca3eb50bc11552d453488344e6507156b9193efd7635e98e867fab275d527af53d8866e2370cd09dfe74378a18111622ace35af6a608e5223a7d27fe99537
+ languageName: node
+ linkType: hard
+
+"test-exclude@npm:^6.0.0":
+ version: 6.0.0
+ resolution: "test-exclude@npm:6.0.0"
+ dependencies:
+ "@istanbuljs/schema": "npm:^0.1.2"
+ glob: "npm:^7.1.4"
+ minimatch: "npm:^3.0.4"
+ checksum: 10c0/019d33d81adff3f9f1bfcff18125fb2d3c65564f437d9be539270ee74b994986abb8260c7c2ce90e8f30162178b09dbbce33c6389273afac4f36069c48521f57
+ languageName: node
+ linkType: hard
+
+"tmpl@npm:1.0.5":
+ version: 1.0.5
+ resolution: "tmpl@npm:1.0.5"
+ checksum: 10c0/f935537799c2d1922cb5d6d3805f594388f75338fe7a4a9dac41504dd539704ca4db45b883b52e7b0aa5b2fd5ddadb1452bf95cd23a69da2f793a843f9451cc9
+ languageName: node
+ linkType: hard
+
+"to-fast-properties@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "to-fast-properties@npm:2.0.0"
+ checksum: 10c0/b214d21dbfb4bce3452b6244b336806ffea9c05297148d32ebb428d5c43ce7545bdfc65a1ceb58c9ef4376a65c0cb2854d645f33961658b3e3b4f84910ddcdd7
+ languageName: node
+ linkType: hard
+
+"to-regex-range@npm:^5.0.1":
+ version: 5.0.1
+ resolution: "to-regex-range@npm:5.0.1"
+ dependencies:
+ is-number: "npm:^7.0.0"
+ checksum: 10c0/487988b0a19c654ff3e1961b87f471702e708fa8a8dd02a298ef16da7206692e8552a0250e8b3e8759270f62e9d8314616f6da274734d3b558b1fc7b7724e892
+ languageName: node
+ linkType: hard
+
+"type-detect@npm:4.0.8":
+ version: 4.0.8
+ resolution: "type-detect@npm:4.0.8"
+ checksum: 10c0/8fb9a51d3f365a7de84ab7f73b653534b61b622aa6800aecdb0f1095a4a646d3f5eb295322127b6573db7982afcd40ab492d038cf825a42093a58b1e1353e0bd
+ languageName: node
+ linkType: hard
+
+"type-fest@npm:^0.21.3":
+ version: 0.21.3
+ resolution: "type-fest@npm:0.21.3"
+ checksum: 10c0/902bd57bfa30d51d4779b641c2bc403cdf1371fb9c91d3c058b0133694fcfdb817aef07a47f40faf79039eecbaa39ee9d3c532deff244f3a19ce68cea71a61e8
+ languageName: node
+ linkType: hard
+
+"unique-filename@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "unique-filename@npm:3.0.0"
+ dependencies:
+ unique-slug: "npm:^4.0.0"
+ checksum: 10c0/6363e40b2fa758eb5ec5e21b3c7fb83e5da8dcfbd866cc0c199d5534c42f03b9ea9ab069769cc388e1d7ab93b4eeef28ef506ab5f18d910ef29617715101884f
+ languageName: node
+ linkType: hard
+
+"unique-slug@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "unique-slug@npm:4.0.0"
+ dependencies:
+ imurmurhash: "npm:^0.1.4"
+ checksum: 10c0/cb811d9d54eb5821b81b18205750be84cb015c20a4a44280794e915f5a0a70223ce39066781a354e872df3572e8155c228f43ff0cce94c7cbf4da2cc7cbdd635
+ languageName: node
+ linkType: hard
+
+"update-browserslist-db@npm:^1.0.9":
+ version: 1.0.10
+ resolution: "update-browserslist-db@npm:1.0.10"
+ dependencies:
+ escalade: "npm:^3.1.1"
+ picocolors: "npm:^1.0.0"
+ peerDependencies:
+ browserslist: ">= 4.21.0"
+ bin:
+ browserslist-lint: cli.js
+ checksum: 10c0/e6fa55b515a674cc3b6c045d1f37f72780ddbbbb48b3094391fb2e43357b859ca5cee4c7d3055fd654d442ef032777d0972494a9a2e6c30d3660ee57b7138ae9
+ languageName: node
+ linkType: hard
+
+"v8-to-istanbul@npm:^9.0.1":
+ version: 9.0.1
+ resolution: "v8-to-istanbul@npm:9.0.1"
+ dependencies:
+ "@jridgewell/trace-mapping": "npm:^0.3.12"
+ "@types/istanbul-lib-coverage": "npm:^2.0.1"
+ convert-source-map: "npm:^1.6.0"
+ checksum: 10c0/aaa6491ee0505010a818a98bd7abdb30c0136a93eac12106b836e1afb519759ea4da795cceaf7fe871d26ed6cb669e46fd48533d6f8107a23213d723a028f805
+ languageName: node
+ linkType: hard
+
+"walker@npm:^1.0.8":
+ version: 1.0.8
+ resolution: "walker@npm:1.0.8"
+ dependencies:
+ makeerror: "npm:1.0.12"
+ checksum: 10c0/a17e037bccd3ca8a25a80cb850903facdfed0de4864bd8728f1782370715d679fa72e0a0f5da7c1c1379365159901e5935f35be531229da53bbfc0efdabdb48e
+ languageName: node
+ linkType: hard
+
+"which@npm:^2.0.1":
+ version: 2.0.2
+ resolution: "which@npm:2.0.2"
+ dependencies:
+ isexe: "npm:^2.0.0"
+ bin:
+ node-which: ./bin/node-which
+ checksum: 10c0/66522872a768b60c2a65a57e8ad184e5372f5b6a9ca6d5f033d4b0dc98aff63995655a7503b9c0a2598936f532120e81dd8cc155e2e92ed662a2b9377cc4374f
+ languageName: node
+ linkType: hard
+
+"which@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "which@npm:4.0.0"
+ dependencies:
+ isexe: "npm:^3.1.1"
+ bin:
+ node-which: bin/which.js
+ checksum: 10c0/449fa5c44ed120ccecfe18c433296a4978a7583bf2391c50abce13f76878d2476defde04d0f79db8165bdf432853c1f8389d0485ca6e8ebce3bbcded513d5e6a
+ languageName: node
+ linkType: hard
+
+"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:^7.0.0":
+ version: 7.0.0
+ resolution: "wrap-ansi@npm:7.0.0"
+ dependencies:
+ ansi-styles: "npm:^4.0.0"
+ string-width: "npm:^4.1.0"
+ strip-ansi: "npm:^6.0.0"
+ checksum: 10c0/d15fc12c11e4cbc4044a552129ebc75ee3f57aa9c1958373a4db0292d72282f54373b536103987a4a7594db1ef6a4f10acf92978f79b98c49306a4b58c77d4da
+ languageName: node
+ linkType: hard
+
+"wrap-ansi@npm:^8.1.0":
+ version: 8.1.0
+ resolution: "wrap-ansi@npm:8.1.0"
+ dependencies:
+ ansi-styles: "npm:^6.1.0"
+ string-width: "npm:^5.0.1"
+ strip-ansi: "npm:^7.0.1"
+ checksum: 10c0/138ff58a41d2f877eae87e3282c0630fc2789012fc1af4d6bd626eeb9a2f9a65ca92005e6e69a75c7b85a68479fe7443c7dbe1eb8fbaa681a4491364b7c55c60
+ languageName: node
+ linkType: hard
+
+"wrappy@npm:1":
+ version: 1.0.2
+ resolution: "wrappy@npm:1.0.2"
+ checksum: 10c0/56fece1a4018c6a6c8e28fbc88c87e0fbf4ea8fd64fc6c63b18f4acc4bd13e0ad2515189786dd2c30d3eec9663d70f4ecf699330002f8ccb547e4a18231fc9f0
+ languageName: node
+ linkType: hard
+
+"write-file-atomic@npm:^4.0.1":
+ version: 4.0.2
+ resolution: "write-file-atomic@npm:4.0.2"
+ dependencies:
+ imurmurhash: "npm:^0.1.4"
+ signal-exit: "npm:^3.0.7"
+ checksum: 10c0/a2c282c95ef5d8e1c27b335ae897b5eca00e85590d92a3fd69a437919b7b93ff36a69ea04145da55829d2164e724bc62202cdb5f4b208b425aba0807889375c7
+ languageName: node
+ linkType: hard
+
+"y18n@npm:^5.0.5":
+ version: 5.0.8
+ resolution: "y18n@npm:5.0.8"
+ checksum: 10c0/4df2842c36e468590c3691c894bc9cdbac41f520566e76e24f59401ba7d8b4811eb1e34524d57e54bc6d864bcb66baab7ffd9ca42bf1eda596618f9162b91249
+ languageName: node
+ linkType: hard
+
+"yallist@npm:^3.0.2":
+ version: 3.1.1
+ resolution: "yallist@npm:3.1.1"
+ checksum: 10c0/c66a5c46bc89af1625476f7f0f2ec3653c1a1791d2f9407cfb4c2ba812a1e1c9941416d71ba9719876530e3340a99925f697142989371b72d93b9ee628afd8c1
+ languageName: node
+ linkType: hard
+
+"yallist@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "yallist@npm:4.0.0"
+ checksum: 10c0/2286b5e8dbfe22204ab66e2ef5cc9bbb1e55dfc873bbe0d568aa943eb255d131890dfd5bf243637273d31119b870f49c18fcde2c6ffbb7a7a092b870dc90625a
+ languageName: node
+ linkType: hard
+
+"yargs-parser@npm:^21.1.1":
+ version: 21.1.1
+ resolution: "yargs-parser@npm:21.1.1"
+ checksum: 10c0/f84b5e48169479d2f402239c59f084cfd1c3acc197a05c59b98bab067452e6b3ea46d4dd8ba2985ba7b3d32a343d77df0debd6b343e5dae3da2aab2cdf5886b2
+ languageName: node
+ linkType: hard
+
+"yargs@npm:^17.3.1":
+ version: 17.6.2
+ resolution: "yargs@npm:17.6.2"
+ dependencies:
+ cliui: "npm:^8.0.1"
+ escalade: "npm:^3.1.1"
+ get-caller-file: "npm:^2.0.5"
+ require-directory: "npm:^2.1.1"
+ string-width: "npm:^4.2.3"
+ y18n: "npm:^5.0.5"
+ yargs-parser: "npm:^21.1.1"
+ checksum: 10c0/dd5c89aa8186d2a18625b26b68beb635df648617089135e9661107a92561056427bbd41dbfa228db5a7d968ea1043d96c036c2eb978acf7b61a0ae48bf3be206
+ languageName: node
+ linkType: hard
+
+"yocto-queue@npm:^0.1.0":
+ version: 0.1.0
+ resolution: "yocto-queue@npm:0.1.0"
+ checksum: 10c0/dceb44c28578b31641e13695d200d34ec4ab3966a5729814d5445b194933c096b7ced71494ce53a0e8820685d1d010df8b2422e5bf2cdea7e469d97ffbea306f
+ languageName: node
+ linkType: hard