react/event/js/
events.rs

1use js_sys::Object;
2use wasm_bindgen::prelude::*;
3
4use super::BaseSyntheticEvent;
5
6#[wasm_bindgen]
7extern "C" {
8    /// React synthetic ClipboardEvent
9    #[wasm_bindgen(extends = Object, extends = BaseSyntheticEvent)]
10    #[derive(Debug, Clone, PartialEq, Eq)]
11    pub type ClipboardEvent;
12    #[wasm_bindgen(method, getter = clipboardData)]
13    pub fn clipboard_data(this: &ClipboardEvent) -> web_sys::DataTransfer;
14
15    /// React synthetic CompositionEvent
16    #[wasm_bindgen(extends = Object, extends = BaseSyntheticEvent)]
17    #[derive(Debug, Clone, PartialEq, Eq)]
18    pub type CompositionEvent;
19    #[wasm_bindgen(method, getter)]
20    pub fn data(this: &CompositionEvent) -> String;
21
22    /// React synthetic FocusEvent
23    #[wasm_bindgen(extends = Object, extends = BaseSyntheticEvent)]
24    #[derive(Debug, Clone, PartialEq, Eq)]
25    pub type FocusEvent;
26    #[wasm_bindgen(method, getter = relatedTarget)]
27    pub fn related_target(this: &FocusEvent) -> Option<web_sys::EventTarget>;
28
29    /// React synthetic FormEvent
30    #[wasm_bindgen(extends = Object, extends = BaseSyntheticEvent)]
31    #[derive(Debug, Clone, PartialEq, Eq)]
32    pub type FormEvent;
33
34    /// React synthetic KeyboardEvent
35    #[wasm_bindgen(extends = Object, extends = BaseSyntheticEvent)]
36    #[derive(Debug, Clone, PartialEq, Eq)]
37    pub type KeyboardEvent;
38    #[wasm_bindgen(method, getter = altKey)]
39    pub fn alt_key(this: &KeyboardEvent) -> bool;
40    #[wasm_bindgen(method, getter = charCode)]
41    #[deprecated]
42    pub fn char_code(this: &KeyboardEvent) -> u32;
43    #[wasm_bindgen(method, getter = ctrlKey)]
44    pub fn ctrl_key(this: &KeyboardEvent) -> bool;
45    #[wasm_bindgen(method, getter)]
46    pub fn code(this: &KeyboardEvent) -> String;
47    /// See [DOM Level 3 Events spec](https://www.w3.org/TR/uievents-key/#keys-modifier). for a list of valid (case-sensitive) arguments to this method.
48    #[wasm_bindgen(method, js_name = getModifierState)]
49    pub fn get_modifier_state(this: &KeyboardEvent, key: &str) -> bool;
50    /// See the [DOM Level 3 Events spec](https://www.w3.org/TR/uievents-key/#named-key-attribute-values). for possible values
51    #[wasm_bindgen(method, getter)]
52    pub fn key(this: &KeyboardEvent) -> String;
53    #[wasm_bindgen(method, getter = keyCode)]
54    #[deprecated]
55    pub fn key_code(this: &KeyboardEvent) -> u32;
56    #[wasm_bindgen(method, getter)]
57    pub fn locale(this: &KeyboardEvent) -> String;
58    #[wasm_bindgen(method, getter)]
59    pub fn location(this: &KeyboardEvent) -> u32;
60    #[wasm_bindgen(method, getter = metaKey)]
61    pub fn meta_key(this: &KeyboardEvent) -> bool;
62    #[wasm_bindgen(method, getter)]
63    pub fn repeat(this: &KeyboardEvent) -> bool;
64    #[wasm_bindgen(method, getter = shiftKey)]
65    pub fn shift_key(this: &KeyboardEvent) -> bool;
66    #[wasm_bindgen(method, getter)]
67    #[deprecated]
68    pub fn which(this: &KeyboardEvent) -> u32;
69
70    /// React synthetic TouchEvent
71    #[wasm_bindgen(extends = Object, extends = BaseSyntheticEvent, extends = super::UiEvent)]
72    #[derive(Debug, Clone, PartialEq, Eq)]
73    pub type TouchEvent;
74    #[wasm_bindgen(method, getter = altKey)]
75    pub fn alt_key(this: &TouchEvent) -> bool;
76    #[wasm_bindgen(method, getter = changedTouches)]
77    pub fn changed_touches(this: &TouchEvent) -> web_sys::TouchList;
78    #[wasm_bindgen(method, getter = ctrlKey)]
79    pub fn ctrl_key(this: &TouchEvent) -> bool;
80    /// See [DOM Level 3 Events spec](https://www.w3.org/TR/uievents-key/#keys-modifier). for a list of valid (case-sensitive) arguments to this method.
81    #[wasm_bindgen(method, js_name = getModifierState)]
82    pub fn get_modifier_state(this: &TouchEvent, key: &str) -> bool;
83    #[wasm_bindgen(method, getter = metaKey)]
84    pub fn meta_key(this: &TouchEvent) -> bool;
85    #[wasm_bindgen(method, getter = shiftKey)]
86    pub fn shift_key(this: &TouchEvent) -> bool;
87    #[wasm_bindgen(method, getter = targetTouches)]
88    pub fn target_touches(this: &TouchEvent) -> web_sys::TouchList;
89    #[wasm_bindgen(method, getter)]
90    pub fn touches(this: &TouchEvent) -> web_sys::TouchList;
91
92    /// React synthetic DragEvent
93    #[wasm_bindgen(extends = Object, extends = BaseSyntheticEvent, extends = super::UiEvent, extends = super::MouseEvent)]
94    #[derive(Debug, Clone, PartialEq, Eq)]
95    pub type DragEvent;
96    #[wasm_bindgen(method, getter = dataTransfer)]
97    pub fn data_transfer(this: &DragEvent) -> web_sys::DataTransfer;
98
99    /// React synthetic DragEvent
100    #[wasm_bindgen(extends = Object, extends = BaseSyntheticEvent, extends = super::UiEvent, extends = super::MouseEvent)]
101    #[derive(Debug, Clone, PartialEq, Eq)]
102    pub type PointerEvent;
103    #[wasm_bindgen(method, getter = pointerId)]
104    pub fn pointer_id(this: &PointerEvent) -> i32;
105    #[wasm_bindgen(method, getter)]
106    pub fn pressure(this: &PointerEvent) -> f32;
107    #[wasm_bindgen(method, getter = tangentialPressure)]
108    pub fn tangential_pressure(this: &PointerEvent) -> f32;
109    #[wasm_bindgen(method, getter = tiltX)]
110    pub fn tilt_x(this: &PointerEvent) -> i32;
111    #[wasm_bindgen(method, getter = tiltY)]
112    pub fn tilt_y(this: &PointerEvent) -> i32;
113    #[wasm_bindgen(method, getter)]
114    pub fn twist(this: &PointerEvent) -> i32;
115    #[wasm_bindgen(method, getter)]
116    pub fn width(this: &PointerEvent) -> i32;
117    #[wasm_bindgen(method, getter)]
118    pub fn height(this: &PointerEvent) -> i32;
119    #[wasm_bindgen(method, getter = pointerType)]
120    pub fn pointer_type(this: &PointerEvent) -> String;
121    #[wasm_bindgen(method, getter = isPrimary)]
122    pub fn is_primary(this: &PointerEvent) -> bool;
123
124    /// React synthetic WheelEvent
125    #[wasm_bindgen(extends = Object, extends = BaseSyntheticEvent, extends = super::UiEvent, extends = super::MouseEvent)]
126    #[derive(Debug, Clone, PartialEq, Eq)]
127    pub type WheelEvent;
128    #[wasm_bindgen(method, getter = deltaMode)]
129    pub fn delta_mode(this: &WheelEvent) -> u32;
130    #[wasm_bindgen(method, getter = deltaX)]
131    pub fn delta_x(this: &WheelEvent) -> f64;
132    #[wasm_bindgen(method, getter = deltaY)]
133    pub fn delta_y(this: &WheelEvent) -> f64;
134    #[wasm_bindgen(method, getter = deltaZ)]
135    pub fn delta_z(this: &WheelEvent) -> f64;
136
137    /// React synthetic AnimationEvent
138    #[wasm_bindgen(extends = Object, extends = BaseSyntheticEvent)]
139    #[derive(Debug, Clone, PartialEq, Eq)]
140    pub type AnimationEvent;
141    #[wasm_bindgen(method, getter = animationName)]
142    pub fn animation_name(this: &AnimationEvent) -> String;
143    #[wasm_bindgen(method, getter = elapsedTime)]
144    pub fn elapsed_time(this: &AnimationEvent) -> f32;
145    #[wasm_bindgen(method, getter = pseudoElement)]
146    pub fn pseudo_element(this: &AnimationEvent) -> String;
147
148    /// React synthetic TransitionEvent
149    #[wasm_bindgen(extends = Object, extends = BaseSyntheticEvent)]
150    #[derive(Debug, Clone, PartialEq, Eq)]
151    pub type TransitionEvent;
152    #[wasm_bindgen(method, getter = elapsedTime)]
153    pub fn elapsed_time(this: &TransitionEvent) -> f32;
154    #[wasm_bindgen(method, getter = propertyName)]
155    pub fn property_name(this: &TransitionEvent) -> String;
156    #[wasm_bindgen(method, getter = pseudoElement)]
157    pub fn pseudo_element(this: &TransitionEvent) -> String;
158
159    /// React synthetic ChangeEvent
160    #[wasm_bindgen(extends = Object, extends = BaseSyntheticEvent)]
161    #[derive(Debug, Clone, PartialEq, Eq)]
162    pub type ChangeEvent;
163}