@harvest-profit/npk
Version:
NPK UI Design System
74 lines (67 loc) • 2.17 kB
CSS
.SegmentedControl {
display: inline-flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
min-width: max-content;
-webkit-user-select: none;
user-select: none;
text-decoration-line: none;
border: 1px solid var(--control-border-color);
background-color: var(--control-bg-color);
border-radius: var(--control-radius);
height: var(--control-size);
font-size: var(--control-font-size);
/* Places the border on the inside allowing for borders to not impact button sizes */
box-sizing: border-box;
list-style: none;
padding: 0;
margin: 0;
&[data-size="sm"] {
--control-font-size: var(--control-small-font-size);
--control-size: var(--control-small-size);
--control-gap: var(--control-small-gap);
--control-padding: var(--control-small-padding);
}
&>li {
position: relative;
&[data-selected="true"] .SegmentedControlButton {
--btn-font-weight: var(--control-button-weight);
--btn-border-color: var(--control-dark-border-color);
--btn-bg-color: var(--button-white-bg-color);
--btn-bg-color--hover: var(--button-white-bg-color--hover);
--btn-bg-color--active: var(--button-white-bg-color--active);
--btn-bg-color--disabled: var(--button-white-bg-color--disabled);
}
&:not(:last-child):not([data-selected="true"])::after {
background-color: var(--control-border-color);
content: "";
position: absolute;
right: -1px;
top: 8px;
bottom: 8px;
width: 1px;
}
}
}
.SegmentedControlButton {
--btn-bg-color: transparent;
--btn-border-color: transparent;
--btn-font-weight: normal;
--btn-bg-color--hover: var(--button-invisible-bg-color--hover);
--btn-bg-color--active: var(--button-invisible-bg-color--active);
--btn-bg-color--disabled: var(--button-invisible-bg-color--disabled);
margin: -1px;
[data-component="text"]::after {
content: attr(data-text-contents);
display: block;
font-weight: 600;
height: 0px;
overflow-x: hidden;
overflow-y: hidden;
pointer-events: none;
-webkit-user-select: none;
user-select: none;
visibility: hidden;
}
}