File tree Expand file tree Collapse file tree 3 files changed +26
-19
lines changed
packages/site-kit/src/lib Expand file tree Collapse file tree 3 files changed +26
-19
lines changed Original file line number Diff line number Diff line change @@ -15,27 +15,29 @@ export function focusable_children(node: HTMLElement) {
15
15
nodes [ i ] . focus ( ) ;
16
16
} ;
17
17
18
- return {
19
- next : ( selector ?: string ) => {
20
- const reordered = [ ...nodes . slice ( index + 1 ) , ...nodes . slice ( 0 , index + 1 ) ] ;
18
+ function traverse ( d : number , selector ?: string ) {
19
+ const reordered = [ ...nodes . slice ( index ) , ...nodes . slice ( 0 , index ) ] ;
20
+
21
+ let i = ( reordered . length + d ) % reordered . length ;
22
+ let node ;
23
+
24
+ while ( ( node = reordered [ i ] ) ) {
25
+ i += d ;
21
26
22
- for ( let i = 0 ; i < reordered . length ; i += 1 ) {
23
- if ( ! selector || reordered [ i ] . matches ( selector ) ) {
24
- reordered [ i ] . focus ( ) ;
25
- return ;
26
- }
27
+ if ( node . matches ( 'details:not([open]) *' ) ) {
28
+ continue ;
27
29
}
28
- } ,
29
- prev : ( selector ?: string ) => {
30
- const reordered = [ ...nodes . slice ( index + 1 ) , ...nodes . slice ( 0 , index + 1 ) ] ;
31
30
32
- for ( let i = reordered . length - 2 ; i >= 0 ; i -= 1 ) {
33
- if ( ! selector || reordered [ i ] . matches ( selector ) ) {
34
- reordered [ i ] . focus ( ) ;
35
- return ;
36
- }
31
+ if ( ! selector || node . matches ( selector ) ) {
32
+ node . focus ( ) ;
33
+ return ;
37
34
}
38
- } ,
35
+ }
36
+ }
37
+
38
+ return {
39
+ next : ( selector ?: string ) => traverse ( 1 , selector ) ,
40
+ prev : ( selector ?: string ) => traverse ( - 1 , selector ) ,
39
41
update
40
42
} ;
41
43
}
Original file line number Diff line number Diff line change @@ -181,7 +181,8 @@ It appears when the user clicks on the `Search` component or presses the corresp
181
181
/>
182
182
183
183
<button aria-label ="Close" onclick ={close }>
184
- <Icon name =" close" />
184
+ <!-- <Icon name="close" /> -->
185
+ <kbd >Esc</kbd >
185
186
</button >
186
187
187
188
<span id =" search-description" class =" visually-hidden" >
@@ -305,6 +306,10 @@ It appears when the user clicks on the `Search` component or presses the corresp
305
306
opacity: 1 ;
306
307
outline-offset : -3px ;
307
308
}
309
+
310
+ kbd {
311
+ text-transform : uppercase ;
312
+ }
308
313
}
309
314
310
315
ul {
Original file line number Diff line number Diff line change 81
81
&::after {
82
82
content : ' ' ;
83
83
position : absolute ;
84
- right : 1 rem ;
84
+ right : 1.6 rem ;
85
85
top : calc (50% - 1rem );
86
86
width : 2rem ;
87
87
height : 2rem ;
You can’t perform that action at this time.
0 commit comments