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

View file

@ -0,0 +1,25 @@
/*
Structure of app
*/
.view-body {
overflow-y: auto;
overflow-x: hidden;
height: -moz-calc(100% - 5rem);
width: 100%;
/* This box-sizing is necessary to prevent vertical scrolling in views that
* specify vertical paddings and/or borders. */
-moz-box-sizing: border-box;
will-change: scroll-position;
}
/* Style of highlighted text. */
.highlight {
background-color: #b2f2ff;
}
/* Hidden elements */
.hide, [data-template] {
display: none !important;
}

View file

@ -0,0 +1,278 @@
#messages-compose-form {
display: flex;
flex-direction: column;
height: auto; /* overrides building blocks */
min-height: 4rem;
background-color: #fff;
}
/* Overwrite. No more fixed height */
form[role="search"] p input,
form[role="search"] p textarea,
form[role="search"] button[type="submit"] + p > textarea {
height: auto;
}
/*
* Input now are contentEditable containers. We define
* placeholder management here as well.
*/
#messages-input {
position: relative; /* to position its generated content */
overflow: auto;
box-sizing: border-box;
width: 100%;
height: 100%;
padding-inline-end: 0.5rem;
color: #474747;
border-inline-end: 0.1rem solid #ccc;
font-size: 1.7rem;
line-height: 2.1rem;
unicode-bidi: -moz-plaintext;
}
#messages-input.placeholder {
unicode-bidi: unset;
}
#messages-input:after {
content: attr(title);
position: absolute;
top: 0;
left: 0;
right: 0;
color: #9b9b9b;
font-style: italic;
white-space: nowrap;
pointer-events: none;
visibility: hidden;
}
#messages-input.placeholder:after {
visibility: visible;
}
/* Overwrite BB because of the previous rule */
form[role="search"] button[type="submit"]:after {
content: "";
background: none;
}
.mms-label-line {
display: flex;
justify-content: flex-end;
align-items: flex-end;
background-color: #e1f0ec;
}
.subject-composer {
position: relative;
flex-grow: 1;
min-width: 0;
padding: 1rem 0 0.3rem;
}
.mms-label {
padding: 1rem 0 0.3rem;
}
.mms-label,
.message-counter {
display: none;
flex: none;
text-align: center;
box-sizing: border-box;
width: 6rem;
color: #575757;
font-size: 1.4rem;
}
.message-counter {
padding-top: .7rem;
}
/**
* 1. "MMS" label is displayed near the subject field when subject input is
* visible and message type is MMS;
* 2. Remaining characters counter is displayed in bottom section if character
* count exceeds predefined threshold and message type is SMS.
*/
[data-message-type='mms'] .mms-label,
[data-message-type='sms'] .message-counter:not(:empty) {
display: block;
}
.content-composer {
display: flex;
flex-direction: row;
min-height: 0;
}
.subject-composer-input {
position: relative;
box-sizing: border-box;
min-height: 2.2rem;
padding: 0;
padding-bottom: 0.1rem;
padding-inline-start: 1.5rem;
color: #008787;
font-size: 1.7rem;
}
.subject-composer-placeholder {
position: absolute;
top: 1rem;
/* adding both left/right so that it behaves correctly in RTL */
left: 1.5rem;
right: 1.5rem;
color: #00adad;
font-size: 1.7rem;
font-weight: normal;
font-style: italic;
pointer-events: none;
}
.composer-message-input-container {
position: relative;
flex: auto;
box-sizing: border-box;
min-width: 0;
height: 100%;
min-height: 4rem;
padding: 1rem 0;
}
.composer-button-container {
position: relative;
display: flex;
flex: none;
flex-direction: row;
justify-content: center;
align-content: space-between;
flex-wrap: wrap;
width: 6rem;
-moz-user-select: none; /* without this, tapping on the element selects its content */
}
.messages-attach-container {
display: flex;
}
#messages-send-button {
height: 4rem;
overflow: visible;
background: #fff no-repeat center center / 3rem;
align-self: flex-end;
}
html[dir="ltr"] #messages-send-button {
background-image: url(images/icons/actionicon_sms_send_30x30.png);
/* When we put the icon at the center, an optical illusion makes it look to be
* slightly to the left, so we offset the button by 2px to the right to
* counteract this illusion */
transform: translate(.2rem);
}
html[dir="rtl"] #messages-send-button {
background-image: url(images/icons/actionicon_sms_send_30x30_rtl.png);
transform: translate(-.2rem);
}
#messages-send-button:after {
display: none
}
#messages-send-button[disabled] {
background-blend-mode: luminosity;
opacity: 0.625;
}
#messages-attach-button {
align-self: flex-end;
flex: none;
box-sizing: content-box;
width: 3rem;
margin: 0;
padding: 0;
padding-inline-start: 0.5rem;
padding-inline-end: 1rem;
background: transparent
url('images/icons/actionicon_sms_add_attachment_30x30.png')
no-repeat center / 3rem;
}
#messages-attach-button[disabled] {
background-blend-mode: luminosity;
opacity: 0.3;
}
/*
DSDS
*/
.sim-indication {
position: absolute;
offset-inline-end: 1.8rem;
bottom: 0.4rem;
display: none;
line-height: 1;
color: #5f5f5f;
font-size: 1.4rem;
font-style: normal;
}
.sim-indication:before {
position: absolute;
/* 2.6rem from the end; means .8rem from .sim-indication */
offset-inline-end: .8rem;
bottom: -0.1rem;
content: '...';
color: #b2b2b2;
font-size: 1.6rem;
}
button[disabled] .sim-indication {
color: inherit;
}
.has-preferred-sim .sim-indication {
display: block;
}
/**
* Override Building Block [Input areas] styles
* We should get rid of all [role="search"] Messages rules in bug 1055357.
*/
form.bottom[role="search"] {
z-index: 3;
}

