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,284 @@
/* ----------------------------------
* BUTTONS: DEFAULT
* ---------------------------------- */
[role="dialog"] button::-moz-focus-inner {
border: none;
outline: none;
}
[role="dialog"] button,
[role="dialog"] a.bb-button {
font-family: sans-serif;
font-style: italic;
width: 100%;
height: 4rem;
margin: 0 0 1rem;
padding: 0 0.2rem;
box-sizing: border-box;
display: inline-block;
vertical-align: middle;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
background: #d8d8d8;
border: none;
border-radius: 2rem;
font-weight: normal;
font-size: 1.6rem;
line-height: 4rem;
color: #333;
text-align: center;
text-decoration: none;
outline: none;
}
/* Affirmative */
[role="dialog"] button.affirmative,
[role="dialog"] a.bb-button.affirmative {
background-color: #00caf2;
color: #fff;
}
/* Negative */
[role="dialog"] button.negative,
[role="dialog"] a.negative.bb-button {
background-color: #e51e1e;
color: #fff;
}
/* Pressed */
[role="dialog"] button:active,
[role="dialog"] a.bb-button:active {
background-color: #00aacc;
color: #fff;
}
/* Disabled */
[role="dialog"] button[disabled="disabled"],
[role="dialog"] a.bb-button[aria-disabled="true"] {
background-color: #e7e7e7;
color: #a6a6a6;
pointer-events: none;
}
/* Negative disabled */
[role="dialog"] button.negative[disabled="disabled"],
[role="dialog"] a.negative.bb-button[aria-disabled="true"] {
background-color: #97cbd5;
color: rgba(255,255,255,0.5);
}
/* Affirmative disabled */
[role="dialog"] button.affirmative[disabled="disabled"],
[role="dialog"] a.affirmative.bb-button[aria-disabled="true"] {
background-color: #eb7474;
color: rgba(255,255,255,0.5);
}
/* Disabled dark */
[role="dialog"] menu button[disabled="disabled"],
[role="dialog"] menu a.bb-button[aria-disabled="true"] {
background-color: #565656;
color: rgba(255,255,255,0.4);
}
/* Affirmative disabled */
[role="dialog"] menu button[disabled="disabled"].affirmative,
[role="dialog"] menu a.bb-button[aria-disabled="true"].affirmative {
background-color: #006579;
}
/* Negative disabled */
[role="dialog"] menu button[disabled="disabled"].negative,
[role="dialog"] menu a.bb-button[aria-disabled="true"].negative {
background-color: #730f0f;
}
button[disabled]::-moz-selection,
.button[aria-disabled="true"]::-moz-selection,
.bb-button[aria-disabled="true"]::-moz-selection {
-moz-user-select: none;
}
/* Icons in buttons */
[role="dialog"] button span,
[role="dialog"] a.bb-button span {
width: 2.5rem;
height: 2.5rem;
margin: 0 0.5rem;
margin-inline-start: -1rem;
background: transparent no-repeat center center;
}
html[dir="ltr"] [role="dialog"] button span,
html[dir="ltr"] [role="dialog"] a.bb-button span {
float: left;
}
html[dir="rtl"] [role="dialog"] button span,
html[dir="rtl"] [role="dialog"] a.bb-button span {
float: right;
}
[role="dialog"] button span.end,
[role="dialog"] a.bb-button span.end {
margin: 0.3rem -1.5rem 0;
margin-inline-start: 1rem;
}
html[dir="ltr"] [role="dialog"] button span.end,
html[dir="ltr"] [role="dialog"] a.bb-button span.end {
float: right;
}
html[dir="rtl"] [role="dialog"] button span.end,
html[dir="rtl"] [role="dialog"] a.bb-button span.end {
float: left;
}
/* Icon base types */
[role="dialog"] button span.goto,
[role="dialog"] a.bb-button span.goto {
background-image: url(images/icons/goto.png);
}
[role="dialog"] button span.launch,
[role="dialog"] a.bb-button span.launch {
background-image: url(images/icons/launch.png);
}
html[dir="ltr"] [role="dialog"] button span.launch,
html[dir="ltr"] [role="dialog"] a.bb-button span.launch {
background-position: left 1rem bottom;
}
html[dir="rtl"] [role="dialog"] button span.launch,
html[dir="rtl"] [role="dialog"] a.bb-button span.launch {
background-position: right 1rem bottom;
}
[role="dialog"] button span.favorite,
[role="dialog"] a.bb-button span.favorite {
background-image: url(images/icons/favorite.png);
}
[role="dialog"] button span.call,
[role="dialog"] a.bb-button span.call {
background-image: url(images/icons/call.png);
background-position: center bottom;
}
[role="dialog"] button span.tick,
[role="dialog"] a.bb-button span.tick {
background-image: url(images/icons/tick.png);
}
/* ----------------------------------
* BUTTONS: LIST
* ---------------------------------- */
[role="dialog"] .buttons-list {
padding: 0;
margin: 0;
list-style: none;
}
[role="dialog"] .buttons-list label {
font-size: 1.4rem;
line-height: 1em;
text-transform: uppercase;
display: block;
padding-inline-start: 0.5rem;
margin-bottom: 0.5rem;
}
/* Default */
[role="dialog"] .buttons-list button,
[role="dialog"] .buttons-list a.bb-button {
background: #e7e7e7;
border-color: #b6b6b6;
font-size: 1.4rem;
line-height: 2.9rem;
position: relative;
overflow: visible;
}
html[dir="ltr"] [role="dialog"] .buttons-list button,
html[dir="ltr"] [role="dialog"] .buttons-list a.bb-button {
text-align: left;
}
html[dir="rtl"] [role="dialog"] .buttons-list button,
html[dir="rtl"] [role="dialog"] .buttons-list a.bb-button {
text-align: right;
}
[role="dialog"] .buttons-list a.bb-button:after,
[role="dialog"] .buttons-list button:after {
content: "";
position: absolute;
left: 0;
right: 0;
top: 100%;
background-image: url(images/ui/shadow.png);
background-repeat: repeat-x;
height: 0.2rem;
margin-top: 0.1rem;
pointer-events: none;
}
html[dir="ltr"] [role="dialog"] .buttons-list a.bb-button:after,
html[dir="ltr"] [role="dialog"] .buttons-list button:after {
background-position: left bottom;
}
html[dir="rtl"] [role="dialog"] .buttons-list a.bb-button:after,
html[dir="rtl"] [role="dialog"] .buttons-list button:after {
background-position: right bottom;
}
/* Press */
[role="dialog"] .buttons-list button:active,
[role="dialog"] .buttons-list a.bb-button:active {
border-color: #008aaa;
background: #008aaa;
color: #333;
}
[role="dialog"] .buttons-list a.bb-button:active:after,
[role="dialog"] .buttons-list button:active:after {
opacity: 0;
}
/* Disabled */
[role="dialog"] .buttons-list button[disabled="disabled"],
[role="dialog"] .buttons-list a.bb-button[aria-disabled="true"] {
background: #ededed;
border-color: #d3d3d3;
color: #a6a6a6;
}
[role="dialog"] .buttons-list button[disabled="disabled"]:after,
[role="dialog"] .buttons-list a.bb-button[aria-disabled="true"]:after {
opacity: 1;
}
/* Compact mode */
[role="dialog"] .buttons-list[data-mode="compact"] { margin-bottom: 1rem; }
[role="dialog"] .buttons-list[data-mode="compact"] button,
[role="dialog"] .buttons-list[data-mode="compact"] a.bb-button {
margin: -0.1rem 0;
border-radius: 0;
}
[role="dialog"] .buttons-list[data-mode="compact"] li:first-child button,
[role="dialog"] .buttons-list[data-mode="compact"] li:first-child a.bb-button {
border-radius: 0.3rem 0.3rem 0 0;
}
[role="dialog"] .buttons-list[data-mode="compact"] li:last-child button,
[role="dialog"] .buttons-list[data-mode="compact"] li:last-child a.bb-button {
border-radius:0 0 0.3rem 0.3rem;
}
@media (min-width: 768px) {
[role="dialog"] button,
[role="dialog"] a.bb-button {
font-size: 2.3rem;
font-weight: 400;
width: 18rem;
height: 4rem;
}
}

