summaryrefslogtreecommitdiff
path: root/docs/lab/lab.css
diff options
context:
space:
mode:
Diffstat (limited to 'docs/lab/lab.css')
-rw-r--r--docs/lab/lab.css175
1 files changed, 130 insertions, 45 deletions
diff --git a/docs/lab/lab.css b/docs/lab/lab.css
index 3e9b3c027..e67068e92 100644
--- a/docs/lab/lab.css
+++ b/docs/lab/lab.css
@@ -54,18 +54,22 @@
--bgColor: white;
--fgColor: black;
--fgColorDimmed: rgba(0,0,0,0.4);
+ --focus-color: #18A0FB;
--input-color-bg: white;
- --input-color-focus: black;
--input-slider-color-bg: rgba(0,0,0,0.2);
--input-slider-color-fg: var(--fgColor);
--input-slider-color-focus: rgb(0, 130, 255);
--input-slider-knob-size: 8px;
--input-slider-track-size: 6px;
- --input-slider-track-hit-size: 12px;
+ --input-slider-track-hit-size: 16px;
+ --checkbox-bg: var(--input-slider-color-bg);
+ --checkbox-fg: var(--input-color-bg);
+ --checkbox-on-bg: var(--fgColor);
+ --checkbox-on-fg: var(--checkbox-fg);
--surface1-color-bg: #f4f4f4;
- --surface1-color-fg: #222;
+ --surface1-color-fg: #444;
--surface2-color-bg: white;
--surface2-color-fg: #222;
@@ -88,9 +92,12 @@
--fgColorDimmed: rgba(255,255,255,0.4);
--input-color-bg: #2c2c2c;
- --input-color-focus: rgba(255,255,255,0.7);
- --input-slider-color-bg: rgba(255,255,255,0.2);
+ --input-slider-color-bg: rgba(255,255,255,0.3);
--input-slider-color-fg: var(--fgColor);
+ --checkbox-bg: rgba(255,255,255,0.3);
+ --checkbox-fg: rgba(0,0,0,0.7);
+ --checkbox-on-bg: white;
+ --checkbox-on-fg: black;
--surface1-color-bg: #1b1b1b;
--surface1-color-fg: #aaa;
@@ -151,13 +158,14 @@ h2 {
i, cite, em, var, address, dfn {
font-style: italic;
}
-body.varfont i, body.varfont cite, body.varfont em, body.varfont var,
+/*body.varfont i, body.varfont cite, body.varfont em, body.varfont var,
body.varfont address, body.varfont dfn {
font-style: oblique -10deg;
-}
+}*/
label {
- display: block;
+ display: flex;
+ align-items: center;
margin: 2px 0;
}
@@ -192,26 +200,95 @@ input[type="number"]:focus,
input[type="text"]:focus,
select:focus {
outline: none;
- box-shadow: 0 0 0 2px var(--input-color-focus);
+ box-shadow: 0 0 0 2px var(--focus-color);
}
-input[type=range]::-moz-focus-outer {
+input[type="range"]::-moz-focus-outer {
border: 0;
}
+/* checkbox ———————————————————————————————————————————————————————————————————————————— */
+
+input[type="checkbox"] {
+ --checkbox-size:12px;
+ --checkbox-handle-size: 10px;
+ --checkbox-border: 0px;
+
+ flex: 0 0 auto;
+ margin: 4px 0;
+ appearance: none; -webkit-appearance: none; -moz-appearance: none; -ms-appearance: none;
+ user-select: none; -moz-user-select: none; -webkit-user-select:none;
+ background: none;
+ border: none;
+
+ background-color: var(--checkbox-bg);
+
+ border: var(--checkbox-border) solid var(--checkbox-bg);
+ box-sizing: border-box;
+
+ width: calc(var(--checkbox-size) * 2);
+ height:var(--checkbox-size);
+ border-radius: var(--checkbox-size);
+ position:relative;
+ transition: all 168ms ease-out;
+}
+input[type="checkbox"]:focus {
+ outline: none;
+ box-shadow: 0 0 0 2px var(--bgColor), 0 0 0 4px var(--focus-color);
+}
+input[type="checkbox"]:active {
+ /* trick to avoid flickering outline */
+ box-shadow: none;
+}
+input[type="checkbox"]::after {
+ --padding: calc(
+ calc(
+ calc(var(--checkbox-size) - var(--checkbox-handle-size))
+ / 2
+ )
+ - var(--checkbox-border)
+ );
+ content: "";
+ background: var(--checkbox-fg);
+ display:block;
+ position:absolute;
+ left: var(--padding);
+ top: var(--padding);
+ width:var(--checkbox-handle-size);
+ height:var(--checkbox-handle-size);
+ border-radius:var(--checkbox-handle-size);
+ transform: translate(0, 0);
+ transition: all 168ms ease-out; /*cubic-bezier(0.09, 0.49, 0.71, 0.98);*/
+}
+input[type="checkbox"][checked] {
+ background-color: var(--checkbox-on-bg);
+}
+input[type="checkbox"][checked]::after {
+ background-color: var(--checkbox-on-fg);
+ transform: translate(calc(var(--checkbox-size)), 0);
+ /*transition: all 168ms cubic-bezier(0.17, 0.65, 0.48, 1);*/
+}
+input[type="checkbox"][checked] + * {
+ color: var(--fgColorMax);
+}
+* + input[type="checkbox"] {
+ margin-left: 8px;
+}
+
/* range slider ———————————————————————————————————————————————————————————————————————————— */
-input[type=range] {
+input[type="range"] {
-webkit-appearance: none;
width: 100%;
background: transparent;
cursor: default;
+ margin-left: calc(calc(var(--input-slider-track-hit-size) - var(--input-slider-track-size)) / -2);
}
-input[type=range]:focus {
+input[type="range"]:focus {
outline: none;
}
-input[type=range]::-webkit-slider-thumb {
+input[type="range"]::-webkit-slider-thumb {
-webkit-appearance: none;
border: 0;
height: var(--input-slider-knob-size);
@@ -221,7 +298,7 @@ input[type=range]::-webkit-slider-thumb {
box-shadow: 0 0 0 2px var(--surface1-color-bg);
margin-top: calc(calc(var(--input-slider-knob-size) - var(--input-slider-track-size)) / -2);
}
-input[type=range]::-moz-range-thumb {
+input[type="range"]::-moz-range-thumb {
border: 0;
height: var(--input-slider-knob-size);
width: var(--input-slider-knob-size);
@@ -232,7 +309,7 @@ input[type=range]::-moz-range-thumb {
}
-input[type=range]::-webkit-slider-runnable-track {
+input[type="range"]::-webkit-slider-runnable-track {
/* Note: hit testing is done on this element so we make it large enough
to easily hit with --input-slider-track-hit-size and a border that matches the
background color. This is not portable, unfortunately. */
@@ -240,11 +317,11 @@ input[type=range]::-webkit-slider-runnable-track {
width: 100%;
height: var(--input-slider-track-hit-size);
background: var(--input-slider-color-bg);
- border-radius: var(--input-slider-track-size);
+ border-radius: var(--input-slider-track-hit-size);
--border-w: calc(calc(var(--input-slider-track-hit-size) - var(--input-slider-track-size)) / 2);
border: var(--border-w) solid var(--surface1-color-bg);
}
-input[type=range]::-moz-range-track {
+input[type="range"]::-moz-range-track {
box-sizing: border-box;
width: 100%;
height: var(--input-slider-track-hit-size);
@@ -254,18 +331,18 @@ input[type=range]::-moz-range-track {
border: var(--border-w) solid var(--surface1-color-bg);
}
-/*input[type=range]:focus::-webkit-slider-thumb { background-color: var(--blue) }
-input[type=range]:focus::-moz-range-thumb { background-color: var(--blue) }*/
+/*input[type="range"]:focus::-webkit-slider-thumb { background-color: var(--blue) }
+input[type="range"]:focus::-moz-range-thumb { background-color: var(--blue) }*/
-input[type=range]:focus::-webkit-slider-runnable-track {
- box-shadow: 0 0 0 1px var(--input-color-focus);
+input[type="range"]:focus::-webkit-slider-runnable-track {
+ box-shadow: 0 0 0 2px var(--focus-color);
}
-input[type=range]:focus::-moz-range-track {
- box-shadow: 0 0 0 1px var(--input-color-focus);
+input[type="range"]:focus::-moz-range-track {
+ box-shadow: 0 0 0 2px var(--focus-color);
}
/* TODO: MS Edge
-input[type=range]::-ms-thumb {
+input[type="range"]::-ms-thumb {
height: var(--input-slider-knob-size);
width: var(--input-slider-knob-size);
border-radius: var(--input-slider-knob-size);
@@ -273,7 +350,7 @@ input[type=range]::-ms-thumb {
box-shadow: 0 0 0 2px var(--surface1-color-bg);
margin-top: calc(calc(var(--input-slider-knob-size) - var(--input-slider-track-size)) / -2);
}
-input[type=range]::-ms-track {
+input[type="range"]::-ms-track {
width: 100%;
height: 8.4px;
background: transparent;
@@ -281,22 +358,22 @@ input[type=range]::-ms-track {
border-width: 16px 0;
color: transparent;
}
-input[type=range]::-ms-fill-lower {
+input[type="range"]::-ms-fill-lower {
background: #2a6495;
border: 0.2px solid #010101;
border-radius: 2.6px;
box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;
}
-input[type=range]:focus::-ms-fill-lower {
+input[type="range"]:focus::-ms-fill-lower {
background: #3071a9;
}
-input[type=range]::-ms-fill-upper {
+input[type="range"]::-ms-fill-upper {
background: #3071a9;
border: 0.2px solid #010101;
border-radius: 2.6px;
box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;
}
-input[type=range]:focus::-ms-fill-upper {
+input[type="range"]:focus::-ms-fill-upper {
background: #367ebd;
}*/
@@ -359,9 +436,9 @@ body.sidebar-minimized #sidebar-button {
position:fixed;
top:0; right:0; bottom:0;
background: var(--bgColor);
- padding: 24px;
+ padding: 16px 24px 24px 24px;
user-select:none; -moz-user-select: none; -webkit-user-select:none;
- font-family: sans-serif !important;
+ font-family: var(--font-family), sans-serif;
overflow: auto;
letter-spacing:0.012em;
transform-origin:100% 0%;
@@ -402,6 +479,16 @@ body.sidebar-minimized .options {
font-family: inherit;
color: inherit;
}
+ .options select {
+ min-width:50px;
+ max-width:100%;
+ flex: 1 1 auto;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ }
+ /*.options select[name="sample"] {
+ width:225px;
+ }*/
.options input::placeholder {
color: var(--fgColor);
opacity: 0.4;
@@ -416,32 +503,24 @@ body.sidebar-minimized .options {
align-items: center;
height: var(--fieldHeight);
}
- .options .label-and-value span {
- /*flex: 1 1 auto;*/
- /*background:salmon;*/
+ .options .label-and-value > *:first-child {
+ flex: 0 0 auto;
+ width:90px;
text-align: left;
margin-right:6px;
- width:90px;
}
.options .label-and-value input {
width: 50px;
max-height: var(--fieldHeight);
box-sizing: border-box;
}
- .options select {
- min-width:50px;
- max-width:130px;
- }
- .options select[name="sample"] {
- width:225px;
- }
.options label input[type="checkbox"] + * {
display: inline-block;
min-width:50%;
}
- .options label input[type="checkbox"] + *:hover {
+ /*.options label input[type="checkbox"] + *:hover {
color: var(--fgColorMax);
- }
+ }*/
.options label.rasterizePhrase {
margin-left:20px;
margin-bottom:20px;
@@ -514,6 +593,10 @@ body.sidebar-minimized .options {
display:flex;
width: 18px;
}
+ .options .italic-setting > span {
+ font-feature-settings: "cv08" 1;
+ font-style: italic;
+ }
.img-button {
@@ -536,7 +619,7 @@ body.sidebar-minimized .options {
background-color: rgba(0,0,0,0.2);
}
.img-button:focus {
- box-shadow: 0 0 0 2px var(--input-color-focus);
+ box-shadow: 0 0 0 2px var(--focus-color);
}
.img-button.disabled {
opacity:0.4;
@@ -569,6 +652,7 @@ body.italic samples {
font-style: italic;
}
sample {
+ flex: 1 1 50%;
margin: 0;
/*white-space: pre;*/
padding: 2rem;
@@ -579,6 +663,7 @@ body.italic samples {
overflow-wrap: break-word;
color: var(--fgColor);
}
+ /*body.secondarySampleDisabled sample { flex-basis: auto; }*/
sample p {
white-space: pre-wrap;
}