File tree 4 files changed +31
-3
lines changed
4 files changed +31
-3
lines changed Original file line number Diff line number Diff line change
1
+ ---
2
+ " bits-ui " : patch
3
+ ---
4
+
5
+ expose additional events
Original file line number Diff line number Diff line change 39
39
use:melt ={builder }
40
40
{...$$restProps }
41
41
on:m-pointerleave ={dispatch }
42
+ on:keydown
42
43
>
43
44
<slot {builder } />
44
45
</div >
50
51
use:melt ={builder }
51
52
{...$$restProps }
52
53
on:m-pointerleave ={dispatch }
54
+ on:keydown
53
55
>
54
56
<slot {builder } />
55
57
</div >
60
62
use:melt ={builder }
61
63
{...$$restProps }
62
64
on:m-pointerleave ={dispatch }
65
+ on:keydown
63
66
>
64
67
<slot {builder } />
65
68
</div >
70
73
use:melt ={builder }
71
74
{...$$restProps }
72
75
on:m-pointerleave ={dispatch }
76
+ on:keydown
73
77
>
74
78
<slot {builder } />
75
79
</div >
76
80
{:else if $open }
77
81
{@const builder = $menu }
78
- <div use:melt ={builder } {...$$restProps } on:m-pointerleave ={dispatch }>
82
+ <div use:melt ={builder } {...$$restProps } on:m-pointerleave ={dispatch } on:keydown >
79
83
<slot {builder } />
80
84
</div >
81
85
{/if }
Original file line number Diff line number Diff line change 23
23
<slot builder ={$option ({ value , disabled , label })} />
24
24
{:else }
25
25
{@const builder = $option ({ value , disabled , label })}
26
- <div use:melt ={builder } {...$$restProps } on:m-click ={dispatch } on:m-pointermove ={dispatch }>
26
+ <div
27
+ use:melt ={builder }
28
+ {...$$restProps }
29
+ on:m-click ={dispatch }
30
+ on:m-pointermove ={dispatch }
31
+ on:focusin
32
+ on:keydown
33
+ on:focusout
34
+ on:pointerleave
35
+ >
27
36
<slot {builder }>
28
37
{label ? label : value }
29
38
</slot >
Original file line number Diff line number Diff line change @@ -8,7 +8,12 @@ import type {
8
8
Transition ,
9
9
TransitionProps
10
10
} from "$lib/internal/index.js" ;
11
- import type { HTMLAttributes , HTMLButtonAttributes , HTMLInputAttributes } from "svelte/elements" ;
11
+ import type {
12
+ EventHandler ,
13
+ HTMLAttributes ,
14
+ HTMLButtonAttributes ,
15
+ HTMLInputAttributes
16
+ } from "svelte/elements" ;
12
17
import type { CustomEventHandler } from "$lib/index.js" ;
13
18
14
19
type Props = Expand <
@@ -51,6 +56,10 @@ type ArrowProps = Expand<
51
56
type ItemEvents < T extends Element = HTMLDivElement > = {
52
57
click : CustomEventHandler < MouseEvent , T > ;
53
58
pointermove : CustomEventHandler < PointerEvent , T > ;
59
+ focusin : EventHandler < FocusEvent , T > ;
60
+ keydown : EventHandler < KeyboardEvent , T > ;
61
+ focusout : EventHandler < FocusEvent , T > ;
62
+ pointerleave : EventHandler < PointerEvent , T > ;
54
63
} ;
55
64
56
65
type TriggerEvents < T extends Element = HTMLButtonElement > = {
@@ -63,6 +72,7 @@ type LabelEvents<T extends Element = HTMLSpanElement> = {
63
72
} ;
64
73
type ContentEvents < T extends Element = HTMLDivElement > = {
65
74
pointerleave : CustomEventHandler < PointerEvent , T > ;
75
+ keydown : EventHandler < KeyboardEvent , T > ;
66
76
} ;
67
77
68
78
export type {
You can’t perform that action at this time.
0 commit comments