@anyblades/blades 3.1.0-alpha.2 → 3.1.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +46 -15
- package/css/blades.css +158 -597
- package/css/blades.min.css +38 -12
- package/css/blades.ninja.css +4057 -0
- package/css/blades.ninja.min.css +190 -0
- package/css/float-label.css +207 -0
- package/css/float-label.min.css +55 -0
- package/css/{pico.layered.css → layered/blades.layered.css} +441 -16
- package/css/{pico.layered.min.css → layered/blades.layered.min.css} +74 -8
- package/css/layered/compact.css +54 -0
- package/css/layered/components/accordion.css +85 -0
- package/css/layered/components/card.css +48 -0
- package/css/layered/components/dropdown.css +191 -0
- package/css/layered/components/group.css +208 -0
- package/css/layered/components/loading.css +43 -0
- package/css/layered/components/modal.css +158 -0
- package/css/layered/components/nav.css +117 -0
- package/css/layered/components/progress.css +76 -0
- package/css/layered/components/tooltip.css +176 -0
- package/css/layered/components.css +1082 -0
- package/css/layered/content/button.css +208 -0
- package/css/layered/content/code.css +64 -0
- package/css/layered/content/embedded-content.css +41 -0
- package/css/layered/content/figure.css +15 -0
- package/css/layered/content/link.css +84 -0
- package/css/layered/content/misc.css +22 -0
- package/css/layered/content/table.css +33 -0
- package/css/layered/content/typography.css +159 -0
- package/css/layered/content.css +611 -0
- package/css/layered/forms/basics.css +338 -0
- package/css/layered/forms/checkbox-radio-switch.css +164 -0
- package/css/layered/forms/input-color.css +20 -0
- package/css/layered/forms/input-datetime.css +57 -0
- package/css/layered/forms/input-file.css +29 -0
- package/css/layered/forms/input-range.css +121 -0
- package/css/layered/forms/input-search.css +66 -0
- package/css/layered/forms.css +778 -0
- package/css/layered/layout/container.css +42 -0
- package/css/layered/layout/document.css +48 -0
- package/css/layered/layout/grid.css +22 -0
- package/css/layered/layout/landmarks.css +12 -0
- package/css/layered/layout/overflow-auto.css +9 -0
- package/css/layered/layout/section.css +9 -0
- package/css/layered/layout.css +119 -0
- package/css/layered/utilities.css +35 -0
- package/css/layered/variables.css +365 -0
- package/css/pico.conditional.css +16 -15
- package/css/pico.conditional.min.css +7 -7
- package/css/pico.css +16 -15
- package/css/pico.min.css +7 -7
- package/package.json +15 -11
- package/src/_compact.css +51 -0
- package/src/blades/_index.css +23 -0
- package/src/blades/float-label/_index.css +2 -0
- package/src/{standalone/forms/_float-label.theme.css → blades/float-label/_theme.css} +5 -1
- package/src/blades.css +3 -2
- package/src/blades.ninja.css +3 -0
- package/src/float-label.css +1 -0
- package/src/ninja/_index.css +19 -0
- package/src/{standalone → ninja}/_theme.css +0 -2
- package/src/{ninja.css → ninja/_utilities.css} +55 -6
- package/src/pico/_variables.css +6 -5
- package/src/pico/content/_button.css +1 -1
- package/src/pico/layout/_document.css +9 -0
- package/src/pico/layout/_index.css +0 -1
- package/src/pico/layout/_landmarks.css +1 -9
- package/src/pico.css +1 -0
- package/css/blades.standalone.css +0 -860
- package/css/blades.standalone.min.css +0 -37
- package/css/ninja.css +0 -83
- package/css/ninja.min.css +0 -5
- package/src/blades.standalone.css +0 -2
- package/src/standalone/_core.css +0 -32
- package/src/standalone/_utilities.css +0 -55
- package/src/standalone/forms/_float-label.css +0 -2
- /package/src/{standalone/content → blades}/_code.css +0 -0
- /package/src/{standalone/layout → blades}/_columns.css +0 -0
- /package/src/{standalone/components/_icon-helper.css → blades/_icon.css} +0 -0
- /package/src/{standalone/components → blades}/_timeline.css +0 -0
- /package/src/{standalone → blades}/_variables.css +0 -0
- /package/src/{standalone/forms/_float-label.core.css → blades/float-label/_core.css} +0 -0
- /package/src/{standalone/layout/_breakout.css → ninja/_container-breakout.css} +0 -0
- /package/src/{standalone/content/_typography.css → ninja/_heading-anchor.css} +0 -0
- /package/src/{standalone/content/_list.css → ninja/_list-helpers.css} +0 -0
- /package/src/{standalone/layout/_scroller.css → ninja/_page-anchors.css} +0 -0
- /package/src/{standalone/content/_table.css → ninja/_table-helpers.css} +0 -0
- /package/src/{standalone/content → ninja}/_table-responsive.css +0 -0
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Blades CSS standalone kit v3 🥷
|
|
3
|
-
* Copyright 2026 (https://blades.ninja/css/standalone/)
|
|
4
|
-
* Licensed under MIT
|
|
5
|
-
*/:host,:scope{--blades-token-primary:var(--pico-primary, dodgerblue);--in-pico:#01aaff;--blades-token-secondary:var(--pico-secondary, lightslategray);--in-pico:#969eaf;--blades-timeline-border-color:color-mix(
|
|
6
|
-
in srgb,
|
|
7
|
-
var(--blades-token-secondary) 50%,
|
|
8
|
-
transparent
|
|
9
|
-
)}.breakout,.breakout-all{max-width:calc(10% + 65ch + 10%);padding-inline:10%}@media (width < 768px){.breakout,.breakout-all{max-width:calc(1rem + 65ch + 1rem);padding-inline:1rem}}.breakout-all>:is(
|
|
10
|
-
table,pre,figure,video,iframe,canvas,img,picture,.breakout-item,.breakout-item-max
|
|
11
|
-
),.breakout>:is(
|
|
12
|
-
table,pre,figure,video,iframe,canvas,img,picture,.breakout-item,.breakout-item-max
|
|
13
|
-
){width:-moz-fit-content;width:fit-content;min-width:100%;max-width:min(125%,100dvw);margin-left:50%;transform:translateX(-50%)}.breakout-all>:is(img,picture):not(.does-not-exist),.breakout>:is(img,picture):not(.does-not-exist){min-width:auto}.breakout-all>.breakout-item-max,.breakout>.breakout-item-max{width:min(125%,100dvw)!important}.breakout-all>:is(h2,h3,h4,h5,h6,hr):not([class]){position:relative}.breakout-all>:is(h2,h3,h4,h5,h6,hr):not([class])::before{display:block;position:absolute;background:gray;content:"";opacity:12.5%}.breakout-all>:is(h2,h3,h4,h5,h6):not([class])::before{top:50%;right:100%;width:10em;height:.25em;margin-right:.8ch;transform:translateY(-50%);background:linear-gradient(to left,gray,transparent)}.breakout-all>:is(h2,h3,h4,h5,h6):not([class]):where(hr:not([class]) + *)::before{display:none!important}.breakout-all>:is(hr):not([class]){height:.5rem;overflow:visible;border:none}.breakout-all>:is(hr):not([class])::before{left:50%;width:100dvw;height:100%;transform:translateX(-50%)}.columns{-moz-columns:25ch auto;columns:25ch auto}.columns>*{-moz-column-break-inside:avoid;break-inside:avoid}[href="#top"]{position:fixed;right:0;bottom:0;padding-top:50vh}h1,h2,h3,h4,h5,h6{position:relative}h1 a[aria-hidden=true],h2 a[aria-hidden=true],h3 a[aria-hidden=true],h4 a[aria-hidden=true],h5 a[aria-hidden=true],h6 a[aria-hidden=true]{visibility:hidden;position:absolute;top:50%;right:100%;padding-right:.2ch;transform:translateY(-50%);color:silver;text-decoration:none}@media (hover:hover){h1:hover a[aria-hidden=true],h2:hover a[aria-hidden=true],h3:hover a[aria-hidden=true],h4:hover a[aria-hidden=true],h5:hover a[aria-hidden=true],h6:hover a[aria-hidden=true]{visibility:visible}}ol[style*="--list-marker:"],ul[style*="--list-marker:"]{list-style-type:var(--list-marker)}ol[style*="--list-marker:"]>li,ul[style*="--list-marker:"]>li{list-style-type:inherit}ol li[style*="--list-marker:"],ul li[style*="--list-marker:"]{list-style-type:var(--list-marker)}ol li[data-marker]::marker,ul li[data-marker]::marker{content:attr(data-marker) " "}ol.markerless,ul.markerless{padding-inline-start:1.25rem}ol.markerless li,ul.markerless li{list-style:none}.unlist-all ol,.unlist-all ul,ol.unlist,ol.unlist-all,ul.unlist,ul.unlist-all{padding-inline-start:0}.unlist-all ol>li,.unlist-all ul>li,ol.unlist-all>li,ol.unlist>li,ul.unlist-all>li,ul.unlist>li{list-style:none}th hr{visibility:hidden;width:12ch;height:0;margin:0}th hr.lg{width:18ch}th hr.x2{width:24ch}table.borderless td,table.borderless th{border:none}.breakout-all>table:not(.does-not-exist),.breakout>table:not(.does-not-exist),table.responsive{display:block;width:-moz-max-content;width:max-content;min-width:auto;max-width:100dvw;margin-left:50%;padding-inline:7.5%;overflow-x:auto;transform:translateX(-50%);-webkit-overflow-scrolling:touch}.breakout-all>table:not(.does-not-exist) td,.breakout-all>table:not(.does-not-exist) th,.breakout>table:not(.does-not-exist) td,.breakout>table:not(.does-not-exist) th,table.responsive td,table.responsive th{padding-inline-start:0}@media (width < 768px){pre{border-radius:0}}code[data-caption]::before{display:block;margin-bottom:1rem;content:attr(data-caption);font-style:italic;opacity:50%}/*!
|
|
14
|
-
* Float Label CSS v2 by Blades CSS 🥷🏷️
|
|
15
|
-
* Copyright 2016–2026 (https://blades.ninja/css/float-label/)
|
|
16
|
-
* Licensed under MIT
|
|
17
|
-
*/.has-float-label,label:has(> span):has(
|
|
18
|
-
input:not([type=checkbox],[type=radio],[type=range]),textarea,select
|
|
19
|
-
){display:block;position:relative}.has-float-label label,.has-float-label>span,label:has(> span):has(
|
|
20
|
-
input:not([type=checkbox],[type=radio],[type=range]),textarea,select
|
|
21
|
-
) label,label:has(> span):has(
|
|
22
|
-
input:not([type=checkbox],[type=radio],[type=range]),textarea,select
|
|
23
|
-
)>span{position:absolute;top:0;left:0;font-size:75%;cursor:text}.has-float-label :placeholder-shown:not(:focus)::-moz-placeholder,label:has(> span):has(
|
|
24
|
-
input:not([type=checkbox],[type=radio],[type=range]),textarea,select
|
|
25
|
-
) :placeholder-shown:not(:focus)::-moz-placeholder{opacity:0}.has-float-label :-moz-placeholder:not(:focus)::placeholder,label:has(> span):has(
|
|
26
|
-
input:not([type=checkbox],[type=radio],[type=range]),textarea,select
|
|
27
|
-
) :-moz-placeholder:not(:focus)::placeholder{opacity:0}.has-float-label :placeholder-shown:not(:focus)::placeholder,label:has(> span):has(
|
|
28
|
-
input:not([type=checkbox],[type=radio],[type=range]),textarea,select
|
|
29
|
-
) :placeholder-shown:not(:focus)::placeholder{opacity:0}.has-float-label:has(:-moz-placeholder:not(:focus)) label,.has-float-label:has(:-moz-placeholder:not(:focus))>span,label:has(> span):has(
|
|
30
|
-
input:not([type=checkbox],[type=radio],[type=range]),textarea,select
|
|
31
|
-
):has(:-moz-placeholder:not(:focus)) label,label:has(> span):has(
|
|
32
|
-
input:not([type=checkbox],[type=radio],[type=range]),textarea,select
|
|
33
|
-
):has(:-moz-placeholder:not(:focus))>span{font-size:inherit;opacity:50%}.has-float-label:has(:placeholder-shown:not(:focus)) label,.has-float-label:has(:placeholder-shown:not(:focus))>span,label:has(> span):has(
|
|
34
|
-
input:not([type=checkbox],[type=radio],[type=range]),textarea,select
|
|
35
|
-
):has(:placeholder-shown:not(:focus)) label,label:has(> span):has(
|
|
36
|
-
input:not([type=checkbox],[type=radio],[type=range]),textarea,select
|
|
37
|
-
):has(:placeholder-shown:not(:focus))>span{font-size:inherit;opacity:50%}a:not(.does-not-exist):has(> i){display:inline-flex;overflow-y:clip;gap:.375ch;text-wrap:balance}a:not(.does-not-exist)>i{float:left;font-style:normal;text-underline-offset:-2em}a:not(.does-not-exist)>i>img{display:inline-block;max-width:none;height:1.25em;margin-block-start:calc(-0.25em / 2)}a:not(.does-not-exist)>i[class*=" fa-"],a:not(.does-not-exist)>i[class^=fa-]{line-height:inherit;--fa-width:auto}a:not(.does-not-exist)>i.fa-lg{line-height:normal}.has-timeline>dl dd,dl.timeline dd{margin-block:0;padding:.25rem 0 .75rem 1rem;border-inline-start:0.25rem solid var(--blades-timeline-border-color)}:root{--blades-dark-filter:invert(100%) hue-rotate(180deg)}@media (prefers-color-scheme:dark){.dark-auto{filter:var(--blades-dark-filter)}}.dark-auto:where([data-theme=dark] *),.dark-auto[data-theme=dark]{filter:var(--blades-dark-filter)}.faded{opacity:50%}.faded:hover{opacity:87.5%}.invert ::-webkit-scrollbar{filter:invert(1)!important}.has-float-label label,.has-float-label>span,label:has(> span):has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select) label,label:has(> span):has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select)>span{padding-inline-start:calc(1rem + 1px);padding-block-start:0.25rem;opacity:75%;transition:all .25s}.has-float-label input,.has-float-label select,.has-float-label textarea,label:has(> span):has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select) input,label:has(> span):has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select) select,label:has(> span):has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select) textarea{margin-block-start:0;padding-inline-start:1rem;padding-block:1.125rem 0.375rem}.has-float-label input::-moz-placeholder,.has-float-label select::-moz-placeholder,.has-float-label textarea::-moz-placeholder,label:has(> span):has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select) input::-moz-placeholder,label:has(> span):has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select) select::-moz-placeholder,label:has(> span):has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select) textarea::-moz-placeholder{opacity:100%;-moz-transition:all .25s;transition:all .25s}.has-float-label input::placeholder,.has-float-label select::placeholder,.has-float-label textarea::placeholder,label:has(> span):has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select) input::placeholder,label:has(> span):has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select) select::placeholder,label:has(> span):has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select) textarea::placeholder{opacity:100%;transition:all .25s}.has-float-label:has(:-moz-placeholder:not(:focus)) label,.has-float-label:has(:-moz-placeholder:not(:focus))>span,label:has(> span):has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select):has(:-moz-placeholder:not(:focus)) label,label:has(> span):has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select):has(:-moz-placeholder:not(:focus))>span{padding-block:0.75rem}.has-float-label:has(:placeholder-shown:not(:focus)) label,.has-float-label:has(:placeholder-shown:not(:focus))>span,label:has(> span):has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select):has(:placeholder-shown:not(:focus)) label,label:has(> span):has(input:not([type=checkbox],[type=radio],[type=range]),textarea,select):has(:placeholder-shown:not(:focus))>span{padding-block:0.75rem}html{overflow-x:clip;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{display:flex;flex-direction:column;min-height:100dvh}body>main{flex-grow:1}body{hyphens:auto;text-wrap:pretty}body a,body table{hyphens:none}a:not([href^="#"]){text-decoration-thickness:1px}a:not([href^="#"]):hover{text-decoration-thickness:2px}h1,h2,h3,h4,h5,h6{text-wrap:balance}h1{margin-bottom:1rem;font-size:2.5em}hr{margin-block:2em}ul ul{font-size:87.5%}dl dt{margin-block:0.25rem;font-weight:500}dl dd{margin-block-end:1rem}pre small{font-weight:lighter;opacity:75%}pre:has(code){background:#181c25!important}table th{font-weight:700;vertical-align:bottom}table td{vertical-align:top}table pre{margin-bottom:.25rem}[href="#top"]{opacity:25%}[href="#top"]:hover{opacity:75%}[href="#top"]>i{display:inline-block;margin:.5rem;padding:.25rem .375rem;border-color:#000;color:#000;font-size:.75rem}.breakout-all>figure,.breakout-all>img,.breakout>figure,.breakout>img{margin-bottom:1rem}.faded a{text-decoration-style:dotted}
|
package/css/ninja.css
DELETED
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Blades CSS' ninja add-ons (experimental) 🥷🧪
|
|
3
|
-
* Copyright 2026 (https://blades.ninja/css/ninja/)
|
|
4
|
-
* Licensed under MIT
|
|
5
|
-
*/
|
|
6
|
-
/*\3c !--section:docs-->
|
|
7
|
-
|
|
8
|
-
### `sup`er and `sub`headings
|
|
9
|
-
|
|
10
|
-
<article><br>
|
|
11
|
-
|
|
12
|
-
# <sup style>Parent page</sup> Page title <sub style>Subtitle</sub>
|
|
13
|
-
|
|
14
|
-
</article>
|
|
15
|
-
|
|
16
|
-
How it works:
|
|
17
|
-
```css */
|
|
18
|
-
sup[style] {
|
|
19
|
-
display: block;
|
|
20
|
-
font-size: min(50%, 0.75rem);
|
|
21
|
-
letter-spacing: 0.0625em;
|
|
22
|
-
text-transform: uppercase;
|
|
23
|
-
}
|
|
24
|
-
sub[style] {
|
|
25
|
-
display: block;
|
|
26
|
-
bottom: 0;
|
|
27
|
-
font-weight: 300;
|
|
28
|
-
line-height: 1.1;
|
|
29
|
-
opacity: 75%;
|
|
30
|
-
}
|
|
31
|
-
sub[style]:where(h1 > *) {
|
|
32
|
-
font-size: 50%;
|
|
33
|
-
}
|
|
34
|
-
/*```
|
|
35
|
-
|
|
36
|
-
### Teasers
|
|
37
|
-
|
|
38
|
-
<article style="padding-inline: 2rem">
|
|
39
|
-
<a href="https://blades.ninja/" role="button" class="outline">
|
|
40
|
-
<h4>Blades CSS</h4>
|
|
41
|
-
Fully compatible and actively maintained successor to Pico CSS.
|
|
42
|
-
</a>
|
|
43
|
-
</article>
|
|
44
|
-
|
|
45
|
-
How it works:
|
|
46
|
-
```css */
|
|
47
|
-
a[role="button"]:has(h1, h2, h3, h4, h5, h6) {
|
|
48
|
-
margin: 0 0 0.5rem -1rem;
|
|
49
|
-
border-width: 1px 0 0 1px;
|
|
50
|
-
text-align: start;
|
|
51
|
-
}
|
|
52
|
-
/*```
|
|
53
|
-
|
|
54
|
-
### `.opt`ional content
|
|
55
|
-
|
|
56
|
-
How it works:
|
|
57
|
-
```css */
|
|
58
|
-
@media (width < 1024px) {
|
|
59
|
-
.opt:not(.does-not-exist) {
|
|
60
|
-
display: none
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
/*```
|
|
64
|
-
|
|
65
|
-
### Nicer GitHub favicons
|
|
66
|
-
|
|
67
|
-
<article>
|
|
68
|
-
|
|
69
|
-
https://github.com/anyblades/blades
|
|
70
|
-
|
|
71
|
-
</article>
|
|
72
|
-
|
|
73
|
-
How it works:
|
|
74
|
-
```css */
|
|
75
|
-
img[src*="?domain=github.com&"] {
|
|
76
|
-
border-radius: 50%;
|
|
77
|
-
}
|
|
78
|
-
@media (prefers-color-scheme: dark) {
|
|
79
|
-
img[src*="?domain=github.com&"] {
|
|
80
|
-
filter: invert(1)
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
/*```*/
|
package/css/ninja.min.css
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Blades CSS' ninja add-ons (experimental) 🥷🧪
|
|
3
|
-
* Copyright 2026 (https://blades.ninja/css/ninja/)
|
|
4
|
-
* Licensed under MIT
|
|
5
|
-
*/sup[style]{display:block;font-size:min(50%, .75rem);letter-spacing:.0625em;text-transform:uppercase}sub[style]{display:block;bottom:0;font-weight:300;line-height:1.1;opacity:75%}sub[style]:where(h1 > *){font-size:50%}a[role=button]:has(h1,h2,h3,h4,h5,h6){margin:0 0 .5rem -1rem;border-width:1px 0 0 1px;text-align:start}@media (width < 1024px){.opt:not(.does-not-exist){display:none}}img[src*="?domain=github.com&"]{border-radius:50%}@media (prefers-color-scheme:dark){img[src*="?domain=github.com&"]{filter:invert(1)}}
|
package/src/standalone/_core.css
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Blades CSS standalone kit v3 🥷
|
|
3
|
-
* Copyright 2026 (https://blades.ninja/css/standalone/)
|
|
4
|
-
* Licensed under MIT
|
|
5
|
-
*/
|
|
6
|
-
/*<!--section:code-->```css */
|
|
7
|
-
|
|
8
|
-
/* Follows https://github.com/picocss/pico/blob/main/scss/_index.scss */
|
|
9
|
-
|
|
10
|
-
@import "./_variables";
|
|
11
|
-
|
|
12
|
-
/* Layout */
|
|
13
|
-
@import "./layout/_breakout";
|
|
14
|
-
@import "./layout/_columns";
|
|
15
|
-
@import "./layout/_scroller";
|
|
16
|
-
|
|
17
|
-
/* Content */
|
|
18
|
-
@import "./content/_typography";
|
|
19
|
-
@import "./content/_list";
|
|
20
|
-
@import "./content/_table";
|
|
21
|
-
@import "./content/_table-responsive";
|
|
22
|
-
@import "./content/_code";
|
|
23
|
-
|
|
24
|
-
/* Forms */
|
|
25
|
-
@import "./forms/_float-label.core";
|
|
26
|
-
|
|
27
|
-
/* Components */
|
|
28
|
-
@import "./components/_icon-helper";
|
|
29
|
-
@import "./components/_timeline";
|
|
30
|
-
|
|
31
|
-
/* Utilities */
|
|
32
|
-
@import "./_utilities";
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
/*<!--section:docs-->
|
|
2
|
-
|
|
3
|
-
## Dark auto
|
|
4
|
-
|
|
5
|
-
`.dark-auto` automatically creates a simple dark version of any element:
|
|
6
|
-
|
|
7
|
-
<article data-theme="dark">
|
|
8
|
-
<p>Look how cool <big class="dark-auto">🔥🕷️🐦⬛🐄🦓</big> can look in the dark!</p>
|
|
9
|
-
</article>
|
|
10
|
-
|
|
11
|
-
How it works:
|
|
12
|
-
```css */
|
|
13
|
-
/* Per https://picocss.com/docs/css-variables#css-variables-for-color-schemes */
|
|
14
|
-
:root {
|
|
15
|
-
--blades-dark-filter: invert(100%) hue-rotate(180deg);
|
|
16
|
-
}
|
|
17
|
-
.dark-auto {
|
|
18
|
-
/* Dark color scheme (Auto) */
|
|
19
|
-
@media (prefers-color-scheme: dark) {
|
|
20
|
-
filter: var(--blades-dark-filter);
|
|
21
|
-
}
|
|
22
|
-
/* Dark color scheme (Forced) */
|
|
23
|
-
&[data-theme="dark"],
|
|
24
|
-
&:where([data-theme="dark"] *) {
|
|
25
|
-
filter: var(--blades-dark-filter);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
/*```
|
|
29
|
-
|
|
30
|
-
## Faded
|
|
31
|
-
|
|
32
|
-
`.faded` reduces the opacity of an element:
|
|
33
|
-
|
|
34
|
-
<article class="faded">
|
|
35
|
-
Hover to unfade me!
|
|
36
|
-
</article>
|
|
37
|
-
|
|
38
|
-
How it works:
|
|
39
|
-
```css */
|
|
40
|
-
.faded {
|
|
41
|
-
opacity: 50%;
|
|
42
|
-
|
|
43
|
-
&:hover {
|
|
44
|
-
opacity: 87.5%;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
/*```
|
|
48
|
-
<!--section--> */
|
|
49
|
-
|
|
50
|
-
/* Fix the scrollbar color when inverted by https://tailwindcss.com/docs/filter-invert */
|
|
51
|
-
.invert {
|
|
52
|
-
::-webkit-scrollbar {
|
|
53
|
-
filter: invert(1) !important;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|