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,48 @@
/* ----------------------------------
* BANNER
* Requires:
menus-dialogs/core.css
* ---------------------------------- */
body[role="application"] section[role="dialog"].banner {
top: auto;
height: 16rem;
background: none;
box-shadow: none;
text-align: center;
border: none;
width: auto;
margin: 0;
}
body[role="application"] section[role="dialog"].banner div {
height: 7rem;
padding: 2rem 4.4rem;
border-radius: 5.5rem;
background: RGBA(0, 0, 0, 0.7);
display: inline-block;
}
body[role="application"] section[role="dialog"].banner div:after {
content: "";
display: inline-block;
vertical-align: middle;
width: 0.1rem;
height: 100%;
}
body[role="application"] section[role="dialog"].banner div p {
display: inline-block;
vertical-align: middle;
white-space: normal;
font-size: 2.8rem;
font-weight: 200;
line-height: 7rem;
margin: 0;
}
body[role="application"] section[role="dialog"].banner div p strong {
text-transform: uppercase;
color: #0995b0;
font-weight: normal;
}

View file

@ -0,0 +1,245 @@
/* ----------------------------------
* BUTTONS: DEFAULT
* ---------------------------------- */
[role="dialog"] button::-moz-focus-inner {
border: none;
outline: none;
}
[role="dialog"] button,
[role="dialog"] a[role="button"] {
font-family: sans-serif;
font-style: italic;
width: 100%;
height: 4rem;
margin: 0 0 1rem;
padding: 0 1.2rem;
-moz-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[role="button"].affirmative {
background-color: #00caf2;
color: #fff;
}
/* Negative */
[role="dialog"] button.negative,
[role="dialog"] a.negative[role="button"] {
background-color: #e51e1e;
color: #fff;
}
/* Pressed */
[role="dialog"] button:active,
[role="dialog"] a[role="button"]:active {
background-color: #00aacc;
color: #fff;
}
/* Disabled */
[role="dialog"] button[disabled="disabled"],
[role="dialog"] a[role="button"][aria-disabled="true"] {
background-color: #e7e7e7;
color: #a6a6a6;
pointer-events: none;
}
/* Negative disabled */
[role="dialog"] button.negative[disabled="disabled"],
[role="dialog"] a.negative[role="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[role="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[role="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[role="button"][aria-disabled="true"].affirmative {
background-color: #006579;
}
/* Negative disabled */
[role="dialog"] menu button[disabled="disabled"].negative,
[role="dialog"] menu a[role="button"][aria-disabled="true"].negative {
background-color: #730f0f;
}
button[disabled]::-moz-selection,
.button[aria-disabled="true"]::-moz-selection,
[role="button"][aria-disabled="true"]::-moz-selection {
-moz-user-select: none;
}
/* Icons in buttons */
[role="dialog"] button span,
[role="dialog"] a[role="button"] span {
float: left;
width: 2.5rem;
height: 2.5rem;
margin: 0 0.5rem 0 -1rem;
background: transparent no-repeat center center;
}
[role="dialog"] button span.end,
[role="dialog"] a[role="button"] span.end {
float: right;
margin: 0.3rem -1.5rem 0 1rem;
}
/* Icon base types */
[role="dialog"] button span.goto,
[role="dialog"] a[role="button"] span.goto {
background-image: url(images/icons/goto.png);
}
[role="dialog"] button span.launch,
[role="dialog"] a[role="button"] span.launch {
background-image: url(images/icons/launch.png);
background-position: 1rem bottom;
}
[role="dialog"] button span.favorite,
[role="dialog"] a[role="button"] span.favorite {
background-image: url(images/icons/favorite.png);
}
[role="dialog"] button span.call,
[role="dialog"] a[role="button"] span.call {
background-image: url(images/icons/call.png);
background-position: center bottom;
}
[role="dialog"] button span.tick,
[role="dialog"] a[role="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-left: 0.5rem;
margin-bottom: 0.5rem;
}
/* Default */
[role="dialog"] .buttons-list button,
[role="dialog"] .buttons-list a[role="button"] {
background: #e7e7e7;
border-color: #b6b6b6;
text-align: left;
font-size: 1.4rem;
line-height: 2.9rem;
position: relative;
overflow: visible;
}
[role="dialog"] .buttons-list a[role="button"]:after,
[role="dialog"] .buttons-list button:after {
content: "";
position: absolute;
left: 0;
right: 0;
top: 100%;
background: url(images/ui/shadow.png) repeat-x left bottom;
height: 0.2rem;
margin-top: 0.1rem;
pointer-events: none;
}
/* Press */
[role="dialog"] .buttons-list button:active,
[role="dialog"] .buttons-list a[role="button"]:active {
border-color: #008aaa;
background: #008aaa;
color: #333;
}
[role="dialog"] .buttons-list a[role="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[role="button"][aria-disabled="true"] {
background: #ededed;
border-color: #d3d3d3;
color: #a6a6a6;
}
[role="dialog"] .buttons-list button[disabled="disabled"]:after,
[role="dialog"] .buttons-list a[role="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[role="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[role="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[role="button"] {
border-radius:0 0 0.3rem 0.3rem;
}
@media (min-width: 768px) {
[role="dialog"] button,
[role="dialog"] a[role="button"] {
font-size: 2.3rem;
font-weight: 400;
width: 18rem;
height: 4rem;
}
}

View file

@ -0,0 +1,210 @@
/* ----------------------------------
* 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;
color: #fff;
font-size: 0;
white-space: nowrap;
background: RGBA(0, 0, 0, 0.7);
text-align: center;
z-index: 100;
overflow: hidden;
}
#screen.software-button-enabled [role="dialog"].generic-dialog {
bottom: 0;
}
@media (orientation: landscape) {
#screen.software-button-enabled [role="dialog"].generic-dialog {
bottom: 0;
right: 0;
}
}
[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;
vertical-align: top;
width: 54.69vw; /* 105rem in 1920 x 1080 */
margin-left: -0.1rem; /* need to fix the white-space: nowrap */
padding: 0 1.5rem 2rem 0;
white-space: normal;
margin-top: 20.37vh; /* 20.37vh = 22rem in 1920x1080 */
}
[role="dialog"].generic-dialog h3 {
font-weight: normal;
font-size: 1.6rem;
line-height: 1.5rem;
color: #fff;
border-bottom: 0.1rem solid #686868;
margin: 0 0 1rem;
padding: 0 1.5rem 1.5rem;
}
[role="dialog"].generic-dialog menu:not([type="toolbar"]) {
white-space: nowrap;
margin: 0;
padding: 0;
height: 34.5rem;
display: block;
overflow: visible;
position: absolute;
left: 0;
right: 0;
bottom: 0;
}
[role="dialog"].generic-dialog menu:not([type="toolbar"])[data-items="2"] smart-button,
[role="dialog"].generic-dialog menu:not([type="toolbar"])[data-items="2"] a[role="button"] {
margin: 0 0.5rem;
}
/* ----------------------------------
* INLINE BANNER
* ---------------------------------- */
[role="dialog"].generic-dialog.inline {
position: relative;
margin: -0.4rem 0 0 0;
padding: 1rem 0 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) and (max-width: 1280px) {
[role="dialog"].generic-dialog {
-moz-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 2rem 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[role="button"]:last-child {
margin-left: 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[role="button"],
[role="dialog"].generic-dialog menu:not([type="toolbar"]) button:first-child,
[role="dialog"].generic-dialog menu:not([type="toolbar"]) a[role="button"]:first-child {
margin-left: 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[role="button"]:first-child {
margin-left: 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 */
left: calc(50% - 34rem); /* dialog width 68rem */
}
}
/* ----------------------------------
* CHECKBOX
* ---------------------------------- */
@media (min-width: 1280px) {
label.pack-checkbox {
width: 5.2rem;
height: 5.2rem;
border: 0.4rem solid #5f6368;
border-radius: 50%;
margin-right: 2rem;
line-height: 5.2rem;
text-align: center;
background: none;
transition: transform 0.2s;
}
label.pack-checkbox input ~ span::after {
background-image: none;
width: 5.2rem;
height: 5.2rem;
margin: -2.6rem -2.6rem 0 0;
left: auto;
top: 50%;
right: 50%;
bottom: auto;
}
label.pack-checkbox input:focused ~ span::after {
transform: scale(1.2);
transform-origin: 50% 50%;
}
label.pack-checkbox input:checked ~ span::after {
font-family: "gaia-icons";
font-style: normal;
font-weight: 500;
font-size: 4rem;
text-rendering: optimizelegibility;
content: "tick";
color: #00caf2;
}
}

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.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 716 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 716 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 716 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

View file

@ -0,0 +1,70 @@
/* ----------------------------------
* 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 0;
display: block;
overflow: hidden;
}
[role="dialog"] menu.actions > ul > li {
padding: 1rem 1.5rem 0 1.5rem;
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[role="button"] {
font-size: 1.4rem;
color: #fff;
text-shadow: none;
text-align: left;
padding: 0 1rem;
background: #4E4E4E padding-box;
border: solid 0.1rem rgba(0, 0, 0, 0.25);
}
[role="dialog"] menu.actions > ul > li:not(:last-child) > button:active,
[role="dialog"] menu.actions > ul > li:not(:last-child) > a[role="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[role="button"] {
margin: 0.5rem 0 1rem 0;
}

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;
}