UNPKG

@ark-ui/solid

Version:

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

331 lines (304 loc) 10.8 kB
import { PresenceProvider, splitPresenceProps, usePresenceContext } from "./NEU4F4NG.jsx"; import { usePresence } from "./OEGORBLT.jsx"; import { composeRefs } from "./PT2CJE3O.jsx"; import { RenderStrategyProvider, splitRenderStrategyProps, useRenderStrategyContext } from "./VNMGX67M.jsx"; import { createSplitProps } from "./6WEDGJKQ.jsx"; import { useEnvironmentContext } from "./HDGILMRT.jsx"; import { useLocaleContext } from "./HOPBYFHD.jsx"; import { runIfFn } from "./KGOB2IMX.jsx"; import { ark } from "./UFYZ7HLU.jsx"; import { createContext } from "./UZJJWJQM.jsx"; import { __export } from "./7IUG3E2V.jsx"; // src/components/drawer/drawer-backdrop.tsx import { mergeProps } from "@zag-js/solid"; import { Show } from "solid-js"; // src/components/drawer/use-drawer-context.ts var [DrawerProvider, useDrawerContext] = createContext({ hookName: "useDrawerContext", providerName: "<DrawerProvider />" }); // src/components/drawer/drawer-backdrop.tsx var DrawerBackdrop = (props) => { const drawer3 = useDrawerContext(); const renderStrategyProps = useRenderStrategyContext(); const presence = usePresence(mergeProps(renderStrategyProps, () => ({ present: drawer3().open }))); const mergedProps = mergeProps( () => drawer3().getBackdropProps(), () => presence().presenceProps, props ); return <Show when={!presence().unmounted}> <ark.div {...mergedProps} ref={composeRefs(presence().ref, props.ref)} /> </Show>; }; // src/components/drawer/drawer-close-trigger.tsx import { mergeProps as mergeProps2 } from "@zag-js/solid"; var DrawerCloseTrigger = (props) => { const context = useDrawerContext(); const mergedProps = mergeProps2(() => context().getCloseTriggerProps(), props); return <ark.button {...mergedProps} />; }; // src/components/drawer/drawer-content.tsx import { mergeProps as mergeProps3 } from "@zag-js/solid"; import { Show as Show2 } from "solid-js"; var DrawerContent = (props) => { const [contentProps, localProps] = createSplitProps()(props, ["draggable"]); const drawer3 = useDrawerContext(); const presence = usePresenceContext(); const mergedProps = mergeProps3( () => drawer3().getContentProps({ draggable: true, ...contentProps }), () => presence().presenceProps, localProps ); return <Show2 when={!presence().unmounted}> <ark.div {...mergedProps} ref={composeRefs(presence().ref, localProps.ref)} /> </Show2>; }; // src/components/drawer/drawer-description.tsx import { mergeProps as mergeProps4 } from "@zag-js/solid"; var DrawerDescription = (props) => { const drawer3 = useDrawerContext(); const mergedProps = mergeProps4(() => drawer3().getDescriptionProps(), props); return <ark.div {...mergedProps} />; }; // src/components/drawer/drawer-context.tsx var DrawerContext = (props) => props.children(useDrawerContext()); // src/components/drawer/drawer-positioner.tsx import { mergeProps as mergeProps5 } from "@zag-js/solid"; import { Show as Show3 } from "solid-js"; var DrawerPositioner = (props) => { const drawer3 = useDrawerContext(); const presence = usePresenceContext(); const mergedProps = mergeProps5(() => drawer3().getPositionerProps(), props); return <Show3 when={!presence().unmounted}> <ark.div {...mergedProps} /> </Show3>; }; // src/components/drawer/drawer-grabber.tsx import { mergeProps as mergeProps6 } from "@zag-js/solid"; var DrawerGrabber = (props) => { const drawer3 = useDrawerContext(); const mergedProps = mergeProps6(() => drawer3().getGrabberProps(), props); return <ark.div {...mergedProps} />; }; // src/components/drawer/drawer-grabber-indicator.tsx import { mergeProps as mergeProps7 } from "@zag-js/solid"; var DrawerGrabberIndicator = (props) => { const drawer3 = useDrawerContext(); const mergedProps = mergeProps7(() => drawer3().getGrabberIndicatorProps(), props); return <ark.div {...mergedProps} />; }; // src/components/drawer/drawer-root.tsx import { mergeProps as mergeProps8 } from "@zag-js/solid"; // src/components/drawer/use-drawer.ts import * as drawer from "@zag-js/drawer"; import { normalizeProps, useMachine } from "@zag-js/solid"; import { createMemo, createUniqueId } from "solid-js"; // src/components/drawer/use-drawer-stack-store.ts import { createContext as createSolidContext, useContext } from "solid-js"; var DrawerStackStoreContext = createSolidContext(); var DrawerStackStoreProvider = DrawerStackStoreContext.Provider; var useDrawerStackStore = () => useContext(DrawerStackStoreContext); // src/components/drawer/use-drawer.ts var useDrawer = (props) => { const locale = useLocaleContext(); const environment = useEnvironmentContext(); const id = createUniqueId(); const stack = useDrawerStackStore(); const machineProps = createMemo(() => ({ id, dir: locale().dir, getRootNode: environment().getRootNode, stack, ...runIfFn(props) })); const service = useMachine(drawer.machine, machineProps); return createMemo(() => drawer.connect(service, normalizeProps)); }; // src/components/drawer/drawer-root.tsx var DrawerRoot = (props) => { const [presenceProps, drawerProps] = splitPresenceProps(props); const [renderStrategyProps] = splitRenderStrategyProps(presenceProps); const [useDrawerProps, localProps] = createSplitProps()(drawerProps, [ "id", "ids", "open", "defaultOpen", "onOpenChange", "closeOnInteractOutside", "closeOnEscape", "snapPoints", "swipeDirection", "snapToSequentialPoints", "swipeVelocityThreshold", "closeThreshold", "preventDragOnScroll", "stack", "snapPoint", "defaultSnapPoint", "onSnapPointChange", "modal", "trapFocus", "restoreFocus", "preventScroll", "initialFocusEl", "finalFocusEl", "role", "onInteractOutside", "onEscapeKeyDown", "onPointerDownOutside", "onFocusOutside", "onRequestDismiss", "triggerValue", "defaultTriggerValue", "onTriggerValueChange" ]); const drawer3 = useDrawer(useDrawerProps); const presence = usePresence(mergeProps8(presenceProps, () => ({ present: drawer3().open }))); return <DrawerProvider value={drawer3}> <RenderStrategyProvider value={renderStrategyProps}> <PresenceProvider value={presence}>{localProps.children}</PresenceProvider> </RenderStrategyProvider> </DrawerProvider>; }; // src/components/drawer/drawer-root-provider.tsx import { mergeProps as mergeProps9 } from "@zag-js/solid"; var DrawerRootProvider = (props) => { const [presenceProps, drawerProps] = splitPresenceProps(props); const [renderStrategyProps] = splitRenderStrategyProps(presenceProps); const presence = usePresence(mergeProps9(() => ({ present: drawerProps.value().open }), presenceProps)); return <DrawerProvider value={drawerProps.value}> <RenderStrategyProvider value={renderStrategyProps}> <PresenceProvider value={presence}>{drawerProps.children}</PresenceProvider> </RenderStrategyProvider> </DrawerProvider>; }; // src/components/drawer/drawer-title.tsx import { mergeProps as mergeProps10 } from "@zag-js/solid"; var DrawerTitle = (props) => { const drawer3 = useDrawerContext(); const mergedProps = mergeProps10(() => drawer3().getTitleProps(), props); return <ark.h2 {...mergedProps} />; }; // src/components/drawer/drawer-trigger.tsx import { mergeProps as mergeProps11 } from "@zag-js/solid"; var DrawerTrigger = (props) => { const [triggerProps, localProps] = createSplitProps()(props, ["value"]); const drawer3 = useDrawerContext(); const presence = usePresenceContext(); const mergedProps = mergeProps11( () => drawer3().getTriggerProps(triggerProps), () => ({ "aria-controls": presence().unmounted && null }), localProps ); return <ark.button {...mergedProps} />; }; // src/components/drawer/drawer-indent.tsx import { mergeProps as mergeProps12 } from "@zag-js/solid"; // src/components/drawer/use-drawer-stack-context.ts var [DrawerStackProvider, useDrawerStackContext] = createContext({ hookName: "useDrawerStackContext", providerName: "<DrawerStackProvider />" }); // src/components/drawer/drawer-indent.tsx var DrawerIndent = (props) => { const stackApi = useDrawerStackContext(); const mergedProps = mergeProps12(() => stackApi().getIndentProps(), props); return <ark.div {...mergedProps} />; }; // src/components/drawer/drawer-indent-background.tsx import { mergeProps as mergeProps13 } from "@zag-js/solid"; var DrawerIndentBackground = (props) => { const stackApi = useDrawerStackContext(); const mergedProps = mergeProps13(() => stackApi().getIndentBackgroundProps(), props); return <ark.div {...mergedProps} />; }; // src/components/drawer/drawer-stack.tsx import * as drawer2 from "@zag-js/drawer"; import { normalizeProps as normalizeProps2 } from "@zag-js/solid"; import { createMemo as createMemo2 } from "solid-js"; import { createStore, reconcile } from "solid-js/store"; var DrawerStack = (props) => { const stack = drawer2.createStack(); const [snapshot, setSnapshot] = createStore(stack.getSnapshot()); stack.subscribe(() => setSnapshot(reconcile(stack.getSnapshot()))); const stackApi = createMemo2(() => drawer2.connectStack(snapshot, normalizeProps2)); return <DrawerStackStoreProvider value={stack}> <DrawerStackProvider value={stackApi}>{props.children}</DrawerStackProvider> </DrawerStackStoreProvider>; }; // src/components/drawer/drawer-swipe-area.tsx import { mergeProps as mergeProps14 } from "@zag-js/solid"; var DrawerSwipeArea = (props) => { const drawer3 = useDrawerContext(); const mergedProps = mergeProps14(() => drawer3().getSwipeAreaProps(), props); return <ark.div {...mergedProps} />; }; // src/components/drawer/drawer.ts var drawer_exports = {}; __export(drawer_exports, { Backdrop: () => DrawerBackdrop, CloseTrigger: () => DrawerCloseTrigger, Content: () => DrawerContent, Context: () => DrawerContext, Description: () => DrawerDescription, Grabber: () => DrawerGrabber, GrabberIndicator: () => DrawerGrabberIndicator, Indent: () => DrawerIndent, IndentBackground: () => DrawerIndentBackground, Positioner: () => DrawerPositioner, Root: () => DrawerRoot, RootProvider: () => DrawerRootProvider, Stack: () => DrawerStack, SwipeArea: () => DrawerSwipeArea, Title: () => DrawerTitle, Trigger: () => DrawerTrigger }); export { useDrawerContext, DrawerBackdrop, DrawerCloseTrigger, DrawerContent, DrawerDescription, DrawerContext, DrawerPositioner, DrawerGrabber, DrawerGrabberIndicator, useDrawer, DrawerRoot, DrawerRootProvider, DrawerTitle, DrawerTrigger, useDrawerStackContext, DrawerIndent, DrawerIndentBackground, DrawerStack, DrawerSwipeArea, drawer_exports };