@magmonium/one 0.0.3 → 0.0.5
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/package.json +9 -2
- package/sass/_date-picker.sass +147 -0
- package/sass/_index.sass +34 -0
- package/sass/_input-date.sass +25 -0
- package/sass/_m-components.sass +110 -0
- package/sass/_menu.sass +132 -0
- package/sass/_reset.sass +186 -0
- package/sass/animations/_index.sass +13 -0
- package/sass/animations/_registry.sass +51 -0
- package/sass/animations/background/_energy.sass +91 -0
- package/sass/animations/background/_gradient.sass +104 -0
- package/sass/animations/background/_index.sass +9 -0
- package/sass/animations/background/_nature.sass +110 -0
- package/sass/animations/background/_new-effects.sass +292 -0
- package/sass/animations/background/_particle.sass +122 -0
- package/sass/animations/background/_tech.sass +124 -0
- package/sass/functions/_functions.sass +107 -0
- package/sass/mixins/_backdrops.sass +230 -0
- package/sass/mixins/_backgrounds.sass +214 -0
- package/sass/mixins/_borders.sass +93 -0
- package/sass/mixins/_breakpoints.sass +68 -0
- package/sass/mixins/_button.sass +46 -0
- package/sass/mixins/_checkbox.sass +128 -0
- package/sass/mixins/_colors.sass +121 -0
- package/sass/mixins/_control.sass +13 -0
- package/sass/mixins/_device.sass +22 -0
- package/sass/mixins/_display.sass +210 -0
- package/sass/mixins/_flex.sass +104 -0
- package/sass/mixins/_form.sass +68 -0
- package/sass/mixins/_grid.sass +273 -0
- package/sass/mixins/_header.sass +71 -0
- package/sass/mixins/_index.sass +29 -0
- package/sass/mixins/_input.sass +132 -0
- package/sass/mixins/_interactive.sass +19 -0
- package/sass/mixins/_label.sass +25 -0
- package/sass/mixins/_layout.sass +251 -0
- package/sass/mixins/_links.sass +85 -0
- package/sass/mixins/_lists.sass +377 -0
- package/sass/mixins/_overflow.sass +121 -0
- package/sass/mixins/_position.sass +181 -0
- package/sass/mixins/_radio.sass +205 -0
- package/sass/mixins/_sizing.sass +181 -0
- package/sass/mixins/_spacing.sass +59 -0
- package/sass/mixins/_text.sass +159 -0
- package/sass/mixins/_toggle.sass +240 -0
- package/sass/mixins/_typography.sass +6 -0
- package/sass/mixins/_utilities.sass +70 -0
- package/sass/utilities/_backdrops.sass +228 -0
- package/sass/utilities/_backgrounds.sass +285 -0
- package/sass/utilities/_borders.sass +138 -0
- package/sass/utilities/_colors.sass +166 -0
- package/sass/utilities/_display.sass +308 -0
- package/sass/utilities/_flex.sass +91 -0
- package/sass/utilities/_grid.sass +502 -0
- package/sass/utilities/_index.sass +17 -0
- package/sass/utilities/_input.sass +14 -0
- package/sass/utilities/_links.sass +136 -0
- package/sass/utilities/_lists.sass +4 -0
- package/sass/utilities/_popup.sass +73 -0
- package/sass/utilities/_position.sass +88 -0
- package/sass/utilities/_sizing.sass +277 -0
- package/sass/utilities/_spacing.sass +121 -0
- package/sass/utilities/_text.sass +207 -0
- package/sass/variables/_animations.sass +5 -0
- package/sass/variables/_borders.sass +25 -0
- package/sass/variables/_colors.sass +93 -0
- package/sass/variables/_index.sass +6 -0
- package/sass/variables/_number.sass +1 -0
- package/sass/variables/_spacing.sass +28 -0
- package/sass/variables/_typography.sass +40 -0
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
@use 'flex' as flex
|
|
2
|
+
@use '../functions/functions' as f
|
|
3
|
+
|
|
4
|
+
// Base mixin using only the 4 required CSS variables
|
|
5
|
+
=toggle-container-base
|
|
6
|
+
display: inline-flex
|
|
7
|
+
align-items: center
|
|
8
|
+
$size: 1em
|
|
9
|
+
gap: #{f.derive-control-gap($size)}
|
|
10
|
+
cursor: pointer
|
|
11
|
+
user-select: none
|
|
12
|
+
position: relative
|
|
13
|
+
|
|
14
|
+
input[type="checkbox"]
|
|
15
|
+
appearance: none
|
|
16
|
+
-webkit-appearance: none
|
|
17
|
+
-moz-appearance: none
|
|
18
|
+
position: relative
|
|
19
|
+
width: calc(#{$size} * 1.6)
|
|
20
|
+
height: #{$size}
|
|
21
|
+
background-color: color-mix(in srgb, var(--m-toggle-input-color, #4169e1) 15%, transparent 85%)
|
|
22
|
+
border-radius: calc(#{$size} / 2)
|
|
23
|
+
border: #{f.derive-control-border($size)} solid color-mix(in srgb, var(--m-toggle-input-color, #4169e1) 20%, transparent 80%)
|
|
24
|
+
cursor: pointer
|
|
25
|
+
outline: none
|
|
26
|
+
box-sizing: content-box
|
|
27
|
+
flex-shrink: 0
|
|
28
|
+
margin: 0
|
|
29
|
+
transition: background-color 0.25s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.2s ease
|
|
30
|
+
will-change: background-color, box-shadow
|
|
31
|
+
|
|
32
|
+
// Thumb (slider button)
|
|
33
|
+
&::after
|
|
34
|
+
content: ''
|
|
35
|
+
position: absolute
|
|
36
|
+
top: calc(1em / 8)
|
|
37
|
+
left: calc(1em / 8)
|
|
38
|
+
width: calc(1em * 0.75)
|
|
39
|
+
height: calc(1em * 0.75)
|
|
40
|
+
background-color: var(--m-toggle-input-color-contrast, #ffffff)
|
|
41
|
+
border-radius: 50%
|
|
42
|
+
transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.15s ease
|
|
43
|
+
will-change: transform
|
|
44
|
+
box-shadow: 0 calc(1em / 10) calc(1em / 6) rgba(0, 0, 0, 0.2), 0 calc(1em / 20) calc(1em / 12) rgba(0, 0, 0, 0.1)
|
|
45
|
+
|
|
46
|
+
label
|
|
47
|
+
font-size: calc(1em * 0.8)
|
|
48
|
+
line-height: 1.2
|
|
49
|
+
cursor: pointer
|
|
50
|
+
margin: 0
|
|
51
|
+
color: color-mix(in srgb, var(--m-toggle-input-color, #4169e1) 70%, black 30%)
|
|
52
|
+
transition: color 0.2s ease, font-weight 0.15s ease
|
|
53
|
+
|
|
54
|
+
// Interactive states using only the 4 variables
|
|
55
|
+
=toggle-container-states
|
|
56
|
+
input[type="checkbox"]
|
|
57
|
+
// Hover state
|
|
58
|
+
&:hover:not(:disabled)
|
|
59
|
+
background-color: color-mix(in srgb, var(--m-toggle-input-color, #4169e1) 25%, transparent 75%)
|
|
60
|
+
border-color: color-mix(in srgb, var(--m-toggle-input-color, #4169e1) 40%, transparent 60%)
|
|
61
|
+
|
|
62
|
+
&::after
|
|
63
|
+
box-shadow: 0 calc(1em / 8) calc(1em / 5) rgba(0, 0, 0, 0.25), 0 calc(1em / 16) calc(1em / 10) rgba(0, 0, 0, 0.15)
|
|
64
|
+
|
|
65
|
+
// Focus state
|
|
66
|
+
&:focus
|
|
67
|
+
box-shadow: 0 0 0 calc(1em / 5) color-mix(in srgb, var(--m-toggle-input-color, #4169e1) 20%, transparent 80%)
|
|
68
|
+
outline: none
|
|
69
|
+
|
|
70
|
+
// Active/pressed state
|
|
71
|
+
&:active:not(:disabled)
|
|
72
|
+
&::after
|
|
73
|
+
transform: scaleX(1.15)
|
|
74
|
+
|
|
75
|
+
// Checked state
|
|
76
|
+
&:checked
|
|
77
|
+
background-color: var(--m-toggle-input-color, #4169e1)
|
|
78
|
+
border-color: var(--m-toggle-input-color, #4169e1)
|
|
79
|
+
|
|
80
|
+
&::after
|
|
81
|
+
transform: translateX(calc(1em * 0.6))
|
|
82
|
+
background-color: var(--m-toggle-input-color-contrast, #ffffff)
|
|
83
|
+
|
|
84
|
+
&:hover:not(:disabled)
|
|
85
|
+
background-color: color-mix(in srgb, var(--m-toggle-input-color, #4169e1) 90%, black 10%)
|
|
86
|
+
border-color: color-mix(in srgb, var(--m-toggle-input-color, #4169e1) 90%, black 10%)
|
|
87
|
+
|
|
88
|
+
&:active:not(:disabled)
|
|
89
|
+
&::after
|
|
90
|
+
transform: translateX(calc(1em * 0.6)) scaleX(1.15)
|
|
91
|
+
|
|
92
|
+
&:focus
|
|
93
|
+
box-shadow: 0 0 0 calc(1em / 5) color-mix(in srgb, var(--m-toggle-input-color, #4169e1) 25%, transparent 75%)
|
|
94
|
+
|
|
95
|
+
// Label changes when checked
|
|
96
|
+
+ label
|
|
97
|
+
color: var(--m-toggle-input-color, #4169e1)
|
|
98
|
+
|
|
99
|
+
// Disabled state
|
|
100
|
+
&:disabled
|
|
101
|
+
opacity: 0.5
|
|
102
|
+
cursor: not-allowed
|
|
103
|
+
background-color: color-mix(in srgb, var(--m-toggle-input-color, #4169e1) 10%, transparent 90%)
|
|
104
|
+
border-color: color-mix(in srgb, var(--m-toggle-input-color, #4169e1) 15%, transparent 85%)
|
|
105
|
+
|
|
106
|
+
+ label
|
|
107
|
+
opacity: 0.5
|
|
108
|
+
cursor: not-allowed
|
|
109
|
+
|
|
110
|
+
&:checked
|
|
111
|
+
background-color: color-mix(in srgb, var(--m-toggle-input-color, #4169e1) 50%, transparent 50%)
|
|
112
|
+
|
|
113
|
+
// Complete toggle container mixin
|
|
114
|
+
=toggle-container
|
|
115
|
+
+toggle-container-base
|
|
116
|
+
+toggle-container-states
|
|
117
|
+
|
|
118
|
+
// Label position variants
|
|
119
|
+
=toggle-container-label-left
|
|
120
|
+
flex-direction: row-reverse
|
|
121
|
+
|
|
122
|
+
=toggle-container-label-right
|
|
123
|
+
flex-direction: row
|
|
124
|
+
|
|
125
|
+
=toggle-container-label-top
|
|
126
|
+
flex-direction: column-reverse
|
|
127
|
+
align-items: flex-start
|
|
128
|
+
|
|
129
|
+
=toggle-container-label-bottom
|
|
130
|
+
flex-direction: column
|
|
131
|
+
align-items: flex-start
|
|
132
|
+
|
|
133
|
+
// Toggle with icons
|
|
134
|
+
=toggle-container-with-icons
|
|
135
|
+
input[type="checkbox"]
|
|
136
|
+
&::before
|
|
137
|
+
content: attr(data-icon-off)
|
|
138
|
+
position: absolute
|
|
139
|
+
left: calc(1em / 3.5)
|
|
140
|
+
top: 50%
|
|
141
|
+
transform: translateY(-50%)
|
|
142
|
+
font-size: calc(1em * 0.5)
|
|
143
|
+
opacity: 0.7
|
|
144
|
+
transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s ease
|
|
145
|
+
z-index: 1
|
|
146
|
+
pointer-events: none
|
|
147
|
+
color: color-mix(in srgb, var(--m-toggle-input-color, #4169e1) 60%, black 40%)
|
|
148
|
+
|
|
149
|
+
&::after
|
|
150
|
+
z-index: 2
|
|
151
|
+
|
|
152
|
+
&:checked::before
|
|
153
|
+
content: attr(data-icon-on)
|
|
154
|
+
left: auto
|
|
155
|
+
right: calc(1em / 3.5)
|
|
156
|
+
opacity: 1
|
|
157
|
+
color: var(--m-toggle-input-color-contrast, #ffffff)
|
|
158
|
+
|
|
159
|
+
&:hover:not(:disabled)::before
|
|
160
|
+
opacity: 0.9
|
|
161
|
+
|
|
162
|
+
// Toggle with opposite color thumb when checked
|
|
163
|
+
=toggle-container-opposite-thumb
|
|
164
|
+
input[type="checkbox"]
|
|
165
|
+
&:checked
|
|
166
|
+
&::after
|
|
167
|
+
background-color: var(--m-toggle-input-color-opposite, #e1b941)
|
|
168
|
+
box-shadow: 0 calc(1em / 10) calc(1em / 6) color-mix(in srgb, var(--m-toggle-input-color-opposite, #e1b941) 30%, black 70%), 0 calc(1em / 20) calc(1em / 12) rgba(0, 0, 0, 0.1)
|
|
169
|
+
|
|
170
|
+
&:hover:not(:disabled)::after
|
|
171
|
+
background-color: color-mix(in srgb, var(--m-toggle-input-color-opposite, #e1b941) 95%, white 5%)
|
|
172
|
+
|
|
173
|
+
// Toggle with gradient background
|
|
174
|
+
=toggle-container-gradient
|
|
175
|
+
input[type="checkbox"]
|
|
176
|
+
&:checked
|
|
177
|
+
background: linear-gradient(135deg, var(--m-toggle-input-color, #4169e1) 0%, color-mix(in srgb, var(--m-toggle-input-color, #4169e1) 70%, var(--m-toggle-input-color-opposite, #e1b941) 30%) 100%)
|
|
178
|
+
border-color: transparent
|
|
179
|
+
|
|
180
|
+
&:hover:not(:disabled)
|
|
181
|
+
background: linear-gradient(135deg, color-mix(in srgb, var(--m-toggle-input-color, #4169e1) 90%, black 10%) 0%, color-mix(in srgb, var(--m-toggle-input-color, #4169e1) 65%, var(--m-toggle-input-color-opposite, #e1b941) 35%) 100%)
|
|
182
|
+
|
|
183
|
+
// Opposite color track when unchecked
|
|
184
|
+
=toggle-container-opposite-track
|
|
185
|
+
input[type="checkbox"]
|
|
186
|
+
&:not(:checked)
|
|
187
|
+
background-color: color-mix(in srgb, var(--m-toggle-input-color-opposite, #e1b941) 15%, transparent 85%)
|
|
188
|
+
border-color: color-mix(in srgb, var(--m-toggle-input-color-opposite, #e1b941) 20%, transparent 80%)
|
|
189
|
+
|
|
190
|
+
&:hover:not(:disabled)
|
|
191
|
+
background-color: color-mix(in srgb, var(--m-toggle-input-color-opposite, #e1b941) 25%, transparent 75%)
|
|
192
|
+
border-color: color-mix(in srgb, var(--m-toggle-input-color-opposite, #e1b941) 40%, transparent 60%)
|
|
193
|
+
|
|
194
|
+
// Animated toggle with smooth transitions
|
|
195
|
+
=toggle-container-animated
|
|
196
|
+
input[type="checkbox"]
|
|
197
|
+
&:checked
|
|
198
|
+
animation: toggle-pulse 0.4s cubic-bezier(0.4, 0, 0.2, 1)
|
|
199
|
+
|
|
200
|
+
&::after
|
|
201
|
+
animation: thumb-slide 0.3s cubic-bezier(0.4, 0, 0.2, 1)
|
|
202
|
+
|
|
203
|
+
@keyframes toggle-pulse
|
|
204
|
+
0%, 100%
|
|
205
|
+
transform: scale(1)
|
|
206
|
+
50%
|
|
207
|
+
transform: scale(1.02)
|
|
208
|
+
|
|
209
|
+
@keyframes thumb-slide
|
|
210
|
+
0%
|
|
211
|
+
transform: translateX(0) scale(1)
|
|
212
|
+
50%
|
|
213
|
+
transform: translateX(calc(1em * 0.3)) scale(0.9)
|
|
214
|
+
100%
|
|
215
|
+
transform: translateX(calc(1em * 0.6)) scale(1)
|
|
216
|
+
|
|
217
|
+
// Toggle with enhanced shadow using input color
|
|
218
|
+
=toggle-container-shadow
|
|
219
|
+
input[type="checkbox"]
|
|
220
|
+
&:checked
|
|
221
|
+
box-shadow: 0 calc(1em / 10) calc(1em / 5) color-mix(in srgb, var(--m-toggle-input-color, #4169e1) 30%, transparent 70%)
|
|
222
|
+
|
|
223
|
+
&:hover:not(:disabled)
|
|
224
|
+
box-shadow: 0 calc(1em / 8) calc(1em / 4) color-mix(in srgb, var(--m-toggle-input-color, #4169e1) 35%, transparent 65%)
|
|
225
|
+
|
|
226
|
+
// Pill-shaped toggle with rounder appearance
|
|
227
|
+
=toggle-container-pill
|
|
228
|
+
input[type="checkbox"]
|
|
229
|
+
width: calc(1em * 2)
|
|
230
|
+
border-radius: calc(1em * 0.6)
|
|
231
|
+
|
|
232
|
+
&::after
|
|
233
|
+
border-radius: calc(1em * 0.4)
|
|
234
|
+
width: calc(1em * 0.8)
|
|
235
|
+
height: calc(1em * 0.8)
|
|
236
|
+
top: calc(1em * 0.1)
|
|
237
|
+
left: calc(1em * 0.1)
|
|
238
|
+
|
|
239
|
+
&:checked::after
|
|
240
|
+
transform: translateX(calc(1em * 1))
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
@use 'sass:color'
|
|
2
|
+
// Utility Mixins
|
|
3
|
+
@use '../variables/colors' as *
|
|
4
|
+
@use '../variables/spacing' as *
|
|
5
|
+
|
|
6
|
+
// Note: Flexbox utilities have been moved to mixins/_flex.sass
|
|
7
|
+
|
|
8
|
+
// Note: Text utilities have been moved to mixins/_text.sass
|
|
9
|
+
|
|
10
|
+
// Visual Utilities
|
|
11
|
+
@mixin box-shadow($shadow: 0 0.125rem 0.25rem rgba($black, 0.075))
|
|
12
|
+
box-shadow: $shadow
|
|
13
|
+
|
|
14
|
+
@mixin transition($property: all, $duration: 0.15s, $timing-function: ease-in-out)
|
|
15
|
+
transition: $property $duration $timing-function
|
|
16
|
+
|
|
17
|
+
// Note: Position utilities have been moved to mixins/_position.sass
|
|
18
|
+
// Note: Size utilities have been moved to mixins/_sizing.sass
|
|
19
|
+
|
|
20
|
+
// Spacing Utilities
|
|
21
|
+
@mixin margin($top: 0, $right: 0, $bottom: 0, $left: 0)
|
|
22
|
+
margin: $top $right $bottom $left
|
|
23
|
+
|
|
24
|
+
@mixin padding($top: 0, $right: 0, $bottom: 0, $left: 0)
|
|
25
|
+
padding: $top $right $bottom $left
|
|
26
|
+
|
|
27
|
+
// Button Utilities
|
|
28
|
+
@mixin button-variant($color, $background, $border)
|
|
29
|
+
color: $color
|
|
30
|
+
background-color: $background
|
|
31
|
+
border-color: $border
|
|
32
|
+
|
|
33
|
+
&:hover
|
|
34
|
+
color: $color
|
|
35
|
+
background-color: color.adjust($background, $lightness: -7.5%)
|
|
36
|
+
border-color: color.adjust($border, $lightness: -10%)
|
|
37
|
+
|
|
38
|
+
&:focus,
|
|
39
|
+
&.focus
|
|
40
|
+
color: $color
|
|
41
|
+
background-color: color.adjust($background, $lightness: -7.5%)
|
|
42
|
+
border-color: color.adjust($border, $lightness: -10%)
|
|
43
|
+
box-shadow: 0 0 0 0.2rem rgba($border, 0.5)
|
|
44
|
+
|
|
45
|
+
&:active,
|
|
46
|
+
&.active
|
|
47
|
+
color: $color
|
|
48
|
+
background-color: color.adjust($background, $lightness: -10%)
|
|
49
|
+
border-color: color.adjust($border, $lightness: -12.5%)
|
|
50
|
+
|
|
51
|
+
&:disabled,
|
|
52
|
+
&.disabled
|
|
53
|
+
color: $color
|
|
54
|
+
background-color: $background
|
|
55
|
+
border-color: $border
|
|
56
|
+
opacity: 0.65
|
|
57
|
+
|
|
58
|
+
// Opacity Utility
|
|
59
|
+
@mixin opacity($value)
|
|
60
|
+
opacity: $value
|
|
61
|
+
|
|
62
|
+
// Note: Backdrop utilities have been moved to mixins/_backdrops.sass
|
|
63
|
+
|
|
64
|
+
=rounded($radius)
|
|
65
|
+
border-radius: $radius
|
|
66
|
+
|
|
67
|
+
=center
|
|
68
|
+
display: flex
|
|
69
|
+
align-items: center
|
|
70
|
+
justify-content: center
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
// Backdrop utility classes derived from mixins
|
|
2
|
+
@use '../mixins/backdrops' as backdrop
|
|
3
|
+
|
|
4
|
+
// Standard backdrop effects
|
|
5
|
+
.standard-backdrop
|
|
6
|
+
@include backdrop.standard-backdrop
|
|
7
|
+
|
|
8
|
+
.glass-backdrop
|
|
9
|
+
@include backdrop.glass-backdrop
|
|
10
|
+
|
|
11
|
+
.frosted-backdrop
|
|
12
|
+
@include backdrop.frosted-backdrop
|
|
13
|
+
|
|
14
|
+
.theme-backdrop
|
|
15
|
+
@include backdrop.theme-backdrop
|
|
16
|
+
|
|
17
|
+
.tinted-backdrop
|
|
18
|
+
@include backdrop.tinted-backdrop
|
|
19
|
+
|
|
20
|
+
// Blur variations
|
|
21
|
+
.backdrop-blur-none
|
|
22
|
+
@include backdrop.backdrop-blur-none
|
|
23
|
+
|
|
24
|
+
.backdrop-blur-sm
|
|
25
|
+
@include backdrop.backdrop-blur-sm
|
|
26
|
+
|
|
27
|
+
.backdrop-blur
|
|
28
|
+
@include backdrop.backdrop-blur
|
|
29
|
+
|
|
30
|
+
.backdrop-blur-md
|
|
31
|
+
@include backdrop.backdrop-blur-md
|
|
32
|
+
|
|
33
|
+
.backdrop-blur-lg
|
|
34
|
+
@include backdrop.backdrop-blur-lg
|
|
35
|
+
|
|
36
|
+
.backdrop-blur-xl
|
|
37
|
+
@include backdrop.backdrop-blur-xl
|
|
38
|
+
|
|
39
|
+
.backdrop-blur-2xl
|
|
40
|
+
@include backdrop.backdrop-blur-2xl
|
|
41
|
+
|
|
42
|
+
.backdrop-blur-3xl
|
|
43
|
+
@include backdrop.backdrop-blur-3xl
|
|
44
|
+
|
|
45
|
+
// Brightness variations
|
|
46
|
+
.backdrop-brightness-50
|
|
47
|
+
@include backdrop.backdrop-brightness-50
|
|
48
|
+
|
|
49
|
+
.backdrop-brightness-75
|
|
50
|
+
@include backdrop.backdrop-brightness-75
|
|
51
|
+
|
|
52
|
+
.backdrop-brightness-125
|
|
53
|
+
@include backdrop.backdrop-brightness-125
|
|
54
|
+
|
|
55
|
+
.backdrop-brightness-150
|
|
56
|
+
@include backdrop.backdrop-brightness-150
|
|
57
|
+
|
|
58
|
+
// Contrast variations
|
|
59
|
+
.backdrop-contrast-50
|
|
60
|
+
@include backdrop.backdrop-contrast-50
|
|
61
|
+
|
|
62
|
+
.backdrop-contrast-75
|
|
63
|
+
@include backdrop.backdrop-contrast-75
|
|
64
|
+
|
|
65
|
+
.backdrop-contrast-125
|
|
66
|
+
@include backdrop.backdrop-contrast-125
|
|
67
|
+
|
|
68
|
+
.backdrop-contrast-150
|
|
69
|
+
@include backdrop.backdrop-contrast-150
|
|
70
|
+
|
|
71
|
+
// Saturation variations
|
|
72
|
+
.backdrop-saturate-50
|
|
73
|
+
@include backdrop.backdrop-saturate-50
|
|
74
|
+
|
|
75
|
+
.backdrop-saturate-150
|
|
76
|
+
@include backdrop.backdrop-saturate-150
|
|
77
|
+
|
|
78
|
+
.backdrop-saturate-200
|
|
79
|
+
@include backdrop.backdrop-saturate-200
|
|
80
|
+
|
|
81
|
+
// Combined glass effects
|
|
82
|
+
.backdrop-glass-enhanced
|
|
83
|
+
@include backdrop.backdrop-glass-enhanced
|
|
84
|
+
|
|
85
|
+
.backdrop-frosted-glass
|
|
86
|
+
@include backdrop.backdrop-frosted-glass
|
|
87
|
+
|
|
88
|
+
// Modal and overlay backdrops
|
|
89
|
+
.modal-backdrop
|
|
90
|
+
@include backdrop.modal-backdrop
|
|
91
|
+
|
|
92
|
+
.overlay-backdrop
|
|
93
|
+
@include backdrop.overlay-backdrop
|
|
94
|
+
|
|
95
|
+
.popup-backdrop
|
|
96
|
+
@include backdrop.popup-backdrop
|
|
97
|
+
|
|
98
|
+
// Navigation backdrops
|
|
99
|
+
.nav-backdrop
|
|
100
|
+
@include backdrop.nav-backdrop
|
|
101
|
+
|
|
102
|
+
.sidebar-backdrop
|
|
103
|
+
@include backdrop.sidebar-backdrop
|
|
104
|
+
|
|
105
|
+
// Card and surface backdrops
|
|
106
|
+
.card-backdrop
|
|
107
|
+
@include backdrop.card-backdrop
|
|
108
|
+
|
|
109
|
+
.surface-backdrop
|
|
110
|
+
@include backdrop.surface-backdrop
|
|
111
|
+
|
|
112
|
+
// Themed backdrops
|
|
113
|
+
.backdrop-adaptive
|
|
114
|
+
@include backdrop.backdrop-theme-adaptive
|
|
115
|
+
|
|
116
|
+
.backdrop-adaptive-light
|
|
117
|
+
@include backdrop.backdrop-theme-adaptive(rgba(255, 255, 255, 0.3))
|
|
118
|
+
|
|
119
|
+
.backdrop-adaptive-heavy
|
|
120
|
+
@include backdrop.backdrop-theme-adaptive(rgba(255, 255, 255, 0.5))
|
|
121
|
+
|
|
122
|
+
// Disable backdrop
|
|
123
|
+
.backdrop-none
|
|
124
|
+
@include backdrop.backdrop-none
|
|
125
|
+
|
|
126
|
+
// Fallback for unsupported browsers
|
|
127
|
+
.backdrop-fallback
|
|
128
|
+
@include backdrop.backdrop-fallback
|
|
129
|
+
|
|
130
|
+
.backdrop-fallback-light
|
|
131
|
+
@include backdrop.backdrop-fallback(rgba(255, 255, 255, 0.95))
|
|
132
|
+
|
|
133
|
+
.backdrop-fallback-dark
|
|
134
|
+
@include backdrop.backdrop-fallback(rgba(0, 0, 0, 0.85))
|
|
135
|
+
|
|
136
|
+
// Print safe backdrops
|
|
137
|
+
.backdrop-print-safe
|
|
138
|
+
@include backdrop.backdrop-print-safe
|
|
139
|
+
|
|
140
|
+
// Reduced motion backdrops
|
|
141
|
+
.backdrop-reduced-motion
|
|
142
|
+
@include backdrop.backdrop-reduced-motion
|
|
143
|
+
|
|
144
|
+
// Component-specific backdrops
|
|
145
|
+
.menu-backdrop
|
|
146
|
+
@include backdrop.sidebar-backdrop
|
|
147
|
+
|
|
148
|
+
.dropdown-backdrop
|
|
149
|
+
@include backdrop.popup-backdrop
|
|
150
|
+
|
|
151
|
+
.dialog-backdrop
|
|
152
|
+
@include backdrop.modal-backdrop
|
|
153
|
+
|
|
154
|
+
.toast-backdrop
|
|
155
|
+
@include backdrop.glass-backdrop
|
|
156
|
+
|
|
157
|
+
.tooltip-backdrop
|
|
158
|
+
@include backdrop.surface-backdrop
|
|
159
|
+
|
|
160
|
+
// Intensity variations
|
|
161
|
+
.backdrop-subtle
|
|
162
|
+
@include backdrop.backdrop(5px, 0.9, rgba(255, 255, 255, 0.05))
|
|
163
|
+
|
|
164
|
+
.backdrop-medium
|
|
165
|
+
@include backdrop.backdrop(12px, 0.8, rgba(255, 255, 255, 0.15))
|
|
166
|
+
|
|
167
|
+
.backdrop-strong
|
|
168
|
+
@include backdrop.backdrop(25px, 0.7, rgba(255, 255, 255, 0.25))
|
|
169
|
+
|
|
170
|
+
// Color-themed backdrops
|
|
171
|
+
.backdrop-blue
|
|
172
|
+
@include backdrop.tinted-backdrop(rgba(0, 123, 255, 0.1))
|
|
173
|
+
|
|
174
|
+
.backdrop-green
|
|
175
|
+
@include backdrop.tinted-backdrop(rgba(40, 167, 69, 0.1))
|
|
176
|
+
|
|
177
|
+
.backdrop-red
|
|
178
|
+
@include backdrop.tinted-backdrop(rgba(220, 53, 69, 0.1))
|
|
179
|
+
|
|
180
|
+
.backdrop-yellow
|
|
181
|
+
@include backdrop.tinted-backdrop(rgba(255, 193, 7, 0.1))
|
|
182
|
+
|
|
183
|
+
.backdrop-purple
|
|
184
|
+
@include backdrop.tinted-backdrop(rgba(102, 16, 242, 0.1))
|
|
185
|
+
|
|
186
|
+
// Interactive states
|
|
187
|
+
.backdrop-hover
|
|
188
|
+
transition: all 0.3s ease-in-out
|
|
189
|
+
|
|
190
|
+
&:hover
|
|
191
|
+
@include backdrop.glass-backdrop
|
|
192
|
+
|
|
193
|
+
.backdrop-focus
|
|
194
|
+
&:focus
|
|
195
|
+
@include backdrop.frosted-backdrop
|
|
196
|
+
|
|
197
|
+
// Responsive backdrops
|
|
198
|
+
@media (max-width: 768px)
|
|
199
|
+
.backdrop-mobile-only
|
|
200
|
+
@include backdrop.standard-backdrop
|
|
201
|
+
|
|
202
|
+
.backdrop-mobile-light
|
|
203
|
+
@include backdrop.backdrop(8px, 0.9, rgba(255, 255, 255, 0.1))
|
|
204
|
+
|
|
205
|
+
@media (min-width: 769px)
|
|
206
|
+
.backdrop-desktop-only
|
|
207
|
+
@include backdrop.glass-backdrop
|
|
208
|
+
|
|
209
|
+
.backdrop-desktop-strong
|
|
210
|
+
@include backdrop.frosted-backdrop
|
|
211
|
+
|
|
212
|
+
// Animation classes (for JavaScript control)
|
|
213
|
+
.backdrop-animate-in
|
|
214
|
+
opacity: 0
|
|
215
|
+
backdrop-filter: blur(0px)
|
|
216
|
+
transition: all 0.3s ease-out
|
|
217
|
+
|
|
218
|
+
&.active
|
|
219
|
+
opacity: 1
|
|
220
|
+
@include backdrop.standard-backdrop
|
|
221
|
+
|
|
222
|
+
.backdrop-animate-out
|
|
223
|
+
@include backdrop.standard-backdrop
|
|
224
|
+
transition: all 0.3s ease-in
|
|
225
|
+
|
|
226
|
+
&.hiding
|
|
227
|
+
opacity: 0
|
|
228
|
+
backdrop-filter: blur(0px)
|