/** Event detail extended with the originating DOM event. */ export type WithOriginalEvent< T extends Record = Record, > = T & { originalEvent?: Event; }; export type OriginalEventDetail = { originalEvent?: Event; }; export type ValueEventDetail = { value: T; }; export type ValueChangeEventDetail = WithOriginalEvent<{ value: T; }>; export type VisibleChangeEventDetail = WithOriginalEvent<{ visible: boolean; }>; export type NodeEventDetail = { node: TNode; }; export type CheckedEventDetail = { checked: boolean; }; export type CheckedValueEventDetail = { checked: boolean; value: TValue; }; export type IndexEventDetail = { index: number; }; export type CommandEventDetail = { command: string; }; export type ItemClickEventDetail = WithOriginalEvent<{ item: TItem; }>; export type FileEventDetail = WithOriginalEvent<{ file?: File; }>;