Skip to content
148 piecesby Serkan Baykal

Liquid glass, poured into React

Frosted surfaces, calm motion and a set of dials to tune them. CSS first, Motion where physics matter, and every line of it yours to copy.

npx shadcn@latest add https://ui-collections.vercel.app/r/glass/button.json
ButtonFieldSegmented ControlAccordionSite NavTheme TunerDialogDialog · TonesSheetPopoverTooltipDropdown MenuCommand PaletteTabsSwitchCheckboxRadio GroupSelectSelect · SearchSliderInput OTPNotification bellChipConfirm dialogFile uploadSelection barRow actionsName dialogFolder picker dialogProgressBadgeAccount MenuStatus TextAvatarAlertToastSkeletonApp WindowCopy ButtonBar ListKbdBrand MarkBreadcrumbPage HeaderPaginationCarouselImage CarouselTableSpinnerSidebar NavText RevealMagneticSpotlight CardMarqueeNumber TickerVideo BackdropAurora BackdropDockDynamic IslandMorphing ButtonFluid TabsExpandable CardStepperHold to ConfirmShimmer TextInline EditScrub SliderTilt CardTypewriterLive IndicatorScroll ProgressScroll Text RevealData TableFilter BarSearch InputMulti SelectComboboxDate Range PickerChoice Card GroupStat CardProgress ListActivity ListEntity CardStatesSparklineArea ChartBar ChartDonut ChartRadial MeterCalendar HeatmapFunnelAnnouncement BarNavbarApp ShellHero · ProductHero · AuroraHero · SplitHero · VideoLogo CloudFeature · GridFeature · BentoBento · FeaturesInstall SnippetProof BandComparison · VsStepsStats BandIntegrations GridTestimonialsPricing · TiersPricing · CompareFAQCTA · PanelNewsletterContact · SplitTeam GridBlog CardsChangelogAuth · Sign InAuth · Sign UpError 404Auth · Sign In SplitAuth · Sign Up SplitAuth · Forgot passwordAuth · Reset passwordAuth · Check emailAuth · OTPAuth · Verify emailAuth · Lock screenError · 500Error · 403System · MaintenanceSystem · Coming SoonSystem · OfflineAboutCareers · RolesCareers · RoleBlog · PostContact · PageCustomers · WallCustomers · Case StudyCustomers · Story CarouselImage GalleryStore headerStore footerFooter · ColumnsFooter · MinimalLumen
Playground

Six dials, every surface.

Each slider moves one CSS variable that all glass reads. The change applies across the whole site and stays when you browse the docs. Copy the result into your own stylesheet when it feels right.

Glass

Saved in this browser
Mode
Accent
Corners
14px
180%
6%
50%
35%
35%
20%
theme
:root {
  --glass-blur: 14px;
  --glass-saturate: 180%;
  --glass-tint: 0.06;
  --glass-rim: 0.5;
  --glass-shine: 0.35;
  --glass-depth: 0.35;
  --aurora-strength: 0.2;
}

<html
  data-mode="dark"
  data-accent="teal"
  data-radius="rounded"
>
Spotlight card

Move the pointer across this card, then change a dial.

Segmented
Field
Ticker
0pieces
Library

Small pieces, one quiet language.

Each one is a single file you own. Install it with one command and its dependencies come along.

Every surface on this page is a file you can own in one command, tuned by six dials and fast on a three-year-old phone.

Principles

Fast because it is quiet.

Every collection ships the same components. They style themselves through a small theme contract, so a fix or a new feature lands everywhere at once.

Reveals, marquees, accordions, spotlights and backdrops run on plain CSS. They play before hydration and keep the main thread free.

Springs drive the magnetic pull, the mobile menu and the counters. They load through LazyMotion's domAnimation set, about 15 kB, instead of the full library.

Pointer light, sliding indicators and counters write to CSS variables or the DOM directly. React renders once; the browser does the rest.

The shadcn CLI copies the source into your project. There is no package to upgrade and no API to fight. Edit the file.
The other collection

tide

Prefer something calmer for dashboards? The same components in clean green on cool slate, light and dark.

Visit tide
About

Hi, I'm Serkan Baykal.

I'm a software developer. These collections hold the interface pieces I reach for again and again, refined until they are fast, accessible and consistent.

Each collection is its own design language over the same components. glass is one of them.

Software developer

Serkan Baykal

See all collections