Files
tubestation/browser/extensions/onboarding/content/onboarding.css
2017-07-28 16:54:55 +08:00

569 lines
14 KiB
CSS

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#onboarding-overlay * {
box-sizing: border-box;
}
#onboarding-overlay {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
/* Ensuring we can put the overlay over elements using
z-index on original page */
z-index: 20999;
color: #4d4d4d;
background: rgb(54, 57, 89, 0.8); /* #363959, 0.8 opacity */
display: none;
}
#onboarding-overlay.onboarding-opened {
display: block;
}
#onboarding-overlay-button {
padding: 0;
position: absolute;
cursor: pointer;
top: 34px;
offset-inline-start: 34px;
border: none;
/* Set to none so no grey contrast background in the high-contrast mode */
background: none;
}
#onboarding-overlay-button-icon {
width: 36px;
vertical-align: top;
}
#onboarding-notification-icon::after,
#onboarding-overlay-button::after {
background: #5ce6e6;
font-size: 12px;
border: 1px solid #fff;
text-align: center;
color: #10404a;
box-sizing: content-box;
}
#onboarding-overlay-button::after {
content: attr(aria-label);
display: inline-block;
offset-inline-start: 39px;
border-radius: 22px;
padding: 5px 8px;
width: 110px;
margin-inline-start: 3px;
margin-top: -5px;
}
#onboarding-overlay-dialog,
.onboarding-hidden,
#onboarding-tour-sync-page[data-login-state=logged-in] .show-on-logged-out,
#onboarding-tour-sync-page[data-login-state=logged-out] .show-on-logged-in {
display: none;
}
.onboarding-close-btn {
position: absolute;
top: 15px;
offset-inline-end: 15px;
cursor: pointer;
width: 16px;
height: 16px;
padding: 12px;
border: none;
background: var(--onboarding-overlay-dialog-background-color);
}
.onboarding-close-btn::before {
content: url(chrome://browser/skin/sidebar/close.svg);
display: block;
margin-top: -8px;
margin-inline-start: -8px;
}
.onboarding-close-btn:hover,
#onboarding-notification-close-btn:hover {
background-color: rgba(204, 204, 204, 0.6);
}
#onboarding-overlay.onboarding-opened > #onboarding-overlay-dialog {
--onboarding-overlay-dialog-background-color: #f5f5f7;
width: 960px;
height: 510px;
background: var(--onboarding-overlay-dialog-background-color);
border: 1px solid rgba(9, 6, 13, 0.1); /* #09060D, 0.1 opacity */
border-radius: 3px;
position: relative;
margin: 0 calc(50% - 480px);
top: calc(50% - 255px);
display: grid;
grid-template-rows: [dialog-start] 70px [page-start] 1fr [footer-start] 30px [dialog-end];
grid-template-columns: [dialog-start] 230px [page-start] 1fr [dialog-end];
}
@media (max-height: 510px) {
#onboarding-overlay.onboarding-opened > #onboarding-overlay-dialog {
top: 0;
}
}
#onboarding-overlay-dialog > header {
grid-row: dialog-start / page-start;
grid-column: dialog-start / tour-end;
margin-top: 22px;
margin-bottom: 0;
margin-inline-end: 0;
margin-inline-start: 36px;
font-size: 22px;
font-weight: 200;
}
#onboarding-overlay-dialog > nav {
grid-row: dialog-start / footer-start;
grid-column-start: dialog-start;
margin-top: 40px;
margin-bottom: 0;
margin-inline-end: 0;
margin-inline-start: 0;
padding: 0;
}
#onboarding-overlay-dialog > footer {
grid-row: footer-start;
grid-column: dialog-start / tour-end;
font-size: 13px;
}
#onboarding-tour-hidden-checkbox {
margin-inline-start: 27px;
margin-inline-end: 10px;
}
/* Onboarding tour list */
#onboarding-tour-list {
margin: 40px 0 0 0;
padding: 0;
}
#onboarding-tour-list > li {
--padding-inline-start: 49px;
--padding-top: 14px;
--padding-bottom: 14px;
list-style: none;
padding-inline-start: var(--padding-inline-start);
padding-top: var(--padding-top);
padding-bottom: var(--padding-bottom);
margin-inline-start: 16px;
margin-bottom: 9px;
background-repeat: no-repeat;
background-position: left 17px top 14px;
background-size: 20px;
font-size: 16px;
cursor: pointer;
}
#onboarding-tour-list > li:dir(rtl) {
background-position-x: right 17px;
}
#onboarding-tour-list > li.onboarding-complete::before {
content: url("img/icons_tour-complete.svg");
position: relative;
offset-inline-start: 3px;
top: -10px;
float: inline-start;
}
#onboarding-tour-list > li.onboarding-complete {
--padding-inline-start: 29px;
}
#onboarding-tour-list > li.onboarding-active,
#onboarding-tour-list > li:hover {
color: #0A84FF;
/* With 1px transparent border, could see a border in the high-constrast mode */
border: 1px solid transparent;
/* Substract 1px for the 1px transparent or a 1px shift would happen */
padding-inline-start: calc(var(--padding-inline-start) - 1px);
padding-top: calc(var(--padding-top) - 1px);
padding-bottom: calc(var(--padding-bottom) - 1px);
}
/* Default browser tour */
#onboarding-tour-is-default-browser-msg {
font-size: 16px;
line-height: 21px;
float: inline-end;
margin-inline-end: 26px;
margin-top: -32px;
text-align: center;
}
/* Sync tour */
#onboarding-tour-sync-page form {
text-align: center;
}
#onboarding-tour-sync-page form > h3 {
text-align: center;
margin: 0;
font-size: 22px;
font-weight: normal;
}
#onboarding-tour-sync-page form > p {
text-align: center;
margin: 3px 0 0 0;
font-size: 15px;
font-weight: normal;
}
#onboarding-tour-sync-page form > input {
margin-top: 10px;
height: 40px;
width: 80%;
padding: 7px;
}
#onboarding-tour-sync-page form > #onboarding-tour-sync-button {
padding: 10px 20px;
min-width: 40%;
margin: 15px 0;
float: none;
}
/* Onboarding tour pages */
.onboarding-tour-page {
grid-row: page-start / footer-end;
grid-column: page-start;
display: grid;
grid-template-rows: [tour-page-start] 393px [tour-button-start] 1fr [tour-page-end];
grid-template-columns: [tour-page-start] 368px [tour-content-start] 1fr [tour-page-end];
}
.onboarding-tour-description {
grid-row: tour-page-start / tour-page-end;
grid-column: tour-page-start / tour-content-start;
font-size: 15px;
line-height: 22px;
padding-inline-start: 40px;
padding-inline-end: 28px;
}
.onboarding-tour-description > h1 {
font-size: 36px;
margin-top: 16px;
font-weight: 300;
line-height: 44px;
}
.onboarding-tour-content {
grid-row: tour-page-start / tour-button-start;
grid-column: tour-content-start / tour-page-end;
padding: 0;
text-align: end;
}
.onboarding-tour-content > img {
width: 352px;
margin: 0;
}
/* These illustrations need to be stuck on the right side to the border. Thus we
need to flip them horizontally on RTL . */
.onboarding-tour-content > img:dir(rtl) {
transform: scaleX(-1);
}
.onboarding-tour-content > iframe {
width: 100%;
height: 100%;
border: none;
}
.onboarding-tour-page.onboarding-no-button > .onboarding-tour-content {
grid-row: tour-page-start / tour-page-end;
grid-column: tour-content-start / tour-page-end;
}
.onboarding-tour-button-container {
grid-row: tour-button-start / tour-page-end;
grid-column: tour-content-start / tour-page-end;
}
.onboarding-tour-page.onboarding-no-button > .onboarding-tour-button-container {
display: none;
grid-row: tour-page-end;
grid-column: tour-page-end;
}
.onboarding-tour-action-button {
padding: 10px 20px;
font-size: 15px;
font-weight: 600;
line-height: 21px;
background: #0a84ff;
/* With 1px transparent border, could see a border in the high-constrast mode */
border: 1px solid transparent;
border-radius: 0;
color: #fff;
float: inline-end;
margin-inline-end: 26px;
margin-top: -32px;
}
/* Remove default dotted outline around buttons' text */
.onboarding-tour-action-button::-moz-focus-inner {
border: 0;
}
/* Keyboard focus specific outline */
.onboarding-tour-action-button:-moz-focusring {
outline: 2px solid rgba(0,149,221,0.5);
outline-offset: 1px;
-moz-outline-radius: 2px;
}
.onboarding-tour-action-button:hover:not([disabled]) ,
#onboarding-notification-action-btn:hover {
background: #0060df;
cursor: pointer;
}
.onboarding-tour-action-button:active:not([disabled]),
#onboarding-notification-action-btn:active {
background: #003EAA;
}
.onboarding-tour-action-button:disabled {
opacity: 0.5;
}
/* Tour Icons */
#onboarding-tour-search,
#onboarding-tour-singlesearch {
background-image: url("img/icons_search.svg");
}
#onboarding-tour-search.onboarding-active,
#onboarding-tour-search:hover,
#onboarding-tour-singlesearch.onboarding-active,
#onboarding-tour-singlesearch:hover {
background-image: url("img/icons_search-colored.svg");
}
#onboarding-notification-bar[data-target-tour-id=onboarding-tour-search] #onboarding-notification-tour-icon,
#onboarding-notification-bar[data-target-tour-id=onboarding-tour-singlesearch] #onboarding-notification-tour-icon {
background-image: url("img/icons_search-notification.svg");
}
#onboarding-tour-private-browsing {
background-image: url("img/icons_private.svg");
}
#onboarding-tour-private-browsing.onboarding-active,
#onboarding-tour-private-browsing:hover {
background-image: url("img/icons_private-colored.svg");
}
#onboarding-notification-bar[data-target-tour-id=onboarding-tour-private-browsing] #onboarding-notification-tour-icon {
background-image: url("img/icons_private-notification.svg");
}
#onboarding-tour-addons {
background-image: url("img/icons_addons.svg");
}
#onboarding-tour-addons.onboarding-active,
#onboarding-tour-addons:hover {
background-image: url("img/icons_addons-colored.svg");
}
#onboarding-notification-bar[data-target-tour-id=onboarding-tour-addons] #onboarding-notification-tour-icon {
background-image: url("img/icons_addons-notification.svg");
}
#onboarding-tour-customize {
background-image: url("img/icons_customize.svg");
}
#onboarding-tour-customize.onboarding-active,
#onboarding-tour-customize:hover {
background-image: url("img/icons_customize-colored.svg");
}
#onboarding-notification-bar[data-target-tour-id=onboarding-tour-customize] #onboarding-notification-tour-icon {
background-image: url("img/icons_customize-notification.svg");
}
#onboarding-tour-default-browser {
background-image: url("img/icons_default.svg");
}
#onboarding-tour-default-browser.onboarding-active,
#onboarding-tour-default-browser:hover {
background-image: url("img/icons_default-colored.svg");
}
#onboarding-notification-bar[data-target-tour-id=onboarding-tour-default-browser] #onboarding-notification-tour-icon {
background-image: url("img/icons_default-notification.svg");
}
#onboarding-tour-sync {
background-image: url("img/icons_sync.svg");
}
#onboarding-tour-sync.onboarding-active,
#onboarding-tour-sync:hover {
background-image: url("img/icons_sync-colored.svg");
}
#onboarding-notification-bar[data-target-tour-id=onboarding-tour-sync] #onboarding-notification-tour-icon {
background-image: url("img/icons_sync-notification.svg");
}
#onboarding-tour-library {
background-image: url("img/icons_search.svg");
}
#onboarding-tour-library.onboarding-active,
#onboarding-tour-library:hover,
#onboarding-notification-bar[data-target-tour-id=onboarding-tour-library] #onboarding-notification-tour-icon {
background-image: url("img/icons_search-colored.svg");
}
#onboarding-tour-performance {
background-image: url("img/icons_performance.svg");
}
#onboarding-tour-performance.onboarding-active,
#onboarding-tour-performance:hover {
background-image: url("img/icons_performance-colored.svg");
}
#onboarding-notification-bar[data-target-tour-id=onboarding-tour-performance] #onboarding-notification-tour-icon {
/* TODO: Placeholder icon. It should be replaced upon assets are available.
This is tracking in Bug 1382520. */
background-image: url("img/icons_sync-notification.svg");
}
/* Tour Notifications */
#onboarding-notification-bar {
--onboarding-notification-bar-background-color: rgba(255, 255, 255, 0.97);
position: fixed;
z-index: 20998; /* We want this always under #onboarding-overlay */
left: 0;
bottom: 0;
width: 100%;
height: 122px;
min-width: 640px;
background: var(--onboarding-notification-bar-background-color);
border-top: 2px solid #e9e9e9;
transition: transform 0.8s;
transform: translateY(122px);
}
#onboarding-notification-bar.onboarding-opened {
transition: none;
transform: translateY(0px);
}
#onboarding-notification-icon {
height: 36px;
background: url("img/overlay-icon.svg") no-repeat;
background-size: 36px;
background-position: 34px;
padding-inline-start: 190px;
position: absolute;
offset-block-start: 50%;
transform: translateY(-50%);
}
#onboarding-notification-icon:dir(rtl) {
background-position: right 34px center;
}
#onboarding-notification-icon::after {
--height: 22px;
--vpadding: 3px;
position: absolute;
content: attr(data-tooltip);
top: 0;
offset-inline-start: 73px;
line-height: calc(var(--height) - var(--vpadding) * 2);
border-radius: calc(var(--height) / 2);
padding: var(--vpadding) 10px;
}
#onboarding-notification-close-btn {
background: var(--onboarding-notification-bar-background-color);
position: absolute;
offset-block-start: 50%;
offset-inline-end: 34px;
transform: translateY(-50%);
}
#onboarding-notification-message-section {
height: 100%;
display: flex;
align-items: center;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
#onboarding-notification-body {
width: 420px;
margin: 0 15px;
color: #0c0c0d;;
display: inline-block;
max-height: 100%;
overflow: auto;
padding: 15px 0;
box-sizing: border-box;
}
#onboarding-notification-body * {
font-size: 13px
}
#onboarding-notification-tour-title {
margin: 0;
}
#onboarding-notification-tour-icon {
min-width: 64px;
height: 64px;
background-size: 64px;
background-repeat: no-repeat;
}
#onboarding-notification-action-btn {
background: #0a84ff;
/* With 1px transparent border, could see a border in the high-constrast mode */
border: 1px solid transparent;
border-radius: 0;
padding: 10px 20px;
font-size: 14px;
color: #fff;
min-width: 130px;
}
@media all and (max-width: 960px) {
#onboarding-notification-icon {
display: none;
}
}
@media all and (max-width: 720px) {
#onboarding-notification-body {
width: 340px;
}
}