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,171 @@
#keyboards {
/* See the new mozpasspointerevents attribute added in bug 796452 */
pointer-events: none;
position: absolute;
bottom: 0;
width: 100%;
height: 100%;
}
.inputWindow {
position: absolute;
opacity: 0;
transform: translateY(100%);
bottom: 0;
height: 100%;
width: 100%;
}
.inputWindow iframe {
display: none;
position: absolute;
bottom: 0;
width: 100%;
height: 100%;
}
.inputWindow.active {
opacity: 1;
transform: translateY(0);
}
.inputWindow.top-most iframe {
display: block;
}
@media not all and (-moz-physical-home-button) {
#screen:not(.software-button-disabled) #keyboards {
bottom: var(--software-home-button-height);
}
}
#screen.software-button-enabled #keyboards {
bottom: var(--software-home-button-height);
}
@media (orientation: landscape) {
#screen.software-button-enabled #keyboards {
/* BiDi note: the software home button should not be mirrored in RTL. */
right: var(--software-home-button-height);
bottom: 0;
left: 0;
width: auto;
}
}
.inputWindow.slide-from-bottom {
animation: kbShow var(--transition-duration) both ease;
}
.inputWindow.slide-to-bottom {
/* ease-in for disappearing */
animation: kbHide var(--transition-duration) both ease-in;
}
@keyframes kbShow {
0% {
opacity: 0;
transform: translateY(100%);
}
80% {
/* the original style indicates opacity should transition from 0 to 1
within 0.2s for "ease", which after calculation is about 80% progress
of var(--transition-duration) "ease". */
opacity: 1;
}
100% {
opacity: 1;
transform: translateY(0);
}
}
@keyframes kbHide {
0% {
opacity: 1;
transform: translateY(0);
}
100% {
opacity: 0;
transform: translateY(100%);
}
}
/* notification */
#keyboard-show-ime-list > .fake-notification {
box-sizing: border-box;
/* wait for activate */
display: none;
}
#keyboard-show-ime-list > .fake-notification.activated {
display: block;
}
#keyboard-show-ime-list > .fake-notification > .title-container {
margin: 1.4rem 0 0;
margin-inline-start: 3.7rem;
}
#keyboard-show-ime-list > .fake-notification > .detail {
margin-inline-start: 3.7rem;
}
.lockScreenInputWindow.slide-from-bottom {
animation: slideFromBottom var(--transition-duration) both ease;
}
.lockScreenInputWindow.slide-to-bottom {
animation: slideToBottom var(--transition-duration) both ease-in;
}
@keyframes slideFromBottom {
0% {
opacity: 0;
transform: translateY(100%);
}
50% {
opacity: 1;
}
100% {
opacity: 1;
transform: translateY(0);
}
}
@keyframes slideToBottom {
0% {
opacity: 1;
transform: translateY(0);
}
50% {
opacity: 0;
}
100% {
opacity: 0;
transform: translateY(100%);
}
}
.lockScreenInputWindow {
transform: translateY(100%);
}
.lockScreenInputWindow #lockscreen-inputpad-frame {
position: absolute;
bottom: 0;
width: 100%;
height: 100%;
border: 0;
}
.lockScreenInputWindow #lockscreen-inputpad-frame.hide {
transform: translateY(100%);
}
/* Gecko 52 desktop: the JS clip limits hit testing to the keyboard area. */
.inputWindow.active.top-most iframe { pointer-events: auto; }