Skip to main content

View State Types

Types for view state, render content props, and style props.

DraxViewState

Current drag/receive state of a view, provided to renderContent.

interface DraxViewState {
dragStatus: DraxViewDragStatus;
receiveStatus: DraxViewReceiveStatus;
dragAbsolutePosition?: Position;
dragTranslation?: Position;
dragTranslationRatio?: Position;
dragOffset?: Position;
grabOffset?: Position;
grabOffsetRatio?: Position;
draggingOverReceiver?: DraxEventViewData;
receiveOffset?: Position;
receiveOffsetRatio?: Position;
receivingDrag?: DraxEventViewData;
}

DraxViewDragStatus (enum)

enum DraxViewDragStatus {
Inactive, // Not being dragged
Dragging, // Currently being dragged
Released, // Released, snap in progress
}

DraxViewReceiveStatus (enum)

enum DraxViewReceiveStatus {
Inactive, // Nothing hovering
Receiving, // Something is hovering over this view
}

DraxTrackingStatus

interface DraxTrackingStatus {
dragging: boolean;
receiving: boolean;
}

DraxRenderContentProps

Props passed to renderContent and renderHoverContent.

interface DraxRenderContentProps {
viewState?: DraxViewState;
trackingStatus?: DraxTrackingStatus;
hover: boolean; // true in hover layer copy
children: ReactNode;
dimensions?: ViewDimensions;
}

DraxStyleProp

type DraxStyleProp = StyleProp<ViewStyle>;

AnimatedViewStylePropWithoutLayout

Used for hover styles — supports animated values but no layout props.

type AnimatedViewStylePropWithoutLayout =
| StyleProp<ViewStyle>
| StyleProp<AnimatedStyle<StyleProp<ViewStyle>>>;