UNPKG

@ariakit/react-core

Version:

Ariakit React core

42 lines (39 loc) 1.18 kB
"use client"; import { useCollectionStoreProps } from "./QHXYX2YB.js"; import { useStore, useStoreProps } from "./Q3KUZPD7.js"; import { useId } from "./K2XTQB3X.js"; // src/composite/composite-store.ts import * as Core from "@ariakit/core/composite/composite-store"; function useCompositeStoreOptions(props) { const id = useId(props.id); return { id, ...props }; } function useCompositeStoreProps(store, update, props) { store = useCollectionStoreProps(store, update, props); useStoreProps(store, props, "activeId", "setActiveId"); useStoreProps(store, props, "includesBaseElement"); useStoreProps(store, props, "virtualFocus"); useStoreProps(store, props, "orientation"); useStoreProps(store, props, "rtl"); useStoreProps(store, props, "focusLoop"); useStoreProps(store, props, "focusWrap"); useStoreProps(store, props, "focusShift"); return store; } function useCompositeStore(props = {}) { props = useCompositeStoreOptions(props); const [store, update] = useStore(Core.createCompositeStore, props); return useCompositeStoreProps(store, update, props); } export { useCompositeStoreOptions, useCompositeStoreProps, useCompositeStore };