UNPKG

@arolariu/components

Version:

🎨 70+ beautiful, accessible React components built on Base UI. TypeScript-first, CSS Modules styling, tree-shakeable, SSR-ready. Perfect for modern web apps, design systems & rapid prototyping. Zero config, maximum flexibility! ⚡

111 lines (96 loc) • 2.27 kB
.root { position: relative; display: flex; justify-content: center; } .list { display: flex; align-items: center; gap: var(--ac-space-1); list-style: none; margin: 0; padding: 0; } .trigger { display: inline-flex; align-items: center; justify-content: center; gap: var(--ac-space-1); min-height: var(--ac-size-default); padding: 0 var(--ac-space-3); border: none; border-radius: var(--ac-radius-md); background-color: var(--ac-background); color: var(--ac-foreground); font-size: var(--ac-text-sm); font-weight: 500; outline: none; cursor: pointer; transition: background-color var(--ac-transition-fast), color var(--ac-transition-fast); } .trigger:hover, .trigger[data-open], .trigger:focus-visible { background-color: var(--ac-accent); color: var(--ac-accent-foreground); } .triggerIcon { width: 0.875rem; height: 0.875rem; transition: transform var(--ac-transition-normal); } .trigger[data-open] .triggerIcon { transform: rotate(180deg); } .content { width: 100%; } .link { display: inline-flex; align-items: center; border-radius: var(--ac-radius-sm); color: inherit; outline: none; text-decoration: none; } .link:focus-visible { outline: 2px solid var(--ac-ring); outline-offset: 2px; } .viewportWrapper { position: absolute; top: 100%; left: 0; display: flex; justify-content: center; width: 100%; padding-top: var(--ac-space-2); } .positioner { z-index: 40; } .popup { overflow: hidden; border: 1px solid var(--ac-border); border-radius: var(--ac-radius-md); background-color: var(--ac-popover); box-shadow: 0 16px 40px -16px rgb(0 0 0 / 0.25); } .viewport { width: min(100vw - 2rem, var(--ac-nav-content-width, 20rem)); height: var(--ac-nav-content-height); transition: width var(--ac-transition-normal), height var(--ac-transition-normal); } .indicator { display: flex; justify-content: center; width: 100%; height: 0.5rem; } .indicatorInner { width: 0.625rem; height: 0.625rem; border-top-left-radius: var(--ac-radius-xs); background-color: var(--ac-border); transform: translateY(0.125rem) rotate(45deg); }