Publish Vulpes Preview 15 sources for desktop, Android and Tundra

Share Gaia assets and adapters, keep private profiles and development documents local, and update both public READMEs.
This commit is contained in:
OverSu 2026-09-30 23:13:03 +02:00
commit b38dea0597
25901 changed files with 9982925 additions and 369 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 477 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 732 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 659 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 316 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 406 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 371 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

View file

@ -0,0 +1,218 @@
/*csslint empty-rules: false*/
/* See bug 1053721 for csslint empty rule requirement. */
:root {
--primary-background-color: #fff;
--results-header-color: #a6a6a6;
--divider-color: #e5e5e5;
--history-result-title-color: #4d4d4d;
}
body.private {
--primary-background-color: #392E54;
--results-header-color: #858585;
--divider-color: #454545;
--history-result-title-color: #9e9e9e;
}
* {
margin: 0;
padding: 0;
}
html, body {
height: 100%;
font-size: 10px;
box-sizing: border-box;
background: #fff;
overflow-x: hidden;
}
body {
padding: 0.5rem 1rem;
}
html[dir="ltr"] { text-align: left; }
html[dir="rtl"] { text-align: right; }
h2,
#history h3:first-child {
text-align: center;
border-top: 0.2rem solid var(--divider-color);
font-size: 1.4rem;
margin-top: 0.9rem;
margin-bottom: -0.9rem;
color: var(--results-header-color);
font-style: normal;
-moz-user-select: none;
}
h2 span,
#history h3:first-child span {
position: relative;
top: -0.9rem;
background: var(--primary-background-color);
padding: 0.5rem;
margin-bottom: 0;
font-weight: 500;
}
#top-sites {
overflow: auto;
margin-top: 1rem;
-moz-user-select: none;
}
#top-sites .top-site:nth-child(2n) {
margin-inline-start: 1rem;
}
.top-site {
display: block;
width: calc(50% - 0.5rem);
height: 9rem;
background-color: rgba(255, 255, 255, 0.3);
background-size: cover;
position: relative;
margin-bottom: 1rem;
border: 0.1rem solid rgba(133,133,133, 0.8);
box-sizing: border-box;
}
html[dir="ltr"] .top-site { float: left; }
html[dir="rtl"] .top-site { float: right; }
.top-site span {
box-sizing: border-box;
font-size: 1.3rem;
font-style: italic;
display: block;
width: 100%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
background-color: rgba(0, 0, 0, 0.7);
position: absolute;
bottom: 0;
padding: 0.2rem;
pointer-events: none;
color: #fff;
}
#history {
margin-top: 2.1rem;
}
#history .result {
font-size: 1.6rem;
display: flex;
flex-direction: row;
border-bottom: 0.1rem solid rgba(0, 0, 0, 0.1);
padding: 1rem 0.7rem;
overflow: hidden;
color: var(--history-result-title-color);
}
#history .result * {
pointer-events: none;
}
#history .result .description {
width: calc(100% - 1.8rem);
}
#history .icon {
margin-top: 0.3rem;
margin-bottom: 0;
margin-inline-start: 0;
margin-inline-end: 0.8rem;
display: block;
flex: 0 0 1.6rem;
width: 1.6rem;
height: 1.6rem;
}
#history .icon img {
display: none;
width: 100%;
height: 100%;
}
#history .icon.empty {
border: 0.1rem dashed #5A5A5A;
border-radius: 0.2rem;
}
#history .meta {
font-size: 1.2rem;
color: #5f5f5f;
direction: ltr;
}
#history .title, #history .meta {
display: block;
white-space:nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
section h3 {
text-align: center;
font-size: 1.4rem;
font-style: italic;
color: #858585;
font-weight: normal;
margin-top: 1rem;
-moz-user-select: none;
}
/* Pseudo-private view */
body.private {
background: var(--primary-background-color);
}
/* Private browser dialog */
#private-window-dialog {
min-height: 100%;
position: absolute;
top: 0;
left: 0;
right: 0;
z-index: 2;
padding: 15rem 2rem 0;
-moz-box-sizing: border-box;
background: var(--primary-background-color) image-set(url("images/pb_dialog.png") 1x, url("images/pb_dialog@1.5x.png") 1.5x, url("images/pb_dialog@2x.png") 2x, url("images/pb_dialog@2.25x.png") 2.25x) no-repeat center 2rem / 10.2rem 11.6rem;
}
#private-window-dialog[hidden] {
display: none;
}
#private-window-dialog h1 {
font-size: 2rem;
color: #fff;
text-align: center;
font-weight: 300;
font-style: italic;
margin-bottom: 1.5rem;
}
#private-window-dialog a,
#private-window-dialog p {
color: #fff;
font-size: 1.3rem;
line-height: 1.8rem;
margin-bottom: 1.2rem;
}
#private-window-dialog a {
color: #00caf2;
}
#private-window-dialog gaia-checkbox {
margin: 10px 0;
}
#private-window-dialog gaia-checkbox label {
color: #fff;
font-size: 1.3rem;
}

