Skip to content

Commit 52c52eb

Browse files
authored
Merge pull request #16 from grammarly/feature-capture-events
Add typings for capture events
2 parents 05a1fc5 + e783ec1 commit 52c52eb

File tree

2 files changed

+73
-0
lines changed

2 files changed

+73
-0
lines changed

package.json

+4
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,10 @@
5959
{
6060
"name": "Anton Verinov",
6161
"email": "[email protected]"
62+
},
63+
{
64+
"name": "Oleksii Levzhynskyi",
65+
"email": "[email protected]"
6266
}
6367
],
6468
"keywords": [

src/react/observablePropTypes.ts

+69
Original file line numberDiff line numberDiff line change
@@ -32,98 +32,167 @@ export interface ObservableReactDOMAttributes<E> {
3232
children?: React.ReactNode | Observable<React.ReactNode>
3333
// Clipboard Events
3434
onCopy?: React.ClipboardEventHandler<E> | Observable<React.ClipboardEventHandler<E>>
35+
onCopyCapture?: React.ClipboardEventHandler<E> | Observable<React.ClipboardEventHandler<E>>
3536
onCut?: React.ClipboardEventHandler<E> | Observable<React.ClipboardEventHandler<E>>
37+
onCutCapture?: React.ClipboardEventHandler<E> | Observable<React.ClipboardEventHandler<E>>
3638
onPaste?: React.ClipboardEventHandler<E> | Observable<React.ClipboardEventHandler<E>>
39+
onPasteCapture?: React.ClipboardEventHandler<E> | Observable<React.ClipboardEventHandler<E>>
3740

3841
// Composition Events
3942
onCompositionEnd?: React.CompositionEventHandler<E> | Observable<React.CompositionEventHandler<E>>
43+
onCompositionEndCapture?: React.CompositionEventHandler<E> | Observable<React.CompositionEventHandler<E>>
4044
onCompositionStart?: React.CompositionEventHandler<E> | Observable<React.CompositionEventHandler<E>>
45+
onCompositionStartCapture?: React.CompositionEventHandler<E> | Observable<React.CompositionEventHandler<E>>
4146
onCompositionUpdate?: React.CompositionEventHandler<E> | Observable<React.CompositionEventHandler<E>>
47+
onCompositionUpdateCapture?: React.CompositionEventHandler<E> | Observable<React.CompositionEventHandler<E>>
4248

4349
// Focus Events
4450
onFocus?: React.FocusEventHandler<E> | Observable<React.FocusEventHandler<E>>
51+
onFocusCapture?: React.FocusEventHandler<E> | Observable<React.FocusEventHandler<E>>
4552
onBlur?: React.FocusEventHandler<E> | Observable<React.FocusEventHandler<E>>
53+
onBlurCapture?: React.FocusEventHandler<E> | Observable<React.FocusEventHandler<E>>
4654

4755
// Form Events
4856
onChange?: React.FormEventHandler<E> | Observable<React.FormEventHandler<E>>
57+
onChangeCapture?: React.FormEventHandler<E> | Observable<React.FormEventHandler<E>>
4958
onInput?: React.FormEventHandler<E> | Observable<React.FormEventHandler<E>>
59+
onInputCapture?: React.FormEventHandler<E> | Observable<React.FormEventHandler<E>>
60+
onReset?: React.FormEventHandler<E> | Observable<React.FormEventHandler<E>>
61+
onResetCapture?: React.FormEventHandler<E> | Observable<React.FormEventHandler<E>>
5062
onSubmit?: React.FormEventHandler<E> | Observable<React.FormEventHandler<E>>
63+
onSubmitCapture?: React.FormEventHandler<E> | Observable<React.FormEventHandler<E>>
64+
onInvalid?: React.FormEventHandler<E> | Observable<React.FormEventHandler<E>>
65+
onInvalidCapture?: React.FormEventHandler<E> | Observable<React.FormEventHandler<E>>
5166

5267
// Image Events
5368
onLoad?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>>
69+
onLoadCapture?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>>
5470
onError?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>> // also a Media Event
71+
onErrorCapture?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>> // also a Media Event
5572

5673
// Keyboard Events
5774
onKeyDown?: React.KeyboardEventHandler<E> | Observable<React.KeyboardEventHandler<E>>
75+
onKeyDownCapture?: React.KeyboardEventHandler<E> | Observable<React.KeyboardEventHandler<E>>
5876
onKeyPress?: React.KeyboardEventHandler<E> | Observable<React.KeyboardEventHandler<E>>
77+
onKeyPressCapture?: React.KeyboardEventHandler<E> | Observable<React.KeyboardEventHandler<E>>
5978
onKeyUp?: React.KeyboardEventHandler<E> | Observable<React.KeyboardEventHandler<E>>
79+
onKeyUpCapture?: React.KeyboardEventHandler<E> | Observable<React.KeyboardEventHandler<E>>
6080

6181
// Media Events
6282
onAbort?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>>
83+
onAbortCapture?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>>
6384
onCanPlay?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>>
85+
onCanPlayCapture?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>>
6486
onCanPlayThrough?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>>
87+
onCanPlayThroughCapture?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>>
6588
onDurationChange?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>>
89+
onDurationChangeCapture?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>>
6690
onEmptied?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>>
91+
onEmptiedCapture?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>>
6792
onEncrypted?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>>
93+
onEncryptedCapture?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>>
6894
onEnded?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>>
95+
onEndedCapture?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>>
6996
onLoadedData?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>>
97+
onLoadedDataCapture?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>>
7098
onLoadedMetadata?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>>
99+
onLoadedMetadataCapture?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>>
71100
onLoadStart?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>>
101+
onLoadStartCapture?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>>
72102
onPause?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>>
103+
onPauseCapture?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>>
73104
onPlay?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>>
105+
onPlayCapture?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>>
74106
onPlaying?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>>
107+
onPlayingCapture?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>>
75108
onProgress?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>>
109+
onProgressCapture?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>>
76110
onRateChange?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>>
111+
onRateChangeCapture?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>>
77112
onSeeked?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>>
113+
onSeekedCapture?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>>
78114
onSeeking?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>>
115+
onSeekingCapture?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>>
79116
onStalled?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>>
117+
onStalledCapture?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>>
80118
onSuspend?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>>
119+
onSuspendCapture?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>>
81120
onTimeUpdate?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>>
121+
onTimeUpdateCapture?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>>
82122
onVolumeChange?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>>
123+
onVolumeChangeCapture?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>>
83124
onWaiting?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>>
125+
onWaitingCapture?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>>
84126

85127
// MouseEvents
86128
onClick?: React.MouseEventHandler<E> | Observable<React.MouseEventHandler<E>>
129+
onClickCapture?: React.MouseEventHandler<E> | Observable<React.MouseEventHandler<E>>
87130
onContextMenu?: React.MouseEventHandler<E> | Observable<React.MouseEventHandler<E>>
131+
onContextMenuCapture?: React.MouseEventHandler<E> | Observable<React.MouseEventHandler<E>>
88132
onDoubleClick?: React.MouseEventHandler<E> | Observable<React.MouseEventHandler<E>>
133+
onDoubleClickCapture?: React.MouseEventHandler<E> | Observable<React.MouseEventHandler<E>>
89134
onDrag?: React.DragEventHandler<E> | Observable<React.DragEventHandler<E>>
135+
onDragCapture?: React.DragEventHandler<E> | Observable<React.DragEventHandler<E>>
90136
onDragEnd?: React.DragEventHandler<E> | Observable<React.DragEventHandler<E>>
137+
onDragEndCapture?: React.DragEventHandler<E> | Observable<React.DragEventHandler<E>>
91138
onDragEnter?: React.DragEventHandler<E> | Observable<React.DragEventHandler<E>>
139+
onDragEnterCapture?: React.DragEventHandler<E> | Observable<React.DragEventHandler<E>>
92140
onDragExit?: React.DragEventHandler<E> | Observable<React.DragEventHandler<E>>
141+
onDragExitCapture?: React.DragEventHandler<E> | Observable<React.DragEventHandler<E>>
93142
onDragLeave?: React.DragEventHandler<E> | Observable<React.DragEventHandler<E>>
143+
onDragLeaveCapture?: React.DragEventHandler<E> | Observable<React.DragEventHandler<E>>
94144
onDragOver?: React.DragEventHandler<E> | Observable<React.DragEventHandler<E>>
145+
onDragOverCapture?: React.DragEventHandler<E> | Observable<React.DragEventHandler<E>>
95146
onDragStart?: React.DragEventHandler<E> | Observable<React.DragEventHandler<E>>
147+
onDragStartCapture?: React.DragEventHandler<E> | Observable<React.DragEventHandler<E>>
96148
onDrop?: React.DragEventHandler<E> | Observable<React.DragEventHandler<E>>
149+
onDropCapture?: React.DragEventHandler<E> | Observable<React.DragEventHandler<E>>
97150
onMouseDown?: React.MouseEventHandler<E> | Observable<React.MouseEventHandler<E>>
151+
onMouseDownCapture?: React.MouseEventHandler<E> | Observable<React.MouseEventHandler<E>>
98152
onMouseEnter?: React.MouseEventHandler<E> | Observable<React.MouseEventHandler<E>>
99153
onMouseLeave?: React.MouseEventHandler<E> | Observable<React.MouseEventHandler<E>>
100154
onMouseMove?: React.MouseEventHandler<E> | Observable<React.MouseEventHandler<E>>
155+
onMouseMoveCapture?: React.MouseEventHandler<E> | Observable<React.MouseEventHandler<E>>
101156
onMouseOut?: React.MouseEventHandler<E> | Observable<React.MouseEventHandler<E>>
157+
onMouseOutCapture?: React.MouseEventHandler<E> | Observable<React.MouseEventHandler<E>>
102158
onMouseOver?: React.MouseEventHandler<E> | Observable<React.MouseEventHandler<E>>
159+
onMouseOverCapture?: React.MouseEventHandler<E> | Observable<React.MouseEventHandler<E>>
103160
onMouseUp?: React.MouseEventHandler<E> | Observable<React.MouseEventHandler<E>>
161+
onMouseUpCapture?: React.MouseEventHandler<E> | Observable<React.MouseEventHandler<E>>
104162

105163
// Selection Events
106164
onSelect?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>>
165+
onSelectCapture?: React.ReactEventHandler<E> | Observable<React.ReactEventHandler<E>>
107166

108167
// Touch Events
109168
onTouchCancel?: React.TouchEventHandler<E> | Observable<React.TouchEventHandler<E>>
169+
onTouchCancelCapture?: React.TouchEventHandler<E> | Observable<React.TouchEventHandler<E>>
110170
onTouchEnd?: React.TouchEventHandler<E> | Observable<React.TouchEventHandler<E>>
171+
onTouchEndCapture?: React.TouchEventHandler<E> | Observable<React.TouchEventHandler<E>>
111172
onTouchMove?: React.TouchEventHandler<E> | Observable<React.TouchEventHandler<E>>
173+
onTouchMoveCapture?: React.TouchEventHandler<E> | Observable<React.TouchEventHandler<E>>
112174
onTouchStart?: React.TouchEventHandler<E> | Observable<React.TouchEventHandler<E>>
175+
onTouchStartCapture?: React.TouchEventHandler<E> | Observable<React.TouchEventHandler<E>>
113176

114177
// UI Events
115178
onScroll?: React.UIEventHandler<E> | Observable<React.UIEventHandler<E>>
179+
onScrollCapture?: React.UIEventHandler<E> | Observable<React.UIEventHandler<E>>
116180

117181
// Wheel Events
118182
onWheel?: React.WheelEventHandler<E> | Observable<React.WheelEventHandler<E>>
183+
onWheelCapture?: React.WheelEventHandler<E> | Observable<React.WheelEventHandler<E>>
119184

120185
// Animation Events
121186
onAnimationStart?: React.AnimationEventHandler<E> | Observable<React.AnimationEventHandler<E>>
187+
onAnimationStartCapture?: React.AnimationEventHandler<E> | Observable<React.AnimationEventHandler<E>>
122188
onAnimationEnd?: React.AnimationEventHandler<E> | Observable<React.AnimationEventHandler<E>>
189+
onAnimationEndCapture?: React.AnimationEventHandler<E> | Observable<React.AnimationEventHandler<E>>
123190
onAnimationIteration?: React.AnimationEventHandler<E> | Observable<React.AnimationEventHandler<E>>
191+
onAnimationIterationCapture?: React.AnimationEventHandler<E> | Observable<React.AnimationEventHandler<E>>
124192

125193
// Transition Events
126194
onTransitionEnd?: React.TransitionEventHandler<E> | Observable<React.TransitionEventHandler<E>>
195+
onTransitionEndCapture?: React.TransitionEventHandler<E> | Observable<React.TransitionEventHandler<E>>
127196
}
128197

129198
export interface ObservableReactHTMLAttributes<E> extends ObservableReactDOMAttributes<E> {

0 commit comments

Comments
 (0)