View file

@ -0,0 +1,258 @@
/* ----------------------------------
* CORE STYLES FOR DIALOGS AND MENUS
* Is required for all the subcomponents (except banner)
* ---------------------------------- */
[role="dialog"].generic-dialog {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
padding: 0 0 7rem;
color: #fff;
font-size: 0;
white-space: nowrap;
background: #2d2d2d;
background-size: auto auto, 100% 100%;
z-index: 100;
overflow: hidden;
}
/* Fullscreen layout apps need to correct for SHB using css since
the layout manager does not account for SHB in this case. */
#screen.fullscreen-layout-app.software-button-enabled [role="dialog"].generic-dialog,
#screen.software-button-enabled > #dialog-screen,
#screen.software-button-enabled > #downloadConfirmUI,
#screen.software-button-enabled > #dialog-overlay,
#screen.software-button-enabled > #fullscreen-overlay {
bottom: var(--software-home-button-height);
}
@media (orientation: landscape) {
#screen.software-button-enabled [role="dialog"].generic-dialog,
#screen.software-button-enabled > #dialog-screen,
#screen.software-button-enabled > #downloadConfirmUI {
/* BiDi note: the software home button should not be mirrored in RTL. */
right: var(--software-home-button-height);
}
#screen.software-button-enabled > #fullscreen-dialog-overlay {
width: calc(100% - var(--software-home-button-height));
}
#screen.fullscreen-layout-app.software-button-enabled [role="dialog"].generic-dialog,
#screen.software-button-enabled > #dialog-screen,
#screen.software-button-enabled > #downloadConfirmUI,
#screen.software-button-enabled > #dialog-overlay,
#screen.software-button-enabled > #fullscreen-overlay {
bottom: 0;
}
}
#screen.software-button-enabled gaia-confirm {
margin-bottom: var(--software-home-button-height);
}
@media (orientation: landscape) {
#screen.software-button-enabled gaia-confirm {
margin-bottom: 0;
/* BiDi note: the software home button should not be mirrored in RTL. */
margin-right: var(--software-home-button-height);
}
}
[role="dialog"].generic-dialog:before {
content: "";
display: inline-block;
vertical-align: middle;
width: 0.1rem;
height: calc(100% - 7rem);
}
[role="dialog"].generic-dialog .inner {
display: inline-block;
width: calc(100% - 3rem);
margin-inline-start: -0.1rem; /* need to fix the white-space: nowrap */
padding: 0 1.5rem;
vertical-align: middle;
white-space: normal;
}
[role="dialog"].generic-dialog h3 {
font-weight: normal;
font-size: 1.6rem;
line-height: 2rem;
color: #fff;
border-bottom: 0.1rem solid #686868;
margin: 0 0 1rem;
padding: 1.5rem;
}
[role="dialog"] gaia-checkbox label {
/* !important to get around scoped styles from gaia-checkbox */
color: #fbfbfb !important;
}
[role="dialog"].generic-dialog menu:not([type="toolbar"]) {
white-space: nowrap;
margin: 0;
padding: 1.5rem 1rem;
background-color: #4d4d4d;
display: block;
overflow: hidden;
position: absolute;
left: 0;
right: 0;
bottom: 0;
}
[role="dialog"].generic-dialog menu:not([type="toolbar"]) button,
[role="dialog"].generic-dialog menu:not([type="toolbar"]) a.bb-button {
margin-bottom: 0;
}
[role="dialog"].generic-dialog menu:not([type="toolbar"])[data-items="2"] button,
[role="dialog"].generic-dialog menu:not([type="toolbar"])[data-items="2"] a.bb-button {
width: calc((100% - 2rem) / 2);
margin: 0 0.5rem;
}
/* ----------------------------------
* SYSTEM BANNER
* ---------------------------------- */
gaia-toast.banner {
--background-plus: #333333;
min-height: 6rem !important;
font-size: 1.7rem;
font-weight: 400;
--highlight-color: #e7e7e7;
opacity: 0.95;
}
gaia-toast.banner .container {
display: flex;
align-items: center;
min-height: 2.8rem;
}
gaia-toast.banner .messages {
flex: auto;
}
gaia-toast.banner .buttons {
flex: 0 0 -moz-fit-content;
}
gaia-toast.banner p {
margin: 0;
padding: 0;
}
gaia-toast.banner .button {
color: #00caf2;
text-decoration: underline;
font-weight: 500;
padding: 0 1.5rem;
}
#screen.software-button-enabled gaia-toast.banner {
bottom: var(--software-home-button-height) !important;
}
@media (orientation: landscape) {
#screen.software-button-enabled gaia-toast.banner {
bottom: 0 !important;
width: calc(100% - var(--software-home-button-height)) !important;
}
}
/* ----------------------------------
* INLINE BANNER
* ---------------------------------- */
[role="dialog"].generic-dialog.inline {
position: relative;
margin: -0.4rem 0 0;
padding: 1rem 0 0;
background: rgba(0,0,0,0.83);
}
[role="dialog"].generic-dialog.inline p {
border: 0;
padding: 1rem 1.5rem;
}
[role="dialog"].generic-dialog.inline menu {
position: relative;
background: none;
}
@media (min-width: 768px) {
[role="dialog"].generic-dialog {
box-sizing: border-box;
position: absolute;
width: 68rem;
height: 48rem;
padding: 0;
font-size: 2.2rem;
background-image: none;
background-color: #333333;
box-shadow: 0 0 1rem #222222;
border: 0.1rem solid #282828;
}
/* remove dotted outline when focus */
[role="dialog"].generic-dialog:focus {
outline: none;
}
[role="dialog"].generic-dialog:before {
content: none;
}
[role="dialog"].generic-dialog .inner {
display: block;
}
[role="dialog"].generic-dialog menu:not([type="toolbar"]) {
padding: 1.5rem 0;
}
[role="dialog"].generic-dialog menu:not([type="toolbar"]) {
background: none;
background-color: #2d2d2d;
}
[role="dialog"].generic-dialog menu:not([type="toolbar"]) button:last-child,
[role="dialog"].generic-dialog menu:not([type="toolbar"]) a.bb-button:last-child {
margin-inline-start: 4rem;
font-size: 2.3rem;
font-weight: 400;
width: 18rem;
height: 4rem;
}
[role="dialog"].generic-dialog menu:not([type="toolbar"]) button,
[role="dialog"].generic-dialog menu:not([type="toolbar"]) a.bb-button,
[role="dialog"].generic-dialog menu:not([type="toolbar"]) button:first-child,
[role="dialog"].generic-dialog menu:not([type="toolbar"]) a.bb-button:first-child {
margin-inline-start: calc(50% - 9rem);
}
[role="dialog"].generic-dialog menu:not([type="toolbar"])[data-items="2"] button:first-child,
[role="dialog"].generic-dialog menu:not([type="toolbar"])[data-items="2"] a.bb-button:first-child {
margin-inline-start: calc(50% - 20rem);
font-size: 2.3rem;
font-weight: 400;
width: 18rem;
height: 4rem;
}
/* XXX need move to shared */
form[role="dialog"][data-type="confirm"] {
top: calc(50% - 23rem); /* dialog height 46rem */
offset-inline-start: calc(50% - 34rem); /* dialog width 68rem */
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 324 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

View file

@ -0,0 +1,77 @@
/* ----------------------------------
* ACTION / OBJECT MENU
* Requires:
menu-dialoges/core.css
* ---------------------------------- */
[role="dialog"] menu.actions {
margin: 0;
padding: 0;
border: none;
background: none;
display: block;
overflow: hidden;
position: absolute;
left: 0;
right: 0;
bottom: 0;
}
[role="dialog"] menu.actions h3 {
display: block;
margin: 0 1.5rem;
}
[role="dialog"] menu.actions > ul {
list-style: none;
padding: 0;
margin: 0.5rem 0 0;
display: block;
overflow: hidden;
}
[role="dialog"] menu.actions > ul > li {
padding: 1rem 1.5rem 0;
margin: 0;
display: block;
overflow: hidden;
border: none;
height: auto;
line-height: normal;
}
[role="dialog"] menu.actions > ul > li:last-child {
border-top: solid 0.1rem rgba(255, 255, 255, 0.1);
background: #2d2d2d;
margin-top: 1.5rem;
}
[role="dialog"] menu.actions > ul > li:not(:last-child) > button,
[role="dialog"] menu.actions > ul > li:not(:last-child) > a.bb-button {
font-size: 1.4rem;
color: #fff;
text-shadow: none;
padding: 0 1rem;
background: #4E4E4E padding-box;
border: solid 0.1rem rgba(0, 0, 0, 0.25);
}
html[dir="ltr"] [role="dialog"] menu.actions > ul > li:not(:last-child) > button,
html[dir="ltr"] [role="dialog"] menu.actions > ul > li:not(:last-child) > a.bb-button {
text-align: left;
}
html[dir="rtl"] [role="dialog"] menu.actions > ul > li:not(:last-child) > button,
html[dir="rtl"] [role="dialog"] menu.actions > ul > li:not(:last-child) > a.bb-button {
text-align: right;
}
[role="dialog"] menu.actions > ul > li:not(:last-child) > button:active,
[role="dialog"] menu.actions > ul > li:not(:last-child) > a.bb-button:active {
background-color: #006f86;
color: #333;
text-shadow: 0 0.1rem 0 rgba(255, 255, 255, 0.25);
}
[role="dialog"] menu.actions > ul > li:last-child > button,
[role="dialog"] menu.actions > ul > li:last-child > a.bb-button {
margin: 0.5rem 0 1rem;
}

View file

@ -0,0 +1,26 @@
/* Windows */
div.windowSprite {
background: url("images/noise.png") repeat scroll 50% 50%, #373a3d;
}
/* Tasks Manager */
#cardsView li {
background-color: #00f;
}
#cardsView li > a {
background: url('images/tasks/close.png') no-repeat;
}
#cardsView li > a:active {
background: url('images/tasks/close-active.png') no-repeat;
}
#cardsView li > h1 {
text-align: center;
color: #fff;
font-size: 2em;
text-shadow: #000 0 0.2rem 0.1rem;
}