@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
JavaScript
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
};