@chakra-ui/react
Version:
Responsive and accessible React UI components built with React and Emotion
97 lines (93 loc) • 3.57 kB
JavaScript
"use client";
;
var jsxRuntime = require('react/jsx-runtime');
var slider = require('@ark-ui/react/slider');
var React = require('react');
var createSlotRecipeContext = require('../../styled-system/create-slot-recipe-context.cjs');
var _for = require('../for/for.cjs');
const {
withProvider,
withContext,
useStyles: useSliderStyles,
PropsProvider
} = createSlotRecipeContext.createSlotRecipeContext({ key: "slider" });
const SliderRootProvider = withProvider(slider.Slider.RootProvider, "root", { forwardAsChild: true });
const SliderRoot = withProvider(
slider.Slider.Root,
"root",
{ forwardAsChild: true }
);
const SliderPropsProvider = PropsProvider;
const SliderTrack = withContext(
slider.Slider.Track,
"track",
{ forwardAsChild: true }
);
const SliderRange = withContext(
slider.Slider.Range,
"range",
{ forwardAsChild: true }
);
const SliderThumb = withContext(
slider.Slider.Thumb,
"thumb",
{ forwardAsChild: true }
);
const SliderValueText = withContext(slider.Slider.ValueText, "valueText", { forwardAsChild: true });
const SliderLabel = withContext(
slider.Slider.Label,
"label",
{ forwardAsChild: true }
);
const SliderMarkerGroup = withContext(slider.Slider.MarkerGroup, "markerGroup", { forwardAsChild: true });
const SliderMarker = withContext(
slider.Slider.Marker,
"marker",
{ forwardAsChild: true }
);
const SliderMarkerIndicator = withContext("div", "markerIndicator");
const SliderDraggingIndicator = withContext(slider.Slider.DraggingIndicator, "draggingIndicator", { forwardAsChild: true });
const SliderThumbs = (props) => {
const api = slider.useSliderContext();
return /* @__PURE__ */ jsxRuntime.jsx(_for.For, { each: api.value, children: (_, index) => /* @__PURE__ */ jsxRuntime.jsx(SliderThumb, { index, ...props, children: /* @__PURE__ */ jsxRuntime.jsx(SliderHiddenInput, {}) }, index) });
};
const SliderMarks = React.forwardRef(
function SliderMarks2(props, ref) {
const { marks, ...rest } = props;
if (!marks?.length) return null;
return /* @__PURE__ */ jsxRuntime.jsx(SliderMarkerGroup, { ref, ...rest, children: marks.map((mark, index) => {
const value = typeof mark === "number" ? mark : mark.value;
const label = typeof mark === "number" ? void 0 : mark.label;
return /* @__PURE__ */ jsxRuntime.jsxs(SliderMarker, { value, children: [
/* @__PURE__ */ jsxRuntime.jsx(SliderMarkerIndicator, {}),
label != null && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "chakra-slider__marker-label", children: label })
] }, index);
}) });
}
);
const SliderControl = withContext(
slider.Slider.Control,
"control",
{ forwardAsChild: true }
);
const SliderContext = slider.Slider.Context;
const SliderHiddenInput = slider.Slider.HiddenInput;
exports.SliderContext = SliderContext;
exports.SliderControl = SliderControl;
exports.SliderDraggingIndicator = SliderDraggingIndicator;
exports.SliderHiddenInput = SliderHiddenInput;
exports.SliderLabel = SliderLabel;
exports.SliderMarker = SliderMarker;
exports.SliderMarkerGroup = SliderMarkerGroup;
exports.SliderMarkerIndicator = SliderMarkerIndicator;
exports.SliderMarks = SliderMarks;
exports.SliderPropsProvider = SliderPropsProvider;
exports.SliderRange = SliderRange;
exports.SliderRoot = SliderRoot;
exports.SliderRootProvider = SliderRootProvider;
exports.SliderThumb = SliderThumb;
exports.SliderThumbs = SliderThumbs;
exports.SliderTrack = SliderTrack;
exports.SliderValueText = SliderValueText;
exports.useSliderStyles = useSliderStyles;
;