File tree Expand file tree Collapse file tree 7 files changed +27
-47
lines changed Expand file tree Collapse file tree 7 files changed +27
-47
lines changed Original file line number Diff line number Diff line change @@ -3,7 +3,7 @@ import LucideSearch from "~icons/lucide/search";
3
3
---
4
4
5
5
<button
6
- x-data =" packageSearchOpener( )"
6
+ x-data =" dialogOpener('#package-search' )"
7
7
class =" btn btn-outline w-full justify-between border-base-content/20"
8
8
@click =" open()"
9
9
@keydown.ctrl.shift.f.window.prevent =" open()"
@@ -14,7 +14,7 @@ import LucideSearch from "~icons/lucide/search";
14
14
Search npm packages …
15
15
</div >
16
16
<kbd x-cloak >
17
- <kbd class =" hidden font-normal text-base-content lg:kbd lg:kbd-sm" x-text =" cmdSymbol() " >⌘ </kbd >
17
+ <kbd class =" hidden font-normal text-base-content lg:kbd lg:kbd-sm" x-text =" cmdKey " > </kbd >
18
18
<kbd class =" hidden font-normal text-base-content lg:kbd lg:kbd-sm" >Shift</kbd >
19
19
<kbd class =" hidden font-normal text-base-content lg:kbd lg:kbd-sm" >F</kbd >
20
20
</kbd >
Original file line number Diff line number Diff line change @@ -3,7 +3,7 @@ import LucideFileSearch from "~icons/lucide/file-search";
3
3
---
4
4
5
5
<button
6
- x-data =" quickSearchOpener( )"
6
+ x-data =" dialogOpener('#quick-search' )"
7
7
class =" btn btn-outline w-full justify-between border-base-content/50"
8
8
@click =" open()"
9
9
@keydown.ctrl.k.window.prevent =" open()"
@@ -14,7 +14,7 @@ import LucideFileSearch from "~icons/lucide/file-search";
14
14
Quick search …
15
15
</div >
16
16
<kbd x-cloak >
17
- <kbd class =" hidden font-normal text-base-content lg:kbd lg:kbd-sm" x-text =" cmdSymbol() " >⌘ </kbd >
17
+ <kbd class =" hidden font-normal text-base-content lg:kbd lg:kbd-sm" x-text =" cmdKey " > </kbd >
18
18
<kbd class =" hidden font-normal text-base-content lg:kbd lg:kbd-sm" >K</kbd >
19
19
</kbd >
20
20
</button >
Original file line number Diff line number Diff line change 1
1
import type { Alpine } from "alpinejs" ;
2
- import { packageSearch , packageSearchOpener } from "./package-search" ;
3
- import { quickSearch , quickSearchOpener } from "./quick-search" ;
2
+ import { dialogOpener } from "./dialog-opener" ;
3
+ import { packageSearch } from "./package-search" ;
4
+ import { quickSearch } from "./quick-search" ;
4
5
import { timeAgo } from "./time-ago" ;
5
6
6
7
export default ( Alpine : Alpine ) => {
7
8
Alpine . data ( "timeAgo" , timeAgo ) ;
8
- Alpine . data ( "packageSearchOpener " , packageSearchOpener ) ;
9
+ Alpine . data ( "dialogOpener " , dialogOpener ) ;
9
10
Alpine . data ( "packageSearch" , packageSearch ) ;
10
- Alpine . data ( "quickSearchOpener" , quickSearchOpener ) ;
11
11
Alpine . data ( "quickSearch" , quickSearch ) ;
12
12
} ;
Original file line number Diff line number Diff line change
1
+ import { defineComponent } from "./define-component" ;
2
+ import { scrollIntoView } from "./scroll-into-view" ;
3
+
4
+ export const dialogOpener = defineComponent ( ( dialogId : string ) => ( {
5
+ dialog : undefined as HTMLDialogElement | undefined ,
6
+ results : undefined as HTMLUListElement | undefined ,
7
+ cmdKey : "" ,
8
+ init ( ) {
9
+ this . dialog = document . querySelector < HTMLDialogElement > ( dialogId ) ?? undefined ;
10
+ this . results = document . querySelector < HTMLUListElement > ( `${ dialogId } -results` ) ?? undefined ;
11
+ this . cmdKey = navigator . userAgent . includes ( "Mac" ) ? "⌘" : "Ctrl" ;
12
+ } ,
13
+ open ( ) {
14
+ if ( this . dialog && ! this . dialog . open ) {
15
+ this . dialog . showModal ( ) ;
16
+ scrollIntoView ( this . results , 0 ) ;
17
+ }
18
+ } ,
19
+ } ) ) ;
Load Diff This file was deleted.
Original file line number Diff line number Diff line change 1
1
import { mod } from "../../lib/mod" ;
2
2
import { defineComponent } from "./define-component" ;
3
- import { isMac } from "./is-mac" ;
4
3
import { scrollIntoView } from "./scroll-into-view" ;
5
4
6
- export const packageSearchOpener = defineComponent ( ( ) => ( {
7
- dialog : undefined as HTMLDialogElement | undefined ,
8
- resultsList : undefined as HTMLUListElement | undefined ,
9
- init ( ) {
10
- this . dialog = findDialog ( ) ;
11
- this . resultsList = findResultsList ( ) ;
12
- } ,
13
- open ( ) {
14
- if ( this . dialog && ! this . dialog . open ) {
15
- this . dialog . showModal ( ) ;
16
- scrollIntoView ( this . resultsList , 0 ) ;
17
- }
18
- } ,
19
- cmdSymbol ( ) : string {
20
- return isMac ( ) ? "⌘" : "Ctrl" ;
21
- } ,
22
- } ) ) ;
23
-
24
5
type NpmPackage = {
25
6
name : string ;
26
7
description : string ;
Original file line number Diff line number Diff line change @@ -3,27 +3,8 @@ import Fuse from "fuse.js/basic";
3
3
import { mod } from "../../lib/mod" ;
4
4
import { shortKind } from "../../lib/short-kind" ;
5
5
import { defineComponent } from "./define-component" ;
6
- import { isMac } from "./is-mac" ;
7
6
import { scrollIntoView } from "./scroll-into-view" ;
8
7
9
- export const quickSearchOpener = defineComponent ( ( ) => ( {
10
- dialog : undefined as HTMLDialogElement | undefined ,
11
- resultsList : undefined as HTMLUListElement | undefined ,
12
- init ( ) {
13
- this . dialog = findDialog ( ) ;
14
- this . resultsList = findResultsList ( ) ;
15
- } ,
16
- open ( ) {
17
- if ( this . dialog && ! this . dialog . open ) {
18
- this . dialog . showModal ( ) ;
19
- scrollIntoView ( this . resultsList , 0 ) ;
20
- }
21
- } ,
22
- cmdSymbol ( ) : string {
23
- return isMac ( ) ? "⌘" : "Ctrl" ;
24
- } ,
25
- } ) ) ;
26
-
27
8
type QuickSearchDeclaration = {
28
9
headingId : string ;
29
10
declarationId : string ;
You can’t perform that action at this time.
0 commit comments