@@ -15,69 +15,93 @@ governing permissions and limitations under the License.
15
15
--spectrum-splitview-vertical-gripper-width : 50% ;
16
16
--spectrum-splitview-vertical-gripper-outer-width : 100% ;
17
17
--spectrum-splitview-vertical-gripper-reset : 0 ;
18
+
19
+ --spectrum-splitview-background-color : var (--spectrum-gray-100 );
20
+ --spectrum-splitview-handle-background-color : var (--spectrum-gray-300 );
21
+ --spectrum-splitview-handle-background-color-hover : var (--spectrum-gray-400 );
22
+ --spectrum-splitview-handle-background-color-down : var (--spectrum-gray-800 );
23
+ --spectrum-splitview-handle-background-color-focus : var (--spectrum-focus-indicator-color );
24
+ --spectrum-splitview-handle-width : var (--spectrum-border-width-200 );
25
+
26
+ --spectrum-splitview-gripper-border-radius : var (--spectrum-corner-radius-75 );
27
+ --spectrum-splitview-gripper-width : var (--spectrum-border-width-400 );
28
+ --spectrum-splitview-gripper-height : 16px ; /* No good token to use for this */
29
+ --spectrum-splitview-gripper-border-width-horizontal : 3px ; /* No good token to use for this */
30
+ --spectrum-splitview-gripper-border-width-vertical : var (--spectrum-border-width-400 );
31
+
18
32
}
19
33
34
+
20
35
.spectrum-SplitView {
21
36
display : flex;
22
37
overflow : hidden;
23
38
}
24
39
25
40
.spectrum-SplitView-pane {
26
41
block-size : 100% ;
42
+ background-color : var (--mod-splitview-background-color , var (--spectrum-splitview-background-color ));
27
43
}
28
44
29
45
.spectrum-SplitView-gripper {
30
46
content : "" ;
31
47
display : block;
32
48
position : absolute;
33
49
border-style : solid;
34
- border-radius : var (--spectrum-dragbar-gripper-border-radius );
50
+ border-radius : var (--mod-splitview-gripper-border-radius , var (--spectrum-splitview-gripper-border-radius ));
51
+ border-color : var (--highcontrast-splitview-handle-background-color , var (--mod-splitview-handle-background-color , var (--spectrum-splitview-handle-background-color )));
35
52
36
53
inset-block-start : 50% ;
37
54
transform : translate (0 , -50% );
38
55
56
+ /* Prevent touch-action on handle */
57
+ touch-action : none;
58
+
39
59
/* half of (width + horizontal border - handle width) * -1 (for negative opposite) */
40
60
inset-inline-start : calc (
41
61
(
42
62
(
43
- var (--spectrum-dragbar -gripper-width ) +
44
- (2 * var (--spectrum-dragbar -gripper-border-width-horizontal )) -
45
- var (--spectrum-dragbar-handle -width )
63
+ var (--mod-splitview-gripper-width , var ( -- spectrum-splitview -gripper-width) ) +
64
+ (2 * var (--mod-splitview-gripper-border-width-vertical , var ( -- spectrum-splitview -gripper-border-width-vertical ) )) -
65
+ var (--mod-splitview-gripper-width , var ( -- spectrum-splitview-gripper -width) )
46
66
) / 2
47
67
) * -1
48
68
);
49
- inline-size : var (--spectrum-dragbar-gripper-width );
50
- block-size : var (--spectrum-dragbar-gripper-height );
51
- border-block-width : var (--spectrum-dragbar-gripper-border-width-vertical );
52
- border-inline-width : var (--spectrum-dragbar-gripper-border-width-horizontal );
69
+ inline-size : var (--mod-splitview-gripper-width , var (--spectrum-splitview-gripper-width ));
70
+ block-size : var (--mod-splitview-gripper-height , var (--spectrum-splitview-gripper-height ));
71
+ border-block-width : var (--mod-splitview-gripper-border-width-vertical , var (--spectrum-splitview-gripper-border-width-vertical ));
72
+ border-inline-width : var (--mod-splitview-gripper-border-width-horizontal , var (--spectrum-splitview-gripper-border-width-horizontal ));
73
+
74
+ & ::before {
75
+ background-color : var (--highcontrast-splitview-handle-background-color , var (--mod-splitview-handle-background-color , var (--spectrum-splitview-handle-background-color )));
76
+ }
53
77
}
54
78
55
79
.spectrum-SplitView-splitter {
56
- /* Contain the gripper */
80
+ /* Contains the gripper */
57
81
position : relative;
58
82
83
+ background-color : var (--highcontrast-splitview-handle-background-color , var (--mod-splitview-handle-background-color , var (--spectrum-splitview-handle-background-color )));
84
+
59
85
/* Prevent text selection while dragging */
60
86
user-select : none;
61
87
62
- inline-size : var (--spectrum-dragbar -handle-width );
88
+ inline-size : var (--mod-splitview-handle-width , var ( -- spectrum-splitview -handle-width) );
63
89
block-size : 100% ;
64
90
z-index : 1 ;
65
91
66
92
& .is-collapsed-start ,
67
93
& .is-collapsed-end {
68
- .spectrum-SplitView-gripper {
69
- /* make the center line of the gripper */
70
- & : before {
71
- content : "" ;
72
- position : absolute;
73
-
74
- inset-block-start : 0 ;
75
- inset-inline-start : calc (
76
- 50% - calc (var (--spectrum-dragbar-handle-width ) / 2 )
77
- );
78
- inline-size : var (--spectrum-dragbar-handle-width );
79
- block-size : 100% ;
80
- }
94
+ /* make the center line of the gripper */
95
+ .spectrum-SplitView-gripper ::before {
96
+ content : "" ;
97
+ position : absolute;
98
+
99
+ inset-block-start : 0 ;
100
+ inset-inline-start : calc (
101
+ 50% - calc (var (--mod-splitview-handle-width , var (--spectrum-splitview-handle-width )) / 2 )
102
+ );
103
+ inline-size : var (--mod-splitview-handle-width , var (--spectrum-splitview-handle-width ));
104
+ block-size : 100% ;
81
105
}
82
106
}
83
107
@@ -95,76 +119,127 @@ governing permissions and limitations under the License.
95
119
}
96
120
}
97
121
122
+ .spectrum-SplitView-splitter .is-draggable {
123
+ & : hover ,
124
+ & .is-hovered {
125
+ background-color : var (--highcontrast-splitview-handle-background-color-hover , var (--mod-splitview-handle-background-color-hover , var (--spectrum-splitview-handle-background-color-hover )));
126
+
127
+ .spectrum-SplitView-gripper {
128
+ border-color : var (--highcontrast-splitview-handle-background-color-hover , var (--mod-splitview-handle-background-color-hover , var (--spectrum-splitview-handle-background-color-hover )));
129
+ }
130
+
131
+ .spectrum-SplitView-gripper ::before {
132
+ background-color : var (--highcontrast-splitview-handle-background-color-hover , var (--mod-splitview-handle-background-color-hover , var (--spectrum-splitview-handle-background-color-hover )));
133
+ }
134
+ }
135
+
136
+ & : active ,
137
+ & .is-active {
138
+ background-color : var (--highcontrast-splitview-handle-background-color-down , var (--mod-splitview-handle-background-color-down , var (--spectrum-splitview-handle-background-color-down )));
139
+
140
+ .spectrum-SplitView-gripper {
141
+ border-color : var (--highcontrast-splitview-handle-background-color-down , var (--mod-splitview-handle-background-color-down , var (--spectrum-splitview-handle-background-color-down )));
142
+ }
143
+
144
+ /* Center line of gripper */
145
+ .spectrum-SplitView-gripper ::before {
146
+ background-color : var (--highcontrast-splitview-handle-background-color-down , var (--mod-splitview-handle-background-color-down , var (--spectrum-splitview-handle-background-color-down )));
147
+ }
148
+ }
149
+
150
+ & : focus {
151
+ outline : none;
152
+ }
153
+
154
+ & : focus-visible {
155
+ outline : none;
156
+ background-color : var (--highcontrast-splitview-handle-background-color-focus , var (--mod-splitview-handle-background-color-focus , var (--spectrum-splitview-handle-background-color-focus )));
157
+
158
+ .spectrum-SplitView-gripper {
159
+ border-color : var (--highcontrast-splitview-handle-background-color-focus , var (--mod-splitview-handle-background-color-focus , var (--spectrum-splitview-handle-background-color-focus )));
160
+ box-shadow : 0 0 0 1px var (--highcontrast-splitview-handle-background-color-focus , var (--mod-splitview-handle-background-color-focus , var (--spectrum-splitview-handle-background-color-focus )));
161
+ }
162
+ .spectrum-SplitView-gripper ::before {
163
+ background-color : var (--highcontrast-splitview-handle-background-color-focus , var (--mod-splitview-handle-background-color-focus , var (--spectrum-splitview-handle-background-color-focus )));
164
+ }
165
+ }
166
+ }
167
+
98
168
.spectrum-SplitView--vertical {
99
169
flex-direction : column;
100
170
101
171
.spectrum-SplitView-pane {
102
172
block-size : auto;
103
- inline-size : var (--spectrum-splitview-vertical-width );
173
+ inline-size : var (--mod-splitview-vertical-width , var ( -- spectrum-splitview-vertical-width) );
104
174
}
105
175
106
176
.spectrum-SplitView-gripper {
107
177
/* half of (height + vertical border - handle width) * -1 (for negative opposite) */
108
178
inset-block-start : calc (
109
179
(
110
180
(
111
- var (--spectrum-dragbar -gripper-width ) +
112
- (2 * var (--spectrum-dragbar -gripper-border-width-horizontal )) -
113
- var (--spectrum-dragbar-handle -width )
181
+ var (--mod-splitview-gripper-width , var ( -- spectrum-splitview -gripper-width) ) +
182
+ (2 * var (--mod-splitview-gripper-border-width-vertical , var ( -- spectrum-splitview -gripper-border-width-vertical ) )) -
183
+ var (--mod-splitview-gripper-width , var ( -- spectrum-splitview-gripper -width) )
114
184
) / 2
115
185
) * -1
116
186
);
117
187
118
188
transform : translate (
119
- calc (-1 * var (--spectrum-splitview-vertical-gripper-width )),
189
+ calc (-1 * var (--mod-splitview-vertical-gripper-width , var ( -- spectrum-splitview-vertical-gripper-width) )),
120
190
0
121
191
);
122
- inset-inline-start : var (--spectrum-splitview-vertical-gripper-width );
123
- inline-size : var (
124
- --spectrum-dragbar-gripper-height
125
- ); /* same as default height */
126
- block-size : var (
127
- --spectrum-dragbar-gripper-width
128
- ); /* same as default width */
192
+ inset-inline-start : var (--mod-splitview-vertical-gripper-width , var (--spectrum-splitview-vertical-gripper-width ));
193
+ inline-size : var (--mod-splitview-gripper-height , var (--spectrum-splitview-gripper-height ));
194
+ block-size : var (--mod-splitview-gripper-width , var (--spectrum-splitview-gripper-width ));
129
195
130
196
/* opposite of default border-width */
131
- border-block-width : var (--spectrum-dragbar -gripper-border-width-horizontal );
132
- border-inline-width : var (--spectrum-dragbar -gripper-border-width-vertical );
197
+ border-block-width : var (--mod-splitview-gripper-border-width-horizontal , var ( -- spectrum-splitview -gripper-border-width-horizontal) );
198
+ border-inline-width : var (--mod-splitview-gripper-border-width-vertical , var ( -- spectrum-splitview -gripper-border-width-vertical) );
133
199
}
134
200
135
201
.spectrum-SplitView-splitter {
136
- inline-size : var (--spectrum-splitview-vertical-width );
137
- block-size : var (--spectrum-dragbar -handle-width );
138
-
139
- & . is-collapsed-start ,
140
- & . is-collapsed-end {
141
- .spectrum-SplitView-gripper {
142
- inset-inline-start : var ( -- spectrum-splitview-vertical- gripper-width );
143
-
144
- /* make the center line of the gripper */
145
- & : before {
146
- inset-block-start : calc (
147
- var ( -- spectrum-splitview-vertical- gripper-width ) -
148
- calc ( var ( --spectrum-dragbar-handle-width ) / 2 )
149
- );
150
- inset-inline-start : var (--spectrum-splitview-vertical-gripper-reset );
151
- inline-size : var ( --spectrum-splitview-vertical-gripper-outer-width );
152
- block-size : var (--spectrum-dragbar-handle-width );
153
- }
154
- }
202
+ inline-size : var (--mod-splitview-vertical-width , var ( -- spectrum-splitview-vertical-width) );
203
+ block-size : var (--mod-splitview-handle-width , var ( -- spectrum-splitview -handle-width) );
204
+ }
205
+
206
+ . spectrum-SplitView-splitter . is-collapsed-start ,
207
+ .spectrum-SplitView-splitter . is-collapsed-end {
208
+ . spectrum-SplitView- gripper {
209
+ inset-inline-start : var ( --mod-splitview-vertical-gripper-width , var ( --spectrum-splitview-vertical-gripper-width ));
210
+ }
211
+
212
+ /* make the center line of the gripper */
213
+ . spectrum-SplitView- gripper :: before {
214
+ inset-block-start : calc (
215
+ var ( --mod-splitview-vertical-gripper-width , var ( --spectrum-splitview-vertical-gripper-width )) -
216
+ calc ( var ( --mod-splitview-handle-width , var (--spectrum-splitview-handle-width )) / 2 )
217
+ );
218
+ inset-inline-start : var (--mod-splitview-vertical-gripper-reset , var ( -- spectrum-splitview-vertical-gripper-reset ) );
219
+ inline-size : var ( --mod-splitview-vertical-gripper-outer-width , var ( --spectrum-splitview-vertical-gripper-outer-width ));
220
+ block-size : var ( --mod-splitview-handle-width , var ( --spectrum-splitview-handle-width ));
155
221
}
222
+ }
156
223
157
- & .is-collapsed-start {
158
- .spectrum-SplitView-gripper {
159
- inset-block-start : var (--spectrum-splitview-vertical-gripper-reset );
160
- }
224
+ .spectrum-SplitView-splitter .is-collapsed-start {
225
+ .spectrum-SplitView-gripper {
226
+ inset-block-start : var (--mod-splitview-vertical-gripper-reset , var (--spectrum-splitview-vertical-gripper-reset ));
161
227
}
228
+ }
162
229
163
- & .is-collapsed-end {
164
- .spectrum-SplitView-gripper {
165
- inset-block-start : auto;
166
- inset-block-end : var (--spectrum-splitview-vertical-gripper-reset );
167
- }
230
+ .spectrum-SplitView-splitter .is-collapsed-end {
231
+ .spectrum-SplitView-gripper {
232
+ inset-block-start : auto;
233
+ inset-block-end : var (--mod-splitview-vertical-gripper-reset , var (--spectrum-splitview-vertical-gripper-reset ));
168
234
}
169
235
}
170
236
}
237
+
238
+ @media (forced-colors : active) {
239
+ .spectrum-SplitView {
240
+ --highcontrast-splitview-handle-background-color : CanvasText;
241
+ --highcontrast-splitview-handle-background-color-hover : CanvasText;
242
+ --highcontrast-splitview-handle-background-color-down : CanvasText;
243
+ --highcontrast-splitview-handle-background-color-focus : Highlight;
244
+ }
245
+ }
0 commit comments