Merge pull request #7 from picocss/dev

Minor Release (v1.1.0)
This commit is contained in:
Lucas Larroche 2020-09-25 09:57:00 +07:00 committed by GitHub
commit f67044ecae
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
30 changed files with 1749 additions and 801 deletions

View file

@ -21,8 +21,11 @@
- **Class-light and semantic**: we use simple native HTML tags as much as possible. Only 6 .classes are used in Pico.
- **Great styles with just one CSS file**: No dependencies, package manager, external files or JavaScript.
- **Responsive everything**: Elegant and consistent adaptatives spacings and typography on all devices.
- **Light or Dark mode**: Shipped with two beautiful color themes, automatically enabled according to the user preference.
## Usage
@ -50,14 +53,27 @@ npm install @picocss/pico
## Examples
<a href="https://picocss.com/#examples">
<img src="https://picocss.com/img/examples.jpg">
</a>
[![Examples](https://picocss.com/img/examples.jpg)](https://picocss.com/#examples)
- [**Class-less**](https://picocss.com/examples/classless/): Just a pure semantic HTML markup, without `.classes`
- [**Company**](https://picocss.com/examples/company/): A classic company or blog layout with a sidebar.
- [**Google Amp**](https://picocss.com/examples/google-amp/): A simple layout for Google Amp, with inlined CSS.
- [**Sign in**](https://picocss.com/examples/sign-in/): A minimalist layout for Login pages.
- **[Class-less](https://picocss.com/examples/classless/)**
Just a pure semantic HTML markup, without `.classes`
- **[Company](https://picocss.com/examples/company/)**
A classic company or blog layout with a sidebar
- **[Google Amp](https://picocss.com/examples/google-amp/)**
A simple layout for Google Amp, with inlined CSS
- **[Sign in](https://picocss.com/examples/sign-in/)**
A minimalist layout for Login pages
- **[Form elements](https://picocss.com/examples/form-elements/)**
Semantic HTML form markup, without any `.classes` or `JavaScript`
- **[Bootstrap grid system](https://picocss.com/examples/bootstrap-grid/)**
Custom CSS build with the Bootstrap grid system to manage complex grid layouts in Pico
All examples are open-sourced in [picocss/examples](https://github.com/picocss/examples).
## Documentation

View file

@ -1,5 +1,5 @@
/*!
* Pico.css v1.0.6 (https://picocss.com)
* Pico.css v1.1.0 (https://picocss.com)
* Copyright 2020 - Licensed under MIT
*/
/**
@ -95,7 +95,7 @@
--code-color-3: #599fa6;
--code-color-4: #8c8473;
--code-color-5: #4d606d;
--table-border: #10181e;
--table-border: rgba(115, 130, 140, 0.06);
--table-stripping: rgba(115, 130, 140, 0.02);
}
}
@ -141,7 +141,7 @@
--code-color-3: #599fa6;
--code-color-4: #8c8473;
--code-color-5: #4d606d;
--table-border: #10181e;
--table-border: rgba(115, 130, 140, 0.06);
--table-stripping: rgba(115, 130, 140, 0.02);
}
@ -556,7 +556,7 @@ ol {
ul li,
ol li {
margin-bottom: 0.75rem;
margin-bottom: 0.375rem;
}
ul li {
@ -641,6 +641,98 @@ svg:not(:root) {
overflow: hidden;
}
/**
* Button
*/
button {
margin: 0;
overflow: visible;
font-family: inherit;
text-transform: none;
}
button,
[type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
padding: 0;
border-style: none;
}
button {
display: block;
width: 100%;
margin-bottom: 1.5rem;
}
a[role="button"] {
display: inline-block;
text-decoration: none;
}
button,
input[type="submit"],
input[type="button"],
[type="file"]::-webkit-file-upload-button,
a[role="button"] {
padding: 0.75rem 1rem;
border: 1px solid transparent;
border-radius: 0.25rem;
outline: none;
background-color: var(--primary);
color: var(--primary-inverse);
font-size: 1rem;
font-weight: normal;
line-height: 1.5;
text-align: center;
cursor: pointer;
transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}
button:hover, button:active, button:focus,
input[type="submit"]:hover,
input[type="submit"]:active,
input[type="submit"]:focus,
input[type="button"]:hover,
input[type="button"]:active,
input[type="button"]:focus,
[type="file"]::-webkit-file-upload-button:hover,
[type="file"]::-webkit-file-upload-button:active,
[type="file"]::-webkit-file-upload-button:focus,
a[role="button"]:hover,
a[role="button"]:active,
a[role="button"]:focus {
background-color: var(--primary-hover);
}
button:focus,
input[type="submit"]:focus,
input[type="button"]:focus,
[type="file"]::-webkit-file-upload-button:focus,
a[role="button"]:focus {
box-shadow: 0 0 0 0.2rem var(--primary-focus);
}
input[type="reset"] {
cursor: pointer;
}
button[disabled],
input[type="submit"][disabled],
input[type="button"][disabled],
input[type="reset"][disabled],
a[role="button"][disabled] {
opacity: .5;
pointer-events: none;
}
/**
* Form elements
*/
@ -719,12 +811,16 @@ textarea {
display: none;
}
[type="color"],
[type="file"],
[type="range"] {
padding: 0;
border-width: 0;
}
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]) {
height: calc(1.5rem + 1.5rem + 2px);
}
fieldset {
margin: 0;
margin-bottom: 1.5rem;
@ -732,6 +828,13 @@ fieldset {
border: 0;
}
label,
fieldset legend {
display: block;
margin-bottom: 0.25rem;
vertical-align: middle;
}
input:not([type="checkbox"]):not([type="radio"]),
select,
textarea,
@ -740,27 +843,26 @@ form small {
width: 100%;
}
label,
fieldset legend {
display: block;
margin-bottom: 0.125rem;
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),
select,
textarea {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
padding: 0.75rem 1rem;
vertical-align: middle;
}
input,
select,
textarea {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
border: 1px solid var(--input-border);
border-radius: 0.25rem;
outline: none;
background-color: var(--input-background);
color: var(--text);
font-weight: normal;
vertical-align: middle;
transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}
input::placeholder, input::-webkit-input-placeholder,
@ -780,12 +882,6 @@ textarea:focus {
border-color: var(--primary);
}
input:focus,
select:focus,
textarea:focus {
box-shadow: 0 0 0 0.2rem var(--primary-focus);
}
input[readonly], input[disabled],
select[readonly],
select[disabled],
@ -803,10 +899,16 @@ textarea[disabled] ~ label {
color: var(--muted-text);
}
input[disabled]:not([type="reset"]):not([type="submit"]):not([type="button"]),
select[disabled]:not([type="reset"]):not([type="submit"]):not([type="button"]),
textarea[disabled]:not([type="reset"]):not([type="submit"]):not([type="button"]) {
background-color: var(--muted-background);
}
input[disabled],
select[disabled],
textarea[disabled] {
background-color: var(--muted-background);
cursor: not-allowed;
opacity: .5;
}
@ -814,11 +916,12 @@ input:not([type="checkbox"]):not([type="radio"]),
select,
textarea {
margin-bottom: 1.5rem;
padding: 0.75rem 1rem;
}
input[type="color"] {
height: calc(3rem + 2px);
input:not([type="range"]):not([type="file"]):focus,
select:focus,
textarea:focus {
box-shadow: 0 0 0 0.2rem var(--primary-focus);
}
select::-ms-expand {
@ -827,7 +930,8 @@ select::-ms-expand {
}
select:not([multiple]):not([size]) {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(115, 130, 140, 0.66)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
padding-right: 2.5rem;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(115, 130, 140, 0.999)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
background-position: center right .75rem;
background-repeat: no-repeat;
background-size: 1rem auto;
@ -844,27 +948,29 @@ textarea + small {
margin-bottom: 1.5rem;
}
label > input:not([type="checkbox"]):not([type="radio"]),
label > input,
label > select,
label > textarea {
margin-top: 0.125rem;
margin-top: 0.25rem;
}
/**
* Form elements
* Checkboxes & Radios
*/
[type="checkbox"],
[type="radio"] {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
display: inline-block;
width: 1em;
height: 1em;
width: 1.25rem;
height: 1.25rem;
margin-right: .375rem;
margin-bottom: 0.125rem;
margin-bottom: 0.25rem;
border-width: 2px;
font-size: 1.125rem;
vertical-align: middle;
cursor: pointer;
transition: none;
}
[type="checkbox"]::-ms-check,
@ -879,7 +985,7 @@ label > textarea {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23FFF' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
background-position: center;
background-repeat: no-repeat;
background-size: .66rem auto;
background-size: .75rem auto;
}
[type="checkbox"] ~ label,
@ -902,17 +1008,17 @@ label > textarea {
}
[type="checkbox"][role="switch"] {
width: 1.85em;
height: 1em;
border: 2px solid var(--input-border);
border-radius: 1em;
width: 2.25rem;
height: 1.25rem;
border: 3px solid var(--input-border);
border-radius: 1.25rem;
background-color: var(--input-border);
line-height: 1em;
line-height: 1.25rem;
}
[type="checkbox"][role="switch"]:before {
display: block;
width: calc(1em - 4px);
width: calc(1.25rem - 6px);
height: 100%;
border-radius: 50%;
background-color: var(--primary-inverse);
@ -928,88 +1034,211 @@ label > textarea {
[type="checkbox"][role="switch"]:checked::before {
margin-right: 0;
margin-left: calc(0.925em - 2px);
margin-left: calc(1.125rem - 3px);
}
/**
* Button
* Form elements
* Alternatives input types (Not Checkboxes & Radios)
*/
button {
margin: 0;
overflow: visible;
font-family: inherit;
text-transform: none;
}
button,
[type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
[type="color"]::-webkit-color-swatch-wrapper {
padding: 0;
border-style: none;
}
button {
[type="color"]::-moz-focus-inner {
padding: 0;
}
[type="color"]::-webkit-color-swatch {
border: none;
border-radius: 0.125rem;
}
[type="color"]::-moz-color-swatch {
border: none;
border-radius: 0.125rem;
}
[type="date"],
[type="datetime-local"],
[type="month"],
[type="time"],
[type="week"] {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(115, 130, 140, 0.999)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-calendar'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");
background-position: center right .75rem;
background-repeat: no-repeat;
background-size: 1rem auto;
}
[type="date"]::-webkit-calendar-picker-indicator,
[type="datetime-local"]::-webkit-calendar-picker-indicator,
[type="month"]::-webkit-calendar-picker-indicator,
[type="time"]::-webkit-calendar-picker-indicator,
[type="week"]::-webkit-calendar-picker-indicator {
opacity: 0;
}
[type="time"] {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(115, 130, 140, 0.999)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-clock'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E");
}
[type="file"] {
padding: 0.5rem 0;
border: none;
border-radius: 0;
background: none;
color: var(--muted-text);
}
[type="file"]::-webkit-file-upload-button {
padding-top: 0.5rem;
padding-bottom: 0.5rem;
background-color: var(--secondary);
color: var(--secondary-inverse);
}
[type="file"]:hover, [type="file"]:active, [type="file"]:focus {
border: none;
}
[type="file"]:hover::-webkit-file-upload-button, [type="file"]:active::-webkit-file-upload-button, [type="file"]:focus::-webkit-file-upload-button {
background-color: var(--secondary-hover);
}
[type="file"]:focus {
box-shadow: none;
}
[type="file"]:focus::-webkit-file-upload-button {
box-shadow: 0 0 0 0.2rem var(--secondary-focus);
}
[type="range"] {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
display: block;
width: 100%;
margin-bottom: 1.5rem;
height: 1.25rem;
background: transparent;
}
a[role="button"] {
display: inline-block;
text-decoration: none;
}
button,
input[type="submit"],
a[role="button"] {
padding: 0.75rem 1rem;
border: 1px solid transparent;
[type="range"]::-webkit-slider-runnable-track {
width: 100%;
height: 0.25rem;
border-radius: 0.25rem;
outline: none;
background-color: var(--primary);
color: var(--primary-inverse);
font-size: 1rem;
font-weight: normal;
line-height: 1.5;
text-align: center;
cursor: pointer;
transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
background-color: var(--input-border);
transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}
button:hover, button:active, button:focus,
input[type="submit"]:hover,
input[type="submit"]:active,
input[type="submit"]:focus,
a[role="button"]:hover,
a[role="button"]:active,
a[role="button"]:focus {
[type="range"]::-moz-range-track {
width: 100%;
height: 0.25rem;
border-radius: 0.25rem;
background-color: var(--input-border);
transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}
[type="range"]::-ms-track {
width: 100%;
height: 0.25rem;
border-radius: 0.25rem;
background-color: var(--input-border);
transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}
[type="range"]::-ms-fill-lower {
background-color: var(--input-border);
}
[type="range"]::-webkit-slider-thumb {
-webkit-appearance: none;
width: 1.25rem;
height: 1.25rem;
margin-top: -0.5rem;
border: 0;
border: 2px solid var(--background);
border-radius: 50%;
background-color: var(--text);
cursor: pointer;
transition: background-color 0.2s ease-in-out, transform 0.2s ease-in-out;
}
[type="range"]::-moz-range-thumb {
-webkit-appearance: none;
width: 1.25rem;
height: 1.25rem;
margin-top: -0.5rem;
border: 0;
border-radius: 50%;
background-color: var(--text);
cursor: pointer;
transition: background-color 0.2s ease-in-out, transform 0.2s ease-in-out;
}
[type="range"]::-ms-thumb {
-webkit-appearance: none;
width: 1.25rem;
height: 1.25rem;
margin-top: -0.5rem;
border: 0;
border-radius: 50%;
background-color: var(--text);
cursor: pointer;
transition: background-color 0.2s ease-in-out, transform 0.2s ease-in-out;
}
[type="range"]:focus::-webkit-slider-runnable-track {
background-color: var(--muted-text);
box-shadow: 0 0 0 0.1rem var(--primary-focus);
}
[type="range"]:focus::-moz-range-track {
background-color: var(--muted-text);
box-shadow: 0 0 0 0.1rem var(--primary-focus);
}
[type="range"]:focus::-ms-track {
background-color: var(--muted-text);
box-shadow: 0 0 0 0.1rem var(--primary-focus);
}
[type="range"]:focus::-ms-fill-lower {
background-color: var(--muted-text);
box-shadow: 0 0 0 0.1rem var(--primary-focus);
}
[type="range"]:active::-webkit-slider-thumb {
transform: scale(1.25);
background-color: var(--primary-hover);
}
button:focus,
input[type="submit"]:focus,
a[role="button"]:focus {
box-shadow: 0 0 0 0.2rem var(--primary-focus);
[type="range"]:active::-moz-range-thumb {
transform: scale(1.25);
background-color: var(--primary-hover);
}
input[type="reset"] {
cursor: pointer;
[type="range"]:active::-ms-thumb {
transform: scale(1.25);
background-color: var(--primary-hover);
}
button[disabled],
input[type="submit"][disabled],
input[type="reset"][disabled],
a[role="button"][disabled] {
opacity: .5;
pointer-events: none;
[type="range"]:focus {
box-shadow: none;
}
[type="search"] {
border-radius: 3rem;
padding-left: 2.5rem !important;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(115, 130, 140, 0.999)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-search'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E");
background-position: center left .75rem;
background-repeat: no-repeat;
background-size: 1rem auto;
}
[type="search"]::-webkit-search-cancel-button {
-webkit-appearance: none;
display: none;
}
/**
@ -1274,7 +1503,7 @@ details summary::after {
height: 1rem;
float: right;
transform: rotate(-90deg);
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(115, 130, 140, 0.66)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(115, 130, 140, 0.999)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
background-position: center;
background-repeat: no-repeat;
background-size: 1rem auto;
@ -1343,7 +1572,7 @@ article {
}
article > *:not(header):not(footer):not(pre):last-child {
margin-bottom: 0;
margin-bottom: 0 !important;
}
/**
@ -1589,18 +1818,18 @@ aside li a {
}
/**
* Reduce Motion Features
*/
* Reduce Motion Features
*/
@media (prefers-reduced-motion: reduce) {
*,
::before,
::after {
background-attachment: initial;
animation-duration: 1ms;
animation-delay: -1ms;
animation-iteration-count: 1;
scroll-behavior: auto;
transition-delay: 0s;
transition-duration: 0s;
background-attachment: initial !important;
animation-duration: 1ms !important;
animation-delay: -1ms !important;
animation-iteration-count: 1 !important;
scroll-behavior: auto !important;
transition-delay: 0s !important;
transition-duration: 0s !important;
}
}

File diff suppressed because one or more lines are too long

View file

@ -1,5 +1,5 @@
/*!
* Pico.css v1.0.6 (https://picocss.com)
* Pico.css v1.1.0 (https://picocss.com)
* Copyright 2020 - Licensed under MIT
*/
/**
@ -95,7 +95,7 @@
--code-color-3: #599fa6;
--code-color-4: #8c8473;
--code-color-5: #4d606d;
--table-border: #10181e;
--table-border: rgba(115, 130, 140, 0.06);
--table-stripping: rgba(115, 130, 140, 0.02);
}
}
@ -141,7 +141,7 @@
--code-color-3: #599fa6;
--code-color-4: #8c8473;
--code-color-5: #4d606d;
--table-border: #10181e;
--table-border: rgba(115, 130, 140, 0.06);
--table-stripping: rgba(115, 130, 140, 0.02);
}
@ -639,7 +639,7 @@ ol {
ul li,
ol li {
margin-bottom: 0.75rem;
margin-bottom: 0.375rem;
}
ul li {
@ -724,6 +724,236 @@ svg:not(:root) {
overflow: hidden;
}
/**
* Button
*/
button {
margin: 0;
overflow: visible;
font-family: inherit;
text-transform: none;
}
button,
[type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
padding: 0;
border-style: none;
}
button {
display: block;
width: 100%;
margin-bottom: 1.5rem;
}
a[role="button"] {
display: inline-block;
text-decoration: none;
}
button,
input[type="submit"],
input[type="button"],
[type="file"]::-webkit-file-upload-button,
a[role="button"] {
padding: 0.75rem 1rem;
border: 1px solid transparent;
border-radius: 0.25rem;
outline: none;
background-color: var(--primary);
color: var(--primary-inverse);
font-size: 1rem;
font-weight: normal;
line-height: 1.5;
text-align: center;
cursor: pointer;
transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}
button:hover, button:active, button:focus,
input[type="submit"]:hover,
input[type="submit"]:active,
input[type="submit"]:focus,
input[type="button"]:hover,
input[type="button"]:active,
input[type="button"]:focus,
[type="file"]::-webkit-file-upload-button:hover,
[type="file"]::-webkit-file-upload-button:active,
[type="file"]::-webkit-file-upload-button:focus,
a[role="button"]:hover,
a[role="button"]:active,
a[role="button"]:focus {
background-color: var(--primary-hover);
}
button:focus,
input[type="submit"]:focus,
input[type="button"]:focus,
[type="file"]::-webkit-file-upload-button:focus,
a[role="button"]:focus {
box-shadow: 0 0 0 0.2rem var(--primary-focus);
}
input[type="reset"] {
cursor: pointer;
}
button[disabled],
input[type="submit"][disabled],
input[type="button"][disabled],
input[type="reset"][disabled],
a[role="button"][disabled] {
opacity: .5;
pointer-events: none;
}
/**
* Button Styles
*/
button.secondary,
input[type="submit"].secondary,
input[type="reset"],
a[role="button"].secondary {
background-color: var(--secondary);
color: var(--secondary-inverse);
}
button.secondary:hover, button.secondary:active, button.secondary:focus,
input[type="submit"].secondary:hover,
input[type="submit"].secondary:active,
input[type="submit"].secondary:focus,
input[type="reset"]:hover,
input[type="reset"]:active,
input[type="reset"]:focus,
a[role="button"].secondary:hover,
a[role="button"].secondary:active,
a[role="button"].secondary:focus {
background-color: var(--secondary-hover);
}
button.secondary:focus,
input[type="submit"].secondary:focus,
input[type="reset"]:focus,
a[role="button"].secondary:focus {
box-shadow: 0 0 0 0.2rem var(--secondary-focus);
}
button.contrast,
input[type="submit"].contrast,
input[type="reset"].contrast,
a[role="button"].contrast {
background-color: var(--contrast);
color: var(--contrast-inverse);
}
button.contrast:hover, button.contrast:active, button.contrast:focus,
input[type="submit"].contrast:hover,
input[type="submit"].contrast:active,
input[type="submit"].contrast:focus,
input[type="reset"].contrast:hover,
input[type="reset"].contrast:active,
input[type="reset"].contrast:focus,
a[role="button"].contrast:hover,
a[role="button"].contrast:active,
a[role="button"].contrast:focus {
background-color: var(--contrast-hover);
}
button.contrast:focus,
input[type="submit"].contrast:focus,
input[type="reset"].contrast:focus,
a[role="button"].contrast:focus {
box-shadow: 0 0 0 0.2rem var(--contrast-focus);
}
button.outline,
input[type="submit"].outline,
a.outline[role="button"] {
border: 1px solid var(--primary);
background-color: transparent;
color: var(--primary);
}
button.outline:hover, button.outline:active, button.outline:focus,
input[type="submit"].outline:hover,
input[type="submit"].outline:active,
input[type="submit"].outline:focus,
a.outline[role="button"]:hover,
a.outline[role="button"]:active,
a.outline[role="button"]:focus {
border: 1px solid var(--primary-hover);
color: var(--primary-hover);
}
button.outline.secondary,
input[type="submit"].outline.secondary,
input[type="reset"].outline,
a[role="button"].outline.secondary {
border: 1px solid var(--secondary);
background-color: transparent;
color: var(--secondary);
}
button.outline.secondary:hover, button.outline.secondary:active, button.outline.secondary:focus,
input[type="submit"].outline.secondary:hover,
input[type="submit"].outline.secondary:active,
input[type="submit"].outline.secondary:focus,
input[type="reset"].outline:hover,
input[type="reset"].outline:active,
input[type="reset"].outline:focus,
a[role="button"].outline.secondary:hover,
a[role="button"].outline.secondary:active,
a[role="button"].outline.secondary:focus {
border: 1px solid var(--secondary-hover);
color: var(--secondary-hover);
}
button.outline.secondary:focus,
input[type="submit"].outline.secondary:focus,
input[type="reset"].outline:focus,
a[role="button"].outline.secondary:focus {
box-shadow: 0 0 0 0.2rem var(--secondary-focus);
}
button.outline.contrast,
input[type="submit"].outline.contrast,
input[type="reset"].outline.contrast,
a[role="button"].outline.contrast {
border: 1px solid var(--contrast);
background-color: transparent;
color: var(--contrast);
}
button.outline.contrast:hover, button.outline.contrast:active, button.outline.contrast:focus,
input[type="submit"].outline.contrast:hover,
input[type="submit"].outline.contrast:active,
input[type="submit"].outline.contrast:focus,
input[type="reset"].outline.contrast:hover,
input[type="reset"].outline.contrast:active,
input[type="reset"].outline.contrast:focus,
a[role="button"].outline.contrast:hover,
a[role="button"].outline.contrast:active,
a[role="button"].outline.contrast:focus {
border: 1px solid var(--contrast-hover);
color: var(--contrast-hover);
}
button.outline.contrast:focus,
input[type="submit"].outline.contrast:focus,
input[type="reset"].outline.contrast:focus,
a[role="button"].outline.contrast:focus {
box-shadow: 0 0 0 0.2rem var(--contrast-focus);
}
/**
* Form elements
*/
@ -802,12 +1032,16 @@ textarea {
display: none;
}
[type="color"],
[type="file"],
[type="range"] {
padding: 0;
border-width: 0;
}
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]) {
height: calc(1.5rem + 1.5rem + 2px);
}
fieldset {
margin: 0;
margin-bottom: 1.5rem;
@ -815,6 +1049,13 @@ fieldset {
border: 0;
}
label,
fieldset legend {
display: block;
margin-bottom: 0.25rem;
vertical-align: middle;
}
input:not([type="checkbox"]):not([type="radio"]),
select,
textarea,
@ -823,27 +1064,26 @@ form small {
width: 100%;
}
label,
fieldset legend {
display: block;
margin-bottom: 0.125rem;
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),
select,
textarea {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
padding: 0.75rem 1rem;
vertical-align: middle;
}
input,
select,
textarea {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
border: 1px solid var(--input-border);
border-radius: 0.25rem;
outline: none;
background-color: var(--input-background);
color: var(--text);
font-weight: normal;
vertical-align: middle;
transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}
input::placeholder, input::-webkit-input-placeholder,
@ -863,12 +1103,6 @@ textarea:focus {
border-color: var(--primary);
}
input:focus,
select:focus,
textarea:focus {
box-shadow: 0 0 0 0.2rem var(--primary-focus);
}
input[readonly], input[disabled],
select[readonly],
select[disabled],
@ -886,21 +1120,20 @@ textarea[disabled] ~ label {
color: var(--muted-text);
}
input[disabled]:not([type="reset"]):not([type="submit"]):not([type="button"]),
select[disabled]:not([type="reset"]):not([type="submit"]):not([type="button"]),
textarea[disabled]:not([type="reset"]):not([type="submit"]):not([type="button"]) {
background-color: var(--muted-background);
}
input[disabled],
select[disabled],
textarea[disabled] {
background-color: var(--muted-background);
cursor: not-allowed;
opacity: .5;
}
input:not([type="checkbox"]):not([type="radio"]),
select,
textarea {
margin-bottom: 1.5rem;
padding: 0.75rem 1rem;
}
input:not([type="checkbox"]):not([type="radio"]).valid, input:not([type="checkbox"]):not([type="radio"]).invalid,
input.valid, input.invalid,
select.valid,
select.invalid,
textarea.valid,
@ -911,22 +1144,28 @@ textarea.invalid {
background-size: 1rem auto;
}
input:not([type="checkbox"]):not([type="radio"]).valid,
input.valid,
select.valid,
textarea.valid {
border-bottom: 1px solid var(--valid);
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(40, 138, 106, 0.99)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(40, 138, 106, 0.999)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
}
input:not([type="checkbox"]):not([type="radio"]).invalid,
input.invalid,
select.invalid,
textarea.invalid {
border-bottom: 1px solid var(--invalid);
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(185, 70, 70, 0.99)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(185, 70, 70, 0.999)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");
}
input[type="color"] {
height: calc(3rem + 2px);
input:not([type="checkbox"]):not([type="radio"]),
select,
textarea {
margin-bottom: 1.5rem;
}
input:not([type="range"]):not([type="file"]):focus,
select:focus,
textarea:focus {
box-shadow: 0 0 0 0.2rem var(--primary-focus);
}
select::-ms-expand {
@ -935,7 +1174,8 @@ select::-ms-expand {
}
select:not([multiple]):not([size]) {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(115, 130, 140, 0.66)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
padding-right: 2.5rem;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(115, 130, 140, 0.999)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
background-position: center right .75rem;
background-repeat: no-repeat;
background-size: 1rem auto;
@ -952,27 +1192,29 @@ textarea + small {
margin-bottom: 1.5rem;
}
label > input:not([type="checkbox"]):not([type="radio"]),
label > input,
label > select,
label > textarea {
margin-top: 0.125rem;
margin-top: 0.25rem;
}
/**
* Form elements
* Checkboxes & Radios
*/
[type="checkbox"],
[type="radio"] {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
display: inline-block;
width: 1em;
height: 1em;
width: 1.25rem;
height: 1.25rem;
margin-right: .375rem;
margin-bottom: 0.125rem;
margin-bottom: 0.25rem;
border-width: 2px;
font-size: 1.125rem;
vertical-align: middle;
cursor: pointer;
transition: none;
}
[type="checkbox"]::-ms-check,
@ -987,7 +1229,7 @@ label > textarea {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23FFF' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
background-position: center;
background-repeat: no-repeat;
background-size: .66rem auto;
background-size: .75rem auto;
}
[type="checkbox"] ~ label,
@ -1010,17 +1252,17 @@ label > textarea {
}
[type="checkbox"][role="switch"] {
width: 1.85em;
height: 1em;
border: 2px solid var(--input-border);
border-radius: 1em;
width: 2.25rem;
height: 1.25rem;
border: 3px solid var(--input-border);
border-radius: 1.25rem;
background-color: var(--input-border);
line-height: 1em;
line-height: 1.25rem;
}
[type="checkbox"][role="switch"]:before {
display: block;
width: calc(1em - 4px);
width: calc(1.25rem - 6px);
height: 100%;
border-radius: 50%;
background-color: var(--primary-inverse);
@ -1036,226 +1278,211 @@ label > textarea {
[type="checkbox"][role="switch"]:checked::before {
margin-right: 0;
margin-left: calc(0.925em - 2px);
margin-left: calc(1.125rem - 3px);
}
/**
* Button
* Form elements
* Alternatives input types (Not Checkboxes & Radios)
*/
button {
margin: 0;
overflow: visible;
font-family: inherit;
text-transform: none;
}
button,
[type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
[type="color"]::-webkit-color-swatch-wrapper {
padding: 0;
border-style: none;
}
button {
display: block;
width: 100%;
margin-bottom: 1.5rem;
[type="color"]::-moz-focus-inner {
padding: 0;
}
a[role="button"] {
display: inline-block;
text-decoration: none;
[type="color"]::-webkit-color-swatch {
border: none;
border-radius: 0.125rem;
}
button,
input[type="submit"],
a[role="button"] {
padding: 0.75rem 1rem;
border: 1px solid transparent;
border-radius: 0.25rem;
outline: none;
background-color: var(--primary);
color: var(--primary-inverse);
font-size: 1rem;
font-weight: normal;
line-height: 1.5;
text-align: center;
cursor: pointer;
transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
[type="color"]::-moz-color-swatch {
border: none;
border-radius: 0.125rem;
}
button:hover, button:active, button:focus,
input[type="submit"]:hover,
input[type="submit"]:active,
input[type="submit"]:focus,
a[role="button"]:hover,
a[role="button"]:active,
a[role="button"]:focus {
background-color: var(--primary-hover);
[type="date"],
[type="datetime-local"],
[type="month"],
[type="time"],
[type="week"] {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(115, 130, 140, 0.999)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-calendar'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");
background-position: center right .75rem;
background-repeat: no-repeat;
background-size: 1rem auto;
}
button:focus,
input[type="submit"]:focus,
a[role="button"]:focus {
box-shadow: 0 0 0 0.2rem var(--primary-focus);
[type="date"]::-webkit-calendar-picker-indicator,
[type="datetime-local"]::-webkit-calendar-picker-indicator,
[type="month"]::-webkit-calendar-picker-indicator,
[type="time"]::-webkit-calendar-picker-indicator,
[type="week"]::-webkit-calendar-picker-indicator {
opacity: 0;
}
input[type="reset"] {
cursor: pointer;
[type="time"] {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(115, 130, 140, 0.999)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-clock'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E");
}
button[disabled],
input[type="submit"][disabled],
input[type="reset"][disabled],
a[role="button"][disabled] {
opacity: .5;
pointer-events: none;
[type="file"] {
padding: 0.5rem 0;
border: none;
border-radius: 0;
background: none;
color: var(--muted-text);
}
/**
* Button Styles
*/
button.secondary,
input.secondary[type="submit"],
input[type="reset"],
a.secondary[role="button"] {
[type="file"]::-webkit-file-upload-button {
padding-top: 0.5rem;
padding-bottom: 0.5rem;
background-color: var(--secondary);
color: var(--secondary-inverse);
}
button.secondary:hover, button.secondary:active, button.secondary:focus,
input.secondary[type="submit"]:hover,
input.secondary[type="submit"]:active,
input.secondary[type="submit"]:focus,
input[type="reset"]:hover,
input[type="reset"]:active,
input[type="reset"]:focus,
a.secondary[role="button"]:hover,
a.secondary[role="button"]:active,
a.secondary[role="button"]:focus {
[type="file"]:hover, [type="file"]:active, [type="file"]:focus {
border: none;
}
[type="file"]:hover::-webkit-file-upload-button, [type="file"]:active::-webkit-file-upload-button, [type="file"]:focus::-webkit-file-upload-button {
background-color: var(--secondary-hover);
}
button.secondary:focus,
input.secondary[type="submit"]:focus,
input[type="reset"]:focus,
a.secondary[role="button"]:focus {
[type="file"]:focus {
box-shadow: none;
}
[type="file"]:focus::-webkit-file-upload-button {
box-shadow: 0 0 0 0.2rem var(--secondary-focus);
}
button.contrast,
input.contrast[type="submit"],
input.contrast[type="reset"],
a.contrast[role="button"] {
background-color: var(--contrast);
color: var(--contrast-inverse);
[type="range"] {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
display: block;
width: 100%;
height: 1.25rem;
background: transparent;
}
button.contrast:hover, button.contrast:active, button.contrast:focus,
input.contrast[type="submit"]:hover,
input.contrast[type="submit"]:active,
input.contrast[type="submit"]:focus,
input.contrast[type="reset"]:hover,
input.contrast[type="reset"]:active,
input.contrast[type="reset"]:focus,
a.contrast[role="button"]:hover,
a.contrast[role="button"]:active,
a.contrast[role="button"]:focus {
background-color: var(--contrast-hover);
[type="range"]::-webkit-slider-runnable-track {
width: 100%;
height: 0.25rem;
border-radius: 0.25rem;
background-color: var(--input-border);
transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}
button.contrast:focus,
input.contrast[type="submit"]:focus,
input.contrast[type="reset"]:focus,
a.contrast[role="button"]:focus {
box-shadow: 0 0 0 0.2rem var(--contrast-focus);
[type="range"]::-moz-range-track {
width: 100%;
height: 0.25rem;
border-radius: 0.25rem;
background-color: var(--input-border);
transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}
button.outline,
input.outline[type="submit"],
a.outline[role="button"] {
border: 1px solid var(--primary);
background-color: transparent;
color: var(--primary);
[type="range"]::-ms-track {
width: 100%;
height: 0.25rem;
border-radius: 0.25rem;
background-color: var(--input-border);
transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}
button.outline:hover, button.outline:active, button.outline:focus,
input.outline[type="submit"]:hover,
input.outline[type="submit"]:active,
input.outline[type="submit"]:focus,
a.outline[role="button"]:hover,
a.outline[role="button"]:active,
a.outline[role="button"]:focus {
border: 1px solid var(--primary-hover);
color: var(--primary-hover);
[type="range"]::-ms-fill-lower {
background-color: var(--input-border);
}
button.outline.secondary,
input.outline.secondary[type="submit"],
input.outline[type="reset"],
a.outline.secondary[role="button"] {
border: 1px solid var(--secondary);
background-color: transparent;
color: var(--secondary);
[type="range"]::-webkit-slider-thumb {
-webkit-appearance: none;
width: 1.25rem;
height: 1.25rem;
margin-top: -0.5rem;
border: 0;
border: 2px solid var(--background);
border-radius: 50%;
background-color: var(--text);
cursor: pointer;
transition: background-color 0.2s ease-in-out, transform 0.2s ease-in-out;
}
button.outline.secondary:hover, button.outline.secondary:active, button.outline.secondary:focus,
input.outline.secondary[type="submit"]:hover,
input.outline.secondary[type="submit"]:active,
input.outline.secondary[type="submit"]:focus,
input.outline[type="reset"]:hover,
input.outline[type="reset"]:active,
input.outline[type="reset"]:focus,
a.outline.secondary[role="button"]:hover,
a.outline.secondary[role="button"]:active,
a.outline.secondary[role="button"]:focus {
border: 1px solid var(--secondary-hover);
color: var(--secondary-hover);
[type="range"]::-moz-range-thumb {
-webkit-appearance: none;
width: 1.25rem;
height: 1.25rem;
margin-top: -0.5rem;
border: 0;
border-radius: 50%;
background-color: var(--text);
cursor: pointer;
transition: background-color 0.2s ease-in-out, transform 0.2s ease-in-out;
}
button.outline.secondary:focus,
input.outline.secondary[type="submit"]:focus,
input.outline[type="reset"]:focus,
a.outline.secondary[role="button"]:focus {
box-shadow: 0 0 0 0.2rem var(--secondary-focus);
[type="range"]::-ms-thumb {
-webkit-appearance: none;
width: 1.25rem;
height: 1.25rem;
margin-top: -0.5rem;
border: 0;
border-radius: 50%;
background-color: var(--text);
cursor: pointer;
transition: background-color 0.2s ease-in-out, transform 0.2s ease-in-out;
}
button.outline.contrast,
input.outline.contrast[type="submit"],
input.outline.contrast[type="reset"],
a.outline.contrast[role="button"] {
border: 1px solid var(--contrast);
background-color: transparent;
color: var(--contrast);
[type="range"]:focus::-webkit-slider-runnable-track {
background-color: var(--muted-text);
box-shadow: 0 0 0 0.1rem var(--primary-focus);
}
button.outline.contrast:hover, button.outline.contrast:active, button.outline.contrast:focus,
input.outline.contrast[type="submit"]:hover,
input.outline.contrast[type="submit"]:active,
input.outline.contrast[type="submit"]:focus,
input.outline.contrast[type="reset"]:hover,
input.outline.contrast[type="reset"]:active,
input.outline.contrast[type="reset"]:focus,
a.outline.contrast[role="button"]:hover,
a.outline.contrast[role="button"]:active,
a.outline.contrast[role="button"]:focus {
border: 1px solid var(--contrast-hover);
color: var(--contrast-hover);
[type="range"]:focus::-moz-range-track {
background-color: var(--muted-text);
box-shadow: 0 0 0 0.1rem var(--primary-focus);
}
button.outline.contrast:focus,
input.outline.contrast[type="submit"]:focus,
input.outline.contrast[type="reset"]:focus,
a.outline.contrast[role="button"]:focus {
box-shadow: 0 0 0 0.2rem var(--contrast-focus);
[type="range"]:focus::-ms-track {
background-color: var(--muted-text);
box-shadow: 0 0 0 0.1rem var(--primary-focus);
}
[type="range"]:focus::-ms-fill-lower {
background-color: var(--muted-text);
box-shadow: 0 0 0 0.1rem var(--primary-focus);
}
[type="range"]:active::-webkit-slider-thumb {
transform: scale(1.25);
background-color: var(--primary-hover);
}
[type="range"]:active::-moz-range-thumb {
transform: scale(1.25);
background-color: var(--primary-hover);
}
[type="range"]:active::-ms-thumb {
transform: scale(1.25);
background-color: var(--primary-hover);
}
[type="range"]:focus {
box-shadow: none;
}
[type="search"] {
border-radius: 3rem;
padding-left: 2.5rem !important;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(115, 130, 140, 0.999)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-search'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E");
background-position: center left .75rem;
background-repeat: no-repeat;
background-size: 1rem auto;
}
[type="search"]::-webkit-search-cancel-button {
-webkit-appearance: none;
display: none;
}
/**
@ -1520,7 +1747,7 @@ details summary::after {
height: 1rem;
float: right;
transform: rotate(-90deg);
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(115, 130, 140, 0.66)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(115, 130, 140, 0.999)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
background-position: center;
background-repeat: no-repeat;
background-size: 1rem auto;
@ -1589,7 +1816,7 @@ article {
}
article > *:not(header):not(footer):not(pre):last-child {
margin-bottom: 0;
margin-bottom: 0 !important;
}
/**
@ -1839,18 +2066,18 @@ aside li a {
}
/**
* Reduce Motion Features
*/
* Reduce Motion Features
*/
@media (prefers-reduced-motion: reduce) {
*,
::before,
::after {
background-attachment: initial;
animation-duration: 1ms;
animation-delay: -1ms;
animation-iteration-count: 1;
scroll-behavior: auto;
transition-delay: 0s;
transition-duration: 0s;
background-attachment: initial !important;
animation-duration: 1ms !important;
animation-delay: -1ms !important;
animation-iteration-count: 1 !important;
scroll-behavior: auto !important;
transition-delay: 0s !important;
transition-duration: 0s !important;
}
}

View file

@ -1,5 +1,5 @@
/*!
* Pico.css v1.0.6 (https://picocss.com)
* Pico.css v1.1.0 (https://picocss.com)
* Copyright 2020 - Licensed under MIT
*/
/**
@ -95,7 +95,7 @@
--code-color-3: #599fa6;
--code-color-4: #8c8473;
--code-color-5: #4d606d;
--table-border: #10181e;
--table-border: rgba(115, 130, 140, 0.06);
--table-stripping: rgba(115, 130, 140, 0.02);
}
}
@ -141,7 +141,7 @@
--code-color-3: #599fa6;
--code-color-4: #8c8473;
--code-color-5: #4d606d;
--table-border: #10181e;
--table-border: rgba(115, 130, 140, 0.06);
--table-stripping: rgba(115, 130, 140, 0.02);
}
@ -552,7 +552,7 @@ ol {
ul li,
ol li {
margin-bottom: 0.75rem;
margin-bottom: 0.375rem;
}
ul li {
@ -637,6 +637,98 @@ svg:not(:root) {
overflow: hidden;
}
/**
* Button
*/
button {
margin: 0;
overflow: visible;
font-family: inherit;
text-transform: none;
}
button,
[type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
padding: 0;
border-style: none;
}
button {
display: block;
width: 100%;
margin-bottom: 1.5rem;
}
a[role="button"] {
display: inline-block;
text-decoration: none;
}
button,
input[type="submit"],
input[type="button"],
[type="file"]::-webkit-file-upload-button,
a[role="button"] {
padding: 0.75rem 1rem;
border: 1px solid transparent;
border-radius: 0.25rem;
outline: none;
background-color: var(--primary);
color: var(--primary-inverse);
font-size: 1rem;
font-weight: normal;
line-height: 1.5;
text-align: center;
cursor: pointer;
transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}
button:hover, button:active, button:focus,
input[type="submit"]:hover,
input[type="submit"]:active,
input[type="submit"]:focus,
input[type="button"]:hover,
input[type="button"]:active,
input[type="button"]:focus,
[type="file"]::-webkit-file-upload-button:hover,
[type="file"]::-webkit-file-upload-button:active,
[type="file"]::-webkit-file-upload-button:focus,
a[role="button"]:hover,
a[role="button"]:active,
a[role="button"]:focus {
background-color: var(--primary-hover);
}
button:focus,
input[type="submit"]:focus,
input[type="button"]:focus,
[type="file"]::-webkit-file-upload-button:focus,
a[role="button"]:focus {
box-shadow: 0 0 0 0.2rem var(--primary-focus);
}
input[type="reset"] {
cursor: pointer;
}
button[disabled],
input[type="submit"][disabled],
input[type="button"][disabled],
input[type="reset"][disabled],
a[role="button"][disabled] {
opacity: .5;
pointer-events: none;
}
/**
* Form elements
*/
@ -715,12 +807,16 @@ textarea {
display: none;
}
[type="color"],
[type="file"],
[type="range"] {
padding: 0;
border-width: 0;
}
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]) {
height: calc(1.5rem + 1.5rem + 2px);
}
fieldset {
margin: 0;
margin-bottom: 1.5rem;
@ -728,6 +824,13 @@ fieldset {
border: 0;
}
label,
fieldset legend {
display: block;
margin-bottom: 0.25rem;
vertical-align: middle;
}
input:not([type="checkbox"]):not([type="radio"]),
select,
textarea,
@ -736,27 +839,26 @@ form small {
width: 100%;
}
label,
fieldset legend {
display: block;
margin-bottom: 0.125rem;
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),
select,
textarea {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
padding: 0.75rem 1rem;
vertical-align: middle;
}
input,
select,
textarea {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
border: 1px solid var(--input-border);
border-radius: 0.25rem;
outline: none;
background-color: var(--input-background);
color: var(--text);
font-weight: normal;
vertical-align: middle;
transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}
input::placeholder, input::-webkit-input-placeholder,
@ -776,12 +878,6 @@ textarea:focus {
border-color: var(--primary);
}
input:focus,
select:focus,
textarea:focus {
box-shadow: 0 0 0 0.2rem var(--primary-focus);
}
input[readonly], input[disabled],
select[readonly],
select[disabled],
@ -799,10 +895,16 @@ textarea[disabled] ~ label {
color: var(--muted-text);
}
input[disabled]:not([type="reset"]):not([type="submit"]):not([type="button"]),
select[disabled]:not([type="reset"]):not([type="submit"]):not([type="button"]),
textarea[disabled]:not([type="reset"]):not([type="submit"]):not([type="button"]) {
background-color: var(--muted-background);
}
input[disabled],
select[disabled],
textarea[disabled] {
background-color: var(--muted-background);
cursor: not-allowed;
opacity: .5;
}
@ -810,11 +912,12 @@ input:not([type="checkbox"]):not([type="radio"]),
select,
textarea {
margin-bottom: 1.5rem;
padding: 0.75rem 1rem;
}
input[type="color"] {
height: calc(3rem + 2px);
input:not([type="range"]):not([type="file"]):focus,
select:focus,
textarea:focus {
box-shadow: 0 0 0 0.2rem var(--primary-focus);
}
select::-ms-expand {
@ -823,7 +926,8 @@ select::-ms-expand {
}
select:not([multiple]):not([size]) {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(115, 130, 140, 0.66)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
padding-right: 2.5rem;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(115, 130, 140, 0.999)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
background-position: center right .75rem;
background-repeat: no-repeat;
background-size: 1rem auto;
@ -840,27 +944,29 @@ textarea + small {
margin-bottom: 1.5rem;
}
label > input:not([type="checkbox"]):not([type="radio"]),
label > input,
label > select,
label > textarea {
margin-top: 0.125rem;
margin-top: 0.25rem;
}
/**
* Form elements
* Checkboxes & Radios
*/
[type="checkbox"],
[type="radio"] {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
display: inline-block;
width: 1em;
height: 1em;
width: 1.25rem;
height: 1.25rem;
margin-right: .375rem;
margin-bottom: 0.125rem;
margin-bottom: 0.25rem;
border-width: 2px;
font-size: 1.125rem;
vertical-align: middle;
cursor: pointer;
transition: none;
}
[type="checkbox"]::-ms-check,
@ -875,7 +981,7 @@ label > textarea {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23FFF' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
background-position: center;
background-repeat: no-repeat;
background-size: .66rem auto;
background-size: .75rem auto;
}
[type="checkbox"] ~ label,
@ -898,17 +1004,17 @@ label > textarea {
}
[type="checkbox"][role="switch"] {
width: 1.85em;
height: 1em;
border: 2px solid var(--input-border);
border-radius: 1em;
width: 2.25rem;
height: 1.25rem;
border: 3px solid var(--input-border);
border-radius: 1.25rem;
background-color: var(--input-border);
line-height: 1em;
line-height: 1.25rem;
}
[type="checkbox"][role="switch"]:before {
display: block;
width: calc(1em - 4px);
width: calc(1.25rem - 6px);
height: 100%;
border-radius: 50%;
background-color: var(--primary-inverse);
@ -924,88 +1030,211 @@ label > textarea {
[type="checkbox"][role="switch"]:checked::before {
margin-right: 0;
margin-left: calc(0.925em - 2px);
margin-left: calc(1.125rem - 3px);
}
/**
* Button
* Form elements
* Alternatives input types (Not Checkboxes & Radios)
*/
button {
margin: 0;
overflow: visible;
font-family: inherit;
text-transform: none;
}
button,
[type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
[type="color"]::-webkit-color-swatch-wrapper {
padding: 0;
border-style: none;
}
button {
[type="color"]::-moz-focus-inner {
padding: 0;
}
[type="color"]::-webkit-color-swatch {
border: none;
border-radius: 0.125rem;
}
[type="color"]::-moz-color-swatch {
border: none;
border-radius: 0.125rem;
}
[type="date"],
[type="datetime-local"],
[type="month"],
[type="time"],
[type="week"] {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(115, 130, 140, 0.999)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-calendar'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");
background-position: center right .75rem;
background-repeat: no-repeat;
background-size: 1rem auto;
}
[type="date"]::-webkit-calendar-picker-indicator,
[type="datetime-local"]::-webkit-calendar-picker-indicator,
[type="month"]::-webkit-calendar-picker-indicator,
[type="time"]::-webkit-calendar-picker-indicator,
[type="week"]::-webkit-calendar-picker-indicator {
opacity: 0;
}
[type="time"] {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(115, 130, 140, 0.999)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-clock'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E");
}
[type="file"] {
padding: 0.5rem 0;
border: none;
border-radius: 0;
background: none;
color: var(--muted-text);
}
[type="file"]::-webkit-file-upload-button {
padding-top: 0.5rem;
padding-bottom: 0.5rem;
background-color: var(--secondary);
color: var(--secondary-inverse);
}
[type="file"]:hover, [type="file"]:active, [type="file"]:focus {
border: none;
}
[type="file"]:hover::-webkit-file-upload-button, [type="file"]:active::-webkit-file-upload-button, [type="file"]:focus::-webkit-file-upload-button {
background-color: var(--secondary-hover);
}
[type="file"]:focus {
box-shadow: none;
}
[type="file"]:focus::-webkit-file-upload-button {
box-shadow: 0 0 0 0.2rem var(--secondary-focus);
}
[type="range"] {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
display: block;
width: 100%;
margin-bottom: 1.5rem;
height: 1.25rem;
background: transparent;
}
a[role="button"] {
display: inline-block;
text-decoration: none;
}
button,
input[type="submit"],
a[role="button"] {
padding: 0.75rem 1rem;
border: 1px solid transparent;
[type="range"]::-webkit-slider-runnable-track {
width: 100%;
height: 0.25rem;
border-radius: 0.25rem;
outline: none;
background-color: var(--primary);
color: var(--primary-inverse);
font-size: 1rem;
font-weight: normal;
line-height: 1.5;
text-align: center;
cursor: pointer;
transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
background-color: var(--input-border);
transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}
button:hover, button:active, button:focus,
input[type="submit"]:hover,
input[type="submit"]:active,
input[type="submit"]:focus,
a[role="button"]:hover,
a[role="button"]:active,
a[role="button"]:focus {
[type="range"]::-moz-range-track {
width: 100%;
height: 0.25rem;
border-radius: 0.25rem;
background-color: var(--input-border);
transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}
[type="range"]::-ms-track {
width: 100%;
height: 0.25rem;
border-radius: 0.25rem;
background-color: var(--input-border);
transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}
[type="range"]::-ms-fill-lower {
background-color: var(--input-border);
}
[type="range"]::-webkit-slider-thumb {
-webkit-appearance: none;
width: 1.25rem;
height: 1.25rem;
margin-top: -0.5rem;
border: 0;
border: 2px solid var(--background);
border-radius: 50%;
background-color: var(--text);
cursor: pointer;
transition: background-color 0.2s ease-in-out, transform 0.2s ease-in-out;
}
[type="range"]::-moz-range-thumb {
-webkit-appearance: none;
width: 1.25rem;
height: 1.25rem;
margin-top: -0.5rem;
border: 0;
border-radius: 50%;
background-color: var(--text);
cursor: pointer;
transition: background-color 0.2s ease-in-out, transform 0.2s ease-in-out;
}
[type="range"]::-ms-thumb {
-webkit-appearance: none;
width: 1.25rem;
height: 1.25rem;
margin-top: -0.5rem;
border: 0;
border-radius: 50%;
background-color: var(--text);
cursor: pointer;
transition: background-color 0.2s ease-in-out, transform 0.2s ease-in-out;
}
[type="range"]:focus::-webkit-slider-runnable-track {
background-color: var(--muted-text);
box-shadow: 0 0 0 0.1rem var(--primary-focus);
}
[type="range"]:focus::-moz-range-track {
background-color: var(--muted-text);
box-shadow: 0 0 0 0.1rem var(--primary-focus);
}
[type="range"]:focus::-ms-track {
background-color: var(--muted-text);
box-shadow: 0 0 0 0.1rem var(--primary-focus);
}
[type="range"]:focus::-ms-fill-lower {
background-color: var(--muted-text);
box-shadow: 0 0 0 0.1rem var(--primary-focus);
}
[type="range"]:active::-webkit-slider-thumb {
transform: scale(1.25);
background-color: var(--primary-hover);
}
button:focus,
input[type="submit"]:focus,
a[role="button"]:focus {
box-shadow: 0 0 0 0.2rem var(--primary-focus);
[type="range"]:active::-moz-range-thumb {
transform: scale(1.25);
background-color: var(--primary-hover);
}
input[type="reset"] {
cursor: pointer;
[type="range"]:active::-ms-thumb {
transform: scale(1.25);
background-color: var(--primary-hover);
}
button[disabled],
input[type="submit"][disabled],
input[type="reset"][disabled],
a[role="button"][disabled] {
opacity: .5;
pointer-events: none;
[type="range"]:focus {
box-shadow: none;
}
[type="search"] {
border-radius: 3rem;
padding-left: 2.5rem !important;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(115, 130, 140, 0.999)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-search'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E");
background-position: center left .75rem;
background-repeat: no-repeat;
background-size: 1rem auto;
}
[type="search"]::-webkit-search-cancel-button {
-webkit-appearance: none;
display: none;
}
/**
@ -1270,7 +1499,7 @@ details summary::after {
height: 1rem;
float: right;
transform: rotate(-90deg);
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(115, 130, 140, 0.66)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(115, 130, 140, 0.999)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
background-position: center;
background-repeat: no-repeat;
background-size: 1rem auto;
@ -1339,7 +1568,7 @@ article {
}
article > *:not(header):not(footer):not(pre):last-child {
margin-bottom: 0;
margin-bottom: 0 !important;
}
/**
@ -1585,18 +1814,18 @@ aside li a {
}
/**
* Reduce Motion Features
*/
* Reduce Motion Features
*/
@media (prefers-reduced-motion: reduce) {
*,
::before,
::after {
background-attachment: initial;
animation-duration: 1ms;
animation-delay: -1ms;
animation-iteration-count: 1;
scroll-behavior: auto;
transition-delay: 0s;
transition-duration: 0s;
background-attachment: initial !important;
animation-duration: 1ms !important;
animation-delay: -1ms !important;
animation-iteration-count: 1 !important;
scroll-behavior: auto !important;
transition-delay: 0s !important;
transition-duration: 0s !important;
}
}

File diff suppressed because one or more lines are too long

4
css/pico.min.css vendored

File diff suppressed because one or more lines are too long

View file

@ -1,5 +1,5 @@
/*!
* Pico.css v1.0.6 (https://picocss.com)
* Pico.css v1.1.0 (https://picocss.com)
* Copyright 2020 - Licensed under MIT
*
* Slim version example
@ -98,7 +98,7 @@
--code-color-3: #599fa6;
--code-color-4: #8c8473;
--code-color-5: #4d606d;
--table-border: #10181e;
--table-border: rgba(115, 130, 140, 0.06);
--table-stripping: rgba(115, 130, 140, 0.02);
}
}
@ -144,7 +144,7 @@
--code-color-3: #599fa6;
--code-color-4: #8c8473;
--code-color-5: #4d606d;
--table-border: #10181e;
--table-border: rgba(115, 130, 140, 0.06);
--table-stripping: rgba(115, 130, 140, 0.02);
}
@ -577,7 +577,7 @@ ol {
ul li,
ol li {
margin-bottom: 0.75rem;
margin-bottom: 0.375rem;
}
ul li {
@ -662,6 +662,97 @@ svg:not(:root) {
overflow: hidden;
}
/**
* Button
*/
button {
margin: 0;
overflow: visible;
font-family: inherit;
text-transform: none;
}
button,
[type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
padding: 0;
border-style: none;
}
button {
display: block;
width: 100%;
margin-bottom: 1.5rem;
}
a[role="button"] {
display: inline-block;
text-decoration: none;
}
button,
input[type="submit"],
input[type="button"],
[type="file"]::-webkit-file-upload-button,
a[role="button"] {
padding: 0.75rem 1rem;
border: 1px solid transparent;
border-radius: 0.25rem;
outline: none;
background-color: var(--primary);
color: var(--primary-inverse);
font-size: 1rem;
font-weight: normal;
line-height: 1.5;
text-align: center;
cursor: pointer;
}
button:hover, button:active, button:focus,
input[type="submit"]:hover,
input[type="submit"]:active,
input[type="submit"]:focus,
input[type="button"]:hover,
input[type="button"]:active,
input[type="button"]:focus,
[type="file"]::-webkit-file-upload-button:hover,
[type="file"]::-webkit-file-upload-button:active,
[type="file"]::-webkit-file-upload-button:focus,
a[role="button"]:hover,
a[role="button"]:active,
a[role="button"]:focus {
background-color: var(--primary-hover);
}
button:focus,
input[type="submit"]:focus,
input[type="button"]:focus,
[type="file"]::-webkit-file-upload-button:focus,
a[role="button"]:focus {
box-shadow: 0 0 0 0.2rem var(--primary-focus);
}
input[type="reset"] {
cursor: pointer;
}
button[disabled],
input[type="submit"][disabled],
input[type="button"][disabled],
input[type="reset"][disabled],
a[role="button"][disabled] {
opacity: .5;
pointer-events: none;
}
/**
* Form elements
*/
@ -740,12 +831,16 @@ textarea {
display: none;
}
[type="color"],
[type="file"],
[type="range"] {
padding: 0;
border-width: 0;
}
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]) {
height: calc(1.5rem + 1.5rem + 2px);
}
fieldset {
margin: 0;
margin-bottom: 1.5rem;
@ -753,6 +848,13 @@ fieldset {
border: 0;
}
label,
fieldset legend {
display: block;
margin-bottom: 0.25rem;
vertical-align: middle;
}
input:not([type="checkbox"]):not([type="radio"]),
select,
textarea,
@ -761,26 +863,25 @@ form small {
width: 100%;
}
label,
fieldset legend {
display: block;
margin-bottom: 0.125rem;
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),
select,
textarea {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
padding: 0.75rem 1rem;
vertical-align: middle;
}
input,
select,
textarea {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
border: 1px solid var(--input-border);
border-radius: 0.25rem;
outline: none;
background-color: var(--input-background);
color: var(--text);
font-weight: normal;
vertical-align: middle;
}
input::placeholder, input::-webkit-input-placeholder,
@ -800,12 +901,6 @@ textarea:focus {
border-color: var(--primary);
}
input:focus,
select:focus,
textarea:focus {
box-shadow: 0 0 0 0.2rem var(--primary-focus);
}
input[readonly], input[disabled],
select[readonly],
select[disabled],
@ -823,10 +918,16 @@ textarea[disabled] ~ label {
color: var(--muted-text);
}
input[disabled]:not([type="reset"]):not([type="submit"]):not([type="button"]),
select[disabled]:not([type="reset"]):not([type="submit"]):not([type="button"]),
textarea[disabled]:not([type="reset"]):not([type="submit"]):not([type="button"]) {
background-color: var(--muted-background);
}
input[disabled],
select[disabled],
textarea[disabled] {
background-color: var(--muted-background);
cursor: not-allowed;
opacity: .5;
}
@ -834,11 +935,12 @@ input:not([type="checkbox"]):not([type="radio"]),
select,
textarea {
margin-bottom: 1.5rem;
padding: 0.75rem 1rem;
}
input[type="color"] {
height: calc(3rem + 2px);
input:not([type="range"]):not([type="file"]):focus,
select:focus,
textarea:focus {
box-shadow: 0 0 0 0.2rem var(--primary-focus);
}
select::-ms-expand {
@ -847,7 +949,8 @@ select::-ms-expand {
}
select:not([multiple]):not([size]) {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(115, 130, 140, 0.66)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
padding-right: 2.5rem;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(115, 130, 140, 0.999)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
background-position: center right .75rem;
background-repeat: no-repeat;
background-size: 1rem auto;
@ -864,170 +967,10 @@ textarea + small {
margin-bottom: 1.5rem;
}
label > input:not([type="checkbox"]):not([type="radio"]),
label > input,
label > select,
label > textarea {
margin-top: 0.125rem;
}
/**
* Form elements
*/
[type="checkbox"],
[type="radio"] {
display: inline-block;
width: 1em;
height: 1em;
margin-right: .375rem;
margin-bottom: 0.125rem;
border-width: 2px;
font-size: 1.125rem;
vertical-align: middle;
cursor: pointer;
transition: none;
}
[type="checkbox"]::-ms-check,
[type="radio"]::-ms-check {
display: none;
}
[type="checkbox"]:checked,
[type="radio"]:checked {
border-color: var(--primary);
background-color: var(--primary);
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23FFF' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
background-position: center;
background-repeat: no-repeat;
background-size: .66rem auto;
}
[type="checkbox"] ~ label,
[type="radio"] ~ label {
display: inline-block;
margin-right: .375rem;
margin-bottom: 0;
cursor: pointer;
}
[type="radio"] {
border-radius: 50%;
}
[type="radio"]:checked {
border-width: .33rem;
border-color: var(--primary);
background-color: var(--primary-inverse);
background-image: none;
}
[type="checkbox"][role="switch"] {
width: 1.85em;
height: 1em;
border: 2px solid var(--input-border);
border-radius: 1em;
background-color: var(--input-border);
line-height: 1em;
}
[type="checkbox"][role="switch"]:before {
display: block;
width: calc(1em - 4px);
height: 100%;
border-radius: 50%;
background-color: var(--primary-inverse);
content: '';
}
[type="checkbox"][role="switch"]:checked {
border-color: var(--primary);
background-color: var(--primary);
background-image: none;
}
[type="checkbox"][role="switch"]:checked::before {
margin-right: 0;
margin-left: calc(0.925em - 2px);
}
/**
* Button
*/
button {
margin: 0;
overflow: visible;
font-family: inherit;
text-transform: none;
}
button,
[type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
padding: 0;
border-style: none;
}
button {
display: block;
width: 100%;
margin-bottom: 1.5rem;
}
a[role="button"] {
display: inline-block;
text-decoration: none;
}
button,
input[type="submit"],
a[role="button"] {
padding: 0.75rem 1rem;
border: 1px solid transparent;
border-radius: 0.25rem;
outline: none;
background-color: var(--primary);
color: var(--primary-inverse);
font-size: 1rem;
font-weight: normal;
line-height: 1.5;
text-align: center;
cursor: pointer;
}
button:hover, button:active, button:focus,
input[type="submit"]:hover,
input[type="submit"]:active,
input[type="submit"]:focus,
a[role="button"]:hover,
a[role="button"]:active,
a[role="button"]:focus {
background-color: var(--primary-hover);
}
button:focus,
input[type="submit"]:focus,
a[role="button"]:focus {
box-shadow: 0 0 0 0.2rem var(--primary-focus);
}
input[type="reset"] {
cursor: pointer;
}
button[disabled],
input[type="submit"][disabled],
input[type="reset"][disabled],
a[role="button"][disabled] {
opacity: .5;
pointer-events: none;
margin-top: 0.25rem;
}
/**

File diff suppressed because one or more lines are too long

View file

@ -106,7 +106,7 @@ div[role="document"] section a[href*="//"]:not([href*="https://picocss.com"]):no
display: inline-block;
width: 1rem;
height: 1rem;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23808080' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'%3E%3C/path%3E%3Cpolyline points='15 3 21 3 21 9'%3E%3C/polyline%3E%3Cline x1='10' y1='14' x2='21' y2='3'%3E%3C/line%3E%3C/svg%3E");
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(115, 130, 140, 0.999)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'%3E%3C/path%3E%3Cpolyline points='15 3 21 3 21 9'%3E%3C/polyline%3E%3Cline x1='10' y1='14' x2='21' y2='3'%3E%3C/line%3E%3C/svg%3E");
background-position: top center;
background-repeat: no-repeat;
background-size: .66rem auto;
@ -392,6 +392,10 @@ body > nav a {
border-radius: 0;
}
body > nav a svg {
vertical-align: text-bottom;
}
body > nav ul:first-of-type li:first-of-type a {
width: 3.5rem;
height: 3.5rem;

File diff suppressed because one or more lines are too long

View file

@ -328,6 +328,7 @@
</article>
<p>Columns intentionally collapses below large devices <code>(<u>992px</u>)</code>.</p>
<p>To go further, discover how to <a href="https://picocss.com/examples/bootstrap-grid/">merge Pico with the Bootstrap grid system</a>.</p>
<details>
<summary>
<svg aria-hidden="true" focusable="false" role="img" xmlns="http://www.w3.org/2000/svg" height="1rem" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
@ -338,7 +339,7 @@
&nbsp;More about grids
</summary>
<p>As Pico focus on native HTML elements, we kept this grid system very minimalist.</p>
<p>A full grid system in flexbox, with all the ordering, offsetting and breakpoints utilities can be +140% of the whole Pico library size. Not really in the Pico spirit.</p>
<p>A full grid system in flexbox, with all the ordering, offsetting and breakpoints utilities can be heavier than the total size of the Pico library. Not really in the Pico spirit.</p>
<p>If you need a quick way to prototyping or build a complex layouts, you can look about <strong>Flexbox grid layouts</strong>. For example: <a href="https://getbootstrap.com/docs/4.2/getting-started/contents/">Bootstrap Grid System only</a> or <a href="http://flexboxgrid.com/">Flexbox Grid</a>.</p>
<p>If you need a light and custom grid, you can look about <strong>CSS Grid Generators</strong>. For example: <a href="https://cssgrid-generator.netlify.com/">CSS Grid Generator</a>, <a href="http://grid.layoutit.com/">Layoutit!</a> or <a href="https://griddy.io/">Griddy</a>.</p>
<p>Alternatively you can <a href="https://learncssgrid.com/">Learn about CSS Grid</a>.</p>
@ -529,7 +530,7 @@
</article>
<p>Inline text elements:</p>
<article aria-label="Iinline text examples">
<article aria-label="Inline text examples">
<div class="grid">
<div>
<p><abbr title="Abbreviation">Abbr.</abbr> <code>abbr</code></p>
@ -754,6 +755,7 @@
&lt;/<b>fieldset</b>&gt;</code></pre>
</article>
<p>Advanced example with all form elements supported in Pico <a href="https://picocss.com/examples/form-elements/">here</a>.</p>
</section><!-- ./ Docs: Form -->
<!-- Docs: Accordions -->

View file

@ -15,6 +15,10 @@ body > nav {
a {
border-radius: 0;
svg {
vertical-align: text-bottom;
}
}
ul:first-of-type li {

View file

@ -72,8 +72,7 @@ div[role="document"] section a[href*="//"]:not([href*="https://picocss.com"]):no
width: 1rem;
height: 1rem;
// Source: https://feathericons.com/
$caret-icon-color: "808080"; // Without '#' !important
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23" + $caret-icon-color + "' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'%3E%3C/path%3E%3Cpolyline points='15 3 21 3 21 9'%3E%3C/polyline%3E%3Cline x1='10' y1='14' x2='21' y2='3'%3E%3C/line%3E%3C/svg%3E");
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='#{$icon-color}' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'%3E%3C/path%3E%3Cpolyline points='15 3 21 3 21 9'%3E%3C/polyline%3E%3Cline x1='10' y1='14' x2='21' y2='3'%3E%3C/line%3E%3C/svg%3E");
background-position: top center;
background-repeat: no-repeat;
background-size: .66rem auto;

View file

@ -1,6 +1,6 @@
{
"name": "@picocss/pico",
"version": "1.0.6",
"version": "1.1.0",
"description": "Graceful & Minimal CSS design system in pure semantic HTML",
"author": "Lucas Larroche",
"main": "./css/pico.min.css",

View file

@ -29,25 +29,32 @@ $enable-input-states: true !default;
// Enable transitions for <a>, <button>, <input>
$enable-transitions: true !default;
// Enable overriding with !important (used for <article>, `reduce-motion`, [type="search"])
$enable-important: true !default;
// Spacings
//
// Gutters and horizontals margins
// For <body>, .grid, <nav>, <table>
$spacing-gutter: 1rem !default;
$spacing-gutter: 1rem !default;
// Blocks verticals margins and paddings
// For <header>, <main>, <footer>, <section>, <article>
// This value is proportionally multiplied according breakpoints for great responsive spacings
$spacing-block: 2rem !default;
$spacing-block: 2rem !default;
// Vertical margins for Typography and Form elements
// This value is proportionally multiplied according breakpoints for great responsive spacings
$spacing-typography: 1.5rem !default;
$spacing-typography: 1.5rem !default;
// Spacing between: Label and Input, Checkboxes, Radios
$spacing-form-elements: $spacing-typography/6 !default;
// Padding for <input> and <button>
$spacing-input-button: .75rem 1rem !default;
$spacing-input-button-vertical: .75rem !default;
$spacing-input-button-horizontal: 1rem !default;
// Typography

View file

@ -33,7 +33,7 @@ details {
float: right;
transform: rotate(-90deg);
// Source: https://feathericons.com/
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='#{rgba($grey-500, .66)}' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='#{$icon-color}' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
background-position: center;
background-repeat: no-repeat;
background-size: 1rem auto;

View file

@ -54,7 +54,9 @@ article {
}
// Remove last-child margin bottom
> *:not(header):not(footer):not(pre):last-child {
margin-bottom: 0;
@if $enable-important {
> *:not(header):not(footer):not(pre):last-child {
margin-bottom: 0 !important;
}
}
}

View file

@ -6,9 +6,9 @@
// Button .secondary
button.secondary,
input.secondary[type="submit"],
input[type="submit"].secondary,
input[type="reset"],
a.secondary[role="button"] {
a[role="button"].secondary {
background-color: var(--secondary);
color: var(--secondary-inverse);
@ -26,9 +26,9 @@
// Button .contrast
button.contrast,
input.contrast[type="submit"],
input.contrast[type="reset"],
a.contrast[role="button"] {
input[type="submit"].contrast,
input[type="reset"].contrast,
a[role="button"].contrast {
background-color: var(--contrast);
color: var(--contrast-inverse);
@ -46,7 +46,7 @@
// Button .outline
button.outline,
input.outline[type="submit"],
input[type="submit"].outline,
a.outline[role="button"] {
border: 1px solid var(--primary);
background-color: transparent;
@ -63,9 +63,9 @@
// Button .outline.secondary
button.outline.secondary,
input.outline.secondary[type="submit"],
input.outline[type="reset"],
a.outline.secondary[role="button"] {
input[type="submit"].outline.secondary,
input[type="reset"].outline,
a[role="button"].outline.secondary {
border: 1px solid var(--secondary);
background-color: transparent;
color: var(--secondary);
@ -85,9 +85,9 @@
// Button .outline.contrast
button.outline.contrast,
input.outline.contrast[type="submit"],
input.outline.contrast[type="reset"],
a.outline.contrast[role="button"] {
input[type="submit"].outline.contrast,
input[type="reset"].outline.contrast,
a[role="button"].outline.contrast {
border: 1px solid var(--contrast);
background-color: transparent;
color: var(--contrast);

View file

@ -52,8 +52,10 @@ a[role="button"] {
button,
input[type="submit"],
input[type="button"],
[type="file"]::-webkit-file-upload-button,
a[role="button"] {
padding: $spacing-input-button;
padding: $spacing-input-button-vertical $spacing-input-button-horizontal;
border: 1px solid transparent;
border-radius: $round;
outline: none;
@ -91,6 +93,7 @@ input[type="reset"] {
// Button [disabled]
button,
input[type="submit"],
input[type="button"],
input[type="reset"],
a[role="button"] {

View file

@ -0,0 +1,262 @@
/**
* Form elements
* Alternatives input types (Not Checkboxes & Radios)
*/
// Color
[type="color"] {
// Wrapper
&::-webkit-color-swatch-wrapper {
padding: 0;
}
&::-moz-focus-inner {
padding: 0;
}
// Swatch
&::-webkit-color-swatch {
border: none;
border-radius: $round/2;
}
&::-moz-color-swatch {
border: none;
border-radius: $round/2;
}
}
// Date & Time
[type="date"],
[type="datetime-local"],
[type="month"],
[type="time"],
[type="week"] {
// Source: https://feathericons.com/
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='#{$icon-color}' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-calendar'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");
background-position: center right .75rem;
background-repeat: no-repeat;
background-size: 1rem auto;
&::-webkit-calendar-picker-indicator {
opacity: 0;
}
}
// Time
[type="time"] {
// Source: https://feathericons.com/
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='#{$icon-color}' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-clock'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E");
}
// File
[type="file"] {
padding: $spacing-input-button-horizontal/2 0;
border: none;
border-radius: 0;
background: none;
color: var(--muted-text);
&::-webkit-file-upload-button {
padding-top: $spacing-input-button-horizontal/2;
padding-bottom: $spacing-input-button-horizontal/2;
background-color: var(--secondary);
color: var(--secondary-inverse);
}
&:hover,
&:active,
&:focus {
border: none;
&::-webkit-file-upload-button {
background-color: var(--secondary-hover);
}
}
&:focus {
box-shadow: none;
&::-webkit-file-upload-button {
box-shadow: 0 0 0 0.2rem var(--secondary-focus);
}
}
}
// Range
[type="range"]{
// Config
$height-track: .25rem;
$height-thumb: 1.25rem;
$border-thumb: 2px;
// Styles
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
display: block;
width: 100%;
height: $height-thumb;
background: transparent;
// Slider Track
&::-webkit-slider-runnable-track {
width: 100%;
height: $height-track;
border-radius: $round;
background-color: var(--input-border);
@if $enable-transitions {
transition:
background-color $transition,
box-shadow $transition;
}
}
&::-moz-range-track {
width: 100%;
height:$height-track;
border-radius: $round;
background-color: var(--input-border);
@if $enable-transitions {
transition:
background-color $transition,
box-shadow $transition;
}
}
&::-ms-track {
width: 100%;
height: $height-track;
border-radius: $round;
background-color: var(--input-border);
@if $enable-transitions {
transition:
background-color $transition,
box-shadow $transition;
}
}
&::-ms-fill-lower {
background-color: var(--input-border);
}
// Slider Thumb
&::-webkit-slider-thumb {
-webkit-appearance: none;
width: $height-thumb;
height: $height-thumb;
margin-top: #{(-($height-thumb/2) + ($height-track/2))};
border: 0;
border: $border-thumb solid var(--background);
border-radius: 50%;
background-color: var(--text);
cursor: pointer;
@if $enable-transitions {
transition:
background-color $transition,
transform $transition;
}
}
&::-moz-range-thumb {
-webkit-appearance: none;
width: $height-thumb;
height: $height-thumb;
margin-top: #{(-($height-thumb/2) + ($height-track/2))};
border: 0;
border-radius: 50%;
background-color: var(--text);
cursor: pointer;
@if $enable-transitions {
transition:
background-color $transition,
transform $transition;
}
}
&::-ms-thumb {
-webkit-appearance: none;
width: $height-thumb;
height: $height-thumb;
margin-top: #{(-($height-thumb/2) + ($height-track/2))};
border: 0;
border-radius: 50%;
background-color: var(--text);
cursor: pointer;
@if $enable-transitions {
transition:
background-color $transition,
transform $transition;
}
}
&:focus {
// Slider Track
&::-webkit-slider-runnable-track {
background-color: var(--muted-text);
box-shadow: 0 0 0 0.1rem var(--primary-focus);
}
&::-moz-range-track {
background-color: var(--muted-text);
box-shadow: 0 0 0 0.1rem var(--primary-focus);
}
&::-ms-track {
background-color: var(--muted-text);
box-shadow: 0 0 0 0.1rem var(--primary-focus);
}
&::-ms-fill-lower {
background-color: var(--muted-text);
box-shadow: 0 0 0 0.1rem var(--primary-focus);
}
}
&:active {
// Slider Thumb
&::-webkit-slider-thumb {
transform: scale(1.25);
background-color: var(--primary-hover);
}
&::-moz-range-thumb {
transform: scale(1.25);
background-color: var(--primary-hover);
}
&::-ms-thumb {
transform: scale(1.25);
background-color: var(--primary-hover);
}
}
&:focus {
box-shadow: none;
}
}
// Search
[type="search"] {
border-radius: #{1rem*$line-height + $spacing-input-button-vertical*2};
@if $enable-important {
padding-left: #{$spacing-input-button-horizontal + 1.5rem} !important;
// Source: https://feathericons.com/
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='#{$icon-color}' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-search'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E");
background-position: center left .75rem;
background-repeat: no-repeat;
background-size: 1rem auto;
}
// Cancel button
&::-webkit-search-cancel-button{
-webkit-appearance: none;
display: none;
}
}

View file

@ -1,20 +1,21 @@
/**
* Form elements
* Checkboxes & Radios
*/
// Checkboxes & Radios
[type="checkbox"],
[type="radio"] {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
display: inline-block;
width: 1em;
height: 1em;
width: 1.25rem;
height: 1.25rem;
margin-right: .375rem;
margin-bottom: $spacing-label-input;
margin-bottom: $spacing-form-elements;
border-width: 2px;
font-size: 1.125rem;
vertical-align: middle;
cursor: pointer;
transition: none; // Prevent frozen state on mobile devices
&::-ms-check {
display: none; // unstyle IE checkboxes
@ -27,7 +28,7 @@
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23FFF' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
background-position: center;
background-repeat: no-repeat;
background-size: .66rem auto;
background-size: .75rem auto;
}
& ~ label {
@ -54,9 +55,9 @@
[type="checkbox"][role="switch"] {
// Config
$switch-height: 1em;
$switch-width: 1.85em;
$switch-border: 2px;
$switch-height: 1.25rem;
$switch-width: 2.25rem;
$switch-border: 3px;
$switch-transition: .1s ease-in-out;
// Styles
@ -83,11 +84,7 @@
&:checked {
border-color: var(--primary);
background-color: var(--primary);
// Disable if check box icon is needed
background-image: none;
// Enable if check box icon is needed
// background-position: center left $switch-width/6;
// background-size: $switch-width/5 auto;
&::before {
margin-right: 0;

View file

@ -106,7 +106,7 @@ textarea {
}
// Remove the border and padding in all browsers (opinionated)
[type="color"],
[type="file"],
[type="range"] {
padding: 0;
border-width: 0;
@ -116,6 +116,11 @@ textarea {
// Pico
//
// Force height for alternatives input types
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]) {
height: calc(#{1rem*$line-height} + #{$spacing-input-button-vertical*2} + 2px);
}
// Fieldset
fieldset {
margin: 0;
@ -124,7 +129,15 @@ fieldset {
border: 0;
}
// Layout
// Label & legend
label,
fieldset legend {
display: block;
margin-bottom: $spacing-form-elements;
vertical-align: middle;
}
// Global layout
input:not([type="checkbox"]):not([type="radio"]),
select,
textarea,
@ -133,40 +146,36 @@ form small {
width: 100%;
}
// Spacing beteen label and input
$spacing-label-input: $spacing-typography/12;
// Label & legend
label,
fieldset legend {
display: block;
margin-bottom: $spacing-label-input;
vertical-align: middle;
}
// Inputs (Commons styles)
input,
// Reset appearance (Not Checkboxes, Radios, Range and File)
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),
select,
textarea {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
padding: $spacing-input-button-vertical $spacing-input-button-horizontal;
vertical-align: middle;
}
// Commons styles
input,
select,
textarea {
border: 1px solid var(--input-border);
border-radius: $round;
outline: none;
background-color: var(--input-background);
color: var(--text);
font-weight: normal;
vertical-align: middle;
@if $enable-transitions {
transition:
background-color $transition,
border-color $transition,
color $transition,
border-color $transition,
box-shadow $transition;
}
}
&::placeholder,
&::-webkit-input-placeholder {
@ -179,10 +188,6 @@ textarea {
border-color: var(--primary);
}
&:focus {
box-shadow: 0 0 0 0.2rem var(--primary-focus);
}
&[readonly],
&[disabled] {
border-color: var(--muted-border);
@ -193,19 +198,16 @@ textarea {
}
}
&[disabled] {
&[disabled]:not([type="reset"]):not([type="submit"]):not([type="button"]) {
background-color: var(--muted-background);
}
&[disabled] {
cursor: not-allowed;
opacity: .5;
}
}
// Text, Select & Textarea
input:not([type="checkbox"]):not([type="radio"]),
select,
textarea {
margin-bottom: $spacing-typography;
padding: $spacing-input-button;
// Validation states
@if $enable-input-states and $enable-classes {
// Validation states
@ -218,22 +220,31 @@ textarea {
}
&.valid {
border-bottom: 1px solid var(--valid);
// Source: https://feathericons.com/
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='#{rgba($green-600, .99)}' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='#{rgba($green-600, .999)}' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
}
&.invalid {
border-bottom: 1px solid var(--invalid);
// Source: https://feathericons.com/
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='#{rgba($red-700, .99)}' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='#{rgba($red-700, .999)}' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");
}
}
}
// Color
input[type="color"] {
height: calc(3rem + 2px); // HACK
// Margin bottom (Not Checkboxes andRadios)
input:not([type="checkbox"]):not([type="radio"]),
select,
textarea {
margin-bottom: $spacing-typography;
}
// Focus styles (Not Range and File)
input:not([type="range"]):not([type="file"]),
select,
textarea {
&:focus {
box-shadow: 0 0 0 0.2rem var(--primary-focus);
}
}
// Select
@ -246,8 +257,9 @@ select {
}
&:not([multiple]):not([size]) {
padding-right: #{$spacing-input-button-horizontal + 1.5rem};
// Source: https://feathericons.com/
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='#{rgba($grey-500, .66)}' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='#{$icon-color}' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
background-position: center right .75rem;
background-repeat: no-repeat;
background-size: 1rem auto;
@ -259,6 +271,7 @@ form small {
color: var(--muted-text);
}
// Helper: padding
input,
select,
textarea {
@ -270,9 +283,9 @@ textarea {
// Styles for Input inside a label
label {
& > input:not([type="checkbox"]):not([type="radio"]),
& > input,
& > select,
& > textarea {
margin-top: $spacing-label-input;
margin-top: $spacing-form-elements;
}
}

View file

@ -1,8 +1,8 @@
@if $enable-transitions {
@if $enable-transitions and $enable-important {
/**
* Reduce Motion Features
*/
/**
* Reduce Motion Features
*/
// Based on :
@ -17,13 +17,13 @@
*,
::before,
::after {
background-attachment: initial; // 2
animation-duration: 1ms; // 1
animation-delay: -1ms; // 1
animation-iteration-count: 1; // 1
scroll-behavior: auto; // 3
transition-delay: 0s; // 4
transition-duration: 0s; // 4
background-attachment: initial !important; // 2
animation-duration: 1ms !important; // 1
animation-delay: -1ms !important; // 1
animation-iteration-count: 1 !important; // 1
scroll-behavior: auto !important; // 3
transition-delay: 0s !important; // 4
transition-duration: 0s !important; // 4
}
}
}

View file

@ -271,7 +271,7 @@ ol {
padding-left: $spacing-typography;
li {
margin-bottom: $spacing-typography/2;
margin-bottom: $spacing-typography/4;
}
}

View file

@ -1,5 +1,5 @@
/*!
* Pico.css v1.0.6 (https://picocss.com)
* Pico.css v1.1.0 (https://picocss.com)
* Copyright 2020 - Licensed under MIT
*/
@ -10,31 +10,32 @@
@import "themes/default";
// Layout
@import "layout/document"; // html
@import "layout/sectioning"; // body, header, main, footer
@import "layout/container"; // .container, .container-fluid
@import "layout/section"; // section
@import "layout/grid"; // .grid
@import "layout/scroller"; // figure
@import "layout/document"; // html
@import "layout/sectioning"; // body, header, main, footer
@import "layout/container"; // .container, .container-fluid
@import "layout/section"; // section
@import "layout/grid"; // .grid
@import "layout/scroller"; // figure
// Content
@import "content/typography"; // a, headings, p, ul, blockquote, ...
@import "content/embedded"; // audio, canvas, iframe, img, svg, video
@import "content/form"; // label, input, select, ...
@import "content/form-checkbox-radio"; // type=checkbox, type=radio, role=switch
@import "content/button"; // button, a[role=button], ...
@import "content/button-styles"; // .secondary, .contrast, .outline
@import "content/table"; // table, tr, td, ...
@import "content/code"; // pre, code, ...
@import "content/accessibility"; // -ms-touch-action, aria-*
@import "content/miscs"; // hr, progress, template, [hidden], dialog, canvas
@import "content/typography"; // a, headings, p, ul, blockquote, ...
@import "content/embedded"; // audio, canvas, iframe, img, svg, video
@import "content/button"; // button, a[role=button], type=button, type=submit ...
@import "content/button-styles"; // .secondary, .contrast, .outline
@import "content/form"; // input, select, textarea, label, fieldset, legend
@import "content/form-checkbox-radio"; // type=checkbox, type=radio, role=switch
@import "content/form-alt-input-types"; // type=color, type=date, type=file, type=search, ...
@import "content/table"; // table, tr, td, ...
@import "content/code"; // pre, code, ...
@import "content/accessibility"; // -ms-touch-action, aria-*
@import "content/miscs"; // hr, progress, template, [hidden], dialog, canvas
// Components
@import "components/accordion"; // details, summary
@import "components/card"; // article
@import "components/card-sectioning"; // article > header, footer, pre
@import "components/nav"; // nav
@import "components/tooltip"; // data-tooltip
@import "components/accordion"; // details, summary
@import "components/card"; // article
@import "components/card-sectioning"; // article > header, footer, pre
@import "components/nav"; // nav
@import "components/tooltip"; // data-tooltip
// Reduce motion
@import "content/reduce-motion"; // prefers-reduced-motion
@import "content/reduce-motion"; // prefers-reduced-motion

View file

@ -1,5 +1,5 @@
/*!
* Pico.css v1.0.6 (https://picocss.com)
* Pico.css v1.1.0 (https://picocss.com)
* Copyright 2020 - Licensed under MIT
*
* Slim version example
@ -19,6 +19,9 @@ $enable-input-states: false;
// Enable transitions for <a>, <button>, <input>, <details>
$enable-transitions: false;
// Enable overriding with !important (used for <article>, `reduce-motion`, [type="search"])
$enable-important: false;
// Pico Lib
// --------------------
@ -30,31 +33,32 @@ $enable-transitions: false;
@import "themes/default";
// Layout
@import "layout/document"; // html
@import "layout/sectioning"; // body, header, main, footer
@import "layout/container"; // .container, .container-fluid
// @import "layout/section"; // section
@import "layout/grid"; // .grid
@import "layout/scroller"; // figure
@import "layout/document"; // html
@import "layout/sectioning"; // body, header, main, footer
@import "layout/container"; // .container, .container-fluid
// @import "layout/section"; // section
@import "layout/grid"; // .grid
@import "layout/scroller"; // figure
// Content
@import "content/typography"; // a, headings, p, ul, blockquote, ...
@import "content/embedded"; // audio, canvas, iframe, img, svg, video
@import "content/form"; // label, input, select, ...
@import "content/form-checkbox-radio"; // type=checkbox, type=radio, role=switch
@import "content/button"; // button, a[role=button], ...
// @import "content/button-styles"; // .secondary, .contrast, .outline
@import "content/table"; // table, tr, td, ...
// @import "content/code"; // pre, code, ...
@import "content/accessibility"; // -ms-touch-action, aria-*
// @import "content/miscs"; // hr, progress, template, [hidden], dialog
@import "content/typography"; // a, headings, p, ul, blockquote, ...
@import "content/embedded"; // audio, canvas, iframe, img, svg, video
@import "content/button"; // button, a[role=button], type=button, type=submit, ...
// @import "content/button-styles"; // .secondary, .contrast, .outline
@import "content/form"; // input, select, textarea, label, fieldset, legend
// @import "content/form-checkbox-radio"; // type=checkbox, type=radio, role=switch
// @import "content/form-alt-input-types"; // type=color, type=date, type=file, type=search, ...
@import "content/table"; // table, tr, td, ...
// @import "content/code"; // pre, code, ...
@import "content/accessibility"; // -ms-touch-action, aria-*
// @import "content/miscs"; // hr, progress, template, [hidden], dialog
// Components
// @import "components/accordion"; // details, summary
// @import "components/card"; // article
// @import "components/card-sectioning"; // article > header, footer, pre
// @import "components/nav"; // nav
// @import "components/tooltip"; // data-tooltip
// @import "components/accordion"; // details, summary
// @import "components/card"; // article
// @import "components/card-sectioning"; // article > header, footer, pre
// @import "components/nav"; // nav
// @import "components/tooltip"; // data-tooltip
// Reduce motion
// @import "content/reduce-motion"; // prefers-reduced-motion
// @import "content/reduce-motion"; // prefers-reduced-motion

View file

@ -35,3 +35,9 @@ $green-600: hsl(160, 55%, 35%) !default;
$green-700: hsl(160, 60%, 30%) !default;
$red-700: hsl(0, 45%, 50%) !default;
$red-900: hsl(0, 45%, 40%) !default;
// Icons color
// For <details>, [type="date"], <select>, etc.
// Must be neutral to work in light or dark mode
// HACK: .99 opacity is used to force rgba() vs #hex
$icon-color: #{rgba($grey-500, .999)};

View file

@ -63,8 +63,8 @@
--code-color-5: #{mix($grey-600, $grey-700)};
// Table
--table-border: #{darken($grey-900, 6%)};
--table-stripping: #{rgba($grey-500,.02)};
--table-border: #{rgba($grey-500, .06)};
--table-stripping: #{rgba($grey-500, .02)};
}
}
@ -133,6 +133,6 @@
--code-color-5: #{mix($grey-600, $grey-700)};
// Table
--table-border: #{darken($grey-900, 6%)};
--table-stripping: #{rgba($grey-500,.02)};
--table-border: #{rgba($grey-500, .06)};
--table-stripping: #{rgba($grey-500, .02)};
}

View file

@ -63,6 +63,6 @@
--code-color-5: #{mix($grey-300, $grey-400)};
// Table
--table-border: #{rgba($grey-50, .75)};
--table-stripping: #{rgba($grey-500,.04)};
--table-border: #{rgba($grey-50, .75)};
--table-stripping: #{rgba($grey-500, .04)};
}