UNPKG

@julo-ui/sliders

Version:

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

99 lines (90 loc) 3.17 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/slider/components/slider-track/SliderTrack.tsx var SliderTrack_exports = {}; __export(SliderTrack_exports, { default: () => SliderTrack_default }); module.exports = __toCommonJS(SliderTrack_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/slider/SliderProvider.tsx var import_context = require("@julo-ui/context"); var [SliderProvider, useSliderContext] = (0, import_context.createContext)({ name: "SliderContext", hookName: "useSliderContext", providerName: "<SliderProvider />" }); // src/slider/components/slider-track/SliderTrack.tsx var import_jsx_runtime = require("react/jsx-runtime"); var SliderTrack = (0, import_system.forwardRef)((props, ref) => { const { className, ...resProps } = props; const { getTrackProps, state } = useSliderContext( "SliderTrack must be used within Slider or SliderProvider" ); return /* @__PURE__ */ (0, import_jsx_runtime.jsx)( import_system.julo.div, { ref, className: (0, import_system.cx)("julo-slider__track", className), ...getTrackProps(resProps, ref), __css: [ rootSliderTrackCx, state.orientation === "horizontal" ? rootSliderHorizontalTrackCx : rootSliderVerticalTrackCx ] } ); }); SliderTrack.displayName = "SliderTrack"; var SliderTrack_default = SliderTrack; // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = {});