Files
gpustack-ui/src/components/seal-form/wrapper/select.ts
T
2026-02-06 11:13:49 +08:00

197 lines
4.6 KiB
TypeScript

import styled from 'styled-components';
import { BORDERRADIUS, INPUT_INNER_PADDING, INPUTHEIGHT } from '../config';
const SelectWrapper = styled.div`
flex: 1;
.seal-select-wrapper {
border: none;
box-shadow: none;
&.dropdown-visible {
.__wrapper__ {
.ant-cascader.ant-select.ant-select-outlined {
border-color: var(--ant-input-active-border-color) !important;
outline: 0;
background-color: var(--ant-input-active-bg);
border-bottom: none !important;
border-radius: ${BORDERRADIUS}px ${BORDERRADIUS}px 0 0;
transition: all 0.2s ease;
box-shadow: none;
&::before {
content: '';
position: absolute;
height: 1px;
margin-inline: 1px;
bottom: 0;
left: 0;
right: 0;
background-color: var(--ant-color-split);
}
}
.ant-select-dropdown {
box-shadow: none;
border-width: var(--ant-line-width);
border-style: var(--ant-line-type);
border-color: var(--ant-input-active-border-color);
border-top: none;
}
&:hover {
.ant-select-dropdown {
border-color: var(--ant-input-active-border-color);
}
}
&:focus-within {
border-color: var(--ant-input-active-border-color) !important;
outline: 0;
background-color: var(--ant-input-active-bg);
}
}
}
&:focus-within {
border: none;
box-shadow: none;
}
.__wrapper__ {
padding-block: 0;
.label {
left: ${INPUT_INNER_PADDING + 1}px !important;
top: 11px;
&.isfoucs-has-value {
top: 11px;
transition: all 0.2s var(--seal-transition-func);
}
&.blur-no-value {
top: 21px;
transition: all 0.2s var(--seal-transition-func);
}
&.has-prefix {
top: 11px !important;
}
}
&.no-label {
padding-block: 0;
.ant-select-arrow {
top: 50%;
}
.ant-select .ant-select-input {
top: -5px !important;
}
.ant-select-placeholder {
position: absolute;
top: 1px;
left: 0;
right: 0;
}
.ant-select .ant-select-content {
padding-block: 0px 0;
}
.ant-select-auto-complete {
.ant-select-placeholder {
top: 1px;
}
}
.ant-select.ant-cascader {
.ant-select-placeholder {
top: 0px !important;
}
.ant-select-input {
top: -6px !important;
}
}
}
}
.ant-select-selection-overflow-item > span {
display: flex;
align-items: center;
}
.ant-select {
display: flex;
align-items: center;
height: 54px;
padding-inline: 14px !important;
.ant-select-selection-wrap {
height: 100%;
}
&.ant-select-auto-complete {
.ant-select-selection-search {
padding-inline-start: ${INPUT_INNER_PADDING}px;
}
.ant-select-content-value {
display: none;
}
}
&.ant-select-multiple.ant-cascader .ant-select-selection-search {
top: 0 !important;
}
.ant-select-content {
padding-block: 20px 0;
box-shadow: none !important;
}
&.ant-cascader {
.ant-select-content-item-prefix + .ant-select-content-item-suffix {
margin-inline-start: 0 !important;
}
}
.ant-select-input {
height: ${INPUTHEIGHT}px !important;
top: 14px !important;
}
.ant-select-placeholder {
> span {
padding-inline: 0 !important;
}
}
}
.ant-select-multiple.ant-select-lg {
.ant-select-selection-search {
margin-inline-start: 0 !important;
left: 0 !important;
}
}
.ant-select-selection-item {
height: ${INPUTHEIGHT}px !important;
padding-block: 5px !important;
line-height: 22px !important;
padding-inline-end: 0 !important;
}
.ant-select-arrow {
top: 32px;
}
.ant-select-selection-search-input {
height: ${INPUTHEIGHT}px !important;
}
&.validate-status-error {
.ant-select-dropdown {
border-color: var(--ant-color-error) !important;
}
.__wrapper__ {
.ant-cascader.ant-select.ant-select-outlined {
border-color: var(--ant-color-error) !important;
}
}
}
}
`;
export default SelectWrapper;