You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
310 lines
7.9 KiB
310 lines
7.9 KiB
/*
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*/
|
|
|
|
html .sp-wrapper {
|
|
color-scheme: inherit;
|
|
|
|
/* palette */
|
|
--sp-colors-fg-active: #24292e !important;
|
|
--sp-colors-fg-default: #959da5 !important;
|
|
--sp-colors-fg-inactive: #e4e7eb !important;
|
|
--sp-colors-bg-active: #e4e7eb !important;
|
|
--sp-colors-bg-default: #ffffff !important;
|
|
--sp-colors-bg-default-overlay: #ffffff !important;
|
|
--sp-colors-bg-input: #ffffff !important;
|
|
--sp-colors-accent: #c8c8fa !important;
|
|
--sp-colors-bg-error: #ffcdca !important;
|
|
--sp-colors-fg-error: #811e18 !important;
|
|
/* syntax */
|
|
--theme-plain: #24292e;
|
|
--theme-comment: #6a737d;
|
|
--theme-keyword: #d73a49;
|
|
--theme-tag: #22863a;
|
|
--theme-punctuation: #24292e;
|
|
--theme-definition: #6f42c1;
|
|
--theme-property: #005cc5;
|
|
--theme-static: #032f62;
|
|
--theme-string: #032f62;
|
|
}
|
|
html.dark .sp-wrapper {
|
|
--sp-colors-fg-active: #ffffff !important;
|
|
--sp-colors-fg-default: #999999 !important;
|
|
--sp-colors-fg-inactive: #343434 !important;
|
|
--sp-colors-bg-active: #343434 !important;
|
|
--sp-colors-bg-default: #16181d !important;
|
|
--sp-colors-bg-default-overlay: #16181d !important;
|
|
--sp-colors-bg-input: #242424 !important;
|
|
--sp-colors-accent: #6caedd !important;
|
|
--sp-colors-bg-error: #ffcdca !important;
|
|
--sp-colors-fg-error: #811e18 !important;
|
|
/* syntax */
|
|
--theme-plain: #ffffff;
|
|
--theme-comment: #757575;
|
|
--theme-keyword: #77b7d7;
|
|
--theme-tag: #dfab5c;
|
|
--theme-punctuation: #ffffff;
|
|
--theme-definition: #86d9ca;
|
|
--theme-property: #77b7d7;
|
|
--theme-static: #c64640;
|
|
--theme-string: #977cdc;
|
|
}
|
|
|
|
.sp-tabs,
|
|
.sp-tab-button:hover {
|
|
background: none !important;
|
|
}
|
|
|
|
.sp-tabs .sp-tab-button {
|
|
color: #087ea4;
|
|
padding: 0 4px;
|
|
}
|
|
|
|
html.dark .sp-tabs .sp-tab-button {
|
|
color: #149eca;
|
|
}
|
|
|
|
.sp-tabs .sp-tab-button:hover {
|
|
color: #087ea4;
|
|
}
|
|
|
|
html.dark .sp-tabs .sp-tab-button:hover {
|
|
color: #149eca;
|
|
}
|
|
|
|
.sp-tabs .sp-tab-button[data-active='true'] {
|
|
color: #087ea4;
|
|
border-bottom: 2px solid #087ea4;
|
|
}
|
|
|
|
html.dark .sp-tabs .sp-tab-button[data-active='true'] {
|
|
color: #149eca;
|
|
border-bottom: 2px solid #149eca;
|
|
}
|
|
|
|
.sp-stack .sp-code-editor,
|
|
.sp-tabs .sp-tabs-scrollable-container {
|
|
overflow: hidden;
|
|
}
|
|
|
|
.sp-code-editor .cm-errorLine {
|
|
background-color: rgba(255, 107, 99, 0.1);
|
|
position: relative;
|
|
padding-right: 2em !important;
|
|
display: inline-block;
|
|
min-width: 100%;
|
|
}
|
|
|
|
.sp-code-editor .cm-errorLine:after {
|
|
position: absolute;
|
|
right: 8px;
|
|
top: 0;
|
|
content: '\26A0';
|
|
font-size: 22px;
|
|
line-height: 20px;
|
|
color: #ff3d3d;
|
|
}
|
|
|
|
/*
|
|
* These are manually adjusted to match the final
|
|
* rendered version without any layout shifts.
|
|
* Note this affects both sandboxes and code blocks.
|
|
*
|
|
* There are probably more maintainable ways to do this.
|
|
* However, as long as there are kind people paying close
|
|
* attention to these subtler details, I shall sleep in peace.
|
|
*
|
|
* If you know a better way to keep them from diverging, send a PR.
|
|
*/
|
|
.sp-cm {
|
|
-webkit-text-size-adjust: none !important;
|
|
padding: 0 !important;
|
|
}
|
|
.cm-wrap {
|
|
background: transparent !important;
|
|
}
|
|
.sp-pre-placeholder {
|
|
display: block !important;
|
|
margin-top: 0px !important;
|
|
margin-bottom: 0px !important;
|
|
padding: 18px var(--sp-space-3) !important;
|
|
@apply font-mono !important;
|
|
font-size: 13.6px !important;
|
|
line-height: 24px !important;
|
|
height: 100%;
|
|
}
|
|
.text-xl .sp-pre-placeholder {
|
|
font-size: 16px !important;
|
|
line-height: 24px !important;
|
|
}
|
|
.sp-cm .cm-scroller {
|
|
overflow: auto !important;
|
|
padding: 18px 0 !important;
|
|
}
|
|
.sp-cm .cm-gutters {
|
|
background-color: var(--sp-colors-bg-default);
|
|
z-index: 1;
|
|
}
|
|
.sp-wrapper {
|
|
width: 100% !important;
|
|
}
|
|
.sp-wrapper .sp-custom-layout {
|
|
overflow: initial;
|
|
border: 0px solid transparent;
|
|
border-top-left-radius: 0px;
|
|
border-top-right-radius: 0px;
|
|
border-bottom-left-radius: 0.5rem;
|
|
border-bottom-right-radius: 0.5rem;
|
|
}
|
|
.sp-wrapper .sp-layout-devtools {
|
|
border-bottom-left-radius: 0;
|
|
border-bottom-right-radius: 0;
|
|
}
|
|
html.dark .sp-layout > :not(:first-child) {
|
|
border-color: #343a46;
|
|
}
|
|
html.dark .sp-layout {
|
|
background-color: #343a46;
|
|
}
|
|
html .sp-loading {
|
|
background-color: transparent;
|
|
}
|
|
html.dark .sp-loading {
|
|
background-color: #23272f;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.sp-tabs .sp-tab-button {
|
|
margin: 0 12px 0 0;
|
|
}
|
|
}
|
|
|
|
/* Devtools */
|
|
.sp-devtools {
|
|
border-bottom-left-radius: 0.5rem;
|
|
border-bottom-right-radius: 0.5rem;
|
|
overflow: hidden;
|
|
}
|
|
.sp-devtools > div {
|
|
--color-background: var(--sp-colors-bg-default) !important;
|
|
--color-background-inactive: var(--sp-colors-fg-inactive) !important;
|
|
--color-background-selected: #087ea4 !important;
|
|
--color-background-hover: transparent !important;
|
|
--color-modal-background: #ffffffd2 !important;
|
|
|
|
--color-tab-selected-border: #087ea4 !important;
|
|
|
|
--color-component-name: var(--theme-definition) !important;
|
|
--color-attribute-name: var(--theme-property) !important;
|
|
--color-attribute-value: var(--theme-string) !important;
|
|
--color-attribute-editable-value: var(--theme-property) !important;
|
|
--color-attribute-name-not-editable: var(--sp-colors-fg-default) !important;
|
|
--color-button-background-focus: var(--sp-colors-fg-inactive) !important;
|
|
|
|
--color-button-active: #087ea4 !important;
|
|
--color-button-background: transparent !important;
|
|
--color-button: var(--sp-colors-fg-default) !important;
|
|
--color-button-hover: var(--sp-colors-fg-active) !important;
|
|
|
|
--color-border: var(--sp-colors-fg-inactive) !important;
|
|
--color-text: rgb(35, 39, 47) !important;
|
|
}
|
|
html.dark .sp-devtools > div {
|
|
--color-text: var(--sp-colors-fg-default) !important;
|
|
--color-modal-background: #16181de0 !important;
|
|
}
|
|
|
|
.sp-devtools table td {
|
|
border: 1px solid var(--sp-colors-fg-inactive);
|
|
}
|
|
|
|
/* Make focus rings work */
|
|
.sp-tab-button {
|
|
transition: none !important;
|
|
}
|
|
.sp-tab-button:focus {
|
|
outline: revert !important;
|
|
}
|
|
.sp-tab-button:focus-visible {
|
|
box-shadow: none !important;
|
|
}
|
|
.sp-cm:focus-visible {
|
|
box-shadow: inset 0 0 0 4px rgba(20, 158, 202, 0.4) !important;
|
|
}
|
|
.cm-line {
|
|
padding: 0 var(--sp-space-3) !important;
|
|
}
|
|
.cm-lineNumbers {
|
|
padding-left: var(--sp-space-1) !important;
|
|
padding-right: var(--sp-space-1) !important;
|
|
}
|
|
|
|
/* For iOS: prevent browser zoom when clicking on sandbox. */
|
|
@media screen and (max-width: 768px) {
|
|
@supports (-webkit-overflow-scrolling: touch) {
|
|
.cm-content {
|
|
font-size: initial;
|
|
}
|
|
.DocSearch-Input {
|
|
font-size: initial;
|
|
}
|
|
}
|
|
}
|
|
|
|
.sp-cm {
|
|
padding-left: 8px !important;
|
|
}
|
|
.sp-layout {
|
|
min-height: 216px;
|
|
}
|
|
.sp-layout > .sp-stack:nth-child(1) {
|
|
/* Force vertical if there isn't enough space. */
|
|
min-width: 431px;
|
|
/* No min height on mobile because we know code in advance. */
|
|
/* Max height is needed to avoid too long files. */
|
|
max-height: 40vh;
|
|
}
|
|
.sp-layout > .sp-stack:nth-child(2) {
|
|
/* Force vertical if there isn't enough space. */
|
|
min-width: 431px;
|
|
/* Keep preview a fixed size on mobile to avoid jumps. */
|
|
/* This is because we don't know its content in advance. */
|
|
min-height: 40vh;
|
|
max-height: 40vh;
|
|
}
|
|
.sp-layout.sp-layout-expanded > .sp-stack:nth-child(1) {
|
|
/* Clicking "show more" lets mobile editor go full height. */
|
|
max-height: unset;
|
|
height: auto;
|
|
}
|
|
.sp-layout.sp-layout-expanded > .sp-stack:nth-child(2) {
|
|
/* Clicking "show more" lets mobile preview go full height. */
|
|
max-height: unset;
|
|
height: auto;
|
|
}
|
|
@media (min-width: 1280px) {
|
|
.sp-layout > .sp-stack:nth-child(1) {
|
|
/* On desktop, clamp height by pixels instead. */
|
|
height: auto;
|
|
min-height: unset;
|
|
max-height: 406px;
|
|
}
|
|
.sp-layout > .sp-stack:nth-child(2) {
|
|
/* On desktop, clamp height by pixels instead. */
|
|
height: auto;
|
|
min-height: unset;
|
|
max-height: 406px;
|
|
}
|
|
.sp-layout.sp-layout-expanded > .sp-stack:nth-child(1) {
|
|
max-height: unset;
|
|
}
|
|
.sp-layout.sp-layout-expanded > .sp-stack:nth-child(2) {
|
|
max-height: unset;
|
|
}
|
|
}
|
|
|
|
.expandable-callout .sp-stack:nth-child(2) {
|
|
min-width: 431px;
|
|
min-height: 40vh;
|
|
max-height: 40vh;
|
|
}
|
|
|