@noirmd/previewer 2.0.1 → 2.0.3
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/dist/NReditor.cjs +1076 -96
- package/dist/NReditor.cjs.map +1 -1
- package/dist/NReditor.d.cts +3 -1
- package/dist/NReditor.d.ts +3 -1
- package/dist/NReditor.js +1076 -96
- package/dist/NReditor.js.map +1 -1
- package/dist/accordion.css +85 -0
- package/dist/carousel.css +121 -0
- package/dist/chat.css +182 -0
- package/dist/countdown.css +83 -0
- package/dist/diff.css +94 -0
- package/dist/editor.css +218 -4
- package/dist/hover3d.css +157 -0
- package/dist/hovergallery.css +110 -0
- package/dist/index.cjs +572 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +572 -4
- package/dist/index.js.map +1 -1
- package/dist/kbd.css +63 -0
- package/dist/modal.css +3 -0
- package/dist/react.cjs +964 -7
- package/dist/react.cjs.map +1 -1
- package/dist/react.d.cts +27 -1
- package/dist/react.d.ts +27 -1
- package/dist/react.js +962 -7
- package/dist/react.js.map +1 -1
- package/dist/richlist.css +110 -0
- package/dist/stat.css +107 -0
- package/dist/vanilla.cjs +572 -4
- package/dist/vanilla.cjs.map +1 -1
- package/dist/vanilla.css +11 -1
- package/dist/vanilla.js +572 -4
- package/dist/vanilla.js.map +1 -1
- package/dist/variables.css +2 -0
- package/dist/vue.cjs +572 -4
- package/dist/vue.cjs.map +1 -1
- package/dist/vue.js +572 -4
- package/dist/vue.js.map +1 -1
- package/editor.css +218 -4
- package/package.json +4 -1
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/* ============================================================
|
|
2
|
+
NoirMD Vanilla — Accordion
|
|
3
|
+
============================================================ */
|
|
4
|
+
|
|
5
|
+
.nr-accordion {
|
|
6
|
+
display: flex;
|
|
7
|
+
flex-direction: column;
|
|
8
|
+
gap: 0.5rem;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.nr-accordion__item {
|
|
12
|
+
position: relative;
|
|
13
|
+
display: grid;
|
|
14
|
+
grid-template-columns: minmax(0, 1fr);
|
|
15
|
+
grid-template-rows: max-content 0fr;
|
|
16
|
+
transition: grid-template-rows 0.25s ease;
|
|
17
|
+
border: 1px solid var(--nr-border);
|
|
18
|
+
border-radius: var(--nr-radius-sm);
|
|
19
|
+
background: color-mix(in oklab, var(--nr-bg-secondary) 30%, transparent);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.nr-accordion__item:has(> .nr-accordion__input:checked) {
|
|
23
|
+
grid-template-rows: max-content 1fr;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.nr-accordion__input {
|
|
27
|
+
grid-column: 1;
|
|
28
|
+
grid-row: 1;
|
|
29
|
+
position: relative;
|
|
30
|
+
z-index: 1;
|
|
31
|
+
width: 100%;
|
|
32
|
+
padding: 1rem;
|
|
33
|
+
padding-inline-end: 3rem;
|
|
34
|
+
margin: 0;
|
|
35
|
+
appearance: none;
|
|
36
|
+
opacity: 0;
|
|
37
|
+
cursor: pointer;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.nr-accordion__title {
|
|
41
|
+
grid-column: 1;
|
|
42
|
+
grid-row: 1;
|
|
43
|
+
position: relative;
|
|
44
|
+
padding: 1rem 2.75rem 1rem 1rem;
|
|
45
|
+
font-weight: 600;
|
|
46
|
+
font-size: 0.95rem;
|
|
47
|
+
color: var(--nr-text);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.nr-accordion__title::after {
|
|
51
|
+
content: "";
|
|
52
|
+
position: absolute;
|
|
53
|
+
top: 50%;
|
|
54
|
+
inset-inline-end: 1.4rem;
|
|
55
|
+
width: 0.5rem;
|
|
56
|
+
height: 0.5rem;
|
|
57
|
+
border-right: 2px solid currentColor;
|
|
58
|
+
border-bottom: 2px solid currentColor;
|
|
59
|
+
transform: translateY(-70%) rotate(45deg);
|
|
60
|
+
opacity: 0.55;
|
|
61
|
+
transition: transform 0.25s ease;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.nr-accordion__item:has(> .nr-accordion__input:checked) > .nr-accordion__title::after {
|
|
65
|
+
transform: translateY(-30%) rotate(225deg);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.nr-accordion__content {
|
|
69
|
+
grid-column: 1;
|
|
70
|
+
grid-row: 2;
|
|
71
|
+
min-height: 0;
|
|
72
|
+
overflow: clip;
|
|
73
|
+
padding: 0 1rem;
|
|
74
|
+
font-size: 0.875rem;
|
|
75
|
+
color: var(--nr-text-secondary);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.nr-accordion__item:has(> .nr-accordion__input:checked) > .nr-accordion__content {
|
|
79
|
+
padding-bottom: 1rem;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.nr-accordion__item:has(> .nr-accordion__input:focus-visible) {
|
|
83
|
+
outline: 2px solid var(--nr-accent);
|
|
84
|
+
outline-offset: 2px;
|
|
85
|
+
}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/* ============================================================
|
|
2
|
+
NoirMD Vanilla — Carousel
|
|
3
|
+
============================================================ */
|
|
4
|
+
|
|
5
|
+
.nr-carousel {
|
|
6
|
+
position: relative;
|
|
7
|
+
max-width: 100%;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.nr-carousel:focus-visible {
|
|
11
|
+
outline: 2px solid var(--nr-text);
|
|
12
|
+
outline-offset: 2px;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.nr-carousel__viewport {
|
|
16
|
+
width: 100%;
|
|
17
|
+
overflow: hidden;
|
|
18
|
+
aspect-ratio: 16 / 9;
|
|
19
|
+
border-radius: var(--nr-radius);
|
|
20
|
+
background: var(--nr-bg-secondary);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.nr-carousel__track {
|
|
24
|
+
display: flex;
|
|
25
|
+
height: 100%;
|
|
26
|
+
transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
|
|
27
|
+
will-change: transform;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.nr-carousel__item {
|
|
31
|
+
flex: 0 0 100%;
|
|
32
|
+
min-width: 0;
|
|
33
|
+
height: 100%;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.nr-carousel .nr-carousel__item img {
|
|
37
|
+
display: block;
|
|
38
|
+
width: 100%;
|
|
39
|
+
height: 100%;
|
|
40
|
+
object-fit: cover;
|
|
41
|
+
object-position: center;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.nr-carousel__item--active img {
|
|
45
|
+
animation: nr-carousel-in 0.6s ease both;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
@keyframes nr-carousel-in {
|
|
49
|
+
from {
|
|
50
|
+
opacity: 0.55;
|
|
51
|
+
transform: scale(1.06);
|
|
52
|
+
}
|
|
53
|
+
to {
|
|
54
|
+
opacity: 1;
|
|
55
|
+
transform: scale(1);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.nr-carousel__nav {
|
|
60
|
+
position: absolute;
|
|
61
|
+
top: 50%;
|
|
62
|
+
transform: translateY(-50%);
|
|
63
|
+
z-index: 2;
|
|
64
|
+
display: inline-flex;
|
|
65
|
+
align-items: center;
|
|
66
|
+
justify-content: center;
|
|
67
|
+
width: 2.25rem;
|
|
68
|
+
height: 2.25rem;
|
|
69
|
+
border: 1px solid color-mix(in oklab, var(--nr-text) 15%, transparent);
|
|
70
|
+
border-radius: 9999px;
|
|
71
|
+
background: color-mix(in oklab, var(--nr-bg) 80%, transparent);
|
|
72
|
+
color: var(--nr-text);
|
|
73
|
+
backdrop-filter: blur(4px);
|
|
74
|
+
font-size: 1rem;
|
|
75
|
+
cursor: pointer;
|
|
76
|
+
opacity: 0.85;
|
|
77
|
+
transition:
|
|
78
|
+
opacity 0.15s ease,
|
|
79
|
+
background-color 0.15s ease;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.nr-carousel__nav:hover {
|
|
83
|
+
opacity: 1;
|
|
84
|
+
background: var(--nr-bg);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.nr-carousel__nav--prev {
|
|
88
|
+
left: 0.75rem;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.nr-carousel__nav--next {
|
|
92
|
+
right: 0.75rem;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.nr-carousel__dots {
|
|
96
|
+
position: absolute;
|
|
97
|
+
bottom: 0.75rem;
|
|
98
|
+
left: 50%;
|
|
99
|
+
transform: translateX(-50%);
|
|
100
|
+
z-index: 2;
|
|
101
|
+
display: flex;
|
|
102
|
+
gap: 0.4rem;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
.nr-carousel__dot {
|
|
106
|
+
width: 0.5rem;
|
|
107
|
+
height: 0.5rem;
|
|
108
|
+
padding: 0;
|
|
109
|
+
border: none;
|
|
110
|
+
border-radius: 9999px;
|
|
111
|
+
background: color-mix(in oklab, var(--nr-text) 35%, transparent);
|
|
112
|
+
cursor: pointer;
|
|
113
|
+
transition:
|
|
114
|
+
background-color 0.15s ease,
|
|
115
|
+
width 0.15s ease;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.nr-carousel__dot--active {
|
|
119
|
+
width: 1.25rem;
|
|
120
|
+
background: var(--nr-text);
|
|
121
|
+
}
|
package/dist/chat.css
ADDED
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
/* ============================================================
|
|
2
|
+
NoirMD Vanilla — Chat
|
|
3
|
+
============================================================ */
|
|
4
|
+
|
|
5
|
+
.nr-chat {
|
|
6
|
+
display: grid;
|
|
7
|
+
grid-auto-rows: min-content;
|
|
8
|
+
gap: 0 0.75rem;
|
|
9
|
+
padding: 0.25rem 0;
|
|
10
|
+
--nr-mask-chat: url("data:image/svg+xml,%3csvg width='13' height='13' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='M0 11.5004C0 13.0004 2 13.0004 2 13.0004H12H13V0.00036329L12.5 0C12.5 0 11.977 2.09572 11.8581 2.50033C11.6075 3.35237 10.9149 4.22374 9 5.50036C6 7.50036 0 10.0004 0 11.5004Z'/%3e%3c/svg%3e");
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.nr-chat__header {
|
|
14
|
+
grid-row-start: 1;
|
|
15
|
+
display: flex;
|
|
16
|
+
align-items: center;
|
|
17
|
+
gap: 0.25rem;
|
|
18
|
+
font-size: 0.6875rem;
|
|
19
|
+
color: var(--nr-text-secondary);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.nr-chat__name {
|
|
23
|
+
font-weight: 600;
|
|
24
|
+
color: var(--nr-text);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.nr-chat__time {
|
|
28
|
+
opacity: 0.6;
|
|
29
|
+
font-size: 0.625rem;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.nr-chat__avatar {
|
|
33
|
+
grid-row: span 2;
|
|
34
|
+
align-self: end;
|
|
35
|
+
width: 2.5rem;
|
|
36
|
+
height: 2.5rem;
|
|
37
|
+
border-radius: 9999px;
|
|
38
|
+
overflow: hidden;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.nr-chat .nr-chat__avatar img {
|
|
42
|
+
width: 100%;
|
|
43
|
+
height: 100%;
|
|
44
|
+
object-fit: cover;
|
|
45
|
+
display: block;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.nr-chat__bubble {
|
|
49
|
+
position: relative;
|
|
50
|
+
grid-row-end: 3;
|
|
51
|
+
display: block;
|
|
52
|
+
width: fit-content;
|
|
53
|
+
max-width: 90%;
|
|
54
|
+
min-height: 2rem;
|
|
55
|
+
min-width: 2.5rem;
|
|
56
|
+
padding: 0.5rem 1rem;
|
|
57
|
+
border-radius: var(--nr-radius);
|
|
58
|
+
background: var(--nr-bg-secondary);
|
|
59
|
+
color: var(--nr-text);
|
|
60
|
+
font-size: 0.9rem;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.nr-chat__bubble::before {
|
|
64
|
+
content: "";
|
|
65
|
+
position: absolute;
|
|
66
|
+
bottom: 0;
|
|
67
|
+
width: 0.75rem;
|
|
68
|
+
height: 0.75rem;
|
|
69
|
+
background-color: inherit;
|
|
70
|
+
mask-repeat: no-repeat;
|
|
71
|
+
mask-image: var(--nr-mask-chat);
|
|
72
|
+
mask-position: 0px -1px;
|
|
73
|
+
mask-size: 0.8125rem;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.nr-chat__footer {
|
|
77
|
+
grid-row-start: 3;
|
|
78
|
+
display: flex;
|
|
79
|
+
gap: 0.25rem;
|
|
80
|
+
font-size: 0.6875rem;
|
|
81
|
+
opacity: 0.55;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/* ── Start side ── */
|
|
85
|
+
|
|
86
|
+
.nr-chat--start {
|
|
87
|
+
place-items: start;
|
|
88
|
+
grid-template-columns: auto 1fr;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.nr-chat--start .nr-chat__header {
|
|
92
|
+
grid-column: 2;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.nr-chat--start .nr-chat__footer {
|
|
96
|
+
grid-column: 2;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.nr-chat--start .nr-chat__avatar {
|
|
100
|
+
grid-column: 1;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.nr-chat--start .nr-chat__bubble {
|
|
104
|
+
grid-column: 2;
|
|
105
|
+
border-bottom-left-radius: 0;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.nr-chat--start .nr-chat__bubble::before {
|
|
109
|
+
transform: rotateY(0deg);
|
|
110
|
+
inset-inline-start: -0.75rem;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
/* ── End side ── */
|
|
114
|
+
|
|
115
|
+
.nr-chat--end {
|
|
116
|
+
place-items: end;
|
|
117
|
+
grid-template-columns: 1fr auto;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
.nr-chat--end .nr-chat__header {
|
|
121
|
+
grid-column: 1;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
.nr-chat--end .nr-chat__footer {
|
|
125
|
+
grid-column: 1;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
.nr-chat--end .nr-chat__avatar {
|
|
129
|
+
grid-column: 2;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
.nr-chat--end .nr-chat__bubble {
|
|
133
|
+
grid-column: 1;
|
|
134
|
+
border-bottom-right-radius: 0;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
.nr-chat--end .nr-chat__bubble::before {
|
|
138
|
+
transform: rotateY(180deg);
|
|
139
|
+
inset-inline-start: 100%;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
/* ── Bubble colors ── */
|
|
143
|
+
|
|
144
|
+
.nr-chat__bubble--primary {
|
|
145
|
+
background: var(--nr-accent);
|
|
146
|
+
color: var(--color-primary-content, white);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
.nr-chat__bubble--secondary {
|
|
150
|
+
background: var(--nr-secondary);
|
|
151
|
+
color: var(--color-secondary-content, white);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
.nr-chat__bubble--accent {
|
|
155
|
+
background: var(--nr-accent);
|
|
156
|
+
color: var(--color-accent-content, white);
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
.nr-chat__bubble--neutral {
|
|
160
|
+
background: var(--nr-bg-secondary);
|
|
161
|
+
color: var(--nr-text);
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
.nr-chat__bubble--info {
|
|
165
|
+
background: var(--nr-info);
|
|
166
|
+
color: var(--color-info-content, white);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
.nr-chat__bubble--success {
|
|
170
|
+
background: var(--nr-success);
|
|
171
|
+
color: var(--color-success-content, white);
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
.nr-chat__bubble--warning {
|
|
175
|
+
background: var(--nr-warning);
|
|
176
|
+
color: var(--color-warning-content, oklch(0.3 0.06 80));
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
.nr-chat__bubble--error {
|
|
180
|
+
background: var(--nr-danger);
|
|
181
|
+
color: var(--color-error-content, white);
|
|
182
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/* ============================================================
|
|
2
|
+
NoirMD Vanilla — Countdown
|
|
3
|
+
============================================================ */
|
|
4
|
+
|
|
5
|
+
.nr-countdown {
|
|
6
|
+
display: inline-flex;
|
|
7
|
+
gap: 0.5rem;
|
|
8
|
+
flex-wrap: wrap;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.nr-countdown__block {
|
|
12
|
+
display: flex;
|
|
13
|
+
flex-direction: column;
|
|
14
|
+
align-items: center;
|
|
15
|
+
gap: 0.25rem;
|
|
16
|
+
padding: 0.5rem 0.9rem;
|
|
17
|
+
border-radius: var(--nr-radius-sm);
|
|
18
|
+
background: var(--nr-bg-secondary);
|
|
19
|
+
color: var(--nr-text);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.nr-countdown__value {
|
|
23
|
+
position: relative;
|
|
24
|
+
display: inline-block;
|
|
25
|
+
overflow-y: clip;
|
|
26
|
+
height: 1em;
|
|
27
|
+
line-height: 1em;
|
|
28
|
+
font-family: 'JetBrains Mono', 'Fira Code', monospace;
|
|
29
|
+
font-size: 2.25rem;
|
|
30
|
+
font-weight: 700;
|
|
31
|
+
font-variant-numeric: tabular-nums;
|
|
32
|
+
direction: ltr;
|
|
33
|
+
visibility: hidden;
|
|
34
|
+
|
|
35
|
+
--value-v: calc(mod(max(0, var(--value, 0)), 1000));
|
|
36
|
+
--value-hundreds: calc(round(to-zero, var(--value-v) / 100, 1));
|
|
37
|
+
--value-tens: calc(round(to-zero, mod(var(--value-v), 100) / 10, 1));
|
|
38
|
+
--value-ones: calc(mod(var(--value-v), 100));
|
|
39
|
+
--show-hundreds: clamp(clamp(0, var(--digits, 2) - 2, 1), var(--value-hundreds), 1);
|
|
40
|
+
--show-tens: clamp(
|
|
41
|
+
clamp(0, var(--digits, 2) - 1, 1),
|
|
42
|
+
var(--value-tens) + var(--show-hundreds),
|
|
43
|
+
1
|
|
44
|
+
);
|
|
45
|
+
--first-digits: calc(round(to-zero, var(--value-v) / 10, 1));
|
|
46
|
+
width: calc(1ch + var(--show-tens) * 1ch + var(--show-hundreds) * 1ch);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.nr-countdown__value::before,
|
|
50
|
+
.nr-countdown__value::after {
|
|
51
|
+
visibility: visible;
|
|
52
|
+
position: absolute;
|
|
53
|
+
overflow-x: clip;
|
|
54
|
+
content: "00\A 01\A 02\A 03\A 04\A 05\A 06\A 07\A 08\A 09\A 10\A 11\A 12\A 13\A 14\A 15\A 16\A 17\A 18\A 19\A 20\A 21\A 22\A 23\A 24\A 25\A 26\A 27\A 28\A 29\A 30\A 31\A 32\A 33\A 34\A 35\A 36\A 37\A 38\A 39\A 40\A 41\A 42\A 43\A 44\A 45\A 46\A 47\A 48\A 49\A 50\A 51\A 52\A 53\A 54\A 55\A 56\A 57\A 58\A 59\A 60\A 61\A 62\A 63\A 64\A 65\A 66\A 67\A 68\A 69\A 70\A 71\A 72\A 73\A 74\A 75\A 76\A 77\A 78\A 79\A 80\A 81\A 82\A 83\A 84\A 85\A 86\A 87\A 88\A 89\A 90\A 91\A 92\A 93\A 94\A 95\A 96\A 97\A 98\A 99\A";
|
|
55
|
+
white-space: pre;
|
|
56
|
+
text-align: end;
|
|
57
|
+
direction: rtl;
|
|
58
|
+
font-variant-numeric: tabular-nums;
|
|
59
|
+
transition:
|
|
60
|
+
all 1s cubic-bezier(1, 0, 0, 1),
|
|
61
|
+
width 0.2s ease-out 0.2s,
|
|
62
|
+
opacity 0.2s ease-out 0.2s;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.nr-countdown__value::before {
|
|
66
|
+
width: calc(1ch + var(--show-hundreds) * 1ch);
|
|
67
|
+
top: calc(var(--first-digits) * -1em);
|
|
68
|
+
inset-inline-end: 0;
|
|
69
|
+
opacity: var(--show-tens);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.nr-countdown__value::after {
|
|
73
|
+
width: 1ch;
|
|
74
|
+
top: calc(var(--value-ones) * -1em);
|
|
75
|
+
inset-inline-start: 0;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.nr-countdown__label {
|
|
79
|
+
font-size: 0.7rem;
|
|
80
|
+
text-transform: uppercase;
|
|
81
|
+
letter-spacing: 0.08em;
|
|
82
|
+
color: var(--nr-text-secondary);
|
|
83
|
+
}
|
package/dist/diff.css
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/* ============================================================
|
|
2
|
+
NoirMD Vanilla — Diff (before/after comparison)
|
|
3
|
+
============================================================ */
|
|
4
|
+
|
|
5
|
+
.nr-diff {
|
|
6
|
+
position: relative;
|
|
7
|
+
display: grid;
|
|
8
|
+
grid-template-columns: 1fr;
|
|
9
|
+
grid-template-rows: 1fr;
|
|
10
|
+
width: 100%;
|
|
11
|
+
aspect-ratio: 16 / 9;
|
|
12
|
+
overflow: hidden;
|
|
13
|
+
user-select: none;
|
|
14
|
+
-webkit-user-select: none;
|
|
15
|
+
direction: ltr;
|
|
16
|
+
container-type: inline-size;
|
|
17
|
+
border-radius: var(--nr-radius-sm);
|
|
18
|
+
margin: 1rem 0;
|
|
19
|
+
max-width: 100%;
|
|
20
|
+
--nr-diff-pos: 50%;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.nr-diff:focus-visible,
|
|
24
|
+
.nr-diff:has(.nr-diff__item--before:focus-visible) {
|
|
25
|
+
outline: 2px solid var(--nr-text);
|
|
26
|
+
outline-offset: 2px;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.nr-diff__item--before:focus-visible {
|
|
30
|
+
outline: none;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.nr-diff__item--after,
|
|
34
|
+
.nr-diff__item--before {
|
|
35
|
+
position: relative;
|
|
36
|
+
grid-row: 1;
|
|
37
|
+
grid-column: 1;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.nr-diff .nr-diff__item--after > *,
|
|
41
|
+
.nr-diff .nr-diff__item--before > * {
|
|
42
|
+
position: absolute;
|
|
43
|
+
top: 0;
|
|
44
|
+
bottom: 0;
|
|
45
|
+
left: 0;
|
|
46
|
+
width: 100cqi;
|
|
47
|
+
max-width: none;
|
|
48
|
+
height: 100%;
|
|
49
|
+
object-fit: cover;
|
|
50
|
+
object-position: center;
|
|
51
|
+
pointer-events: none;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.nr-diff__item--before {
|
|
55
|
+
z-index: 1;
|
|
56
|
+
width: var(--nr-diff-pos);
|
|
57
|
+
overflow: hidden;
|
|
58
|
+
border-right: 2px solid var(--nr-bg);
|
|
59
|
+
box-shadow: 0 0 0 2px #0000002a;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.nr-diff__resizer {
|
|
63
|
+
position: absolute;
|
|
64
|
+
z-index: 3;
|
|
65
|
+
top: 0;
|
|
66
|
+
bottom: 0;
|
|
67
|
+
left: var(--nr-diff-pos);
|
|
68
|
+
width: 2.5rem;
|
|
69
|
+
translate: -50% 0;
|
|
70
|
+
cursor: ew-resize;
|
|
71
|
+
touch-action: none;
|
|
72
|
+
user-select: none;
|
|
73
|
+
-webkit-user-select: none;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.nr-diff__resizer::after {
|
|
77
|
+
content: "";
|
|
78
|
+
position: absolute;
|
|
79
|
+
top: 50%;
|
|
80
|
+
left: 50%;
|
|
81
|
+
width: 1.2rem;
|
|
82
|
+
height: 1.8rem;
|
|
83
|
+
border: 2px solid var(--nr-bg);
|
|
84
|
+
border-radius: 9999px;
|
|
85
|
+
background: var(--nr-bg);
|
|
86
|
+
box-shadow: 0 0 0 2px #0000002a;
|
|
87
|
+
translate: -50% -50%;
|
|
88
|
+
pointer-events: none;
|
|
89
|
+
transition: height 0.3s linear(0, 0.931 13.8%, 1.196 21.4%, 1.343 29.8%, 1.378 36%, 1.365 43.2%, 1.059 78%, 1);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.nr-diff:hover .nr-diff__resizer::after {
|
|
93
|
+
height: 2.4rem;
|
|
94
|
+
}
|