@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! ⚡
113 lines (97 loc) • 2.32 kB
CSS
.root {
display: inline-flex;
align-items: center;
gap: var(--ac-space-1);
padding: var(--ac-space-1);
border: 1px solid var(--ac-border);
border-radius: calc(var(--ac-radius-md) + 1px);
background-color: var(--ac-card);
color: var(--ac-card-foreground);
box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.04);
&[data-orientation="vertical"] {
flex-direction: column;
align-items: stretch;
}
&[data-disabled] {
opacity: 0.7;
}
}
.group {
display: inline-flex;
align-items: center;
gap: var(--ac-space-1);
&[data-orientation="vertical"] {
flex-direction: column;
align-items: stretch;
}
&[data-disabled] {
opacity: 0.7;
}
}
.item {
box-sizing: border-box;
display: inline-flex;
min-height: var(--ac-size-md);
align-items: center;
justify-content: center;
gap: var(--ac-space-2);
padding: 0 var(--ac-space-2);
border-radius: var(--ac-radius-sm);
color: var(--ac-foreground);
font-size: var(--ac-text-xs);
font-weight: 500;
line-height: 1;
text-decoration: none;
white-space: nowrap;
outline: none;
transition: background-color var(--ac-transition-fast), color var(--ac-transition-fast), box-shadow var(--ac-transition-fast);
&:focus-visible {
background-color: var(--ac-accent);
box-shadow: inset 0 0 0 1px var(--ac-ring);
color: var(--ac-accent-foreground);
}
&[data-disabled] {
pointer-events: none;
opacity: 0.5;
}
& svg {
width: 0.875rem;
height: 0.875rem;
flex-shrink: 0;
}
}
.button {
border: 0;
background-color: transparent;
cursor: pointer;
@media (hover: hover) {
&:hover:not([data-disabled]) {
background-color: var(--ac-accent);
color: var(--ac-accent-foreground);
}
}
}
.link {
@media (hover: hover) {
&:hover {
background-color: var(--ac-accent);
color: var(--ac-accent-foreground);
}
}
}
.separator {
flex-shrink: 0;
align-self: stretch;
background-color: var(--ac-border);
&[data-orientation="horizontal"] {
width: 100%;
height: 1px;
min-height: 1px;
}
&[data-orientation="vertical"] {
width: 1px;
min-width: 1px;
height: 1rem;
margin-block: auto;
}
}