diff --git a/packages/react/react/src/skins/default/styles.ts b/packages/react/react/src/skins/default/styles.ts
index f2f3b342..0e132f0f 100644
--- a/packages/react/react/src/skins/default/styles.ts
+++ b/packages/react/react/src/skins/default/styles.ts
@@ -32,7 +32,7 @@ const styles: MediaDefaultSkinStyles = {
),
Controls: cn(
'controls', // FIXME: Temporary className hook for above logic in the overlay. Can be removed once have a proper way to handle controls visibility.
- '@container/controls absolute inset-x-3 bottom-3 rounded-full flex items-center p-1 ring ring-white/10 ring-inset gap-0.5 text-white text-shadow',
+ '@container/controls absolute inset-x-3 bottom-3 rounded-full flex items-center p-1 ring ring-white/10 ring-inset gap-0.5 text-white',
'shadow-sm shadow-black/15',
// Background
'bg-white/10 backdrop-blur-3xl backdrop-saturate-150 backdrop-brightness-90',
@@ -71,7 +71,7 @@ const styles: MediaDefaultSkinStyles = {
),
IconButton: cn(
'grid [&_.icon]:[grid-area:1/1]',
- '[&_.icon]:shrink-0 [&_.icon]:transition-opacity [&_.icon]:duration-300 [&_.icon]:ease-out [&_.icon]:drop-shadow-[0_1px_0_var(--tw-shadow-color)] [&_.icon]:shadow-black/20',
+ '[&_.icon]:shrink-0 [&_.icon]:transition-opacity [&_.icon]:duration-300 [&_.icon]:ease-out [&_.icon]:drop-shadow-[0_1px_0_var(--tw-shadow-color)] [&_.icon]:shadow-black/25',
),
PlayButton: cn(
'[&_.pause-icon]:opacity-100 [&[data-paused]_.pause-icon]:opacity-0',
@@ -87,8 +87,6 @@ const styles: MediaDefaultSkinStyles = {
'transition-[transform,scale,opacity] data-[ending-style]:scale-90 data-[ending-style]:opacity-0 data-[instant]:duration-0 data-[starting-style]:scale-90 data-[starting-style]:opacity-0',
// Ring
'ring-1 ring-white/10 ring-inset',
- // Text shadow
- 'text-shadow shadow-black/10',
// Border to enhance contrast on lighter videos
'after:absolute after:inset-0 after:ring after:rounded-[inherit] after:ring-black/15 after:pointer-events-none',
),
@@ -132,7 +130,7 @@ const styles: MediaDefaultSkinStyles = {
FullscreenEnterTooltip: cn('fullscreen-enter-tooltip'),
FullscreenExitTooltip: cn('fullscreen-exit-tooltip'),
TimeControls: cn('flex-1 flex items-center gap-3 px-1.5'),
- TimeDisplay: cn('tabular-nums text-shadow-2xs shadow-black/50'),
+ TimeDisplay: cn('tabular-nums text-shadow-2xs/25'),
SliderRoot: cn(
'flex items-center justify-center flex-1 group/slider relative',
'[&[data-orientation="horizontal"]]:h-5 [&[data-orientation="horizontal"]]:min-w-20',
diff --git a/packages/react/react/src/skins/toasted/MediaSkinToasted.tsx b/packages/react/react/src/skins/toasted/MediaSkinToasted.tsx
index 44d3364d..4f797236 100644
--- a/packages/react/react/src/skins/toasted/MediaSkinToasted.tsx
+++ b/packages/react/react/src/skins/toasted/MediaSkinToasted.tsx
@@ -35,7 +35,7 @@ export default function MediaSkinDefault({ children, className = '' }: SkinProps
-
+
@@ -43,7 +43,7 @@ export default function MediaSkinDefault({ children, className = '' }: SkinProps
-
+
Play
Pause
@@ -58,8 +58,11 @@ export default function MediaSkinDefault({ children, className = '' }: SkinProps
// showRemaining
className={styles.TimeDisplay}
/>
- /
-
+
+
+ /
+
+
@@ -67,7 +70,7 @@ export default function MediaSkinDefault({ children, className = '' }: SkinProps
-
+
@@ -93,7 +96,7 @@ export default function MediaSkinDefault({ children, className = '' }: SkinProps
-
+
@@ -101,7 +104,7 @@ export default function MediaSkinDefault({ children, className = '' }: SkinProps
-
+
Enter Fullscreen
Exit Fullscreen
diff --git a/packages/react/react/src/skins/toasted/styles.ts b/packages/react/react/src/skins/toasted/styles.ts
index 490978c0..cf9d0ac8 100644
--- a/packages/react/react/src/skins/toasted/styles.ts
+++ b/packages/react/react/src/skins/toasted/styles.ts
@@ -34,8 +34,7 @@ const styles: MediaToastedSkinStyles = {
),
Controls: cn(
'controls', // FIXME: Temporary className hook for above logic in the overlay. Can be removed once have a proper way to handle controls visibility.
- '@container/controls absolute inset-x-0 bottom-0 flex items-center gap-3.5 z-20 px-4 pb-4 pt-10 text-white text-shadow',
- 'shadow-sm shadow-black/15',
+ '@container/controls absolute inset-x-0 bottom-0 flex items-center gap-3.5 z-20 px-4 pb-4 pt-10 text-white',
// Animation
'transition ease-in-out',
// FIXME: Temporary hide/show logic
@@ -50,7 +49,7 @@ const styles: MediaToastedSkinStyles = {
// Background/foreground
'bg-transparent text-white',
// Hover and focus states
- 'hover:text-white/70 focus-visible:text-white/70',
+ 'hover:text-white/80 focus-visible:text-white/80',
// Focus state
'-outline-offset-2 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white',
// Disabled state
@@ -58,14 +57,14 @@ const styles: MediaToastedSkinStyles = {
// Loading state
'aria-busy:pointer-events-none aria-busy:cursor-not-allowed',
// Expanded state
- 'aria-expanded:text-white/70',
+ 'aria-expanded:text-white/80',
// Pressed state
'active:scale-95',
),
ButtonGroup: cn('flex items-center gap-1.5'),
IconButton: cn(
'grid [&_.icon]:[grid-area:1/1]',
- '[&_.icon]:shrink-0 [&_.icon]:transition [&_.icon]:duration-300 [&_.icon]:ease-out [&_.icon]:drop-shadow-[0_1px_0_var(--tw-shadow-color)] [&_.icon]:shadow-black/20',
+ '[&_.icon]:shrink-0 [&_.icon]:transition [&_.icon]:duration-300 [&_.icon]:ease-out [&_.icon]:drop-shadow-[0_1px_0_var(--tw-shadow-color)] [&_.icon]:shadow-black/40',
),
PlayButton: cn(
'[&_.pause-icon]:opacity-100 [&[data-paused]_.pause-icon]:opacity-0',
@@ -75,7 +74,7 @@ const styles: MediaToastedSkinStyles = {
PauseIcon: cn('pause-icon'),
TooltipPopup: cn(
'whitespace-nowrap flex origin-[var(--transform-origin)] flex-col rounded-md text-white text-xs @7xl/root:text-sm px-2 py-1',
- 'bg-black/30 backdrop-blur-sm',
+ 'bg-black/10 backdrop-blur-md',
// Animation
'transition-[transform,scale,opacity] data-[ending-style]:scale-90 data-[ending-style]:opacity-0 data-[instant]:duration-0 data-[starting-style]:scale-90 data-[starting-style]:opacity-0',
),
@@ -112,24 +111,24 @@ const styles: MediaToastedSkinStyles = {
FullscreenEnterTooltip: cn('fullscreen-enter-tooltip'),
FullscreenExitTooltip: cn('fullscreen-exit-tooltip'),
TimeSliderRoot: cn('mx-2'),
- TimeSliderThumb: cn('opacity-0'),
- TimeDisplay: cn('tabular-nums text-shadow-2xs shadow-black/50'),
+ TimeDisplay: cn('tabular-nums text-shadow-2xs/40'),
+ DurationDisplay: cn('text-white/50 contents'),
SliderRoot: cn(
'flex items-center justify-center flex-1 group/slider relative',
'[&[data-orientation="horizontal"]]:h-5 [&[data-orientation="horizontal"]]:min-w-20',
'[&[data-orientation="vertical"]]:w-5 [&[data-orientation="vertical"]]:h-18',
),
SliderTrack: cn(
- 'relative select-none rounded-full bg-white/10',
- '[&[data-orientation="horizontal"]]:w-full [&[data-orientation="horizontal"]]:h-1',
- '[&[data-orientation="vertical"]]:w-1',
+ 'relative select-none rounded-full bg-white/10 transition-[height,width] ease-in-out',
+ '[&[data-orientation="horizontal"]]:w-full [&[data-orientation="horizontal"]]:h-0.5',
+ '[&[data-orientation="vertical"]]:w-0.5',
),
SliderProgress: cn('bg-white rounded-[inherit]'),
SliderPointer: cn('hidden'),
SliderThumb: cn(
- 'bg-white z-10 select-none ring ring-black/10 rounded-full shadow-sm shadow-black/15 transition-[opacity,height,width] ease-in-out',
+ 'opacity-0 scale-70 group-hover/slider:opacity-100 group-hover/slider:scale-100 focus-visible:opacity-100 focus-visible:scale-100',
+ 'bg-white z-10 size-3 select-none ring ring-black/10 rounded-full shadow-sm shadow-black/15 transition-[opacity,scale] ease-out',
'-outline-offset-2 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-amber-500',
- 'size-2.5 active:size-3 group-active/slider:size-3',
'[&[data-orientation="horizontal"]]:hover:cursor-ew-resize',
'[&[data-orientation="vertical"]]:hover:cursor-ns-resize',
),
diff --git a/packages/react/react/src/skins/toasted/types.ts b/packages/react/react/src/skins/toasted/types.ts
index d9bc9760..307320ac 100644
--- a/packages/react/react/src/skins/toasted/types.ts
+++ b/packages/react/react/src/skins/toasted/types.ts
@@ -25,8 +25,8 @@ export interface MediaToastedSkinStyles {
readonly FullscreenExitTooltip: string;
readonly PopoverPopup: string;
readonly TimeSliderRoot: string;
- readonly TimeSliderThumb: string;
readonly TimeDisplay: string;
+ readonly DurationDisplay: string;
readonly SliderRoot: string;
readonly SliderTrack: string;
readonly SliderProgress: string;