@glitchlab/vue-video-player 1.4.0 → 1.6.0
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 +228 -21
- package/dist/HLSPlayer.vue.d.ts +6 -0
- package/dist/HLSPlayer.vue.d.ts.map +1 -1
- package/dist/VideoPlayer.vue.d.ts +30 -1
- package/dist/VideoPlayer.vue.d.ts.map +1 -1
- package/dist/components/ControlBar.vue.d.ts +58 -0
- package/dist/components/ControlBar.vue.d.ts.map +1 -1
- package/dist/components/{IconQuality.vue.d.ts → IconAlert.vue.d.ts} +1 -1
- package/dist/components/IconAlert.vue.d.ts.map +1 -0
- package/dist/components/IconCheck.vue.d.ts +16 -0
- package/dist/components/IconCheck.vue.d.ts.map +1 -0
- package/dist/components/IconChevronRight.vue.d.ts +16 -0
- package/dist/components/IconChevronRight.vue.d.ts.map +1 -0
- package/dist/components/IconGear.vue.d.ts +16 -0
- package/dist/components/IconGear.vue.d.ts.map +1 -0
- package/dist/components/IconNext.vue.d.ts +16 -0
- package/dist/components/IconNext.vue.d.ts.map +1 -0
- package/dist/components/IconPrev.vue.d.ts +16 -0
- package/dist/components/IconPrev.vue.d.ts.map +1 -0
- package/dist/components/IconRefresh.vue.d.ts +16 -0
- package/dist/components/{IconQuality.vue.d.ts.map → IconRefresh.vue.d.ts.map} +1 -1
- package/dist/components/SettingsMenu.vue.d.ts +61 -0
- package/dist/components/SettingsMenu.vue.d.ts.map +1 -0
- package/dist/index.cjs +3 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +1869 -1058
- package/dist/index.mjs.map +1 -1
- package/dist/style.css +1 -1
- package/dist/utils/caption-style.d.ts +17 -0
- package/dist/utils/caption-style.d.ts.map +1 -0
- package/dist/utils/chapters.d.ts +33 -0
- package/dist/utils/chapters.d.ts.map +1 -0
- package/dist/utils/preferences.d.ts +26 -0
- package/dist/utils/preferences.d.ts.map +1 -0
- package/dist/utils/theme.d.ts +15 -0
- package/dist/utils/theme.d.ts.map +1 -0
- package/dist/utils/thumbnails.d.ts +37 -0
- package/dist/utils/thumbnails.d.ts.map +1 -0
- package/dist/utils/types.d.ts +95 -1
- package/dist/utils/types.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -15,16 +15,28 @@ A lightweight, HLS-capable Vue 3 video player with a polished overlay UI, device
|
|
|
15
15
|
|
|
16
16
|
- **HLS streaming** via `hls.js` with automatic native fallback (Safari)
|
|
17
17
|
- **YouTube support** — pass a YouTube URL and it embeds automatically, no extra config
|
|
18
|
-
- **Custom control bar** (default) —
|
|
18
|
+
- **Custom control bar** (default) — a clean YouTube-style layout: full-width seek bar, playback controls on the left, utilities on the right. Or use `"native"` controls, or none.
|
|
19
|
+
- **Settings menu** — one gear button with a two-level menu for speed, quality, subtitles and audio track
|
|
20
|
+
- **Thumbnail seek preview** — hover the seek bar to see a frame preview from a WebVTT storyboard sprite
|
|
21
|
+
- **Chapters** — named timeline segments with tick marks on the seek bar, from a WebVTT file or an inline array
|
|
22
|
+
- **Playlist** — play a list of videos in sequence with auto-advance and prev/next buttons
|
|
19
23
|
- **Quality selector** — `Auto` + per-resolution switching for multi-rendition HLS streams
|
|
20
24
|
- **Audio-track switcher** — pick between multiple audio tracks (e.g. languages) when the stream provides them
|
|
21
|
-
- **Captions** — `<track>` subtitles/captions with
|
|
22
|
-
- **
|
|
25
|
+
- **Captions** — `<track>` subtitles/captions, with optional cue styling (font size, colors, background)
|
|
26
|
+
- **Live stream UX** — a LIVE badge for live HLS, with click-to-jump-to-edge
|
|
27
|
+
- **Mini-player** — floats to a viewport corner when scrolled out of view while playing
|
|
28
|
+
- **Ambient mode** — an optional soft, blurred color glow behind the player
|
|
29
|
+
- **Loading & error states** — a buffering spinner and a styled error overlay with a retry button
|
|
30
|
+
- **Event emits** — `play`, `pause`, `ended`, `time-update`, `seeked`, `volume-change`, `milestone`, `error`
|
|
31
|
+
- **Persisted preferences** — opt-in volume, speed and resume-position memory via `localStorage`
|
|
32
|
+
- **Theming** — rebrand with a `theme` prop (accent color, radius) or `--gvp-*` CSS variables
|
|
33
|
+
- **Keyboard shortcuts** + double-click to toggle fullscreen
|
|
34
|
+
- **Accessible** — focus rings, ARIA on every control, screen-reader announcements, `prefers-reduced-motion`
|
|
23
35
|
- **Nuxt 3 module** — `modules: ["@glitchlab/vue-video-player/nuxt"]` and you're done
|
|
24
36
|
- **Scoped CSS, no preflight** — all styles live under `.gvp-root`. No `*` resets, no theme tokens leaked into your design system
|
|
25
37
|
- **Device-mode toggle** — flip between desktop (16:9) and mobile (9:16) presets
|
|
26
38
|
- **Hover-to-play** with safe play/pause race handling
|
|
27
|
-
- Lightweight: ~
|
|
39
|
+
- Lightweight: ~3.5 KB CSS + ~19 KB JS gzipped (hls.js is a peer dependency, loaded once)
|
|
28
40
|
- Fully typed; SSR-safe
|
|
29
41
|
|
|
30
42
|
---
|
|
@@ -95,8 +107,13 @@ Then use the component anywhere — no manual import required:
|
|
|
95
107
|
|
|
96
108
|
| Prop | Type | Default | Description |
|
|
97
109
|
|---------------------|---------------------------------------------------|-----------------------------------------|------------------------------------------------------------------------------------------|
|
|
98
|
-
| `src` | `string` | — |
|
|
110
|
+
| `src` | `string` | — | Video URL. `.m3u8` is routed through HLS automatically. Optional when `playlist` is set. |
|
|
99
111
|
| `poster` | `string` | — | Poster image shown before playback starts. |
|
|
112
|
+
| `playlist` | `PlaylistItem[]` | — | A list of videos to play in sequence. Auto-advances on end; prev/next buttons appear. Takes precedence over `src`. See [Playlist](#playlist). |
|
|
113
|
+
| `defaultIndex` | `number` | `0` | Index of the playlist item to start on. |
|
|
114
|
+
| `autoAdvance` | `boolean` | `true` | Auto-advance to the next playlist item when one ends. |
|
|
115
|
+
| `thumbnails` | `string` | — | URL of a WebVTT storyboard for seek-bar thumbnail previews. See [Thumbnails](#thumbnail-seek-preview). |
|
|
116
|
+
| `chapters` | `string \| Chapter[]` | — | WebVTT chapters URL, or an inline array of `{ start, title }`. See [Chapters](#chapters). |
|
|
100
117
|
| `showDeviceToggle` | `boolean` | `true` | Show the desktop/mobile toggle pill in the top-left. |
|
|
101
118
|
| `defaultDevice` | `"desktop" \| "mobile"` | `"desktop"` | Initial device mode. |
|
|
102
119
|
| `hoverPlay` | `boolean` | `false` | Start playback on mouse-enter, pause on mouse-leave. |
|
|
@@ -111,14 +128,27 @@ Then use the component anywhere — no manual import required:
|
|
|
111
128
|
| `aspectRatio` | `{ desktop?: AspectRatio; mobile?: AspectRatio }` | `{ desktop: "16/9", mobile: "9/16" }` | Aspect ratio per device mode. `AspectRatio` is `` `${number}/${number}` ``. |
|
|
112
129
|
| `hlsConfig` | `Hls.HlsConfig` | — | Optional hls.js config. Use a stable reference (e.g. `shallowRef`) to avoid HLS rebuilds.|
|
|
113
130
|
| `isHls` | `boolean` | `false` | Force HLS routing even when the URL doesn't end in `.m3u8`. |
|
|
131
|
+
| `theme` | `PlayerTheme` | — | `{ accent?, radius? }` — rebrand via CSS variables. See [Theming](#theming). |
|
|
132
|
+
| `captionStyle` | `CaptionStyle` | — | `{ fontSize?, textColor?, backgroundColor?, backgroundOpacity? }` — style caption cues. |
|
|
133
|
+
| `miniPlayer` | `boolean` | `false` | Float to a viewport corner when scrolled out of view while playing. See [Mini-player](#mini-player). |
|
|
134
|
+
| `miniPlayerPosition`| `"bottom-right" \| "bottom-left" \| "top-right" \| "top-left"` | `"bottom-right"` | Corner the mini-player docks to. |
|
|
135
|
+
| `ambientMode` | `boolean` | `false` | Show a soft, blurred color glow behind the player. See [Ambient mode](#ambient-mode). |
|
|
136
|
+
| `persistKey` | `string` | — | When set, persists volume, speed and resume position to `localStorage` under this key. |
|
|
114
137
|
|
|
115
138
|
## Events
|
|
116
139
|
|
|
117
|
-
| Event
|
|
118
|
-
|
|
119
|
-
| `close`
|
|
120
|
-
| `play`
|
|
121
|
-
| `pause`
|
|
140
|
+
| Event | Payload | Description |
|
|
141
|
+
|-------------------|-------------------------------|----------------------------------------------------------------------|
|
|
142
|
+
| `close` | — | Emitted when the close button is clicked. Requires `closable=true`. |
|
|
143
|
+
| `play` | — | Emitted when playback starts or resumes. |
|
|
144
|
+
| `pause` | — | Emitted when playback pauses. |
|
|
145
|
+
| `ended` | — | Emitted when the current video reaches its end. |
|
|
146
|
+
| `time-update` | `(currentTime, duration)` | Emitted on every `timeupdate` (~4×/sec); times in seconds. |
|
|
147
|
+
| `seeked` | `(currentTime)` | Emitted after a seek completes, with the new time in seconds. |
|
|
148
|
+
| `volume-change` | `(volume, muted)` | Emitted when volume or mute state changes. |
|
|
149
|
+
| `milestone` | `(percent)` | Emitted once when watch progress crosses 25%, 50%, 75% and 100%. |
|
|
150
|
+
| `error` | — | Emitted when the underlying media element reports an error. |
|
|
151
|
+
| `playlist-change` | `(index, item)` | Emitted when the active playlist item changes. |
|
|
122
152
|
|
|
123
153
|
## Slots
|
|
124
154
|
|
|
@@ -146,19 +176,14 @@ The branded control bar is **on by default** — it looks and behaves the same a
|
|
|
146
176
|
<VueVideoPlayer src="/videos/movie.m3u8" :controls="false" />
|
|
147
177
|
```
|
|
148
178
|
|
|
149
|
-
The bar
|
|
179
|
+
The bar uses a YouTube-style layout — a **full-width seek bar** on top, then a button row:
|
|
150
180
|
|
|
151
|
-
- **
|
|
152
|
-
- **
|
|
153
|
-
- **Time** — `current / duration`
|
|
154
|
-
- **Playback speed** — `0.5×` to `2×` menu
|
|
155
|
-
- **Quality** — resolution selector (`Auto` + each height) — appears only for HLS streams with more than one quality level
|
|
156
|
-
- **Captions** — appears only when the source has `<track>` subtitle/caption tracks
|
|
157
|
-
- **Volume** — mute toggle + slider (slider expands on hover)
|
|
158
|
-
- **Picture-in-Picture** — appears only where the browser supports it
|
|
159
|
-
- **Fullscreen**
|
|
181
|
+
- **Left group** — play/pause, prev/next (when a playlist is active), volume (mute toggle + slider that expands on hover), and the time / LIVE badge
|
|
182
|
+
- **Right group** — the settings gear, Picture-in-Picture, and fullscreen
|
|
160
183
|
|
|
161
|
-
|
|
184
|
+
The **settings gear** opens a two-level menu grouping **playback speed**, **quality** (resolution), **subtitles** and **audio track**. Rows for unavailable settings (e.g. no extra audio tracks) are hidden, so the menu never shows a dead option.
|
|
185
|
+
|
|
186
|
+
It **auto-hides 3 seconds** after the last interaction during playback and reappears on mouse move; it stays visible while paused. **Single-click** the video toggles play/pause; **double-click** toggles fullscreen.
|
|
162
187
|
|
|
163
188
|
### Keyboard shortcuts
|
|
164
189
|
|
|
@@ -173,6 +198,8 @@ When the player has focus (`controls="custom"`):
|
|
|
173
198
|
| `F` | Fullscreen toggle |
|
|
174
199
|
| `P` | Picture-in-Picture |
|
|
175
200
|
|
|
201
|
+
Double-clicking the video surface also toggles fullscreen.
|
|
202
|
+
|
|
176
203
|
### Platform notes
|
|
177
204
|
|
|
178
205
|
The bar degrades gracefully where a platform can't support a control:
|
|
@@ -194,6 +221,186 @@ Every part has a `.gvp-*` class hook — override what you need:
|
|
|
194
221
|
|
|
195
222
|
---
|
|
196
223
|
|
|
224
|
+
## Thumbnail seek preview
|
|
225
|
+
|
|
226
|
+
Hover the seek bar to see a frame preview. Pass `thumbnails` a URL to a **WebVTT storyboard** file — the format YouTube and Vimeo use. Each cue maps a time range to a region of a sprite image:
|
|
227
|
+
|
|
228
|
+
```
|
|
229
|
+
WEBVTT
|
|
230
|
+
|
|
231
|
+
00:00:00.000 --> 00:00:05.000
|
|
232
|
+
storyboard.jpg#xywh=0,0,160,90
|
|
233
|
+
|
|
234
|
+
00:00:05.000 --> 00:00:10.000
|
|
235
|
+
storyboard.jpg#xywh=160,0,160,90
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
```vue
|
|
239
|
+
<VueVideoPlayer src="/videos/movie.m3u8" thumbnails="/videos/storyboard.vtt" />
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
The `#xywh=x,y,w,h` fragment crops a tile out of the sprite; relative image paths resolve against the VTT's own URL. A cue with no `#xywh` uses the whole image. You can generate a storyboard from a video with `ffmpeg`:
|
|
243
|
+
|
|
244
|
+
```bash
|
|
245
|
+
ffmpeg -i video.mp4 -vf "fps=1/5,scale=160:90,tile=5x100" storyboard.jpg
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
Only used with the custom control bar.
|
|
249
|
+
|
|
250
|
+
---
|
|
251
|
+
|
|
252
|
+
## Chapters
|
|
253
|
+
|
|
254
|
+
Segment the timeline into named chapters. They add tick marks to the seek bar and show the chapter title in the hover preview. Pass either a WebVTT chapters URL or an inline array:
|
|
255
|
+
|
|
256
|
+
```vue
|
|
257
|
+
<!-- Inline -->
|
|
258
|
+
<VueVideoPlayer
|
|
259
|
+
src="/videos/tutorial.m3u8"
|
|
260
|
+
:chapters="[
|
|
261
|
+
{ start: 0, title: 'Introduction' },
|
|
262
|
+
{ start: 150, title: 'Getting started' },
|
|
263
|
+
{ start: 600, title: 'Advanced topics' },
|
|
264
|
+
]"
|
|
265
|
+
/>
|
|
266
|
+
|
|
267
|
+
<!-- From a WebVTT chapters file -->
|
|
268
|
+
<VueVideoPlayer src="/videos/tutorial.m3u8" chapters="/videos/chapters.vtt" />
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
Inline items may omit `end` — it's filled from the next chapter's `start` (or the video duration). Only used with the custom control bar.
|
|
272
|
+
|
|
273
|
+
---
|
|
274
|
+
|
|
275
|
+
## Playlist
|
|
276
|
+
|
|
277
|
+
Pass `playlist` an array of items to play videos in sequence. The player auto-advances when one ends and shows prev/next buttons in the control bar. Each item can carry its own `poster`, `thumbnails` and `chapters`:
|
|
278
|
+
|
|
279
|
+
```vue
|
|
280
|
+
<VueVideoPlayer
|
|
281
|
+
:playlist="[
|
|
282
|
+
{ src: '/videos/ep1.m3u8', title: 'Episode 1', thumbnails: '/videos/ep1.vtt' },
|
|
283
|
+
{ src: '/videos/ep2.m3u8', title: 'Episode 2' },
|
|
284
|
+
{ src: '/videos/ep3.m3u8', title: 'Episode 3' },
|
|
285
|
+
]"
|
|
286
|
+
:default-index="0"
|
|
287
|
+
auto-advance
|
|
288
|
+
@playlist-change="(index, item) => console.log('Now playing', item.title)"
|
|
289
|
+
/>
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
`playlist` takes precedence over `src`. Set `:auto-advance="false"` to require a manual next click. `PlaylistItem` is exported for typing.
|
|
293
|
+
|
|
294
|
+
---
|
|
295
|
+
|
|
296
|
+
## Event emits
|
|
297
|
+
|
|
298
|
+
Wire the player's playback events into your own analytics or UI without a separate timer:
|
|
299
|
+
|
|
300
|
+
```vue
|
|
301
|
+
<VueVideoPlayer
|
|
302
|
+
src="/videos/movie.m3u8"
|
|
303
|
+
@play="track('video_play')"
|
|
304
|
+
@pause="track('video_pause')"
|
|
305
|
+
@ended="track('video_complete')"
|
|
306
|
+
@time-update="(time, duration) => (progress = time / duration)"
|
|
307
|
+
@seeked="(time) => track('video_seek', { time })"
|
|
308
|
+
@volume-change="(volume, muted) => console.log(volume, muted)"
|
|
309
|
+
@milestone="(percent) => track(`watched_${percent}`)"
|
|
310
|
+
@error="showRetry()"
|
|
311
|
+
/>
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
`milestone` fires exactly once each as watch progress crosses 25%, 50%, 75% and 100% — handy for completion analytics. Milestone tracking resets per source (including playlist advances).
|
|
315
|
+
|
|
316
|
+
---
|
|
317
|
+
|
|
318
|
+
## Theming
|
|
319
|
+
|
|
320
|
+
Rebrand the player without overriding component classes. Pass a `theme` prop — it maps to CSS custom properties on the player root:
|
|
321
|
+
|
|
322
|
+
```vue
|
|
323
|
+
<VueVideoPlayer
|
|
324
|
+
src="/videos/movie.m3u8"
|
|
325
|
+
:theme="{ accent: '#e11d48', radius: '0.5rem' }"
|
|
326
|
+
/>
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
| Field | Maps to | Description |
|
|
330
|
+
|----------|--------------------|------------------------------------------------------|
|
|
331
|
+
| `accent` | `--gvp-accent` | Seek progress, play button, active states. Any CSS color. |
|
|
332
|
+
| `radius` | `--gvp-radius` | Corner radius of the player frame. |
|
|
333
|
+
|
|
334
|
+
For deeper control, set the `--gvp-*` variables (or override `.gvp-*` classes) directly in your own CSS:
|
|
335
|
+
|
|
336
|
+
```css
|
|
337
|
+
.gvp-root { --gvp-accent-rgb: 225 29 72; --gvp-radius: 0.5rem; }
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
---
|
|
341
|
+
|
|
342
|
+
## Mini-player
|
|
343
|
+
|
|
344
|
+
Set `miniPlayer` and the player floats to a corner of the viewport when it scrolls out of view **while playing** — so viewers keep watching as they read the rest of the page. It returns when scrolled back; a close button dismisses it.
|
|
345
|
+
|
|
346
|
+
```vue
|
|
347
|
+
<VueVideoPlayer
|
|
348
|
+
src="/videos/movie.m3u8"
|
|
349
|
+
miniPlayer
|
|
350
|
+
miniPlayerPosition="bottom-right"
|
|
351
|
+
/>
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
---
|
|
355
|
+
|
|
356
|
+
## Ambient mode
|
|
357
|
+
|
|
358
|
+
`ambientMode` adds a soft, blurred color glow behind the player that samples the current video frame (YouTube's "ambient mode"). Give the player some surrounding padding so the glow is visible.
|
|
359
|
+
|
|
360
|
+
```vue
|
|
361
|
+
<VueVideoPlayer src="/videos/movie.m3u8" ambientMode />
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
---
|
|
365
|
+
|
|
366
|
+
## Live streams
|
|
367
|
+
|
|
368
|
+
Live HLS streams are detected automatically (via hls.js's live flag). The control bar shows a **LIVE badge** instead of a duration — red and pulsing at the live edge, dimmed when behind. Clicking the badge jumps back to the live edge. No prop needed.
|
|
369
|
+
|
|
370
|
+
---
|
|
371
|
+
|
|
372
|
+
## Persisted preferences
|
|
373
|
+
|
|
374
|
+
Pass a `persistKey` and the player remembers volume, mute, playback speed and the **resume position** across reloads and revisits, via `localStorage`:
|
|
375
|
+
|
|
376
|
+
```vue
|
|
377
|
+
<VueVideoPlayer src="/videos/course-1.m3u8" persistKey="my-course" />
|
|
378
|
+
```
|
|
379
|
+
|
|
380
|
+
Resume position is tracked per source URL, so one key can resume many videos independently. Omit `persistKey` to disable persistence entirely.
|
|
381
|
+
|
|
382
|
+
---
|
|
383
|
+
|
|
384
|
+
## Caption styling
|
|
385
|
+
|
|
386
|
+
Style subtitle/caption cue text with `captionStyle` — applied via the `::cue` pseudo-element:
|
|
387
|
+
|
|
388
|
+
```vue
|
|
389
|
+
<VueVideoPlayer
|
|
390
|
+
src="/videos/talk.m3u8"
|
|
391
|
+
:caption-style="{
|
|
392
|
+
fontSize: '1.4em',
|
|
393
|
+
textColor: '#fde047',
|
|
394
|
+
backgroundColor: '#000000',
|
|
395
|
+
backgroundOpacity: 0.75,
|
|
396
|
+
}"
|
|
397
|
+
>
|
|
398
|
+
<track kind="subtitles" src="/subs/en.vtt" srclang="en" label="English" default />
|
|
399
|
+
</VueVideoPlayer>
|
|
400
|
+
```
|
|
401
|
+
|
|
402
|
+
---
|
|
403
|
+
|
|
197
404
|
## YouTube URLs
|
|
198
405
|
|
|
199
406
|
Pass any common YouTube URL as `src` and the player swaps the `<video>` element for a privacy-enhanced (`youtube-nocookie.com`) embed inside the same styled frame — no extra prop needed:
|
package/dist/HLSPlayer.vue.d.ts
CHANGED
|
@@ -35,6 +35,9 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
|
|
|
35
35
|
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
36
36
|
play: () => void;
|
|
37
37
|
pause: () => void;
|
|
38
|
+
ended: () => void;
|
|
39
|
+
"fatal-error": () => void;
|
|
40
|
+
"live-change": (isLive: boolean) => void;
|
|
38
41
|
"audio-tracks": (tracks: AudioTrackInfo[]) => void;
|
|
39
42
|
"quality-levels": (levels: QualityLevelInfo[]) => void;
|
|
40
43
|
"current-level": (index: number) => void;
|
|
@@ -66,6 +69,9 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
|
|
|
66
69
|
}>>> & Readonly<{
|
|
67
70
|
onPlay?: (() => any) | undefined;
|
|
68
71
|
onPause?: (() => any) | undefined;
|
|
72
|
+
onEnded?: (() => any) | undefined;
|
|
73
|
+
"onFatal-error"?: (() => any) | undefined;
|
|
74
|
+
"onLive-change"?: ((isLive: boolean) => any) | undefined;
|
|
69
75
|
"onAudio-tracks"?: ((tracks: AudioTrackInfo[]) => any) | undefined;
|
|
70
76
|
"onQuality-levels"?: ((levels: QualityLevelInfo[]) => any) | undefined;
|
|
71
77
|
"onCurrent-level"?: ((index: number) => any) | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HLSPlayer.vue.d.ts","sourceRoot":"","sources":["../src/HLSPlayer.vue"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAqB,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"HLSPlayer.vue.d.ts","sourceRoot":"","sources":["../src/HLSPlayer.vue"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAqB,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAyPlF,iBAAS,cAAc;qBA2DO,GAAG;EAGhC;AA2BD,QAAA,MAAM,eAAe;SAOZ,MAAM;gBACC,SAAS;YACb,OAAO;YACP,OAAO;WACR,OAAO;eACH,OAAO;eACP,OAAO;kBACJ,OAAO;cACX,MAAM;aACP,MAAM;YACP,MAAM;IACd,kFAAkF;sBAChE,MAAM;IACxB,oEAAoE;wBAChD,MAAM;;;;;;;;;;;;;;;;;;;;;;SAdrB,MAAM;gBACC,SAAS;YACb,OAAO;YACP,OAAO;WACR,OAAO;eACH,OAAO;eACP,OAAO;kBACJ,OAAO;cACX,MAAM;aACP,MAAM;YACP,MAAM;IACd,kFAAkF;sBAChE,MAAM;IACxB,oEAAoE;wBAChD,MAAM;;;;;;;;;;;;;;;;;;;;WAXlB,OAAO;UACR,OAAO;cACH,OAAO;cACP,OAAO;iBACJ,OAAO;aACX,MAAM;qBAIE,MAAM;uBAEJ,MAAM;4EAG5B,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAAvG,wBAAwG;AACxG,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC;AAC9M,KAAK,kBAAkB,CAAC,CAAC,EAAE,CAAC,IAAI;KAE1B,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;QACxE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;KACb,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACT,CAAC;AACN,KAAK,cAAc,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG,EAAE,CAAC;AACxD,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAAE,QAAO;QAClD,MAAM,EAAE,CAAC,CAAC;KACT,CAAA;CAAE,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DeviceMode, VideoPlayerProps } from './utils/types';
|
|
1
|
+
import { DeviceMode, PlaylistItem, VideoPlayerProps } from './utils/types';
|
|
2
2
|
|
|
3
3
|
declare function __VLS_template(): {
|
|
4
4
|
default?(_: {}): any;
|
|
@@ -15,11 +15,23 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
|
|
|
15
15
|
controls: boolean;
|
|
16
16
|
autoPlay: boolean;
|
|
17
17
|
closable: boolean;
|
|
18
|
+
defaultIndex: number;
|
|
19
|
+
autoAdvance: boolean;
|
|
20
|
+
miniPlayer: boolean;
|
|
21
|
+
miniPlayerPosition: string;
|
|
22
|
+
ambientMode: boolean;
|
|
18
23
|
class: string;
|
|
19
24
|
}>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
20
25
|
play: () => void;
|
|
21
26
|
pause: () => void;
|
|
27
|
+
ended: () => void;
|
|
22
28
|
close: () => void;
|
|
29
|
+
error: () => void;
|
|
30
|
+
seeked: (currentTime: number) => void;
|
|
31
|
+
"time-update": (currentTime: number, duration: number) => void;
|
|
32
|
+
"volume-change": (volume: number, muted: boolean) => void;
|
|
33
|
+
milestone: (percent: 100 | 25 | 50 | 75) => void;
|
|
34
|
+
"playlist-change": (index: number, item: PlaylistItem) => void;
|
|
23
35
|
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<VideoPlayerProps & {
|
|
24
36
|
class?: string;
|
|
25
37
|
closable?: boolean;
|
|
@@ -32,20 +44,37 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
|
|
|
32
44
|
controls: boolean;
|
|
33
45
|
autoPlay: boolean;
|
|
34
46
|
closable: boolean;
|
|
47
|
+
defaultIndex: number;
|
|
48
|
+
autoAdvance: boolean;
|
|
49
|
+
miniPlayer: boolean;
|
|
50
|
+
miniPlayerPosition: string;
|
|
51
|
+
ambientMode: boolean;
|
|
35
52
|
class: string;
|
|
36
53
|
}>>> & Readonly<{
|
|
37
54
|
onPlay?: (() => any) | undefined;
|
|
38
55
|
onPause?: (() => any) | undefined;
|
|
56
|
+
onEnded?: (() => any) | undefined;
|
|
39
57
|
onClose?: (() => any) | undefined;
|
|
58
|
+
onError?: (() => any) | undefined;
|
|
59
|
+
onSeeked?: ((currentTime: number) => any) | undefined;
|
|
60
|
+
"onTime-update"?: ((currentTime: number, duration: number) => any) | undefined;
|
|
61
|
+
"onVolume-change"?: ((volume: number, muted: boolean) => any) | undefined;
|
|
62
|
+
onMilestone?: ((percent: 100 | 25 | 50 | 75) => any) | undefined;
|
|
63
|
+
"onPlaylist-change"?: ((index: number, item: PlaylistItem) => any) | undefined;
|
|
40
64
|
}>, {
|
|
41
65
|
muted: boolean;
|
|
42
66
|
loop: boolean;
|
|
43
67
|
controls: boolean | "custom" | "native";
|
|
44
68
|
autoPlay: boolean;
|
|
45
69
|
class: string;
|
|
70
|
+
defaultIndex: number;
|
|
71
|
+
autoAdvance: boolean;
|
|
46
72
|
showDeviceToggle: boolean;
|
|
47
73
|
defaultDevice: DeviceMode;
|
|
48
74
|
hoverPlay: boolean;
|
|
75
|
+
miniPlayer: boolean;
|
|
76
|
+
miniPlayerPosition: "bottom-right" | "bottom-left" | "top-right" | "top-left";
|
|
77
|
+
ambientMode: boolean;
|
|
49
78
|
closable: boolean;
|
|
50
79
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
51
80
|
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VideoPlayer.vue.d.ts","sourceRoot":"","sources":["../src/VideoPlayer.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"VideoPlayer.vue.d.ts","sourceRoot":"","sources":["../src/VideoPlayer.vue"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAilBhF,iBAAS,cAAc;qBAgrBO,GAAG;EAGhC;AA4ED,QAAA,MAAM,eAAe;YAKsE,MAAM;eAAa,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAA1B,MAAM;eAAa,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAA1B,MAAM;;;;;;;;;cAAa,OAAO;4EAEnH,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAAvG,wBAAwG;AACxG,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC;AAC9M,KAAK,kBAAkB,CAAC,CAAC,EAAE,CAAC,IAAI;KAE1B,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;QACxE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;KACb,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACT,CAAC;AACN,KAAK,cAAc,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG,EAAE,CAAC;AACxD,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAAE,QAAO;QAClD,MAAM,EAAE,CAAC,CAAC;KACT,CAAA;CAAE,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { QualityLevelInfo } from '../utils/quality-levels';
|
|
2
|
+
import { AudioTrackInfo } from '../utils/audio-tracks';
|
|
2
3
|
|
|
3
4
|
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
|
|
4
5
|
video: HTMLVideoElement | null;
|
|
@@ -11,12 +12,38 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
11
12
|
currentLevel?: number;
|
|
12
13
|
/** Selected level: -1 = Auto, >=0 pins a level. */
|
|
13
14
|
selectedLevel?: number;
|
|
15
|
+
/** URL of a WebVTT storyboard for seek-bar thumbnail previews. */
|
|
16
|
+
thumbnails?: string;
|
|
17
|
+
/** Timeline chapters: a WebVTT chapters URL or an inline array. */
|
|
18
|
+
chapters?: string | Array<{
|
|
19
|
+
start: number;
|
|
20
|
+
end?: number;
|
|
21
|
+
title: string;
|
|
22
|
+
}>;
|
|
23
|
+
/** Whether a previous playlist item exists. Shows the prev button. */
|
|
24
|
+
hasPrev?: boolean;
|
|
25
|
+
/** Whether a next playlist item exists. Shows the next button. */
|
|
26
|
+
hasNext?: boolean;
|
|
27
|
+
/** Whether the source is a live stream (from hls.js's live flag). */
|
|
28
|
+
isLive?: boolean;
|
|
29
|
+
/** Available audio tracks (empty / single hides the audio submenu). */
|
|
30
|
+
audioTracks?: AudioTrackInfo[];
|
|
31
|
+
/** Index of the active audio track, or -1 for the source default. */
|
|
32
|
+
audioTrackIndex?: number;
|
|
14
33
|
}>, {
|
|
15
34
|
qualityLevels: () => never[];
|
|
16
35
|
currentLevel: number;
|
|
17
36
|
selectedLevel: number;
|
|
37
|
+
hasPrev: boolean;
|
|
38
|
+
hasNext: boolean;
|
|
39
|
+
isLive: boolean;
|
|
40
|
+
audioTracks: () => never[];
|
|
41
|
+
audioTrackIndex: number;
|
|
18
42
|
}>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
19
43
|
"select-level": (index: number) => void;
|
|
44
|
+
"select-audio-track": (index: number) => void;
|
|
45
|
+
prev: () => void;
|
|
46
|
+
next: () => void;
|
|
20
47
|
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
|
|
21
48
|
video: HTMLVideoElement | null;
|
|
22
49
|
isPlaying: boolean;
|
|
@@ -28,16 +55,47 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
28
55
|
currentLevel?: number;
|
|
29
56
|
/** Selected level: -1 = Auto, >=0 pins a level. */
|
|
30
57
|
selectedLevel?: number;
|
|
58
|
+
/** URL of a WebVTT storyboard for seek-bar thumbnail previews. */
|
|
59
|
+
thumbnails?: string;
|
|
60
|
+
/** Timeline chapters: a WebVTT chapters URL or an inline array. */
|
|
61
|
+
chapters?: string | Array<{
|
|
62
|
+
start: number;
|
|
63
|
+
end?: number;
|
|
64
|
+
title: string;
|
|
65
|
+
}>;
|
|
66
|
+
/** Whether a previous playlist item exists. Shows the prev button. */
|
|
67
|
+
hasPrev?: boolean;
|
|
68
|
+
/** Whether a next playlist item exists. Shows the next button. */
|
|
69
|
+
hasNext?: boolean;
|
|
70
|
+
/** Whether the source is a live stream (from hls.js's live flag). */
|
|
71
|
+
isLive?: boolean;
|
|
72
|
+
/** Available audio tracks (empty / single hides the audio submenu). */
|
|
73
|
+
audioTracks?: AudioTrackInfo[];
|
|
74
|
+
/** Index of the active audio track, or -1 for the source default. */
|
|
75
|
+
audioTrackIndex?: number;
|
|
31
76
|
}>, {
|
|
32
77
|
qualityLevels: () => never[];
|
|
33
78
|
currentLevel: number;
|
|
34
79
|
selectedLevel: number;
|
|
80
|
+
hasPrev: boolean;
|
|
81
|
+
hasNext: boolean;
|
|
82
|
+
isLive: boolean;
|
|
83
|
+
audioTracks: () => never[];
|
|
84
|
+
audioTrackIndex: number;
|
|
35
85
|
}>>> & Readonly<{
|
|
36
86
|
"onSelect-level"?: ((index: number) => any) | undefined;
|
|
87
|
+
"onSelect-audio-track"?: ((index: number) => any) | undefined;
|
|
88
|
+
onPrev?: (() => any) | undefined;
|
|
89
|
+
onNext?: (() => any) | undefined;
|
|
37
90
|
}>, {
|
|
91
|
+
audioTrackIndex: number;
|
|
38
92
|
currentLevel: number;
|
|
93
|
+
audioTracks: AudioTrackInfo[];
|
|
39
94
|
qualityLevels: QualityLevelInfo[];
|
|
40
95
|
selectedLevel: number;
|
|
96
|
+
hasPrev: boolean;
|
|
97
|
+
hasNext: boolean;
|
|
98
|
+
isLive: boolean;
|
|
41
99
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
42
100
|
export default _default;
|
|
43
101
|
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ControlBar.vue.d.ts","sourceRoot":"","sources":["../../src/components/ControlBar.vue"],"names":[],"mappings":"AAeA,OAAO,
|
|
1
|
+
{"version":3,"file":"ControlBar.vue.d.ts","sourceRoot":"","sources":["../../src/components/ControlBar.vue"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;;WAs/BjD,gBAAgB,GAAG,IAAI;eACnB,OAAO;eACP,WAAW,GAAG,IAAI;kBACf,MAAM,IAAI;IACxB,sDAAsD;oBACtC,gBAAgB,EAAE;IAClC,uEAAuE;mBACxD,MAAM;IACrB,mDAAmD;oBACnC,MAAM;IACtB,kEAAkE;iBACrD,MAAM;IACnB,mEAAmE;eACxD,MAAM,GAAG,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACzE,sEAAsE;cAC5D,OAAO;IACjB,kEAAkE;cACxD,OAAO;IACjB,qEAAqE;aAC5D,OAAO;IAChB,uEAAuE;kBACzD,cAAc,EAAE;IAC9B,qEAAqE;sBACnD,MAAM;;;;;;;;;;;;;;;;WAvBjB,gBAAgB,GAAG,IAAI;eACnB,OAAO;eACP,WAAW,GAAG,IAAI;kBACf,MAAM,IAAI;IACxB,sDAAsD;oBACtC,gBAAgB,EAAE;IAClC,uEAAuE;mBACxD,MAAM;IACrB,mDAAmD;oBACnC,MAAM;IACtB,kEAAkE;iBACrD,MAAM;IACnB,mEAAmE;eACxD,MAAM,GAAG,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACzE,sEAAsE;cAC5D,OAAO;IACjB,kEAAkE;cACxD,OAAO;IACjB,qEAAqE;aAC5D,OAAO;IAChB,uEAAuE;kBACzD,cAAc,EAAE;IAC9B,qEAAqE;sBACnD,MAAM;;;;;;;;;;;;;;;;qBAAN,MAAM;kBAhBT,MAAM;iBAcP,cAAc,EAAE;mBAhBd,gBAAgB,EAAE;mBAIlB,MAAM;aAMZ,OAAO;aAEP,OAAO;YAER,OAAO;;AAzBpB,wBAgCG;AACH,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC;AAC9M,KAAK,kBAAkB,CAAC,CAAC,EAAE,CAAC,IAAI;KAE1B,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;QACxE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;KACb,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACT,CAAC;AACN,KAAK,cAAc,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IconAlert.vue.d.ts","sourceRoot":"","sources":["../../src/components/IconAlert.vue"],"names":[],"mappings":";YA+DqD,MAAM;;YAAN,MAAM;;AA3D3D,wBA6DI;AAAA,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACrE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
|
|
2
|
+
class?: string;
|
|
3
|
+
}>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
|
|
4
|
+
class?: string;
|
|
5
|
+
}>>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
6
|
+
export default _default;
|
|
7
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
8
|
+
type __VLS_TypePropsToRuntimeProps<T> = {
|
|
9
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
10
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
11
|
+
} : {
|
|
12
|
+
type: import('vue').PropType<T[K]>;
|
|
13
|
+
required: true;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=IconCheck.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IconCheck.vue.d.ts","sourceRoot":"","sources":["../../src/components/IconCheck.vue"],"names":[],"mappings":";YA+DqD,MAAM;;YAAN,MAAM;;AA3D3D,wBA6DI;AAAA,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACrE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
|
|
2
|
+
class?: string;
|
|
3
|
+
}>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
|
|
4
|
+
class?: string;
|
|
5
|
+
}>>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
6
|
+
export default _default;
|
|
7
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
8
|
+
type __VLS_TypePropsToRuntimeProps<T> = {
|
|
9
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
10
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
11
|
+
} : {
|
|
12
|
+
type: import('vue').PropType<T[K]>;
|
|
13
|
+
required: true;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=IconChevronRight.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IconChevronRight.vue.d.ts","sourceRoot":"","sources":["../../src/components/IconChevronRight.vue"],"names":[],"mappings":";YA+DqD,MAAM;;YAAN,MAAM;;AA3D3D,wBA6DI;AAAA,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACrE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
|
|
2
|
+
class?: string;
|
|
3
|
+
}>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
|
|
4
|
+
class?: string;
|
|
5
|
+
}>>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
6
|
+
export default _default;
|
|
7
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
8
|
+
type __VLS_TypePropsToRuntimeProps<T> = {
|
|
9
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
10
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
11
|
+
} : {
|
|
12
|
+
type: import('vue').PropType<T[K]>;
|
|
13
|
+
required: true;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=IconGear.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IconGear.vue.d.ts","sourceRoot":"","sources":["../../src/components/IconGear.vue"],"names":[],"mappings":";YAuEqD,MAAM;;YAAN,MAAM;;AAnE3D,wBAqEI;AAAA,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACrE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
|
|
2
|
+
class?: string;
|
|
3
|
+
}>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
|
|
4
|
+
class?: string;
|
|
5
|
+
}>>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
6
|
+
export default _default;
|
|
7
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
8
|
+
type __VLS_TypePropsToRuntimeProps<T> = {
|
|
9
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
10
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
11
|
+
} : {
|
|
12
|
+
type: import('vue').PropType<T[K]>;
|
|
13
|
+
required: true;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=IconNext.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IconNext.vue.d.ts","sourceRoot":"","sources":["../../src/components/IconNext.vue"],"names":[],"mappings":";YAuEqD,MAAM;;YAAN,MAAM;;AAnE3D,wBAqEI;AAAA,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACrE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
|
|
2
|
+
class?: string;
|
|
3
|
+
}>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
|
|
4
|
+
class?: string;
|
|
5
|
+
}>>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
6
|
+
export default _default;
|
|
7
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
8
|
+
type __VLS_TypePropsToRuntimeProps<T> = {
|
|
9
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
10
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
11
|
+
} : {
|
|
12
|
+
type: import('vue').PropType<T[K]>;
|
|
13
|
+
required: true;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=IconPrev.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IconPrev.vue.d.ts","sourceRoot":"","sources":["../../src/components/IconPrev.vue"],"names":[],"mappings":";YAuEqD,MAAM;;YAAN,MAAM;;AAnE3D,wBAqEI;AAAA,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACrE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC"}
|