Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat: add AudioPlayer #2650

Merged
merged 17 commits into from
Jan 7, 2025
Prev Previous commit
Next Next commit
style: add css variables
  • Loading branch information
田丰 committed Dec 24, 2024
commit 4f46ccfdccdb19bf23dd65d88175c261e721d2aa
88 changes: 61 additions & 27 deletions packages/semi-foundation/audioPlayer/audioPlayer.scss
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,14 @@ $module: #{$prefix}-audio-player;
display: flex;
align-items: center;
justify-content: center;
gap: 24px;
width: 1440px;
gap: $gap-audio-player-large;
max-width: 1440px;
height: 78px;
background: $color-audio-player-background;
&-control {
display: flex;
align-items: center;
gap: 16px;
gap: $gap-audio-player-medium;
}

&-control-button-icon {
Expand All @@ -25,85 +25,100 @@ $module: #{$prefix}-audio-player;
color: $color-audio-player-control-icon-play !important;
}

&-control-button-play-disabled {
background: #f9f9f959 !important;
color: var(--semi-color-grey-7) !important;
}

&-slider-container {
width: 323px;
height: 100%;
}

&-info-cover {
&-info-container {
display: flex;
align-items: center;
gap: 16px;
gap: $gap-audio-player-medium;
}

&-info {
width: 412px;
display: flex;
flex-direction: column;
gap: 4px;
gap: $gap-audio-player-small;
}

&-info-title {
height: 20px;
font-size: 14px;
font-size: $font-size-audio-player-text;
color: $color-audio-player-font-color;
display: flex;
align-items: center;
}
&-info-time {
width: 100%;
height: 22px;
font-size: 14px;
font-size: $font-size-audio-player-text;
color: $color-audio-player-font-color;
display: flex;
align-items: center;
justify-content: space-between;
gap: $gap-audio-player-small;
}
&-control-speed {
width: 40px;
height: 24px;
display: flex;
align-items: center;
justify-content: center;
gap: 4px;
background: #35363c;
gap: $gap-audio-player-small;
background: rgba(var(--semi-grey-8), 1);
border-radius: 3px;
font-size: 12px;
line-height: 16px;
color: #f9f9f9;
color: var(--semi-color-default);
font-weight: 600;
}

&-control-speed-menu {
background: #35363c;
background: rgba(var(--semi-grey-8), 1);
width: 65px;
}

&-control-speed-menu-item {
color: #f9f9f9;
color: var(--semi-color-default);
}

&-control-speed-menu-item:hover {
background: #43444a !important;
background: var(--semi-color-tertiary-active) !important;
}

&-control-volume {
width: 43px;
height: 164px;
background: #35363c;
background: rgba(var(--semi-grey-8), 1);
border-radius: 4px;
padding: 4px 0;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
gap: 8px;
gap: $gap-audio-player-small * 2;
}

&-control-volume-title {
font-size: 12px;
line-height: 16px;
color: #f9f9f9;
color: var(--semi-color-default);
font-weight: 600;
}

&-error {
display: flex;
align-items: center;
gap: $gap-audio-player-small;
margin-left: 4px;
color: var(--semi-color-danger);
}

&-light {
background: $color-audio-player-background-light;
border: 1px solid var(--semi-color-border);
Expand All @@ -117,27 +132,46 @@ $module: #{$prefix}-audio-player;
color: $color-audio-player-control-icon-play-light !important;
}

.#{$module}-control-button-play-disabled {
background: var(--semi-color-disabled-text) !important;
color: rgba(var(--semi-white), 1) !important;
}

.#{$module}-info-title,
.#{$module}-info-time {
color: $color-audio-player-font-color-light;
}

.#{$module}-control-speed-menu-item,
.#{$module}-control-volume-title {
color: #1f1f1f;
color: rgba(var(--semi-grey-9), 1);
}

.#{$module}-control-speed-menu-item:hover {
background: #e0e0e0 !important;
background: rgba(var(--semi-grey-1), 1) !important;
}
}
}

.#{$module}-slide {
background: #DDE3E8;
.#{$module}-slider {
background: rgba(var(--semi-grey-1), 1);
border-radius: 9999px;
position: relative;

&-wrapper {
position: relative;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
&-vertical {
width: 100%;
}
&-horizontal {
height: 100%;
}
}

&-vertical {
width: 4px;
height: 100%;
Expand All @@ -150,7 +184,7 @@ $module: #{$prefix}-audio-player;

&-progress {
position: absolute;
background: #3295FB;
background: rgba(var(--semi-blue-4), 1);
border-radius: 9999px;
}

Expand All @@ -166,9 +200,9 @@ $module: #{$prefix}-audio-player;
position: absolute;
width: 16px;
height: 16px;
background: #ffffff;
border: 1px solid #3295FB;
box-shadow: 0px 0px 4px 0px #0000004D;
background: rgba(var(--semi-white), 1);
border: 1px solid var(--semi-color-primary);
box-shadow: 0px 0px 4px 0px var(--semi-color-shadow);
border-radius: 50%;
transition: opacity 0.2s;
}
Expand Down
14 changes: 10 additions & 4 deletions packages/semi-foundation/audioPlayer/variables.scss
Original file line number Diff line number Diff line change
@@ -1,11 +1,17 @@
$color-audio-player-background: rgba(var(--semi-grey-9), .8);
$color-audio-player-control-icon: var(--semi-color-bg-0);
$color-audio-player-control-icon-play: var(--semi-color-text-0);
$color-audio-player-font-color: var(--semi-color-bg-0);
$color-audio-player-font-color: rgba(var(--semi-white), 1);
$color-audio-player-font-color-speed: rgba(var(--semi-grey-8), 1);


$color-audio-player-background-light: var(--semi-color-bg-0);
$color-audio-player-control-icon-light: #1f1f1f;
$color-audio-player-control-icon-play-light: #ffffff;
$color-audio-player-font-color-light: #1f1f1f;
$color-audio-player-control-icon-light: rgba(var(--semi-grey-9), 1);
$color-audio-player-control-icon-play-light: rgba(var(--semi-white), 1);
$color-audio-player-font-color-light: rgba(var(--semi-grey-9), 1);

$font-size-audio-player-text: 14px;

$gap-audio-player-small: 4px;
$gap-audio-player-medium: 16px;
$gap-audio-player-large: 24px;