example/src/styles/styles.scss (531 lines of code) (raw):
@import 'variables';
// Since mynah-ui css custom properties are mapped to VSCode theme ones by default
// here are some sample VSCode themes applied.
@import 'themes/light+.scss';
@import 'themes/light+tweaked.scss';
@import 'themes/light-orange.scss';
@import 'themes/light-quiet.scss';
@import 'themes/light-solarized.scss';
@import 'themes/dark-plus.scss';
@import 'themes/dark+tweaked.scss';
@import 'themes/dark-abyss.scss';
@import 'themes/dark-ayu-mirage.scss';
@import 'themes/dark-dracula.scss';
@import 'themes/dark-solarized.scss';
html,
body {
width: 100vw;
height: 100%;
margin: 0;
padding: 0;
display: block;
overflow: hidden;
background-color: var(--mynah-color-bg);
color: var(--mynah-color-text-default);
}
.mynah-extension-showcase-grid {
&:before {
content: '';
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
background-color: var(--mynah-color-syntax-bg);
z-index: var(--mynah-z-0);
opacity: 0.25;
pointer-events: none;
}
transition: all 850ms cubic-bezier(0.25, 1, 0, 1);
display: grid;
grid-template-rows: auto 1fr;
grid-template-columns: 2fr 3fr 2fr;
height: 100%;
width: 100%;
max-width: 100%;
box-sizing: border-box;
overflow: hidden;
gap: var(--mynah-sizing-5);
padding: var(--mynah-sizing-5);
position: relative;
> * {
overflow: hidden;
padding: var(--mynah-sizing-5);
box-shadow: 0 5px 20px -5px rgba(0, 0, 0, 0.15);
border-radius: var(--mynah-card-radius);
background-color: var(--mynah-card-bg) !important;
border: var(--mynah-border-width) solid var(--mynah-color-border-default);
z-index: var(--mynah-z-1);
&:not(#header-var):before {
padding-bottom: var(--mynah-sizing-5);
font-size: 130%;
font-weight: 800;
opacity: 0.75;
}
}
#header-bar {
grid-row-start: 1;
grid-column-start: 1;
grid-row-end: 1;
grid-column-end: -1;
display: flex;
flex-flow: row nowrap;
align-items: center;
justify-content: flex-start;
gap: var(--mynah-sizing-2);
padding: var(--mynah-sizing-2);
label {
cursor: pointer;
padding: var(--mynah-sizing-3) var(--mynah-sizing-2);
border-radius: var(--mynah-input-radius);
display: inline-flex;
justify-content: center;
align-items: center;
gap: var(--mynah-sizing-2);
&:before {
transition: all 850ms cubic-bezier(0.25, 1, 0, 1);
color: var(--mynah-color-button-reverse);
content: '';
display: block;
position: absolute;
right: var(--mynah-sizing-1);
width: var(--mynah-sizing-6);
height: var(--mynah-sizing-6);
border-radius: var(--mynah-sizing-3);
background-color: var(--mynah-color-status-success);
}
&:after {
transition: all 850ms cubic-bezier(0.25, 1, 0, 1);
background-color: var(--mynah-color-button-reverse);
content: '';
display: block;
-webkit-mask-image: var(--mynah-ui-icon-ok);
mask-image: var(--mynah-ui-icon-ok);
-webkit-mask-size: 100%;
mask-size: 100%;
-webkit-mask-position: center center;
mask-position: center center;
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
width: var(--mynah-sizing-4);
height: var(--mynah-sizing-4);
}
}
}
#theme-editor {
&:before {
content: 'Theme Builder';
}
grid-row-start: 2;
grid-column-start: 1;
grid-row-end: 2;
grid-column-end: 1;
overflow: hidden;
display: flex;
flex-flow: column nowrap;
}
#mynah-ui-panel {
&:before {
content: 'Mynah UI (Example)';
}
grid-row-start: 2;
grid-column-start: 2;
grid-row-end: 2;
grid-column-end: 3;
position: relative;
display: flex;
flex-flow: column nowrap;
justify-content: center;
align-items: stretch;
> #amzn-mynah-website-wrapper {
max-width: var(--mynah-max-width);
box-shadow: 0 5px 20px -15px rgba(0, 0, 0, 0.5);
border-radius: var(--mynah-input-radius);
background-color: var(--mynah-color-bg);
border: var(--mynah-border-width) solid var(--mynah-color-border-default);
position: relative;
display: flex;
flex-flow: row nowrap;
flex: 1;
height: 100%;
box-sizing: border-box;
overflow: hidden;
margin: 0 auto;
width: 100%;
}
}
#console {
&:before {
content: 'Console';
}
border: var(--mynah-border-width) solid var(--mynah-color-border-default);
display: flex;
flex-flow: column nowrap;
box-sizing: border-box;
min-height: 100%;
max-height: 100%;
max-height: 80px;
overflow: hidden;
grid-row-start: 2;
grid-column-start: 3;
grid-row-end: 2;
grid-column-end: 3;
#console-content {
flex: 1;
overflow-x: hidden;
overflow-y: auto;
position: relative;
font-family: monospace;
display: flex;
font-size: 80%;
flex-flow: column-reverse nowrap;
gap: var(--mynah-sizing-3);
color: var(--mynah-color-syntax-code);
background-color: var(--mynah-card-bg);
padding: var(--mynah-sizing-4);
> p {
margin-block-start: 0;
margin-block-end: 0;
position: relative;
padding-left: var(--mynah-sizing-6);
&::first-letter {
text-transform: capitalize;
}
&:before {
content: '>>';
color: var(--mynah-color-syntax-attr);
position: absolute;
left: 0;
top: 0;
}
b {
color: var(--mynah-color-syntax-property);
font-weight: 500;
}
}
}
}
}
.mynah-ui-example-input-main-wrapper {
display: flex;
flex-flow: column nowrap;
gap: var(--mynah-sizing-5);
overflow: hidden;
flex: 1;
overflow-x: hidden;
overflow-y: auto;
color: var(--mynah-color-text-default);
> .mynah-ui-example-input-items-wrapper {
order: 100;
display: flex;
flex-flow: column nowrap;
gap: var(--mynah-sizing-5);
overflow: hidden;
flex-shrink: 0;
}
> h1 {
margin: 0;
}
> p {
order: 10;
}
}
.mynah-ui-example-input-buttons-wrapper {
display: flex;
flex-flow: row wrap;
gap: var(--mynah-sizing-2);
overflow: hidden;
padding-bottom: var(--mynah-sizing-5);
flex-shrink: 0;
> button > span {
white-space: nowrap;
}
> .config-operation {
&.hidden {
opacity: 0;
visibility: hidden;
display: none;
}
}
}
.mynah-ui-example-input {
display: flex;
flex-flow: column nowrap;
gap: var(--mynah-sizing-3);
&-category {
&-sizing {
order: 10;
}
&-border-style {
order: 20;
}
&-font-size {
order: 30;
}
&-font-family {
order: 40;
}
&-text-color {
order: 50;
}
&-syntax-color {
order: 60;
}
&-status-color {
order: 70;
}
&-background-color {
order: 80;
}
&-shadow {
order: 90;
}
&-radius {
order: 100;
}
&-transition {
order: 110;
}
&-other {
order: 1000;
}
}
> h1 {
padding-top: var(--mynah-sizing-6);
margin: 0;
text-transform: capitalize;
}
& > &-title-wrapper {
display: flex;
flex-flow: column nowrap;
gap: var(--mynah-sizing-1);
h4 {
margin: 0;
text-transform: capitalize;
}
span {
font-style: italic;
font-size: 90%;
color: var(--mynah-color-text-weak);
}
}
& > &-wrapper {
display: flex;
flex-flow: row nowrap;
gap: var(--mynah-sizing-2);
position: relative;
&:has(select) {
> select {
padding-right: var(--mynah-sizing-5);
}
&:after {
content: '';
-webkit-mask-image: var(--mynah-ui-icon-down-open);
mask-image: var(--mynah-ui-icon-down-open);
background-color: currentColor;
opacity: 0.5;
-webkit-mask-size: 100%;
mask-size: 100%;
-webkit-mask-position: center center;
mask-position: center center;
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
position: absolute;
right: var(--mynah-sizing-3);
top: 50%;
margin-top: calc(-1 * var(--mynah-sizing-2));
width: var(--mynah-sizing-4);
height: var(--mynah-sizing-4);
}
}
> input[type='text'],
> input[type='number'] {
flex: 1;
}
> select {
appearance: none;
min-width: 70px;
cursor: pointer;
&#theme-selector {
max-width: 140px;
}
}
> small,
> input,
> select {
&[type='color'],
&[type='range'] {
padding: var(--mynah-sizing-1);
width: 100px;
min-width: 100px;
max-width: 100px;
outline: none;
}
background-color: var(--mynah-card-bg);
color: var(--mynah-color-text-input);
border-radius: var(--mynah-input-radius);
padding: var(--mynah-sizing-3);
border: var(--mynah-border-width) solid var(--mynah-color-border-default);
}
> small {
border: none;
padding: 0 !important;
}
> input[type='range'] {
border: none;
-webkit-appearance: none;
appearance: none;
background: transparent;
cursor: pointer;
&:focus {
outline: none;
}
&::-webkit-slider-runnable-track {
background-color: var(--mynah-color-border-default);
border-radius: 0.5rem;
height: var(--mynah-sizing-2);
}
&::-webkit-slider-thumb {
outline: none;
-webkit-appearance: none;
appearance: none;
margin-top: calc(-1 * var(--mynah-sizing-2));
background-color: var(--mynah-color-button);
height: var(--mynah-sizing-6);
width: var(--mynah-sizing-6);
border-radius: var(--mynah-sizing-3);
}
}
}
}
.ver-div {
height: 30px;
border: var(--mynah-border-width) solid var(--mynah-color-border-default);
}
input.hidden {
// visibility: hidden;
display: none;
opacity: 0;
}
@media only screen and (max-width: 1280px) {
#theme-editor-enabled,
label[for='theme-editor-enabled'] {
display: none !important;
}
.mynah-extension-showcase-grid {
grid-template-columns: 4fr 3fr !important;
#theme-editor {
display: none;
visibility: hidden;
}
#mynah-ui-panel {
grid-column-start: 1;
grid-column-end: 2;
}
#console {
grid-column-start: 2;
grid-column-end: 2;
}
}
}
@media only screen and (max-width: 860px) {
#console-enabled,
label[for='console-enabled'] {
display: none !important;
}
.mynah-extension-showcase-grid {
grid-template-columns: 100% !important;
padding: 0;
gap: 0;
#header-bar {
padding: var(--mynah-sizing-2);
box-shadow: none;
border-radius: 0;
border: none;
}
#theme-editor {
display: none;
}
#mynah-ui-panel {
#amzn-mynah-website-wrapper {
border-radius: 0;
border: none;
.mynah-nav-tabs-wrapper {
> .mynah-tabs-container > span:first-child > label {
border-top-left-radius: initial;
}
}
}
grid-column-start: 1;
grid-column-end: 1;
border-radius: 0;
padding: 0;
border-left: none;
border-right: none;
border-bottom: none;
&:before {
display: none;
}
}
#console {
display: none;
}
}
}
html:not([theme^='base']) {
label[for='theme-editor-enabled'] {
display: none !important;
}
}
html:not([theme^='base']) .mynah-extension-showcase-grid,
#theme-editor-enabled:not(:checked) ~ .mynah-extension-showcase-grid {
grid-template-columns: 1fr 2fr 2fr;
#theme-editor {
display: none;
visibility: hidden;
}
#mynah-ui-panel {
grid-column-start: 1;
}
#header-bar {
label[for='theme-editor-enabled'] {
&:before {
background-color: var(--mynah-color-text-weak);
}
&:after {
-webkit-mask-image: var(--mynah-ui-icon-minus);
mask-image: var(--mynah-ui-icon-minus);
}
}
}
}
#console-enabled:not(:checked) {
& ~ .mynah-extension-showcase-grid {
grid-template-columns: 2fr 2fr 1fr;
#console {
display: none;
visibility: hidden;
}
#mynah-ui-panel {
grid-column-end: -1;
}
#header-bar {
label[for='console-enabled'] {
&:before {
background-color: var(--mynah-color-text-weak);
}
&:after {
-webkit-mask-image: var(--mynah-ui-icon-minus);
mask-image: var(--mynah-ui-icon-minus);
}
}
}
}
}
html:not([theme^='base']) #console-enabled:not(:checked) ~ .mynah-extension-showcase-grid,
#theme-editor-enabled:not(:checked) + #console-enabled:not(:checked) ~ .mynah-extension-showcase-grid {
#console {
display: none;
visibility: hidden;
}
#mynah-ui-panel {
grid-column-end: -1;
}
}