@lucaismyname/ginger 0.0.25 → 0.0.28
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/README.md +34 -68
- package/dist/GingerSplitContexts-BzBExb95.js.map +1 -1
- package/dist/GingerSplitContexts-C7puo0M7.cjs.map +1 -1
- package/dist/analyzer/liveAudioGraph.d.ts.map +1 -1
- package/dist/analyzer/liveAudioGraph.test.d.ts +2 -0
- package/dist/analyzer/liveAudioGraph.test.d.ts.map +1 -0
- package/dist/analyzer/useGingerLiveAnalyzer.d.ts.map +1 -1
- package/dist/analyzer/useGingerLiveAnalyzer.test.d.ts +2 -0
- package/dist/analyzer/useGingerLiveAnalyzer.test.d.ts.map +1 -0
- package/dist/audio/GingerPlayer.d.ts.map +1 -1
- package/dist/client.cjs +1 -1
- package/dist/client.js +2 -2
- package/dist/components/controls/Controls.d.ts.map +1 -1
- package/dist/components/current/Artwork.d.ts.map +1 -1
- package/dist/components/current/Chapters.d.ts +1 -1
- package/dist/components/current/Chapters.d.ts.map +1 -1
- package/dist/components/current/FileUrl.d.ts +1 -1
- package/dist/components/current/FileUrl.d.ts.map +1 -1
- package/dist/components/current/Lyrics.d.ts +3 -1
- package/dist/components/current/Lyrics.d.ts.map +1 -1
- package/dist/components/current/LyricsSynced.d.ts +1 -1
- package/dist/components/current/LyricsSynced.d.ts.map +1 -1
- package/dist/components/current/Playback.d.ts +2 -2
- package/dist/components/current/Playback.d.ts.map +1 -1
- package/dist/components/current/QueueMeta.d.ts +2 -2
- package/dist/components/current/QueueMeta.d.ts.map +1 -1
- package/dist/components/current/Time.d.ts +2 -2
- package/dist/components/current/Time.d.ts.map +1 -1
- package/dist/components/current/Year.d.ts +1 -1
- package/dist/components/current/Year.d.ts.map +1 -1
- package/dist/components/current/createTextDisplay.d.ts.map +1 -1
- package/dist/components/current/texts.d.ts.map +1 -1
- package/dist/components/icons/Pause.d.ts +2 -0
- package/dist/components/icons/Pause.d.ts.map +1 -0
- package/dist/components/icons/Play.d.ts +2 -0
- package/dist/components/icons/Play.d.ts.map +1 -0
- package/dist/components/icons/Wrapper.d.ts +14 -0
- package/dist/components/icons/Wrapper.d.ts.map +1 -0
- package/dist/components/playlist/GingerPlaylist.d.ts.map +1 -1
- package/dist/components/queue/QueueDisplay.d.ts +1 -1
- package/dist/components/queue/QueueDisplay.d.ts.map +1 -1
- package/dist/context/GingerContext.d.ts.map +1 -1
- package/dist/context/GingerLocaleContext.d.ts.map +1 -1
- package/dist/context/GingerProvider.d.ts +1 -1
- package/dist/context/GingerProvider.d.ts.map +1 -1
- package/dist/context/GingerSplitContexts.d.ts.map +1 -1
- package/dist/core/playbackReducer.d.ts.map +1 -1
- package/dist/core/queue.d.ts.map +1 -1
- package/dist/core/transitions.d.ts.map +1 -1
- package/dist/ginger-CVwaVLpC.cjs +2 -0
- package/dist/ginger-CVwaVLpC.cjs.map +1 -0
- package/dist/ginger-G5-3BYSb.js +2165 -0
- package/dist/ginger-G5-3BYSb.js.map +1 -0
- package/dist/ginger.d.ts +1 -1
- package/dist/ginger.d.ts.map +1 -1
- package/dist/hooks/useControlBindings.d.ts.map +1 -1
- package/dist/hooks/useGinger.d.ts.map +1 -1
- package/dist/hooks/useGingerKeyboardShortcuts.d.ts.map +1 -1
- package/dist/hooks/useGingerLyricsSync.d.ts.map +1 -1
- package/dist/hooks/useSeekDrag.d.ts.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +2 -2
- package/dist/internal/selectors.d.ts.map +1 -1
- package/dist/testing/helpers.d.ts +1 -1
- package/dist/testing/helpers.d.ts.map +1 -1
- package/dist/testing/index.cjs +1 -1
- package/dist/testing/index.cjs.map +1 -1
- package/dist/testing/index.js +1 -1
- package/dist/testing/index.js.map +1 -1
- package/dist/testing/mockWebAudio.d.ts +47 -0
- package/dist/testing/mockWebAudio.d.ts.map +1 -0
- package/dist/types.d.ts +9 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/{useNextTrackPrefetch-iqM3_D0L.cjs → useNextTrackPrefetch-CtZp7EgH.cjs} +2 -2
- package/dist/useNextTrackPrefetch-CtZp7EgH.cjs.map +1 -0
- package/dist/{useNextTrackPrefetch-CmfCP_Vz.js → useNextTrackPrefetch-Mj8dQLYR.js} +53 -45
- package/dist/useNextTrackPrefetch-Mj8dQLYR.js.map +1 -0
- package/dist/waveform/analyzeAudioFile.d.ts.map +1 -1
- package/dist/waveform/index.cjs +1 -1
- package/dist/waveform/index.cjs.map +1 -1
- package/dist/waveform/index.js +91 -84
- package/dist/waveform/index.js.map +1 -1
- package/dist/waveform/useAudioFileAnalysis.d.ts.map +1 -1
- package/dist/waveform/useAudioPeaks.d.ts.map +1 -1
- package/package.json +5 -5
- package/dist/ginger-Dj-zM_lq.js +0 -1826
- package/dist/ginger-Dj-zM_lq.js.map +0 -1
- package/dist/ginger-R_CXoaE2.cjs +0 -2
- package/dist/ginger-R_CXoaE2.cjs.map +0 -1
- package/dist/useNextTrackPrefetch-CmfCP_Vz.js.map +0 -1
- package/dist/useNextTrackPrefetch-iqM3_D0L.cjs.map +0 -1
package/README.md
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
# @lucaismyname/ginger
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
**Batteries-included** React audio primitives for music and podcast UIs on the native **`<audio>`** element: a reducer-backed provider, composable **`Ginger.*`** components, and **`useGinger()`** for full control. Many pieces ship sensible defaults (CSS variables, layout helpers); use **`unstyled`** (and related flags below) when you want **behavior and data only**, with your own styling.
|
|
4
|
+
|
|
5
|
+
**Peer dependencies:** **`react` ≥ 18** (required). **`react-dom` ≥ 18** is listed as a peer for typical DOM apps; it is **optional** in `peerDependenciesMeta`, so setups that do not use `react-dom` can omit it when appropriate.
|
|
4
6
|
|
|
5
7
|
## Install
|
|
6
8
|
|
|
@@ -8,33 +10,43 @@ Headless React audio player primitives for building custom music and podcast UIs
|
|
|
8
10
|
npm install @lucaismyname/ginger
|
|
9
11
|
```
|
|
10
12
|
|
|
11
|
-
Peer dependencies:
|
|
12
|
-
|
|
13
|
-
- `react >= 18`
|
|
14
|
-
- `react-dom >= 18`
|
|
15
|
-
|
|
16
13
|
## Quick Start
|
|
17
14
|
|
|
18
15
|
```tsx
|
|
19
16
|
import { Ginger } from "@lucaismyname/ginger";
|
|
20
17
|
|
|
21
|
-
const tracks = [
|
|
18
|
+
const tracks = [
|
|
19
|
+
{
|
|
20
|
+
id: "one",
|
|
21
|
+
title: "One",
|
|
22
|
+
artist: "Demo Artist",
|
|
23
|
+
fileUrl: "https://example.com/audio/one.mp3",
|
|
24
|
+
artworkUrl: "https://example.com/art/one.jpg",
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
id: "two",
|
|
28
|
+
title: "Two",
|
|
29
|
+
artist: "Demo Artist",
|
|
30
|
+
fileUrl: "https://example.com/audio/two.mp3",
|
|
31
|
+
},
|
|
32
|
+
];
|
|
22
33
|
|
|
23
|
-
export function
|
|
34
|
+
export function App() {
|
|
24
35
|
return (
|
|
25
|
-
<Ginger.Provider initialTracks={tracks}>
|
|
36
|
+
<Ginger.Provider initialTracks={tracks} initialPlaylistMeta={{ title: "My Playlist" }}>
|
|
26
37
|
<Ginger.Player />
|
|
38
|
+
<Ginger.Current.Title />
|
|
39
|
+
<Ginger.Current.Artist />
|
|
27
40
|
<Ginger.Control.PlayPause />
|
|
28
|
-
<Ginger.Control.Previous />
|
|
29
41
|
<Ginger.Control.Next />
|
|
30
|
-
<Ginger.
|
|
31
|
-
<Ginger.Control.Volume />
|
|
32
|
-
<Ginger.Current.Title fallback="No track" />
|
|
42
|
+
<Ginger.Playlist />
|
|
33
43
|
</Ginger.Provider>
|
|
34
44
|
);
|
|
35
45
|
}
|
|
36
46
|
```
|
|
37
47
|
|
|
48
|
+
Mount **`<Ginger.Player />`** once inside the same provider tree so the hidden audio element exists. Everything else is optional and can be replaced with your own UI (including hooks only).
|
|
49
|
+
|
|
38
50
|
## Documentation
|
|
39
51
|
|
|
40
52
|
- Getting started: [`docs/getting-started.md`](./docs/getting-started.md)
|
|
@@ -74,58 +86,6 @@ npm run lint
|
|
|
74
86
|
npm run docs:api
|
|
75
87
|
```
|
|
76
88
|
|
|
77
|
-
# ginger
|
|
78
|
-
|
|
79
|
-
**`@lucaismyname/ginger`** is a headless React audio player built on the native **`<audio>`** element. It gives you a provider, a hidden media element, a typed state/control hook, and composable React components for transport controls, track metadata, queue metadata, and playlists.
|
|
80
|
-
|
|
81
|
-
## Install
|
|
82
|
-
|
|
83
|
-
```bash
|
|
84
|
-
npm install @lucaismyname/ginger
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
Peer dependencies:
|
|
88
|
-
|
|
89
|
-
- `react >= 18`
|
|
90
|
-
- `react-dom >= 18`
|
|
91
|
-
|
|
92
|
-
## Quick Start
|
|
93
|
-
|
|
94
|
-
```tsx
|
|
95
|
-
import { Ginger } from "@lucaismyname/ginger";
|
|
96
|
-
|
|
97
|
-
const tracks = [
|
|
98
|
-
{
|
|
99
|
-
id: "one",
|
|
100
|
-
title: "One",
|
|
101
|
-
artist: "Demo Artist",
|
|
102
|
-
fileUrl: "https://example.com/audio/one.mp3",
|
|
103
|
-
artworkUrl: "https://example.com/art/one.jpg",
|
|
104
|
-
},
|
|
105
|
-
{
|
|
106
|
-
id: "two",
|
|
107
|
-
title: "Two",
|
|
108
|
-
artist: "Demo Artist",
|
|
109
|
-
fileUrl: "https://example.com/audio/two.mp3",
|
|
110
|
-
},
|
|
111
|
-
];
|
|
112
|
-
|
|
113
|
-
export function App() {
|
|
114
|
-
return (
|
|
115
|
-
<Ginger.Provider initialTracks={tracks} initialPlaylistMeta={{ title: "My Playlist" }}>
|
|
116
|
-
<Ginger.Player />
|
|
117
|
-
<Ginger.Current.Title />
|
|
118
|
-
<Ginger.Current.Artist />
|
|
119
|
-
<Ginger.Control.PlayPause />
|
|
120
|
-
<Ginger.Control.Next />
|
|
121
|
-
<Ginger.Playlist />
|
|
122
|
-
</Ginger.Provider>
|
|
123
|
-
);
|
|
124
|
-
}
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
Mount **`<Ginger.Player />`** once inside the same provider tree so the hidden audio element exists. Everything else is optional and can be replaced with your own UI.
|
|
128
|
-
|
|
129
89
|
## Copy/Paste Examples
|
|
130
90
|
|
|
131
91
|
### Small Audio Player With Tailwind
|
|
@@ -419,6 +379,7 @@ Props:
|
|
|
419
379
|
| `initialMuted` | `boolean` | `false` | Initial muted state |
|
|
420
380
|
| `initialPlaybackRate` | `number` | `1` | Initial playback rate, clamped `0.25..4` |
|
|
421
381
|
| `initialStateKey` | `string \| number` | `undefined` | Re-dispatches `INIT` when this key changes |
|
|
382
|
+
| `locale` | `Partial<GingerLocaleMessages>` | `undefined` | Override built-in strings (controls, chapter list, synced lyrics list, …) |
|
|
422
383
|
| `mediaSession` | `boolean` | `false` | Enables Media Session lock-screen/OS controls |
|
|
423
384
|
| `beforePlay` | `() => boolean \| Promise<boolean>` | `undefined` | Policy hook run before playback starts |
|
|
424
385
|
| `onPlayBlocked` | `() => void` | `undefined` | Called when `beforePlay` returns `false` |
|
|
@@ -426,7 +387,8 @@ Props:
|
|
|
426
387
|
| `hydrateOnMount` | `boolean` | `false` | Hydrate persisted values into initial provider state |
|
|
427
388
|
| `resumeOnTrackChange` | `boolean` | `false` | Restore/save per-track playback position |
|
|
428
389
|
| `unstyled` | `boolean` | `false` | Skip provider default CSS variable/theme styles |
|
|
429
|
-
| `
|
|
390
|
+
| `asChild` | `boolean` | `false` | Merge shell props (`className`, `style`, `data-ginger-playback`, `dir`) onto the single child element instead of a wrapper `div` |
|
|
391
|
+
| `className` | `string` | `undefined` | Class for the provider wrapper (merged when `asChild`) |
|
|
430
392
|
| `style` | `CSSProperties` | `undefined` | Inline styles / CSS variables |
|
|
431
393
|
| `onTrackChange` | `(track, index) => void` | `undefined` | Fires when current track changes |
|
|
432
394
|
| `onPlay` | `() => void` | `undefined` | Fires when state changes to playing |
|
|
@@ -566,7 +528,7 @@ Other current-track components:
|
|
|
566
528
|
| Component | Description | Important props |
|
|
567
529
|
|-----------|-------------|-----------------|
|
|
568
530
|
| `Ginger.Current.Artwork` | Current track artwork or playlist artwork fallback | `unstyled`, `imgStyle`, `sizes`, `loading`, `decoding`, `onError`, display-base props |
|
|
569
|
-
| `Ginger.Current.Lyrics` | Track lyrics | `preserveWhitespace`, render-prop `children` |
|
|
531
|
+
| `Ginger.Current.Lyrics` | Track lyrics | `preserveWhitespace`, `unstyled`, render-prop `children` |
|
|
570
532
|
| `Ginger.Current.LyricsSynced` | Timed / LRC lyrics with active line | `activeClassName`, `lineClassName`, `unstyled`, render-prop `children` |
|
|
571
533
|
| `Ginger.Current.Chapters` | Chapter list; click seeks to `startSeconds` | `formatStart`, `unstyled`, render-prop `children` |
|
|
572
534
|
| `Ginger.Current.FileUrl` | Track `fileUrl`, hidden unless explicitly enabled | `visible`, display-base props |
|
|
@@ -768,7 +730,7 @@ Example:
|
|
|
768
730
|
|
|
769
731
|
- **Advanced hooks** — **`useGingerKeyboardShortcuts()`**, **`useGingerSleepTimer()`**, **`useSeekDrag()`**, **`useNextTrackPrefetch()`**, **`useGingerChapters()`**, **`useGingerLyricsSync()`**, and **`useGingerDebugLog()`** are available for custom UX and diagnostics.
|
|
770
732
|
|
|
771
|
-
- **Locale** — Pass **`locale={partialMessages}`** on `Ginger.Provider` (type **`GingerLocaleMessages`**) to translate built-in control strings; **`useGingerLocale()`** reads the merged messages anywhere under the provider.
|
|
733
|
+
- **Locale** — Pass **`locale={partialMessages}`** on `Ginger.Provider` (type **`GingerLocaleMessages`**) to translate built-in control strings, chapter list labels, and synced lyrics list names; **`useGingerLocale()`** reads the merged messages anywhere under the provider.
|
|
772
734
|
|
|
773
735
|
- **Track extras** — Optional **`metadata?: Record<string, unknown>`** on **`Track`** (and on **`PlaylistMeta`**) is ignored by core logic; use it for badges, flags, or UI-only fields.
|
|
774
736
|
|
|
@@ -996,10 +958,14 @@ Use `useGingerDebugLog(true)` during development to log core state transitions i
|
|
|
996
958
|
### Fully unstyled mode
|
|
997
959
|
|
|
998
960
|
- `Ginger.Provider unstyled` disables provider theme defaults (CSS variable injection).
|
|
961
|
+
- `Ginger.Provider asChild` merges the same shell props onto **one** child element (no extra wrapper `div`).
|
|
999
962
|
- `Ginger.Control.SeekBar` and `Ginger.Control.Volume` accept `unstyled`.
|
|
1000
963
|
- `Ginger.Current.Artwork`, `Ginger.Queue.Artwork`, `Ginger.Current.TimeRail`, and `Ginger.Current.BufferRail` accept `unstyled`.
|
|
1001
964
|
- `Ginger.Playlist` and `Ginger.Playlist.Track` accept `unstyled`.
|
|
1002
965
|
- `Ginger.Current.Chapters` and `Ginger.Current.LyricsSynced` accept `unstyled`.
|
|
966
|
+
- `Ginger.Current.Lyrics` accepts `unstyled` to skip default `whiteSpace: pre-wrap` when using `preserveWhitespace` (apply typography via `className` / `style` instead).
|
|
967
|
+
|
|
968
|
+
With `Ginger.Current.TimeRail` / `showBuffered`, **`unstyled`** removes positioning and background layers; you still get percentage widths on inner segments—supply your own layout (e.g. `position: relative` on the rail, bar heights) so the headless variant lays out correctly.
|
|
1003
969
|
|
|
1004
970
|
This gives you a pure state+behavior layer while keeping convenience components available.
|
|
1005
971
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GingerSplitContexts-BzBExb95.js","sources":["../src/context/GingerSplitContexts.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"GingerSplitContexts-BzBExb95.js","sources":["../src/context/GingerSplitContexts.tsx"],"sourcesContent":["import { type Dispatch, type MutableRefObject, createContext, useContext, useMemo } from \"react\";\nimport type {\n GingerAction,\n GingerInitPayload,\n GingerMediaSlice,\n GingerPlaybackSlice,\n GingerState,\n PlaybackMode,\n PlaylistMeta,\n RepeatMode,\n Track,\n} from \"../types\";\n\nexport type GingerPlaybackActions = {\n init: (payload: GingerInitPayload) => void;\n play: () => void;\n pause: () => void;\n togglePlayPause: () => void;\n next: () => void;\n prev: () => void;\n setRepeatMode: (mode: RepeatMode) => void;\n cycleRepeat: () => void;\n toggleShuffle: () => void;\n setQueue: (tracks: Track[], currentIndex?: number) => void;\n insertTrackAt: (track: Track, index?: number, autoPlay?: boolean) => void;\n removeTrackAt: (index: number) => void;\n moveTrack: (fromIndex: number, toIndex: number) => void;\n enqueueNext: (track: Track) => void;\n playTrackAt: (index: number) => void;\n selectTrackAt: (index: number) => void;\n setPlaylistMeta: (meta: PlaylistMeta | null) => void;\n setPlaybackMode: (mode: PlaybackMode) => void;\n dispatch: Dispatch<GingerAction>;\n};\n\nexport type GingerPlaybackContextValue = GingerPlaybackSlice & GingerPlaybackActions;\n\nexport type GingerMediaActions = {\n seek: (timeSeconds: number) => void;\n setVolume: (volume: number) => void;\n setMuted: (muted: boolean) => void;\n toggleMute: () => void;\n setPlaybackRate: (rate: number) => void;\n audioRef: MutableRefObject<HTMLAudioElement | null>;\n notifyEnded: () => void;\n dispatch: Dispatch<GingerAction>;\n};\n\nexport type GingerMediaContextValue = GingerMediaSlice & GingerMediaActions;\n\nconst GingerPlaybackContext = createContext<GingerPlaybackContextValue | null>(null);\nconst GingerMediaContext = createContext<GingerMediaContextValue | null>(null);\n\nexport function useGingerPlayback(): GingerPlaybackContextValue {\n const ctx = useContext(GingerPlaybackContext);\n if (!ctx) throw new Error(\"Ginger hooks must be used within <Ginger.Provider>\");\n return ctx;\n}\n\nexport function useGingerMedia(): GingerMediaContextValue {\n const ctx = useContext(GingerMediaContext);\n if (!ctx) throw new Error(\"Ginger hooks must be used within <Ginger.Provider>\");\n return ctx;\n}\n\n/** Full merged state; prefer over `useGingerContext().state` so updates follow playback vs media splits. */\nexport function useGingerState(): GingerState {\n const pb = useGingerPlayback();\n const md = useGingerMedia();\n return useMemo(() => gingerStateFromContextValues(pb, md), [pb, md]);\n}\n\n/** Merge playback + media slices (for selectors and `useGinger`). */\nexport function gingerStateFromContexts(\n playback: GingerPlaybackSlice,\n media: GingerMediaSlice,\n): GingerState {\n return { ...playback, ...media };\n}\n\n/** Merge full context values into `GingerState` (strips action fields). */\nexport function gingerStateFromContextValues(\n pb: GingerPlaybackContextValue,\n md: GingerMediaContextValue,\n): GingerState {\n const {\n init: _i,\n play: _p,\n pause: _pa,\n togglePlayPause: _t,\n next: _n,\n prev: _pr,\n setRepeatMode: _sr,\n cycleRepeat: _cr,\n toggleShuffle: _ts,\n setQueue: _sq,\n insertTrackAt: _ita,\n removeTrackAt: _rta,\n moveTrack: _mt,\n enqueueNext: _en,\n playTrackAt: _pta,\n selectTrackAt: _sta,\n setPlaylistMeta: _spm,\n setPlaybackMode: _spbm,\n dispatch: _d1,\n ...playbackRest\n } = pb;\n const {\n seek: _sk,\n setVolume: _sv,\n setMuted: _sm,\n toggleMute: _tm,\n setPlaybackRate: _spr,\n audioRef: _ar,\n notifyEnded: _ne,\n dispatch: _d2,\n ...mediaRest\n } = md;\n return { ...playbackRest, ...mediaRest };\n}\n\nexport { GingerPlaybackContext, GingerMediaContext };\n"],"names":["GingerPlaybackContext","createContext","GingerMediaContext","useGingerPlayback","ctx","useContext","useGingerMedia","useGingerState","pb","md","useMemo","gingerStateFromContextValues","gingerStateFromContexts","playback","media","_i","_p","_pa","_t","_n","_pr","_sr","_cr","_ts","_sq","_ita","_rta","_mt","_en","_pta","_sta","_spm","_spbm","_d1","playbackRest","_sk","_sv","_sm","_tm","_spr","_ar","_ne","_d2","mediaRest"],"mappings":";AAkDA,MAAMA,IAAwBC,EAAiD,IAAI,GAC7EC,IAAqBD,EAA8C,IAAI;AAEtE,SAASE,IAAgD;AAC9D,QAAMC,IAAMC,EAAWL,CAAqB;AAC5C,MAAI,CAACI,EAAK,OAAM,IAAI,MAAM,oDAAoD;AAC9E,SAAOA;AACT;AAEO,SAASE,IAA0C;AACxD,QAAMF,IAAMC,EAAWH,CAAkB;AACzC,MAAI,CAACE,EAAK,OAAM,IAAI,MAAM,oDAAoD;AAC9E,SAAOA;AACT;AAGO,SAASG,IAA8B;AAC5C,QAAMC,IAAKL,EAAA,GACLM,IAAKH,EAAA;AACX,SAAOI,EAAQ,MAAMC,EAA6BH,GAAIC,CAAE,GAAG,CAACD,GAAIC,CAAE,CAAC;AACrE;AAGO,SAASG,EACdC,GACAC,GACa;AACb,SAAO,EAAE,GAAGD,GAAU,GAAGC,EAAA;AAC3B;AAGO,SAASH,EACdH,GACAC,GACa;AACb,QAAM;AAAA,IACJ,MAAMM;AAAA,IACN,MAAMC;AAAA,IACN,OAAOC;AAAA,IACP,iBAAiBC;AAAA,IACjB,MAAMC;AAAA,IACN,MAAMC;AAAA,IACN,eAAeC;AAAA,IACf,aAAaC;AAAA,IACb,eAAeC;AAAA,IACf,UAAUC;AAAA,IACV,eAAeC;AAAA,IACf,eAAeC;AAAA,IACf,WAAWC;AAAA,IACX,aAAaC;AAAA,IACb,aAAaC;AAAA,IACb,eAAeC;AAAA,IACf,iBAAiBC;AAAA,IACjB,iBAAiBC;AAAA,IACjB,UAAUC;AAAA,IACV,GAAGC;AAAA,EAAA,IACD1B,GACE;AAAA,IACJ,MAAM2B;AAAA,IACN,WAAWC;AAAA,IACX,UAAUC;AAAA,IACV,YAAYC;AAAA,IACZ,iBAAiBC;AAAA,IACjB,UAAUC;AAAA,IACV,aAAaC;AAAA,IACb,UAAUC;AAAA,IACV,GAAGC;AAAA,EAAA,IACDlC;AACJ,SAAO,EAAE,GAAGyB,GAAc,GAAGS,EAAA;AAC/B;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GingerSplitContexts-C7puo0M7.cjs","sources":["../src/context/GingerSplitContexts.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"GingerSplitContexts-C7puo0M7.cjs","sources":["../src/context/GingerSplitContexts.tsx"],"sourcesContent":["import { type Dispatch, type MutableRefObject, createContext, useContext, useMemo } from \"react\";\nimport type {\n GingerAction,\n GingerInitPayload,\n GingerMediaSlice,\n GingerPlaybackSlice,\n GingerState,\n PlaybackMode,\n PlaylistMeta,\n RepeatMode,\n Track,\n} from \"../types\";\n\nexport type GingerPlaybackActions = {\n init: (payload: GingerInitPayload) => void;\n play: () => void;\n pause: () => void;\n togglePlayPause: () => void;\n next: () => void;\n prev: () => void;\n setRepeatMode: (mode: RepeatMode) => void;\n cycleRepeat: () => void;\n toggleShuffle: () => void;\n setQueue: (tracks: Track[], currentIndex?: number) => void;\n insertTrackAt: (track: Track, index?: number, autoPlay?: boolean) => void;\n removeTrackAt: (index: number) => void;\n moveTrack: (fromIndex: number, toIndex: number) => void;\n enqueueNext: (track: Track) => void;\n playTrackAt: (index: number) => void;\n selectTrackAt: (index: number) => void;\n setPlaylistMeta: (meta: PlaylistMeta | null) => void;\n setPlaybackMode: (mode: PlaybackMode) => void;\n dispatch: Dispatch<GingerAction>;\n};\n\nexport type GingerPlaybackContextValue = GingerPlaybackSlice & GingerPlaybackActions;\n\nexport type GingerMediaActions = {\n seek: (timeSeconds: number) => void;\n setVolume: (volume: number) => void;\n setMuted: (muted: boolean) => void;\n toggleMute: () => void;\n setPlaybackRate: (rate: number) => void;\n audioRef: MutableRefObject<HTMLAudioElement | null>;\n notifyEnded: () => void;\n dispatch: Dispatch<GingerAction>;\n};\n\nexport type GingerMediaContextValue = GingerMediaSlice & GingerMediaActions;\n\nconst GingerPlaybackContext = createContext<GingerPlaybackContextValue | null>(null);\nconst GingerMediaContext = createContext<GingerMediaContextValue | null>(null);\n\nexport function useGingerPlayback(): GingerPlaybackContextValue {\n const ctx = useContext(GingerPlaybackContext);\n if (!ctx) throw new Error(\"Ginger hooks must be used within <Ginger.Provider>\");\n return ctx;\n}\n\nexport function useGingerMedia(): GingerMediaContextValue {\n const ctx = useContext(GingerMediaContext);\n if (!ctx) throw new Error(\"Ginger hooks must be used within <Ginger.Provider>\");\n return ctx;\n}\n\n/** Full merged state; prefer over `useGingerContext().state` so updates follow playback vs media splits. */\nexport function useGingerState(): GingerState {\n const pb = useGingerPlayback();\n const md = useGingerMedia();\n return useMemo(() => gingerStateFromContextValues(pb, md), [pb, md]);\n}\n\n/** Merge playback + media slices (for selectors and `useGinger`). */\nexport function gingerStateFromContexts(\n playback: GingerPlaybackSlice,\n media: GingerMediaSlice,\n): GingerState {\n return { ...playback, ...media };\n}\n\n/** Merge full context values into `GingerState` (strips action fields). */\nexport function gingerStateFromContextValues(\n pb: GingerPlaybackContextValue,\n md: GingerMediaContextValue,\n): GingerState {\n const {\n init: _i,\n play: _p,\n pause: _pa,\n togglePlayPause: _t,\n next: _n,\n prev: _pr,\n setRepeatMode: _sr,\n cycleRepeat: _cr,\n toggleShuffle: _ts,\n setQueue: _sq,\n insertTrackAt: _ita,\n removeTrackAt: _rta,\n moveTrack: _mt,\n enqueueNext: _en,\n playTrackAt: _pta,\n selectTrackAt: _sta,\n setPlaylistMeta: _spm,\n setPlaybackMode: _spbm,\n dispatch: _d1,\n ...playbackRest\n } = pb;\n const {\n seek: _sk,\n setVolume: _sv,\n setMuted: _sm,\n toggleMute: _tm,\n setPlaybackRate: _spr,\n audioRef: _ar,\n notifyEnded: _ne,\n dispatch: _d2,\n ...mediaRest\n } = md;\n return { ...playbackRest, ...mediaRest };\n}\n\nexport { GingerPlaybackContext, GingerMediaContext };\n"],"names":["GingerPlaybackContext","createContext","GingerMediaContext","useGingerPlayback","ctx","useContext","useGingerMedia","useGingerState","pb","md","useMemo","gingerStateFromContextValues","gingerStateFromContexts","playback","media","_i","_p","_pa","_t","_n","_pr","_sr","_cr","_ts","_sq","_ita","_rta","_mt","_en","_pta","_sta","_spm","_spbm","_d1","playbackRest","_sk","_sv","_sm","_tm","_spr","_ar","_ne","_d2","mediaRest"],"mappings":"sCAkDMA,EAAwBC,EAAAA,cAAiD,IAAI,EAC7EC,EAAqBD,EAAAA,cAA8C,IAAI,EAEtE,SAASE,GAAgD,CAC9D,MAAMC,EAAMC,EAAAA,WAAWL,CAAqB,EAC5C,GAAI,CAACI,EAAK,MAAM,IAAI,MAAM,oDAAoD,EAC9E,OAAOA,CACT,CAEO,SAASE,GAA0C,CACxD,MAAMF,EAAMC,EAAAA,WAAWH,CAAkB,EACzC,GAAI,CAACE,EAAK,MAAM,IAAI,MAAM,oDAAoD,EAC9E,OAAOA,CACT,CAGO,SAASG,GAA8B,CAC5C,MAAMC,EAAKL,EAAA,EACLM,EAAKH,EAAA,EACX,OAAOI,EAAAA,QAAQ,IAAMC,EAA6BH,EAAIC,CAAE,EAAG,CAACD,EAAIC,CAAE,CAAC,CACrE,CAGO,SAASG,EACdC,EACAC,EACa,CACb,MAAO,CAAE,GAAGD,EAAU,GAAGC,CAAA,CAC3B,CAGO,SAASH,EACdH,EACAC,EACa,CACb,KAAM,CACJ,KAAMM,EACN,KAAMC,EACN,MAAOC,EACP,gBAAiBC,EACjB,KAAMC,EACN,KAAMC,EACN,cAAeC,EACf,YAAaC,EACb,cAAeC,EACf,SAAUC,EACV,cAAeC,EACf,cAAeC,EACf,UAAWC,EACX,YAAaC,EACb,YAAaC,EACb,cAAeC,EACf,gBAAiBC,EACjB,gBAAiBC,EACjB,SAAUC,EACV,GAAGC,CAAA,EACD1B,EACE,CACJ,KAAM2B,EACN,UAAWC,EACX,SAAUC,EACV,WAAYC,EACZ,gBAAiBC,EACjB,SAAUC,EACV,YAAaC,EACb,SAAUC,EACV,GAAGC,CAAA,EACDlC,EACJ,MAAO,CAAE,GAAGyB,EAAc,GAAGS,CAAA,CAC/B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"liveAudioGraph.d.ts","sourceRoot":"","sources":["../../src/analyzer/liveAudioGraph.ts"],"names":[],"mappings":"AAAA,uGAAuG;AAEvG,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAsBF,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,mBAAmB,GAC3B;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,YAAY,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"liveAudioGraph.d.ts","sourceRoot":"","sources":["../../src/analyzer/liveAudioGraph.ts"],"names":[],"mappings":"AAAA,uGAAuG;AAEvG,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAsBF,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,mBAAmB,GAC3B;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,YAAY,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAA;CAAE,CAkC/D;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CA6B9E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"liveAudioGraph.test.d.ts","sourceRoot":"","sources":["../../src/analyzer/liveAudioGraph.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGingerLiveAnalyzer.d.ts","sourceRoot":"","sources":["../../src/analyzer/useGingerLiveAnalyzer.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,4BAA4B,GAAG;IACzC,iFAAiF;IACjF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,kHAAkH;IAClH,aAAa,EAAE,UAAU,CAAC;IAC1B,8DAA8D;IAC9D,cAAc,EAAE,UAAU,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B,CAAC;AAKF,wBAAgB,qBAAqB,
|
|
1
|
+
{"version":3,"file":"useGingerLiveAnalyzer.d.ts","sourceRoot":"","sources":["../../src/analyzer/useGingerLiveAnalyzer.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,4BAA4B,GAAG;IACzC,iFAAiF;IACjF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,kHAAkH;IAClH,aAAa,EAAE,UAAU,CAAC;IAC1B,8DAA8D;IAC9D,cAAc,EAAE,UAAU,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B,CAAC;AAKF,wBAAgB,qBAAqB,CACnC,OAAO,GAAE,4BAAiC,GACzC,2BAA2B,CAkK7B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useGingerLiveAnalyzer.test.d.ts","sourceRoot":"","sources":["../../src/analyzer/useGingerLiveAnalyzer.test.tsx"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GingerPlayer.d.ts","sourceRoot":"","sources":["../../src/audio/GingerPlayer.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"GingerPlayer.d.ts","sourceRoot":"","sources":["../../src/audio/GingerPlayer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,aAAa,EAA+B,MAAM,OAAO,CAAC;AAGlG,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,OAAO,CAAC,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,CAAC;IAC3D,WAAW,CAAC,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,CAAC,aAAa,CAAC,CAAC;IACnE,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAQF,wBAAgB,YAAY,CAAC,EAC3B,SAAS,EACT,KAAK,EACL,OAAoB,EACpB,WAAW,EACX,oBAA4B,GAC7B,EAAE,iBAAiB,2CAoInB"}
|
package/dist/client.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./ginger-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./ginger-CVwaVLpC.cjs"),r=require("./useNextTrackPrefetch-CtZp7EgH.cjs"),a=require("./GingerSplitContexts-C7puo0M7.cjs");exports.Chapters=e.Chapters;exports.Ginger=e.Ginger;exports.LyricsSynced=e.LyricsSynced;exports.clampPlaybackRate=e.clampPlaybackRate;exports.clampVolume=e.clampVolume;exports.defaultGingerLocale=e.defaultGingerLocale;exports.derivePlaybackUiState=e.derivePlaybackUiState;exports.parseLrc=e.parseLrc;exports.useGingerChapters=e.useGingerChapters;exports.useGingerLocale=e.useGingerLocale;exports.useGingerLyricsSync=e.useGingerLyricsSync;exports.usePlayPauseBinding=e.usePlayPauseBinding;exports.useSeekBarBinding=e.useSeekBarBinding;exports.useVolumeSlider=e.useVolumeSlider;exports.attachLiveAnalyser=r.attachLiveAnalyser;exports.detachLiveAnalyser=r.detachLiveAnalyser;exports.useGinger=r.useGinger;exports.useGingerDebugLog=r.useGingerDebugLog;exports.useGingerKeyboardShortcuts=r.useGingerKeyboardShortcuts;exports.useGingerLiveAnalyzer=r.useGingerLiveAnalyzer;exports.useGingerSleepTimer=r.useGingerSleepTimer;exports.useNextTrackPrefetch=r.useNextTrackPrefetch;exports.useSeekDrag=r.useSeekDrag;exports.gingerStateFromContextValues=a.gingerStateFromContextValues;exports.gingerStateFromContexts=a.gingerStateFromContexts;exports.useGingerMedia=a.useGingerMedia;exports.useGingerPlayback=a.useGingerPlayback;exports.useGingerState=a.useGingerState;
|
|
2
2
|
//# sourceMappingURL=client.cjs.map
|
package/dist/client.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { C as s, G as r, L as i, c as n, a as t, d as u, b as g, p as c, u as l, e as o, f as G, g as y, h as d, i as S } from "./ginger-
|
|
2
|
-
import { a as p, d as L, u as b, b as h, c as f, e as k, f as x, g as P, h as C } from "./useNextTrackPrefetch-
|
|
1
|
+
import { C as s, G as r, L as i, c as n, a as t, d as u, b as g, p as c, u as l, e as o, f as G, g as y, h as d, i as S } from "./ginger-G5-3BYSb.js";
|
|
2
|
+
import { a as p, d as L, u as b, b as h, c as f, e as k, f as x, g as P, h as C } from "./useNextTrackPrefetch-Mj8dQLYR.js";
|
|
3
3
|
import { g as A, a as B, u as V, b as D, c as F } from "./GingerSplitContexts-BzBExb95.js";
|
|
4
4
|
export {
|
|
5
5
|
s as Chapters,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Controls.d.ts","sourceRoot":"","sources":["../../../src/components/controls/Controls.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,aAAa,EACb,mBAAmB,EACnB,SAAS,EACT,oBAAoB,EACrB,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Controls.d.ts","sourceRoot":"","sources":["../../../src/components/controls/Controls.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Artwork.d.ts","sourceRoot":"","sources":["../../../src/components/current/Artwork.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Artwork.d.ts","sourceRoot":"","sources":["../../../src/components/current/Artwork.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAG9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,MAAM,YAAY,GAAG,gBAAgB,GACzC,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC,GAAG;IACxF,mEAAmE;IACnE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B,CAAC;AAEJ,wBAAgB,OAAO,CAAC,EACtB,SAAS,EACT,KAAK,EACL,QAAQ,EACR,KAAK,EACL,KAAK,EACL,OAAO,EACP,OAAO,EACP,QAAQ,EACR,QAAgB,EAChB,QAAQ,GACT,EAAE,YAAY,kDA8Cd;yBAzDe,OAAO"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
|
-
import { DisplayBaseProps, GingerState } from '../../types';
|
|
3
2
|
import { GingerChapter } from '../../hooks/useGingerChapters';
|
|
3
|
+
import { DisplayBaseProps, GingerState } from '../../types';
|
|
4
4
|
export type ChaptersProps = Omit<DisplayBaseProps, "children"> & {
|
|
5
5
|
/** Remove default list/row styles for fully custom styling. */
|
|
6
6
|
unstyled?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chapters.d.ts","sourceRoot":"","sources":["../../../src/components/current/Chapters.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Chapters.d.ts","sourceRoot":"","sources":["../../../src/components/current/Chapters.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAC;AAGtD,OAAO,EACL,KAAK,aAAa,EAEnB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEjE,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,GAAG;IAC/D,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8EAA8E;IAC9E,WAAW,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,MAAM,CAAC;IAC/C,QAAQ,CAAC,EAAE,CACT,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,WAAW,KACf,SAAS,CAAC;CAChB,CAAC;AAEF,wBAAgB,QAAQ,CAAC,EACvB,SAAS,EACT,KAAK,EACL,QAAQ,EACR,KAAK,EACL,QAAgB,EAChB,WAAwB,EACxB,QAAQ,GACT,EAAE,aAAa,kDAiFf;yBAzFe,QAAQ"}
|
|
@@ -3,7 +3,7 @@ export type FileUrlProps = TextDisplayProps & {
|
|
|
3
3
|
/** When false (default), renders nothing unless you explicitly opt in */
|
|
4
4
|
visible?: boolean;
|
|
5
5
|
};
|
|
6
|
-
export declare function FileUrl({ visible, className, style, fallback, empty, children }: FileUrlProps): import("react/jsx-runtime").JSX.Element | null;
|
|
6
|
+
export declare function FileUrl({ visible, className, style, fallback, empty, children, }: FileUrlProps): import("react/jsx-runtime").JSX.Element | null;
|
|
7
7
|
export declare namespace FileUrl {
|
|
8
8
|
var displayName: string;
|
|
9
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUrl.d.ts","sourceRoot":"","sources":["../../../src/components/current/FileUrl.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FileUrl.d.ts","sourceRoot":"","sources":["../../../src/components/current/FileUrl.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,MAAM,MAAM,YAAY,GAAG,gBAAgB,GAAG;IAC5C,yEAAyE;IACzE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,wBAAgB,OAAO,CAAC,EACtB,OAAe,EACf,SAAS,EACT,KAAK,EACL,QAAQ,EACR,KAAK,EACL,QAAQ,GACT,EAAE,YAAY,kDAuBd;yBA9Be,OAAO"}
|
|
@@ -4,8 +4,10 @@ export type LyricsProps = DisplayBaseProps & {
|
|
|
4
4
|
children?: (value: string, state: GingerState) => ReactNode;
|
|
5
5
|
/** When true, preserves internal newlines; trims only leading/trailing whitespace */
|
|
6
6
|
preserveWhitespace?: boolean;
|
|
7
|
+
/** When true, skips default `whiteSpace: pre-wrap` when `preserveWhitespace` is true (use `className` / `style` instead). */
|
|
8
|
+
unstyled?: boolean;
|
|
7
9
|
};
|
|
8
|
-
export declare function Lyrics({ className, style, fallback, empty, children, preserveWhitespace }: LyricsProps): import("react/jsx-runtime").JSX.Element | null;
|
|
10
|
+
export declare function Lyrics({ className, style, fallback, empty, children, preserveWhitespace, unstyled, }: LyricsProps): import("react/jsx-runtime").JSX.Element | null;
|
|
9
11
|
export declare namespace Lyrics {
|
|
10
12
|
var displayName: string;
|
|
11
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Lyrics.d.ts","sourceRoot":"","sources":["../../../src/components/current/Lyrics.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Lyrics.d.ts","sourceRoot":"","sources":["../../../src/components/current/Lyrics.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAC;AAGtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEjE,MAAM,MAAM,WAAW,GAAG,gBAAgB,GAAG;IAC3C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,KAAK,SAAS,CAAC;IAC5D,qFAAqF;IACrF,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,6HAA6H;IAC7H,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,wBAAgB,MAAM,CAAC,EACrB,SAAS,EACT,KAAK,EACL,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,kBAAyB,EACzB,QAAgB,GACjB,EAAE,WAAW,kDA2Bb;yBAnCe,MAAM"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
|
-
import { DisplayBaseProps, GingerState } from '../../types';
|
|
3
2
|
import { TimedLyricLine } from '../../internal/lyrics';
|
|
3
|
+
import { DisplayBaseProps, GingerState } from '../../types';
|
|
4
4
|
export type LyricsSyncedProps = Omit<DisplayBaseProps, "children"> & {
|
|
5
5
|
unstyled?: boolean;
|
|
6
6
|
/** Class applied to the line that matches the current playback time. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LyricsSynced.d.ts","sourceRoot":"","sources":["../../../src/components/current/LyricsSynced.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"LyricsSynced.d.ts","sourceRoot":"","sources":["../../../src/components/current/LyricsSynced.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAC;AAItD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEjE,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,GAAG;IACnE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wEAAwE;IACxE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mCAAmC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,CACT,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,WAAW,KACf,SAAS,CAAC;CAChB,CAAC;AAEF,wBAAgB,YAAY,CAAC,EAC3B,SAAS,EACT,KAAK,EACL,QAAQ,EACR,KAAK,EACL,QAAgB,EAChB,eAAe,EACf,aAAa,EACb,QAAQ,GACT,EAAE,iBAAiB,kDA4DnB;yBArEe,YAAY"}
|
|
@@ -3,7 +3,7 @@ import { DisplayBaseProps, GingerState, PlaybackUiState } from '../../types';
|
|
|
3
3
|
export type PlaybackStateProps = DisplayBaseProps & {
|
|
4
4
|
children?: (value: PlaybackUiState, state: GingerState) => ReactNode;
|
|
5
5
|
};
|
|
6
|
-
export declare function PlaybackState({ className, style, fallback, empty, children }: PlaybackStateProps): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export declare function PlaybackState({ className, style, fallback, empty, children, }: PlaybackStateProps): import("react/jsx-runtime").JSX.Element;
|
|
7
7
|
export declare namespace PlaybackState {
|
|
8
8
|
var displayName: string;
|
|
9
9
|
}
|
|
@@ -11,7 +11,7 @@ export type ErrorMessageProps = DisplayBaseProps & {
|
|
|
11
11
|
live?: "polite" | "assertive" | "off";
|
|
12
12
|
children?: (value: string, state: GingerState) => ReactNode;
|
|
13
13
|
};
|
|
14
|
-
export declare function ErrorMessage({ className, style, fallback, empty, live, children }: ErrorMessageProps): import("react/jsx-runtime").JSX.Element | null;
|
|
14
|
+
export declare function ErrorMessage({ className, style, fallback, empty, live, children, }: ErrorMessageProps): import("react/jsx-runtime").JSX.Element | null;
|
|
15
15
|
export declare namespace ErrorMessage {
|
|
16
16
|
var displayName: string;
|
|
17
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Playback.d.ts","sourceRoot":"","sources":["../../../src/components/current/Playback.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Playback.d.ts","sourceRoot":"","sources":["../../../src/components/current/Playback.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EACX,eAAe,EAChB,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,kBAAkB,GAAG,gBAAgB,GAAG;IAClD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,WAAW,KAAK,SAAS,CAAC;CACtE,CAAC;AAEF,wBAAgB,aAAa,CAAC,EAC5B,SAAS,EACT,KAAK,EACL,QAAQ,EACR,KAAK,EACL,QAAQ,GACT,EAAE,kBAAkB,2CAsBpB;yBA5Be,aAAa;;;AAgC7B,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,GAAG;IACjD,IAAI,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,KAAK,CAAC;IACtC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,KAAK,SAAS,CAAC;CAC7D,CAAC;AAEF,wBAAgB,YAAY,CAAC,EAC3B,SAAS,EACT,KAAK,EACL,QAAQ,EACR,KAAK,EACL,IAAe,EACf,QAAQ,GACT,EAAE,iBAAiB,kDAqCnB;yBA5Ce,YAAY"}
|
|
@@ -4,14 +4,14 @@ export type QueueIndexProps = DisplayBaseProps & {
|
|
|
4
4
|
base?: 0 | 1;
|
|
5
5
|
children?: (value: string, state: GingerState) => ReactNode;
|
|
6
6
|
};
|
|
7
|
-
export declare function QueueIndex({ base, className, style, fallback, empty, children }: QueueIndexProps): import("react/jsx-runtime").JSX.Element | null;
|
|
7
|
+
export declare function QueueIndex({ base, className, style, fallback, empty, children, }: QueueIndexProps): import("react/jsx-runtime").JSX.Element | null;
|
|
8
8
|
export declare namespace QueueIndex {
|
|
9
9
|
var displayName: string;
|
|
10
10
|
}
|
|
11
11
|
export type QueueLengthProps = DisplayBaseProps & {
|
|
12
12
|
children?: (value: string, state: GingerState) => ReactNode;
|
|
13
13
|
};
|
|
14
|
-
export declare function QueueLength({ className, style, fallback, empty, children }: QueueLengthProps): import("react/jsx-runtime").JSX.Element | null;
|
|
14
|
+
export declare function QueueLength({ className, style, fallback, empty, children, }: QueueLengthProps): import("react/jsx-runtime").JSX.Element | null;
|
|
15
15
|
export declare namespace QueueLength {
|
|
16
16
|
var displayName: string;
|
|
17
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueueMeta.d.ts","sourceRoot":"","sources":["../../../src/components/current/QueueMeta.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"QueueMeta.d.ts","sourceRoot":"","sources":["../../../src/components/current/QueueMeta.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEjE,MAAM,MAAM,eAAe,GAAG,gBAAgB,GAAG;IAC/C,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACb,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,KAAK,SAAS,CAAC;CAC7D,CAAC;AAEF,wBAAgB,UAAU,CAAC,EACzB,IAAQ,EACR,SAAS,EACT,KAAK,EACL,QAAQ,EACR,KAAK,EACL,QAAQ,GACT,EAAE,eAAe,kDAmCjB;yBA1Ce,UAAU;;;AA8C1B,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,GAAG;IAChD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,KAAK,SAAS,CAAC;CAC7D,CAAC;AAEF,wBAAgB,WAAW,CAAC,EAC1B,SAAS,EACT,KAAK,EACL,QAAQ,EACR,KAAK,EACL,QAAQ,GACT,EAAE,gBAAgB,kDA8BlB;yBApCe,WAAW;;;AAwC3B,MAAM,MAAM,kBAAkB,GAAG,gBAAgB,GAAG;IAClD,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,CACT,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EACvD,KAAK,EAAE,WAAW,KACf,SAAS,CAAC;CAChB,CAAC;AAEF,wBAAgB,aAAa,CAAC,EAC5B,IAAQ,EACR,SAAiB,EACjB,SAAS,EACT,KAAK,EACL,QAAQ,EACR,KAAK,EACL,QAAQ,GACT,EAAE,kBAAkB,kDAiCpB;yBAzCe,aAAa"}
|
|
@@ -23,7 +23,7 @@ export type ProgressProps = DisplayBaseProps & {
|
|
|
23
23
|
duration: number;
|
|
24
24
|
}, state: GingerState) => ReactNode;
|
|
25
25
|
};
|
|
26
|
-
export declare function Progress({ className, style, fallback, empty, children }: ProgressProps): import("react/jsx-runtime").JSX.Element | null;
|
|
26
|
+
export declare function Progress({ className, style, fallback, empty, children, }: ProgressProps): import("react/jsx-runtime").JSX.Element | null;
|
|
27
27
|
export declare namespace Progress {
|
|
28
28
|
var displayName: string;
|
|
29
29
|
}
|
|
@@ -45,7 +45,7 @@ export type BufferRailProps = DisplayBaseProps & {
|
|
|
45
45
|
unstyled?: boolean;
|
|
46
46
|
};
|
|
47
47
|
/** Buffered portion of the timeline (0…`bufferedFraction`); pair with `TimeRail` or use alone. */
|
|
48
|
-
export declare function BufferRail({ className, style, height, unstyled }: BufferRailProps): import("react/jsx-runtime").JSX.Element;
|
|
48
|
+
export declare function BufferRail({ className, style, height, unstyled, }: BufferRailProps): import("react/jsx-runtime").JSX.Element;
|
|
49
49
|
export declare namespace BufferRail {
|
|
50
50
|
var displayName: string;
|
|
51
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Time.d.ts","sourceRoot":"","sources":["../../../src/components/current/Time.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Time.d.ts","sourceRoot":"","sources":["../../../src/components/current/Time.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAQrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEjE,MAAM,MAAM,aAAa,GAAG,gBAAgB,GAAG;IAC7C,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IACrC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,KAAK,SAAS,CAAC;CAC7D,CAAC;AA6CF,wBAAgB,OAAO,CAAC,KAAK,EAAE,aAAa,iFAG3C;yBAHe,OAAO;;;AAOvB,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,iFAG5C;yBAHe,QAAQ;;;AAOxB,wBAAgB,SAAS,CAAC,KAAK,EAAE,aAAa,iFAG7C;yBAHe,SAAS;;;AAOzB,MAAM,MAAM,aAAa,GAAG,gBAAgB,GAAG;IAC7C,QAAQ,CAAC,EAAE,CACT,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAClE,KAAK,EAAE,WAAW,KACf,SAAS,CAAC;CAChB,CAAC;AAEF,wBAAgB,QAAQ,CAAC,EACvB,SAAS,EACT,KAAK,EACL,QAAQ,EACR,KAAK,EACL,QAAQ,GACT,EAAE,aAAa,kDAkCf;yBAxCe,QAAQ;;;AA4CxB,MAAM,MAAM,aAAa,GAAG,gBAAgB,GAAG;IAC7C,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4FAA4F;IAC5F,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,wBAAgB,QAAQ,CAAC,EACvB,SAAS,EACT,KAAK,EACL,MAAU,EACV,YAAoB,EACpB,QAAgB,GACjB,EAAE,aAAa,2CAmDf;yBAzDe,QAAQ;;;AA6DxB,MAAM,MAAM,eAAe,GAAG,gBAAgB,GAAG;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,kGAAkG;AAClG,wBAAgB,UAAU,CAAC,EACzB,SAAS,EACT,KAAK,EACL,MAAU,EACV,QAAgB,GACjB,EAAE,eAAe,2CAiCjB;yBAtCe,UAAU"}
|
|
@@ -2,7 +2,7 @@ import { TextDisplayProps } from './createTextDisplay';
|
|
|
2
2
|
export type YearProps = TextDisplayProps & {
|
|
3
3
|
format?: (year: number) => string;
|
|
4
4
|
};
|
|
5
|
-
export declare function Year({ className, style, fallback, empty, children, format }: YearProps): import("react/jsx-runtime").JSX.Element | null;
|
|
5
|
+
export declare function Year({ className, style, fallback, empty, children, format, }: YearProps): import("react/jsx-runtime").JSX.Element | null;
|
|
6
6
|
export declare namespace Year {
|
|
7
7
|
var displayName: string;
|
|
8
8
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Year.d.ts","sourceRoot":"","sources":["../../../src/components/current/Year.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Year.d.ts","sourceRoot":"","sources":["../../../src/components/current/Year.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,MAAM,MAAM,SAAS,GAAG,gBAAgB,GAAG;IACzC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CACnC,CAAC;AAEF,wBAAgB,IAAI,CAAC,EACnB,SAAS,EACT,KAAK,EACL,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,MAAM,GACP,EAAE,SAAS,kDAuBX;yBA9Be,IAAI"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createTextDisplay.d.ts","sourceRoot":"","sources":["../../../src/components/current/createTextDisplay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"createTextDisplay.d.ts","sourceRoot":"","sources":["../../../src/components/current/createTextDisplay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAExE,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,GAAG;IAChD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,KAAK,SAAS,CAAC;CAC7D,CAAC;AAEF,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,MAAM,GAAG,SAAS,GACjD,CAAC,KAAK,EAAE,gBAAgB,KAAK,YAAY,GAAG,IAAI,CA4BlD;AAED,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,KAAK,MAAM,GAAG,SAAS,GAClD,CAAC,KAAK,EAAE,gBAAgB,KAAK,YAAY,GAAG,IAAI,CAElD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"texts.d.ts","sourceRoot":"","sources":["../../../src/components/current/texts.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,KAAK,gGAAmE,CAAC;AACtF,eAAO,MAAM,MAAM,gGAAqE,CAAC;AACzF,eAAO,MAAM,KAAK,gGAAyE,CAAC;AAC5F,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"texts.d.ts","sourceRoot":"","sources":["../../../src/components/current/texts.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,KAAK,gGAAmE,CAAC;AACtF,eAAO,MAAM,MAAM,gGAAqE,CAAC;AACzF,eAAO,MAAM,KAAK,gGAAyE,CAAC;AAC5F,eAAO,MAAM,WAAW,gGAGvB,CAAC;AACF,eAAO,MAAM,SAAS,gGAGpB,CAAC;AACH,eAAO,MAAM,KAAK,gGAAmE,CAAC;AACtF,eAAO,MAAM,KAAK,gGAAmE,CAAC;AACtF,eAAO,MAAM,IAAI,gGAAiE,CAAC;AACnF,eAAO,MAAM,WAAW,gGAEvB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Pause.d.ts","sourceRoot":"","sources":["../../../src/components/icons/Pause.tsx"],"names":[],"mappings":"AAEA,wBAAgB,KAAK,4CAMpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Play.d.ts","sourceRoot":"","sources":["../../../src/components/icons/Play.tsx"],"names":[],"mappings":"AACA,wBAAgB,IAAI,4CAMnB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ReactNode, SVGProps } from 'react';
|
|
2
|
+
export declare function Wrapper(props: SVGProps<SVGSVGElement> & {
|
|
3
|
+
className?: string;
|
|
4
|
+
width?: number;
|
|
5
|
+
height?: number;
|
|
6
|
+
viewBox?: string;
|
|
7
|
+
fill?: string;
|
|
8
|
+
stroke?: string;
|
|
9
|
+
strokeWidth?: number;
|
|
10
|
+
strokeLinecap?: string;
|
|
11
|
+
strokeLinejoin?: string;
|
|
12
|
+
children?: ReactNode;
|
|
13
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
//# sourceMappingURL=Wrapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Wrapper.d.ts","sourceRoot":"","sources":["../../../src/components/icons/Wrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjD,wBAAgB,OAAO,CACrB,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,2CAiCF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GingerPlaylist.d.ts","sourceRoot":"","sources":["../../../src/components/playlist/GingerPlaylist.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"GingerPlaylist.d.ts","sourceRoot":"","sources":["../../../src/components/playlist/GingerPlaylist.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,SAAS,EAGf,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,MAAM,oBAAoB,GAAG;IACjC,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAYF,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,UAAU,CAAC,GAAG;IACrF,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,SAAS,CAAC;IAC5E,iFAAiF;IACjF,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,QAAgB,EAChB,QAAQ,EACR,WAAW,EACX,YAAmB,EACnB,KAAK,EACL,GAAG,IAAI,EACR,EAAE,mBAAmB,2CAuErB;yBA/Ee,cAAc;;;AAmF9B,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC,GAAG;IAC7F,KAAK,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;CAC3C,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,EAClC,KAAK,EACL,QAAgB,EAChB,SAAS,EACT,KAAK,EACL,QAAQ,EACR,OAAO,EACP,OAAO,EACP,GAAG,UAAU,EACd,EAAE,wBAAwB,2CA+C1B;yBAxDe,mBAAmB;;;AA4DnC,eAAO,MAAM,sBAAsB;;CAEjC,CAAC"}
|
|
@@ -9,7 +9,7 @@ export type QueueArtworkProps = DisplayBaseProps & {
|
|
|
9
9
|
unstyled?: boolean;
|
|
10
10
|
imgStyle?: CSSProperties;
|
|
11
11
|
};
|
|
12
|
-
export declare function Artwork({ className, style, fallback, empty, unstyled, imgStyle }: QueueArtworkProps): import("react/jsx-runtime").JSX.Element | null;
|
|
12
|
+
export declare function Artwork({ className, style, fallback, empty, unstyled, imgStyle, }: QueueArtworkProps): import("react/jsx-runtime").JSX.Element | null;
|
|
13
13
|
export declare namespace Artwork {
|
|
14
14
|
var displayName: string;
|
|
15
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueueDisplay.d.ts","sourceRoot":"","sources":["../../../src/components/queue/QueueDisplay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"QueueDisplay.d.ts","sourceRoot":"","sources":["../../../src/components/queue/QueueDisplay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGpD,eAAO,MAAM,KAAK,yGAGjB,CAAC;AACF,eAAO,MAAM,QAAQ,yGAGpB,CAAC;AACF,eAAO,MAAM,WAAW,yGAGvB,CAAC;AACF,eAAO,MAAM,SAAS,yGAGrB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,GAAG;IACjD,mEAAmE;IACnE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B,CAAC;AAEF,wBAAgB,OAAO,CAAC,EACtB,SAAS,EACT,KAAK,EACL,QAAQ,EACR,KAAK,EACL,QAAgB,EAChB,QAAQ,GACT,EAAE,iBAAiB,kDAyCnB;yBAhDe,OAAO"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GingerContext.d.ts","sourceRoot":"","sources":["../../src/context/GingerContext.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"GingerContext.d.ts","sourceRoot":"","sources":["../../src/context/GingerContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,gBAAgB,EAA6B,MAAM,OAAO,CAAC;AACxF,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,KAAK,EACN,MAAM,UAAU,CAAC;AAElB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,WAAW,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;IACjC,QAAQ,EAAE,gBAAgB,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IACpD,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,4EAA4E;IAC5E,IAAI,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC3C,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,IAAI,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,aAAa,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;IAC1C,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1E,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACpC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,eAAe,EAAE,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,KAAK,IAAI,CAAC;IACrD,eAAe,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;CAC/C,CAAC;AAEF,QAAA,MAAM,aAAa,oDAAiD,CAAC;AAErE,wBAAgB,gBAAgB,IAAI,kBAAkB,CAIrD;AAED,OAAO,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GingerLocaleContext.d.ts","sourceRoot":"","sources":["../../src/context/GingerLocaleContext.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"GingerLocaleContext.d.ts","sourceRoot":"","sources":["../../src/context/GingerLocaleContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAA6B,MAAM,OAAO,CAAC;AAClE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAErD,eAAO,MAAM,mBAAmB,EAAE,oBAoBjC,CAAC;AAaF,wBAAgB,oBAAoB,CAAC,EACnC,MAAM,EACN,QAAQ,GACT,EAAE;IACD,MAAM,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACvC,QAAQ,EAAE,SAAS,CAAC;CACrB,2CAGA;AAED,wBAAgB,eAAe,IAAI,oBAAoB,CAEtD"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { GingerProviderProps } from '../types';
|
|
2
|
-
export declare function GingerProvider({ children, initialTracks, initialIndex, initialPlaylistMeta, initialShuffle, initialRepeatMode, initialPlaybackMode, initialPaused, initialVolume, initialMuted, initialPlaybackRate, initialStateKey, locale, mediaSession, beforePlay, onPlayBlocked, persistence, hydrateOnMount, resumeOnTrackChange, unstyled, className, style, onTrackChange, onPlay, onPause, onQueueEnd, onError, }: GingerProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
export declare function GingerProvider({ children, initialTracks, initialIndex, initialPlaylistMeta, initialShuffle, initialRepeatMode, initialPlaybackMode, initialPaused, initialVolume, initialMuted, initialPlaybackRate, initialStateKey, locale, mediaSession, beforePlay, onPlayBlocked, persistence, hydrateOnMount, resumeOnTrackChange, unstyled, asChild, className, style, onTrackChange, onPlay, onPause, onQueueEnd, onError, }: GingerProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
//# sourceMappingURL=GingerProvider.d.ts.map
|