multi-account-containers/webextension/css/popup.css
2017-05-25 17:02:16 +01:00

701 lines
13 KiB
CSS

/* General Rules and Resets */
body {
inline-size: 300px;
max-inline-size: 300px;
}
html {
box-sizing: border-box;
}
:root {
--font-size-heading: 16px;
--primary-action-color: #248aeb;
}
*,
*::before,
*::after {
box-sizing: inherit;
}
table {
border: 0;
border-spacing: 0;
inline-size: 100%;
margin-block-end: 0;
margin-block-start: 0;
margin-inline-end: 0;
margin-inline-start: 0;
}
/* Helper Classes */
.hide {
display: none !important;
}
.scrollable {
inline-size: 100%;
max-block-size: 400px;
overflow: auto;
}
.offpage {
opacity: 0;
}
/* Color and icon helpers */
[data-identity-color="blue"] {
--identity-tab-color: #37adff;
--identity-icon-color: #37adff;
}
[data-identity-color="turquoise"] {
--identity-tab-color: #00c79a;
--identity-icon-color: #00c79a;
}
[data-identity-color="green"] {
--identity-tab-color: #51cd00;
--identity-icon-color: #51cd00;
}
[data-identity-color="yellow"] {
--identity-tab-color: #ffcb00;
--identity-icon-color: #ffcb00;
}
[data-identity-color="orange"] {
--identity-tab-color: #ff9f00;
--identity-icon-color: #ff9f00;
}
[data-identity-color="red"] {
--identity-tab-color: #ff613d;
--identity-icon-color: #ff613d;
}
[data-identity-color="pink"] {
--identity-tab-color: #ff4bda;
--identity-icon-color: #ff4bda;
}
[data-identity-color="purple"] {
--identity-tab-color: #af51f5;
--identity-icon-color: #af51f5;
}
[data-identity-icon="fingerprint"] {
--identity-icon: url("/img/usercontext.svg#fingerprint");
}
[data-identity-icon="briefcase"] {
--identity-icon: url("/img/usercontext.svg#briefcase");
}
[data-identity-icon="dollar"] {
--identity-icon: url("/img/usercontext.svg#dollar");
}
[data-identity-icon="cart"] {
--identity-icon: url("/img/usercontext.svg#cart");
}
[data-identity-icon="circle"] {
--identity-icon: url("/img/usercontext.svg#circle");
}
[data-identity-icon="food"] {
--identity-icon: url("/img/usercontext.svg#food");
}
[data-identity-icon="gift"] {
--identity-icon: url("/img/usercontext.svg#gift");
}
[data-identity-icon="vacation"] {
--identity-icon: url("/img/usercontext.svg#vacation");
}
[data-identity-icon="fruit"] {
--identity-icon: url("/img/usercontext.svg#fruit");
}
[data-identity-icon="pet"] {
--identity-icon: url("/img/usercontext.svg#pet");
}
[data-identity-icon="tree"] {
--identity-icon: url("/img/usercontext.svg#tree");
}
[data-identity-icon="chill"] {
--identity-icon: url("/img/usercontext.svg#chill");
}
/* Buttons */
.button.primary {
background-color: #0996f8;
color: white;
}
.button.primary:hover,
.button.primary:focus {
background-color: #0675d3;
}
.button.secondary:hover,
.button.secondary:focus {
background-color: rgba(0, 0, 0, 0.05);
}
/* Text links with actions */
.action-link:link {
color: var(--primary-action-color);
text-decoration: none;
}
.action-link:active,
.action-link:hover {
text-decoration: underline;
}
/* Panels keep everything togethert */
.panel {
display: flex;
flex-direction: column;
justify-content: space-between;
min-block-size: 400px;
}
.panel.onboarding {
align-items: center;
block-size: 360px;
margin-block-end: 16px;
margin-block-start: 16px;
margin-inline-end: 16px;
margin-inline-start: 16px;
min-block-size: 360px;
}
.panel .columns {
display: flex;
flex: 1;
}
.panel-content {
flex: 1;
}
/* Column panels for edit screens */
.column-panel-content {
display: flex;
flex-direction: column;
inline-size: 268px;
}
.column-panel-content .panel-footer {
align-items: center;
display: flex;
justify-content: center;
}
.column-panel-content .button,
.panel-footer .button {
align-items: center;
block-size: 54px;
display: flex;
flex: 1;
justify-content: center;
}
/* Column panels have a special back arrow */
.panel-back-arrow {
align-items: center;
background: #ebebeb;
box-shadow: inset -2px 0 4px -2px rgba(0, 0, 0, 0.4);
display: flex;
flex: 0 0 32px;
flex-direction: column;
justify-content: center;
}
.panel-back-arrow:hover,
.panel-back-arrow:focus {
background: #dedede;
}
.back-arrow-img {
block-size: 16px;
inline-size: 16px;
transform: rotate(180deg);
}
/* Onboarding styles */
.onboarding * {
text-align: center;
}
.onboarding-img {
block-size: 132px;
inline-size: 180px;
}
.onboarding-title {
color: #43484e;
font-size: var(--font-size-heading);
margin-block-end: 0;
margin-block-start: 0;
margin-inline-end: 0;
margin-inline-start: 0;
max-inline-size: 80%;
}
.onboarding p {
color: #4a4a4a;
font-size: 14px;
margin-block-end: 16px;
max-inline-size: 84%;
}
.onboarding-button {
align-items: center;
background-color: #0996f8;
border-radius: 3px;
color: white;
display: flex;
flex: 0 0 44px;
font-size: 14px;
inline-size: 100%;
justify-content: center;
text-decoration: none;
transition: background-color 75ms;
}
.onboarding-button:hover,
.onboarding-button:active {
background-color: #0675d3;
}
/* Pop buttons are the square shaped buttons used to
manage things like container crud */
.pop-button {
align-items: center;
block-size: 48px;
display: flex;
flex: 0 0 48px;
justify-content: center;
}
.pop-button:hover,
.pop-button:focus,
.panel-footer-secondary:focus,
.panel-footer-secondary:hover {
background-color: rgba(0, 0, 0, 0.05);
}
.pop-button:focus,
.panel-footer-secondary:focus {
background-color: rgba(0, 0, 0, 0.08);
}
.pop-button a,
.panel-footer a,
.panel-footer-secondary a {
text-decoration: none;
}
.pop-button-image {
block-size: 20px;
flex: 0 0 20px;
}
.pop-button-image-small {
block-size: 12px;
flex: 0 0 12px;
}
/* Panel Header */
.panel-header {
align-items: center;
block-size: 48px;
border-block-end: 1px solid #ebebeb;
display: flex;
justify-content: space-between;
}
.column-panel-content .panel-header {
flex: 0 0 48px;
inline-size: 100%;
}
.panel-header-text {
color: #4a4a4a;
flex: 1;
font-size: var(--font-size-heading);
font-weight: normal;
margin-block-end: 0;
margin-block-start: 0;
margin-inline-end: 0;
margin-inline-start: 0;
padding-block-end: 16px;
padding-block-start: 16px;
padding-inline-end: 16px;
padding-inline-start: 16px;
}
#container-panel .panel-header {
block-size: 26px;
background-color: #efefef;
font-size: 14px;
}
#container-panel .panel-header-text {
font-size: 14px;
text-transform: uppercase;
color: #727272;
padding-block-end: 0;
padding-block-start: 0;
}
#container-panel .sort-containers-link {
margin-inline-end: 16px;
}
span ~ .panel-header-text {
padding-block-end: 0;
padding-block-start: 0;
padding-inline-end: 0;
padding-inline-start: 0;
}
#current-tab {
max-inline-size: 100%;
min-block-size: 94px;
padding-block-end: 16px;
padding-block-start: 16px;
padding-inline-end: 16px;
padding-inline-start: 16px;
}
#current-tab > h3 {
color: #4a4a4a;
font-size: var(--font-size-heading);
font-weight: normal;
margin-block-end: 0;
margin-block-start: 0;
}
#current-page {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
#current-page > img {
block-size: 16px;
inline-size: 16px;
}
#current-tab > label {
align-items: center;
display: flex;
margin-inline-start: 17px;
}
#current-tab > label > input {
display: inline;
}
#current-tab > label > img {
block-size: 12px;
display: inline-block;
inline-size: 12px;
}
#current-container {
display: contents;
text-transform: lowercase;
}
#current-container > .usercontext-icon {
block-size: 16px;
display: block;
flex: 0 0 20px;
inline-size: 20px;
background-size: 16px;
}
/* Rows used when iterating over panels */
.container-panel-row {
align-items: center;
background-color: #fefefe !important;
block-size: 48px;
border-block-end: 1px solid #f1f1f1;
box-sizing: border-box;
display: flex;
justify-content: space-between;
}
.container-panel-row .container-name {
max-inline-size: 160px;
overflow: hidden;
padding-inline-end: 4px;
padding-inline-start: 4px;
text-overflow: ellipsis;
white-space: nowrap;
}
.edit-containers-panel .userContext-wrapper {
max-inline-size: 204px;
}
.userContext-wrapper {
align-items: center;
display: flex;
flex: 1 1;
transition: background-color 75ms;
}
.container-panel-row:hover .clickable.userContext-wrapper,
.container-panel-row:focus .clickable.userContext-wrapper {
background: #f2f2f2;
}
.userContext-icon-wrapper {
block-size: 48px;
flex: 0 0 48px;
}
/* .userContext-icon is used natively, Bug 1333811 was raised to fix */
.usercontext-icon {
background-image: var(--identity-icon);
background-position: center center;
background-repeat: no-repeat;
background-size: 20px 20px;
block-size: 48px;
fill: var(--identity-icon-color);
filter: url('/img/filters.svg#fill');
flex: 0 0 48px;
}
.container-panel-row:hover .clickable .usercontext-icon,
.container-panel-row:focus .clickable .usercontext-icon {
background-image: url('/img/container-newtab.svg');
fill: 'gray';
filter: url('/img/filters.svg#fill');
}
/* Panel Footer */
.panel-footer {
align-items: center;
background: #efefef;
block-size: 54px;
border-block-end: 1px solid #d8d8d8;
color: #000;
display: flex;
font-size: 13px;
inline-size: 100%;
justify-content: space-between;
}
.panel-footer .pop-button {
block-size: 54px;
flex: 0 0 54px;
}
.edit-containers-text {
align-items: center;
block-size: 54px;
border-inline-end: solid 1px #d8d8d8;
display: flex;
flex: 1;
justify-content: center;
}
.edit-containers-text a {
align-items: center;
block-size: 54px;
color: #0a0a0a;
display: flex;
flex: 1;
justify-content: center;
}
/* Container info list */
#container-info-name {
margin-inline-end: 0.5rem;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
#container-info-hideorshow {
margin-block-start: 4px;
}
#container-info-movetabs-incompat {
font-size: 10px;
opacity: 0.3;
}
.container-info-tab-row:not(.clickable),
.select-row:not(.clickable) {
opacity: 0.3;
}
.container-info-has-tabs,
.container-info-tab-row {
align-items: center;
display: flex;
flex: 0 0 28px;
font-size: 14px;
justify-content: flex-start;
margin-block-end: 0;
margin-block-start: 0;
margin-inline-end: 0;
margin-inline-start: 0;
padding-inline-end: 16px;
padding-inline-start: 16px;
}
.container-info-has-tabs img,
.container-info-tab-row img {
block-size: 16px;
flex: 0 0 16px;
margin-inline-end: 4px;
}
.container-info-tab-row img[src=""] {
margin-inline-end: 0;
}
.container-info-tab-row td {
max-inline-size: 200px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.container-info-list {
border-block-start: 1px solid #ebebeb;
display: flex;
flex-direction: column;
margin-block-start: 4px;
padding-block-start: 4px;
}
.clickable {
cursor: pointer;
}
.clickable:hover,
.clickable:focus {
background-color: #ebebeb;
}
.edit-containers-exit-text {
align-items: center;
background: var(--primary-action-color);
block-size: 100%;
color: #fff;
display: flex;
flex: 1;
justify-content: center;
}
.exit-edit-mode-link::before {
background: url('/img/container-arrow.svg') no-repeat;
block-size: 16px;
content: "";
display: block;
filter: grayscale(100%) brightness(5);
float: left;
inline-size: 16px;
margin-inline-end: 5px;
transform: scaleX(-1);
}
.delete-container-confirm {
padding-inline-end: 20px;
padding-inline-start: 20px;
}
.delete-container-confirm-title {
color: #000;
font-size: var(--font-size-heading);
}
/* Form info */
.column-panel-content form {
flex: 1;
padding-block-end: 16px;
padding-block-start: 16px;
padding-inline-end: 16px;
padding-inline-start: 16px;
}
.column-panel-content form span {
align-items: center;
block-size: 44px;
display: flex;
flex: 0 0 25%;
justify-content: center;
}
.edit-container-panel label {
background-image: var(--identity-icon);
background-size: 26px 26px;
block-size: 34px;
fill: var(--identity-icon-color);
filter: url('/img/filters.svg#fill');
flex: 0 0 34px;
position: relative;
}
.edit-container-panel label::before {
opacity: 0 !important;
}
.edit-container-panel [type="radio"] {
display: inline;
opacity: 0;
}
.edit-container-panel [type="radio"]:checked + label {
outline: 2px solid grey;
-moz-outline-radius: 50px;
}
.edit-container-panel fieldset {
background: none;
border: none;
display: flex;
flex-direction: row;
flex-wrap: wrap;
inline-size: 100%;
margin-block-end: 10px;
margin-inline-end: 0;
margin-inline-start: 0;
padding-block-end: 0;
padding-block-start: 0;
padding-inline-end: 0;
padding-inline-start: 0;
}
.edit-container-panel input[type="text"] {
block-size: 36px;
border-radius: 3px;
font-size: 14px;
inline-size: 100%;
padding-block-end: 5px;
padding-block-start: 5px;
padding-inline-end: 5px;
padding-inline-start: 5px;
}
.edit-container-panel legend {
flex: 1 0;
font-size: 14px !important;
padding-block-end: 5px;
}