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,9 @@
<li class="cmp-attachment-item">
<span class="cmp-attachment-icon" role="presentation"></span>
<span class="cmp-attachment-fileinfo">
<span dir="auto" class="cmp-attachment-filename"></span>
<span class="cmp-attachment-filesize"></span>
</span>
<span class="cmp-attachment-remove" role="button"
data-l10n-id="compose-attachment-remove"></span>
</li>

View file

@ -0,0 +1,11 @@
<li class="cmp-autocomplete-item">
<!-- Using an a tag so that screen reader properly activates a selection
when tapped. Using a div meant the ul element got the click. To get proper full bleed on the active/selected color, need to use another div inside
the a tag to get that while keeping the margins on text and border. -->
<a class="cmp-autocomplete-item-link" href="#">
<div class="cmp-autocomplete-item-details">
<span class="cmp-autocomplete-name" dir="auto" aria-hidden="true"></span>
<span class="cmp-autocomplete-email" dir="auto" aria-hidden="true"></span>
</div>
</a>
</li>

View file

@ -0,0 +1,34 @@
define(['require'], function (require) {
var contacts = navigator.mozContacts;
function makeResult(query, contacts) {
return {
query: query,
contacts: contacts
};
}
return function match(query) {
return new Promise(function (resolve, reject) {
if (!contacts || !query) {
return resolve(makeResult(query, []));
}
var request = contacts.find({
filterBy: [
'email',
'name',
'givenName',
'familyName'
],
filterOp: 'startsWith',
filterLimit: 30,
filterValue: query
});
request.onsuccess = function () {
resolve(makeResult(query, this.result));
};
request.onerror = function (err) {
console.error('autocomplete_source contacts.find error: ' + err);
resolve(makeResult(query, []));
};
});
};
});

View file

@ -0,0 +1,13 @@
<form class="cmp-contact-menu" role="dialog" data-type="action">
  <header></header>
<menu>
<button class="cmp-contact-menu-edit" data-l10n-id="message-edit-menu-edit">
</button>
  <button class="cmp-contact-menu-delete" data-l10n-id="message-edit-menu-delete">
</button>
<span class="last-button-container">
<button class="cmp-contact-menu-cancel" data-l10n-id="message-multiedit-cancel">
</button>
</span>
</menu>
</form>

View file

@ -0,0 +1,9 @@
<form role="dialog" class="cmp-draft-menu" data-type="action">
<menu>
<button id="cmp-draft-save" data-l10n-id="compose-draft-save"></button>
<button id="cmp-draft-discard" class="danger" data-l10n-id="compose-delete-confirm"></button>
<span class="last-button-container">
<button id="cmp-draft-cancel" data-l10n-id="message-multiedit-cancel"></button>
</span>
</menu>
</form>

View file

@ -0,0 +1,11 @@
<form role="dialog" data-type="confirm">
<section>
<h1 data-l10n-id="compose-invalid-addresses-title"></h1>
<p data-l10n-id="compose-invalid-addresses-description"></p>
</section>
<menu>
<button id="cmp-confirm-invalid-addresses"
class="confirm-dialog-ok full recommend"
data-l10n-id="dialog-button-ok"></button>
</menu>
</form>

View file

@ -0,0 +1,4 @@
<div class="cmp-peep-bubble peep-bubble" dir="auto" role="button">
<span class="cmp-peep-name"></span>
<span class="cmp-peep-address collapsed"></span>
</div>