@lucaismyname/ginger 0.0.26 → 0.0.29
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 +40 -68
- package/dist/analyzer/liveAudioGraph.test.d.ts +2 -0
- package/dist/analyzer/liveAudioGraph.test.d.ts.map +1 -0
- 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 +37 -28
- package/dist/components/controls/Controls.d.ts +1 -1
- 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.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.map +1 -1
- package/dist/components/current/Playback.d.ts +1 -1
- package/dist/components/current/Playback.d.ts.map +1 -1
- package/dist/components/current/QueueMeta.d.ts +1 -1
- 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/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/RepeatGlyph.d.ts +5 -0
- package/dist/components/icons/RepeatGlyph.d.ts.map +1 -0
- package/dist/components/icons/ShuffleIcon.d.ts +2 -0
- package/dist/components/icons/ShuffleIcon.d.ts.map +1 -0
- package/dist/components/icons/SkipBack.d.ts +2 -0
- package/dist/components/icons/SkipBack.d.ts.map +1 -0
- package/dist/components/icons/SkipForward.d.ts +2 -0
- package/dist/components/icons/SkipForward.d.ts.map +1 -0
- package/dist/components/icons/Volume2.d.ts +2 -0
- package/dist/components/icons/Volume2.d.ts.map +1 -0
- package/dist/components/icons/VolumeX.d.ts +2 -0
- package/dist/components/icons/VolumeX.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/icons/index.d.ts +11 -0
- package/dist/components/icons/index.d.ts.map +1 -0
- package/dist/components/queue/QueueDisplay.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/ginger-B26HM2Ja.cjs +2 -0
- package/dist/ginger-B26HM2Ja.cjs.map +1 -0
- package/dist/ginger-DlNYfHbV.js +2278 -0
- package/dist/ginger-DlNYfHbV.js.map +1 -0
- package/dist/ginger.d.ts +12 -0
- package/dist/ginger.d.ts.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +37 -28
- 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-eR_p__O2.js → useNextTrackPrefetch-Y_fs2JEx.js} +51 -51
- package/dist/{useNextTrackPrefetch-eR_p__O2.js.map → useNextTrackPrefetch-Y_fs2JEx.js.map} +1 -1
- package/dist/{useNextTrackPrefetch-Cs4A1oFv.cjs → useNextTrackPrefetch-wSILz6TL.cjs} +2 -2
- package/dist/{useNextTrackPrefetch-Cs4A1oFv.cjs.map → useNextTrackPrefetch-wSILz6TL.cjs.map} +1 -1
- package/package.json +2 -2
- package/dist/ginger-DE4TKdCR.js +0 -1877
- package/dist/ginger-DE4TKdCR.js.map +0 -1
- package/dist/ginger-yY4Y5liv.cjs +0 -2
- package/dist/ginger-yY4Y5liv.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 |
|
|
@@ -525,6 +487,12 @@ Transport and media controls.
|
|
|
525
487
|
| `Ginger.Control.Mute` | Toggle mute on/off | `muteLabel`, `unmuteLabel`, native button props |
|
|
526
488
|
| `Ginger.Control.PlaybackRate` | Select input for playback speed | `rates`, native select props |
|
|
527
489
|
|
|
490
|
+
**Default visuals:** `PlayPause`, `Next`, `Previous`, `Shuffle`, `Repeat`, and `Mute` render minimal inline SVGs (path data from [Lucide](https://lucide.dev), no extra npm dependency) when **`children` is omitted**. Pass **`children`** to replace the icon. Screen readers still use **`aria-label`** from locale and bindings; for `PlayPause`, **`playLabel`** / **`pauseLabel`** / **`playAriaLabel`** / **`pauseAriaLabel`** tune accessible names when those labels are strings.
|
|
491
|
+
|
|
492
|
+
### `Ginger.Icon.*`
|
|
493
|
+
|
|
494
|
+
The same SVG building blocks exposed for custom layouts: **`Ginger.Icon.Play`**, **`Pause`**, **`SkipForward`**, **`SkipBack`**, **`Shuffle`** (Lucide shuffle glyph), **`Volume2`**, **`VolumeX`**, **`RepeatGlyph`** (pass **`mode`**: `"off"` \| `"all"` \| `"one"`), and **`Wrapper`**. You can also import them by name from the package root (e.g. `import { Play, SkipForward } from "@lucaismyname/ginger"`).
|
|
495
|
+
|
|
528
496
|
Example:
|
|
529
497
|
|
|
530
498
|
```tsx
|
|
@@ -566,7 +534,7 @@ Other current-track components:
|
|
|
566
534
|
| Component | Description | Important props |
|
|
567
535
|
|-----------|-------------|-----------------|
|
|
568
536
|
| `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` |
|
|
537
|
+
| `Ginger.Current.Lyrics` | Track lyrics | `preserveWhitespace`, `unstyled`, render-prop `children` |
|
|
570
538
|
| `Ginger.Current.LyricsSynced` | Timed / LRC lyrics with active line | `activeClassName`, `lineClassName`, `unstyled`, render-prop `children` |
|
|
571
539
|
| `Ginger.Current.Chapters` | Chapter list; click seeks to `startSeconds` | `formatStart`, `unstyled`, render-prop `children` |
|
|
572
540
|
| `Ginger.Current.FileUrl` | Track `fileUrl`, hidden unless explicitly enabled | `visible`, display-base props |
|
|
@@ -768,7 +736,7 @@ Example:
|
|
|
768
736
|
|
|
769
737
|
- **Advanced hooks** — **`useGingerKeyboardShortcuts()`**, **`useGingerSleepTimer()`**, **`useSeekDrag()`**, **`useNextTrackPrefetch()`**, **`useGingerChapters()`**, **`useGingerLyricsSync()`**, and **`useGingerDebugLog()`** are available for custom UX and diagnostics.
|
|
770
738
|
|
|
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.
|
|
739
|
+
- **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
740
|
|
|
773
741
|
- **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
742
|
|
|
@@ -996,10 +964,14 @@ Use `useGingerDebugLog(true)` during development to log core state transitions i
|
|
|
996
964
|
### Fully unstyled mode
|
|
997
965
|
|
|
998
966
|
- `Ginger.Provider unstyled` disables provider theme defaults (CSS variable injection).
|
|
967
|
+
- `Ginger.Provider asChild` merges the same shell props onto **one** child element (no extra wrapper `div`).
|
|
999
968
|
- `Ginger.Control.SeekBar` and `Ginger.Control.Volume` accept `unstyled`.
|
|
1000
969
|
- `Ginger.Current.Artwork`, `Ginger.Queue.Artwork`, `Ginger.Current.TimeRail`, and `Ginger.Current.BufferRail` accept `unstyled`.
|
|
1001
970
|
- `Ginger.Playlist` and `Ginger.Playlist.Track` accept `unstyled`.
|
|
1002
971
|
- `Ginger.Current.Chapters` and `Ginger.Current.LyricsSynced` accept `unstyled`.
|
|
972
|
+
- `Ginger.Current.Lyrics` accepts `unstyled` to skip default `whiteSpace: pre-wrap` when using `preserveWhitespace` (apply typography via `className` / `style` instead).
|
|
973
|
+
|
|
974
|
+
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
975
|
|
|
1004
976
|
This gives you a pure state+behavior layer while keeping convenience components available.
|
|
1005
977
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"liveAudioGraph.test.d.ts","sourceRoot":"","sources":["../../src/analyzer/liveAudioGraph.test.ts"],"names":[],"mappings":""}
|
|
@@ -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,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,
|
|
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-B26HM2Ja.cjs"),r=require("./useNextTrackPrefetch-wSILz6TL.cjs"),a=require("./GingerSplitContexts-C7puo0M7.cjs");exports.Chapters=e.Chapters;exports.Ginger=e.Ginger;exports.LyricsSynced=e.LyricsSynced;exports.Pause=e.Pause;exports.Play=e.Play;exports.RepeatGlyph=e.RepeatGlyph;exports.ShuffleIcon=e.ShuffleIcon;exports.SkipBack=e.SkipBack;exports.SkipForward=e.SkipForward;exports.Volume2=e.Volume2;exports.VolumeX=e.VolumeX;exports.Wrapper=e.Wrapper;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,34 +1,43 @@
|
|
|
1
|
-
import { C as s, G as r, L as i,
|
|
2
|
-
import { a as
|
|
3
|
-
import { g as
|
|
1
|
+
import { C as s, G as r, L as i, P as u, a as n, R as t, S as g, b as l, c, V as o, d as p, W as G, e as S, f as y, g as m, h as d, p as h, u as k, i as L, j as f, k as P, l as b, m as x } from "./ginger-DlNYfHbV.js";
|
|
2
|
+
import { a as C, d as v, u as B, b as A, c as F, e as R, f as D, g as T, h as W } from "./useNextTrackPrefetch-Y_fs2JEx.js";
|
|
3
|
+
import { g as w, a as z, u as I, b as K, c as M } from "./GingerSplitContexts-BzBExb95.js";
|
|
4
4
|
export {
|
|
5
5
|
s as Chapters,
|
|
6
6
|
r as Ginger,
|
|
7
7
|
i as LyricsSynced,
|
|
8
|
-
|
|
9
|
-
n as
|
|
10
|
-
t as
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
8
|
+
u as Pause,
|
|
9
|
+
n as Play,
|
|
10
|
+
t as RepeatGlyph,
|
|
11
|
+
g as ShuffleIcon,
|
|
12
|
+
l as SkipBack,
|
|
13
|
+
c as SkipForward,
|
|
14
|
+
o as Volume2,
|
|
15
|
+
p as VolumeX,
|
|
16
|
+
G as Wrapper,
|
|
17
|
+
C as attachLiveAnalyser,
|
|
18
|
+
S as clampPlaybackRate,
|
|
19
|
+
y as clampVolume,
|
|
20
|
+
m as defaultGingerLocale,
|
|
21
|
+
d as derivePlaybackUiState,
|
|
22
|
+
v as detachLiveAnalyser,
|
|
23
|
+
w as gingerStateFromContextValues,
|
|
24
|
+
z as gingerStateFromContexts,
|
|
25
|
+
h as parseLrc,
|
|
26
|
+
B as useGinger,
|
|
27
|
+
k as useGingerChapters,
|
|
28
|
+
A as useGingerDebugLog,
|
|
29
|
+
F as useGingerKeyboardShortcuts,
|
|
30
|
+
R as useGingerLiveAnalyzer,
|
|
31
|
+
L as useGingerLocale,
|
|
32
|
+
f as useGingerLyricsSync,
|
|
33
|
+
I as useGingerMedia,
|
|
34
|
+
K as useGingerPlayback,
|
|
35
|
+
D as useGingerSleepTimer,
|
|
36
|
+
M as useGingerState,
|
|
37
|
+
T as useNextTrackPrefetch,
|
|
38
|
+
P as usePlayPauseBinding,
|
|
39
|
+
b as useSeekBarBinding,
|
|
40
|
+
W as useSeekDrag,
|
|
41
|
+
x as useVolumeSlider
|
|
33
42
|
};
|
|
34
43
|
//# sourceMappingURL=client.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ButtonHTMLAttributes, CSSProperties, InputHTMLAttributes, ReactNode, SelectHTMLAttributes } from 'react';
|
|
2
2
|
export type PlayPauseProps = ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
3
|
-
/**
|
|
3
|
+
/** When `children` is omitted, defaults are Lucide-style icons; string labels feed `playAriaLabel` / `pauseAriaLabel` fallbacks. */
|
|
4
4
|
playLabel?: ReactNode;
|
|
5
5
|
pauseLabel?: ReactNode;
|
|
6
6
|
/** Screen-reader label when paused (playing would start); defaults to match `playLabel` when it is a string */
|
|
@@ -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;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,
|
|
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 +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"}
|
|
@@ -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;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;
|
|
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 +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
|
}
|
|
@@ -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;AAGvC,OAAO,KAAK,
|
|
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"}
|
|
@@ -11,7 +11,7 @@ export declare namespace QueueIndex {
|
|
|
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;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,
|
|
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":"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,
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Pause.d.ts","sourceRoot":"","sources":["../../../src/components/icons/Pause.tsx"],"names":[],"mappings":"AAGA,wBAAgB,KAAK,4CAMpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Play.d.ts","sourceRoot":"","sources":["../../../src/components/icons/Play.tsx"],"names":[],"mappings":"AAEA,wBAAgB,IAAI,4CAMnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RepeatGlyph.d.ts","sourceRoot":"","sources":["../../../src/components/icons/RepeatGlyph.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAc9C,wBAAgB,WAAW,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,2CAsBzD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShuffleIcon.d.ts","sourceRoot":"","sources":["../../../src/components/icons/ShuffleIcon.tsx"],"names":[],"mappings":"AAGA,wBAAgB,WAAW,4CAa1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SkipBack.d.ts","sourceRoot":"","sources":["../../../src/components/icons/SkipBack.tsx"],"names":[],"mappings":"AAGA,wBAAgB,QAAQ,4CAUvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SkipForward.d.ts","sourceRoot":"","sources":["../../../src/components/icons/SkipForward.tsx"],"names":[],"mappings":"AAGA,wBAAgB,WAAW,4CAU1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Volume2.d.ts","sourceRoot":"","sources":["../../../src/components/icons/Volume2.tsx"],"names":[],"mappings":"AAGA,wBAAgB,OAAO,4CAWtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VolumeX.d.ts","sourceRoot":"","sources":["../../../src/components/icons/VolumeX.tsx"],"names":[],"mappings":"AAGA,wBAAgB,OAAO,4CAWtB"}
|
|
@@ -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,2CAmCF"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** Inline SVGs derived from lucide-static path data (ISC, Lucide Icons). */
|
|
2
|
+
export { Pause } from './Pause';
|
|
3
|
+
export { Play } from './Play';
|
|
4
|
+
export { RepeatGlyph } from './RepeatGlyph';
|
|
5
|
+
export { ShuffleIcon } from './ShuffleIcon';
|
|
6
|
+
export { SkipBack } from './SkipBack';
|
|
7
|
+
export { SkipForward } from './SkipForward';
|
|
8
|
+
export { Volume2 } from './Volume2';
|
|
9
|
+
export { VolumeX } from './VolumeX';
|
|
10
|
+
export { Wrapper } from './Wrapper';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/icons/index.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -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;AAE3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGpD,eAAO,MAAM,KAAK,
|
|
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":"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,
|
|
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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GingerProvider.d.ts","sourceRoot":"","sources":["../../src/context/GingerProvider.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GingerProvider.d.ts","sourceRoot":"","sources":["../../src/context/GingerProvider.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAEV,mBAAmB,EAKpB,MAAM,UAAU,CAAC;AAuBlB,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,aAAkB,EAClB,YAAgB,EAChB,mBAA0B,EAC1B,cAAsB,EACtB,iBAAyB,EACzB,mBAAgC,EAChC,aAAoB,EACpB,aAAiB,EACjB,YAAoB,EACpB,mBAAuB,EACvB,eAAe,EACf,MAAM,EACN,YAAoB,EACpB,UAAU,EACV,aAAa,EACb,WAAW,EACX,cAAsB,EACtB,mBAA2B,EAC3B,QAAgB,EAChB,OAAe,EACf,SAAS,EACT,KAAK,EACL,aAAa,EACb,MAAM,EACN,OAAO,EACP,UAAU,EACV,OAAO,GACR,EAAE,mBAAmB,2CAqiBrB"}
|