UNPKG

@ark-ui/solid

Version:

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

232 lines (210 loc) 7.17 kB
import { createSplitProps } from "./6WEDGJKQ.jsx"; import { ark } from "./UFYZ7HLU.jsx"; import { useLocaleContext } from "./YUC6JE7K.jsx"; import { useEnvironmentContext } from "./E2L62MKC.jsx"; import { createContext } from "./TVCIHLER.jsx"; import { runIfFn } from "./KGOB2IMX.jsx"; import { __export } from "./7IUG3E2V.jsx"; // src/components/slider/use-slider-context.ts var [SliderProvider, useSliderContext] = createContext({ hookName: "useSliderContext", providerName: "<SliderProvider />" }); // src/components/slider/slider-context.tsx var SliderContext = (props) => props.children(useSliderContext()); // src/components/slider/slider-control.tsx import { mergeProps } from "@zag-js/solid"; var SliderControl = (props) => { const api = useSliderContext(); const mergedProps = mergeProps(() => api().getControlProps(), props); return <ark.div {...mergedProps} />; }; // src/components/slider/slider-dragging-indicator.tsx import { mergeProps as mergeProps2 } from "@zag-js/solid"; // src/components/slider/use-slider-thumb-props-context.ts var [SliderThumbPropsProvider, useSliderThumbPropsContext] = createContext({ hookName: "useSliderThumbPropsContext", providerName: "<SliderThumbPropsProvider />" }); // src/components/slider/slider-dragging-indicator.tsx var SliderDraggingIndicator = (props) => { const slider2 = useSliderContext(); const thumbProps = useSliderThumbPropsContext(); const mergedProps = mergeProps2(() => slider2().getDraggingIndicatorProps(thumbProps), props); return <ark.span {...mergedProps}>{props.children || slider2().getThumbValue(thumbProps.index)}</ark.span>; }; // src/components/slider/slider-hidden-input.tsx import { mergeProps as mergeProps3 } from "@zag-js/solid"; var SliderHiddenInput = (props) => { const slider2 = useSliderContext(); const thumbProps = useSliderThumbPropsContext(); const mergedProps = mergeProps3(slider2().getHiddenInputProps(thumbProps), props); return <ark.input {...mergedProps} />; }; // src/components/slider/slider-label.tsx import { mergeProps as mergeProps4 } from "@zag-js/solid"; var SliderLabel = (props) => { const api = useSliderContext(); const mergedProps = mergeProps4(() => api().getLabelProps(), props); return <ark.label {...mergedProps} />; }; // src/components/slider/slider-marker.tsx import { mergeProps as mergeProps5 } from "@zag-js/solid"; var SliderMarker = (props) => { const [markerProps, localProps] = createSplitProps()(props, ["value"]); const api = useSliderContext(); const mergedProps = mergeProps5(() => api().getMarkerProps(markerProps), localProps); return <ark.span {...mergedProps} />; }; // src/components/slider/slider-marker-group.tsx import { mergeProps as mergeProps6 } from "@zag-js/solid"; var SliderMarkerGroup = (props) => { const api = useSliderContext(); const mergedProps = mergeProps6(() => api().getMarkerGroupProps(), props); return <ark.div {...mergedProps} />; }; // src/components/slider/slider-range.tsx import { mergeProps as mergeProps7 } from "@zag-js/solid"; var SliderRange = (props) => { const api = useSliderContext(); const mergedProps = mergeProps7(() => api().getRangeProps(), props); return <ark.div {...mergedProps} />; }; // src/components/slider/slider-root.tsx import { mergeProps as mergeProps8 } from "@zag-js/solid"; // src/components/slider/use-slider.ts import * as slider from "@zag-js/slider"; import { normalizeProps, useMachine } from "@zag-js/solid"; import { createMemo, createUniqueId } from "solid-js"; var useSlider = (props) => { const id = createUniqueId(); const locale = useLocaleContext(); const environment = useEnvironmentContext(); const machineProps = createMemo(() => ({ id, dir: locale().dir, getRootNode: environment().getRootNode, ...runIfFn(props) })); const service = useMachine(slider.machine, machineProps); return createMemo(() => slider.connect(service, normalizeProps)); }; // src/components/slider/slider-root.tsx var SliderRoot = (props) => { const [useSliderProps, localProps] = createSplitProps()(props, [ "aria-label", "aria-labelledby", "defaultValue", "disabled", "form", "getAriaValueText", "id", "ids", "invalid", "max", "min", "minStepsBetweenThumbs", "name", "onFocusChange", "onValueChange", "onValueChangeEnd", "orientation", "origin", "readOnly", "step", "thumbAlignment", "thumbAlignment", "thumbSize", "value" ]); const api = useSlider(useSliderProps); const mergedProps = mergeProps8(() => api().getRootProps(), localProps); return <SliderProvider value={api}> <ark.div {...mergedProps} /> </SliderProvider>; }; // src/components/slider/slider-root-provider.tsx import { mergeProps as mergeProps9 } from "@zag-js/solid"; var SliderRootProvider = (props) => { const [{ value: slider2 }, localProps] = createSplitProps()(props, ["value"]); const mergedProps = mergeProps9(() => slider2().getRootProps(), localProps); return <SliderProvider value={slider2}> <ark.div {...mergedProps} /> </SliderProvider>; }; // src/components/slider/slider-thumb.tsx import { mergeProps as mergeProps10 } from "@zag-js/solid"; var SliderThumb = (props) => { const [thumbProps, localProps] = createSplitProps()(props, ["index", "name"]); const slider2 = useSliderContext(); const mergedProps = mergeProps10(() => slider2().getThumbProps(thumbProps), localProps); return <SliderThumbPropsProvider value={thumbProps}> <ark.div {...mergedProps} /> </SliderThumbPropsProvider>; }; // src/components/slider/slider-track.tsx import { mergeProps as mergeProps11 } from "@zag-js/solid"; var SliderTrack = (props) => { const api = useSliderContext(); const mergedProps = mergeProps11(() => api().getTrackProps(), props); return <ark.div {...mergedProps} />; }; // src/components/slider/slider-value-text.tsx import { mergeProps as mergeProps12 } from "@zag-js/solid"; var SliderValueText = (props) => { const api = useSliderContext(); const mergedProps = mergeProps12(() => api().getValueTextProps(), props); return <ark.span {...mergedProps}>{props.children || api().value.join(",")}</ark.span>; }; // src/components/slider/slider.anatomy.ts import { anatomy } from "@zag-js/slider"; // src/components/slider/slider.ts var slider_exports = {}; __export(slider_exports, { Context: () => SliderContext, Control: () => SliderControl, DraggingIndicator: () => SliderDraggingIndicator, HiddenInput: () => SliderHiddenInput, Label: () => SliderLabel, Marker: () => SliderMarker, MarkerGroup: () => SliderMarkerGroup, Range: () => SliderRange, Root: () => SliderRoot, RootProvider: () => SliderRootProvider, Thumb: () => SliderThumb, Track: () => SliderTrack, ValueText: () => SliderValueText }); export { useSliderContext, SliderContext, SliderControl, SliderDraggingIndicator, SliderHiddenInput, SliderLabel, SliderMarker, SliderMarkerGroup, SliderRange, useSlider, SliderRoot, SliderRootProvider, SliderThumb, SliderTrack, SliderValueText, anatomy, slider_exports };