@ariakit/react-core
Version:
Ariakit React core
42 lines (39 loc) • 1.18 kB
JavaScript
"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
};