UNPKG

@varlet/ui

Version:

A Vue3 component library based on Material Design 2 and 3, supporting mobile and desktop.

41 lines (40 loc) 1.17 kB
import { useChildren, useParent } from "@varlet/use"; const SWIPE_BIND_SWIPE_ITEM_KEY = Symbol("SWIPE_BIND_SWIPE_ITEM_KEY"); const SWIPE_RESIZE_DISPATCHER_BIND_SWIPE_RESIZE_LISTENER_KEY = Symbol( "SWIPE_RESIZE_DISPATCHER_BIND_SWIPE_RESIZE_LISTENER_KEY" ); function useSwipeItems() { const { childProviders, length, bindChildren } = useChildren( SWIPE_BIND_SWIPE_ITEM_KEY ); return { length, swipeItems: childProviders, bindSwipeItems: bindChildren }; } function useSwipeResizeListeners() { const { childProviders, bindChildren } = useChildren( SWIPE_RESIZE_DISPATCHER_BIND_SWIPE_RESIZE_LISTENER_KEY ); return { swipeResizeListeners: childProviders, bindSwipeResizeListeners: bindChildren }; } function useSwipeResizeDispatcher() { const { parentProvider, bindParent } = useParent( SWIPE_RESIZE_DISPATCHER_BIND_SWIPE_RESIZE_LISTENER_KEY ); return { swipeResizeDispatcher: parentProvider, bindSwipeResizeDispatcher: bindParent }; } export { SWIPE_BIND_SWIPE_ITEM_KEY, SWIPE_RESIZE_DISPATCHER_BIND_SWIPE_RESIZE_LISTENER_KEY, useSwipeItems, useSwipeResizeDispatcher, useSwipeResizeListeners };