,\n SliderGlassProps\n>(\n (\n {\n className,\n value,\n defaultValue,\n onValueChange,\n onValueCommit,\n min = 0,\n max = 100,\n step = 1,\n showValue,\n label,\n error,\n success,\n disabled,\n orientation = 'horizontal',\n ...props\n },\n ref\n ) => {\n // Determine current values for rendering thumbs and display\n const currentValue = value ?? defaultValue ?? [min];\n\n // Format value display\n const formatValueDisplay = (values: number[]) => {\n if (values.length === 1) {\n return `${values[0]}`;\n }\n return `${values[0]} - ${values[values.length - 1]}`;\n };\n\n // Track styles via CSS variables\n const trackStyles: CSSProperties = {\n background: 'var(--slider-track)',\n };\n\n // Range (fill) styles via CSS variables\n const rangeStyles: CSSProperties = {\n background: 'var(--slider-fill)',\n };\n\n // Thumb styles via CSS variables\n const thumbStyles: CSSProperties = {\n background: 'var(--slider-thumb)',\n border: '2px solid var(--slider-thumb-border)',\n };\n\n // Custom label with value display - only used when showValue is true\n const customLabel =\n (label && showValue) || (!label && showValue) ? (\n \n {label && (\n \n )}\n \n {formatValueDisplay(currentValue)}\n \n
\n ) : undefined;\n\n return (\n \n {customLabel}\n \n \n \n \n {currentValue.map((_, index) => (\n 1\n ? `${label} thumb ${index + 1}`\n : label\n : `Slider thumb ${index + 1}`\n }\n />\n ))}\n \n \n );\n }\n);\n\nSliderGlass.displayName = 'SliderGlass';\n"
}
],
"categories": [
"ui"
],
"cssVars": {
"light": {
"--glass-bg": "rgba(255, 255, 255, 0.1)",
"--glass-border": "rgba(255, 255, 255, 0.2)",
"--blur-sm": "8px",
"--blur-md": "16px",
"--blur-lg": "24px"
},
"dark": {
"--glass-bg": "rgba(255, 255, 255, 0.05)",
"--glass-border": "rgba(255, 255, 255, 0.1)",
"--blur-sm": "8px",
"--blur-md": "16px",
"--blur-lg": "24px"
}
}
}