@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.
Files changed (92) hide show
  1. package/dist/brands/index.cjs +18 -18
  2. package/dist/brands/index.js +3 -3
  3. package/dist/chunk-3Q2VWPML.cjs +1802 -0
  4. package/dist/chunk-3Q2VWPML.cjs.map +1 -0
  5. package/dist/{chunk-6W3HLFAJ.cjs → chunk-3YRDZBW6.cjs} +3 -3
  6. package/dist/{chunk-6W3HLFAJ.cjs.map → chunk-3YRDZBW6.cjs.map} +1 -1
  7. package/dist/{chunk-UVQEHZRF.js → chunk-6VGXX6L6.js} +2 -2
  8. package/dist/{chunk-UVQEHZRF.js.map → chunk-6VGXX6L6.js.map} +1 -1
  9. package/dist/chunk-CH26CHPH.js +1776 -0
  10. package/dist/chunk-CH26CHPH.js.map +1 -0
  11. package/dist/{chunk-TXRQQMG5.js → chunk-CYMZ2QS5.js} +2 -2
  12. package/dist/{chunk-TXRQQMG5.js.map → chunk-CYMZ2QS5.js.map} +1 -1
  13. package/dist/chunk-FGP64Z24.js +131 -0
  14. package/dist/chunk-FGP64Z24.js.map +1 -0
  15. package/dist/chunk-FIWKHLWY.js +197 -0
  16. package/dist/chunk-FIWKHLWY.js.map +1 -0
  17. package/dist/chunk-GLXTVCHN.cjs +4 -0
  18. package/dist/chunk-GLXTVCHN.cjs.map +1 -0
  19. package/dist/chunk-J7KWQJOB.js +14 -0
  20. package/dist/chunk-J7KWQJOB.js.map +1 -0
  21. package/dist/chunk-JYZW2PZS.cjs +166 -0
  22. package/dist/chunk-JYZW2PZS.cjs.map +1 -0
  23. package/dist/{chunk-XVF472GT.js → chunk-NSLR3B7K.js} +2 -2
  24. package/dist/{chunk-XVF472GT.js.map → chunk-NSLR3B7K.js.map} +1 -1
  25. package/dist/chunk-NTYGCBCL.js +543 -0
  26. package/dist/chunk-NTYGCBCL.js.map +1 -0
  27. package/dist/chunk-RISZWWEQ.js +3 -0
  28. package/dist/chunk-RISZWWEQ.js.map +1 -0
  29. package/dist/chunk-S7JQ3FV5.cjs +16 -0
  30. package/dist/chunk-S7JQ3FV5.cjs.map +1 -0
  31. package/dist/{chunk-JWTCEWQ4.cjs → chunk-SNEQXSC5.cjs} +2 -2
  32. package/dist/{chunk-JWTCEWQ4.cjs.map → chunk-SNEQXSC5.cjs.map} +1 -1
  33. package/dist/chunk-SQHMGT4W.js +164 -0
  34. package/dist/chunk-SQHMGT4W.js.map +1 -0
  35. package/dist/{chunk-JHPFOG2N.cjs → chunk-ST2RE5UB.cjs} +30 -18
  36. package/dist/chunk-ST2RE5UB.cjs.map +1 -0
  37. package/dist/chunk-UO3KEUYK.cjs +220 -0
  38. package/dist/chunk-UO3KEUYK.cjs.map +1 -0
  39. package/dist/{chunk-FETRH4V5.js → chunk-X763OLF2.js} +3 -3
  40. package/dist/{chunk-FETRH4V5.js.map → chunk-X763OLF2.js.map} +1 -1
  41. package/dist/{chunk-DKGUOMBC.cjs → chunk-X7J45FU5.cjs} +2 -2
  42. package/dist/{chunk-DKGUOMBC.cjs.map → chunk-X7J45FU5.cjs.map} +1 -1
  43. package/dist/{chunk-I56VBDSC.js → chunk-XDFDVF2O.js} +30 -18
  44. package/dist/chunk-XDFDVF2O.js.map +1 -0
  45. package/dist/chunk-Y4ESBDQ5.cjs +552 -0
  46. package/dist/chunk-Y4ESBDQ5.cjs.map +1 -0
  47. package/dist/{chunk-MJ7YITLN.cjs → chunk-Y65SK5Y2.cjs} +2 -2
  48. package/dist/{chunk-MJ7YITLN.cjs.map → chunk-Y65SK5Y2.cjs.map} +1 -1
  49. package/dist/chunk-YD23ZGRU.cjs +155 -0
  50. package/dist/chunk-YD23ZGRU.cjs.map +1 -0
  51. package/dist/components/Markdown/index.cjs +10 -10
  52. package/dist/components/Markdown/index.js +2 -2
  53. package/dist/components/MediaEditor/index.cjs +42 -0
  54. package/dist/components/MediaEditor/index.cjs.map +1 -0
  55. package/dist/components/MediaEditor/index.d.cts +151 -0
  56. package/dist/components/MediaEditor/index.d.ts +151 -0
  57. package/dist/components/MediaEditor/index.js +17 -0
  58. package/dist/components/MediaEditor/index.js.map +1 -0
  59. package/dist/components/MediaPlayer/index.cjs +24 -0
  60. package/dist/components/MediaPlayer/index.cjs.map +1 -0
  61. package/dist/components/MediaPlayer/index.d.cts +71 -0
  62. package/dist/components/MediaPlayer/index.d.ts +71 -0
  63. package/dist/components/MediaPlayer/index.js +7 -0
  64. package/dist/components/MediaPlayer/index.js.map +1 -0
  65. package/dist/components/ThemeProvider/index.cjs +7 -7
  66. package/dist/components/ThemeProvider/index.js +1 -1
  67. package/dist/components/TranscriptView/index.cjs +21 -0
  68. package/dist/components/TranscriptView/index.cjs.map +1 -0
  69. package/dist/components/TranscriptView/index.d.cts +55 -0
  70. package/dist/components/TranscriptView/index.d.ts +55 -0
  71. package/dist/components/TranscriptView/index.js +4 -0
  72. package/dist/components/TranscriptView/index.js.map +1 -0
  73. package/dist/esheet.cjs +5 -5
  74. package/dist/esheet.js +2 -2
  75. package/dist/hooks/index.cjs +49 -11
  76. package/dist/hooks/index.d.cts +88 -1
  77. package/dist/hooks/index.d.ts +88 -1
  78. package/dist/hooks/index.js +3 -1
  79. package/dist/index.cjs +380 -253
  80. package/dist/index.cjs.map +1 -1
  81. package/dist/index.d.cts +6 -1
  82. package/dist/index.d.ts +6 -1
  83. package/dist/index.js +87 -40
  84. package/dist/index.js.map +1 -1
  85. package/dist/styles.css +1 -1
  86. package/dist/transcript-oaWqY3yr.d.cts +81 -0
  87. package/dist/transcript-oaWqY3yr.d.ts +81 -0
  88. package/dist/useTranscriptEdits-BUylQFg0.d.cts +168 -0
  89. package/dist/useTranscriptEdits-CWYnjbGP.d.ts +168 -0
  90. package/package.json +1 -1
  91. package/dist/chunk-I56VBDSC.js.map +0 -1
  92. package/dist/chunk-JHPFOG2N.cjs.map +0 -1
