@filip.mazev/blocks 1.4.3 → 1.4.4
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 +1 -1
- package/_index.scss +1 -1
- package/core/styles/_field-state.scss +16 -4
- package/core/styles/_index.scss +0 -1
- package/core/styles/_mixins.scss +2 -2
- package/core/styles/_motion.scss +1 -1
- package/core/styles/_palettes.scss +127 -132
- package/core/styles/_slider.scss +158 -40
- package/core/styles/_theme-engine.scss +43 -63
- package/core/styles/_utilities.scss +3 -4
- package/core/styles/_validation.scss +6 -1
- package/core/styles/_variables.scss +24 -14
- package/core/styles/themes/_cyberpunk-theme.scss +1 -1
- package/core/styles/themes/_green-theme.scss +1 -1
- package/core/styles/themes/_high-contrast-theme.scss +152 -133
- package/core/styles/themes/_orange-theme.scss +1 -1
- package/core/styles/themes/_purple-theme.scss +1 -1
- package/core/styles/themes/_red-theme.scss +1 -1
- package/core/styles/themes/_white-theme.scss +26 -20
- package/effects/README.md +5 -9
- package/effects/effects.css +200 -121
- package/effects/runtime/README.md +19 -11
- package/fesm2022/filip.mazev-blocks-core.mjs +27 -22
- package/fesm2022/filip.mazev-blocks-core.mjs.map +1 -1
- package/fesm2022/filip.mazev-blocks-effects-runtime.mjs +887 -67
- package/fesm2022/filip.mazev-blocks-effects-runtime.mjs.map +1 -1
- package/fesm2022/filip.mazev-blocks-effects.mjs +8 -48
- package/fesm2022/filip.mazev-blocks-effects.mjs.map +1 -1
- package/fesm2022/filip.mazev-blocks-forms.mjs +65 -61
- package/fesm2022/filip.mazev-blocks-forms.mjs.map +1 -1
- package/fesm2022/filip.mazev-blocks-modal.mjs +29 -32
- package/fesm2022/filip.mazev-blocks-modal.mjs.map +1 -1
- package/fesm2022/filip.mazev-blocks-navigation.mjs +35 -1
- package/fesm2022/filip.mazev-blocks-navigation.mjs.map +1 -1
- package/fesm2022/filip.mazev-blocks-primitives.mjs +106 -32
- package/fesm2022/filip.mazev-blocks-primitives.mjs.map +1 -1
- package/fesm2022/filip.mazev-blocks-toastr.mjs +5 -7
- package/fesm2022/filip.mazev-blocks-toastr.mjs.map +1 -1
- package/fesm2022/filip.mazev-blocks.mjs +1 -1
- package/fesm2022/filip.mazev-blocks.mjs.map +1 -1
- package/navigation/README.md +44 -0
- package/package.json +1 -1
- package/schematics/ng-add/index.js +4 -1
- package/types/filip.mazev-blocks-core.d.ts +3 -4
- package/types/filip.mazev-blocks-effects-runtime.d.ts +10 -8
- package/types/filip.mazev-blocks-effects.d.ts +5 -17
- package/types/filip.mazev-blocks-forms.d.ts +13 -11
- package/types/filip.mazev-blocks-modal.d.ts +1 -0
- package/types/filip.mazev-blocks-navigation.d.ts +21 -5
- package/types/filip.mazev-blocks-primitives.d.ts +10 -0
- package/types/filip.mazev-blocks-toastr.d.ts +4 -4
- package/types/filip.mazev-blocks.d.ts +1 -1
package/README.md
CHANGED
|
@@ -49,7 +49,7 @@ Then, manually configure your styles.scss:
|
|
|
49
49
|
|
|
50
50
|
## Appearance
|
|
51
51
|
|
|
52
|
-
Version 1.4.0 integrates glass throughout Blocks using its existing semantic theme. Configure it application-wide through `ThemingService.setAppearance({
|
|
52
|
+
Version 1.4.0 integrates glass throughout Blocks using its existing semantic theme. Configure it application-wide through `ThemingService.setAppearance({ glassiness: 0.5 })`; use `resetAppearance()` for defaults. Existing controls receive their material automatically, including menus, dialogs and notifications.
|
|
53
53
|
|
|
54
54
|
Load `@filip.mazev/blocks/effects/effects.css` once globally alongside the Blocks Sass theme. `ng add` registers the stylesheet for new installations. `BxSurfaceDirective` from `@filip.mazev/blocks/effects` is available for custom containers and local overrides. The framework-independent engine is `@filip.mazev/blocks/effects/runtime`, included in the same package.
|
|
55
55
|
|
package/_index.scss
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@forward './core/styles/index';
|
|
1
|
+
@forward './core/styles/index';
|
|
@@ -3,25 +3,37 @@
|
|
|
3
3
|
// Shared by native projected fields and Blocks input, search and select controls.
|
|
4
4
|
@mixin glass-field {
|
|
5
5
|
--bx-glass-surface: var(--bx-bg-neutral);
|
|
6
|
-
--bx-glass-min-opacity: .45;
|
|
6
|
+
--bx-glass-min-opacity: 0.45;
|
|
7
7
|
--bx-glass-edge: var(--bx-border-default);
|
|
8
8
|
--bx-glass-shadow: none;
|
|
9
|
+
|
|
9
10
|
border: 1px solid var(--bx-glass-edge);
|
|
10
11
|
border-radius: radius(lg);
|
|
11
|
-
|
|
12
|
-
|
|
12
|
+
|
|
13
|
+
&::after {
|
|
14
|
+
display: none;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
&:focus-within:not(.is-disabled, :disabled),
|
|
18
|
+
&:focus-visible:not(:disabled),
|
|
19
|
+
&.is-open:not(:disabled) {
|
|
13
20
|
--bx-glass-edge: var(--bx-border-brand);
|
|
21
|
+
|
|
14
22
|
outline: 2px solid var(--bx-border-brand);
|
|
15
23
|
outline-offset: -2px;
|
|
24
|
+
|
|
16
25
|
--bx-glass-shadow: none;
|
|
17
26
|
}
|
|
18
27
|
}
|
|
19
28
|
|
|
20
29
|
@mixin invalid-glass-field {
|
|
21
30
|
--bx-glass-surface: var(--bx-bg-neutral);
|
|
22
|
-
--bx-glass-min-opacity: .45;
|
|
31
|
+
--bx-glass-min-opacity: 0.45;
|
|
23
32
|
--bx-glass-edge: color-mix(in srgb, var(--bx-text-danger) 40%, var(--bx-border-default));
|
|
33
|
+
|
|
24
34
|
border-block-end-color: var(--bx-glass-edge);
|
|
35
|
+
|
|
25
36
|
--bx-glass-shadow: 0 8px 18px -10px color-mix(in srgb, var(--bx-text-danger) 65%, transparent);
|
|
37
|
+
|
|
26
38
|
outline-color: var(--bx-border-danger);
|
|
27
39
|
}
|
package/core/styles/_index.scss
CHANGED
package/core/styles/_mixins.scss
CHANGED
package/core/styles/_motion.scss
CHANGED
|
@@ -1,155 +1,154 @@
|
|
|
1
1
|
@use 'sass:map';
|
|
2
2
|
|
|
3
3
|
$orange-palette: (
|
|
4
|
-
50: #
|
|
5
|
-
100: #
|
|
6
|
-
200: #
|
|
7
|
-
300: #
|
|
8
|
-
400: #
|
|
9
|
-
500: #
|
|
10
|
-
600: #
|
|
11
|
-
700: #
|
|
12
|
-
800: #
|
|
4
|
+
50: #fff7ed,
|
|
5
|
+
100: #ffedd4,
|
|
6
|
+
200: #ffd6a7,
|
|
7
|
+
300: #ffb86a,
|
|
8
|
+
400: #ff8904,
|
|
9
|
+
500: #ff6900,
|
|
10
|
+
600: #f54900,
|
|
11
|
+
700: #ca3500,
|
|
12
|
+
800: #9f2d00,
|
|
13
13
|
900: #551111,
|
|
14
|
-
1000: #441306
|
|
15
|
-
|
|
14
|
+
1000: #441306,
|
|
15
|
+
) !default;
|
|
16
16
|
$purple-palette: (
|
|
17
|
-
50: #
|
|
18
|
-
100: #
|
|
19
|
-
200: #
|
|
20
|
-
300: #
|
|
21
|
-
400: #
|
|
22
|
-
500: #
|
|
23
|
-
600: #
|
|
17
|
+
50: #f4ebff,
|
|
18
|
+
100: #e6d4ff,
|
|
19
|
+
200: #cfa3ff,
|
|
20
|
+
300: #b36bff,
|
|
21
|
+
400: #922fff,
|
|
22
|
+
500: #6d00ff,
|
|
23
|
+
600: #5700cc,
|
|
24
24
|
700: #410099,
|
|
25
|
-
800: #
|
|
25
|
+
800: #2c0066,
|
|
26
26
|
900: #160033,
|
|
27
|
-
1000: #
|
|
28
|
-
|
|
27
|
+
1000: #0b001a,
|
|
28
|
+
) !default;
|
|
29
29
|
$red-palette: (
|
|
30
|
-
50: #
|
|
31
|
-
100: #
|
|
32
|
-
200: #
|
|
33
|
-
300: #
|
|
34
|
-
400: #
|
|
35
|
-
500: #
|
|
36
|
-
600: #
|
|
30
|
+
50: #fdf1f0,
|
|
31
|
+
100: #fadcda,
|
|
32
|
+
200: #f5b0ab,
|
|
33
|
+
300: #ef8079,
|
|
34
|
+
400: #ea4c43,
|
|
35
|
+
500: #e3241b,
|
|
36
|
+
600: #be1810,
|
|
37
37
|
700: #991009,
|
|
38
38
|
800: #750904,
|
|
39
39
|
900: #520401,
|
|
40
|
-
1000: #
|
|
41
|
-
|
|
40
|
+
1000: #2e0200,
|
|
41
|
+
) !default;
|
|
42
42
|
$green-palette: (
|
|
43
|
-
50: #
|
|
44
|
-
100: #
|
|
45
|
-
200: #
|
|
46
|
-
300: #
|
|
47
|
-
400: #
|
|
48
|
-
500: #
|
|
49
|
-
600: #
|
|
50
|
-
700: #
|
|
51
|
-
800: #
|
|
52
|
-
900: #
|
|
53
|
-
1000: #
|
|
54
|
-
|
|
43
|
+
50: #f7fce8,
|
|
44
|
+
100: #edf8c8,
|
|
45
|
+
200: #ddf19c,
|
|
46
|
+
300: #cae96a,
|
|
47
|
+
400: #bee046,
|
|
48
|
+
500: #b0d624,
|
|
49
|
+
600: #92b518,
|
|
50
|
+
700: #718f10,
|
|
51
|
+
800: #556d0c,
|
|
52
|
+
900: #3c4e08,
|
|
53
|
+
1000: #212c03,
|
|
54
|
+
) !default;
|
|
55
55
|
$danger-palette: (
|
|
56
|
-
50: #
|
|
57
|
-
100: #
|
|
58
|
-
200: #
|
|
59
|
-
300: #
|
|
60
|
-
400: #
|
|
61
|
-
500: #
|
|
62
|
-
600: #
|
|
63
|
-
700: #
|
|
56
|
+
50: #fffcfc,
|
|
57
|
+
100: #f4e5e5,
|
|
58
|
+
200: #ead0d0,
|
|
59
|
+
300: #de9e9e,
|
|
60
|
+
400: #f76d6d,
|
|
61
|
+
500: #d94d4d,
|
|
62
|
+
600: #c93d3d,
|
|
63
|
+
700: #ba2e2e,
|
|
64
64
|
800: #722222,
|
|
65
|
-
900: #
|
|
66
|
-
1000: #
|
|
67
|
-
|
|
65
|
+
900: #2b1717,
|
|
66
|
+
1000: #0e0c0c,
|
|
67
|
+
) !default;
|
|
68
68
|
$warn-palette: (
|
|
69
|
-
50: #
|
|
70
|
-
100: #
|
|
71
|
-
200: #
|
|
72
|
-
300: #
|
|
73
|
-
400: #
|
|
74
|
-
500: #
|
|
75
|
-
600: #
|
|
76
|
-
700: #
|
|
77
|
-
800: #
|
|
78
|
-
900: #
|
|
79
|
-
1000: #
|
|
80
|
-
|
|
69
|
+
50: #fffefb,
|
|
70
|
+
100: #f7f0e3,
|
|
71
|
+
200: #eae3d0,
|
|
72
|
+
300: #e7c892,
|
|
73
|
+
400: #e4ad55,
|
|
74
|
+
500: #c68d36,
|
|
75
|
+
600: #b77d27,
|
|
76
|
+
700: #a96d18,
|
|
77
|
+
800: #6a4817,
|
|
78
|
+
900: #2b2317,
|
|
79
|
+
1000: #0e0d0c,
|
|
80
|
+
) !default;
|
|
81
81
|
$success-palette: (
|
|
82
|
-
50: #
|
|
83
|
-
100: #
|
|
84
|
-
200: #
|
|
85
|
-
300: #
|
|
86
|
-
400: #
|
|
87
|
-
500: #
|
|
88
|
-
600: #
|
|
89
|
-
700: #
|
|
90
|
-
800: #
|
|
91
|
-
900: #
|
|
92
|
-
1000: #
|
|
93
|
-
|
|
82
|
+
50: #fcfffc,
|
|
83
|
+
100: #e6f4e6,
|
|
84
|
+
200: #d1ead0,
|
|
85
|
+
300: #98d6a0,
|
|
86
|
+
400: #5fc370,
|
|
87
|
+
500: #3fa94e,
|
|
88
|
+
600: #2e9c3e,
|
|
89
|
+
700: #1e8f2d,
|
|
90
|
+
800: #1a5d22,
|
|
91
|
+
900: #172b18,
|
|
92
|
+
1000: #0c0e0c,
|
|
93
|
+
) !default;
|
|
94
94
|
$information-palette: (
|
|
95
|
-
50: #
|
|
96
|
-
100: #
|
|
97
|
-
200: #
|
|
98
|
-
300: #
|
|
99
|
-
400: #
|
|
100
|
-
500: #
|
|
101
|
-
600: #
|
|
102
|
-
700: #
|
|
103
|
-
800: #
|
|
104
|
-
900: #
|
|
105
|
-
1000: #
|
|
106
|
-
|
|
95
|
+
50: #fbfdff,
|
|
96
|
+
100: #e5eef7,
|
|
97
|
+
200: #d0ddea,
|
|
98
|
+
300: #97cace,
|
|
99
|
+
400: #5fb7c3,
|
|
100
|
+
500: #3e90b5,
|
|
101
|
+
600: #2e7cae,
|
|
102
|
+
700: #1e69a7,
|
|
103
|
+
800: #1a4469,
|
|
104
|
+
900: #17202b,
|
|
105
|
+
1000: #0c0d0e,
|
|
106
|
+
) !default;
|
|
107
107
|
$neutral-palette: (
|
|
108
|
-
50: #
|
|
109
|
-
100: #
|
|
110
|
-
200: #
|
|
111
|
-
300: #
|
|
112
|
-
400: #
|
|
108
|
+
50: #fafafa,
|
|
109
|
+
100: #f5f5f5,
|
|
110
|
+
200: #e5e5e5,
|
|
111
|
+
300: #d4d4d4,
|
|
112
|
+
400: #a1a1a1,
|
|
113
113
|
500: #737373,
|
|
114
114
|
600: #525252,
|
|
115
115
|
700: #404040,
|
|
116
116
|
800: #262626,
|
|
117
117
|
900: #171717,
|
|
118
|
-
1000: #0b0b0b
|
|
119
|
-
|
|
118
|
+
1000: #0b0b0b,
|
|
119
|
+
) !default;
|
|
120
120
|
$cyber-yellow-palette: (
|
|
121
|
-
50: #
|
|
122
|
-
100: #
|
|
123
|
-
200: #
|
|
124
|
-
300: #
|
|
125
|
-
400: #
|
|
121
|
+
50: #fffef2,
|
|
122
|
+
100: #fffdd1,
|
|
123
|
+
200: #fff9a3,
|
|
124
|
+
300: #fff370,
|
|
125
|
+
400: #ffeb33,
|
|
126
126
|
500: #e6da00,
|
|
127
|
-
600: #
|
|
128
|
-
700: #
|
|
129
|
-
800: #
|
|
130
|
-
900: #
|
|
131
|
-
1000: #141300
|
|
132
|
-
|
|
127
|
+
600: #ccbd00,
|
|
128
|
+
700: #998e00,
|
|
129
|
+
800: #665e00,
|
|
130
|
+
900: #332f00,
|
|
131
|
+
1000: #141300,
|
|
132
|
+
) !default;
|
|
133
133
|
$cyber-slate-palette: (
|
|
134
|
-
50: #
|
|
135
|
-
100: #
|
|
136
|
-
200: #
|
|
137
|
-
300: #
|
|
138
|
-
400: #
|
|
139
|
-
500: #
|
|
140
|
-
600: #
|
|
141
|
-
700: #
|
|
142
|
-
800: #
|
|
143
|
-
900: #
|
|
144
|
-
1000: #
|
|
145
|
-
|
|
134
|
+
50: #ebeff2,
|
|
135
|
+
100: #cdd6df,
|
|
136
|
+
200: #a8b8c6,
|
|
137
|
+
300: #7e96a9,
|
|
138
|
+
400: #5d788c,
|
|
139
|
+
500: #3e5669,
|
|
140
|
+
600: #283c4c,
|
|
141
|
+
700: #1b2936,
|
|
142
|
+
800: #121a21,
|
|
143
|
+
900: #0b1015,
|
|
144
|
+
1000: #05080a,
|
|
145
|
+
) !default;
|
|
146
146
|
$hc-black: #000000;
|
|
147
147
|
$hc-white: #ffffff;
|
|
148
148
|
$hc-yellow: #e4d500;
|
|
149
149
|
$hc-cyan: #00f3f3;
|
|
150
150
|
$hc-red: #ff0000;
|
|
151
151
|
$hc-green: #00ff00;
|
|
152
|
-
|
|
153
152
|
$all-palettes: (
|
|
154
153
|
'orange': $orange-palette,
|
|
155
154
|
'purple': $purple-palette,
|
|
@@ -162,17 +161,15 @@ $all-palettes: (
|
|
|
162
161
|
'neutral': $neutral-palette,
|
|
163
162
|
|
|
164
163
|
'cyber-yellow': $cyber-yellow-palette,
|
|
165
|
-
'cyber-slate': $cyber-slate-palette
|
|
164
|
+
'cyber-slate': $cyber-slate-palette,
|
|
165
|
+
) !default;
|
|
166
166
|
|
|
167
167
|
@function get-palette($name) {
|
|
168
168
|
@if map.has-key($all-palettes, $name) {
|
|
169
|
-
@return map.get($all-palettes, $name
|
|
170
|
-
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
@else {
|
|
174
|
-
@error "The palette '#{$name}' does not exist in @filip.mazev/blocks/core/styles/index.";
|
|
175
|
-
}
|
|
169
|
+
@return map.get($all-palettes, $name);
|
|
170
|
+
} @else {
|
|
171
|
+
@error "The palette '#{$name}' does not exist in @filip.mazev/blocks/core/styles/index.";
|
|
172
|
+
}
|
|
176
173
|
}
|
|
177
174
|
|
|
178
175
|
@function get-color-from-palette($palette-name, $shade) {
|
|
@@ -180,9 +177,7 @@ $all-palettes: (
|
|
|
180
177
|
|
|
181
178
|
@if map.has-key($palette, $shade) {
|
|
182
179
|
@return map.get($palette, $shade);
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
@else {
|
|
180
|
+
} @else {
|
|
186
181
|
@error "Shade '#{$shade}' not found in palette '#{$palette-name}'.";
|
|
187
182
|
}
|
|
188
|
-
}
|
|
183
|
+
}
|
package/core/styles/_slider.scss
CHANGED
|
@@ -7,9 +7,14 @@
|
|
|
7
7
|
height: spacing(2);
|
|
8
8
|
border: 1px solid var(--bx-border-strong);
|
|
9
9
|
border-radius: radius(pill);
|
|
10
|
-
background: linear-gradient(
|
|
11
|
-
|
|
10
|
+
background: linear-gradient(
|
|
11
|
+
to right,
|
|
12
|
+
var(--bx-primary) 0 var(--bx-slider-progress, 50%),
|
|
13
|
+
var(--bx-bg-neutral) var(--bx-slider-progress, 50%) 100%
|
|
14
|
+
);
|
|
15
|
+
box-shadow: inset 0 1px 2px rgb(0 0 0 / 16%);
|
|
12
16
|
}
|
|
17
|
+
|
|
13
18
|
@mixin thumb {
|
|
14
19
|
appearance: none;
|
|
15
20
|
box-sizing: border-box;
|
|
@@ -18,48 +23,86 @@
|
|
|
18
23
|
border-radius: radius(pill);
|
|
19
24
|
border: 1px solid var(--bx-border-strong);
|
|
20
25
|
background: var(--bx-bg-surface);
|
|
21
|
-
background:
|
|
22
|
-
|
|
23
|
-
|
|
26
|
+
background:
|
|
27
|
+
radial-gradient(circle at 35% 0%, rgb(255 255 255 / 24%), transparent 65%),
|
|
28
|
+
var(--bx-bg-surface);
|
|
29
|
+
border-color: color-mix(
|
|
30
|
+
in srgb,
|
|
31
|
+
var(--bx-slider-light-color, var(--bx-primary))
|
|
32
|
+
calc(var(--bx-slider-light-strength, 0.18) * 100%),
|
|
33
|
+
var(--bx-border-strong)
|
|
34
|
+
);
|
|
24
35
|
backdrop-filter: none;
|
|
25
|
-
box-shadow:
|
|
36
|
+
box-shadow:
|
|
37
|
+
inset 0 1px 1px rgb(255 255 255 / 45%),
|
|
38
|
+
inset 0 -1px 2px
|
|
39
|
+
color-mix(in srgb, var(--bx-slider-light-color, var(--bx-primary)) 30%, transparent),
|
|
40
|
+
0 2px 5px rgb(0 0 0 / 18%);
|
|
26
41
|
}
|
|
42
|
+
|
|
27
43
|
.bx-slider-shell {
|
|
28
44
|
display: block;
|
|
29
45
|
position: relative;
|
|
30
46
|
width: 100%;
|
|
31
47
|
min-width: 0;
|
|
32
|
-
|
|
48
|
+
|
|
49
|
+
input.bx-slider {
|
|
50
|
+
display: block;
|
|
51
|
+
}
|
|
52
|
+
|
|
33
53
|
// The native thumb remains the hit target; the opaque decorative thumb reflects nearby colors.
|
|
34
|
-
input.bx-slider::-webkit-slider-thumb {
|
|
35
|
-
|
|
36
|
-
|
|
54
|
+
input.bx-slider::-webkit-slider-thumb {
|
|
55
|
+
background: transparent;
|
|
56
|
+
border-color: transparent;
|
|
57
|
+
box-shadow: none;
|
|
58
|
+
backdrop-filter: none;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
input.bx-slider::-moz-range-thumb {
|
|
62
|
+
background: transparent;
|
|
63
|
+
border-color: transparent;
|
|
64
|
+
box-shadow: none;
|
|
65
|
+
backdrop-filter: none;
|
|
66
|
+
}
|
|
37
67
|
}
|
|
68
|
+
|
|
38
69
|
.bx-slider-thumb {
|
|
39
70
|
@include thumb;
|
|
40
|
-
@include bx-transition('border-color, box-shadow', .2s, ease-out);
|
|
71
|
+
@include bx-transition('border-color, box-shadow', 0.2s, ease-out);
|
|
72
|
+
|
|
41
73
|
position: absolute;
|
|
42
74
|
top: var(--bx-slider-center-y, 50%);
|
|
43
|
-
left: calc(
|
|
75
|
+
left: calc(
|
|
76
|
+
var(--bx-slider-track-start, 0px) + var(--bx-slider-position, 0.5) *
|
|
77
|
+
(var(--bx-slider-track-width, 100%) - #{spacing(6)})
|
|
78
|
+
);
|
|
44
79
|
transform: translateY(-50%);
|
|
45
80
|
pointer-events: none;
|
|
81
|
+
|
|
46
82
|
&::after {
|
|
47
|
-
@include bx-transition(opacity, .2s, ease-out);
|
|
83
|
+
@include bx-transition(opacity, 0.2s, ease-out);
|
|
84
|
+
|
|
48
85
|
content: '';
|
|
49
86
|
position: absolute;
|
|
50
87
|
inset: -1px;
|
|
51
88
|
box-sizing: border-box;
|
|
52
89
|
border-radius: inherit;
|
|
53
90
|
padding: 1px;
|
|
54
|
-
background: radial-gradient(
|
|
55
|
-
|
|
56
|
-
|
|
91
|
+
background: radial-gradient(
|
|
92
|
+
circle at var(--bx-slider-light-x, 35%) var(--bx-slider-light-y, 0%),
|
|
93
|
+
var(--bx-slider-light-color, var(--bx-primary)),
|
|
94
|
+
transparent 75%
|
|
95
|
+
);
|
|
96
|
+
opacity: var(--bx-slider-light-strength, 0.25);
|
|
97
|
+
mask:
|
|
98
|
+
linear-gradient(#ffffff 0 0) content-box,
|
|
99
|
+
linear-gradient(#ffffff 0 0);
|
|
57
100
|
mask-composite: exclude;
|
|
58
101
|
}
|
|
59
102
|
}
|
|
103
|
+
|
|
60
104
|
input.bx-slider {
|
|
61
105
|
appearance: none;
|
|
62
|
-
-webkit-appearance: none;
|
|
63
106
|
width: 100%;
|
|
64
107
|
height: spacing(10);
|
|
65
108
|
margin: 0;
|
|
@@ -67,35 +110,110 @@ input.bx-slider {
|
|
|
67
110
|
border: 0;
|
|
68
111
|
background: transparent;
|
|
69
112
|
cursor: pointer;
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
113
|
+
|
|
114
|
+
&:dir(rtl) {
|
|
115
|
+
direction: ltr;
|
|
116
|
+
transform: scaleX(-1);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
&::-webkit-slider-runnable-track {
|
|
120
|
+
@include track;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
&::-moz-range-track {
|
|
124
|
+
@include track;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
&::-webkit-slider-thumb {
|
|
128
|
+
@include thumb;
|
|
129
|
+
|
|
130
|
+
margin-top: calc((#{spacing(2)} - #{spacing(6)}) / 2 - 1px);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
&::-moz-range-thumb {
|
|
134
|
+
@include thumb;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
&:focus-visible {
|
|
138
|
+
outline: 2px solid var(--bx-border-brand);
|
|
139
|
+
outline-offset: 3px;
|
|
140
|
+
border-radius: radius(pill);
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
&:disabled {
|
|
144
|
+
opacity: 0.5;
|
|
145
|
+
cursor: not-allowed;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
@mixin opaque-thumb {
|
|
150
|
+
background: var(--bx-bg-surface);
|
|
151
|
+
backdrop-filter: none;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
[data-bx-reduced-transparency='true'] .bx-slider-thumb {
|
|
155
|
+
@include opaque-thumb;
|
|
77
156
|
}
|
|
78
|
-
|
|
79
|
-
[data-bx-glass-material='solid'] .bx-slider-thumb,
|
|
80
|
-
[data-bx-reduced-transparency='true'] .bx-slider-thumb { @include opaque-thumb; }
|
|
81
|
-
[data-bx-glass-material='solid'] input.bx-slider,
|
|
157
|
+
|
|
82
158
|
[data-bx-reduced-transparency='true'] input.bx-slider {
|
|
83
|
-
&::-webkit-slider-thumb {
|
|
84
|
-
|
|
159
|
+
&::-webkit-slider-thumb {
|
|
160
|
+
@include opaque-thumb;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
&::-moz-range-thumb {
|
|
164
|
+
@include opaque-thumb;
|
|
165
|
+
}
|
|
85
166
|
}
|
|
167
|
+
|
|
86
168
|
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
|
|
87
|
-
.bx-slider-thumb {
|
|
88
|
-
|
|
89
|
-
|
|
169
|
+
.bx-slider-thumb {
|
|
170
|
+
@include opaque-thumb;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
input.bx-slider::-webkit-slider-thumb {
|
|
174
|
+
@include opaque-thumb;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
input.bx-slider::-moz-range-thumb {
|
|
178
|
+
@include opaque-thumb;
|
|
179
|
+
}
|
|
90
180
|
}
|
|
181
|
+
|
|
91
182
|
@media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
|
|
92
|
-
.bx-slider-thumb {
|
|
93
|
-
|
|
94
|
-
|
|
183
|
+
.bx-slider-thumb {
|
|
184
|
+
@include opaque-thumb;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
input.bx-slider::-webkit-slider-thumb {
|
|
188
|
+
@include opaque-thumb;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
input.bx-slider::-moz-range-thumb {
|
|
192
|
+
@include opaque-thumb;
|
|
193
|
+
}
|
|
95
194
|
}
|
|
195
|
+
|
|
96
196
|
@media (forced-colors: active) {
|
|
97
|
-
.bx-slider-thumb {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
197
|
+
.bx-slider-thumb {
|
|
198
|
+
display: none;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
input.bx-slider {
|
|
202
|
+
appearance: auto;
|
|
203
|
+
accent-color: Highlight;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
input.bx-slider::-webkit-slider-thumb,
|
|
207
|
+
.bx-slider-shell input.bx-slider::-webkit-slider-thumb {
|
|
208
|
+
background: ButtonText;
|
|
209
|
+
border-color: ButtonText;
|
|
210
|
+
box-shadow: none;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
input.bx-slider::-moz-range-thumb,
|
|
214
|
+
.bx-slider-shell input.bx-slider::-moz-range-thumb {
|
|
215
|
+
background: ButtonText;
|
|
216
|
+
border-color: ButtonText;
|
|
217
|
+
box-shadow: none;
|
|
218
|
+
}
|
|
101
219
|
}
|