UNPKG

@ark-ui/solid

Version:

A collection of unstyled, accessible UI components for Solid, utilizing state machines for seamless interaction.

53 lines (47 loc) 1.28 kB
import { usePresence } from "./OEGORBLT.jsx"; import { composeRefs } from "./PT2CJE3O.jsx"; import { createSplitProps } from "./6WEDGJKQ.jsx"; import { ark } from "./UFYZ7HLU.jsx"; import { createContext } from "./UZJJWJQM.jsx"; // src/components/presence/presence.tsx import { mergeProps } from "@zag-js/solid"; import { Show } from "solid-js"; // src/components/presence/split-presence-props.ts var splitPresenceProps = (props) => createSplitProps()(props, [ "immediate", "lazyMount", "onExitComplete", "present", "skipAnimationOnMount", "unmountOnExit" ]); // src/components/presence/presence.tsx var Presence = (props) => { const [presenceProps, localProps] = splitPresenceProps(props); const api = usePresence(presenceProps); const mergedProps = mergeProps(() => api().presenceProps, localProps); return <Show when={!api().unmounted}> <ark.div {...mergedProps} ref={composeRefs(api().ref, props.ref)} data-scope="presence" data-part="root" /> </Show>; }; // src/components/presence/use-presence-context.ts var [PresenceProvider, usePresenceContext] = createContext({ hookName: "usePresenceContext", providerName: "<PresenceProvider />" }); export { splitPresenceProps, Presence, PresenceProvider, usePresenceContext };