@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.
@@ -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
- * Feather's slash for its own off state.
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.8",
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-feather'
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 { AlertTriangle, Check, Copy } from 'react-feather'
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
- <AlertTriangle className='alert-triangle' />
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 captions glyph, drawn here because react-feather does not have one.
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
- * Checked against react-feather 2.0.10's 287 icons: there is no captions, subtitles or CC glyph, and
7
- * nothing it does have reads as one (`Type` is a text-formatting T, `MessageSquare` is a chat bubble,
8
- * `FileText` is a document). Drawn on Feather's own 24 grid at stroke-width 2 with round caps and
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
- * Feather's slash for its own off state.
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-feather'
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-feather'
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-feather'
6
+ import { ChevronLeft } from 'lucide-react'
7
7
 
8
8
  import { fonts } from '../../utils/fonts'
9
9