View file

@ -0,0 +1,321 @@
/* Only include gaia-theme to get CSS variables, the transition-duration one
in particular. Other parts of gaia-theme are not used. */
@import url('../shared/elements/gaia-theme/gaia-theme.css');
/**
* Disable selection by default except for elements with
* "contenteditable".
*/
* {
margin: 0;
padding: 0;
-moz-user-select: none;
}
html[dir="ltr"] { text-align: left; }
html[dir="rtl"] { text-align: right; }
[contenteditable="true"] {
-moz-user-select: text;
}
html, body {
height: 100%;
font-size: 10px;
}
body, a {
color: rgba(255, 255, 255, 0.9);
}
#offline-message {
font-size: 1.4rem;
font-style: italic;
margin: 0;
margin-inline-end: 1rem;
height: 4.2rem;
padding-bottom: 1.3rem;
text-align: center;
display: none;
justify-content: center;
align-items: center;
}
#settings-connectivity {
background: image-set(url("/style/icons/settings.png") 1x, url("/style/icons/settings@1.5x.png") 1.5x, url("/style/icons/settings@2x.png") 2x, url("/style/icons/settings@2.25x.png") 2.25x) no-repeat 50% 50% / 1.4rem;
width: 1.4rem;
height: 1.4rem;
margin-top: -0.1rem;
padding-inline-end: 0.8rem;
}
#search-results {
padding-top: 1.3rem;
}
#search-results.offline #suggestions {
display: none;
}
#search-results.offline #offline-message {
display: flex;
}
#suggestions-provider {
color: #00aac5;
position: relative;
padding: 0;
padding-inline-end: 2rem;
padding-inline-start: 1rem;
}
#suggestions-provider-dropdown {
content: ' ';
position: absolute;
top: -.4rem;
margin-inline-start: -1.4rem;
width: 0;
height: 0;
background: none;
padding: 0;
border-style: solid;
border-color: transparent transparent #00aac5 transparent;
}
html[dir="ltr"] #suggestions-provider-dropdown {
border-width: 0 0 .8rem .8rem;
}
html[dir="rtl"] #suggestions-provider-dropdown {
border-width: 0 .8rem .8rem 0;
}
#suggestions {
font-size: 1.6rem;
overflow-x: hidden;
margin-inline-end: 1.6rem;
}
#suggestions ul {
list-style: none;
white-space: nowrap;
padding-inline-start: 0;
}
#suggestions li {
height: 6rem;
line-height: 6rem;
margin: 0;
border-bottom: 0.1rem solid rgba(255, 255, 255, 0.05);
background: image-set(url("/style/icons/search.png") 1x, url("/style/icons/search@1.5x.png") 1.5x, url("/style/icons/search@2x.png") 2x, url("/style/icons/search@2.25x.png") 2.25x) no-repeat;
background-size: 3rem;
padding-inline-start: 4.5rem;
width: 100%;
unicode-bidi: -moz-plaintext;
}
html[dir="ltr"] #suggestions li { background-position: left 0.8rem center; }
html[dir="rtl"] #suggestions li { background-position: right 0.8rem center; }
section .result * {
pointer-events: none;
}
h2 {
position: relative;
text-align: center;
border-top: 0.3rem solid #5f5f5f;
font-size: 1.4rem;
color: #858585;
margin-top: 0.9rem;
margin-bottom: -0.9rem;
margin-inline-start: 0.5rem;
margin-inline-end: 0.6rem;
}
/* The select box is hidden behind search provider label since we
only want to see the dialog prompt, not the actual select box */
#suggestions-select {
position: absolute;
top: 0;
opacity: 0;
}
h2 span, h2 label {
position: relative;
top: -0.9rem;
background: #333;
padding: 0 1rem;
margin-bottom: 0;
font-weight: 500;
}
#places-header {
margin-top: 0.9rem;
}
#places-header.hidden {
display: none;
}
.local .result {
display: flex;
flex-direction: row;
padding: 0.8rem 1.5rem;
position: relative;
}
.local .result:after {
position: absolute;
bottom: 0;
content: " ";
width: calc(100% - 1rem);
height: 0.1rem;
background: #535353;
left: 0.5rem;
right: 0.5rem;
}
.local .result:last-child:after {
display: none;
}
.local .result:active {
background-color: #3e666e;
}
.local .icon {
margin: 0;
margin-top: 0.4rem;
margin-inline-end: 1.6rem;
display: block;
flex: 0 0 32px;
width: 32px;
height: 32px;
}
.local .icon img {
width: 32px;
height: 32px;
}
.local .icon.empty {
border: 1px dashed #5A5A5A;
border-radius: 2px;
}
.local .icon.empty img {
opacity: 0;
}
.local .title, .local .meta {
display: block;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.local .description {
overflow: hidden;
}
.local .title {
color: #e7e7e7;
font-size: 1.5rem;
}
.local .meta {
color: #858585;
font-size: 1.4rem;
}
.local .highlight {
font-weight: bold;
text-decoration: underline;
}
/* web */
section.apps {
/* Hide the whitespace between inline elements */
font-size: 0;
height: 10rem;
overflow: hidden;
padding-bottom: 1.5rem;
}
gaia-grid {
display: block;
height: 100%;
width: 100%;
text-align: left; /* workaround the fact gaia-grid has a direction: 'ltr' */
}
.hidden {
display: none;
}
#suggestions-notice-wrapper {
background: rgba(45, 45, 45, 0.94);
z-index: 100;
border-radius: 2px;
position: absolute;
margin: 1rem 1.5rem 0;
}
#suggestions-notice-wrapper p {
padding: 1.5rem;
font-size: 1.6rem;
font-style: italic;
}
#suggestions-notice-confirm {
display: block;
width: 100%;
color: #00AACC;
background: none;
border: none;
border-top: 0.1rem solid rgba(255, 255, 255, 0.05);
border-radius: 0;
padding: 1rem;
font-size: 16px;
font-style: italic;
}
#settings-link {
color: #00AACC;
}
#suggestions-notice-wrapper::before {
content: ' ';
height: 0;
width: 0;
position: absolute;
border-style: solid;
border-width: 0 1rem 1rem;
border-color: transparent transparent rgba(45, 45, 45, 0.94) transparent;
top: -1rem;
margin-inline-start: calc(50% - 1rem);
z-index: -1;
}
/* show up to 2-line labels in result icons */
#search-results .icon .title {
text-shadow: none !important;
height: calc(3.88rem + 0.2rem);
white-space: normal !important;
}
.loading {
display: none;
padding: 2.5rem 0;
text-align: center;
width: 100%;
}
[data-loading=true] .loading {
display: block;
}
#places .meta {
direction: ltr;
}
html[dir="ltr"] #places .meta { text-align: left; }
html[dir="rtl"] #places .meta { text-align: right; }