BlockDex

Components

Registries

Free blocks

Method

BlockDex

Components

Registries

Free blocks

Method

Open API

BlockDex

Components

Registries

Free blocks

Method

Open API

Components/shadcn-glass-ui/segmented-control-glass

Segmented Control Glass

shadcn-glass-ui/segmented-control-glass
FreeComponent

Segmented Control Glass component with glass effects

Install it

npx shadcn@latest add https://raw.githubusercontent.com/artyhoo/shadcn-glass-ui-library/main/public/r/segmented-control-glass.json

Source

components/glass/specialized/segmented-control-glass.tsxraw.githubusercontent.com/artyhoo/shadcn-glass-ui-library/main/public/r/segmented-control-glass.json
1// ========================================
2// SEGMENTED CONTROL GLASS COMPONENT
3// ========================================
4
5import { forwardRef, type CSSProperties } from 'react';
6import { cn } from '@/lib/utils';
7import '@/glass-theme.css';
8
9export interface SegmentOption {
10 readonly value: string;
11 readonly label: string;
12}
13
14export interface SegmentedControlGlassProps extends Omit<
15 React.HTMLAttributes<HTMLDivElement>,
16 'onChange'
17> {
18 readonly options: readonly SegmentOption[];
19 readonly value: string;
20 readonly onChange?: (value: string) => void;
21}
22
23export const SegmentedControlGlass = forwardRef<HTMLDivElement, SegmentedControlGlassProps>(
24 ({ options = [], value, onChange, className, ...props }, ref) => {
25 const containerStyles: CSSProperties = {
26 border: '1px solid var(--segmented-container-border)',
27 background: 'var(--segmented-container-bg)',
28 };
29
30 // Early return if no options provided
31 if (!options || options.length === 0) {
32 return null;
33 }
34
35 return (
36 <div
37 ref={ref}
38 className={cn('inline-flex w-fit rounded-xl overflow-hidden', className)}
39 style={containerStyles}
40 role="tablist"
41 {...props}
42 >
43 {options.map((opt) => {
44 const isActive = value === opt.value;
45 const buttonStyles: CSSProperties = {
46 background: isActive ? 'var(--segmented-active-bg)' : 'transparent',
47 color: isActive ? 'var(--segmented-active-text)' : 'var(--segmented-inactive-text)',
48 };
49
50 return (
51 <button
52 key={opt.value}
53 onClick={() => onChange?.(opt.value)}
54 className="flex-1 px-3 py-1.5 md:px-4 md:py-2 text-xs md:text-sm font-medium text-center transition-all duration-300"
55 style={buttonStyles}
56 type="button"
57 role="tab"
58 aria-selected={isActive}
59 >
60 {opt.label}
61 </button>
62 );
63 })}
64 </div>
65 );
66 }
67);
68
69SegmentedControlGlass.displayName = 'SegmentedControlGlass';

Facts

Registry
shadcn-glass-ui
Type
registry:component
Access
Free
Files written
0
Licence
Apache-2.0
First indexed
2026-08-02
Last confirmed
today

Go to the source

yhooi2.github.io artyhoo/shadcn-glass-ui-library on GitHub Raw registry item This item as JSON

More from shadcn-glass-ui

All 76 items
Same registry, same kind — the ones you would have found next
ComponentRegistryKindAccessInstallsCommand
Alert Glassalert-glassshadcn-glass-uiComponentsFreeno deps
Animated Background Glassanimated-background-glassshadcn-glass-uiComponentsFreeno deps
Avatar Glassavatar-glassshadcn-glass-uiComponentsFreeno deps
Badge Glassbadge-glassshadcn-glass-uiComponentsFreeno deps
Base Progress Glassbase-progress-glassshadcn-glass-uiComponentsFreeno deps
Button Glassbutton-glassshadcn-glass-uiComponentsFreeno deps
Card Glasscard-glassshadcn-glass-uiComponentsFreeno deps
Checkbox Glasscheckbox-glassshadcn-glass-uiComponentsFreeno deps
BlockDex

Built by

Kynth Studio

Index

Components
Registries
Method
Open API

Guides

shadcn component libraries
Best shadcn registries
Free shadcn blocks

Reference

Corpus counts
Crawl health
hello@kynth.studio
Privacy
Terms

BlockDex

BlockDex

Built by

Kynth Studio

Index

Components
Registries
Method
Open API

Guides

shadcn component libraries
Best shadcn registries
Free shadcn blocks

Reference

Corpus counts
Crawl health
hello@kynth.studio
Privacy
Terms

BlockDex

BlockDex

Built by

Kynth Studio

Index

Components
Registries
Method
Open API

Guides

shadcn component libraries
Best shadcn registries
Free shadcn blocks

Reference

Corpus counts
Crawl health
hello@kynth.studio
Privacy
Terms

BlockDex