mljr-css 1.0.14 → 1.1.0
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/mljr.css +5573 -2766
- package/dist/mljr.min.css +2 -3
- package/package.json +1 -1
- package/src/components/alert-dialog.css +129 -0
- package/src/components/alert.css +41 -22
- package/src/components/animated-headline.css +118 -0
- package/src/components/audio-visualizer.css +96 -0
- package/src/components/autocomplete.css +143 -0
- package/src/components/avatar.css +66 -0
- package/src/components/badge.css +82 -41
- package/src/components/breadcrumb.css +3 -0
- package/src/components/button.css +80 -58
- package/src/components/calendar.css +169 -0
- package/src/components/card.css +139 -92
- package/src/components/chart.css +194 -0
- package/src/components/checkbox.css +1 -1
- package/src/components/chip.css +33 -18
- package/src/components/context-menu.css +118 -0
- package/src/components/cookie-banner.css +285 -0
- package/src/components/diff-viewer.css +199 -0
- package/src/components/dock.css +211 -0
- package/src/components/drop-zone.css +257 -0
- package/src/components/footer.css +51 -5
- package/src/components/gauge.css +63 -0
- package/src/components/image-compare.css +141 -0
- package/src/components/infinite-scroll.css +36 -0
- package/src/components/inview.css +118 -0
- package/src/components/lazy-image.css +60 -0
- package/src/components/legal-page.css +346 -0
- package/src/components/map-embed.css +92 -0
- package/src/components/marquee.css +112 -0
- package/src/components/navbar.css +357 -0
- package/src/components/navigation-rail.css +220 -0
- package/src/components/notification-center.css +306 -0
- package/src/components/number-input.css +134 -0
- package/src/components/number-ticker.css +65 -0
- package/src/components/pagination.css +59 -0
- package/src/components/pdf-viewer.css +163 -0
- package/src/components/pin-input.css +153 -0
- package/src/components/resizable.css +82 -0
- package/src/components/rich-text-editor.css +216 -0
- package/src/components/table-of-content.css +107 -0
- package/src/components/table.css +116 -0
- package/src/components/tabs.css +93 -3
- package/src/components/toast.css +30 -0
- package/src/components/tooltip.css +8 -0
- package/src/components/tree-view.css +270 -0
- package/src/components/turnstile.css +113 -0
- package/src/components/video-player.css +266 -0
- package/src/index.css +35 -1
- package/src/layout/footer.css +2 -2
- package/src/layout/navbar.css +187 -113
- package/src/layout/sidebar.css +27 -0
- package/src/themes/variables.css +146 -97
package/package.json
CHANGED
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/* ============================================
|
|
2
|
+
Alert Dialog Component
|
|
3
|
+
Semantic confirm/cancel overlay for
|
|
4
|
+
destructive action confirmation
|
|
5
|
+
============================================ */
|
|
6
|
+
|
|
7
|
+
.mljr-alert-dialog-overlay {
|
|
8
|
+
position: fixed;
|
|
9
|
+
inset: 0;
|
|
10
|
+
background: rgba(0, 0, 0, 0.5);
|
|
11
|
+
display: flex;
|
|
12
|
+
align-items: center;
|
|
13
|
+
justify-content: center;
|
|
14
|
+
z-index: 1100;
|
|
15
|
+
padding: var(--mljr-space-4);
|
|
16
|
+
backdrop-filter: blur(2px);
|
|
17
|
+
animation: mljr-alert-dialog-overlay-in 0.15s ease;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
@keyframes mljr-alert-dialog-overlay-in {
|
|
21
|
+
from { opacity: 0; }
|
|
22
|
+
to { opacity: 1; }
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.mljr-alert-dialog {
|
|
26
|
+
background: var(--mljr-bg);
|
|
27
|
+
border-radius: var(--mljr-radius-2xl);
|
|
28
|
+
box-shadow: var(--mljr-clay-shadow-lg);
|
|
29
|
+
padding: var(--mljr-space-8);
|
|
30
|
+
max-width: 28rem;
|
|
31
|
+
width: 100%;
|
|
32
|
+
position: relative;
|
|
33
|
+
animation: mljr-alert-dialog-in 0.2s ease;
|
|
34
|
+
outline: none;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
@keyframes mljr-alert-dialog-in {
|
|
38
|
+
from {
|
|
39
|
+
opacity: 0;
|
|
40
|
+
transform: scale(0.95) translateY(-8px);
|
|
41
|
+
}
|
|
42
|
+
to {
|
|
43
|
+
opacity: 1;
|
|
44
|
+
transform: scale(1) translateY(0);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.mljr-alert-dialog-icon {
|
|
49
|
+
width: 3rem;
|
|
50
|
+
height: 3rem;
|
|
51
|
+
border-radius: var(--mljr-radius-full);
|
|
52
|
+
display: flex;
|
|
53
|
+
align-items: center;
|
|
54
|
+
justify-content: center;
|
|
55
|
+
margin-bottom: var(--mljr-space-4);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.mljr-alert-dialog-title {
|
|
59
|
+
font-size: var(--mljr-text-lg);
|
|
60
|
+
font-weight: 700;
|
|
61
|
+
color: var(--mljr-text);
|
|
62
|
+
margin: 0 0 var(--mljr-space-2);
|
|
63
|
+
line-height: 1.3;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.mljr-alert-dialog-description {
|
|
67
|
+
font-size: var(--mljr-text-sm);
|
|
68
|
+
color: var(--mljr-text-secondary);
|
|
69
|
+
margin: 0 0 var(--mljr-space-6);
|
|
70
|
+
line-height: 1.6;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.mljr-alert-dialog-body {
|
|
74
|
+
margin-bottom: var(--mljr-space-6);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.mljr-alert-dialog-actions {
|
|
78
|
+
display: flex;
|
|
79
|
+
gap: var(--mljr-space-3);
|
|
80
|
+
justify-content: flex-end;
|
|
81
|
+
flex-wrap: wrap;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/* Default variant */
|
|
85
|
+
.mljr-alert-dialog[data-variant="default"] .mljr-alert-dialog-icon {
|
|
86
|
+
background: var(--mljr-primary-100);
|
|
87
|
+
color: var(--mljr-primary-600);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/* Danger variant */
|
|
91
|
+
.mljr-alert-dialog[data-variant="danger"] .mljr-alert-dialog-icon {
|
|
92
|
+
background: var(--mljr-error-100);
|
|
93
|
+
color: var(--mljr-error-600);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.mljr-alert-dialog[data-variant="danger"] .mljr-alert-dialog-title {
|
|
97
|
+
color: var(--mljr-error-700);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/* Warning variant */
|
|
101
|
+
.mljr-alert-dialog[data-variant="warning"] .mljr-alert-dialog-icon {
|
|
102
|
+
background: var(--mljr-warning-100);
|
|
103
|
+
color: var(--mljr-warning-600);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.mljr-alert-dialog[data-variant="warning"] .mljr-alert-dialog-title {
|
|
107
|
+
color: var(--mljr-warning-700);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
/* Dark mode */
|
|
111
|
+
.dark .mljr-alert-dialog-overlay,
|
|
112
|
+
[data-theme="dark"] .mljr-alert-dialog-overlay {
|
|
113
|
+
background: rgba(0, 0, 0, 0.7);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
.dark .mljr-alert-dialog[data-variant="default"] .mljr-alert-dialog-icon,
|
|
117
|
+
[data-theme="dark"] .mljr-alert-dialog[data-variant="default"] .mljr-alert-dialog-icon {
|
|
118
|
+
background: color-mix(in srgb, var(--mljr-primary-600) 20%, transparent);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.dark .mljr-alert-dialog[data-variant="danger"] .mljr-alert-dialog-icon,
|
|
122
|
+
[data-theme="dark"] .mljr-alert-dialog[data-variant="danger"] .mljr-alert-dialog-icon {
|
|
123
|
+
background: color-mix(in srgb, var(--mljr-error-600) 20%, transparent);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.dark .mljr-alert-dialog[data-variant="warning"] .mljr-alert-dialog-icon,
|
|
127
|
+
[data-theme="dark"] .mljr-alert-dialog[data-variant="warning"] .mljr-alert-dialog-icon {
|
|
128
|
+
background: color-mix(in srgb, var(--mljr-warning-600) 20%, transparent);
|
|
129
|
+
}
|
package/src/components/alert.css
CHANGED
|
@@ -33,6 +33,13 @@
|
|
|
33
33
|
opacity: 0.9;
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
+
.mljr-alert-actions {
|
|
37
|
+
display: flex;
|
|
38
|
+
gap: var(--mljr-space-2);
|
|
39
|
+
margin-top: var(--mljr-space-3);
|
|
40
|
+
flex-wrap: wrap;
|
|
41
|
+
}
|
|
42
|
+
|
|
36
43
|
.mljr-alert-close {
|
|
37
44
|
flex-shrink: 0;
|
|
38
45
|
width: 1.5rem;
|
|
@@ -67,8 +74,9 @@
|
|
|
67
74
|
border: 1px solid rgba(59, 130, 246, 0.2);
|
|
68
75
|
color: var(--mljr-info-dark);
|
|
69
76
|
box-shadow:
|
|
70
|
-
6px 6px 12px rgba(59, 130, 246, 0.
|
|
71
|
-
-
|
|
77
|
+
6px 6px 12px rgba(59, 130, 246, 0.15),
|
|
78
|
+
inset -6px -6px 12px rgba(30, 60, 120, 0.06),
|
|
79
|
+
inset 6px 6px 12px rgba(255, 255, 255, 0.4);
|
|
72
80
|
}
|
|
73
81
|
|
|
74
82
|
.dark .mljr-alert-info,
|
|
@@ -78,7 +86,8 @@
|
|
|
78
86
|
color: var(--mljr-info-light);
|
|
79
87
|
box-shadow:
|
|
80
88
|
6px 6px 12px rgba(0, 0, 0, 0.3),
|
|
81
|
-
-
|
|
89
|
+
inset -6px -6px 12px rgba(0, 0, 0, 0.15),
|
|
90
|
+
inset 6px 6px 12px rgba(255, 200, 150, 0.06),
|
|
82
91
|
0 0 12px rgba(59, 130, 246, 0.15);
|
|
83
92
|
}
|
|
84
93
|
|
|
@@ -88,8 +97,9 @@
|
|
|
88
97
|
border: 1px solid rgba(16, 185, 129, 0.25);
|
|
89
98
|
color: var(--mljr-success-dark);
|
|
90
99
|
box-shadow:
|
|
91
|
-
6px 6px 12px rgba(16, 185, 129, 0.
|
|
92
|
-
-
|
|
100
|
+
6px 6px 12px rgba(16, 185, 129, 0.15),
|
|
101
|
+
inset -6px -6px 12px rgba(5, 80, 50, 0.06),
|
|
102
|
+
inset 6px 6px 12px rgba(255, 255, 255, 0.4);
|
|
93
103
|
}
|
|
94
104
|
|
|
95
105
|
.dark .mljr-alert-success,
|
|
@@ -99,7 +109,8 @@
|
|
|
99
109
|
color: var(--mljr-success-light);
|
|
100
110
|
box-shadow:
|
|
101
111
|
6px 6px 12px rgba(0, 0, 0, 0.3),
|
|
102
|
-
-
|
|
112
|
+
inset -6px -6px 12px rgba(0, 0, 0, 0.15),
|
|
113
|
+
inset 6px 6px 12px rgba(255, 200, 150, 0.06),
|
|
103
114
|
0 0 12px rgba(16, 185, 129, 0.15);
|
|
104
115
|
}
|
|
105
116
|
|
|
@@ -109,8 +120,9 @@
|
|
|
109
120
|
border: 1px solid rgba(234, 179, 8, 0.2);
|
|
110
121
|
color: var(--mljr-warning-dark);
|
|
111
122
|
box-shadow:
|
|
112
|
-
6px 6px 12px rgba(234, 179, 8, 0.
|
|
113
|
-
-
|
|
123
|
+
6px 6px 12px rgba(234, 179, 8, 0.15),
|
|
124
|
+
inset -6px -6px 12px rgba(120, 80, 5, 0.06),
|
|
125
|
+
inset 6px 6px 12px rgba(255, 255, 255, 0.4);
|
|
114
126
|
}
|
|
115
127
|
|
|
116
128
|
.dark .mljr-alert-warning,
|
|
@@ -120,7 +132,8 @@
|
|
|
120
132
|
color: var(--mljr-warning-light);
|
|
121
133
|
box-shadow:
|
|
122
134
|
6px 6px 12px rgba(0, 0, 0, 0.3),
|
|
123
|
-
-
|
|
135
|
+
inset -6px -6px 12px rgba(0, 0, 0, 0.15),
|
|
136
|
+
inset 6px 6px 12px rgba(255, 200, 150, 0.06),
|
|
124
137
|
0 0 12px rgba(234, 179, 8, 0.15);
|
|
125
138
|
}
|
|
126
139
|
|
|
@@ -130,8 +143,9 @@
|
|
|
130
143
|
border: 1px solid rgba(239, 68, 68, 0.25);
|
|
131
144
|
color: var(--mljr-error-dark);
|
|
132
145
|
box-shadow:
|
|
133
|
-
6px 6px 12px rgba(239, 68, 68, 0.
|
|
134
|
-
-
|
|
146
|
+
6px 6px 12px rgba(239, 68, 68, 0.15),
|
|
147
|
+
inset -6px -6px 12px rgba(120, 30, 30, 0.06),
|
|
148
|
+
inset 6px 6px 12px rgba(255, 255, 255, 0.4);
|
|
135
149
|
}
|
|
136
150
|
|
|
137
151
|
.dark .mljr-alert-error,
|
|
@@ -141,7 +155,8 @@
|
|
|
141
155
|
color: var(--mljr-error-light);
|
|
142
156
|
box-shadow:
|
|
143
157
|
6px 6px 12px rgba(0, 0, 0, 0.3),
|
|
144
|
-
-
|
|
158
|
+
inset -6px -6px 12px rgba(0, 0, 0, 0.15),
|
|
159
|
+
inset 6px 6px 12px rgba(255, 200, 150, 0.06),
|
|
145
160
|
0 0 12px rgba(239, 68, 68, 0.15);
|
|
146
161
|
}
|
|
147
162
|
|
|
@@ -151,8 +166,9 @@
|
|
|
151
166
|
border: 1px solid var(--mljr-primary-200);
|
|
152
167
|
color: var(--mljr-primary-700);
|
|
153
168
|
box-shadow:
|
|
154
|
-
6px 6px 12px rgba(249, 115, 22, 0.
|
|
155
|
-
-
|
|
169
|
+
6px 6px 12px rgba(249, 115, 22, 0.18),
|
|
170
|
+
inset -6px -6px 12px rgba(120, 50, 10, 0.06),
|
|
171
|
+
inset 6px 6px 12px rgba(255, 255, 255, 0.4);
|
|
156
172
|
}
|
|
157
173
|
|
|
158
174
|
.dark .mljr-alert-primary,
|
|
@@ -162,29 +178,32 @@
|
|
|
162
178
|
color: var(--mljr-primary-300);
|
|
163
179
|
box-shadow:
|
|
164
180
|
6px 6px 12px rgba(0, 0, 0, 0.3),
|
|
165
|
-
-
|
|
181
|
+
inset -6px -6px 12px rgba(0, 0, 0, 0.15),
|
|
182
|
+
inset 6px 6px 12px rgba(255, 200, 150, 0.06),
|
|
166
183
|
0 0 12px rgba(249, 115, 22, 0.15);
|
|
167
184
|
}
|
|
168
185
|
|
|
169
|
-
/* Secondary Alert (
|
|
186
|
+
/* Secondary Alert (Purple) */
|
|
170
187
|
.mljr-alert-secondary {
|
|
171
188
|
background-color: var(--mljr-secondary-50);
|
|
172
189
|
border: 1px solid var(--mljr-secondary-200);
|
|
173
190
|
color: var(--mljr-secondary-700);
|
|
174
191
|
box-shadow:
|
|
175
|
-
6px 6px 12px rgba(
|
|
176
|
-
-
|
|
192
|
+
6px 6px 12px rgba(168, 85, 247, 0.15),
|
|
193
|
+
inset -6px -6px 12px rgba(80, 30, 140, 0.06),
|
|
194
|
+
inset 6px 6px 12px rgba(255, 255, 255, 0.4);
|
|
177
195
|
}
|
|
178
196
|
|
|
179
197
|
.dark .mljr-alert-secondary,
|
|
180
198
|
[data-theme="dark"] .mljr-alert-secondary {
|
|
181
|
-
background-color: rgba(
|
|
182
|
-
border-color: rgba(
|
|
199
|
+
background-color: rgba(168, 85, 247, 0.15);
|
|
200
|
+
border-color: rgba(168, 85, 247, 0.35);
|
|
183
201
|
color: var(--mljr-secondary-300);
|
|
184
202
|
box-shadow:
|
|
185
203
|
6px 6px 12px rgba(0, 0, 0, 0.3),
|
|
186
|
-
-
|
|
187
|
-
|
|
204
|
+
inset -6px -6px 12px rgba(0, 0, 0, 0.15),
|
|
205
|
+
inset 6px 6px 12px rgba(255, 200, 150, 0.06),
|
|
206
|
+
0 0 12px rgba(168, 85, 247, 0.15);
|
|
188
207
|
}
|
|
189
208
|
|
|
190
209
|
/* Solid Variants */
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/* =====================================================
|
|
2
|
+
AnimatedHeadline - Rotating/animated text component
|
|
3
|
+
===================================================== */
|
|
4
|
+
|
|
5
|
+
.mljr-animated-headline {
|
|
6
|
+
display: inline;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.mljr-animated-word-wrapper {
|
|
10
|
+
display: inline-block;
|
|
11
|
+
position: relative;
|
|
12
|
+
overflow: hidden;
|
|
13
|
+
vertical-align: bottom;
|
|
14
|
+
white-space: nowrap;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/* Typing cursor */
|
|
18
|
+
.mljr-animated-cursor {
|
|
19
|
+
display: inline-block;
|
|
20
|
+
width: 2px;
|
|
21
|
+
height: 1em;
|
|
22
|
+
background: currentColor;
|
|
23
|
+
margin-left: 1px;
|
|
24
|
+
vertical-align: text-bottom;
|
|
25
|
+
animation: mljr-cursor-blink 0.75s step-end infinite;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/* Fade animation */
|
|
29
|
+
.mljr-animated-word-fade {
|
|
30
|
+
display: inline-block;
|
|
31
|
+
animation: mljr-word-fade-in 0.5s ease forwards;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.mljr-animated-word-fade-out {
|
|
35
|
+
animation: mljr-word-fade-out 0.5s ease forwards;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/* Slide animation */
|
|
39
|
+
.mljr-animated-word-slide {
|
|
40
|
+
display: inline-block;
|
|
41
|
+
animation: mljr-word-slide-in 0.4s cubic-bezier(0.22, 1, 0.36, 1) forwards;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.mljr-animated-word-slide-out {
|
|
45
|
+
animation: mljr-word-slide-out 0.3s cubic-bezier(0.64, 0, 0.78, 0) forwards;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/* Flip animation */
|
|
49
|
+
.mljr-animated-word-flip {
|
|
50
|
+
display: inline-block;
|
|
51
|
+
transform-origin: bottom center;
|
|
52
|
+
animation: mljr-word-flip-in 0.5s ease forwards;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.mljr-animated-word-flip-out {
|
|
56
|
+
animation: mljr-word-flip-out 0.4s ease forwards;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/* Highlight variant */
|
|
60
|
+
.mljr-animated-highlight {
|
|
61
|
+
position: relative;
|
|
62
|
+
display: inline-block;
|
|
63
|
+
color: white;
|
|
64
|
+
padding: 0 0.25em;
|
|
65
|
+
z-index: 0;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.mljr-animated-highlight::before {
|
|
69
|
+
content: '';
|
|
70
|
+
position: absolute;
|
|
71
|
+
inset: 0;
|
|
72
|
+
background: var(--mljr-gradient-primary);
|
|
73
|
+
border-radius: var(--mljr-radius-sm);
|
|
74
|
+
z-index: -1;
|
|
75
|
+
transform-origin: left center;
|
|
76
|
+
animation: mljr-highlight-expand 0.4s ease forwards;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/* Keyframes */
|
|
80
|
+
@keyframes mljr-cursor-blink {
|
|
81
|
+
0%, 100% { opacity: 1; }
|
|
82
|
+
50% { opacity: 0; }
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
@keyframes mljr-word-fade-in {
|
|
86
|
+
from { opacity: 0; }
|
|
87
|
+
to { opacity: 1; }
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
@keyframes mljr-word-fade-out {
|
|
91
|
+
from { opacity: 1; }
|
|
92
|
+
to { opacity: 0; }
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
@keyframes mljr-word-slide-in {
|
|
96
|
+
from { transform: translateY(100%); opacity: 0; }
|
|
97
|
+
to { transform: translateY(0); opacity: 1; }
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
@keyframes mljr-word-slide-out {
|
|
101
|
+
from { transform: translateY(0); opacity: 1; }
|
|
102
|
+
to { transform: translateY(-100%); opacity: 0; }
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
@keyframes mljr-word-flip-in {
|
|
106
|
+
from { transform: rotateX(-90deg); opacity: 0; }
|
|
107
|
+
to { transform: rotateX(0deg); opacity: 1; }
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
@keyframes mljr-word-flip-out {
|
|
111
|
+
from { transform: rotateX(0deg); opacity: 1; }
|
|
112
|
+
to { transform: rotateX(90deg); opacity: 0; }
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
@keyframes mljr-highlight-expand {
|
|
116
|
+
from { transform: scaleX(0); }
|
|
117
|
+
to { transform: scaleX(1); }
|
|
118
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/* ============================================
|
|
2
|
+
AudioVisualizer - Web Audio API canvas viz
|
|
3
|
+
============================================ */
|
|
4
|
+
|
|
5
|
+
.mljr-audio-viz {
|
|
6
|
+
display: flex;
|
|
7
|
+
flex-direction: column;
|
|
8
|
+
gap: var(--mljr-space-3);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.mljr-audio-viz-canvas-wrap {
|
|
12
|
+
position: relative;
|
|
13
|
+
border-radius: var(--mljr-radius-md);
|
|
14
|
+
overflow: hidden;
|
|
15
|
+
background: var(--mljr-surface-2);
|
|
16
|
+
border: 1px solid var(--mljr-border);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.mljr-audio-viz canvas {
|
|
20
|
+
display: block;
|
|
21
|
+
width: 100%;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/* Idle/stopped overlay */
|
|
25
|
+
.mljr-audio-viz-idle {
|
|
26
|
+
position: absolute;
|
|
27
|
+
inset: 0;
|
|
28
|
+
display: flex;
|
|
29
|
+
align-items: center;
|
|
30
|
+
justify-content: center;
|
|
31
|
+
flex-direction: column;
|
|
32
|
+
gap: 0.5rem;
|
|
33
|
+
color: var(--mljr-text-muted);
|
|
34
|
+
font-size: 0.875rem;
|
|
35
|
+
pointer-events: none;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.mljr-audio-viz-idle svg {
|
|
39
|
+
opacity: 0.35;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/* Controls row */
|
|
43
|
+
.mljr-audio-viz-controls {
|
|
44
|
+
display: flex;
|
|
45
|
+
align-items: center;
|
|
46
|
+
gap: 0.75rem;
|
|
47
|
+
flex-wrap: wrap;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/* Permission error */
|
|
51
|
+
.mljr-audio-viz-error {
|
|
52
|
+
padding: 0.625rem 0.875rem;
|
|
53
|
+
background: rgba(220, 38, 38, 0.08);
|
|
54
|
+
border: 1px solid rgba(220, 38, 38, 0.25);
|
|
55
|
+
border-radius: var(--mljr-radius-sm);
|
|
56
|
+
color: #dc2626;
|
|
57
|
+
font-size: 0.8125rem;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.dark .mljr-audio-viz-error {
|
|
61
|
+
color: #f87171;
|
|
62
|
+
background: rgba(220, 38, 38, 0.12);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/* Type selector pills */
|
|
66
|
+
.mljr-audio-viz-types {
|
|
67
|
+
display: flex;
|
|
68
|
+
gap: 0.25rem;
|
|
69
|
+
background: var(--mljr-surface-2);
|
|
70
|
+
border: 1px solid var(--mljr-border);
|
|
71
|
+
border-radius: var(--mljr-radius-full);
|
|
72
|
+
padding: 3px;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.mljr-audio-viz-type-btn {
|
|
76
|
+
padding: 0.2rem 0.75rem;
|
|
77
|
+
border-radius: var(--mljr-radius-full);
|
|
78
|
+
font-size: 0.8rem;
|
|
79
|
+
cursor: pointer;
|
|
80
|
+
border: none;
|
|
81
|
+
background: transparent;
|
|
82
|
+
color: var(--mljr-text-muted);
|
|
83
|
+
transition: background 150ms, color 150ms;
|
|
84
|
+
white-space: nowrap;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.mljr-audio-viz-type-btn:hover {
|
|
88
|
+
background: var(--mljr-surface-3, var(--mljr-surface));
|
|
89
|
+
color: var(--mljr-text);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.mljr-audio-viz-type-btn-active {
|
|
93
|
+
background: var(--mljr-primary-500);
|
|
94
|
+
color: #fff;
|
|
95
|
+
font-weight: 600;
|
|
96
|
+
}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/* =====================================================
|
|
2
|
+
AutoComplete - Searchable dropdown with suggestions
|
|
3
|
+
===================================================== */
|
|
4
|
+
|
|
5
|
+
.mljr-autocomplete {
|
|
6
|
+
position: relative;
|
|
7
|
+
display: flex;
|
|
8
|
+
flex-direction: column;
|
|
9
|
+
gap: 0.25rem;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.mljr-autocomplete-input-wrapper {
|
|
13
|
+
position: relative;
|
|
14
|
+
display: flex;
|
|
15
|
+
align-items: center;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.mljr-autocomplete-clear {
|
|
19
|
+
position: absolute;
|
|
20
|
+
right: 0.75rem;
|
|
21
|
+
top: 50%;
|
|
22
|
+
transform: translateY(-50%);
|
|
23
|
+
background: none;
|
|
24
|
+
border: none;
|
|
25
|
+
cursor: pointer;
|
|
26
|
+
color: var(--mljr-text-muted);
|
|
27
|
+
display: flex;
|
|
28
|
+
align-items: center;
|
|
29
|
+
padding: 0;
|
|
30
|
+
transition: color var(--mljr-transition-fast);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.mljr-autocomplete-clear:hover {
|
|
34
|
+
color: var(--mljr-text);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/* Dropdown */
|
|
38
|
+
.mljr-autocomplete-dropdown {
|
|
39
|
+
position: absolute;
|
|
40
|
+
top: calc(100% + 0.375rem);
|
|
41
|
+
left: 0;
|
|
42
|
+
right: 0;
|
|
43
|
+
z-index: 50;
|
|
44
|
+
background: var(--mljr-bg);
|
|
45
|
+
border: 1px solid var(--mljr-border);
|
|
46
|
+
border-radius: var(--mljr-radius-md);
|
|
47
|
+
box-shadow: var(--mljr-clay-shadow);
|
|
48
|
+
overflow: hidden;
|
|
49
|
+
max-height: 260px;
|
|
50
|
+
overflow-y: auto;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.mljr-autocomplete-option {
|
|
54
|
+
display: flex;
|
|
55
|
+
align-items: center;
|
|
56
|
+
gap: 0.625rem;
|
|
57
|
+
padding: 0.625rem 0.875rem;
|
|
58
|
+
cursor: pointer;
|
|
59
|
+
font-size: var(--mljr-text-sm);
|
|
60
|
+
transition: background var(--mljr-transition-fast);
|
|
61
|
+
color: var(--mljr-text);
|
|
62
|
+
border: none;
|
|
63
|
+
background: none;
|
|
64
|
+
width: 100%;
|
|
65
|
+
text-align: left;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.mljr-autocomplete-option:hover,
|
|
69
|
+
.mljr-autocomplete-option-highlighted {
|
|
70
|
+
background: var(--mljr-primary-50);
|
|
71
|
+
color: var(--mljr-primary-700);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.mljr-autocomplete-option-selected {
|
|
75
|
+
background: var(--mljr-primary-50);
|
|
76
|
+
color: var(--mljr-primary-600);
|
|
77
|
+
font-weight: 500;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.mljr-autocomplete-option-selected:hover,
|
|
81
|
+
.mljr-autocomplete-option-selected.mljr-autocomplete-option-highlighted {
|
|
82
|
+
background: var(--mljr-primary-100);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.mljr-autocomplete-option-checkmark {
|
|
86
|
+
margin-left: auto;
|
|
87
|
+
color: var(--mljr-primary-500);
|
|
88
|
+
flex-shrink: 0;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.mljr-autocomplete-no-results {
|
|
92
|
+
padding: 1rem 0.875rem;
|
|
93
|
+
font-size: var(--mljr-text-sm);
|
|
94
|
+
color: var(--mljr-text-muted);
|
|
95
|
+
text-align: center;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.mljr-autocomplete-highlight {
|
|
99
|
+
background: var(--mljr-primary-100);
|
|
100
|
+
color: var(--mljr-primary-700);
|
|
101
|
+
border-radius: 2px;
|
|
102
|
+
font-weight: 600;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/* Selected chips (multiple mode) */
|
|
106
|
+
.mljr-autocomplete-chips {
|
|
107
|
+
display: flex;
|
|
108
|
+
flex-wrap: wrap;
|
|
109
|
+
gap: 0.375rem;
|
|
110
|
+
margin-bottom: 0.375rem;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
/* Group header */
|
|
114
|
+
.mljr-autocomplete-group-header {
|
|
115
|
+
padding: 0.375rem 0.875rem;
|
|
116
|
+
font-size: var(--mljr-text-xs);
|
|
117
|
+
font-weight: 600;
|
|
118
|
+
color: var(--mljr-text-muted);
|
|
119
|
+
text-transform: uppercase;
|
|
120
|
+
letter-spacing: 0.05em;
|
|
121
|
+
background: var(--mljr-bg-secondary);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/* Dark mode */
|
|
125
|
+
.dark .mljr-autocomplete-dropdown,
|
|
126
|
+
[data-theme="dark"] .mljr-autocomplete-dropdown {
|
|
127
|
+
background: var(--mljr-bg);
|
|
128
|
+
border-color: var(--mljr-border);
|
|
129
|
+
box-shadow: var(--mljr-clay-shadow);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
.dark .mljr-autocomplete-option:hover,
|
|
133
|
+
.dark .mljr-autocomplete-option-highlighted,
|
|
134
|
+
[data-theme="dark"] .mljr-autocomplete-option:hover,
|
|
135
|
+
[data-theme="dark"] .mljr-autocomplete-option-highlighted {
|
|
136
|
+
background: color-mix(in srgb, var(--mljr-primary-500) 15%, transparent);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
.dark .mljr-autocomplete-highlight,
|
|
140
|
+
[data-theme="dark"] .mljr-autocomplete-highlight {
|
|
141
|
+
background: color-mix(in srgb, var(--mljr-primary-500) 20%, transparent);
|
|
142
|
+
color: var(--mljr-primary-300);
|
|
143
|
+
}
|