picocss/scss/themes/default/_styles.scss

250 lines
5.7 KiB
SCSS
Raw Normal View History

2022-10-22 11:44:10 +07:00
@use "sass:map";
2022-10-22 13:11:51 +07:00
@use "../../settings" as *;
2022-10-22 11:44:10 +07:00
// Commons Styles:
2020-09-29 08:38:35 +07:00
:root {
// Typography
2022-10-22 13:11:51 +07:00
#{$✨}font-family: system-ui, -apple-system, "Segoe UI", "Roboto", "Ubuntu", "Cantarell",
"Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",
"Noto Color Emoji";
#{$✨}line-height: 1.5;
#{$✨}font-weight: 400;
#{$✨}font-size: 16px;
2021-07-02 16:54:41 +07:00
// Responsive typography
2022-10-22 13:11:51 +07:00
@if $enable-responsive-typography {
@if map-get($breakpoints, "sm") {
@media (min-width: map-get($breakpoints, "sm")) {
#{$✨}font-size: 17px;
2021-07-02 16:54:41 +07:00
}
}
2022-10-22 13:11:51 +07:00
@if map-get($breakpoints, "md") {
@media (min-width: map-get($breakpoints, "md")) {
#{$✨}font-size: 18px;
2021-07-02 16:54:41 +07:00
}
}
2022-10-22 13:11:51 +07:00
@if map-get($breakpoints, "lg") {
@media (min-width: map-get($breakpoints, "lg")) {
#{$✨}font-size: 19px;
2021-07-02 16:54:41 +07:00
}
}
2022-10-22 13:11:51 +07:00
@if map-get($breakpoints, "xl") {
@media (min-width: map-get($breakpoints, "xl")) {
#{$✨}font-size: 20px;
2021-07-02 16:54:41 +07:00
}
}
}
// Borders
2022-10-22 13:11:51 +07:00
#{$✨}border-radius: 0.25rem;
#{$✨}border-width: 1px;
#{$✨}outline-width: 3px;
2021-07-02 16:54:41 +07:00
// Spacings
2022-10-22 13:11:51 +07:00
#{$✨}spacing: 1rem;
2021-07-02 16:54:41 +07:00
// Spacings for typography elements
2022-10-22 13:11:51 +07:00
#{$✨}typography-spacing-vertical: 1.5rem;
2021-07-02 16:54:41 +07:00
// Spacings for body > header, body > main, body > footer, section, article
2022-10-22 13:11:51 +07:00
#{$✨}block-spacing-vertical: calc(var(#{$}spacing) * 2);
#{$✨}block-spacing-horizontal: var(#{$}spacing);
2021-07-02 16:54:41 +07:00
2022-10-22 13:11:51 +07:00
@if ($enable-classes and $enable-grid) {
#{$✨}grid-spacing-vertical: 0;
#{$✨}grid-spacing-horizontal: var(#{$}spacing);
}
2021-07-02 16:54:41 +07:00
// Spacings for form elements and button
2022-10-22 13:11:51 +07:00
#{$✨}form-element-spacing-vertical: 0.75rem;
#{$✨}form-element-spacing-horizontal: 1rem;
2020-09-29 08:38:35 +07:00
2022-02-27 14:41:34 +07:00
// Spacings for nav component
2022-10-22 13:11:51 +07:00
#{$✨}nav-element-spacing-vertical: 1rem;
#{$✨}nav-element-spacing-horizontal: 0.5rem;
#{$✨}nav-link-spacing-vertical: 0.5rem;
#{$✨}nav-link-spacing-horizontal: 0.5rem;
2022-02-27 14:41:34 +07:00
// Font weight for form labels & fieldsets legend
2022-10-22 13:11:51 +07:00
#{$✨}form-label-font-weight: var(#{$}font-weight);
2021-07-02 16:54:41 +07:00
// Transitions
2022-10-22 13:11:51 +07:00
#{$✨}transition: 0.2s ease-in-out;
2022-09-11 15:52:10 +07:00
// Modal (<dialog>)
2022-10-22 13:11:51 +07:00
#{$✨}modal-overlay-backdrop-filter: blur(0.25rem);
2021-07-02 16:54:41 +07:00
}
2020-09-29 08:38:35 +07:00
2021-07-02 16:54:41 +07:00
// Responsives spacings
2022-10-22 13:11:51 +07:00
@if $enable-responsive-spacings {
// Sectioning
2022-10-22 13:11:51 +07:00
#{$semantic-root-element} > header,
#{$semantic-root-element} > main,
#{$semantic-root-element} > footer,
2021-07-02 16:54:41 +07:00
section {
2022-10-22 13:11:51 +07:00
@if map-get($breakpoints, "sm") {
@media (min-width: map-get($breakpoints, "sm")) {
#{$✨}block-spacing-vertical: calc(var(#{$}spacing) * 2.5);
2021-07-02 16:54:41 +07:00
}
}
2022-10-22 13:11:51 +07:00
@if map-get($breakpoints, "md") {
@media (min-width: map-get($breakpoints, "md")) {
#{$✨}block-spacing-vertical: calc(var(#{$}spacing) * 3);
2021-07-02 16:54:41 +07:00
}
}
2022-10-22 13:11:51 +07:00
@if map-get($breakpoints, "lg") {
@media (min-width: map-get($breakpoints, "lg")) {
#{$✨}block-spacing-vertical: calc(var(#{$}spacing) * 3.5);
2021-07-02 16:54:41 +07:00
}
}
2022-10-22 13:11:51 +07:00
@if map-get($breakpoints, "xl") {
@media (min-width: map-get($breakpoints, "xl")) {
#{$✨}block-spacing-vertical: calc(var(#{$}spacing) * 4);
2021-07-02 16:54:41 +07:00
}
}
}
// Card (<article>)
article {
2022-10-22 13:11:51 +07:00
@if map-get($breakpoints, "sm") {
@media (min-width: map-get($breakpoints, "sm")) {
#{$✨}block-spacing-horizontal: calc(var(#{$}spacing) * 1.25);
2021-07-02 16:54:41 +07:00
}
}
2022-10-22 13:11:51 +07:00
@if map-get($breakpoints, "md") {
@media (min-width: map-get($breakpoints, "md")) {
#{$✨}block-spacing-horizontal: calc(var(#{$}spacing) * 1.5);
2021-07-02 16:54:41 +07:00
}
}
2022-10-22 13:11:51 +07:00
@if map-get($breakpoints, "lg") {
@media (min-width: map-get($breakpoints, "lg")) {
#{$✨}block-spacing-horizontal: calc(var(#{$}spacing) * 1.75);
2021-07-02 16:54:41 +07:00
}
}
2022-10-22 13:11:51 +07:00
@if map-get($breakpoints, "xl") {
@media (min-width: map-get($breakpoints, "xl")) {
#{$✨}block-spacing-horizontal: calc(var(#{$}spacing) * 2);
2021-07-02 16:54:41 +07:00
}
}
}
// Modal
dialog > article {
2022-10-22 13:11:51 +07:00
#{$✨}block-spacing-vertical: calc(var(#{$}spacing) * 2);
#{$✨}block-spacing-horizontal: var(#{$}spacing);
2022-10-22 13:11:51 +07:00
@if map-get($breakpoints, "sm") {
@media (min-width: map-get($breakpoints, "sm")) {
#{$✨}block-spacing-vertical: calc(var(#{$}spacing) * 2.5);
#{$✨}block-spacing-horizontal: calc(var(#{$}spacing) * 1.25);
}
}
2022-10-22 13:11:51 +07:00
@if map-get($breakpoints, "md") {
@media (min-width: map-get($breakpoints, "md")) {
#{$✨}block-spacing-vertical: calc(var(#{$}spacing) * 3);
#{$✨}block-spacing-horizontal: calc(var(#{$}spacing) * 1.5);
}
}
}
2021-07-02 16:54:41 +07:00
}
2020-09-29 08:38:35 +07:00
2021-07-02 16:54:41 +07:00
// Link
a {
2022-10-22 13:11:51 +07:00
#{$✨}text-decoration: none;
2020-09-29 08:38:35 +07:00
2021-07-02 16:54:41 +07:00
// Secondary & Contrast
2022-10-22 13:11:51 +07:00
@if enable-classes {
&.secondary,
&.contrast {
2022-10-22 13:11:51 +07:00
#{$✨}text-decoration: underline;
}
2021-07-02 16:54:41 +07:00
}
}
2020-09-29 08:38:35 +07:00
2021-07-02 16:54:41 +07:00
// Small
small {
2022-10-22 13:11:51 +07:00
#{$✨}font-size: 0.875em;
2021-07-02 16:54:41 +07:00
}
2020-09-29 08:38:35 +07:00
2021-07-02 16:54:41 +07:00
// Headings
h1,
h2,
h3,
h4,
h5,
h6 {
2022-10-22 13:11:51 +07:00
#{$✨}font-weight: 700;
2021-07-02 16:54:41 +07:00
}
2020-09-29 08:38:35 +07:00
2021-07-02 16:54:41 +07:00
h1 {
2022-10-22 13:11:51 +07:00
#{$✨}font-size: 2rem;
#{$✨}typography-spacing-vertical: 3rem;
2021-07-02 16:54:41 +07:00
}
2020-09-29 08:38:35 +07:00
2021-07-02 16:54:41 +07:00
h2 {
2022-10-22 13:11:51 +07:00
#{$✨}font-size: 1.75rem;
#{$✨}typography-spacing-vertical: 2.625rem;
2021-07-02 16:54:41 +07:00
}
2020-09-29 08:38:35 +07:00
2021-07-02 16:54:41 +07:00
h3 {
2022-10-22 13:11:51 +07:00
#{$✨}font-size: 1.5rem;
#{$✨}typography-spacing-vertical: 2.25rem;
2021-07-02 16:54:41 +07:00
}
2020-09-29 08:38:35 +07:00
2021-07-02 16:54:41 +07:00
h4 {
2022-10-22 13:11:51 +07:00
#{$✨}font-size: 1.25rem;
#{$✨}typography-spacing-vertical: 1.874rem;
2021-07-02 16:54:41 +07:00
}
h5 {
2022-10-22 13:11:51 +07:00
#{$✨}font-size: 1.125rem;
#{$✨}typography-spacing-vertical: 1.6875rem;
2021-07-02 16:54:41 +07:00
}
// Forms elements
[type="checkbox"],
[type="radio"] {
2022-10-22 13:11:51 +07:00
#{$✨}border-width: 2px;
2021-07-02 16:54:41 +07:00
}
[type="checkbox"][role="switch"] {
2022-10-22 13:11:51 +07:00
#{$✨}border-width: 3px;
2021-07-02 16:54:41 +07:00
}
// Table
2021-12-31 17:01:01 +07:00
thead,
tfoot {
th,
td {
2022-10-22 13:11:51 +07:00
#{$✨}border-width: 3px;
2021-07-02 16:54:41 +07:00
}
}
2021-07-02 16:54:41 +07:00
2022-09-11 18:30:49 +07:00
:not(thead, tfoot) > * > td {
2022-10-22 13:11:51 +07:00
#{$✨}font-size: 0.875em;
2021-07-02 16:54:41 +07:00
}
// Code
pre,
code,
kbd,
samp {
2022-10-22 13:11:51 +07:00
#{$✨}font-family: "Menlo", "Consolas", "Roboto Mono", "Ubuntu Monospace", "Noto Mono",
"Oxygen Mono", "Liberation Mono", monospace, "Apple Color Emoji", "Segoe UI Emoji",
"Segoe UI Symbol", "Noto Color Emoji";
2021-07-02 16:54:41 +07:00
}
2020-09-29 08:38:35 +07:00
2021-07-02 16:54:41 +07:00
kbd {
2022-10-22 13:11:51 +07:00
#{$✨}font-weight: bolder;
2020-09-29 08:38:35 +07:00
}