View file

@ -0,0 +1,108 @@
/*
* This file contains styles shared between views when they're in edit mode.
* View edit mode is activated via Options -> Select threads/messages.
*/
/* Override Building Block [Edit mode] styles */
form[role="dialog"][data-type="edit"] gaia-header {
transform: translateY(-110%);
}
form[role="dialog"][data-type="edit"] > menu {
transform: translateY(110%);
}
/* Add a margin at the end of the last thread or message node to avoid overlay
* with the edit mode menu */
.edit .edit-container {
padding-bottom: 7rem;
}
#main-wrapper.edit [data-type="list"] li a {
pointer-events: none;
}
.edit .bottom-tab[role="region"] {
visibility: visible;
}
/* Override Building Block Tabs styles */
form[role="dialog"][data-type="edit"] .bb-tablist:before {
bottom: 5.5rem ;
}
form[role="dialog"][data-type="edit"] .bb-tablist > li {
height: 5.5rem ;
}
.bb-tablist > li button {
background-position: 50% 50% ;
}
.bb-tablist > li button[data-action="delete-button"] {
background-image: url("images/icons/delete.png");
}
/* Lists: edit mode */
html[dir="ltr"] .edit [data-type="list"] li > a {
transform: translateX(-1.5rem);
}
html[dir="rtl"] .edit [data-type="list"] li > a {
transform: translateX(1.5rem);
}
.edit [data-type="list"] li > label {
opacity: 1;
pointer-events: auto;
}
html[dir="ltr"] .edit [data-type="list"] li > label {
transform: translateX(2rem);
}
html[dir="rtl"] .edit [data-type="list"] li > label {
transform: translateX(-2rem);
}
.edit [data-type="list"] li > .pack-checkbox input ~ span:after {
opacity: 1;
}
html[dir="ltr"] .edit [data-type="list"] li > .pack-checkbox input ~ span:after {
transform: translateX(2.5rem);
}
html[dir="rtl"] .edit [data-type="list"] li > .pack-checkbox input ~ span:after {
transform: translateX(-2.5rem);
}
.edit [data-type="list"] li > a > p {
margin-inline-end: 3.4rem;
}
html[dir="ltr"] .edit [data-type="list"] li > a > p {
transform: translateX(5rem);
}
html[dir="rtl"] .edit [data-type="list"] li > a > p {
transform: translateX(-5rem);
}
/* Currently is used in ConversationView only */
html[dir="ltr"] .edit [data-type="list"] .danger {
transform: translateX(2.5rem);
}
html[dir="rtl"] .edit [data-type="list"] .danger {
transform: translateX(-2.5rem);
}
form[role="dialog"][data-type="edit"] {
visibility: hidden;
}
.edit form[role="dialog"][data-type="edit"] {
visibility: visible;
}
.edit form[role="dialog"][data-type="edit"] > menu {
transform: translateY(0);
}
.edit form[role="dialog"][data-type="edit"] gaia-header {
transform: translateY(0);
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 513 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 292 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 483 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 289 B

View file

@ -0,0 +1,34 @@
/* Most of this should probably move to the Building Blocks: Bug 1011418 */
section[role="notification"] {
box-sizing: border-box;
z-index: 1;
position: relative; /* so that we can compete
with absolutely positioned elements */
overflow: hidden;
min-height: 3.5rem;
background-color: rgba(77,77,77,0.95);
font-size: 1.5rem;
font-weight: 300;
font-style: italic;
color: #fff;
}
section[role="notification"] a {
color: #9ef2e7;
text-decoration: underline;
}
section[role="notification"] p {
margin: .9rem 1.5rem;
line-height: 1.7rem;
text-align: center;
}
section[role="notification"] a {
color: #9ef2e7;
text-decoration: underline;
}

View file

@ -0,0 +1,25 @@
.panel {
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
overflow: auto;
background: white;
animation: var(--transition-duration) both ease;
}
.panel {
transform: translate(100%); /* BiDi proof */
}
.panel-active {
transform: translate(0);
}
.panel-hidden {
display: none;
}

View file

@ -0,0 +1,172 @@
/* Global */
html, body {
height: 100%;
}
body {
margin: 0;
padding: 0;
overflow: hidden;
color: #000;
font-size: 1.6rem;
line-height: 2.2rem;
vertical-align: middle;
background: var(--header-background);
}
/* Text conventions */
h1, h2, h3, h4, h5, h6 {
margin: 0;
padding: 0;
font-weight: normal;
}
ul, ol, dl, dt, dd {
padding: 0;
margin: 0;
list-style-type: none;
}
p, li {
word-wrap: break-word;
margin: 0;
padding: 0;
}
q {
quotes: none;
display: block;
}
pre, blockquote {
padding: 0;
margin: 0;
}
em {
font-style: italic;
}
address {
font-style: normal;
display: inline;
}
abbr, acronym {
cursor: default;
border: none;
}
strong {
font-weight: 700;
}
b {
font-weight: 600;
}
small {
font-size: 1.1rem;
line-height: 1rem;
color: #999;
}
/* Links */
a {
text-decoration: none;
outline: none;
color: #ff4e00;
}
a:hover {
text-decoration: none;
}
a img {
border: none;
}
a abbr {
cursor: pointer;
}
/* Forms */
form {
margin: 0;
}
fieldset {
margin: 2rem 0 0;
padding: 0;
border: none;
}
fieldset.first {
margin: 0;
}
legend {
padding: 0;
display: block;
width: 0;
height: 0;
overflow: hidden;
font: 0/0 a;
}
button::-moz-focus-inner {
padding: 0;
border: none;
}
input, textarea, select, button {
margin: 0;
padding: 0;
vertical-align: middle;
}
input:focus, textarea:focus {
outline: none;
}
textarea {
resize: none;
overflow: auto;
height: 4.6rem;
}
input[type="text"], textarea {
font-size: 1.3rem;
line-height: 4rem;
}
input[type="text"]:focus, textarea:focus {
border-color: #7a7a7a;
}
[contenteditable] {
outline: none;
word-wrap: break-word;
}
/* Media */
img {
display: block;
padding: 0;
margin: 0;
width: 100%;
}
img:-moz-broken {
line-height: 1.1rem;
overflow: hidden;
}
/* HTML 5 */
article, aside, details, figcaption, figure, footer, header, hgroup,
menu, nav, section, video, audio, canvas, progress, meter, time {
display: block;
padding: 0;
margin: 0;
}

View file

@ -0,0 +1,261 @@
html, body {
height: 100%;
width: 100%;
padding: 0;
margin: 0;
font-size: 10px;
overflow-x: hidden !important;
overflow-y: hidden !important;
}
.shim-host {
width: 0;
height: 0;
}
/* Default alignment in case a dir attribute is specified. */
html[dir="ltr"] [dir] { text-align: left; }
html[dir="rtl"] [dir] { text-align: right; }
/*
Override BB. Some CSS tweaks for having a better confirm readability
*/
form[role="dialog"][data-type="confirm"] p {
white-space: pre-line;
}
form[role="dialog"].error-dialog-show-recipient ul {
border: none;
}
form[role="dialog"].error-dialog-show-recipient ul li {
padding: 0;
}
/* This does not override the building block, that's why we use a shorter
* selector */
.error-dialog-show-recipient li {
/* future-proof in case BB moves to "text-align: start" */
width: -moz-fit-content;
/* List items are phone numbers */
direction: ltr;
unicode-bidi: -moz-isolate;
}
gaia-header {
position: relative;
z-index: 10;
}
.subheader {
position: absolute;
z-index: 6; /* should be between 4 and 9 (inclusive). 3 is the z-index for
the input form, 10 is the z-index for the header */
left: 0;
right: 0;
top: 5rem;
}
/* Container for conversation/new message view */
#composer-container {
position: relative;
background: #e1f0ec;
}
/*
* Flex layout is wrapped by 'flex-composer'. Our flex layout has
* 2 well differentiated:
* - 'messages-container'
* - 'messages-compose-form'
*/
.flex-composer {
display: flex;
flex-direction: column;
height: 100%;
top: 0;
overflow: hidden;
}
/* Override Building Block [Lists] styles */
[data-type="list"] {
padding: 0;
}
.bottom-tab[role="region"] {
visibility: hidden;
}
[data-type="list"] header {
margin: 0 1.5rem;
}
[data-type="list"] li > label {
display: block;
overflow: hidden;
opacity: 0;
}
[data-type="list"] aside.pack-end {
margin: 0 .5rem;
}
/* Panel handling */
#main-wrapper {
position: absolute;
overflow: hidden;
width: 100%;
height: 100%;
left: 0;
top: 0;
}
.disabled {
opacity: 0.3;
pointer-events: none;
}
/*
Loading screen while deleting
*/
#loading.show-loading {
display: block;
}
#loading {
display: none;
}
.loading-header {
text-align: start;
}
#loading [role="status"] {
text-align: center;
height: 4rem;
}
#loading p {
border-bottom: none;
}
.article-list[data-type="list"] ul.contact-list {
overflow-x: hidden;
overflow-y: auto;
width: calc(100% - 3.1rem);
padding: 0 1.5rem;
background: #fff;
}
/**
* TODO: It's an adjustment for line-height/padding to prevent bottom of chars
* been cut. This fix will be moved to shared list.css once Bug 1144588 landed
*/
.contact-list .suggestion > .name {
line-height: 2.4rem;
padding-top: 0.8rem;
}
form[role="dialog"][data-type="action"].contact-prompt > header {
height: auto;
min-height: 5rem;
font-weight: 300;
}
.unknown-contact-header {
line-height: 2.5rem;
padding: 1.3rem 0;
margin: 0;
overflow: hidden;
text-overflow: ellipsis;
font-size: 2.3rem;
}
.contact-header {
/* bottom padding is .9rem because we need .1rem more for the
* nice shadow line at the header bottom, defined as a :after element */
padding: 0.8rem 0 0.9rem;
}
.contact-header .name {
line-height: 3.3rem;
padding: 0.1rem 0 0.4rem;
margin: 0;
overflow: hidden;
text-overflow: ellipsis;
font-size: 2.3rem;
}
.contact-header .details {
line-height: 1.5rem;
padding: 0 0 0.7rem;
margin: 0;
overflow: hidden;
text-overflow: ellipsis;
font-size: 1.5rem;
}
.contact-header span[data-type=img] {
display: block;
width: 6rem;
height: 6rem;
background-size: cover;
background-position: center;
}
.contact-header aside.pack-end {
margin-inline-end: -1.5rem; /* compensate the header's 3rem padding */
}
html[dir="ltr"] .contact-header aside.pack-end { float: right; }
html[dir="rtl"] .contact-header aside.pack-end { float: left; }
.suggestion * {
pointer-events: none;
}
form[role="dialog"][data-type="action"] > header {
text-align: start;
}
/* Phone details label styles */
.phone-type,
.phone-type-separator,
.phone-carrier,
.phone-carrier-separator {
display: none;
}
.has-phone-type > .phone-type,
.has-phone-type > .phone-type-separator,
.has-phone-carrier > .phone-carrier,
.has-phone-carrier > .phone-carrier-separator {
display: unset;
}
/* Text selection control */
html {
-moz-user-select: none;
}
.editable-select-mode [contenteditable="true"] {
-moz-user-select: text;
}
/* ellipsis direction hack before bug 883884 fixed */
.ellipsis-dir-fix {
display: block;
width: -moz-fit-content;
max-width: 100%;
overflow: hidden;
text-overflow: ellipsis;
}