@@ -1,7 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var chunkDKGUOMBC_cjs = require('../chunk-DKGUOMBC.cjs');
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 chunkDKGUOMBC_cjs.useCommandK; }
18
+ get: function () { return chunkX7J45FU5_cjs.useCommandK; }
17
19
  });
18
20
  Object.defineProperty(exports, "useIsDesktop", {
19
21
  enumerable: true,
20
- get: function () { return chunkDKGUOMBC_cjs.useIsDesktop; }
22
+ get: function () { return chunkX7J45FU5_cjs.useIsDesktop; }
21
23
  });
22
24
  Object.defineProperty(exports, "useIsLargeDesktop", {
23
25
  enumerable: true,
24
- get: function () { return chunkDKGUOMBC_cjs.useIsLargeDesktop; }
26
+ get: function () { return chunkX7J45FU5_cjs.useIsLargeDesktop; }
25
27
  });
26
28
  Object.defineProperty(exports, "useIsMobile", {
27
29
  enumerable: true,
28
- get: function () { return chunkDKGUOMBC_cjs.useIsMobile; }
30
+ get: function () { return chunkX7J45FU5_cjs.useIsMobile; }
29
31
  });
30
32
  Object.defineProperty(exports, "useIsMobileOrTablet", {
31
33
  enumerable: true,
32
- get: function () { return chunkDKGUOMBC_cjs.useIsMobileOrTablet; }
34
+ get: function () { return chunkX7J45FU5_cjs.useIsMobileOrTablet; }
33
35
  });
