@banou/media-player 0.10.8 → 0.10.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +189 -220
- package/dist/react/components/icons.d.ts +1 -4
- package/package.json +2 -2
- package/src/lib/react/components/control-bar.tsx +1 -1
- package/src/lib/react/components/errors.tsx +2 -2
- package/src/lib/react/components/icons.tsx +6 -23
- package/src/lib/react/components/settings.tsx +1 -1
- package/src/lib/react/components/sound.tsx +1 -1
- package/src/lib/react/components/subtitles.tsx +1 -1
- package/src/lib/react/components/track-menu.tsx +1 -1
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
import type { SVGProps } from 'react';
|
|
2
|
-
export declare const Captions: (props: SVGProps<SVGSVGElement>) => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
3
|
-
/** The slash is Feather's own convention for an off state, the line `MicOff` and `BellOff` draw. */
|
|
4
|
-
export declare const CaptionsOff: (props: SVGProps<SVGSVGElement>) => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
5
2
|
/**
|
|
6
3
|
* Subtitles inside the picture: the picture-in-picture frame with caption bars in the inset.
|
|
7
4
|
*
|
|
@@ -16,6 +13,6 @@ export declare const SubtitlesInPicture: (props: SVGProps<SVGSVGElement>) => imp
|
|
|
16
13
|
* The pair exists because that control is the one button in the bar whose glyph did not move with its
|
|
17
14
|
* state, so the state was carried by an accent colour and by nothing else. A pair, not a slash: a
|
|
18
15
|
* slashed resting state reads as unavailable, and the subtitles button beside it already draws
|
|
19
|
-
*
|
|
16
|
+
* Lucide's slash for its own off state.
|
|
20
17
|
*/
|
|
21
18
|
export declare const SubtitlesOutsidePicture: (props: SVGProps<SVGSVGElement>) => import("@emotion/react/jsx-runtime").JSX.Element;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@banou/media-player",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.9",
|
|
4
4
|
"description": "A video player for containers and codecs the browser cannot play natively, remuxed on the fly",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -46,8 +46,8 @@
|
|
|
46
46
|
"ass-compiler": "^0.1.16",
|
|
47
47
|
"jassub": "^2.5.16",
|
|
48
48
|
"libav-wasm": "^0.8.7",
|
|
49
|
+
"lucide-react": "^0.536.0",
|
|
49
50
|
"osra": "^0.6.12",
|
|
50
|
-
"react-feather": "^2.0.10",
|
|
51
51
|
"react-tooltip": "^5.28.0"
|
|
52
52
|
},
|
|
53
53
|
"peerDependencies": {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="@emotion/react/types/css-prop" />
|
|
2
2
|
import { useCallback, useEffect, useRef, useState } from 'react'
|
|
3
3
|
import { css } from '@emotion/react'
|
|
4
|
-
import { Maximize, Minimize, Pause, Play, RotateCcw } from 'react
|
|
4
|
+
import { Maximize, Minimize, Pause, Play, RotateCcw } from 'lucide-react'
|
|
5
5
|
|
|
6
6
|
import { linearToLogVolume, logToLinearVolume } from '../../utils/volume-utils'
|
|
7
7
|
import { formatMediaTime } from '../../utils/time'
|
|
@@ -3,7 +3,7 @@ import type { PlaybackErrorEntry } from '../source-feature'
|
|
|
3
3
|
|
|
4
4
|
import { useState } from 'react'
|
|
5
5
|
import { css } from '@emotion/react'
|
|
6
|
-
import {
|
|
6
|
+
import { Check, Copy, TriangleAlert } from 'lucide-react'
|
|
7
7
|
|
|
8
8
|
import { fonts } from '../../utils/fonts'
|
|
9
9
|
import { formatTime } from '../../utils/time'
|
|
@@ -173,7 +173,7 @@ export const ErrorsAction = () => {
|
|
|
173
173
|
aria-label={label}
|
|
174
174
|
aria-expanded={open}
|
|
175
175
|
>
|
|
176
|
-
<
|
|
176
|
+
<TriangleAlert className='alert-triangle' />
|
|
177
177
|
</button>
|
|
178
178
|
}
|
|
179
179
|
toolTipText={<span>{label}</span>}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import type { SVGProps } from 'react'
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* The
|
|
4
|
+
* The two burn-in glyphs, drawn here because Lucide has no "subtitles in the picture in picture
|
|
5
|
+
* window": its `PictureInPicture` has no caption bars and its `Captions` has no inset.
|
|
5
6
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* `
|
|
9
|
-
* carrying no size or colour of its own, so the control bar's `svg` rules size and stroke it exactly
|
|
10
|
-
* as they do `Play` and `Settings`.
|
|
7
|
+
* Drawn on Lucide's own 24 grid at stroke-width 2 with round caps and carrying no size or colour of
|
|
8
|
+
* their own, so the control bar's `svg` rules size and stroke them exactly as they do `Play` and
|
|
9
|
+
* `Settings`.
|
|
11
10
|
*/
|
|
12
11
|
const iconProps = {
|
|
13
12
|
xmlns: 'http://www.w3.org/2000/svg',
|
|
@@ -21,22 +20,6 @@ const iconProps = {
|
|
|
21
20
|
strokeLinejoin: 'round',
|
|
22
21
|
} as const
|
|
23
22
|
|
|
24
|
-
export const Captions = (props: SVGProps<SVGSVGElement>) => (
|
|
25
|
-
<svg {...iconProps} {...props}>
|
|
26
|
-
<rect x='3' y='5' width='18' height='14' rx='2' ry='2' />
|
|
27
|
-
<path d='M7 15h4m4 0h2M7 11h2m4 0h4' />
|
|
28
|
-
</svg>
|
|
29
|
-
)
|
|
30
|
-
|
|
31
|
-
/** The slash is Feather's own convention for an off state, the line `MicOff` and `BellOff` draw. */
|
|
32
|
-
export const CaptionsOff = (props: SVGProps<SVGSVGElement>) => (
|
|
33
|
-
<svg {...iconProps} {...props}>
|
|
34
|
-
<rect x='3' y='5' width='18' height='14' rx='2' ry='2' />
|
|
35
|
-
<path d='M7 15h4m4 0h2M7 11h2m4 0h4' />
|
|
36
|
-
<line x1='2' y1='2' x2='22' y2='22' />
|
|
37
|
-
</svg>
|
|
38
|
-
)
|
|
39
|
-
|
|
40
23
|
/**
|
|
41
24
|
* Subtitles inside the picture: the picture-in-picture frame with caption bars in the inset.
|
|
42
25
|
*
|
|
@@ -58,7 +41,7 @@ export const SubtitlesInPicture = (props: SVGProps<SVGSVGElement>) => (
|
|
|
58
41
|
* The pair exists because that control is the one button in the bar whose glyph did not move with its
|
|
59
42
|
* state, so the state was carried by an accent colour and by nothing else. A pair, not a slash: a
|
|
60
43
|
* slashed resting state reads as unavailable, and the subtitles button beside it already draws
|
|
61
|
-
*
|
|
44
|
+
* Lucide's slash for its own off state.
|
|
62
45
|
*/
|
|
63
46
|
export const SubtitlesOutsidePicture = (props: SVGProps<SVGSVGElement>) => (
|
|
64
47
|
<svg {...iconProps} {...props}>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="@emotion/react/types/css-prop" />
|
|
2
2
|
import { useState } from 'react'
|
|
3
3
|
import { css } from '@emotion/react'
|
|
4
|
-
import { ChevronLeft, ChevronRight, Settings } from 'react
|
|
4
|
+
import { ChevronLeft, ChevronRight, Settings } from 'lucide-react'
|
|
5
5
|
|
|
6
6
|
import { usePlayer } from '../player'
|
|
7
7
|
import { TooltipDisplay } from './tooltip-display'
|
|
@@ -3,7 +3,7 @@ import type { Ref } from 'react'
|
|
|
3
3
|
|
|
4
4
|
import { useMemo } from 'react'
|
|
5
5
|
import { css } from '@emotion/react'
|
|
6
|
-
import { Volume1, Volume2, VolumeX } from 'react
|
|
6
|
+
import { Volume1, Volume2, VolumeX } from 'lucide-react'
|
|
7
7
|
|
|
8
8
|
import { usePlayer } from '../player'
|
|
9
9
|
import { TooltipDisplay } from './tooltip-display'
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/// <reference types="@emotion/react/types/css-prop" />
|
|
2
2
|
import { css } from '@emotion/react'
|
|
3
|
+
import { Captions, CaptionsOff } from 'lucide-react'
|
|
3
4
|
|
|
4
5
|
import { usePlayer } from '../player'
|
|
5
6
|
import { TooltipDisplay } from './tooltip-display'
|
|
6
|
-
import { Captions, CaptionsOff } from './icons'
|
|
7
7
|
import { TrackMenu, popoverStyle, useTrackMenu } from './track-menu'
|
|
8
8
|
|
|
9
9
|
const style = css`
|
|
@@ -3,7 +3,7 @@ import type { TrackChoice } from '../source-feature'
|
|
|
3
3
|
|
|
4
4
|
import { useEffect, useRef, useState } from 'react'
|
|
5
5
|
import { css } from '@emotion/react'
|
|
6
|
-
import { ChevronLeft } from 'react
|
|
6
|
+
import { ChevronLeft } from 'lucide-react'
|
|
7
7
|
|
|
8
8
|
import { fonts } from '../../utils/fonts'
|
|
9
9
|
|