Skip to content

Commit a4fe4e0

Browse files
committed
fix(player/react): slider callbacks not firing
1 parent 4718669 commit a4fe4e0

7 files changed

Lines changed: 26 additions & 7 deletions

File tree

packages/react/src/components/ui/sliders/audio-gain-slider.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,14 @@ import { createReactComponent, type ReactElementProps } from 'maverick.js/react'
44

55
import { AudioGainSliderInstance } from '../../primitives/instances';
66
import { Primitive } from '../../primitives/nodes';
7+
import { sliderCallbacks } from './slider-callbacks';
78

89
/* -------------------------------------------------------------------------------------------------
910
* AudioGainSlider
1011
* -----------------------------------------------------------------------------------------------*/
1112

1213
const AudioGainSliderBridge = createReactComponent(AudioGainSliderInstance, {
14+
events: sliderCallbacks,
1315
domEventsRegex: /^onMedia/,
1416
});
1517

packages/react/src/components/ui/sliders/quality-slider.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,14 @@ import { createReactComponent, type ReactElementProps } from 'maverick.js/react'
44

55
import { QualitySliderInstance } from '../../primitives/instances';
66
import { Primitive } from '../../primitives/nodes';
7+
import { sliderCallbacks } from './slider-callbacks';
78

89
/* -------------------------------------------------------------------------------------------------
910
* QualitySlider
1011
* -----------------------------------------------------------------------------------------------*/
1112

1213
const QualitySliderBridge = createReactComponent(QualitySliderInstance, {
14+
events: sliderCallbacks,
1315
domEventsRegex: /^onMedia/,
1416
});
1517

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import type { InferComponentEvents } from 'maverick.js';
2+
import type { ReactEventCallbacks } from 'maverick.js/react';
3+
4+
import type { SliderInstance } from '../../primitives/instances';
5+
6+
type SliderCallbacks = keyof ReactEventCallbacks<InferComponentEvents<SliderInstance>>;
7+
8+
export const sliderCallbacks: SliderCallbacks[] = [
9+
'onDragStart',
10+
'onDragEnd',
11+
'onDragValueChange',
12+
'onValueChange',
13+
'onPointerValueChange',
14+
];

packages/react/src/components/ui/sliders/slider.tsx

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,20 +9,15 @@ import {
99

1010
import { SliderInstance, SliderPreviewInstance } from '../../primitives/instances';
1111
import { Primitive, type PrimitivePropsWithRef } from '../../primitives/nodes';
12+
import { sliderCallbacks } from './slider-callbacks';
1213
import { SliderValueBridge, type SliderValueProps } from './slider-value';
1314

1415
/* -------------------------------------------------------------------------------------------------
1516
* Slider
1617
* -----------------------------------------------------------------------------------------------*/
1718

1819
const SliderBridge = createReactComponent(SliderInstance, {
19-
events: [
20-
'onDragStart',
21-
'onDragEnd',
22-
'onDragValueChange',
23-
'onValueChange',
24-
'onPointerValueChange',
25-
],
20+
events: sliderCallbacks,
2621
});
2722

2823
export interface RootProps extends ReactElementProps<SliderInstance> {

packages/react/src/components/ui/sliders/speed-slider.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,14 @@ import { createReactComponent, type ReactElementProps } from 'maverick.js/react'
44

55
import { SpeedSliderInstance } from '../../primitives/instances';
66
import { Primitive } from '../../primitives/nodes';
7+
import { sliderCallbacks } from './slider-callbacks';
78

89
/* -------------------------------------------------------------------------------------------------
910
* SpeedSlider
1011
* -----------------------------------------------------------------------------------------------*/
1112

1213
const SpeedSliderBridge = createReactComponent(SpeedSliderInstance, {
14+
events: sliderCallbacks,
1315
domEventsRegex: /^onMedia/,
1416
});
1517

packages/react/src/components/ui/sliders/time-slider.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import {
2020
} from '../../primitives/instances';
2121
import { Primitive, type PrimitivePropsWithRef } from '../../primitives/nodes';
2222
import * as ThumbnailBase from '../thumbnail';
23+
import { sliderCallbacks } from './slider-callbacks';
2324

2425
/* -------------------------------------------------------------------------------------------------
2526
* TimeSliderContext
@@ -40,6 +41,7 @@ TimeSliderContext.displayName = 'TimeSliderContext';
4041
* -----------------------------------------------------------------------------------------------*/
4142

4243
const TimeSliderBridge = createReactComponent(TimeSliderInstance, {
44+
events: sliderCallbacks,
4345
domEventsRegex: /^onMedia/,
4446
});
4547

packages/react/src/components/ui/sliders/volume-slider.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,14 @@ import { createReactComponent, type ReactElementProps } from 'maverick.js/react'
44

55
import { VolumeSliderInstance } from '../../primitives/instances';
66
import { Primitive } from '../../primitives/nodes';
7+
import { sliderCallbacks } from './slider-callbacks';
78

89
/* -------------------------------------------------------------------------------------------------
910
* VolumeSlider
1011
* -----------------------------------------------------------------------------------------------*/
1112

1213
const VolumeSliderBridge = createReactComponent(VolumeSliderInstance, {
14+
events: sliderCallbacks,
1315
domEventsRegex: /^onMedia/,
1416
});
1517

0 commit comments

Comments
 (0)