@mieweb/ui 0.6.1-dev.169 → 0.6.1-dev.171
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/brands/index.cjs +18 -18
- package/dist/brands/index.js +3 -3
- package/dist/chunk-3Q2VWPML.cjs +1802 -0
- package/dist/chunk-3Q2VWPML.cjs.map +1 -0
- package/dist/{chunk-6W3HLFAJ.cjs → chunk-3YRDZBW6.cjs} +3 -3
- package/dist/{chunk-6W3HLFAJ.cjs.map → chunk-3YRDZBW6.cjs.map} +1 -1
- package/dist/{chunk-UVQEHZRF.js → chunk-6VGXX6L6.js} +2 -2
- package/dist/{chunk-UVQEHZRF.js.map → chunk-6VGXX6L6.js.map} +1 -1
- package/dist/chunk-CH26CHPH.js +1776 -0
- package/dist/chunk-CH26CHPH.js.map +1 -0
- package/dist/{chunk-TXRQQMG5.js → chunk-CYMZ2QS5.js} +2 -2
- package/dist/{chunk-TXRQQMG5.js.map → chunk-CYMZ2QS5.js.map} +1 -1
- package/dist/chunk-FGP64Z24.js +131 -0
- package/dist/chunk-FGP64Z24.js.map +1 -0
- package/dist/chunk-FIWKHLWY.js +197 -0
- package/dist/chunk-FIWKHLWY.js.map +1 -0
- package/dist/chunk-GLXTVCHN.cjs +4 -0
- package/dist/chunk-GLXTVCHN.cjs.map +1 -0
- package/dist/chunk-J7KWQJOB.js +14 -0
- package/dist/chunk-J7KWQJOB.js.map +1 -0
- package/dist/chunk-JYZW2PZS.cjs +166 -0
- package/dist/chunk-JYZW2PZS.cjs.map +1 -0
- package/dist/{chunk-XVF472GT.js → chunk-NSLR3B7K.js} +2 -2
- package/dist/{chunk-XVF472GT.js.map → chunk-NSLR3B7K.js.map} +1 -1
- package/dist/chunk-NTYGCBCL.js +543 -0
- package/dist/chunk-NTYGCBCL.js.map +1 -0
- package/dist/chunk-RISZWWEQ.js +3 -0
- package/dist/chunk-RISZWWEQ.js.map +1 -0
- package/dist/chunk-S7JQ3FV5.cjs +16 -0
- package/dist/chunk-S7JQ3FV5.cjs.map +1 -0
- package/dist/{chunk-JWTCEWQ4.cjs → chunk-SNEQXSC5.cjs} +2 -2
- package/dist/{chunk-JWTCEWQ4.cjs.map → chunk-SNEQXSC5.cjs.map} +1 -1
- package/dist/chunk-SQHMGT4W.js +164 -0
- package/dist/chunk-SQHMGT4W.js.map +1 -0
- package/dist/{chunk-JHPFOG2N.cjs → chunk-ST2RE5UB.cjs} +30 -18
- package/dist/chunk-ST2RE5UB.cjs.map +1 -0
- package/dist/chunk-UO3KEUYK.cjs +220 -0
- package/dist/chunk-UO3KEUYK.cjs.map +1 -0
- package/dist/{chunk-FETRH4V5.js → chunk-X763OLF2.js} +3 -3
- package/dist/{chunk-FETRH4V5.js.map → chunk-X763OLF2.js.map} +1 -1
- package/dist/{chunk-DKGUOMBC.cjs → chunk-X7J45FU5.cjs} +2 -2
- package/dist/{chunk-DKGUOMBC.cjs.map → chunk-X7J45FU5.cjs.map} +1 -1
- package/dist/{chunk-I56VBDSC.js → chunk-XDFDVF2O.js} +30 -18
- package/dist/chunk-XDFDVF2O.js.map +1 -0
- package/dist/chunk-Y4ESBDQ5.cjs +552 -0
- package/dist/chunk-Y4ESBDQ5.cjs.map +1 -0
- package/dist/{chunk-MJ7YITLN.cjs → chunk-Y65SK5Y2.cjs} +2 -2
- package/dist/{chunk-MJ7YITLN.cjs.map → chunk-Y65SK5Y2.cjs.map} +1 -1
- package/dist/chunk-YD23ZGRU.cjs +155 -0
- package/dist/chunk-YD23ZGRU.cjs.map +1 -0
- package/dist/components/Markdown/index.cjs +10 -10
- package/dist/components/Markdown/index.js +2 -2
- package/dist/components/MediaEditor/index.cjs +42 -0
- package/dist/components/MediaEditor/index.cjs.map +1 -0
- package/dist/components/MediaEditor/index.d.cts +151 -0
- package/dist/components/MediaEditor/index.d.ts +151 -0
- package/dist/components/MediaEditor/index.js +17 -0
- package/dist/components/MediaEditor/index.js.map +1 -0
- package/dist/components/MediaPlayer/index.cjs +24 -0
- package/dist/components/MediaPlayer/index.cjs.map +1 -0
- package/dist/components/MediaPlayer/index.d.cts +71 -0
- package/dist/components/MediaPlayer/index.d.ts +71 -0
- package/dist/components/MediaPlayer/index.js +7 -0
- package/dist/components/MediaPlayer/index.js.map +1 -0
- package/dist/components/ThemeProvider/index.cjs +7 -7
- package/dist/components/ThemeProvider/index.js +1 -1
- package/dist/components/TranscriptView/index.cjs +21 -0
- package/dist/components/TranscriptView/index.cjs.map +1 -0
- package/dist/components/TranscriptView/index.d.cts +55 -0
- package/dist/components/TranscriptView/index.d.ts +55 -0
- package/dist/components/TranscriptView/index.js +4 -0
- package/dist/components/TranscriptView/index.js.map +1 -0
- package/dist/esheet.cjs +5 -5
- package/dist/esheet.js +2 -2
- package/dist/hooks/index.cjs +49 -11
- package/dist/hooks/index.d.cts +88 -1
- package/dist/hooks/index.d.ts +88 -1
- package/dist/hooks/index.js +3 -1
- package/dist/index.cjs +380 -253
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +6 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.js +87 -40
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/transcript-oaWqY3yr.d.cts +81 -0
- package/dist/transcript-oaWqY3yr.d.ts +81 -0
- package/dist/useTranscriptEdits-BUylQFg0.d.cts +168 -0
- package/dist/useTranscriptEdits-CWYnjbGP.d.ts +168 -0
- package/package.json +1 -1
- package/dist/chunk-I56VBDSC.js.map +0 -1
- package/dist/chunk-JHPFOG2N.cjs.map +0 -1
package/dist/hooks/index.cjs
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkX7J45FU5_cjs = require('../chunk-X7J45FU5.cjs');
|
|
4
4
|
var chunk2O7D6F67_cjs = require('../chunk-2O7D6F67.cjs');
|
|
5
|
+
var chunkY4ESBDQ5_cjs = require('../chunk-Y4ESBDQ5.cjs');
|
|
6
|
+
var chunkJYZW2PZS_cjs = require('../chunk-JYZW2PZS.cjs');
|
|
5
7
|
var chunkIKMR2ADM_cjs = require('../chunk-IKMR2ADM.cjs');
|
|
6
8
|
var chunkYVPC65ZJ_cjs = require('../chunk-YVPC65ZJ.cjs');
|
|
7
9
|
var chunk6HFFWEM3_cjs = require('../chunk-6HFFWEM3.cjs');
|
|
@@ -13,48 +15,84 @@ require('../chunk-SCV7C55E.cjs');
|
|
|
13
15
|
|
|
14
16
|
Object.defineProperty(exports, "useCommandK", {
|
|
15
17
|
enumerable: true,
|
|
16
|
-
get: function () { return
|
|
18
|
+
get: function () { return chunkX7J45FU5_cjs.useCommandK; }
|
|
17
19
|
});
|
|
18
20
|
Object.defineProperty(exports, "useIsDesktop", {
|
|
19
21
|
enumerable: true,
|
|
20
|
-
get: function () { return
|
|
22
|
+
get: function () { return chunkX7J45FU5_cjs.useIsDesktop; }
|
|
21
23
|
});
|
|
22
24
|
Object.defineProperty(exports, "useIsLargeDesktop", {
|
|
23
25
|
enumerable: true,
|
|
24
|
-
get: function () { return
|
|
26
|
+
get: function () { return chunkX7J45FU5_cjs.useIsLargeDesktop; }
|
|
25
27
|
});
|
|
26
28
|
Object.defineProperty(exports, "useIsMobile", {
|
|
27
29
|
enumerable: true,
|
|
28
|
-
get: function () { return
|
|
30
|
+
get: function () { return chunkX7J45FU5_cjs.useIsMobile; }
|
|
29
31
|
});
|
|
30
32
|
Object.defineProperty(exports, "useIsMobileOrTablet", {
|
|
31
33
|
enumerable: true,
|
|
32
|
-
get: function () { return
|
|
34
|
+
get: function () { return chunkX7J45FU5_cjs.useIsMobileOrTablet; }
|
|
33
35
|
});
|
|
34
36
|
Object.defineProperty(exports, "useIsSmallTablet", {
|
|
35
37
|
enumerable: true,
|
|
36
|
-
get: function () { return
|
|
38
|
+
get: function () { return chunkX7J45FU5_cjs.useIsSmallTablet; }
|
|
37
39
|
});
|
|
38
40
|
Object.defineProperty(exports, "useIsTablet", {
|
|
39
41
|
enumerable: true,
|
|
40
|
-
get: function () { return
|
|
42
|
+
get: function () { return chunkX7J45FU5_cjs.useIsTablet; }
|
|
41
43
|
});
|
|
42
44
|
Object.defineProperty(exports, "useKeyboardShortcut", {
|
|
43
45
|
enumerable: true,
|
|
44
|
-
get: function () { return
|
|
46
|
+
get: function () { return chunkX7J45FU5_cjs.useKeyboardShortcut; }
|
|
45
47
|
});
|
|
46
48
|
Object.defineProperty(exports, "useMediaQuery", {
|
|
47
49
|
enumerable: true,
|
|
48
|
-
get: function () { return
|
|
50
|
+
get: function () { return chunkX7J45FU5_cjs.useMediaQuery; }
|
|
49
51
|
});
|
|
50
52
|
Object.defineProperty(exports, "useScrollSpy", {
|
|
51
53
|
enumerable: true,
|
|
52
|
-
get: function () { return
|
|
54
|
+
get: function () { return chunkX7J45FU5_cjs.useScrollSpy; }
|
|
53
55
|
});
|
|
54
56
|
Object.defineProperty(exports, "useTheme", {
|
|
55
57
|
enumerable: true,
|
|
56
58
|
get: function () { return chunk2O7D6F67_cjs.useTheme; }
|
|
57
59
|
});
|
|
60
|
+
Object.defineProperty(exports, "DEFAULT_FILLER_WORDS", {
|
|
61
|
+
enumerable: true,
|
|
62
|
+
get: function () { return chunkY4ESBDQ5_cjs.DEFAULT_FILLER_WORDS; }
|
|
63
|
+
});
|
|
64
|
+
Object.defineProperty(exports, "DEFAULT_MIN_SILENCE_MS", {
|
|
65
|
+
enumerable: true,
|
|
66
|
+
get: function () { return chunkY4ESBDQ5_cjs.DEFAULT_MIN_SILENCE_MS; }
|
|
67
|
+
});
|
|
68
|
+
Object.defineProperty(exports, "DEFAULT_NL_SILENCE_MS", {
|
|
69
|
+
enumerable: true,
|
|
70
|
+
get: function () { return chunkY4ESBDQ5_cjs.DEFAULT_NL_SILENCE_MS; }
|
|
71
|
+
});
|
|
72
|
+
Object.defineProperty(exports, "buildPlaybackSegments", {
|
|
73
|
+
enumerable: true,
|
|
74
|
+
get: function () { return chunkY4ESBDQ5_cjs.buildPlaybackSegments; }
|
|
75
|
+
});
|
|
76
|
+
Object.defineProperty(exports, "getSpeedAtIndex", {
|
|
77
|
+
enumerable: true,
|
|
78
|
+
get: function () { return chunkY4ESBDQ5_cjs.getSpeedAtIndex; }
|
|
79
|
+
});
|
|
80
|
+
Object.defineProperty(exports, "initEditableWords", {
|
|
81
|
+
enumerable: true,
|
|
82
|
+
get: function () { return chunkY4ESBDQ5_cjs.initEditableWords; }
|
|
83
|
+
});
|
|
84
|
+
Object.defineProperty(exports, "insertSilences", {
|
|
85
|
+
enumerable: true,
|
|
86
|
+
get: function () { return chunkY4ESBDQ5_cjs.insertSilences; }
|
|
87
|
+
});
|
|
88
|
+
Object.defineProperty(exports, "useTranscriptEdits", {
|
|
89
|
+
enumerable: true,
|
|
90
|
+
get: function () { return chunkY4ESBDQ5_cjs.useTranscriptEdits; }
|
|
91
|
+
});
|
|
92
|
+
Object.defineProperty(exports, "useMediaTransport", {
|
|
93
|
+
enumerable: true,
|
|
94
|
+
get: function () { return chunkJYZW2PZS_cjs.useMediaTransport; }
|
|
95
|
+
});
|
|
58
96
|
Object.defineProperty(exports, "useClickOutside", {
|
|
59
97
|
enumerable: true,
|
|
60
98
|
get: function () { return chunkIKMR2ADM_cjs.useClickOutside; }
|
package/dist/hooks/index.d.cts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export { R as ResolvedTheme, T as Theme, u as useTheme } from '../useTheme-B9SWu6ui.cjs';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { RefObject } from 'react';
|
|
4
|
+
export { D as DEFAULT_FILLER_WORDS, a as DEFAULT_MIN_SILENCE_MS, b as DEFAULT_NL_SILENCE_MS, F as FillerAnalysis, S as SilenceThresholdCount, T as TranscriptClipboard, c as TranscriptEditStats, U as UseTranscriptEditsOptions, d as UseTranscriptEditsResult, e as buildPlaybackSegments, g as getSpeedAtIndex, i as initEditableWords, f as insertSilences, u as useTranscriptEdits } from '../useTranscriptEdits-BUylQFg0.cjs';
|
|
5
|
+
import '../transcript-oaWqY3yr.cjs';
|
|
4
6
|
|
|
5
7
|
interface UseScrollSpyOptions {
|
|
6
8
|
/** CSS selector for the elements to observe (e.g. 'h2, h3, h4') */
|
|
@@ -273,4 +275,89 @@ declare function dragIndicatorClasses(drag: Pick<UseDragReorderReturn, 'dragging
|
|
|
273
275
|
*/
|
|
274
276
|
declare function useLiveAnnouncement(): [string, (message: string) => void];
|
|
275
277
|
|
|
276
|
-
|
|
278
|
+
type MediaTransportState = 'idle' | 'loading' | 'playing' | 'paused' | 'error';
|
|
279
|
+
interface UseMediaTransportOptions {
|
|
280
|
+
/** Fired on every native `timeupdate` and on metadata load, in milliseconds. */
|
|
281
|
+
onTimeUpdate?: (currentTimeMs: number, durationMs: number) => void;
|
|
282
|
+
/** Fired whenever the derived transport state changes. */
|
|
283
|
+
onStateChange?: (state: MediaTransportState) => void;
|
|
284
|
+
/** Fired when playback reaches the end. */
|
|
285
|
+
onEnded?: () => void;
|
|
286
|
+
/** Fired on a media error, with a descriptive Error. */
|
|
287
|
+
onError?: (error: Error) => void;
|
|
288
|
+
/** Initial playback rate (default `1`). Kept in sync with the element. */
|
|
289
|
+
initialRate?: number;
|
|
290
|
+
/** Transport state to enter when playback ends (default `'paused'`). */
|
|
291
|
+
endedState?: Extract<MediaTransportState, 'idle' | 'paused'>;
|
|
292
|
+
/** Reset the position to `0` when playback ends (default `false`). */
|
|
293
|
+
resetTimeOnEnd?: boolean;
|
|
294
|
+
/** Human-readable label used in the error message (default `'media'`). */
|
|
295
|
+
errorLabel?: string;
|
|
296
|
+
}
|
|
297
|
+
interface UseMediaTransportReturn {
|
|
298
|
+
/**
|
|
299
|
+
* Callback ref for the `<audio>`/`<video>` element to control. Pass this to
|
|
300
|
+
* the element's `ref` (or call it imperatively). Transport listeners attach
|
|
301
|
+
* when an element mounts and detach when it unmounts.
|
|
302
|
+
*/
|
|
303
|
+
setMediaElement: (element: HTMLMediaElement | null) => void;
|
|
304
|
+
/** The currently attached media element, or `null`. */
|
|
305
|
+
mediaElement: HTMLMediaElement | null;
|
|
306
|
+
/** Derived transport state. */
|
|
307
|
+
state: MediaTransportState;
|
|
308
|
+
/** Current playback position in milliseconds. */
|
|
309
|
+
currentTimeMs: number;
|
|
310
|
+
/** Media duration in milliseconds (`0` until known / non-finite). */
|
|
311
|
+
durationMs: number;
|
|
312
|
+
/** Current playback rate. */
|
|
313
|
+
playbackRate: number;
|
|
314
|
+
/** `true` while `state === 'playing'`. */
|
|
315
|
+
isPlaying: boolean;
|
|
316
|
+
/** `true` while `state === 'loading'`. */
|
|
317
|
+
isLoading: boolean;
|
|
318
|
+
/** Start playback. */
|
|
319
|
+
play: () => void;
|
|
320
|
+
/** Pause playback. */
|
|
321
|
+
pause: () => void;
|
|
322
|
+
/** Toggle between play and pause. */
|
|
323
|
+
togglePlay: () => void;
|
|
324
|
+
/** Seek to a position in milliseconds. */
|
|
325
|
+
seekToMs: (timeMs: number) => void;
|
|
326
|
+
/** Set the playback rate multiplier. */
|
|
327
|
+
setPlaybackRate: (rate: number) => void;
|
|
328
|
+
/** Read the current position in milliseconds. */
|
|
329
|
+
getCurrentTimeMs: () => number;
|
|
330
|
+
/** Read the duration in milliseconds (`0` when unknown). */
|
|
331
|
+
getDurationMs: () => number;
|
|
332
|
+
/** Whether playback is currently paused (reads the element directly). */
|
|
333
|
+
isPaused: () => boolean;
|
|
334
|
+
}
|
|
335
|
+
/**
|
|
336
|
+
* Headless playback transport for a native `HTMLMediaElement`.
|
|
337
|
+
*
|
|
338
|
+
* Owns the derived transport state (idle/loading/playing/paused/error),
|
|
339
|
+
* position, duration and playback rate, and exposes imperative controls — all
|
|
340
|
+
* in **milliseconds**. It never creates or renders an element: pass the
|
|
341
|
+
* returned {@link UseMediaTransportReturn.setMediaElement} callback to an
|
|
342
|
+
* `<audio>`/`<video>` `ref` and the hook wires the native listeners.
|
|
343
|
+
*
|
|
344
|
+
* Shared by `MediaPlayer` (ms API) and, at the boundary, `AudioPlayer`
|
|
345
|
+
* (seconds API — convert with `ms / 1000`). The WaveSurfer waveform variant is
|
|
346
|
+
* out of scope; this hook targets native media transport only.
|
|
347
|
+
*
|
|
348
|
+
* @example
|
|
349
|
+
* ```tsx
|
|
350
|
+
* function Player({ src }: { src: string }) {
|
|
351
|
+
* const t = useMediaTransport({ onEnded: () => console.log('done') });
|
|
352
|
+
* return (
|
|
353
|
+
* <div>
|
|
354
|
+
* <video ref={t.setMediaElement} src={src} controls />
|
|
355
|
+
* <button onClick={t.togglePlay}>{t.isPlaying ? 'Pause' : 'Play'}</button>
|
|
356
|
+
* </div>
|
|
357
|
+
* );
|
|
358
|
+
* }
|
|
359
|
+
* ```
|
|
360
|
+
*/
|
|
361
|
+
declare function useMediaTransport(options?: UseMediaTransportOptions): UseMediaTransportReturn;
|
|
362
|
+
|
|
363
|
+
export { type DragOverState, type KeyboardShortcutOptions, type MediaTransportState, type UseDragReorderOptions, type UseDragReorderReturn, type UseMediaTransportOptions, type UseMediaTransportReturn, type UseScrollSpyOptions, type UseScrollSpyReturn, dragIndicatorClasses, reorderIds, useClickOutside, useCommandK, useDragReorder, useEscapeKey, useFocusTrap, useIsDesktop, useIsLargeDesktop, useIsMobile, useIsMobileOrTablet, useIsSmallTablet, useIsTablet, useKeyboardShortcut, useLiveAnnouncement, useMediaQuery, useMediaTransport, usePrefersReducedMotion, useScrollSpy };
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export { R as ResolvedTheme, T as Theme, u as useTheme } from '../useTheme-B9SWu6ui.js';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { RefObject } from 'react';
|
|
4
|
+
export { D as DEFAULT_FILLER_WORDS, a as DEFAULT_MIN_SILENCE_MS, b as DEFAULT_NL_SILENCE_MS, F as FillerAnalysis, S as SilenceThresholdCount, T as TranscriptClipboard, c as TranscriptEditStats, U as UseTranscriptEditsOptions, d as UseTranscriptEditsResult, e as buildPlaybackSegments, g as getSpeedAtIndex, i as initEditableWords, f as insertSilences, u as useTranscriptEdits } from '../useTranscriptEdits-CWYnjbGP.js';
|
|
5
|
+
import '../transcript-oaWqY3yr.js';
|
|
4
6
|
|
|
5
7
|
interface UseScrollSpyOptions {
|
|
6
8
|
/** CSS selector for the elements to observe (e.g. 'h2, h3, h4') */
|
|
@@ -273,4 +275,89 @@ declare function dragIndicatorClasses(drag: Pick<UseDragReorderReturn, 'dragging
|
|
|
273
275
|
*/
|
|
274
276
|
declare function useLiveAnnouncement(): [string, (message: string) => void];
|
|
275
277
|
|
|
276
|
-
|
|
278
|
+
type MediaTransportState = 'idle' | 'loading' | 'playing' | 'paused' | 'error';
|
|
279
|
+
interface UseMediaTransportOptions {
|
|
280
|
+
/** Fired on every native `timeupdate` and on metadata load, in milliseconds. */
|
|
281
|
+
onTimeUpdate?: (currentTimeMs: number, durationMs: number) => void;
|
|
282
|
+
/** Fired whenever the derived transport state changes. */
|
|
283
|
+
onStateChange?: (state: MediaTransportState) => void;
|
|
284
|
+
/** Fired when playback reaches the end. */
|
|
285
|
+
onEnded?: () => void;
|
|
286
|
+
/** Fired on a media error, with a descriptive Error. */
|
|
287
|
+
onError?: (error: Error) => void;
|
|
288
|
+
/** Initial playback rate (default `1`). Kept in sync with the element. */
|
|
289
|
+
initialRate?: number;
|
|
290
|
+
/** Transport state to enter when playback ends (default `'paused'`). */
|
|
291
|
+
endedState?: Extract<MediaTransportState, 'idle' | 'paused'>;
|
|
292
|
+
/** Reset the position to `0` when playback ends (default `false`). */
|
|
293
|
+
resetTimeOnEnd?: boolean;
|
|
294
|
+
/** Human-readable label used in the error message (default `'media'`). */
|
|
295
|
+
errorLabel?: string;
|
|
296
|
+
}
|
|
297
|
+
interface UseMediaTransportReturn {
|
|
298
|
+
/**
|
|
299
|
+
* Callback ref for the `<audio>`/`<video>` element to control. Pass this to
|
|
300
|
+
* the element's `ref` (or call it imperatively). Transport listeners attach
|
|
301
|
+
* when an element mounts and detach when it unmounts.
|
|
302
|
+
*/
|
|
303
|
+
setMediaElement: (element: HTMLMediaElement | null) => void;
|
|
304
|
+
/** The currently attached media element, or `null`. */
|
|
305
|
+
mediaElement: HTMLMediaElement | null;
|
|
306
|
+
/** Derived transport state. */
|
|
307
|
+
state: MediaTransportState;
|
|
308
|
+
/** Current playback position in milliseconds. */
|
|
309
|
+
currentTimeMs: number;
|
|
310
|
+
/** Media duration in milliseconds (`0` until known / non-finite). */
|
|
311
|
+
durationMs: number;
|
|
312
|
+
/** Current playback rate. */
|
|
313
|
+
playbackRate: number;
|
|
314
|
+
/** `true` while `state === 'playing'`. */
|
|
315
|
+
isPlaying: boolean;
|
|
316
|
+
/** `true` while `state === 'loading'`. */
|
|
317
|
+
isLoading: boolean;
|
|
318
|
+
/** Start playback. */
|
|
319
|
+
play: () => void;
|
|
320
|
+
/** Pause playback. */
|
|
321
|
+
pause: () => void;
|
|
322
|
+
/** Toggle between play and pause. */
|
|
323
|
+
togglePlay: () => void;
|
|
324
|
+
/** Seek to a position in milliseconds. */
|
|
325
|
+
seekToMs: (timeMs: number) => void;
|
|
326
|
+
/** Set the playback rate multiplier. */
|
|
327
|
+
setPlaybackRate: (rate: number) => void;
|
|
328
|
+
/** Read the current position in milliseconds. */
|
|
329
|
+
getCurrentTimeMs: () => number;
|
|
330
|
+
/** Read the duration in milliseconds (`0` when unknown). */
|
|
331
|
+
getDurationMs: () => number;
|
|
332
|
+
/** Whether playback is currently paused (reads the element directly). */
|
|
333
|
+
isPaused: () => boolean;
|
|
334
|
+
}
|
|
335
|
+
/**
|
|
336
|
+
* Headless playback transport for a native `HTMLMediaElement`.
|
|
337
|
+
*
|
|
338
|
+
* Owns the derived transport state (idle/loading/playing/paused/error),
|
|
339
|
+
* position, duration and playback rate, and exposes imperative controls — all
|
|
340
|
+
* in **milliseconds**. It never creates or renders an element: pass the
|
|
341
|
+
* returned {@link UseMediaTransportReturn.setMediaElement} callback to an
|
|
342
|
+
* `<audio>`/`<video>` `ref` and the hook wires the native listeners.
|
|
343
|
+
*
|
|
344
|
+
* Shared by `MediaPlayer` (ms API) and, at the boundary, `AudioPlayer`
|
|
345
|
+
* (seconds API — convert with `ms / 1000`). The WaveSurfer waveform variant is
|
|
346
|
+
* out of scope; this hook targets native media transport only.
|
|
347
|
+
*
|
|
348
|
+
* @example
|
|
349
|
+
* ```tsx
|
|
350
|
+
* function Player({ src }: { src: string }) {
|
|
351
|
+
* const t = useMediaTransport({ onEnded: () => console.log('done') });
|
|
352
|
+
* return (
|
|
353
|
+
* <div>
|
|
354
|
+
* <video ref={t.setMediaElement} src={src} controls />
|
|
355
|
+
* <button onClick={t.togglePlay}>{t.isPlaying ? 'Pause' : 'Play'}</button>
|
|
356
|
+
* </div>
|
|
357
|
+
* );
|
|
358
|
+
* }
|
|
359
|
+
* ```
|
|
360
|
+
*/
|
|
361
|
+
declare function useMediaTransport(options?: UseMediaTransportOptions): UseMediaTransportReturn;
|
|
362
|
+
|
|
363
|
+
export { type DragOverState, type KeyboardShortcutOptions, type MediaTransportState, type UseDragReorderOptions, type UseDragReorderReturn, type UseMediaTransportOptions, type UseMediaTransportReturn, type UseScrollSpyOptions, type UseScrollSpyReturn, dragIndicatorClasses, reorderIds, useClickOutside, useCommandK, useDragReorder, useEscapeKey, useFocusTrap, useIsDesktop, useIsLargeDesktop, useIsMobile, useIsMobileOrTablet, useIsSmallTablet, useIsTablet, useKeyboardShortcut, useLiveAnnouncement, useMediaQuery, useMediaTransport, usePrefersReducedMotion, useScrollSpy };
|
package/dist/hooks/index.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
export { useCommandK, useIsDesktop, useIsLargeDesktop, useIsMobile, useIsMobileOrTablet, useIsSmallTablet, useIsTablet, useKeyboardShortcut, useMediaQuery, useScrollSpy } from '../chunk-
|
|
1
|
+
export { useCommandK, useIsDesktop, useIsLargeDesktop, useIsMobile, useIsMobileOrTablet, useIsSmallTablet, useIsTablet, useKeyboardShortcut, useMediaQuery, useScrollSpy } from '../chunk-6VGXX6L6.js';
|
|
2
2
|
export { useTheme } from '../chunk-KJZNEVYM.js';
|
|
3
|
+
export { DEFAULT_FILLER_WORDS, DEFAULT_MIN_SILENCE_MS, DEFAULT_NL_SILENCE_MS, buildPlaybackSegments, getSpeedAtIndex, initEditableWords, insertSilences, useTranscriptEdits } from '../chunk-NTYGCBCL.js';
|
|
4
|
+
export { useMediaTransport } from '../chunk-SQHMGT4W.js';
|
|
3
5
|
export { useClickOutside } from '../chunk-OKBR6PX4.js';
|
|
4
6
|
export { dragIndicatorClasses, reorderIds, useDragReorder, useLiveAnnouncement } from '../chunk-7ZVTLTJF.js';
|
|
5
7
|
export { usePrefersReducedMotion } from '../chunk-HB7C7NB5.js';
|