use ohos_arkui_sys::*;

use ohos_enum_macro::EnumFrom;

#[derive(Debug, Clone, Copy, PartialEq, Eq, EnumFrom)]
#[enum_from_config(ArkUI_NodeEventType, "ArkUI_NodeEventType_NODE_")]
pub enum NodeEventType {
    TouchEvent,
    EventOnAppear,
    EventOnDisappear,
    EventOnAreaChange,
    OnFocus,
    OnBlur,
    OnClick,
    OnTouchIntercept,
    EventOnVisibleAreaChange,
    OnHover,
    OnMouse,
    EventOnAttach,
    EventOnDetach,
    OnAccessibilityActions,
    OnPreDrag,
    OnDragStart,
    OnDragEnter,
    OnDragMove,
    OnDragLeave,
    OnDrop,
    OnDragEnd,
    TextOnDetectResultUpdate,
    ImageOnComplete,
    ImageOnError,
    ImageOnSvgPlayFinish,
    ImageOnDownloadProgress,
    ToggleOnChange,
    TextInputOnChange,
    TextInputOnSubmit,
    TextInputOnCut,
    TextInputOnPaste,
    TextInputOnTextSelectionChange,
    TextInputOnEditChange,
    TextInputOnContentSizeChange,
    TextInputOnInputFilterError,
    TextInputOnContentScroll,
    TextInputOnWillInsert,
    TextInputOnDidInsert,
    TextInputOnWillDelete,
    TextInputOnDidDelete,
    TextAreaOnChange,
    TextAreaOnPaste,
    TextAreaOnTextSelectionChange,
    TextAreaOnInputFilterError,
    TextAreaOnContentScroll,
    TextAreaOnEditChange,
    TextAreaOnSubmit,
    TextAreaOnContentSizeChange,
    TextAreaOnWillInsert,
    TextAreaOnDidInsert,
    TextAreaOnWillDelete,
    TextAreaOnDidDelete,
    CheckboxEventOnChange,
    DatePickerEventOnDateChange,
    TimePickerEventOnChange,
    TextPickerEventOnChange,
    CalendarPickerEventOnChange,
    SliderEventOnChange,
    RadioEventOnChange,
    ImageAnimatorEventOnStart,
    ImageAnimatorEventOnPause,
    ImageAnimatorEventOnRepeat,
    ImageAnimatorEventOnCancel,
    ImageAnimatorEventOnFinish,
    SwiperEventOnChange,
    SwiperEventOnAnimationStart,
    SwiperEventOnAnimationEnd,
    SwiperEventOnGestureSwipe,
    SwiperEventOnContentDidScroll,
    ScrollEventOnScroll,
    ScrollEventOnScrollFrameBegin,
    ScrollEventOnWillScroll,
    ScrollEventOnDidScroll,
    ScrollEventOnScrollStart,
    ScrollEventOnScrollStop,
    ScrollEventOnScrollEdge,
    ScrollEventOnReachStart,
    ScrollEventOnReachEnd,
    ListOnScrollIndex,
    ListOnWillScroll,
    ListOnDidScroll,
    RefreshStateChange,
    RefreshOnRefresh,
    RefreshOnOffsetChange,
    OnWillScroll,
    WaterFlowOnDidScroll,
    WaterFlowOnScrollIndex,
}
