diff --git a/dist/ramp.cjs.js b/dist/ramp.cjs.js
index 796b9262..baafb403 100644
--- a/dist/ramp.cjs.js
+++ b/dist/ramp.cjs.js
@@ -7,8 +7,8 @@ var manifesto_js = require('manifesto.js');
var mimeDb = require('mime-db');
var sanitizeHtml = require('sanitize-html');
var reactErrorBoundary = require('react-error-boundary');
-var videojs = require('video.js');
var cx = require('classnames');
+var videojs = require('video.js');
var mammoth = require('mammoth');
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -34,8 +34,8 @@ function _interopNamespace(e) {
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
var mimeDb__default = /*#__PURE__*/_interopDefaultLegacy(mimeDb);
var sanitizeHtml__default = /*#__PURE__*/_interopDefaultLegacy(sanitizeHtml);
-var videojs__default = /*#__PURE__*/_interopDefaultLegacy(videojs);
var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
+var videojs__default = /*#__PURE__*/_interopDefaultLegacy(videojs);
var mammoth__default = /*#__PURE__*/_interopDefaultLegacy(mammoth);
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
@@ -1303,8 +1303,8 @@ function isEmpty(value) {
var isEmpty_1 = isEmpty;
-function ownKeys$8(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
-function _objectSpread$8(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$8(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$8(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
+function ownKeys$9(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
+function _objectSpread$9(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$9(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$9(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
var S_ANNOTATION_TYPE = {
transcript: 1,
caption: 2,
@@ -1709,7 +1709,7 @@ function parseResourceAnnotations(annotation, duration, motivation) {
* there is a start defined at the manifest level
*/
if (!isPlaylist) {
- target = _objectSpread$8(_objectSpread$8({}, target), {}, {
+ target = _objectSpread$9(_objectSpread$9({}, target), {}, {
customStart: target.start,
start: 0,
altStart: 0
@@ -2050,8 +2050,8 @@ var groupBy = function groupBy(arry, key) {
function _createForOfIteratorHelper$3(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray$3(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
function _unsupportedIterableToArray$3(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$3(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$3(o, minLen); }
function _arrayLikeToArray$3(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
-function ownKeys$7(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
-function _objectSpread$7(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$7(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$7(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
+function ownKeys$8(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
+function _objectSpread$8(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$8(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$8(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
// HTML tags and attributes allowed in IIIF
var HTML_SANITIZE_CONFIG = {
@@ -2178,7 +2178,7 @@ function getMediaInfo(_ref) {
// return empty object when canvasIndex is undefined
if (canvasIndex === undefined || canvasIndex < 0) {
- return _objectSpread$7(_objectSpread$7({}, info), {}, {
+ return _objectSpread$8(_objectSpread$8({}, info), {}, {
error: 'Error fetching content'
});
}
@@ -2186,7 +2186,7 @@ function getMediaInfo(_ref) {
// return an error when the given Manifest doesn't have any Canvas(es)
var canvases = manifest.items;
if ((canvases === null || canvases === void 0 ? void 0 : canvases.length) == 0) {
- return _objectSpread$7(_objectSpread$7({}, info), {}, {
+ return _objectSpread$8(_objectSpread$8({}, info), {}, {
poster: GENERIC_EMPTY_MANIFEST_MESSAGE
});
}
@@ -2224,14 +2224,14 @@ function getMediaInfo(_ref) {
poster: poster
};
if (mediaInfo.error) {
- return _objectSpread$7({}, mediaInfo);
+ return _objectSpread$8({}, mediaInfo);
} else {
// Get media type
var allTypes = mediaInfo.sources.map(function (q) {
return q.kind;
});
var mediaType = setMediaType(allTypes);
- return _objectSpread$7(_objectSpread$7({}, mediaInfo), {}, {
+ return _objectSpread$8(_objectSpread$8({}, mediaInfo), {}, {
error: null,
mediaType: mediaType
});
@@ -2560,7 +2560,7 @@ function parseMetadata(metadata, resourceType) {
var _getLabelValue;
// get value and replace \n characters with
to display new lines in UI
var value = (_getLabelValue = getLabelValue(md.value, true)) === null || _getLabelValue === void 0 ? void 0 : _getLabelValue.replace(/\n/g, "
");
- var sanitizedValue = sanitizeHtml__default["default"](value, _objectSpread$7({}, HTML_SANITIZE_CONFIG));
+ var sanitizedValue = sanitizeHtml__default["default"](value, _objectSpread$8({}, HTML_SANITIZE_CONFIG));
parsedMetadata.push({
label: getLabelValue(md.label),
value: sanitizedValue
@@ -2913,10 +2913,10 @@ function parseMarkerAnnotation(a) {
}
}
-function ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
-function _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
-var ManifestStateContext = /*#__PURE__*/React__default["default"].createContext();
-var ManifestDispatchContext = /*#__PURE__*/React__default["default"].createContext();
+function ownKeys$7(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
+function _objectSpread$7(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$7(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$7(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
+var ManifestStateContext = /*#__PURE__*/React.createContext();
+var ManifestDispatchContext = /*#__PURE__*/React.createContext();
/**
* Definition of all state variables in this Context
@@ -2974,11 +2974,11 @@ function manifestReducer() {
var isPlaylist = getIsPlaylist(manifest.label);
var annotationService = getAnnotationService(manifest.service);
var playlistMarkers = parsePlaylistAnnotations(manifest);
- return _objectSpread$6(_objectSpread$6({}, state), {}, {
+ return _objectSpread$7(_objectSpread$7({}, state), {}, {
manifest: manifest,
allCanvases: canvases,
autoAdvance: manifestBehavior,
- playlist: _objectSpread$6(_objectSpread$6({}, state.playlist), {}, {
+ playlist: _objectSpread$7(_objectSpread$7({}, state.playlist), {}, {
isPlaylist: isPlaylist,
annotationServiceId: annotationService,
hasAnnotationService: annotationService ? true : false,
@@ -2988,56 +2988,56 @@ function manifestReducer() {
}
case 'switchCanvas':
{
- return _objectSpread$6(_objectSpread$6({}, state), {}, {
+ return _objectSpread$7(_objectSpread$7({}, state), {}, {
canvasIndex: action.canvasIndex,
hasStructure: getHasStructure(state.canvasSegments, action.canvasIndex)
});
}
case 'switchItem':
{
- return _objectSpread$6(_objectSpread$6({}, state), {}, {
+ return _objectSpread$7(_objectSpread$7({}, state), {}, {
currentNavItem: action.item
});
}
case 'canvasDuration':
{
- return _objectSpread$6(_objectSpread$6({}, state), {}, {
+ return _objectSpread$7(_objectSpread$7({}, state), {}, {
canvasDuration: action.canvasDuration
});
}
case 'canvasLink':
{
- return _objectSpread$6(_objectSpread$6({}, state), {}, {
+ return _objectSpread$7(_objectSpread$7({}, state), {}, {
canvasLink: action.canvasLink
});
}
case 'canvasTargets':
{
- return _objectSpread$6(_objectSpread$6({}, state), {}, {
+ return _objectSpread$7(_objectSpread$7({}, state), {}, {
targets: action.canvasTargets
});
}
case 'hasMultipleItems':
{
- return _objectSpread$6(_objectSpread$6({}, state), {}, {
+ return _objectSpread$7(_objectSpread$7({}, state), {}, {
hasMultiItems: action.isMultiSource
});
}
case 'setSrcIndex':
{
- return _objectSpread$6(_objectSpread$6({}, state), {}, {
+ return _objectSpread$7(_objectSpread$7({}, state), {}, {
srcIndex: action.srcIndex
});
}
case 'setItemStartTime':
{
- return _objectSpread$6(_objectSpread$6({}, state), {}, {
+ return _objectSpread$7(_objectSpread$7({}, state), {}, {
startTime: action.startTime
});
}
case 'setAutoAdvance':
{
- return _objectSpread$6(_objectSpread$6({}, state), {}, {
+ return _objectSpread$7(_objectSpread$7({}, state), {}, {
autoAdvance: action.autoAdvance
});
}
@@ -3045,16 +3045,16 @@ function manifestReducer() {
{
// Set a new set of markers for the canvases in the Manifest
if (action.markers) {
- return _objectSpread$6(_objectSpread$6({}, state), {}, {
- playlist: _objectSpread$6(_objectSpread$6({}, state.playlist), {}, {
+ return _objectSpread$7(_objectSpread$7({}, state), {}, {
+ playlist: _objectSpread$7(_objectSpread$7({}, state.playlist), {}, {
markers: action.markers
})
});
}
// Update the existing markers for the current canvas on CRUD ops
if (action.updatedMarkers) {
- return _objectSpread$6(_objectSpread$6({}, state), {}, {
- playlist: _objectSpread$6(_objectSpread$6({}, state.playlist), {}, {
+ return _objectSpread$7(_objectSpread$7({}, state), {}, {
+ playlist: _objectSpread$7(_objectSpread$7({}, state.playlist), {}, {
markers: state.playlist.markers.map(function (m) {
if (m.canvasIndex === state.canvasIndex) {
m.canvasMarkers = action.updatedMarkers;
@@ -3067,21 +3067,21 @@ function manifestReducer() {
}
case 'setIsEditing':
{
- return _objectSpread$6(_objectSpread$6({}, state), {}, {
- playlist: _objectSpread$6(_objectSpread$6({}, state.playlist), {}, {
+ return _objectSpread$7(_objectSpread$7({}, state), {}, {
+ playlist: _objectSpread$7(_objectSpread$7({}, state.playlist), {}, {
isEditing: action.isEditing
})
});
}
case 'setCanvasIsEmpty':
{
- return _objectSpread$6(_objectSpread$6({}, state), {}, {
+ return _objectSpread$7(_objectSpread$7({}, state), {}, {
canvasIsEmpty: action.isEmpty
});
}
case 'setStructures':
{
- return _objectSpread$6(_objectSpread$6({}, state), {}, {
+ return _objectSpread$7(_objectSpread$7({}, state), {}, {
structures: action.structures
});
}
@@ -3091,7 +3091,7 @@ function manifestReducer() {
var canvasStructures = action.timespans.filter(function (c) {
return c.canvasIndex == state.canvasIndex + 1 && !c.isCanvas;
});
- return _objectSpread$6(_objectSpread$6({}, state), {}, {
+ return _objectSpread$7(_objectSpread$7({}, state), {}, {
canvasSegments: action.timespans,
hasStructure: canvasStructures.length > 0
});
@@ -3101,7 +3101,7 @@ function manifestReducer() {
var _action$customStart = action.customStart,
canvas = _action$customStart.canvas,
time = _action$customStart.time;
- return _objectSpread$6(_objectSpread$6({}, state), {}, {
+ return _objectSpread$7(_objectSpread$7({}, state), {}, {
customStart: {
startIndex: canvas,
startTime: time
@@ -3112,8 +3112,8 @@ function manifestReducer() {
}
case 'setRenderingFiles':
{
- return _objectSpread$6(_objectSpread$6({}, state), {}, {
- renderings: _objectSpread$6({}, action.renderings)
+ return _objectSpread$7(_objectSpread$7({}, state), {}, {
+ renderings: _objectSpread$7({}, action.renderings)
});
}
default:
@@ -3126,10 +3126,10 @@ function ManifestProvider(_ref) {
var _ref$initialState = _ref.initialState,
initialState = _ref$initialState === void 0 ? defaultState$1 : _ref$initialState,
children = _ref.children;
- var _React$useReducer = React__default["default"].useReducer(manifestReducer, initialState),
- _React$useReducer2 = _slicedToArray(_React$useReducer, 2),
- state = _React$useReducer2[0],
- dispatch = _React$useReducer2[1];
+ var _useReducer = React.useReducer(manifestReducer, initialState),
+ _useReducer2 = _slicedToArray(_useReducer, 2),
+ state = _useReducer2[0],
+ dispatch = _useReducer2[1];
return /*#__PURE__*/React__default["default"].createElement(ManifestStateContext.Provider, {
value: state
}, /*#__PURE__*/React__default["default"].createElement(ManifestDispatchContext.Provider, {
@@ -3137,24 +3137,24 @@ function ManifestProvider(_ref) {
}, children));
}
function useManifestState() {
- var context = React__default["default"].useContext(ManifestStateContext);
+ var context = React.useContext(ManifestStateContext);
if (context === undefined) {
throw new Error('useManifestState must be used within a ManifestProvider');
}
return context;
}
function useManifestDispatch() {
- var context = React__default["default"].useContext(ManifestDispatchContext);
+ var context = React.useContext(ManifestDispatchContext);
if (context === undefined) {
throw new Error('useManifestDispatch must be used within a ManifestProvider');
}
return context;
}
-function ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
-function _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
-var PlayerStateContext = /*#__PURE__*/React__default["default"].createContext();
-var PlayerDispatchContext = /*#__PURE__*/React__default["default"].createContext();
+function ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
+function _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
+var PlayerStateContext = /*#__PURE__*/React.createContext();
+var PlayerDispatchContext = /*#__PURE__*/React.createContext();
/**
* Definition of all state variables in this Context
@@ -3177,63 +3177,63 @@ function PlayerReducer() {
switch (action.type) {
case 'updatePlayer':
{
- return _objectSpread$5(_objectSpread$5({}, state), {}, {
+ return _objectSpread$6(_objectSpread$6({}, state), {}, {
player: action.player
});
}
case 'navClick':
{
- return _objectSpread$5(_objectSpread$5({}, state), {}, {
+ return _objectSpread$6(_objectSpread$6({}, state), {}, {
clickedUrl: action.clickedUrl,
isClicked: true
});
}
case 'resetClick':
{
- return _objectSpread$5(_objectSpread$5({}, state), {}, {
+ return _objectSpread$6(_objectSpread$6({}, state), {}, {
isClicked: false
});
}
case 'setTimeFragment':
{
- return _objectSpread$5(_objectSpread$5({}, state), {}, {
+ return _objectSpread$6(_objectSpread$6({}, state), {}, {
startTime: action.startTime,
endTime: action.endTime
});
}
case 'setSearchMarkers':
{
- return _objectSpread$5(_objectSpread$5({}, state), {}, {
+ return _objectSpread$6(_objectSpread$6({}, state), {}, {
searchMarkers: action.payload
});
}
case 'setPlayingStatus':
{
- return _objectSpread$5(_objectSpread$5({}, state), {}, {
+ return _objectSpread$6(_objectSpread$6({}, state), {}, {
isPlaying: action.isPlaying
});
}
case 'setCaptionStatus':
{
- return _objectSpread$5(_objectSpread$5({}, state), {}, {
+ return _objectSpread$6(_objectSpread$6({}, state), {}, {
captionOn: action.captionOn
});
}
case 'setIsEnded':
{
- return _objectSpread$5(_objectSpread$5({}, state), {}, {
+ return _objectSpread$6(_objectSpread$6({}, state), {}, {
isEnded: action.isEnded
});
}
case 'setCurrentTime':
{
- return _objectSpread$5(_objectSpread$5({}, state), {}, {
+ return _objectSpread$6(_objectSpread$6({}, state), {}, {
currentTime: action.currentTime
});
}
case 'setPlayerFocusElement':
{
- return _objectSpread$5(_objectSpread$5({}, state), {}, {
+ return _objectSpread$6(_objectSpread$6({}, state), {}, {
playerFocusElement: action.element ? action.element : ''
});
}
@@ -3247,10 +3247,10 @@ function PlayerProvider(_ref) {
var _ref$initialState = _ref.initialState,
initialState = _ref$initialState === void 0 ? defaultState : _ref$initialState,
children = _ref.children;
- var _React$useReducer = React__default["default"].useReducer(PlayerReducer, initialState),
- _React$useReducer2 = _slicedToArray(_React$useReducer, 2),
- state = _React$useReducer2[0],
- dispatch = _React$useReducer2[1];
+ var _useReducer = React.useReducer(PlayerReducer, initialState),
+ _useReducer2 = _slicedToArray(_useReducer, 2),
+ state = _useReducer2[0],
+ dispatch = _useReducer2[1];
return /*#__PURE__*/React__default["default"].createElement(PlayerStateContext.Provider, {
value: state
}, /*#__PURE__*/React__default["default"].createElement(PlayerDispatchContext.Provider, {
@@ -3258,14 +3258,14 @@ function PlayerProvider(_ref) {
}, children));
}
function usePlayerState() {
- var context = React__default["default"].useContext(PlayerStateContext);
+ var context = React.useContext(PlayerStateContext);
if (context === undefined) {
throw new Error("usePlayerState must be used within the PlayerProvider");
}
return context;
}
function usePlayerDispatch() {
- var context = React__default["default"].useContext(PlayerDispatchContext);
+ var context = React.useContext(PlayerDispatchContext);
if (context === undefined) {
throw new Error("usePlayerDispatch must be used within the PlayerProvider");
}
@@ -3729,10 +3729,10 @@ function IIIFPlayerWrapper(_ref) {
startCanvasTime = _ref.startCanvasTime,
children = _ref.children,
manifestValue = _ref.manifest;
- var _React$useState = React__default["default"].useState(manifestValue),
- _React$useState2 = _slicedToArray(_React$useState, 2),
- manifest = _React$useState2[0],
- setManifest = _React$useState2[1];
+ var _useState = React.useState(manifestValue),
+ _useState2 = _slicedToArray(_useState, 2),
+ manifest = _useState2[0],
+ setManifest = _useState2[1];
var manifestDispatch = useManifestDispatch();
var playerDispatch = usePlayerDispatch();
var _useErrorBoundary = reactErrorBoundary.useErrorBoundary(),
@@ -3748,7 +3748,7 @@ function IIIFPlayerWrapper(_ref) {
case 0:
controller = new AbortController();
requestOptions = {
- // NOTE: try thin in Avalon
+ // NOTE: try this in Avalon
//credentials: 'include',
// headers: { 'Avalon-Api-Key': '' },
};
@@ -3793,7 +3793,7 @@ function IIIFPlayerWrapper(_ref) {
return _ref2.apply(this, arguments);
};
}();
- React__default["default"].useEffect(function () {
+ React.useEffect(function () {
setAppErrorMessage(customErrorMessage);
setAppEmptyManifestMessage(emptyManifestMessage);
if (!manifest && manifestUrl) {
@@ -3805,7 +3805,7 @@ function IIIFPlayerWrapper(_ref) {
if (controller) controller.abort();
};
}, []);
- React__default["default"].useEffect(function () {
+ React.useEffect(function () {
if (manifest) {
// Set customStart and rendering files in state before setting Manifest
var renderingFiles = getRenderingFiles(manifest);
@@ -3877,6 +3877,17 @@ ErrorMessage.propTypes = {
children: PropTypes.object
};
+/**
+ * Component with wrapped in React Contexts to provide access
+ * to global state across its children
+ * @param {Object} props
+ * @param {String} props.manifestUrl
+ * @param {Object} props.manifest
+ * @param {String} props.customErrorMessage
+ * @param {String} props.emptyManifestMessage
+ * @param {String} props.startCanvasId
+ * @param {String} props.startCanvasTime
+ */
function IIIFPlayer(_ref) {
var manifestUrl = _ref.manifestUrl,
manifest = _ref.manifest,
@@ -5270,1956 +5281,1862 @@ var FileDownloadIcon = function FileDownloadIcon() {
})));
};
-var classCallCheck = createCommonjsModule(function (module) {
-function _classCallCheck(instance, Constructor) {
- if (!(instance instanceof Constructor)) {
- throw new TypeError("Cannot call a class as a function");
- }
-}
-module.exports = _classCallCheck, module.exports.__esModule = true, module.exports["default"] = module.exports;
-});
-
-var _classCallCheck = /*@__PURE__*/getDefaultExportFromCjs(classCallCheck);
-
-var createClass = createCommonjsModule(function (module) {
-function _defineProperties(target, props) {
- for (var i = 0; i < props.length; i++) {
- var descriptor = props[i];
- descriptor.enumerable = descriptor.enumerable || false;
- descriptor.configurable = true;
- if ("value" in descriptor) descriptor.writable = true;
- Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);
- }
-}
-function _createClass(Constructor, protoProps, staticProps) {
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
- if (staticProps) _defineProperties(Constructor, staticProps);
- Object.defineProperty(Constructor, "prototype", {
- writable: false
- });
- return Constructor;
-}
-module.exports = _createClass, module.exports.__esModule = true, module.exports["default"] = module.exports;
-});
-
-var _createClass = /*@__PURE__*/getDefaultExportFromCjs(createClass);
-
-var assertThisInitialized = createCommonjsModule(function (module) {
-function _assertThisInitialized(self) {
- if (self === void 0) {
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
- }
- return self;
-}
-module.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports["default"] = module.exports;
-});
-
-var _assertThisInitialized = /*@__PURE__*/getDefaultExportFromCjs(assertThisInitialized);
-
-var getPrototypeOf = createCommonjsModule(function (module) {
-function _getPrototypeOf(o) {
- module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {
- return o.__proto__ || Object.getPrototypeOf(o);
- }, module.exports.__esModule = true, module.exports["default"] = module.exports;
- return _getPrototypeOf(o);
-}
-module.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;
-});
-
-var _getPrototypeOf = /*@__PURE__*/getDefaultExportFromCjs(getPrototypeOf);
-
-var superPropBase = createCommonjsModule(function (module) {
-function _superPropBase(object, property) {
- while (!Object.prototype.hasOwnProperty.call(object, property)) {
- object = getPrototypeOf(object);
- if (object === null) break;
- }
- return object;
-}
-module.exports = _superPropBase, module.exports.__esModule = true, module.exports["default"] = module.exports;
-});
-
-var get = createCommonjsModule(function (module) {
-function _get() {
- if (typeof Reflect !== "undefined" && Reflect.get) {
- module.exports = _get = Reflect.get.bind(), module.exports.__esModule = true, module.exports["default"] = module.exports;
- } else {
- module.exports = _get = function _get(target, property, receiver) {
- var base = superPropBase(target, property);
- if (!base) return;
- var desc = Object.getOwnPropertyDescriptor(base, property);
- if (desc.get) {
- return desc.get.call(arguments.length < 3 ? target : receiver);
- }
- return desc.value;
- }, module.exports.__esModule = true, module.exports["default"] = module.exports;
+var taggedTemplateLiteral = createCommonjsModule(function (module) {
+function _taggedTemplateLiteral(strings, raw) {
+ if (!raw) {
+ raw = strings.slice(0);
}
- return _get.apply(this, arguments);
+ return Object.freeze(Object.defineProperties(strings, {
+ raw: {
+ value: Object.freeze(raw)
+ }
+ }));
}
-module.exports = _get, module.exports.__esModule = true, module.exports["default"] = module.exports;
+module.exports = _taggedTemplateLiteral, module.exports.__esModule = true, module.exports["default"] = module.exports;
});
-var _get = /*@__PURE__*/getDefaultExportFromCjs(get);
+var _taggedTemplateLiteral = /*@__PURE__*/getDefaultExportFromCjs(taggedTemplateLiteral);
-var setPrototypeOf = createCommonjsModule(function (module) {
-function _setPrototypeOf(o, p) {
- module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {
- o.__proto__ = p;
- return o;
- }, module.exports.__esModule = true, module.exports["default"] = module.exports;
- return _setPrototypeOf(o, p);
-}
-module.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;
-});
+var _templateObject$1, _templateObject2, _templateObject3, _templateObject4;
+function _createForOfIteratorHelper$2(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray$2(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
+function _unsupportedIterableToArray$2(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$2(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$2(o, minLen); }
+function _arrayLikeToArray$2(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
-var inherits = createCommonjsModule(function (module) {
-function _inherits(subClass, superClass) {
- if (typeof superClass !== "function" && superClass !== null) {
- throw new TypeError("Super expression must either be null or a function");
- }
- subClass.prototype = Object.create(superClass && superClass.prototype, {
- constructor: {
- value: subClass,
- writable: true,
- configurable: true
- }
- });
- Object.defineProperty(subClass, "prototype", {
- writable: false
- });
- if (superClass) setPrototypeOf(subClass, superClass);
-}
-module.exports = _inherits, module.exports.__esModule = true, module.exports["default"] = module.exports;
-});
+// ENum for supported transcript MIME types
+var TRANSCRIPT_MIME_TYPES = {
+ webvtt: ['text/vtt'],
+ srt: ['application/x-subrip', 'text/srt'],
+ text: ['text/plain'],
+ json: ['application/json'],
+ docx: ['application/vnd.openxmlformats-officedocument.wordprocessingml.document']
+};
+var VTT_TIMESTAMP_REGEX = /^(?:\d{2}:)?\d{2}:\d{2}(?:\.\d+)/g;
+// SRT allows using comma for milliseconds while WebVTT does not
+var SRT_TIMESTAMP_REGEX = /^(?:\d{2}:)?\d{2}:\d{2}(?:[.,]\d+)/g;
+var TRANSCRIPT_MIME_EXTENSIONS = [{
+ type: TRANSCRIPT_MIME_TYPES.json,
+ ext: 'json'
+}, {
+ type: TRANSCRIPT_MIME_TYPES.webvtt,
+ ext: 'vtt'
+}, {
+ type: TRANSCRIPT_MIME_TYPES.text,
+ ext: 'txt'
+}, {
+ type: TRANSCRIPT_MIME_TYPES.docx,
+ ext: 'docx'
+}, {
+ type: TRANSCRIPT_MIME_TYPES.srt,
+ ext: 'srt'
+}];
-var _inherits = /*@__PURE__*/getDefaultExportFromCjs(inherits);
+// ENum for describing transcript types include invalid and no transcript info
+var TRANSCRIPT_TYPES = {
+ invalidTimestamp: -4,
+ invalidVTT: -3,
+ noSupport: -2,
+ invalid: -1,
+ noTranscript: 0,
+ timedText: 1,
+ plainText: 2,
+ docx: 3
+};
-var possibleConstructorReturn = createCommonjsModule(function (module) {
-var _typeof = _typeof_1["default"];
+// ENum for types transcript text lines in a time-synced transcript
+var TRANSCRIPT_CUE_TYPES = {
+ note: 'NOTE',
+ timedCue: 'TIMED_CUE',
+ nonTimedLine: 'NON_TIMED_LINE'
+};
-function _possibleConstructorReturn(self, call) {
- if (call && (_typeof(call) === "object" || typeof call === "function")) {
- return call;
- } else if (call !== void 0) {
- throw new TypeError("Derived constructors may only return object or undefined");
- }
- return assertThisInitialized(self);
+/**
+ * Parse the transcript information in the Manifest presented as supplementing annotations
+ * @param {String} manifestURL IIIF Presentation 3.0 manifest URL
+ * @param {String} title optional title given in the transcripts list in props
+ * @returns {Array