2026-09-02 16:10:57 +08:00

191 lines
4.8 KiB
SCSS

@import '~@/uni_modules/lime-style/index.scss';
/* #ifdef uniVersion >= 4.75 */
$use-css-var: true;
/* #endif */
$picker: #{$prefix}-picker-view;
$picker-border-radius: create-var(picker-border-radius, $border-radius-xl);
$picker-bg-color: create-var(picker-bg-color, $bg-color-container);
$picker-toolbar-height: create-var(picker-toolbar-height, 58px);
$picker-cancel-color: create-var(picker-cancel-color, $text-color-2);
$picker-confirm-color: create-var(picker-confirm-color, $primary-color);
$picker-button-font-size: create-var(picker-button-font-size, $font-size-md);
$picker-title-font-size: create-var(picker-title-font-size, 18px);
$picker-title-font-weight: create-var(picker-title-font-weight, 700);
$picker-title-line-height: create-var(picker-title-line-height, 26px);
$picker-title-color: create-var(picker-title-color, $text-color-1);
$picker-group-height: create-var(picker-group-height, 200px);
$picker-indicator-bg-color: create-var(picker-indicator-bg-color, $fill-3);
$picker-indicator-border-radius: create-var(picker-indicator-border-radius, $border-radius);
$picker-indicator-margin: create-var(picker-indicator-margin, 10px);
$picker-item-height: create-var(picker-item-height, 50px);
$picker-item-active-color: create-var(picker-item-active-color, $text-color-1);
$picker-loading-mask-color: create-var(picker-loading-mask-color, rgba(255,255,255,.9));
$picker-loading-color: create-var(picker-loading-color, $primary-color);
// $item: #{$prefix}-picker-item;
$picker-item-active-font-weight: create-var(picker-item-active-font-weight, 700);
$picker-item-color: create-var(picker-item-color, $text-color-1);
$picker-item-font-size: create-var(picker-item-font-size, $font-size-md);
$picker-mask-top-color: create-var(picker-mask-top-color, white);
$picker-mask-bottom-color: create-var(picker-mask-bottom-color, rgba(36, 36, 36, 0));
.#{$picker} {
position: relative;
background-color: $picker-bg-color;
border-top-left-radius: $picker-border-radius;
border-top-right-radius: $picker-border-radius;
&__toolbar {
display: flex;
align-items: center;
justify-content: space-between;
// overflow: hidden;
height: $picker-toolbar-height;
flex-direction: row;
position: relative;
}
&__title {
/* #ifdef UNI-APP-X && APP */
position: absolute;
left: 50%;
top: 50%;
transform: translateX(-50%) translateY(-50%);
/* #endif */
text-align: center;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
color: $picker-title-color;
// line-height: $picker-toolbar-height;
line-height: $picker-title-line-height;
font-weight: $picker-title-font-weight;
font-size: $picker-title-font-size;
}
&__cancel,
&__confirm {
white-space: nowrap;
// position: absolute;
/* #ifndef UNI-APP-X && APP */
display: flex;
align-items: center;
justify-content: center;
user-select: none;
/* #endif */
font-size: $picker-button-font-size;
line-height: $picker-toolbar-height;
height: 100%;
// padding: 0 $spacer;
@include padding(0 $spacer);
}
&__cancel {
// left: 0;
margin-right: auto;
color: $picker-cancel-color;
}
&__confirm {
margin-left: auto;
color: $picker-confirm-color;
// right: 0
}
&__main {
position: relative;
display: flex;
height: $picker-group-height;
flex-direction: row;
z-index: 2;
// padding: 0 $spacer-xs;
@include padding(0 $spacer-xs);
}
&__mask {
}
&__empty {
pointer-events: none;
justify-content: center;
align-items: center;
display: flex;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
z-index: 3;
}
&__loading {
z-index: 3;
// color: $picker-loading-color;
background-color: $picker-loading-mask-color;
// background-color: red;
justify-content: center;
align-items: center;
display: flex;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0
}
&__indicator{
position: absolute;
background-color: $picker-indicator-bg-color;
top: 50%;
left: $picker-indicator-margin;
right: $picker-indicator-margin;
height: $picker-item-height;
transform: translateY(-50%);
z-index: -1;
@include border-radius($picker-indicator-border-radius);
}
&__group {
flex: 1;
width: 100%;
&-item {
height: $picker-item-height;
line-height: $picker-item-height;
text-align: center;
/* #ifndef UNI-APP-X && APP */
display: flex;
justify-content: center;
/* #endif */
transition-duration: 100ms;
transition-property: font-weight, color;
transition-timing-function: linear;
font-weight: 400;
color: $picker-item-color;
font-size: $picker-item-font-size;
white-space: nowrap;
&--active {
color: $picker-item-active-color;
font-weight: $picker-item-active-font-weight;
}
}
}
&__indicator {
/* #ifndef UNI-APP-X && APP */
height: $picker-item-height;
&:after,&:before{
display: none;
}
/* #endif */
}
}