Current section

Files

Jump to
noora css button_group.css
Raw

css/button_group.css

.noora-button-group {
--noora-button-group-background: light-dark(
var(--noora-neutral-light-50),
var(--noora-neutral-dark-1200)
);
--noora-button-group-label: light-dark(
var(--noora-neutral-light-1000),
var(--noora-neutral-light-50)
);
--noora-button-group-hover-background: light-dark(
var(--noora-neutral-light-100),
var(--noora-neutral-dark-1100)
);
--noora-button-group-hover-label: light-dark(
var(--noora-neutral-light-1100),
var(--noora-neutral-light-100)
);
--noora-button-group-active-background: light-dark(
var(--noora-neutral-light-200),
var(--noora-neutral-dark-1000)
);
--noora-button-group-active-label: light-dark(
var(--noora-neutral-light-1200),
var(--noora-neutral-light-50)
);
--noora-button-group-disabled-background: light-dark(
var(--noora-neutral-light-100),
var(--noora-neutral-dark-1000)
);
--noora-button-group-disabled-label: light-dark(
var(--noora-neutral-light-600),
var(--noora-neutral-dark-600)
);
display: flex;
flex-direction: row;
align-items: center;
box-shadow: var(--noora-border-light-default);
border-radius: var(--noora-radius-3);
background-color: var(--noora-button-group-background);
padding: var(--noora-spacing-1);
overflow: hidden;
&[data-size="small"] {
gap: var(--noora-spacing-1);
}
&[data-size="medium"],
&[data-size="large"] {
gap: var(--noora-spacing-2);
}
}
.noora-button-group-item {
--noora-border-button-group:
inset 0px 2px 2px 0px oklch(32% 0.005 247.968 / 0.06),
inset 0px 1px 1px 0px oklch(32% 0.005 247.968 / 0.08);
display: flex;
flex-direction: row;
align-items: center;
gap: var(--noora-spacing-1);
cursor: pointer;
outline: unset;
border: unset;
border-radius: var(--noora-radius-2);
background-color: unset;
overflow: hidden;
color: var(--noora-button-group-label);
font: var(--noora-font-weight-medium) var(--noora-font-body-medium);
user-select: none;
text-decoration: unset;
html[data-theme="dark"] & {
--noora-border-button-group:
inset 0px 3px 3px 0px oklch(0% 0 0 / 0.3),
inset 0px 1px 1px 0px oklch(0% 0 0 / 0.3);
}
&:hover {
background-color: var(--noora-button-group-hover-background);
color: var(--noora-button-group-hover-label);
}
&:active,
&[data-selected] {
box-shadow: var(--noora-border-button-group);
background-color: var(--noora-button-group-active-background);
color: var(--noora-button-group-active-label);
}
&:disabled {
cursor: not-allowed;
background: var(--noora-button-group-disabled-background) !important;
color: var(--noora-button-group-disabled-label) !important;
}
& > [data-part="label"] {
padding: var(--noora-spacing-0) var(--noora-spacing-2);
}
.noora-button-group[data-size="small"] & {
padding: var(--noora-spacing-3) var(--noora-spacing-4);
font: var(--noora-font-weight-medium) var(--noora-font-body-xsmall);
& svg {
width: var(--noora-icon-size-small);
height: var(--noora-icon-size-small);
}
}
.noora-button-group[data-size="medium"] & {
gap: var(--noora-spacing-1);
padding: var(--noora-spacing-2) var(--noora-spacing-2);
font: var(--noora-font-weight-medium) var(--noora-font-body-small);
& > [data-part="label"] {
padding: var(--noora-spacing-0) var(--noora-spacing-2);
}
& svg {
width: var(--noora-icon-size-medium);
height: var(--noora-icon-size-medium);
}
}
.noora-button-group[data-size="large"] & {
padding: var(--noora-spacing-2) var(--noora-spacing-4);
font: var(--noora-font-weight-medium) var(--noora-font-body-medium);
& svg {
width: var(--noora-icon-size-large);
height: var(--noora-icon-size-large);
}
}
}