34
36
  Object.defineProperty(exports, "useIsSmallTablet", {
35
37
  enumerable: true,
36
- get: function () { return chunkDKGUOMBC_cjs.useIsSmallTablet; }
38
+ get: function () { return chunkX7J45FU5_cjs.useIsSmallTablet; }
37
39
  });
38
40
  Object.defineProperty(exports, "useIsTablet", {
39
41
  enumerable: true,
40
- get: function () { return chunkDKGUOMBC_cjs.useIsTablet; }
42
+ get: function () { return chunkX7J45FU5_cjs.useIsTablet; }
41
43
  });
42
44
  Object.defineProperty(exports, "useKeyboardShortcut", {
43
45
  enumerable: true,
44
- get: function () { return chunkDKGUOMBC_cjs.useKeyboardShortcut; }
46
+ get: function () { return chunkX7J45FU5_cjs.useKeyboardShortcut; }
45
47
  });
46
48
  Object.defineProperty(exports, "useMediaQuery", {
47
49
  enumerable: true,
48
- get: function () { return chunkDKGUOMBC_cjs.useMediaQuery; }
50
+ get: function () { return chunkX7J45FU5_cjs.useMediaQuery; }
49
51
  });
50
52
  Object.defineProperty(exports, "useScrollSpy", {
51
53
  enumerable: true,
52
- get: function () { return chunkDKGUOMBC_cjs.useScrollSpy; }
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; }
@@ -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
- export { type DragOverState, type KeyboardShortcutOptions, type UseDragReorderOptions, type UseDragReorderReturn, type UseScrollSpyOptions, type UseScrollSpyReturn, dragIndicatorClasses, reorderIds, useClickOutside, useCommandK, useDragReorder, useEscapeKey, useFocusTrap, useIsDesktop, useIsLargeDesktop, useIsMobile, useIsMobileOrTablet, useIsSmallTablet, useIsTablet, useKeyboardShortcut, useLiveAnnouncement, useMediaQuery, usePrefersReducedMotion, useScrollSpy };
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 };
@@ -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
- export { type DragOverState, type KeyboardShortcutOptions, type UseDragReorderOptions, type UseDragReorderReturn, type UseScrollSpyOptions, type UseScrollSpyReturn, dragIndicatorClasses, reorderIds, useClickOutside, useCommandK, useDragReorder, useEscapeKey, useFocusTrap, useIsDesktop, useIsLargeDesktop, useIsMobile, useIsMobileOrTablet, useIsSmallTablet, useIsTablet, useKeyboardShortcut, useLiveAnnouncement, useMediaQuery, usePrefersReducedMotion, useScrollSpy };
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 };
@@ -1,5 +1,7 @@
1
- export { useCommandK, useIsDesktop, useIsLargeDesktop, useIsMobile, useIsMobileOrTablet, useIsSmallTablet, useIsTablet, useKeyboardShortcut, useMediaQuery, useScrollSpy } from '../chunk-UVQEHZRF.js';
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';