// Copyright (c) 2024 Xu Shaohua <shaohua@biofan.org>. All rights reserved.
// Use of this source is governed by Lesser General Public License
// that can be found in the LICENSE file.
/* Styles for ButtonGroup */
// Styles applied to the root element.
.ZuButtonGroup-root {
display: inline-flex;
border-radius: $zu-shape-borderRadius;
// Styles applied to the root element if variant="contained".
&.ZuButtonGroup-contained {
box-shadow: $zu-shadow-2;
}
// Styles applied to the root element if variant="outlined".
&.ZuButtonGroup-outlined {
}
// Styles applied to the root element if variant="text".
&.ZuButtonGroup-text {
}
// Styles applied to the root element if disableElevation={true}.
&.ZuButtonGroup-disableElevation {
box-shadow: none;
}
// Styles applied to the root element if fullWidth={true}.
&.ZuButtonGroup-fullWidth {
width: 100%;
}
// Styles applied to the root element if orientation="vertical".
&.ZuButtonGroup-vertical {
flex-direction: column;
}
// Styles applied to the children.
& .ZuButtonGroup-grouped {
min-width: 40px;
// State class applied to the child elements if disabled={true}.
&.ZuButtonGroup-disabled {
}
&:not(:first-of-type) {
&.ZuButtonGroup-groupedHorizontal {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
&.ZuButtonGroup-groupedVertical {
border-top-right-radius: 0;
border-top-left-radius: 0;
}
&.ZuButtonGroup-groupedOutlined {
&.ZuButtonGroup-groupedHorizontal {
margin-left: -1px;
}
&.ZuButtonGroup-groupedVertical {
margin-top: -1px;
}
}
}
&:not(:last-of-type) {
&.ZuButtonGroup-groupedHorizontal {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
&.ZuButtonGroup-groupedVertical {
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
}
&.ZuButtonGroup-groupedText {
&.ZuButtonGroup-groupedHorizontal {
// TODO(Shaohua): Support dark theme.
border-right: 1px solid rgba(0, 0, 0, 0.23);
&.ZuButtonGroup-disabled {
border-right: 1px solid $zu-palette-action-disabled;
}
}
&.ZuButtonGroup-groupedVertical {
// TODO(Shaohua): Support dark theme.
border-bottom: 1px solid rgba(0, 0, 0, 0.23);
&.ZuButtonGroup-disabled {
border-bottom: 1px solid $zu-palette-action-disabled;
}
}
// colors
&.ZuButtonGroup-groupedTextPrimary {
border-color: change-color($zu-palette-primary-main, $alpha: 0.5);
}
&.ZuButtonGroup-groupedTextSecondary {
border-color: change-color($zu-palette-secondary-main, $alpha: 0.5);
}
&.ZuButtonGroup-groupedTextSuccess {
border-color: change-color($zu-palette-success-main, $alpha: 0.5);
}
&.ZuButtonGroup-groupedTextInfo {
border-color: change-color($zu-palette-info-main, $alpha: 0.5);
}
&.ZuButtonGroup-groupedTextWarning {
border-color: change-color($zu-palette-warning-main, $alpha: 0.5);
}
&.ZuButtonGroup-groupedTextError {
border-color: change-color($zu-palette-error-main, $alpha: 0.5);
}
}
&.ZuButtonGroup-groupedOutlined {
&.ZuButtonGroup-groupedHorizontal {
border-right-color: transparent;
}
&.ZuButtonGroup-groupedVertical {
border-bottom-color: transparent;
}
}
&.ZuButtonGroup-groupedContained {
&.ZuButtonGroup-groupedHorizontal {
border-right: 1px solid $zu-colors-grey-400;
&.ZuButtonGroup-disabled {
border-right: 1px solid $zu-palette-action-disabled;
}
}
&.ZuButtonGroup-groupedVertical {
border-bottom: 1px solid $zu-colors-grey-400;
&.ZuButtonGroup-disabled {
border-bottom: 1px solid $zu-palette-action-disabled;
}
}
}
&:hover {
&.ZuButtonGroup-groupedOutlined {
&.ZuButtonGroup-groupedHorizontal {
border-right-color: currentColor;
}
&.ZuButtonGroup-groupedVertical {
border-bottom-color: currentColor;
}
}
}
}
&:hover {
&.ZuButtonGroup-groupedContained {
box-shadow: none;
}
}
&.ZuButtonGroup-groupedContained {
box-shadow: none;
}
}
}