@waveform-playlist/browser 9.2.1 → 9.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -274,6 +274,14 @@ export declare const AutomaticScrollCheckbox: default_2.FC<{
274
274
  */
275
275
  declare type Bits = 8 | 16;
276
276
 
277
+ export declare const ClearAllButton: default_2.FC<ClearAllButtonProps>;
278
+
279
+ export declare interface ClearAllButtonProps {
280
+ onClearAll: () => void;
281
+ label?: string;
282
+ className?: string;
283
+ }
284
+
277
285
  /**
278
286
  * Modifier that constrains clip drag movement to prevent overlaps.
279
287
  *
@@ -296,6 +304,18 @@ declare interface ClipCollisionOptions {
296
304
  samplesPerPixel: number;
297
305
  }
298
306
 
307
+ export declare const ClipInteractionProvider: default_2.FC<ClipInteractionProviderProps>;
308
+
309
+ export declare interface ClipInteractionProviderProps {
310
+ /** Enable snap-to-grid for clip moves and boundary trims. When true,
311
+ * auto-detects beats snapping from BeatsAndBarsProvider context
312
+ * (if present with scaleMode="beats" and snapTo!="off"), otherwise
313
+ * falls back to timescale-based snapping. Default: false. */
314
+ snap?: boolean;
315
+ touchOptimized?: boolean;
316
+ children: default_2.ReactNode;
317
+ }
318
+
299
319
  declare interface ClipPeaks {
300
320
  clipId: string;
301
321
  trackName: string;
@@ -1081,6 +1101,7 @@ declare interface PlaylistDataContextValue {
1081
1101
  /** Ref set by useClipDragHandlers during boundary trim drags.
1082
1102
  * When true, loadAudio skips engine rebuild — visual updates flow via React state only. */
1083
1103
  isDraggingRef: default_2.MutableRefObject<boolean>;
1104
+ onTracksChange: ((tracks: ClipTrack[]) => void) | undefined;
1084
1105
  }
1085
1106
 
1086
1107
  declare interface PlaylistStateContextValue {
@@ -1205,7 +1226,7 @@ declare interface SnapToGridBeatsOptions {
1205
1226
  *
1206
1227
  * Two modes:
1207
1228
  * - "beats": Snaps to beat/bar grid using PPQN tick space for exact musical timing.
1208
- * - "temporal": Snaps to a sample-based grid derived from timescale markers.
1229
+ * - "timescale": Snaps to a sample-based grid derived from timescale markers.
1209
1230
  *
1210
1231
  * Designed to compose with ClipCollisionModifier — snap first,
1211
1232
  * then collision constrains the snapped position.
@@ -1215,13 +1236,13 @@ export declare class SnapToGridModifier extends Modifier<DragDropManager<any, an
1215
1236
  x: number;
1216
1237
  y: number;
1217
1238
  };
1218
- static configure: (options: SnapToGridBeatsOptions | SnapToGridTemporalOptions) => PluginDescriptor<any, any, typeof SnapToGridModifier>;
1239
+ static configure: (options: SnapToGridBeatsOptions | SnapToGridTimescaleOptions) => PluginDescriptor<any, any, typeof SnapToGridModifier>;
1219
1240
  }
1220
1241
 
1221
- declare type SnapToGridOptions = SnapToGridBeatsOptions | SnapToGridTemporalOptions;
1242
+ declare type SnapToGridOptions = SnapToGridBeatsOptions | SnapToGridTimescaleOptions;
1222
1243
 
1223
- declare interface SnapToGridTemporalOptions {
1224
- mode: 'temporal';
1244
+ declare interface SnapToGridTimescaleOptions {
1245
+ mode: 'timescale';
1225
1246
  gridSamples: number;
1226
1247
  samplesPerPixel: number;
1227
1248
  }
@@ -1756,6 +1777,8 @@ declare interface UseClipDragHandlersOptions {
1756
1777
  snapSamplePosition?: (samplePosition: number) => number;
1757
1778
  }
1758
1779
 
1780
+ export declare function useClipInteractionEnabled(): boolean;
1781
+
1759
1782
  /**
1760
1783
  * Hook for splitting clips at the playhead or at a specific time
1761
1784
  *