File tree Expand file tree Collapse file tree 2 files changed +17
-27
lines changed Expand file tree Collapse file tree 2 files changed +17
-27
lines changed Original file line number Diff line number Diff line change @@ -71,22 +71,17 @@ export function ImageLightbox({
71
71
e . preventDefault ( ) ;
72
72
e . stopPropagation ( ) ;
73
73
openInNewTab ( ) ;
74
- return ;
75
74
}
76
- // Regular click opens lightbox - let it bubble to Dialog.Trigger
75
+ // Regular click is handled by Dialog.Trigger
77
76
} ;
78
77
79
78
const handleKeyDown = ( e : React . KeyboardEvent ) => {
80
- if ( e . key === 'Enter' || e . key === ' ' ) {
81
- if ( e . ctrlKey || e . metaKey ) {
82
- e . preventDefault ( ) ;
83
- e . stopPropagation ( ) ;
84
- openInNewTab ( ) ;
85
- return ;
86
- }
87
- // Regular Enter/Space should open lightbox
79
+ // Ctrl/Cmd+Enter/Space opens in new tab
80
+ // Regular Enter/Space is handled by Dialog.Trigger
81
+ if ( ( e . key === 'Enter' || e . key === ' ' ) && ( e . ctrlKey || e . metaKey ) ) {
88
82
e . preventDefault ( ) ;
89
- setOpen ( true ) ;
83
+ e . stopPropagation ( ) ;
84
+ openInNewTab ( ) ;
90
85
}
91
86
} ;
92
87
@@ -133,18 +128,14 @@ export function ImageLightbox({
133
128
134
129
return (
135
130
< Lightbox . Root open = { open } onOpenChange = { setOpen } content = { renderImage ( false ) } >
136
- < Lightbox . Trigger asChild >
137
- < div
138
- onClick = { handleClick }
139
- onAuxClick = { handleClick }
140
- onKeyDown = { handleKeyDown }
141
- className = "cursor-pointer border-none bg-transparent p-0 block w-full no-underline"
142
- aria-label = { `View image: ${ alt } ` }
143
- role = "button"
144
- tabIndex = { 0 }
145
- >
146
- { renderImage ( ) }
147
- </ div >
131
+ < Lightbox . Trigger
132
+ onClick = { handleClick }
133
+ onAuxClick = { handleClick }
134
+ onKeyDown = { handleKeyDown }
135
+ className = "cursor-pointer border-none bg-transparent p-0 block w-full no-underline"
136
+ aria-label = { `View image: ${ alt } ` }
137
+ >
138
+ { renderImage ( ) }
148
139
</ Lightbox . Trigger >
149
140
</ Lightbox . Root >
150
141
) ;
Original file line number Diff line number Diff line change @@ -39,9 +39,8 @@ interface LightboxProps {
39
39
open ?: boolean ;
40
40
}
41
41
42
- interface LightboxTriggerProps {
42
+ interface LightboxTriggerProps extends React . ComponentProps < typeof Dialog . Trigger > {
43
43
children : React . ReactNode ;
44
- asChild ?: boolean ;
45
44
}
46
45
47
46
interface LightboxCloseProps {
@@ -83,8 +82,8 @@ function LightboxRoot({
83
82
}
84
83
85
84
// Trigger component
86
- function LightboxTrigger ( { children, asChild = false } : LightboxTriggerProps ) {
87
- return < Dialog . Trigger asChild = { asChild } > { children } </ Dialog . Trigger > ;
85
+ function LightboxTrigger ( { children, ... props } : LightboxTriggerProps ) {
86
+ return < Dialog . Trigger { ... props } > { children } </ Dialog . Trigger > ;
88
87
}
89
88
90
89
// Close button component
You can’t perform that action at this time.
0 commit comments