24.1.0 • Published 1 month ago

@vidispine/vdt-react v24.1.0

Weekly downloads
73
License
SEE LICENSE IN LI...
Repository
github
Last release
1 month ago

@vidispine/vdt-react

See documentation for more detail.

<VideoPlayer />

import { VideoPlayer } from '@vidispine/vdt-react';
import '@vidispine/vdt-react/dist/index.css';

npm.io

A wrapper for vdt-videojs player.

See vdt-videojs for available Class instance methods that can be used via the ref / additional info.

<VideoControls />

import { VideoControls } from '@vidispine/vdt-react';

npm.io

Custom external controls for controlling a vdt-videojs Player instance.

Props

<VideoSeekBar />

import { VideoSeekBar } from '@vidispine/vdt-react';

npm.io

Custom seek bar component for interacting with a vdt-videojs Player instance - has marker (in / out point) support. See vdt-videojs for seek bar API accessible trough a ref.

Props

<VideoTimeCode />

import { VideoTimeCode } from '@vidispine/vdt-react';

VideoTimeCode is a wrapper around vdt-videojs TimeCodeDisplay component, it does not host any logic or concept of framerates regarding the video source itself.

TimeCodeDisplay is really good at rendering numbers and handling input, and is purpose made just for that.

The HTML markup that VideoTimeCode outputs is quite minimal and looks like this:

<div class="vdt-timecode vjs-time-control">
	<input class="hours" tabindex="-1" maxlength="2">
	<span>:</span>
	<input class="minutes" tabindex="-1" maxlength="2">
	<span>:</span>
	<input class="seconds" tabindex="-1" maxlength="2">
	<span>:</span>
	<input class="frame" tabindex="-1" maxlength="2">
</div>

Important note:

VideoTimeCode component is provided without any base styling (CSS); It also does not encapsulate it's own DOM inside a shadow node (as opposed to VideControls and VideoSeekBar components)

This allows for maximum flexibility in external use cases and avoids excessive overriding of styles, however poses a risk for CSS collisions.

So one would style the component based on the project spec; CSS to style it could be as short as:

// use specific selectors to avoid colissions with in-player timecode
.some-div > .vdt-timecode{ 
	margin: 25px auto;
	width: 320px;
	border: 1px solid #777;
	border-radius: 20px;
}

.some-div > .vdt-timecode input{
	display: inline-block;
	color: #556;
	width: 76px;
	height: 50px;
	background: none;
	font-size: 19px;
	text-align: left;
	padding-left: 28px;
	font-family: monospace, sans-serif;
	border: none;
}

Or using @materialui-ui

import { styled } from '@material-ui/core/styles';

const StyledTimecode = styled(({ className, ...props }) => (
  <VideoTimeCode className={className} {...props} />
))({
  '& .vdt-timecode': {
    border: '1px solid #777',
    borderRadius: 20,
    width: 'fit-content',
    marginTop: 8,
    marginBottom: 8,
  },
  '& .vdt-timecode input': {
    display: 'inline-block',
    color: '#556',
    width: 76,
    height: 50,
    background: 'none',
    fontSize: 19,
    textAlign: 'left',
    paddingLeft: 28,
    fontFamily: 'monospace, sans-serif',
    border: 'none',
  },
});

And would yield a component looking like this:

npm.io

Props

24.1.0

1 month ago

24.1.0-pre.1

2 months ago

23.4.0

5 months ago

23.4.0-pre.4

5 months ago

23.4.0-pre.3

5 months ago

23.4.0-pre.1

8 months ago

23.4.0-pre.2

8 months ago

23.3.0-pre.6

8 months ago

23.3.0-pre.4

10 months ago

23.3.0-pre.5

8 months ago

23.3.0-pre.3

10 months ago

23.3.0

8 months ago

23.3.0-pre.2

11 months ago

23.2.0

12 months ago

23.3.0-pre.1

12 months ago

23.1.0

1 year ago

23.2.0-pre.2

1 year ago

23.2.0-pre.1

1 year ago

23.1.0-pre.5

1 year ago

23.1.0-pre.4

1 year ago

23.1.0-pre.3

1 year ago

23.1.0-pre.2

1 year ago

22.4.0

1 year ago

23.1.0-pre.1

1 year ago

22.3.1-pre.1

2 years ago

22.4.0-pre.9

1 year ago

22.4.0-pre.8

1 year ago

22.4.0-pre.7

1 year ago

22.4.0-pre.6

2 years ago

22.4.0-pre.5

2 years ago

22.4.0-pre.4

2 years ago

22.4.0-pre.3

2 years ago

22.4.0-pre.2

2 years ago

22.4.0-pre.1

2 years ago

22.3.0

2 years ago

22.3.0-pre.5

2 years ago

22.3.0-pre.4

2 years ago

22.3.0-pre.3

2 years ago

22.3.0-pre.2

2 years ago

22.2.0

2 years ago

22.2.0-pre.4

2 years ago

22.2.0-pre.3

2 years ago

22.2.0-pre.2

2 years ago

22.3.0-pre.1

2 years ago

22.2.0-pre.1

2 years ago

22.1.0

2 years ago

22.1.0-pre.1

2 years ago

22.1.0-pre.2

2 years ago

22.1.0-pre.3

2 years ago

21.4.0-pre.2

2 years ago

21.4.0-pre.1

2 years ago

0.15.0-pre.25

3 years ago

0.15.0-pre.24

3 years ago

21.3.0

3 years ago

0.15.0-pre.23

3 years ago

0.15.0-pre.22

3 years ago

0.15.0-pre.21

3 years ago

0.15.0-pre.20

3 years ago

0.15.0-pre.19

3 years ago

0.15.0-pre.18

3 years ago

0.15.0-pre.17

3 years ago

0.15.0-pre.16

3 years ago

0.15.0-pre.15

3 years ago

0.15.0-pre.14

3 years ago

0.15.0-pre.13

3 years ago

0.15.0-pre.12

3 years ago

0.15.0-pre.11

3 years ago

0.15.0-pre.10

3 years ago

0.15.0-pre.9

3 years ago

0.15.0-pre.8

3 years ago

0.15.0-pre.7

3 years ago

0.15.0-pre.5

3 years ago

0.15.0-pre.6

3 years ago

0.15.0-pre.4

3 years ago

0.15.0-pre.2

3 years ago

0.15.0-pre.3

3 years ago

0.15.0-pre.1

3 years ago

0.14.0

3 years ago

0.14.0-pre.4

3 years ago

0.14.0-pre.1

3 years ago

0.14.0-pre.2

3 years ago

0.14.0-pre.3

3 years ago

0.13.0

3 years ago

0.13.0-pre.4

3 years ago

0.13.0-pre.3

3 years ago

0.13.0-pre.2

3 years ago

0.13.0-pre.1

3 years ago

0.12.0

3 years ago

0.12.0-pre.1

3 years ago

0.11.0

3 years ago

0.11.0-pre.3

3 years ago

0.11.0-pre.2

3 years ago

0.11.0-pre.1

3 years ago

0.10.0

3 years ago

0.10.0-pre.5

3 years ago

0.10.0-pre.4

3 years ago

0.10.0-pre.3

4 years ago

0.10.0-pre.2

4 years ago

0.10.0-pre.1

4 years ago

0.9.0

4 years ago

0.8.0

4 years ago

0.7.0

4 years ago

0.6.0

4 years ago

0.5.0

4 years ago

0.4.0

4 years ago

0.3.1

4 years ago

0.3.0

4 years ago

0.2.2

4 years ago

0.2.1

4 years ago

0.2.0-1

4 years ago