Releases: react-native-motion-kit/react-native-swipe-deck
Release list
@react-native-motion-kit/swipe-deck@1.3.1
Patch Changes
-
#15
3521a83Thanks @saseungmin! - Add the Rspress documentation site and refresh the npm package metadata. -
#18
4a326d6Thanks @saseungmin! - Migrate repository tooling from Yarn to pnpm while keeping the npm package published from the repository root.
@react-native-motion-kit/swipe-deck@1.3.0
Minor Changes
-
#13
335c5cfThanks @saseungmin! - Addsourceto committed swipe events so apps can distinguish gesture commits from programmatic action commits.ProfileDeck.useDeckEventListener("swipe", (event) => { if (event.source === "gesture") { console.log("User swiped", event.direction); return; } console.log("Programmatic action swiped", event.direction); });
event.sourceis'gesture'when a pan release commits the swipe and'programmatic'when
actions.swipeLeft()oractions.swipeRight()commits it.programmaticdoes not mean button; map
it to a button only when that matches your app's UI.This is a TypeScript-visible event payload shape change:
sourceis a required field on
SwipeEvent<T>, so object literals, fixtures, oruseDeckEvent('swipe', initialValue)values must
include it.
@react-native-motion-kit/swipe-deck@1.2.0
Minor Changes
-
#10
0a9615bThanks @saseungmin! - Add Root-levelallowedDirectionsto restrict accepted dismiss directions. Disallowed gesture releases keep the normal snap-back behavior, while programmatic swipe actions returnfalsebefore starting dismiss motion.<ProfileDeck.Root data={profiles} getKey={(item) => item.id} allowedDirections={["right"]} > <ProfileDeck.Card> {({ item }) => <ProfileCard profile={item} />} </ProfileDeck.Card> </ProfileDeck.Root>
Use
allowedDirections={["left"]}for a pass-only deck, omit it for both directions, or pass[]to keep drag feedback while rejecting all dismisses. -
#12
96f1fc5Thanks @saseungmin! - AllowvisibleCardCount={1}to render only the active card.This is the lightest rendering budget for decks that do not need a visible next-card stack or
next-card promotion animation. The default remains3, andvisibleCardCount={2}still renders the
active card plus the immediate next card.<ProfileDeck.Root data={profiles} getKey={(item) => item.id} visibleCardCount={1} > <ProfileDeck.Card> {({ item }) => <ProfileCard profile={item} />} </ProfileDeck.Card> </ProfileDeck.Root>
@react-native-motion-kit/swipe-deck@1.1.0
Minor Changes
-
#9
da9b96eThanks @saseungmin! - Addinteraction.dismissDirectiontouseDeckInteraction()so UI-thread consumers can read the accepted dismiss side without waiting for JS swipe events or inferring from raw drag direction.function DeckDismissFeedback() { const { dismissDirection, phase } = ProfileDeck.useDeckInteraction(); const rightStyle = useAnimatedStyle(() => ({ opacity: phase.get() === "dismissing" && dismissDirection.get() === "right" ? 1 : 0, })); return <Animated.View style={rightStyle} />; }
-
#7
c3d8949Thanks @saseungmin! - Addinteraction.phasetouseDeckInteraction()so UI-thread consumers can distinguish idle, dragging, dismissing, and undoing deck lifecycles without inferring from progress or JS events.function DeckPhaseFeedback() { const { phase } = ProfileDeck.useDeckInteraction(); const dismissingStyle = useAnimatedStyle(() => ({ opacity: phase.get() === "dismissing" ? 1 : 0.32, })); return <Animated.View style={dismissingStyle} />; }
@react-native-motion-kit/swipe-deck@1.0.2
Patch Changes
-
#5
d30d558Thanks @saseungmin! - Lower the minimumvisibleCardCountto 2 while keeping the default at 3, allowing compact decks to render only the active card and the immediate next card.<SwipeDeck.Root data={profiles} getKey={(item) => item.id} visibleCardCount={2} > <SwipeDeck.Card> {({ item }) => <ProfileCard profile={item} />} </SwipeDeck.Card> </SwipeDeck.Root>
@react-native-motion-kit/swipe-deck@1.0.1
Patch Changes
- #3
a6b2b6bThanks @saseungmin! - Update the English and Korean READMEs with the React Native Motion Kit logo and remove internal API direction notes from the public docs.
@react-native-motion-kit/swipe-deck@1.0.0
Major Changes
-
32f1f9aThanks @saseungmin! - Initial stable release of@react-native-motion-kit/swipe-deck.- Add factory-scoped
createSwipeDeck<T>()components and hooks. - Render a bounded swipe deck powered by Reanimated and Gesture Handler.
- Support programmatic swipe actions, undo, deck state, and event hooks.
- Add customizable Tinder-style, action, and undo motion configuration.
- Include example app, documentation, CI, and release setup.
- Add factory-scoped