UNPKG

@julo-ui/sliders

Version:

A React Slider component that implements input[type='range']

100 lines (91 loc) 3.31 kB
"use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/range-slider/components/range-slider-track/RangeSliderTrack.tsx var RangeSliderTrack_exports = {}; __export(RangeSliderTrack_exports, { default: () => RangeSliderTrack_default }); module.exports = __toCommonJS(RangeSliderTrack_exports); var import_system = require("@julo-ui/system"); // src/styles.ts var import_react = require("@emotion/react"); var rootSliderCx = import_react.css` --slider-track-size: 0.5rem; --slider-thumb-size: 1rem; width: fit-content; `; var rootSliderVerticalTrackCx = import_react.css` width: var(--slider-track-size); `; var rootSliderHorizontalTrackCx = import_react.css` height: var(--slider-track-size); `; var rootSliderTrackCx = import_react.css` overflow: hidden; border-radius: var(--corner-3xl); background-color: var(--colors-neutrals-40); `; var rootSliderThumbCx = import_react.css` z-index: 1; width: var(--slider-thumb-size); height: var(--slider-thumb-size); border-radius: var(--corner-3xl); background-color: var(--colors-neutrals-10); box-shadow: var(--shadows-md); display: flex; align-items: center; justify-content: center; `; var rootSliderInnerTrackCx = import_react.css` background-color: var(--colors-primary-30); height: inherit; width: inherit; `; // src/range-slider/RangeSliderProvider.tsx var import_context = require("@julo-ui/context"); var [RangeSliderProvider, useRangeSliderContext] = (0, import_context.createContext)({ name: "SliderContext", hookName: "useRangeSliderContext", providerName: "<RangeSliderProvider />" }); // src/range-slider/components/range-slider-track/RangeSliderTrack.tsx var import_jsx_runtime = require("react/jsx-runtime"); var RangeSliderTrack = (0, import_system.forwardRef)( (props, ref) => { const { className, ...resProps } = props; const { getTrackProps, state } = useRangeSliderContext( "RangeSliderTrack should be within Slider or SliderProvider" ); return /* @__PURE__ */ (0, import_jsx_runtime.jsx)( import_system.julo.div, { className: (0, import_system.cx)("julo-range-slider__track", className), ...getTrackProps(resProps, ref), __css: [ rootSliderTrackCx, state.orientation === "horizontal" ? rootSliderHorizontalTrackCx : rootSliderVerticalTrackCx ] } ); } ); RangeSliderTrack.displayName = "RangeSliderTrack"; var RangeSliderTrack_default = RangeSliderTrack; // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = {});