diff --git a/node_modules/.package-lock.json b/node_modules/.package-lock.json index f06a3c6b7b..86a95e71a1 100644 --- a/node_modules/.package-lock.json +++ b/node_modules/.package-lock.json @@ -201,6 +201,14 @@ "url": "https://opencollective.com/popperjs" } }, + "node_modules/@silvermine/videojs-airplay": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@silvermine/videojs-airplay/-/videojs-airplay-1.3.0.tgz", + "integrity": "sha512-Oxq31DIEuKVt0qLj8/n5aaC9RRAc0hryarPVD9SFxPwCQ3A9Ef7bkRkGJz2i7XQxpIhPQ4SkM9BudUj6oHsPzA==", + "peerDependencies": { + "video.js": ">= 6.0.0" + } + }, "node_modules/@silvermine/videojs-chromecast": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/@silvermine/videojs-chromecast/-/videojs-chromecast-1.5.0.tgz", @@ -213,16 +221,16 @@ } }, "node_modules/@videojs/http-streaming": { - "version": "3.14.2", - "resolved": "https://registry.npmjs.org/@videojs/http-streaming/-/http-streaming-3.14.2.tgz", - "integrity": "sha512-c+sg+rrrSrRekBZxd+sNpzjRteIcOEQRJllqCBcz6MrgSaGJGDzV1xhGSAFnxX8E/xfqQeF060us5474WwYi3Q==", + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/@videojs/http-streaming/-/http-streaming-3.15.0.tgz", + "integrity": "sha512-6rjaqEa87gVFqDFsHaLKXGrDqL3NhNZRNi6wkMw+uyt1lrLD2OFY0SfRQRNl7Vmmx0pt5FRJoRJYlnKsowyElA==", "dependencies": { "@babel/runtime": "^7.12.5", "@videojs/vhs-utils": "^4.1.1", "aes-decrypter": "^4.0.2", "global": "^4.4.0", "m3u8-parser": "^7.2.0", - "mpd-parser": "^1.3.0", + "mpd-parser": "^1.3.1", "mux.js": "7.0.3", "video.js": "^7 || ^8" }, @@ -231,7 +239,23 @@ "npm": ">=5" }, "peerDependencies": { - "video.js": "^8.14.0" + "video.js": "^8.19.0" + } + }, + "node_modules/@videojs/http-streaming/node_modules/mux.js": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/mux.js/-/mux.js-7.0.3.tgz", + "integrity": "sha512-gzlzJVEGFYPtl2vvEiJneSWAWD4nfYRHD5XgxmB2gWvXraMPOYk+sxfvexmNfjQUFpmk6hwLR5C6iSFmuwCHdQ==", + "dependencies": { + "@babel/runtime": "^7.11.2", + "global": "^4.4.0" + }, + "bin": { + "muxjs-transmux": "bin/transmux.js" + }, + "engines": { + "node": ">=8", + "npm": ">=5" } }, "node_modules/@videojs/vhs-utils": { @@ -457,9 +481,9 @@ } }, "node_modules/dexie": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/dexie/-/dexie-4.0.8.tgz", - "integrity": "sha512-1G6cJevS17KMDK847V3OHvK2zei899GwpDiqfEXHP1ASvme6eWJmAp9AU4s1son2TeGkWmC0g3y8ezOBPnalgQ==" + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/dexie/-/dexie-4.0.9.tgz", + "integrity": "sha512-VQG1huEVSAdDZssb9Bb9mFy+d3jAE0PT4d1nIRYlT46ip1fzbs1tXi0SlUayRDgV3tTbJG8ZRqAo2um49gtynA==" }, "node_modules/dom-walk": { "version": "0.1.2", @@ -1025,9 +1049,9 @@ } }, "node_modules/mpd-parser": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/mpd-parser/-/mpd-parser-1.3.0.tgz", - "integrity": "sha512-WgeIwxAqkmb9uTn4ClicXpEQYCEduDqRKfmUdp4X8vmghKfBNXZLYpREn9eqrDx/Tf5LhzRcJLSpi4ohfV742Q==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mpd-parser/-/mpd-parser-1.3.1.tgz", + "integrity": "sha512-1FuyEWI5k2HcmhS1HkKnUAQV7yFPfXPht2DnRRGtoiiAAW+ESTbtEXIDpRkwdU+XyrQuwrIym7UkoPKsZ0SyFw==", "dependencies": { "@babel/runtime": "^7.12.5", "@videojs/vhs-utils": "^4.0.0", @@ -1039,9 +1063,9 @@ } }, "node_modules/mux.js": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/mux.js/-/mux.js-7.0.3.tgz", - "integrity": "sha512-gzlzJVEGFYPtl2vvEiJneSWAWD4nfYRHD5XgxmB2gWvXraMPOYk+sxfvexmNfjQUFpmk6hwLR5C6iSFmuwCHdQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/mux.js/-/mux.js-7.1.0.tgz", + "integrity": "sha512-NTxawK/BBELJrYsZThEulyUMDVlLizKdxyAsMuzoCD1eFj97BVaA8D/CvKsKu6FOLYkFojN5CbM9h++ZTZtknA==", "dependencies": { "@babel/runtime": "^7.11.2", "global": "^4.4.0" @@ -1390,18 +1414,18 @@ } }, "node_modules/video.js": { - "version": "8.18.1", - "resolved": "https://registry.npmjs.org/video.js/-/video.js-8.18.1.tgz", - "integrity": "sha512-oQ4M/HD2fFgEPHfmVMWxGykRFIpOmVhK0XZ4PSsPTgN2jH6E6+92f/RI2mDXDb0yu+Fxv9fxMUm0M7Z2K3Zo9w==", + "version": "8.19.1", + "resolved": "https://registry.npmjs.org/video.js/-/video.js-8.19.1.tgz", + "integrity": "sha512-MVuayhXpzTBv5Jk3nYEU2akawPhuBBlizEbpQGx2i+6FiBmqxGjkrkLdDLOzG54ut7xapjp26IfWQLGSpeLmcQ==", "dependencies": { "@babel/runtime": "^7.12.5", - "@videojs/http-streaming": "^3.14.2", + "@videojs/http-streaming": "^3.15.0", "@videojs/vhs-utils": "^4.1.1", "@videojs/xhr": "2.7.0", "aes-decrypter": "^4.0.2", "global": "4.4.0", "m3u8-parser": "^7.2.0", - "mpd-parser": "^1.2.2", + "mpd-parser": "^1.3.1", "mux.js": "^7.0.1", "videojs-contrib-quality-levels": "4.1.0", "videojs-font": "4.2.0", diff --git a/node_modules/@silvermine/videojs-airplay/.github/workflows/ci.yml b/node_modules/@silvermine/videojs-airplay/.github/workflows/ci.yml new file mode 100644 index 0000000000..1ef8456b8d --- /dev/null +++ b/node_modules/@silvermine/videojs-airplay/.github/workflows/ci.yml @@ -0,0 +1,38 @@ +name: CI + +on: [ push, pull_request ] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - + uses: actions/checkout@v3 + with: + fetch-depth: 0 # Fetch all history + - + uses: actions/setup-node@v3 + with: + node-version-file: '.nvmrc' + - run: npm i -g npm@8.5.5 + - run: npm ci + - run: npm run standards + test: + needs: [ build ] + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + node-version: [ 12, 14, 16, 'lts/*', 'latest' ] + steps: + - uses: actions/checkout@v3 + - + name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + - run: npm i -g npm@8.5.5 + - run: npm ci # Reinstall the dependencies to ensure they install with the current version of node + - run: npm test + - name: Coveralls + uses: coverallsapp/github-action@v1 diff --git a/node_modules/@silvermine/videojs-airplay/.jsdoc b/node_modules/@silvermine/videojs-airplay/.jsdoc new file mode 100644 index 0000000000..831f1dc2a0 --- /dev/null +++ b/node_modules/@silvermine/videojs-airplay/.jsdoc @@ -0,0 +1,3 @@ +{ + "plugins": [ "plugins/markdown" ] +} diff --git a/node_modules/@silvermine/videojs-airplay/.nvmrc b/node_modules/@silvermine/videojs-airplay/.nvmrc new file mode 100644 index 0000000000..99cdd8009c --- /dev/null +++ b/node_modules/@silvermine/videojs-airplay/.nvmrc @@ -0,0 +1 @@ +16.15.0 diff --git a/node_modules/@silvermine/videojs-airplay/.nycrc.json b/node_modules/@silvermine/videojs-airplay/.nycrc.json new file mode 100644 index 0000000000..11f0896461 --- /dev/null +++ b/node_modules/@silvermine/videojs-airplay/.nycrc.json @@ -0,0 +1,16 @@ +{ + "include": [ + "src/**/*.js" + ], + "extension": [ + ".js" + ], + "reporter": [ + "text-summary", + "html", + "lcov" + ], + "instrument": true, + "sourceMap": true, + "all": true +} diff --git a/node_modules/@silvermine/videojs-airplay/.stylelintrc.yml b/node_modules/@silvermine/videojs-airplay/.stylelintrc.yml new file mode 100644 index 0000000000..40396ee0ee --- /dev/null +++ b/node_modules/@silvermine/videojs-airplay/.stylelintrc.yml @@ -0,0 +1 @@ +extends: ./node_modules/@silvermine/standardization/.stylelintrc.yml diff --git a/node_modules/@silvermine/videojs-airplay/CHANGELOG.md b/node_modules/@silvermine/videojs-airplay/CHANGELOG.md new file mode 100644 index 0000000000..7d49227c58 --- /dev/null +++ b/node_modules/@silvermine/videojs-airplay/CHANGELOG.md @@ -0,0 +1,27 @@ +# Changelog + +All notable changes to this project will be documented in this file. +See [our coding standards][commit-messages] for commit guidelines. + +## [1.3.0](https://github.com/silvermine/videojs-airplay/compare/v1.2.0...v1.3.0) (2023-11-15) + + +### Bug Fixes + +* remove deprecated `.extend` method ([1e4aa2a](https://github.com/silvermine/videojs-airplay/commit/1e4aa2a5980ca843e92efc7165a67908be2843d0)) + + +## [1.2.0](https://github.com/silvermine/videojs-airplay/compare/v1.1.0...v1.2.0) (2023-03-21) + + +### Features + +* Add optional "AirPlay" label to button component ([23ab737](https://github.com/silvermine/videojs-airplay/commit/23ab73773c54f60cd7f0fced5de64db22bd96722)) + + +### Bug Fixes + +* Remove target availability event listener on dispose ([#29](https://github.com/silvermine/videojs-airplay/issues/29)) ([f732699](https://github.com/silvermine/videojs-airplay/commit/f732699d8ef20278e8c089cc015abaf018a413e5)) + + +[commit-messages]: https://github.com/silvermine/silvermine-info/blob/master/commit-history.md#commit-messages diff --git a/node_modules/@silvermine/videojs-airplay/LICENSE b/node_modules/@silvermine/videojs-airplay/LICENSE new file mode 100644 index 0000000000..873928e946 --- /dev/null +++ b/node_modules/@silvermine/videojs-airplay/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) +Copyright (c) 2017 Jeremy Thomerson + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/@silvermine/videojs-airplay/README.md b/node_modules/@silvermine/videojs-airplay/README.md new file mode 100644 index 0000000000..469ff776bf --- /dev/null +++ b/node_modules/@silvermine/videojs-airplay/README.md @@ -0,0 +1,186 @@ +# Silvermine Video.js AirPlay Plugin + + +[![Build Status](https://travis-ci.org/silvermine/videojs-airplay.svg?branch=master)](https://travis-ci.org/silvermine/videojs-airplay) +[![Coverage Status](https://coveralls.io/repos/github/silvermine/videojs-airplay/badge.svg?branch=master)](https://coveralls.io/github/silvermine/videojs-airplay?branch=master) +[![Dependency Status](https://david-dm.org/silvermine/videojs-airplay.svg)](https://david-dm.org/silvermine/videojs-airplay) +[![Dev Dependency Status](https://david-dm.org/silvermine/videojs-airplay/dev-status.svg)](https://david-dm.org/silvermine/videojs-airplay#info=devDependencies&view=table) + + +## What is it? + +A plugin for [Video.js](http://videojs.com/) versions 6+ that adds a button to the control +bar that will open the AirPlay menu if it is available on the user's device. + +_NOTE: there is a [`videojs-airplay`](https://www.npmjs.com/package/videojs-airplay) +package that is in no way associated with `@silvermine/videojs-airplay`. The +`videojs-airplay` module appears to only support VideoJS version 5.x, whereas our +`@silvermine/videojs-airplay` module supports VideoJS 6.x._ + +## How do I use it? + +The `@silvermine/videojs-airplay` plugin includes 3 types of assets: javascript, CSS and +images. + +You can either build the plugin locally and use the assets that are output from the build +process directly, or you can install the plugin as an npm module, include the +javascript and SCSS source in your project using a Common-JS module loader and SASS build +process, and copy the images from the image source folder to your project. + +### Building the plugin locally + + 1. Either clone this repository or install the `@silvermine/videojs-airplay` module + using `npm install @silvermine/videojs-airplay`. + 2. Ensure that the project's `devDependencies` are installed by running `npm install` + from within the folder you cloned or installed the project. + 3. Run `grunt build` to build and copy the javascript, CSS and image files to the + `dist` folder. + 4. Copy the plugin's files from the `dist` folder into your project as needed. + 5. Ensure that the images in the `dist/images` folder are accessible at `./images/`, + relative to where the plugin's CSS is located. If, for example, your CSS is located + at `https://example.com/plugins/silvermine-videojs-airplay.css`, then the plugin's + images should be located at `https://example.com/plugins/images/`. + +Note: when adding the plugin's javascript to your web page, include the `silvermine- +videojs-airplay.min.js` javascript file in your HTML _after_ loading Video.js. The +plugin's built javascript file expects there to be a reference to Video.js at +`window.videojs` and will throw an error if it does not exist. + +After both Video.js and `@silvermine/videojs-airplay` have loaded, follow the steps in the +"Configuration" section below. + + +### Configuration + +Once the plugin has been loaded and registered, add it to your Video.js player using +Video.js' plugin configuration option (see the section under the heading "Setting up a +Plugin" on [Video.js' plugin documentation page][videojs-docs]. Use these options to +configure the plugin: + + * **`plugins.airPlay.addButtonToControlBar`** - a `boolean` flag that tells the plugin + whether or not it should automatically add the AirPlay button to the Video.js + player's control bar component. Defaults to `true`. + * **`plugins.airPlay.buttonPositionIndex`** - a zero-based number specifying the index + of the AirPlay button among the control bar's child components (if + `addButtonToControlBar` is set to `true`). By default the AirPlay Button is added as + the last child of the control bar. A value less than 0 puts the button at the + specified position from the end of the control bar. Note that it's likely not all + child components of the control bar are visible. + * **`plugins.airPlay.addAirPlayLabelToButton`** (default: `false`) - by default, the + AirPlay button component will display only an icon. Setting `addAirPlayLabelToButton` + to `true` will display a label titled `"AirPlay"` alongside the default icon. + +For example: + +```js +var options; + +options = { + controls: true, + plugins: { + airPlay: { + addButtonToControlBar: false, // defaults to `true` + } + } +}; + +videojs(document.getElementById('myVideoElement'), options); +``` + +Even though there are no configuration options, to enable the plugin you must either +provide an `airPlay` entry in the `plugins` option as shown above or you must call the +`airPlay` plugin function manually: + +```js +var player = videojs(document.getElementById('myVideoElement')); + +player.airPlay(); // initializes the AirPlay plugin +``` + +#### Localization + +The `AirPlayButton` component has two translated strings: "Start AirPlay" and "AirPlay". + + * The "Start AirPlay" string appears in both of the standard places for Button + component text: inside the `.vjs-control-text` span and as the `