@jengaui/slider
Version:
Jenga UI Slider component in React
17 lines (12 loc) • 2.14 kB
JavaScript
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var react = require('react');
var slider = require('@react-aria/slider');
var interactions = require('@react-aria/interactions');
var visuallyHidden = require('@react-aria/visually-hidden');
var focus = require('@react-aria/focus');
var utils = require('@jengaui/utils');
var tastycss = require('tastycss');
var jsxRuntime = require('react/jsx-runtime');
var l=tastycss.tasty({styles:{top:"2x",width:"2x",height:"2x",fill:{"":"#purple",hovered:"#purple-text",dragged:"#purple",disabled:"#dark-04"},cursor:"pointer",shadow:{"":"0px 2px 4px #dark.2",dragged:"inset 0 0 0 2px #purple-text, 0px 2px 4px #dark.2"},radius:"50%",border:{"":null,focused:"3px solid #purple-04"},transition:"theme"}});tastycss.tasty({styles:{top:"1.875x",position:"absolute",fill:{"":"#dark-05"},height:"2px",width:"100%",radius:!0}});tastycss.tasty({styles:{position:"absolute","@start-range":{"":"@thumb-0-value",single:"0"},"@end-range":{"":"(1 - @thumb-1-value)",single:"(1 - @thumb-0-value)"},left:"(@start-range * 100%)",right:"(@end-range * 100%)",height:"2px",fill:{"":"#purple",disabled:"#dark-04"},radius:!0}});tastycss.tasty({styles:{}});tastycss.tasty({styles:{}});tastycss.tasty({styles:{position:"relative",width:"100% - 2x",height:"4x"}});tastycss.tasty({as:"section",styles:{position:"relative",display:"flex",gap:{"":"0",inputs:"1x"},flexDirection:{"":"column",inputs:"row"},alignItems:"center",width:"100%",padding:{"":"0",sideLabel:"0.75x top"}}});tastycss.tasty({styles:{display:"flex",alignItems:"center",flexDirection:"column",width:"100%"}});function O(r){let{state:d,isDisabled:i}=r,o=react.useRef(null),{thumbProps:n,inputProps:p,isDragging:s,isFocused:a}=slider.useSliderThumb({...r,inputRef:o},d),{hoverProps:u,isHovered:m}=interactions.useHover({isDisabled:i});return jsxRuntime.jsx(focus.FocusRing,{within:!0,children:jsxRuntime.jsx(l,{mods:{hovered:m,dragged:s,focused:!s&&a,disabled:i},...utils.mergeProps(n,u),role:"presentation",children:jsxRuntime.jsx(visuallyHidden.VisuallyHidden,{children:jsxRuntime.jsx("input",{ref:o,...p})})})})}
exports.Thumb = O;