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:
parent
93e3a48004
commit
b38dea0597
25901 changed files with 9982925 additions and 369 deletions
314
gaia/tv_apps/smart-home/style/home.css
Executable file
314
gaia/tv_apps/smart-home/style/home.css
Executable file
|
|
@ -0,0 +1,314 @@
|
|||
html {
|
||||
font-size: 10px;
|
||||
/* We have Fira Sans as default font in real device. But it isn't default in
|
||||
* browser. That's the main reason this line is here.*/
|
||||
font-family: "Fira Sans";
|
||||
}
|
||||
|
||||
html, body {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
#main-section {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
a {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
a:hover, a:active, a:focus {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
section {
|
||||
font-size: 1.6rem;
|
||||
}
|
||||
|
||||
/* Card list */
|
||||
#card-viewer {
|
||||
position: absolute;
|
||||
overflow: hidden;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
top: 0;
|
||||
left: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
#card-list-frame {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 33.6rem;
|
||||
top: 32.41%;
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
#card-list {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
transition: transform 0.4s cubic-bezier(0.25, 0, 0, 1);
|
||||
transform-origin: 0 50%;
|
||||
}
|
||||
|
||||
#card-list.hidden {
|
||||
/* Using display none here would prevent animation, and using visibility
|
||||
hidden causes some bugs in rendering */
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
#card-list.no-transition,
|
||||
#folder-list.no-transition {
|
||||
transition-property: none;
|
||||
}
|
||||
|
||||
.card {
|
||||
margin: 0;
|
||||
left: 0;
|
||||
top: 0;
|
||||
position: absolute;
|
||||
transition: transform 0.4s cubic-bezier(0.25, 0, 0, 1), filter 0.3s ease;
|
||||
}
|
||||
|
||||
.card smart-button[type="app-button"].tv-channel {
|
||||
background-color: #272727;
|
||||
}
|
||||
|
||||
.card smart-button[type="app-button"].tv-channel:before {
|
||||
font-size: 30rem;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.card smart-button[type="app-button"].new-card {
|
||||
opacity: 0;
|
||||
transform: scale(0.5, 0.5);
|
||||
}
|
||||
|
||||
.card smart-button[type="app-button"].new-card-transition {
|
||||
transition: transform 0.4s cubic-bezier(0.25, 0, 0, 1) 0.2s,
|
||||
opacity 0.4s cubic-bezier(0.25, 0, 0, 1) 0.2s;
|
||||
}
|
||||
|
||||
.card smart-button[type="app-button"].new-card-transition.last-card {
|
||||
transition-delay: 0s;
|
||||
}
|
||||
|
||||
#folder-list .card smart-button[type="app-button"].new-card {
|
||||
opacity: 1;
|
||||
transform: translateY(-44rem);
|
||||
}
|
||||
|
||||
#folder-list .card smart-button[type="app-button"].new-card-transition {
|
||||
transition: transform 0.4s cubic-bezier(0.25, 0, 0, 1),
|
||||
opacity 0.4s cubic-bezier(0.25, 0, 0, 1);
|
||||
}
|
||||
|
||||
.card-panel {
|
||||
position: absolute;
|
||||
top: -23.14rem;
|
||||
width: 100%;
|
||||
height: 14.926rem;
|
||||
text-align: center;
|
||||
/* Use visibility hidden instead of display none here because display none
|
||||
may prevent transition happens */
|
||||
visibility: hidden;
|
||||
z-index: 0;
|
||||
}
|
||||
|
||||
.card-panel smart-button {
|
||||
position: relative;
|
||||
margin-left: 1.86em;
|
||||
width: 14.926rem;
|
||||
height: 14.926rem;
|
||||
transform: translateY(12rem);
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.card-panel smart-button:first-child {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.card-panel smart-button[data-icon]::before {
|
||||
width: 10.074rem;
|
||||
left: 2.43rem;
|
||||
font-size: 10.07rem;
|
||||
line-height: 15.47rem;
|
||||
|
||||
}
|
||||
|
||||
.card smart-button.app-button {
|
||||
/* smart-button should be in front of card-panel */
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.card.focused {
|
||||
z-index: 100;
|
||||
}
|
||||
|
||||
/**
|
||||
* folder list
|
||||
*/
|
||||
|
||||
#folder-viewer {
|
||||
position: absolute;
|
||||
overflow: hidden;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
top: 0;
|
||||
left: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
#folder-list-frame {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 33.6rem;
|
||||
top: calc(32.41% + 32.3rem);
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
#folder-list {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
transition: transform 0.4s cubic-bezier(0.25, 0, 0, 1);
|
||||
transform-origin: 0 50%;
|
||||
}
|
||||
|
||||
/**
|
||||
* filters
|
||||
**/
|
||||
.filter-tab-container {
|
||||
position: absolute;
|
||||
left: 6rem;
|
||||
bottom: 5.4rem;
|
||||
}
|
||||
|
||||
.filter-tab-group.hidden {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* background section
|
||||
**/
|
||||
.background {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
background-color: rgba(0, 0, 0, 0.65);
|
||||
transition: background-color 0.66s linear;
|
||||
}
|
||||
|
||||
.background:before {
|
||||
content: "";
|
||||
height: 29rem;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: linear-gradient(180deg, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0));
|
||||
}
|
||||
|
||||
.background:after {
|
||||
content: "";
|
||||
height: 29rem;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background: linear-gradient(0deg, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0));
|
||||
}
|
||||
|
||||
#edit-menu {
|
||||
position: absolute;
|
||||
top: 4rem;
|
||||
right: 6rem;
|
||||
}
|
||||
|
||||
/**
|
||||
* nav bars
|
||||
*/
|
||||
nav {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
transition: transform 0.4s cubic-bezier(0.165, 0.840, 0.440, 1.000);
|
||||
}
|
||||
|
||||
nav header {
|
||||
padding-left: 7rem;
|
||||
padding-top: 5rem;
|
||||
|
||||
font-size: 5.4rem;
|
||||
font-style: italic;
|
||||
color: white;
|
||||
}
|
||||
|
||||
#main-section[data-mode="edit"] #nav-regular,
|
||||
#main-section[data-mode="arrange"] #nav-regular,
|
||||
#main-section:not([data-mode="edit"]) #nav-edit-title,
|
||||
#main-section:not([data-mode="edit"]) #nav-edit {
|
||||
transform: translateY(-16rem);
|
||||
}
|
||||
|
||||
smart-button.hidden {
|
||||
display: none;
|
||||
}
|
||||
|
||||
|
||||
/* For smart-button, we put card name in pseudo-element :after. However, we need
|
||||
* to localize card name and l10n library do not support localizing element with
|
||||
* children elements.
|
||||
* Instead of using :after, we create a 'span' element under smart-button and
|
||||
* put card name in it.
|
||||
*/
|
||||
smart-button[type="app-button"]:after {
|
||||
content: none;
|
||||
}
|
||||
|
||||
smart-button[type="app-button"] > span.name {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
|
||||
width: 33.6rem;
|
||||
height: 8rem;
|
||||
|
||||
padding-top: 1rem;
|
||||
|
||||
line-height: 3rem;
|
||||
text-align: center;
|
||||
|
||||
font-size: 2.8rem;
|
||||
font-style: italic;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
smart-button[type="app-button"][app-type="deck"] > span.name {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
smart-button[type="app-button"][app-type="tv"] > span.name {
|
||||
background-color: #d90c83;
|
||||
}
|
||||
|
||||
smart-button[type="app-button"][app-type="app"] > span.name,
|
||||
smart-button[type="app-button"][app-type="appbookmark"] > span.name {
|
||||
background-color: rgba(0, 0, 0, 0.4);
|
||||
}
|
||||
|
||||
smart-button[type="app-button"][app-type="device"] > span.name {
|
||||
background-color: #4a82ea;
|
||||
}
|
||||
|
||||
Loading…
Reference in a new issue