pxt-core-own
Version:
Microsoft MakeCode, also known as Programming Experience Toolkit (PXT), provides Blocks / JavaScript tools and editors
572 lines (529 loc) • 14.5 kB
text/less
/* Import all components */
@import 'themes/default/globals/site.variables';
@import 'themes/pxt/globals/site.variables';
/* Reference import */
@import (reference) "semantic.less";
@carouselArrowSize: 60px;
@carouselArrowSizeMobile: 40px;
@homeCarouselArrowZIndex: @homeScreenZIndex+1; /* Show the carousel above the home screen */
@homeDetailViewZIndex: @homeCarouselArrowZIndex+1; /* Show the detail view above the carousel arrows */
@homeDetailViewSelectedCardZIndex: @homeDetailViewZIndex+1; /* Show the card arrow above the detail view */
@homeFooterZIndex: @homeCarouselArrowZIndex+1;
#homescreen {
background: lighten(@homeScreenBackground, 10%);
z-index: @homeScreenZIndex;
user-select: none;
}
.projectsdialog {
position: relative;
height: 100%;
overflow: auto;
z-index: @homeScreenZIndex+1;
.accessibleMenu {
z-index: @homeScreenZIndex+3 ;
.ui.item:focus, .ui.button:focus {
z-index: @homeScreenZIndex+2 ;
}
}
.getting-started-segment {
border: 0;
margin-top: -2.1rem ;
margin-bottom: 2.1rem ;
padding: 0;
border-radius: 0;
background-repeat: no-repeat;
background-size: cover;
height: 300px;
.column {
padding: 0 ;
}
.getting-started {
padding: @carouselArrowSize;
margin-top: 70px;
}
.getting-started-header {
font-size: 50px;
text-shadow: -1px 0 rgb(87, 87, 87), 0 1px rgb(87, 87, 87), 1px 0 rgb(87, 87, 87), 0 -1px rgb(87, 87, 87);
}
}
.content {
height: 100%;
}
.ui.segment.tabsegment {
padding: 0;
padding-top: calc(@mainMenuHeight + 2rem) ;
margin: 0;
border: 0;
width: 100%;
min-height: 100%;
background: @homeScreenBackground;
}
.gallerysegment {
background: none;
border: none;
box-shadow: none;
padding: 0rem;
margin: 0;
.ui.header {
margin: 0;
padding-left: @carouselArrowSize;
font-size: 20px;
color: @homeHeaderColor;
&.myproject-header {
cursor: pointer;
outline: none;
&:focus, &:hover {
color: fade(@homeHeaderColor, 80%);
}
}
}
.ui.padded.grid.heading, .heading {
margin-bottom: -1rem ;
margin-top: 1rem ;
}
.ui.padded.grid.heading .ui.header {
bottom: 0;
position: absolute;
vertical-align: bottom;
}
.column {
padding: 0 ;
}
.column.right.aligned {
padding-right: @carouselArrowSize ;
}
}
.import-dialog-btn {
position: relative;
z-index: 1; /* Move up so it's above the carousel container that has an offset margin */
}
/* Footer, Privary, Terms of Use */
.homefooter {
left: 0;
right: 0;
width: 100%;
text-align: center;
padding: 5px ;
z-index: @homeFooterZIndex;
position: absolute;
.item {
font-size: 0.8rem ;
color: @homeFooterColor ;
}
.item.copyright {
display: block;
font-size: 0.7rem ;
line-height: 15px ;
}
}
.ui.card:hover {
border: @homeCardBorderSize solid @homeCardHoverBorderColor ;
background-color: @homeCardHoverBackgroundColor;
transform: scale(1.1);
}
.header {
user-select: none;
}
.carouselitem.selected {
.ui.card {
border: @homeSelectedCardBorderSize solid @homeSelectedCardBorderColor ;
z-index: @homeDetailViewSelectedCardZIndex;
}
.ui.card:hover {
transform: none;
}
.ui.card:after, .ui.card:before {
top: 100%;
left: 50%;
border: solid transparent;
content: " ";
height: 0;
width: 0;
position: absolute;
pointer-events: none;
}
.ui.card:after {
border-color: rgba(46, 255, 46, 0);
border-top-color: @homeCardBackgroundColor;
border-width: 10px;
margin-left: -10px;
}
.ui.card:before {
border-color: rgba(255, 255, 255, 0);
border-top-color: @homeSelectedCardBorderColor;
border-width: 17px;
margin-left: -17px;
}
}
.detailview.visible {
margin-top: -2rem;
transition: height 0.5s;
z-index: @homeDetailViewZIndex;
position: relative;
box-shadow: rgba(0, 0, 0, 0.75) 0px 0px 50px 0px;
.ui.grid {
background: @homeDetailViewBackground;
}
.column {
height: 400px;
}
.segment {
margin: 0;
padding-left: @carouselArrowSize;
margin-top: 2rem;
}
.imagewrapper {
position: absolute;
top: 0; right: 0;
left: 30%; bottom: 0;
padding: 0;
.image {
height: 400px;
background-size: cover;
}
}
.imagewrapper:after {
content: " ";
position: absolute;
pointer-events: none;
top: 0; left: 0; bottom: 0; right: 0;
background: linear-gradient(90deg, @homeDetailViewBackground, rgba(0,0,0,0));
}
.header {
font-size: 20px;
color: @homeDetailViewColor;
margin-bottom: 1rem;
}
.detail {
color: @homeDetailViewColor;
}
.actions {
padding: 2rem;
position: absolute;
bottom: 0;
}
> .close {
margin: 1.5rem;
position: absolute;
top: 0;
right: 0;
z-index: 1;
}
>.close .remove.icon {
font-size: 2.15rem;
line-height: 2.15rem;
cursor: pointer;
width: 2.15rem;
color: @homeDetailCloseColor;
height: 2.15rem;
transition: all 0.15s ease-out;
opacity: 0.9;
border-radius: 50%;
background-color: @homeDetailCloseBackground;
}
> .close .remove.icon:hover, > .close .remove.icon:focus {
opacity: 1;
transform: scale(1.1, 1.1);
box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.35);
}
}
}
.scriptmanager, .projectsdialog {
.ui.card {
margin-right: 5px;
border-radius: @homeCardBorderRadius;
color: @homeCardColor;
border: @homeCardBorderSize solid @homeCardBorderColor ;
background-color: @homeCardBackgroundColor;
.ui.image, .ui.imagewrapper, .content {
border-radius: @homeCardImageBorderRadius ;
}
.header {
color: @homeCardHeaderColor;
}
.meta {
color: @homeCardMetaColor;
}
}
.ui.card:focus {
outline: none;
border: @homeCardBorderSize solid @homeCardFocusBorderColor ;
}
}
.ui.fullscreen.modal.scriptmanager > .content, .projectsdialog {
background: @homeScreenBackground;
}
/* Carousel */
.carouselouter {
position: relative;
}
.carouselcontainer {
overflow: hidden;
padding: 2rem @carouselArrowSize ;
}
.carouselbody {
overflow-y: visible;
touch-action: pan-y;
}
.carouselitem {
float: left;
}
.carouselarrow {
z-index: @homeCarouselArrowZIndex;
position: absolute;
display: block;
height: 100%;
width: @carouselArrowSize;
font-size: @carouselArrowSize / 1.18 ;
line-height: 1;
cursor: pointer;
background: @homeScreenBackground;
color: @primaryColor;
top: 0;
opacity: 0.7;
overflow: hidden;
outline: none;
}
.carouselarrow:hover, .carouselarrow:focus {
opacity: 1;
transition: opacity .1s ease-out 0s;
.icon {
transform: scale(1.4);
transition: transform .1s ease-out 0s;
}
}
.carouselarrow .icon {
top: 40%;
position: absolute;
}
.carouselarrow.left {
left: 0rem;
}
.carouselarrow.right {
right: 0rem;
}
.carouselarrow.arrowdisabled {
opacity: 0;
}
/* <= Tablet (Mobile + Tablet) */
@media only screen and (max-width: @largestTabletScreen) {
/* Carousel */
.projectsdialog {
.getting-started-segment {
height: 250px;
.getting-started {
padding: @carouselArrowSizeMobile;
margin-top: 40px;
}
.getting-started-header {
font-size: 40px;
}
}
.ui.segment.tabsegment {
padding-top: calc(@mobileMenuHeight + 2rem) ;
}
.gallerysegment {
.column {
padding: 0 ;
}
.column.right.aligned {
padding-right: @carouselArrowSizeMobile ;
}
.ui.header {
padding-left: @carouselArrowSizeMobile;
}
}
}
.carouselcontainer {
padding: 2rem @carouselArrowSizeMobile ;
}
.carouselarrow {
width: @carouselArrowSizeMobile;
font-size: @carouselArrowSizeMobile / 1.18 ;
}
}
/* <= Tablet (Mobile + Tablet) */
@media only screen and (max-width: @largestTabletScreen) {
.projectsdialog {
.ui.card, .ui.cards>.card {
width: 200px;
}
}
/** squeeze the logos to sides of the screen */
#homemenu .left.menu {
margin-left: 0 ;
}
#homemenu .right.menu {
margin-right: 0 ;
}
}
/* Mobile only */
@media only screen and (max-width: @largestMobileScreen) {
.projectsdialog {
.ui.card, .ui.cards>.card {
width: 9rem;
height: 9rem;
}
.ui.card.buttoncard {
.content {
padding: 1rem;
}
.header {
font-size: 12pt ;
}
i.icon.huge {
font-size: 3rem;
}
}
.ui.card.example {
.ui.huge.label {
font-size: 1rem;
}
.ui.image, .ui.cardimage {
height: 6rem;
}
.content .header {
font-size: 1rem;
}
.ui.image~.content {
height: 2.4rem;
padding: 0.7rem;
}
}
.ui.card.file {
.content .header {
font-size: 1rem;
}
.ui.image {
display: none;
}
.content {
margin-left: 0;
}
.meta {
font-size: 0.7rem;
padding: 0;
}
}
.getting-started-segment {
height: 10rem;
margin-bottom: 0.5rem ;
.getting-started-header {
font-size: 30px;
}
}
.gallerysegment {
.ui.padded.grid.heading, .heading {
margin-bottom: -1rem ;
margin-top: 0rem ;
}
.ui.padded.grid.heading .ui.header {
font-size: 18px;
}
}
.carouselcontainer {
padding: 1.5rem @carouselArrowSizeMobile ;
}
}
}
@media only screen and (max-height: @tallEditorBreakpoint) and (min-width: @largestMobileScreen) {
.ui.segment.tabsegment {
padding-top: calc(@thinMenuHeight + 2rem) ;
}
.projectsdialog {
.ui.card, .ui.cards>.card {
width: 15rem;
height: 9rem;
}
.ui.card.buttoncard {
.content {
padding: 1rem;
}
.header {
font-size: 12pt ;
}
i.icon.huge {
font-size: 3rem;
}
}
.ui.card.example {
.ui.huge.label {
font-size: 1rem;
}
.ui.image, .ui.cardimage {
height: 6rem;
}
.content .header {
font-size: 1rem;
}
.ui.image~.content {
height: 2.4rem;
padding: 0.7rem;
}
}
.ui.card.file {
.content .header {
font-size: 1rem;
}
.ui.image {
display: none;
}
.content {
margin-left: 0;
}
.meta {
padding: 0.5rem;
}
}
.detailview.visible {
.column,
.imagewrapper .image
{
height: 220px;
}
}
.getting-started-segment {
margin-top: -3.1rem ;
margin-bottom: 0rem ;
height: 168px;
}
}
}
/*******************************
Projects Modal
*******************************/
.projectsdialog {
.ui.dividing.header, .content > .header{
font-weight: normal ;
}
.ui.secondary.inverted.pointing.menu {
border: 0;
}
.group {
padding: 1rem;
}
.group .cards .card .button.iconcontent {
min-height: 4em;
}
.labelsgroup {
display: block;
position: relative;
min-height: 18em;
}
h2.editorname {
top: 20%;
width: calc(100% - 2rem);
text-align: center;
position: absolute;
display: block;
}
.loader.editoravatar {
display: block;
position: absolute;
top: 50%;
}
> .content {
padding: 0 ;
position: relative;
}
}