UNPKG

@ark-ui/solid

Version:

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

232 lines (215 loc) 7.73 kB
import { PresenceProvider, splitPresenceProps, usePresence, usePresenceContext } from "./2P5Y3YCK.jsx"; import { composeRefs } from "./PT2CJE3O.jsx"; import { RenderStrategyProvider, splitRenderStrategyProps, useRenderStrategyContext } from "./VNMGX67M.jsx"; import { createSplitProps } from "./6WEDGJKQ.jsx"; import { ark } from "./UFYZ7HLU.jsx"; import { useEnvironmentContext } from "./CGW54HAQ.jsx"; import { useLocaleContext } from "./JFOWNFC7.jsx"; import { runIfFn } from "./KGOB2IMX.jsx"; import { createContext } from "./UZJJWJQM.jsx"; import { __export } from "./7IUG3E2V.jsx"; // src/components/bottom-sheet/bottom-sheet-backdrop.tsx import { mergeProps } from "@zag-js/solid"; import { Show } from "solid-js"; // src/components/bottom-sheet/use-bottom-sheet-context.ts var [BottomSheetProvider, useBottomSheetContext] = createContext({ hookName: "useBottomSheetContext", providerName: "<BottomSheetProvider />" }); // src/components/bottom-sheet/bottom-sheet-backdrop.tsx var BottomSheetBackdrop = (props) => { const bottomSheet2 = useBottomSheetContext(); const renderStrategyProps = useRenderStrategyContext(); const presence = usePresence(mergeProps(renderStrategyProps, () => ({ present: bottomSheet2().open }))); const mergedProps = mergeProps( () => bottomSheet2().getBackdropProps(), () => presence().presenceProps, props ); return <Show when={!presence().unmounted}> <ark.div {...mergedProps} ref={composeRefs(presence().ref, props.ref)} /> </Show>; }; // src/components/bottom-sheet/bottom-sheet-close-trigger.tsx import { mergeProps as mergeProps2 } from "@zag-js/solid"; var BottomSheetCloseTrigger = (props) => { const context = useBottomSheetContext(); const mergedProps = mergeProps2(() => context().getCloseTriggerProps(), props); return <ark.button {...mergedProps} />; }; // src/components/bottom-sheet/bottom-sheet-content.tsx import { mergeProps as mergeProps3 } from "@zag-js/solid"; import { Show as Show2 } from "solid-js"; var BottomSheetContent = (props) => { const [contentProps, localProps] = createSplitProps()(props, ["draggable"]); const bottomSheet2 = useBottomSheetContext(); const presence = usePresenceContext(); const mergedProps = mergeProps3( () => bottomSheet2().getContentProps({ draggable: true, ...contentProps }), () => presence().presenceProps, localProps ); return <Show2 when={!presence().unmounted}> <ark.div {...mergedProps} ref={composeRefs(presence().ref, localProps.ref)} /> </Show2>; }; // src/components/bottom-sheet/bottom-sheet-context.tsx var BottomSheetContext = (props) => props.children(useBottomSheetContext()); // src/components/bottom-sheet/bottom-sheet-grabber.tsx import { mergeProps as mergeProps4 } from "@zag-js/solid"; var BottomSheetGrabber = (props) => { const bottomSheet2 = useBottomSheetContext(); const mergedProps = mergeProps4(() => bottomSheet2().getGrabberProps(), props); return <ark.div {...mergedProps} />; }; // src/components/bottom-sheet/bottom-sheet-grabber-indicator.tsx import { mergeProps as mergeProps5 } from "@zag-js/solid"; var BottomSheetGrabberIndicator = (props) => { const bottomSheet2 = useBottomSheetContext(); const mergedProps = mergeProps5(() => bottomSheet2().getGrabberIndicatorProps(), props); return <ark.div {...mergedProps} />; }; // src/components/bottom-sheet/bottom-sheet-root.tsx import { mergeProps as mergeProps6 } from "@zag-js/solid"; // src/components/bottom-sheet/use-bottom-sheet.ts import * as bottomSheet from "@zag-js/bottom-sheet"; import { normalizeProps, useMachine } from "@zag-js/solid"; import { createMemo, createUniqueId } from "solid-js"; var useBottomSheet = (props) => { const locale = useLocaleContext(); const environment = useEnvironmentContext(); const id = createUniqueId(); const machineProps = createMemo(() => ({ id, dir: locale().dir, getRootNode: environment().getRootNode, ...runIfFn(props) })); const service = useMachine(bottomSheet.machine, machineProps); return createMemo(() => bottomSheet.connect(service, normalizeProps)); }; // src/components/bottom-sheet/bottom-sheet-root.tsx var BottomSheetRoot = (props) => { const [presenceProps, bottomSheetProps] = splitPresenceProps(props); const [renderStrategyProps] = splitRenderStrategyProps(presenceProps); const [useBottomSheetProps, localProps] = createSplitProps()(bottomSheetProps, [ "id", "ids", "open", "defaultOpen", "onOpenChange", "closeOnInteractOutside", "closeOnEscape", "snapPoints", "swipeVelocityThreshold", "closeThreshold", "preventDragOnScroll", "activeSnapPoint", "defaultActiveSnapPoint", "onActiveSnapPointChange", "modal", "trapFocus", "restoreFocus", "preventScroll", "initialFocusEl", "finalFocusEl", "role", "onInteractOutside", "onEscapeKeyDown", "onPointerDownOutside", "onFocusOutside", "onRequestDismiss" ]); const bottomSheet2 = useBottomSheet(useBottomSheetProps); const presence = usePresence(mergeProps6(presenceProps, () => ({ present: bottomSheet2().open }))); return <BottomSheetProvider value={bottomSheet2}> <RenderStrategyProvider value={renderStrategyProps}> <PresenceProvider value={presence}>{localProps.children}</PresenceProvider> </RenderStrategyProvider> </BottomSheetProvider>; }; // src/components/bottom-sheet/bottom-sheet-root-provider.tsx import { mergeProps as mergeProps7 } from "@zag-js/solid"; var BottomSheetRootProvider = (props) => { const [presenceProps, bottomSheetProps] = splitPresenceProps(props); const [renderStrategyProps] = splitRenderStrategyProps(presenceProps); const presence = usePresence(mergeProps7(() => ({ present: bottomSheetProps.value().open }), presenceProps)); return <BottomSheetProvider value={bottomSheetProps.value}> <RenderStrategyProvider value={renderStrategyProps}> <PresenceProvider value={presence}>{bottomSheetProps.children}</PresenceProvider> </RenderStrategyProvider> </BottomSheetProvider>; }; // src/components/bottom-sheet/bottom-sheet-title.tsx import { mergeProps as mergeProps8 } from "@zag-js/solid"; var BottomSheetTitle = (props) => { const bottomSheet2 = useBottomSheetContext(); const mergedProps = mergeProps8(() => bottomSheet2().getTitleProps(), props); return <ark.h2 {...mergedProps} />; }; // src/components/bottom-sheet/bottom-sheet-trigger.tsx import { mergeProps as mergeProps9 } from "@zag-js/solid"; var BottomSheetTrigger = (props) => { const bottomSheet2 = useBottomSheetContext(); const presence = usePresenceContext(); const mergedProps = mergeProps9( () => bottomSheet2().getTriggerProps(), () => ({ "aria-controls": presence().unmounted && null }), props ); return <ark.button {...mergedProps} />; }; // src/components/bottom-sheet/bottom-sheet.ts var bottom_sheet_exports = {}; __export(bottom_sheet_exports, { Backdrop: () => BottomSheetBackdrop, CloseTrigger: () => BottomSheetCloseTrigger, Content: () => BottomSheetContent, Context: () => BottomSheetContext, Grabber: () => BottomSheetGrabber, GrabberIndicator: () => BottomSheetGrabberIndicator, Root: () => BottomSheetRoot, RootProvider: () => BottomSheetRootProvider, Title: () => BottomSheetTitle, Trigger: () => BottomSheetTrigger }); export { useBottomSheetContext, BottomSheetBackdrop, BottomSheetCloseTrigger, BottomSheetContent, BottomSheetContext, BottomSheetGrabber, BottomSheetGrabberIndicator, useBottomSheet, BottomSheetRoot, BottomSheetRootProvider, BottomSheetTitle, BottomSheetTrigger, bottom_sheet_exports };