{"version":3,"file":"Page-687cdade.js","sources":["../../node_modules/react-redux/es/hooks/useStore.js","../../node_modules/react-redux/es/hooks/useDispatch.js","../../node_modules/@mui/material/LinearProgress/linearProgressClasses.js","../../node_modules/@mui/material/LinearProgress/LinearProgress.js","../../node_modules/@mui/material/ListItemIcon/listItemIconClasses.js","../../node_modules/@mui/material/ListItemText/listItemTextClasses.js","../../node_modules/@mui/material/MenuItem/menuItemClasses.js","../../node_modules/@mui/material/MenuItem/MenuItem.js","../../node_modules/@mui/icons-material/MovieFilter.js","../../src/app/utils.ts","../../src/app/hooks.ts","../../src/components/AugmentPage/VideoInputLoader.tsx","../../node_modules/@babel/runtime/helpers/typeof.js","../../node_modules/@babel/runtime/helpers/interopRequireWildcard.js","../../node_modules/@babel/runtime/helpers/toPrimitive.js","../../node_modules/@babel/runtime/helpers/toPropertyKey.js","../../node_modules/@babel/runtime/helpers/defineProperty.js","../../node_modules/@babel/runtime/helpers/objectSpread.js","../../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","../../node_modules/@babel/runtime/helpers/objectWithoutProperties.js","../../node_modules/@babel/runtime/helpers/classCallCheck.js","../../node_modules/@babel/runtime/helpers/createClass.js","../../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","../../node_modules/@babel/runtime/helpers/getPrototypeOf.js","../../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../../node_modules/@babel/runtime/helpers/inherits.js","../../node_modules/classnames/index.js","../../node_modules/video-react/lib/actions/video.js","../../node_modules/video-react/lib/utils/fullscreen.js","../../node_modules/video-react/lib/actions/player.js","../../node_modules/video-react/lib/reducers/player.js","../../node_modules/video-react/lib/reducers/operation.js","../../node_modules/video-react/lib/reducers/index.js","../../node_modules/video-react/lib/Manager.js","../../node_modules/video-react/lib/components/BigPlayButton.js","../../node_modules/video-react/lib/components/LoadingSpinner.js","../../node_modules/video-react/lib/components/PosterImage.js","../../node_modules/@babel/runtime/helpers/arrayLikeToArray.js","../../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","../../node_modules/@babel/runtime/helpers/iterableToArray.js","../../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","../../node_modules/@babel/runtime/helpers/nonIterableSpread.js","../../node_modules/@babel/runtime/helpers/toConsumableArray.js","../../node_modules/video-react/lib/utils/index.js","../../node_modules/video-react/lib/components/Video.js","../../node_modules/video-react/lib/components/Bezel.js","../../node_modules/video-react/lib/utils/dom.js","../../node_modules/video-react/lib/components/Shortcut.js","../../node_modules/video-react/lib/components/Slider.js","../../node_modules/video-react/lib/components/control-bar/PlayProgressBar.js","../../node_modules/video-react/lib/components/control-bar/LoadProgressBar.js","../../node_modules/video-react/lib/components/control-bar/MouseTimeDisplay.js","../../node_modules/video-react/lib/components/control-bar/SeekBar.js","../../node_modules/video-react/lib/components/control-bar/ProgressControl.js","../../node_modules/video-react/lib/components/control-bar/PlayToggle.js","../../node_modules/video-react/lib/components/control-bar/ForwardReplayControl.js","../../node_modules/video-react/lib/components/control-bar/ForwardControl.js","../../node_modules/video-react/lib/components/control-bar/ReplayControl.js","../../node_modules/video-react/lib/components/control-bar/FullscreenToggle.js","../../node_modules/video-react/lib/components/time-controls/RemainingTimeDisplay.js","../../node_modules/video-react/lib/components/time-controls/CurrentTimeDisplay.js","../../node_modules/video-react/lib/components/time-controls/DurationDisplay.js","../../node_modules/video-react/lib/components/time-controls/TimeDivider.js","../../node_modules/video-react/lib/components/ClickableComponent.js","../../node_modules/video-react/lib/components/popup/Popup.js","../../node_modules/video-react/lib/components/popup/PopupButton.js","../../node_modules/video-react/lib/components/volume-control/VolumeLevel.js","../../node_modules/video-react/lib/components/volume-control/VolumeBar.js","../../node_modules/video-react/lib/components/control-bar/VolumeMenuButton.js","../../node_modules/video-react/lib/components/menu/Menu.js","../../node_modules/video-react/lib/components/menu/MenuItem.js","../../node_modules/video-react/lib/components/menu/MenuButton.js","../../node_modules/video-react/lib/components/control-bar/PlaybackRateMenuButton.js","../../node_modules/video-react/lib/components/control-bar/ControlBar.js","../../node_modules/video-react/lib/utils/browser.js","../../node_modules/video-react/lib/components/Player.js","../../node_modules/video-react/lib/components/control-bar/PlaybackRate.js","../../node_modules/video-react/lib/components/control-bar/ClosedCaptionButton.js","../../node_modules/video-react/lib/index.js","../../src/components/AugmentPage/VideoDurationSlicer.tsx","../../src/components/AugmentPage/VideoPlayer.tsx","../../src/components/AugmentPage/request.ts","../../src/components/AugmentPage/MediaDetails.tsx","../../src/components/AugmentPage/utils.ts","../../src/components/SearchPage/Youtube/YoutubeItemDialog.tsx","../../node_modules/@mui/icons-material/YouTube.js","../../src/components/AugmentPage/SeedVideos.tsx","../../src/components/AugmentPage/PanelSection.tsx","../../src/components/AugmentPage/Page.tsx"],"sourcesContent":["import { ReactReduxContext } from '../components/Context';\nimport { useReduxContext as useDefaultReduxContext, createReduxContextHook } from './useReduxContext';\n/**\r\n * Hook factory, which creates a `useStore` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useStore` hook bound to the specified context.\r\n */\n\nexport function createStoreHook(context = ReactReduxContext) {\n const useReduxContext = // @ts-ignore\n context === ReactReduxContext ? useDefaultReduxContext : // @ts-ignore\n createReduxContextHook(context);\n return function useStore() {\n const {\n store\n } = useReduxContext(); // @ts-ignore\n\n return store;\n };\n}\n/**\r\n * A hook to access the redux store.\r\n *\r\n * @returns {any} the redux store\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useStore } from 'react-redux'\r\n *\r\n * export const ExampleComponent = () => {\r\n * const store = useStore()\r\n * return
{store.getState()}
\r\n * }\r\n */\n\nexport const useStore = /*#__PURE__*/createStoreHook();","import { ReactReduxContext } from '../components/Context';\nimport { useStore as useDefaultStore, createStoreHook } from './useStore';\n/**\r\n * Hook factory, which creates a `useDispatch` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useDispatch` hook bound to the specified context.\r\n */\n\nexport function createDispatchHook(context = ReactReduxContext) {\n const useStore = // @ts-ignore\n context === ReactReduxContext ? useDefaultStore : createStoreHook(context);\n return function useDispatch() {\n const store = useStore(); // @ts-ignore\n\n return store.dispatch;\n };\n}\n/**\r\n * A hook to access the redux `dispatch` function.\r\n *\r\n * @returns {any|function} redux store's `dispatch` function\r\n *\r\n * @example\r\n *\r\n * import React, { useCallback } from 'react'\r\n * import { useDispatch } from 'react-redux'\r\n *\r\n * export const CounterComponent = ({ value }) => {\r\n * const dispatch = useDispatch()\r\n * const increaseCounter = useCallback(() => dispatch({ type: 'increase-counter' }), [])\r\n * return (\r\n *
\r\n * {value}\r\n * \r\n *
\r\n * )\r\n * }\r\n */\n\nexport const useDispatch = /*#__PURE__*/createDispatchHook();","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getLinearProgressUtilityClass(slot) {\n return generateUtilityClass('MuiLinearProgress', slot);\n}\nconst linearProgressClasses = generateUtilityClasses('MuiLinearProgress', ['root', 'colorPrimary', 'colorSecondary', 'determinate', 'indeterminate', 'buffer', 'query', 'dashed', 'dashedColorPrimary', 'dashedColorSecondary', 'bar', 'barColorPrimary', 'barColorSecondary', 'bar1Indeterminate', 'bar1Determinate', 'bar1Buffer', 'bar2Indeterminate', 'bar2Buffer']);\nexport default linearProgressClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"value\", \"valueBuffer\", \"variant\"];\nlet _ = t => t,\n _t,\n _t2,\n _t3,\n _t4,\n _t5,\n _t6;\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base/composeClasses';\nimport { keyframes, css, darken, lighten } from '@mui/system';\nimport capitalize from '../utils/capitalize';\nimport useTheme from '../styles/useTheme';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getLinearProgressUtilityClass } from './linearProgressClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst TRANSITION_DURATION = 4; // seconds\nconst indeterminate1Keyframe = keyframes(_t || (_t = _`\n 0% {\n left: -35%;\n right: 100%;\n }\n\n 60% {\n left: 100%;\n right: -90%;\n }\n\n 100% {\n left: 100%;\n right: -90%;\n }\n`));\nconst indeterminate2Keyframe = keyframes(_t2 || (_t2 = _`\n 0% {\n left: -200%;\n right: 100%;\n }\n\n 60% {\n left: 107%;\n right: -8%;\n }\n\n 100% {\n left: 107%;\n right: -8%;\n }\n`));\nconst bufferKeyframe = keyframes(_t3 || (_t3 = _`\n 0% {\n opacity: 1;\n background-position: 0 -23px;\n }\n\n 60% {\n opacity: 0;\n background-position: 0 -23px;\n }\n\n 100% {\n opacity: 1;\n background-position: -200px -23px;\n }\n`));\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n variant,\n color\n } = ownerState;\n const slots = {\n root: ['root', `color${capitalize(color)}`, variant],\n dashed: ['dashed', `dashedColor${capitalize(color)}`],\n bar1: ['bar', `barColor${capitalize(color)}`, (variant === 'indeterminate' || variant === 'query') && 'bar1Indeterminate', variant === 'determinate' && 'bar1Determinate', variant === 'buffer' && 'bar1Buffer'],\n bar2: ['bar', variant !== 'buffer' && `barColor${capitalize(color)}`, variant === 'buffer' && `color${capitalize(color)}`, (variant === 'indeterminate' || variant === 'query') && 'bar2Indeterminate', variant === 'buffer' && 'bar2Buffer']\n };\n return composeClasses(slots, getLinearProgressUtilityClass, classes);\n};\nconst getColorShade = (theme, color) => {\n if (color === 'inherit') {\n return 'currentColor';\n }\n if (theme.vars) {\n return theme.vars.palette.LinearProgress[`${color}Bg`];\n }\n return theme.palette.mode === 'light' ? lighten(theme.palette[color].main, 0.62) : darken(theme.palette[color].main, 0.5);\n};\nconst LinearProgressRoot = styled('span', {\n name: 'MuiLinearProgress',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`color${capitalize(ownerState.color)}`], styles[ownerState.variant]];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n position: 'relative',\n overflow: 'hidden',\n display: 'block',\n height: 4,\n zIndex: 0,\n // Fix Safari's bug during composition of different paint.\n '@media print': {\n colorAdjust: 'exact'\n },\n backgroundColor: getColorShade(theme, ownerState.color)\n}, ownerState.color === 'inherit' && ownerState.variant !== 'buffer' && {\n backgroundColor: 'none',\n '&::before': {\n content: '\"\"',\n position: 'absolute',\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n backgroundColor: 'currentColor',\n opacity: 0.3\n }\n}, ownerState.variant === 'buffer' && {\n backgroundColor: 'transparent'\n}, ownerState.variant === 'query' && {\n transform: 'rotate(180deg)'\n}));\nconst LinearProgressDashed = styled('span', {\n name: 'MuiLinearProgress',\n slot: 'Dashed',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.dashed, styles[`dashedColor${capitalize(ownerState.color)}`]];\n }\n})(({\n ownerState,\n theme\n}) => {\n const backgroundColor = getColorShade(theme, ownerState.color);\n return _extends({\n position: 'absolute',\n marginTop: 0,\n height: '100%',\n width: '100%'\n }, ownerState.color === 'inherit' && {\n opacity: 0.3\n }, {\n backgroundImage: `radial-gradient(${backgroundColor} 0%, ${backgroundColor} 16%, transparent 42%)`,\n backgroundSize: '10px 10px',\n backgroundPosition: '0 -23px'\n });\n}, css(_t4 || (_t4 = _`\n animation: ${0} 3s infinite linear;\n `), bufferKeyframe));\nconst LinearProgressBar1 = styled('span', {\n name: 'MuiLinearProgress',\n slot: 'Bar1',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.bar, styles[`barColor${capitalize(ownerState.color)}`], (ownerState.variant === 'indeterminate' || ownerState.variant === 'query') && styles.bar1Indeterminate, ownerState.variant === 'determinate' && styles.bar1Determinate, ownerState.variant === 'buffer' && styles.bar1Buffer];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n width: '100%',\n position: 'absolute',\n left: 0,\n bottom: 0,\n top: 0,\n transition: 'transform 0.2s linear',\n transformOrigin: 'left',\n backgroundColor: ownerState.color === 'inherit' ? 'currentColor' : (theme.vars || theme).palette[ownerState.color].main\n}, ownerState.variant === 'determinate' && {\n transition: `transform .${TRANSITION_DURATION}s linear`\n}, ownerState.variant === 'buffer' && {\n zIndex: 1,\n transition: `transform .${TRANSITION_DURATION}s linear`\n}), ({\n ownerState\n}) => (ownerState.variant === 'indeterminate' || ownerState.variant === 'query') && css(_t5 || (_t5 = _`\n width: auto;\n animation: ${0} 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;\n `), indeterminate1Keyframe));\nconst LinearProgressBar2 = styled('span', {\n name: 'MuiLinearProgress',\n slot: 'Bar2',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.bar, styles[`barColor${capitalize(ownerState.color)}`], (ownerState.variant === 'indeterminate' || ownerState.variant === 'query') && styles.bar2Indeterminate, ownerState.variant === 'buffer' && styles.bar2Buffer];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n width: '100%',\n position: 'absolute',\n left: 0,\n bottom: 0,\n top: 0,\n transition: 'transform 0.2s linear',\n transformOrigin: 'left'\n}, ownerState.variant !== 'buffer' && {\n backgroundColor: ownerState.color === 'inherit' ? 'currentColor' : (theme.vars || theme).palette[ownerState.color].main\n}, ownerState.color === 'inherit' && {\n opacity: 0.3\n}, ownerState.variant === 'buffer' && {\n backgroundColor: getColorShade(theme, ownerState.color),\n transition: `transform .${TRANSITION_DURATION}s linear`\n}), ({\n ownerState\n}) => (ownerState.variant === 'indeterminate' || ownerState.variant === 'query') && css(_t6 || (_t6 = _`\n width: auto;\n animation: ${0} 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite;\n `), indeterminate2Keyframe));\n\n/**\n * ## ARIA\n *\n * If the progress bar is describing the loading progress of a particular region of a page,\n * you should use `aria-describedby` to point to the progress bar, and set the `aria-busy`\n * attribute to `true` on that region until it has finished loading.\n */\nconst LinearProgress = /*#__PURE__*/React.forwardRef(function LinearProgress(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiLinearProgress'\n });\n const {\n className,\n color = 'primary',\n value,\n valueBuffer,\n variant = 'indeterminate'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n color,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n const theme = useTheme();\n const rootProps = {};\n const inlineStyles = {\n bar1: {},\n bar2: {}\n };\n if (variant === 'determinate' || variant === 'buffer') {\n if (value !== undefined) {\n rootProps['aria-valuenow'] = Math.round(value);\n rootProps['aria-valuemin'] = 0;\n rootProps['aria-valuemax'] = 100;\n let transform = value - 100;\n if (theme.direction === 'rtl') {\n transform = -transform;\n }\n inlineStyles.bar1.transform = `translateX(${transform}%)`;\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: You need to provide a value prop ' + 'when using the determinate or buffer variant of LinearProgress .');\n }\n }\n if (variant === 'buffer') {\n if (valueBuffer !== undefined) {\n let transform = (valueBuffer || 0) - 100;\n if (theme.direction === 'rtl') {\n transform = -transform;\n }\n inlineStyles.bar2.transform = `translateX(${transform}%)`;\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: You need to provide a valueBuffer prop ' + 'when using the buffer variant of LinearProgress.');\n }\n }\n return /*#__PURE__*/_jsxs(LinearProgressRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n role: \"progressbar\"\n }, rootProps, {\n ref: ref\n }, other, {\n children: [variant === 'buffer' ? /*#__PURE__*/_jsx(LinearProgressDashed, {\n className: classes.dashed,\n ownerState: ownerState\n }) : null, /*#__PURE__*/_jsx(LinearProgressBar1, {\n className: classes.bar1,\n ownerState: ownerState,\n style: inlineStyles.bar1\n }), variant === 'determinate' ? null : /*#__PURE__*/_jsx(LinearProgressBar2, {\n className: classes.bar2,\n ownerState: ownerState,\n style: inlineStyles.bar2\n })]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? LinearProgress.propTypes /* remove-proptypes */ = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'primary', 'secondary']), PropTypes.string]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The value of the progress indicator for the determinate and buffer variants.\n * Value between 0 and 100.\n */\n value: PropTypes.number,\n /**\n * The value for the buffer variant.\n * Value between 0 and 100.\n */\n valueBuffer: PropTypes.number,\n /**\n * The variant to use.\n * Use indeterminate or query when there is no progress value.\n * @default 'indeterminate'\n */\n variant: PropTypes.oneOf(['buffer', 'determinate', 'indeterminate', 'query'])\n} : void 0;\nexport default LinearProgress;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getListItemIconUtilityClass(slot) {\n return generateUtilityClass('MuiListItemIcon', slot);\n}\nconst listItemIconClasses = generateUtilityClasses('MuiListItemIcon', ['root', 'alignItemsFlexStart']);\nexport default listItemIconClasses;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getListItemTextUtilityClass(slot) {\n return generateUtilityClass('MuiListItemText', slot);\n}\nconst listItemTextClasses = generateUtilityClasses('MuiListItemText', ['root', 'multiline', 'dense', 'inset', 'primary', 'secondary']);\nexport default listItemTextClasses;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getMenuItemUtilityClass(slot) {\n return generateUtilityClass('MuiMenuItem', slot);\n}\nconst menuItemClasses = generateUtilityClasses('MuiMenuItem', ['root', 'focusVisible', 'dense', 'disabled', 'divider', 'gutters', 'selected']);\nexport default menuItemClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"component\", \"dense\", \"divider\", \"disableGutters\", \"focusVisibleClassName\", \"role\", \"tabIndex\", \"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base/composeClasses';\nimport { alpha } from '@mui/system';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ListContext from '../List/ListContext';\nimport ButtonBase from '../ButtonBase';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport { dividerClasses } from '../Divider';\nimport { listItemIconClasses } from '../ListItemIcon';\nimport { listItemTextClasses } from '../ListItemText';\nimport menuItemClasses, { getMenuItemUtilityClass } from './menuItemClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dense && styles.dense, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n dense,\n divider,\n disableGutters,\n selected,\n classes\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', disabled && 'disabled', !disableGutters && 'gutters', divider && 'divider', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getMenuItemUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\nconst MenuItemRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiMenuItem',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body1, {\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n minHeight: 48,\n paddingTop: 6,\n paddingBottom: 6,\n boxSizing: 'border-box',\n whiteSpace: 'nowrap'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.divider && {\n borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`,\n backgroundClip: 'padding-box'\n}, {\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: (theme.vars || theme).palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${menuItemClasses.selected}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${menuItemClasses.selected}:hover`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n }\n },\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette.action.focus\n },\n [`&.${menuItemClasses.disabled}`]: {\n opacity: (theme.vars || theme).palette.action.disabledOpacity\n },\n [`& + .${dividerClasses.root}`]: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n [`& + .${dividerClasses.inset}`]: {\n marginLeft: 52\n },\n [`& .${listItemTextClasses.root}`]: {\n marginTop: 0,\n marginBottom: 0\n },\n [`& .${listItemTextClasses.inset}`]: {\n paddingLeft: 36\n },\n [`& .${listItemIconClasses.root}`]: {\n minWidth: 36\n }\n}, !ownerState.dense && {\n [theme.breakpoints.up('sm')]: {\n minHeight: 'auto'\n }\n}, ownerState.dense && _extends({\n minHeight: 32,\n // https://m2.material.io/components/menus#specs > Dense\n paddingTop: 4,\n paddingBottom: 4\n}, theme.typography.body2, {\n [`& .${listItemIconClasses.root} svg`]: {\n fontSize: '1.25rem'\n }\n})));\nconst MenuItem = /*#__PURE__*/React.forwardRef(function MenuItem(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiMenuItem'\n });\n const {\n autoFocus = false,\n component = 'li',\n dense = false,\n divider = false,\n disableGutters = false,\n focusVisibleClassName,\n role = 'menuitem',\n tabIndex: tabIndexProp,\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const context = React.useContext(ListContext);\n const childContext = React.useMemo(() => ({\n dense: dense || context.dense || false,\n disableGutters\n }), [context.dense, dense, disableGutters]);\n const menuItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (menuItemRef.current) {\n menuItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a MenuItem whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n const ownerState = _extends({}, props, {\n dense: childContext.dense,\n divider,\n disableGutters\n });\n const classes = useUtilityClasses(props);\n const handleRef = useForkRef(menuItemRef, ref);\n let tabIndex;\n if (!props.disabled) {\n tabIndex = tabIndexProp !== undefined ? tabIndexProp : -1;\n }\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(MenuItemRoot, _extends({\n ref: handleRef,\n role: role,\n tabIndex: tabIndex,\n component: component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName),\n className: clsx(classes.root, className)\n }, other, {\n ownerState: ownerState,\n classes: classes\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuItem.propTypes /* remove-proptypes */ = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * If `true`, the list item is focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n * @default false\n */\n autoFocus: PropTypes.bool,\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used.\n * The prop defaults to the value inherited from the parent Menu component.\n * @default false\n */\n dense: PropTypes.bool,\n /**\n * @ignore\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n /**\n * If `true`, a 1px light border is added to the bottom of the menu item.\n * @default false\n */\n divider: PropTypes.bool,\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n /**\n * @ignore\n */\n role: PropTypes /* @typescript-to-proptypes-ignore */.string,\n /**\n * If `true`, the component is selected.\n * @default false\n */\n selected: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * @default 0\n */\n tabIndex: PropTypes.number\n} : void 0;\nexport default MenuItem;","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m18 4 2 3h-3l-2-3h-2l2 3h-3l-2-3H8l2 3H7L5 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4h-4zm-6.75 11.25L10 18l-1.25-2.75L6 14l2.75-1.25L10 10l1.25 2.75L14 14l-2.75 1.25zm5.69-3.31L16 14l-.94-2.06L13 11l2.06-.94L16 8l.94 2.06L19 11l-2.06.94z\"\n}), 'MovieFilter');\nexports.default = _default;","import { MediaCategory } from \"../features/search/searchAPI\"\n\nexport function trimText(text = \"\", limit = 60): string {\n return text.slice(0, limit) + (text.length > limit ? \"...\" : \"\")\n}\n\nexport function getServiceByCategory(cat: MediaCategory) {\n switch (cat) {\n case \"music\":\n return { iTunes: {entity: \"audiobook,song,podcast\"} }\n case \"song\":\n case \"movies\":\n return { iTunes: {entity: \"movie,movieArtist,musicVideo,shortFilm,tvEpisode,tvSeason\"} }\n case \"docs\":\n return { arxiv: {} }\n case \"img\":\n return { gifs: {} }\n case \"vid\":\n return { youtube: {} }\n case \"wiki\":\n return { wikipedia: {} }\n default:\n return { iTunes: {entity: \"song,podcast\"} }\n }\n}\n\nexport function getCategoryFromIndex(index: number): MediaCategory[] {\n switch (index) {\n case 0:\n return [\"music\", \"song\"]\n case 1:\n return [\"img\"]\n case 2:\n return [\"vid\"]\n case 3:\n return [\"docs\"]\n case 4:\n return [\"movies\"]\n case 5:\n return [\"wiki\"]\n default:\n return []\n }\n}\n\nexport function getIndexFromCategories(cats: MediaCategory[]): number {\n let index = 0\n if (cats.includes(\"music\") || cats.includes(\"song\")) {\n return 0\n } else if (cats.includes(\"img\")) {\n return 1\n } else if (cats.includes(\"vid\")) {\n return 2\n } else if (cats.includes(\"docs\")) {\n return 3\n } else if (cats.includes(\"movies\")) {\n return 4\n } else if (cats.includes(\"wiki\")) {\n return 5\n }\n return index\n}\n\ninterface AugmentQuery {\n type: \"search\" | \"augment\"\n value: string\n}\n\nexport function parseAugmentQuery(input: string): AugmentQuery {\n const t = input.trim()\n if (t.split(\" \").length > 1) {\n return {\n type: \"search\",\n value: t,\n }\n }\n\n try {\n let url = new URL(t)\n return {\n type: \"augment\",\n value: url.toString(),\n }\n } catch (e) {}\n\n // default case when no video is deduced from input\n return {\n type: \"search\",\n value: t,\n }\n}\n","import { TypedUseSelectorHook, useDispatch, useSelector } from \"react-redux\"\nimport type { RootState, AppDispatch } from \"./store\"\n\n// Use throughout your app instead of plain `useDispatch` and `useSelector`\nexport const useAppDispatch: () => AppDispatch = useDispatch\nexport const useAppSelector: TypedUseSelectorHook = useSelector\n","import { ChangeEvent, useEffect, useState } from \"react\"\nimport { Controller, SubmitHandler, useForm } from \"react-hook-form\"\n\nimport MovieFilterIcon from \"@mui/icons-material/MovieFilter\"\nimport { Typography } from \"@mui/material\"\nimport Divider from \"@mui/material/Divider\"\nimport IconButton from \"@mui/material/IconButton\"\nimport InputBase from \"@mui/material/InputBase\"\nimport Paper from \"@mui/material/Paper\"\nimport { styled } from \"@mui/material/styles\"\nimport { parseAugmentQuery } from \"../../app/utils\"\nimport { useAppDispatch } from \"../../app/hooks\"\nimport { sendData } from \"../../features/search/searchSlice\"\n\nconst VisuallyHiddenInput = styled(\"input\")({\n clip: \"rect(0 0 0 0)\",\n clipPath: \"inset(50%)\",\n height: 1,\n overflow: \"hidden\",\n position: \"absolute\",\n bottom: 0,\n left: 0,\n whiteSpace: \"nowrap\",\n width: 1,\n})\n\ntype Inputs = {\n videoUrl: string\n}\n\nconst allowedVideoTypes = [\n \"video/mov\",\n \"video/mp4\",\n \"video/webm\",\n \"video/avi\",\n \"video/mkv\",\n \"video/3gp\",\n \"video/quicktime\",\n]\n\nexport interface VideoInputLoaderProps {\n onVideoSrc: (src: string) => void\n onVideoFile: (file: File) => void\n onSearchRequestSent: () => void\n}\n\nexport default function VideoInputLoader(props: VideoInputLoaderProps) {\n const { onVideoSrc, onVideoFile, onSearchRequestSent } = props\n const q = new URLSearchParams(window.location.search)\n let [videoUrl] = useState(q.get(\"vid_url\") || \"\")\n const [itunes_id] = useState(q.get(\"itunes_id\") || \"\")\n if (itunes_id && itunes_id.length > 0) {\n videoUrl += \"?itunes_id=\"+itunes_id;\n }\n const { control, handleSubmit } = useForm({\n defaultValues: { videoUrl },\n })\n\n const dispatch = useAppDispatch()\n\n const handleSubmitImageUrlForm: SubmitHandler = async (data) => {\n const query = parseAugmentQuery(data.videoUrl)\n if (query.type === \"augment\") {\n onVideoSrc(query.value)\n return\n }\n const category = \"vid\"\n const term = query.value\n onSearchRequestSent()\n dispatch(sendData(term, category))\n }\n\n useEffect(() => {\n if (videoUrl) {\n onVideoSrc(videoUrl)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [videoUrl])\n\n const handleImageUpload = (e: ChangeEvent) => {\n if (!e.target.files) return\n const file = e.target.files[0]\n onVideoFile(file)\n\n const reader = new FileReader()\n reader.readAsDataURL(file)\n\n reader.addEventListener(\"load\", async () => {\n const src = reader.result as string\n onVideoSrc(src)\n })\n }\n\n // const handleInput = (e: any) => {\n // const url = e.target.value\n // onVideoSrc(url)\n // }\n\n return (\n
\n t.palette.background.default,\n }}\n >\n {\n return (\n handleInput(e)}\n sx={{ ml: 1, flex: 1 }}\n placeholder=\"Search or Enter Video URL\"\n fullWidth\n inputProps={{ \"aria-label\": \"Search or Enter Video URL\" }}\n {...field}\n />\n )\n }}\n />\n \n \n \n \n Upload Video\n \n \n \n \n \n )\n}\n","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _getRequireWildcardCache(e) {\n if (\"function\" != typeof WeakMap) return null;\n var r = new WeakMap(),\n t = new WeakMap();\n return (_getRequireWildcardCache = function _getRequireWildcardCache(e) {\n return e ? t : r;\n })(e);\n}\nfunction _interopRequireWildcard(e, r) {\n if (!r && e && e.__esModule) return e;\n if (null === e || \"object\" != _typeof(e) && \"function\" != typeof e) return {\n \"default\": e\n };\n var t = _getRequireWildcardCache(r);\n if (t && t.has(e)) return t.get(e);\n var n = {\n __proto__: null\n },\n a = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (var u in e) if (\"default\" !== u && Object.prototype.hasOwnProperty.call(e, u)) {\n var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;\n i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];\n }\n return n[\"default\"] = e, t && t.set(e, n), n;\n}\nmodule.exports = _interopRequireWildcard, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\nmodule.exports = _toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}\nmodule.exports = _toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var defineProperty = require(\"./defineProperty.js\");\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? Object(arguments[i]) : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys.push.apply(ownKeys, Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n }\n return target;\n}\nmodule.exports = _objectSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose.js\");\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\nmodule.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}\nmodule.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _getPrototypeOf(o);\n}\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _setPrototypeOf(o, p);\n}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\nmodule.exports = _inherits, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.handleLoadStart = handleLoadStart;\nexports.handleCanPlay = handleCanPlay;\nexports.handleWaiting = handleWaiting;\nexports.handleCanPlayThrough = handleCanPlayThrough;\nexports.handlePlaying = handlePlaying;\nexports.handlePlay = handlePlay;\nexports.handlePause = handlePause;\nexports.handleEnd = handleEnd;\nexports.handleSeeking = handleSeeking;\nexports.handleSeeked = handleSeeked;\nexports.handleDurationChange = handleDurationChange;\nexports.handleTimeUpdate = handleTimeUpdate;\nexports.handleVolumeChange = handleVolumeChange;\nexports.handleProgressChange = handleProgressChange;\nexports.handleRateChange = handleRateChange;\nexports.handleSuspend = handleSuspend;\nexports.handleAbort = handleAbort;\nexports.handleEmptied = handleEmptied;\nexports.handleStalled = handleStalled;\nexports.handleLoadedMetaData = handleLoadedMetaData;\nexports.handleLoadedData = handleLoadedData;\nexports.handleResize = handleResize;\nexports.handleError = handleError;\nexports.handleSeekingTime = handleSeekingTime;\nexports.handleEndSeeking = handleEndSeeking;\nexports.activateTextTrack = activateTextTrack;\nexports.ACTIVATE_TEXT_TRACK = exports.ERROR = exports.RESIZE = exports.LOADED_DATA = exports.LOADED_META_DATA = exports.STALLED = exports.EMPTIED = exports.ABORT = exports.SUSPEND = exports.RATE_CHANGE = exports.PROGRESS_CHANGE = exports.VOLUME_CHANGE = exports.TIME_UPDATE = exports.DURATION_CHANGE = exports.END_SEEKING = exports.SEEKING_TIME = exports.SEEKED = exports.SEEKING = exports.END = exports.PAUSE = exports.PLAY = exports.PLAYING = exports.CAN_PLAY_THROUGH = exports.WAITING = exports.CAN_PLAY = exports.LOAD_START = void 0;\nvar LOAD_START = 'video-react/LOAD_START';\nexports.LOAD_START = LOAD_START;\nvar CAN_PLAY = 'video-react/CAN_PLAY';\nexports.CAN_PLAY = CAN_PLAY;\nvar WAITING = 'video-react/WAITING';\nexports.WAITING = WAITING;\nvar CAN_PLAY_THROUGH = 'video-react/CAN_PLAY_THROUGH';\nexports.CAN_PLAY_THROUGH = CAN_PLAY_THROUGH;\nvar PLAYING = 'video-react/PLAYING';\nexports.PLAYING = PLAYING;\nvar PLAY = 'video-react/PLAY';\nexports.PLAY = PLAY;\nvar PAUSE = 'video-react/PAUSE';\nexports.PAUSE = PAUSE;\nvar END = 'video-react/END';\nexports.END = END;\nvar SEEKING = 'video-react/SEEKING';\nexports.SEEKING = SEEKING;\nvar SEEKED = 'video-react/SEEKED';\nexports.SEEKED = SEEKED;\nvar SEEKING_TIME = 'video-react/SEEKING_TIME';\nexports.SEEKING_TIME = SEEKING_TIME;\nvar END_SEEKING = 'video-react/END_SEEKING';\nexports.END_SEEKING = END_SEEKING;\nvar DURATION_CHANGE = 'video-react/DURATION_CHANGE';\nexports.DURATION_CHANGE = DURATION_CHANGE;\nvar TIME_UPDATE = 'video-react/TIME_UPDATE';\nexports.TIME_UPDATE = TIME_UPDATE;\nvar VOLUME_CHANGE = 'video-react/VOLUME_CHANGE';\nexports.VOLUME_CHANGE = VOLUME_CHANGE;\nvar PROGRESS_CHANGE = 'video-react/PROGRESS_CHANGE';\nexports.PROGRESS_CHANGE = PROGRESS_CHANGE;\nvar RATE_CHANGE = 'video-react/RATE_CHANGE';\nexports.RATE_CHANGE = RATE_CHANGE;\nvar SUSPEND = 'video-react/SUSPEND';\nexports.SUSPEND = SUSPEND;\nvar ABORT = 'video-react/ABORT';\nexports.ABORT = ABORT;\nvar EMPTIED = 'video-react/EMPTIED';\nexports.EMPTIED = EMPTIED;\nvar STALLED = 'video-react/STALLED';\nexports.STALLED = STALLED;\nvar LOADED_META_DATA = 'video-react/LOADED_META_DATA';\nexports.LOADED_META_DATA = LOADED_META_DATA;\nvar LOADED_DATA = 'video-react/LOADED_DATA';\nexports.LOADED_DATA = LOADED_DATA;\nvar RESIZE = 'video-react/RESIZE';\nexports.RESIZE = RESIZE;\nvar ERROR = 'video-react/ERROR';\nexports.ERROR = ERROR;\nvar ACTIVATE_TEXT_TRACK = 'video-react/ACTIVATE_TEXT_TRACK';\nexports.ACTIVATE_TEXT_TRACK = ACTIVATE_TEXT_TRACK;\n\nfunction handleLoadStart(videoProps) {\n return {\n type: LOAD_START,\n videoProps: videoProps\n };\n}\n\nfunction handleCanPlay(videoProps) {\n return {\n type: CAN_PLAY,\n videoProps: videoProps\n };\n}\n\nfunction handleWaiting(videoProps) {\n return {\n type: WAITING,\n videoProps: videoProps\n };\n}\n\nfunction handleCanPlayThrough(videoProps) {\n return {\n type: CAN_PLAY_THROUGH,\n videoProps: videoProps\n };\n}\n\nfunction handlePlaying(videoProps) {\n return {\n type: PLAYING,\n videoProps: videoProps\n };\n}\n\nfunction handlePlay(videoProps) {\n return {\n type: PLAY,\n videoProps: videoProps\n };\n}\n\nfunction handlePause(videoProps) {\n return {\n type: PAUSE,\n videoProps: videoProps\n };\n}\n\nfunction handleEnd(videoProps) {\n return {\n type: END,\n videoProps: videoProps\n };\n}\n\nfunction handleSeeking(videoProps) {\n return {\n type: SEEKING,\n videoProps: videoProps\n };\n}\n\nfunction handleSeeked(videoProps) {\n return {\n type: SEEKED,\n videoProps: videoProps\n };\n}\n\nfunction handleDurationChange(videoProps) {\n return {\n type: DURATION_CHANGE,\n videoProps: videoProps\n };\n}\n\nfunction handleTimeUpdate(videoProps) {\n return {\n type: TIME_UPDATE,\n videoProps: videoProps\n };\n}\n\nfunction handleVolumeChange(videoProps) {\n return {\n type: VOLUME_CHANGE,\n videoProps: videoProps\n };\n}\n\nfunction handleProgressChange(videoProps) {\n return {\n type: PROGRESS_CHANGE,\n videoProps: videoProps\n };\n}\n\nfunction handleRateChange(videoProps) {\n return {\n type: RATE_CHANGE,\n videoProps: videoProps\n };\n}\n\nfunction handleSuspend(videoProps) {\n return {\n type: SUSPEND,\n videoProps: videoProps\n };\n}\n\nfunction handleAbort(videoProps) {\n return {\n type: ABORT,\n videoProps: videoProps\n };\n}\n\nfunction handleEmptied(videoProps) {\n return {\n type: EMPTIED,\n videoProps: videoProps\n };\n}\n\nfunction handleStalled(videoProps) {\n return {\n type: STALLED,\n videoProps: videoProps\n };\n}\n\nfunction handleLoadedMetaData(videoProps) {\n return {\n type: LOADED_META_DATA,\n videoProps: videoProps\n };\n}\n\nfunction handleLoadedData(videoProps) {\n return {\n type: LOADED_DATA,\n videoProps: videoProps\n };\n}\n\nfunction handleResize(videoProps) {\n return {\n type: RESIZE,\n videoProps: videoProps\n };\n}\n\nfunction handleError(videoProps) {\n return {\n type: ERROR,\n videoProps: videoProps\n };\n}\n\nfunction handleSeekingTime(time) {\n return {\n type: SEEKING_TIME,\n time: time\n };\n}\n\nfunction handleEndSeeking(time) {\n return {\n type: END_SEEKING,\n time: time\n };\n}\n\nfunction activateTextTrack(textTrack) {\n return {\n type: ACTIVATE_TEXT_TRACK,\n textTrack: textTrack\n };\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar Fullscreen =\n/*#__PURE__*/\nfunction () {\n function Fullscreen() {\n (0, _classCallCheck2[\"default\"])(this, Fullscreen);\n }\n\n (0, _createClass2[\"default\"])(Fullscreen, [{\n key: \"request\",\n value: function request(elm) {\n if (elm.requestFullscreen) {\n elm.requestFullscreen();\n } else if (elm.webkitRequestFullscreen) {\n elm.webkitRequestFullscreen();\n } else if (elm.mozRequestFullScreen) {\n elm.mozRequestFullScreen();\n } else if (elm.msRequestFullscreen) {\n elm.msRequestFullscreen();\n }\n }\n }, {\n key: \"exit\",\n value: function exit() {\n if (document.exitFullscreen) {\n document.exitFullscreen();\n } else if (document.webkitExitFullscreen) {\n document.webkitExitFullscreen();\n } else if (document.mozCancelFullScreen) {\n document.mozCancelFullScreen();\n } else if (document.msExitFullscreen) {\n document.msExitFullscreen();\n }\n }\n }, {\n key: \"addEventListener\",\n value: function addEventListener(handler) {\n document.addEventListener('fullscreenchange', handler);\n document.addEventListener('webkitfullscreenchange', handler);\n document.addEventListener('mozfullscreenchange', handler);\n document.addEventListener('MSFullscreenChange', handler);\n }\n }, {\n key: \"removeEventListener\",\n value: function removeEventListener(handler) {\n document.removeEventListener('fullscreenchange', handler);\n document.removeEventListener('webkitfullscreenchange', handler);\n document.removeEventListener('mozfullscreenchange', handler);\n document.removeEventListener('MSFullscreenChange', handler);\n }\n }, {\n key: \"isFullscreen\",\n get: function get() {\n return document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement;\n }\n }, {\n key: \"enabled\",\n get: function get() {\n return document.fullscreenEnabled || document.webkitFullscreenEnabled || document.mozFullScreenEnabled || document.msFullscreenEnabled;\n }\n }]);\n return Fullscreen;\n}();\n\nvar _default = new Fullscreen();\n\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.handleFullscreenChange = handleFullscreenChange;\nexports.activate = activate;\nexports.userActivate = userActivate;\nexports.play = play;\nexports.pause = pause;\nexports.togglePlay = togglePlay;\nexports.seek = seek;\nexports.forward = forward;\nexports.replay = replay;\nexports.changeRate = changeRate;\nexports.changeVolume = changeVolume;\nexports.mute = mute;\nexports.toggleFullscreen = toggleFullscreen;\nexports.USER_ACTIVATE = exports.PLAYER_ACTIVATE = exports.FULLSCREEN_CHANGE = exports.OPERATE = void 0;\n\nvar _fullscreen = _interopRequireDefault(require(\"../utils/fullscreen\"));\n\nvar OPERATE = 'video-react/OPERATE';\nexports.OPERATE = OPERATE;\nvar FULLSCREEN_CHANGE = 'video-react/FULLSCREEN_CHANGE';\nexports.FULLSCREEN_CHANGE = FULLSCREEN_CHANGE;\nvar PLAYER_ACTIVATE = 'video-react/PLAYER_ACTIVATE';\nexports.PLAYER_ACTIVATE = PLAYER_ACTIVATE;\nvar USER_ACTIVATE = 'video-react/USER_ACTIVATE';\nexports.USER_ACTIVATE = USER_ACTIVATE;\n\nfunction handleFullscreenChange(isFullscreen) {\n return {\n type: FULLSCREEN_CHANGE,\n isFullscreen: isFullscreen\n };\n}\n\nfunction activate(activity) {\n return {\n type: PLAYER_ACTIVATE,\n activity: activity\n };\n}\n\nfunction userActivate(activity) {\n return {\n type: USER_ACTIVATE,\n activity: activity\n };\n}\n\nfunction play() {\n var operation = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n action: 'play',\n source: ''\n };\n this.video.play();\n return {\n type: OPERATE,\n operation: operation\n };\n}\n\nfunction pause() {\n var operation = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n action: 'pause',\n source: ''\n };\n this.video.pause();\n return {\n type: OPERATE,\n operation: operation\n };\n}\n\nfunction togglePlay() {\n var operation = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n action: 'toggle-play',\n source: ''\n };\n this.video.togglePlay();\n return {\n type: OPERATE,\n operation: operation\n };\n} // seek video by time\n\n\nfunction seek(time) {\n var operation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n action: 'seek',\n source: ''\n };\n this.video.seek(time);\n return {\n type: OPERATE,\n operation: operation\n };\n} // jump forward x seconds\n\n\nfunction forward(seconds) {\n var operation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n action: \"forward-\".concat(seconds),\n source: ''\n };\n this.video.forward(seconds);\n return {\n type: OPERATE,\n operation: operation\n };\n} // jump back x seconds\n\n\nfunction replay(seconds) {\n var operation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n action: \"replay-\".concat(seconds),\n source: ''\n };\n this.video.replay(seconds);\n return {\n type: OPERATE,\n operation: operation\n };\n}\n\nfunction changeRate(rate) {\n var operation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n action: 'change-rate',\n source: ''\n };\n this.video.playbackRate = rate;\n return {\n type: OPERATE,\n operation: operation\n };\n}\n\nfunction changeVolume(volume) {\n var operation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n action: 'change-volume',\n source: ''\n };\n var v = volume;\n\n if (volume < 0) {\n v = 0;\n }\n\n if (volume > 1) {\n v = 1;\n }\n\n this.video.volume = v;\n return {\n type: OPERATE,\n operation: operation\n };\n}\n\nfunction mute(muted) {\n var operation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n action: muted ? 'muted' : 'unmuted',\n source: ''\n };\n this.video.muted = muted;\n return {\n type: OPERATE,\n operation: operation\n };\n}\n\nfunction toggleFullscreen(player) {\n if (_fullscreen[\"default\"].enabled) {\n if (_fullscreen[\"default\"].isFullscreen) {\n _fullscreen[\"default\"].exit();\n } else {\n _fullscreen[\"default\"].request(this.rootElement);\n }\n\n return {\n type: OPERATE,\n operation: {\n action: 'toggle-fullscreen',\n source: ''\n }\n };\n }\n\n return {\n type: FULLSCREEN_CHANGE,\n isFullscreen: !player.isFullscreen\n };\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = player;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread\"));\n\nvar _video = require(\"../actions/video\");\n\nvar _player = require(\"../actions/player\");\n\nvar initialState = {\n currentSrc: null,\n duration: 0,\n currentTime: 0,\n seekingTime: 0,\n buffered: null,\n waiting: false,\n seeking: false,\n paused: true,\n autoPaused: false,\n ended: false,\n playbackRate: 1,\n muted: false,\n volume: 1,\n readyState: 0,\n networkState: 0,\n videoWidth: 0,\n videoHeight: 0,\n hasStarted: false,\n userActivity: true,\n isActive: false,\n isFullscreen: false,\n activeTextTrack: null\n};\n\nfunction player() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;\n var action = arguments.length > 1 ? arguments[1] : undefined;\n\n switch (action.type) {\n case _player.USER_ACTIVATE:\n return (0, _objectSpread2[\"default\"])({}, state, {\n userActivity: action.activity\n });\n\n case _player.PLAYER_ACTIVATE:\n return (0, _objectSpread2[\"default\"])({}, state, {\n isActive: action.activity\n });\n\n case _player.FULLSCREEN_CHANGE:\n return (0, _objectSpread2[\"default\"])({}, state, {\n isFullscreen: !!action.isFullscreen\n });\n\n case _video.SEEKING_TIME:\n return (0, _objectSpread2[\"default\"])({}, state, {\n seekingTime: action.time\n });\n\n case _video.END_SEEKING:\n return (0, _objectSpread2[\"default\"])({}, state, {\n seekingTime: 0\n });\n\n case _video.LOAD_START:\n return (0, _objectSpread2[\"default\"])({}, state, action.videoProps, {\n hasStarted: false,\n ended: false\n });\n\n case _video.CAN_PLAY:\n return (0, _objectSpread2[\"default\"])({}, state, action.videoProps, {\n waiting: false\n });\n\n case _video.WAITING:\n return (0, _objectSpread2[\"default\"])({}, state, action.videoProps, {\n waiting: true\n });\n\n case _video.CAN_PLAY_THROUGH:\n case _video.PLAYING:\n return (0, _objectSpread2[\"default\"])({}, state, action.videoProps, {\n waiting: false\n });\n\n case _video.PLAY:\n return (0, _objectSpread2[\"default\"])({}, state, action.videoProps, {\n ended: false,\n paused: false,\n autoPaused: false,\n waiting: false,\n hasStarted: true\n });\n\n case _video.PAUSE:\n return (0, _objectSpread2[\"default\"])({}, state, action.videoProps, {\n paused: true\n });\n\n case _video.END:\n return (0, _objectSpread2[\"default\"])({}, state, action.videoProps, {\n ended: true\n });\n\n case _video.SEEKING:\n return (0, _objectSpread2[\"default\"])({}, state, action.videoProps, {\n seeking: true\n });\n\n case _video.SEEKED:\n return (0, _objectSpread2[\"default\"])({}, state, action.videoProps, {\n seeking: false\n });\n\n case _video.ERROR:\n return (0, _objectSpread2[\"default\"])({}, state, action.videoProps, {\n error: 'UNKNOWN ERROR',\n ended: true\n });\n\n case _video.DURATION_CHANGE:\n case _video.TIME_UPDATE:\n case _video.VOLUME_CHANGE:\n case _video.PROGRESS_CHANGE:\n case _video.RATE_CHANGE:\n case _video.SUSPEND:\n case _video.ABORT:\n case _video.EMPTIED:\n case _video.STALLED:\n case _video.LOADED_META_DATA:\n case _video.LOADED_DATA:\n case _video.RESIZE:\n return (0, _objectSpread2[\"default\"])({}, state, action.videoProps);\n\n case _video.ACTIVATE_TEXT_TRACK:\n return (0, _objectSpread2[\"default\"])({}, state, {\n activeTextTrack: action.textTrack\n });\n\n default:\n return state;\n }\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = operation;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread\"));\n\nvar _player = require(\"../actions/player\");\n\nvar initialState = {\n count: 0,\n operation: {\n action: '',\n source: ''\n }\n};\n\nfunction operation() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;\n var action = arguments.length > 1 ? arguments[1] : undefined;\n\n switch (action.type) {\n case _player.OPERATE:\n return (0, _objectSpread2[\"default\"])({}, state, {\n count: state.count + 1,\n operation: (0, _objectSpread2[\"default\"])({}, state.operation, action.operation)\n });\n\n default:\n return state;\n }\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = _default;\nexports.operationReducer = exports.playerReducer = void 0;\n\nvar _player = _interopRequireDefault(require(\"./player\"));\n\nvar _operation = _interopRequireDefault(require(\"./operation\"));\n\nfunction _default() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var action = arguments.length > 1 ? arguments[1] : undefined;\n return {\n player: (0, _player[\"default\"])(state.player, action),\n operation: (0, _operation[\"default\"])(state.operation, action)\n };\n}\n\nvar playerReducer = _player[\"default\"];\nexports.playerReducer = playerReducer;\nvar operationReducer = _operation[\"default\"];\nexports.operationReducer = operationReducer;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _redux = require(\"redux\");\n\nvar _reducers = _interopRequireDefault(require(\"./reducers\"));\n\nvar playerActions = _interopRequireWildcard(require(\"./actions/player\"));\n\nvar videoActions = _interopRequireWildcard(require(\"./actions/video\"));\n\nvar Manager =\n/*#__PURE__*/\nfunction () {\n function Manager(store) {\n (0, _classCallCheck2[\"default\"])(this, Manager);\n this.store = store || (0, _redux.createStore)(_reducers[\"default\"]);\n this.video = null;\n this.rootElement = null;\n }\n\n (0, _createClass2[\"default\"])(Manager, [{\n key: \"getActions\",\n value: function getActions() {\n var manager = this;\n var dispatch = this.store.dispatch;\n var actions = (0, _objectSpread2[\"default\"])({}, playerActions, videoActions);\n\n function bindActionCreator(actionCreator) {\n return function bindAction() {\n // eslint-disable-next-line prefer-rest-params\n var action = actionCreator.apply(manager, arguments);\n\n if (typeof action !== 'undefined') {\n dispatch(action);\n }\n };\n }\n\n return Object.keys(actions).filter(function (key) {\n return typeof actions[key] === 'function';\n }).reduce(function (boundActions, key) {\n boundActions[key] = bindActionCreator(actions[key]);\n return boundActions;\n }, {});\n }\n }, {\n key: \"getState\",\n value: function getState() {\n return this.store.getState();\n } // subscribe state change\n\n }, {\n key: \"subscribeToStateChange\",\n value: function subscribeToStateChange(listener, getState) {\n if (!getState) {\n getState = this.getState.bind(this);\n }\n\n var prevState = getState();\n\n var handleChange = function handleChange() {\n var state = getState();\n\n if (state === prevState) {\n return;\n }\n\n var prevStateCopy = prevState;\n prevState = state;\n listener(state, prevStateCopy);\n };\n\n return this.store.subscribe(handleChange);\n } // subscribe to operation state change\n\n }, {\n key: \"subscribeToOperationStateChange\",\n value: function subscribeToOperationStateChange(listener) {\n var _this = this;\n\n return this.subscribeToStateChange(listener, function () {\n return _this.getState().operation;\n });\n } // subscribe to player state change\n\n }, {\n key: \"subscribeToPlayerStateChange\",\n value: function subscribeToPlayerStateChange(listener) {\n var _this2 = this;\n\n return this.subscribeToStateChange(listener, function () {\n return _this2.getState().player;\n });\n }\n }]);\n return Manager;\n}();\n\nexports[\"default\"] = Manager;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar propTypes = {\n actions: _propTypes[\"default\"].object,\n player: _propTypes[\"default\"].object,\n position: _propTypes[\"default\"].string,\n className: _propTypes[\"default\"].string\n};\nvar defaultProps = {\n position: 'left'\n};\n\nvar BigPlayButton =\n/*#__PURE__*/\nfunction (_Component) {\n (0, _inherits2[\"default\"])(BigPlayButton, _Component);\n\n function BigPlayButton(props, context) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, BigPlayButton);\n _this = (0, _possibleConstructorReturn2[\"default\"])(this, (0, _getPrototypeOf2[\"default\"])(BigPlayButton).call(this, props, context));\n _this.handleClick = _this.handleClick.bind((0, _assertThisInitialized2[\"default\"])(_this));\n return _this;\n }\n\n (0, _createClass2[\"default\"])(BigPlayButton, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {}\n }, {\n key: \"handleClick\",\n value: function handleClick() {\n var actions = this.props.actions;\n actions.play();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n player = _this$props.player,\n position = _this$props.position;\n return _react[\"default\"].createElement(\"button\", {\n className: (0, _classnames[\"default\"])('video-react-button', 'video-react-big-play-button', \"video-react-big-play-button-\".concat(position), this.props.className, {\n 'big-play-button-hide': player.hasStarted || !player.currentSrc\n }),\n type: \"button\",\n \"aria-live\": \"polite\",\n tabIndex: \"0\",\n onClick: this.handleClick\n }, _react[\"default\"].createElement(\"span\", {\n className: \"video-react-control-text\"\n }, \"Play Video\"));\n }\n }]);\n return BigPlayButton;\n}(_react.Component);\n\nexports[\"default\"] = BigPlayButton;\nBigPlayButton.propTypes = propTypes;\nBigPlayButton.defaultProps = defaultProps;\nBigPlayButton.displayName = 'BigPlayButton';","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = LoadingSpinner;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar propTypes = {\n player: _propTypes[\"default\"].object,\n className: _propTypes[\"default\"].string\n};\n\nfunction LoadingSpinner(_ref) {\n var player = _ref.player,\n className = _ref.className;\n\n if (player.error) {\n return null;\n }\n\n return _react[\"default\"].createElement(\"div\", {\n className: (0, _classnames[\"default\"])('video-react-loading-spinner', className)\n });\n}\n\nLoadingSpinner.propTypes = propTypes;\nLoadingSpinner.displayName = 'LoadingSpinner';","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar propTypes = {\n poster: _propTypes[\"default\"].string,\n player: _propTypes[\"default\"].object,\n actions: _propTypes[\"default\"].object,\n className: _propTypes[\"default\"].string\n};\n\nfunction PosterImage(_ref) {\n var poster = _ref.poster,\n player = _ref.player,\n actions = _ref.actions,\n className = _ref.className;\n\n if (!poster || player.hasStarted) {\n return null;\n }\n\n return _react[\"default\"].createElement(\"div\", {\n className: (0, _classnames[\"default\"])('video-react-poster', className),\n style: {\n backgroundImage: \"url(\\\"\".concat(poster, \"\\\")\")\n },\n onClick: function onClick() {\n if (player.paused) {\n actions.play();\n }\n }\n });\n}\n\nPosterImage.propTypes = propTypes;\nPosterImage.displayName = 'PosterImage';\nvar _default = PosterImage;\nexports[\"default\"] = _default;","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\nmodule.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\nmodule.exports = _toConsumableArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.formatTime = formatTime;\nexports.isVideoChild = isVideoChild;\nexports.mergeAndSortChildren = mergeAndSortChildren;\nexports.deprecatedWarning = deprecatedWarning;\nexports.throttle = throttle;\nexports.mediaProperties = void 0;\n\nvar _toConsumableArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/toConsumableArray\"));\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\n// NaN is the only value in javascript which is not equal to itself.\n// eslint-disable-next-line no-self-compare\nvar isNaN = Number.isNaN || function (value) {\n return value !== value;\n};\n/**\n * @file format-time.js\n *\n * Format seconds as a time string, H:MM:SS or M:SS\n * Supplying a guide (in seconds) will force a number of leading zeros\n * to cover the length of the guide\n *\n * @param {Number} seconds Number of seconds to be turned into a string\n * @param {Number} guide Number (in seconds) to model the string after\n * @return {String} Time formatted as H:MM:SS or M:SS\n * @private\n * @function formatTime\n */\n\n\nfunction formatTime() {\n var seconds = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var guide = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : seconds;\n var s = Math.floor(seconds % 60);\n var m = Math.floor(seconds / 60 % 60);\n var h = Math.floor(seconds / 3600);\n var gm = Math.floor(guide / 60 % 60);\n var gh = Math.floor(guide / 3600); // handle invalid times\n\n if (isNaN(seconds) || seconds === Infinity) {\n // '-' is false for all relational operators (e.g. <, >=) so this setting\n // will add the minimum number of fields specified by the guide\n h = '-';\n m = '-';\n s = '-';\n } // Check if we need to show hours\n\n\n h = h > 0 || gh > 0 ? \"\".concat(h, \":\") : ''; // If hours are showing, we may need to add a leading zero.\n // Always show at least one digit of minutes.\n\n m = \"\".concat((h || gm >= 10) && m < 10 ? \"0\".concat(m) : m, \":\"); // Check if leading zero is need for seconds\n\n s = s < 10 ? \"0\".concat(s) : s;\n return h + m + s;\n} // Check if the element belongs to a video element\n// only accept , ,\n// \n// elements\n\n\nfunction isVideoChild(c) {\n if (c.props && c.props.isVideoChild) {\n return true;\n }\n\n return c.type === 'source' || c.type === 'track';\n}\n\nvar find = function find(elements, func) {\n return elements.filter(func)[0];\n}; // check if two components are the same type\n\n\nvar isTypeEqual = function isTypeEqual(component1, component2) {\n var type1 = component1.type;\n var type2 = component2.type;\n\n if (typeof type1 === 'string' || typeof type2 === 'string') {\n return type1 === type2;\n }\n\n if (typeof type1 === 'function' && typeof type2 === 'function') {\n return type1.displayName === type2.displayName;\n }\n\n return false;\n}; // merge default children\n// sort them by `order` property\n// filter them by `disabled` property\n\n\nfunction mergeAndSortChildren(defaultChildren, _children, _parentProps) {\n var defaultOrder = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;\n\n var children = _react[\"default\"].Children.toArray(_children);\n\n var order = _parentProps.order,\n parentProps = (0, _objectWithoutProperties2[\"default\"])(_parentProps, [\"order\"]); // ignore order from parent\n\n return children.filter(function (e) {\n return !e.props.disabled;\n }) // filter the disabled components\n .concat(defaultChildren.filter(function (c) {\n return !find(children, function (component) {\n return isTypeEqual(component, c);\n });\n })).map(function (element) {\n var defaultComponent = find(defaultChildren, function (c) {\n return isTypeEqual(c, element);\n });\n var defaultProps = defaultComponent ? defaultComponent.props : {};\n var props = (0, _objectSpread2[\"default\"])({}, parentProps, defaultProps, element.props);\n\n var e = _react[\"default\"].cloneElement(element, props, element.props.children);\n\n return e;\n }).sort(function (a, b) {\n return (a.props.order || defaultOrder) - (b.props.order || defaultOrder);\n });\n}\n/**\n * Temporary utility for generating the warnings\n */\n\n\nfunction deprecatedWarning(oldMethodCall, newMethodCall) {\n // eslint-disable-next-line no-console\n console.warn(\"WARNING: \".concat(oldMethodCall, \" will be deprecated soon! Please use \").concat(newMethodCall, \" instead.\"));\n}\n\nfunction throttle(callback, limit) {\n var _arguments = arguments;\n var wait = false;\n return function () {\n if (!wait) {\n // eslint-disable-next-line prefer-rest-params\n callback.apply(void 0, (0, _toConsumableArray2[\"default\"])(_arguments));\n wait = true;\n setTimeout(function () {\n wait = false;\n }, limit);\n }\n };\n}\n\nvar mediaProperties = ['error', 'src', 'srcObject', 'currentSrc', 'crossOrigin', 'networkState', 'preload', 'buffered', 'readyState', 'seeking', 'currentTime', 'duration', 'paused', 'defaultPlaybackRate', 'playbackRate', 'played', 'seekable', 'ended', 'autoplay', 'loop', 'mediaGroup', 'controller', 'controls', 'volume', 'muted', 'defaultMuted', 'audioTracks', 'videoTracks', 'textTracks', 'width', 'height', 'videoWidth', 'videoHeight', 'poster'];\nexports.mediaProperties = mediaProperties;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _utils = require(\"../utils\");\n\nvar propTypes = {\n actions: _propTypes[\"default\"].object,\n player: _propTypes[\"default\"].object,\n children: _propTypes[\"default\"].any,\n startTime: _propTypes[\"default\"].number,\n loop: _propTypes[\"default\"].bool,\n muted: _propTypes[\"default\"].bool,\n autoPlay: _propTypes[\"default\"].bool,\n playsInline: _propTypes[\"default\"].bool,\n src: _propTypes[\"default\"].string,\n poster: _propTypes[\"default\"].string,\n className: _propTypes[\"default\"].string,\n preload: _propTypes[\"default\"].oneOf(['auto', 'metadata', 'none']),\n crossOrigin: _propTypes[\"default\"].string,\n onLoadStart: _propTypes[\"default\"].func,\n onWaiting: _propTypes[\"default\"].func,\n onCanPlay: _propTypes[\"default\"].func,\n onCanPlayThrough: _propTypes[\"default\"].func,\n onPlaying: _propTypes[\"default\"].func,\n onEnded: _propTypes[\"default\"].func,\n onSeeking: _propTypes[\"default\"].func,\n onSeeked: _propTypes[\"default\"].func,\n onPlay: _propTypes[\"default\"].func,\n onPause: _propTypes[\"default\"].func,\n onProgress: _propTypes[\"default\"].func,\n onDurationChange: _propTypes[\"default\"].func,\n onError: _propTypes[\"default\"].func,\n onSuspend: _propTypes[\"default\"].func,\n onAbort: _propTypes[\"default\"].func,\n onEmptied: _propTypes[\"default\"].func,\n onStalled: _propTypes[\"default\"].func,\n onLoadedMetadata: _propTypes[\"default\"].func,\n onLoadedData: _propTypes[\"default\"].func,\n onTimeUpdate: _propTypes[\"default\"].func,\n onRateChange: _propTypes[\"default\"].func,\n onVolumeChange: _propTypes[\"default\"].func,\n onResize: _propTypes[\"default\"].func\n};\n\nvar Video =\n/*#__PURE__*/\nfunction (_Component) {\n (0, _inherits2[\"default\"])(Video, _Component);\n\n function Video(props) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, Video);\n _this = (0, _possibleConstructorReturn2[\"default\"])(this, (0, _getPrototypeOf2[\"default\"])(Video).call(this, props));\n _this.video = null; // the html5 video\n\n _this.play = _this.play.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.pause = _this.pause.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.seek = _this.seek.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.forward = _this.forward.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.replay = _this.replay.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.toggleFullscreen = _this.toggleFullscreen.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.getProperties = _this.getProperties.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.renderChildren = _this.renderChildren.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleLoadStart = _this.handleLoadStart.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleCanPlay = _this.handleCanPlay.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleCanPlayThrough = _this.handleCanPlayThrough.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handlePlay = _this.handlePlay.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handlePlaying = _this.handlePlaying.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handlePause = _this.handlePause.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleEnded = _this.handleEnded.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleWaiting = _this.handleWaiting.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleSeeking = _this.handleSeeking.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleSeeked = _this.handleSeeked.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleFullscreenChange = _this.handleFullscreenChange.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleError = _this.handleError.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleSuspend = _this.handleSuspend.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleAbort = _this.handleAbort.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleEmptied = _this.handleEmptied.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleStalled = _this.handleStalled.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleLoadedMetaData = _this.handleLoadedMetaData.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleLoadedData = _this.handleLoadedData.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleTimeUpdate = _this.handleTimeUpdate.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleRateChange = _this.handleRateChange.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleVolumeChange = _this.handleVolumeChange.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleDurationChange = _this.handleDurationChange.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleProgress = (0, _utils.throttle)(_this.handleProgress.bind((0, _assertThisInitialized2[\"default\"])(_this)), 250);\n _this.handleKeypress = _this.handleKeypress.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleTextTrackChange = _this.handleTextTrackChange.bind((0, _assertThisInitialized2[\"default\"])(_this));\n return _this;\n }\n\n (0, _createClass2[\"default\"])(Video, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.forceUpdate(); // make sure the children can get the video property\n\n if (this.video && this.video.textTracks) {\n this.video.textTracks.onaddtrack = this.handleTextTrackChange;\n this.video.textTracks.onremovetrack = this.handleTextTrackChange;\n }\n } // get all video properties\n\n }, {\n key: \"getProperties\",\n value: function getProperties() {\n var _this2 = this;\n\n if (!this.video) {\n return null;\n }\n\n return _utils.mediaProperties.reduce(function (properties, key) {\n properties[key] = _this2.video[key];\n return properties;\n }, {});\n } // get playback rate\n\n }, {\n key: \"handleTextTrackChange\",\n value: function handleTextTrackChange() {\n var _this$props = this.props,\n actions = _this$props.actions,\n player = _this$props.player;\n\n if (this.video && this.video.textTracks) {\n var activeTextTrack = Array.from(this.video.textTracks).find(function (textTrack) {\n return textTrack.mode === 'showing';\n });\n\n if (activeTextTrack !== player.activeTextTrack) {\n actions.activateTextTrack(activeTextTrack);\n }\n }\n } // play the video\n\n }, {\n key: \"play\",\n value: function play() {\n var promise = this.video.play();\n\n if (promise !== undefined) {\n promise[\"catch\"](function () {}).then(function () {});\n }\n } // pause the video\n\n }, {\n key: \"pause\",\n value: function pause() {\n var promise = this.video.pause();\n\n if (promise !== undefined) {\n promise[\"catch\"](function () {}).then(function () {});\n }\n } // Change the video source and re-load the video:\n\n }, {\n key: \"load\",\n value: function load() {\n this.video.load();\n } // Add a new text track to the video\n\n }, {\n key: \"addTextTrack\",\n value: function addTextTrack() {\n var _this$video;\n\n (_this$video = this.video).addTextTrack.apply(_this$video, arguments);\n } // Check if your browser can play different types of video:\n\n }, {\n key: \"canPlayType\",\n value: function canPlayType() {\n var _this$video2;\n\n (_this$video2 = this.video).canPlayType.apply(_this$video2, arguments);\n } // toggle play\n\n }, {\n key: \"togglePlay\",\n value: function togglePlay() {\n if (this.video.paused) {\n this.play();\n } else {\n this.pause();\n }\n } // seek video by time\n\n }, {\n key: \"seek\",\n value: function seek(time) {\n try {\n this.video.currentTime = time;\n } catch (e) {// console.log(e, 'Video is not ready.')\n }\n } // jump forward x seconds\n\n }, {\n key: \"forward\",\n value: function forward(seconds) {\n this.seek(this.video.currentTime + seconds);\n } // jump back x seconds\n\n }, {\n key: \"replay\",\n value: function replay(seconds) {\n this.forward(-seconds);\n } // enter or exist full screen\n\n }, {\n key: \"toggleFullscreen\",\n value: function toggleFullscreen() {\n var _this$props2 = this.props,\n player = _this$props2.player,\n actions = _this$props2.actions;\n actions.toggleFullscreen(player);\n } // Fired when the user agent\n // begins looking for media data\n\n }, {\n key: \"handleLoadStart\",\n value: function handleLoadStart() {\n var _this$props3 = this.props,\n actions = _this$props3.actions,\n onLoadStart = _this$props3.onLoadStart;\n actions.handleLoadStart(this.getProperties());\n\n if (onLoadStart) {\n onLoadStart.apply(void 0, arguments);\n }\n } // A handler for events that\n // signal that waiting has ended\n\n }, {\n key: \"handleCanPlay\",\n value: function handleCanPlay() {\n var _this$props4 = this.props,\n actions = _this$props4.actions,\n onCanPlay = _this$props4.onCanPlay;\n actions.handleCanPlay(this.getProperties());\n\n if (onCanPlay) {\n onCanPlay.apply(void 0, arguments);\n }\n } // A handler for events that\n // signal that waiting has ended\n\n }, {\n key: \"handleCanPlayThrough\",\n value: function handleCanPlayThrough() {\n var _this$props5 = this.props,\n actions = _this$props5.actions,\n onCanPlayThrough = _this$props5.onCanPlayThrough;\n actions.handleCanPlayThrough(this.getProperties());\n\n if (onCanPlayThrough) {\n onCanPlayThrough.apply(void 0, arguments);\n }\n } // A handler for events that\n // signal that waiting has ended\n\n }, {\n key: \"handlePlaying\",\n value: function handlePlaying() {\n var _this$props6 = this.props,\n actions = _this$props6.actions,\n onPlaying = _this$props6.onPlaying;\n actions.handlePlaying(this.getProperties());\n\n if (onPlaying) {\n onPlaying.apply(void 0, arguments);\n }\n } // Fired whenever the media has been started\n\n }, {\n key: \"handlePlay\",\n value: function handlePlay() {\n var _this$props7 = this.props,\n actions = _this$props7.actions,\n onPlay = _this$props7.onPlay;\n actions.handlePlay(this.getProperties());\n\n if (onPlay) {\n onPlay.apply(void 0, arguments);\n }\n } // Fired whenever the media has been paused\n\n }, {\n key: \"handlePause\",\n value: function handlePause() {\n var _this$props8 = this.props,\n actions = _this$props8.actions,\n onPause = _this$props8.onPause;\n actions.handlePause(this.getProperties());\n\n if (onPause) {\n onPause.apply(void 0, arguments);\n }\n } // Fired when the duration of\n // the media resource is first known or changed\n\n }, {\n key: \"handleDurationChange\",\n value: function handleDurationChange() {\n var _this$props9 = this.props,\n actions = _this$props9.actions,\n onDurationChange = _this$props9.onDurationChange;\n actions.handleDurationChange(this.getProperties());\n\n if (onDurationChange) {\n onDurationChange.apply(void 0, arguments);\n }\n } // Fired while the user agent\n // is downloading media data\n\n }, {\n key: \"handleProgress\",\n value: function handleProgress() {\n var _this$props10 = this.props,\n actions = _this$props10.actions,\n onProgress = _this$props10.onProgress;\n\n if (this.video) {\n actions.handleProgressChange(this.getProperties());\n }\n\n if (onProgress) {\n onProgress.apply(void 0, arguments);\n }\n } // Fired when the end of the media resource\n // is reached (currentTime == duration)\n\n }, {\n key: \"handleEnded\",\n value: function handleEnded() {\n var _this$props11 = this.props,\n loop = _this$props11.loop,\n player = _this$props11.player,\n actions = _this$props11.actions,\n onEnded = _this$props11.onEnded;\n\n if (loop) {\n this.seek(0);\n this.play();\n } else if (!player.paused) {\n this.pause();\n }\n\n actions.handleEnd(this.getProperties());\n\n if (onEnded) {\n onEnded.apply(void 0, arguments);\n }\n } // Fired whenever the media begins waiting\n\n }, {\n key: \"handleWaiting\",\n value: function handleWaiting() {\n var _this$props12 = this.props,\n actions = _this$props12.actions,\n onWaiting = _this$props12.onWaiting;\n actions.handleWaiting(this.getProperties());\n\n if (onWaiting) {\n onWaiting.apply(void 0, arguments);\n }\n } // Fired whenever the player\n // is jumping to a new time\n\n }, {\n key: \"handleSeeking\",\n value: function handleSeeking() {\n var _this$props13 = this.props,\n actions = _this$props13.actions,\n onSeeking = _this$props13.onSeeking;\n actions.handleSeeking(this.getProperties());\n\n if (onSeeking) {\n onSeeking.apply(void 0, arguments);\n }\n } // Fired when the player has\n // finished jumping to a new time\n\n }, {\n key: \"handleSeeked\",\n value: function handleSeeked() {\n var _this$props14 = this.props,\n actions = _this$props14.actions,\n onSeeked = _this$props14.onSeeked;\n actions.handleSeeked(this.getProperties());\n\n if (onSeeked) {\n onSeeked.apply(void 0, arguments);\n }\n } // Handle Fullscreen Change\n\n }, {\n key: \"handleFullscreenChange\",\n value: function handleFullscreenChange() {} // Fires when the browser is\n // intentionally not getting media data\n\n }, {\n key: \"handleSuspend\",\n value: function handleSuspend() {\n var _this$props15 = this.props,\n actions = _this$props15.actions,\n onSuspend = _this$props15.onSuspend;\n actions.handleSuspend(this.getProperties());\n\n if (onSuspend) {\n onSuspend.apply(void 0, arguments);\n }\n } // Fires when the loading of an audio/video is aborted\n\n }, {\n key: \"handleAbort\",\n value: function handleAbort() {\n var _this$props16 = this.props,\n actions = _this$props16.actions,\n onAbort = _this$props16.onAbort;\n actions.handleAbort(this.getProperties());\n\n if (onAbort) {\n onAbort.apply(void 0, arguments);\n }\n } // Fires when the current playlist is empty\n\n }, {\n key: \"handleEmptied\",\n value: function handleEmptied() {\n var _this$props17 = this.props,\n actions = _this$props17.actions,\n onEmptied = _this$props17.onEmptied;\n actions.handleEmptied(this.getProperties());\n\n if (onEmptied) {\n onEmptied.apply(void 0, arguments);\n }\n } // Fires when the browser is trying to\n // get media data, but data is not available\n\n }, {\n key: \"handleStalled\",\n value: function handleStalled() {\n var _this$props18 = this.props,\n actions = _this$props18.actions,\n onStalled = _this$props18.onStalled;\n actions.handleStalled(this.getProperties());\n\n if (onStalled) {\n onStalled.apply(void 0, arguments);\n }\n } // Fires when the browser has loaded\n // meta data for the audio/video\n\n }, {\n key: \"handleLoadedMetaData\",\n value: function handleLoadedMetaData() {\n var _this$props19 = this.props,\n actions = _this$props19.actions,\n onLoadedMetadata = _this$props19.onLoadedMetadata,\n startTime = _this$props19.startTime;\n\n if (startTime && startTime > 0) {\n this.video.currentTime = startTime;\n }\n\n actions.handleLoadedMetaData(this.getProperties());\n\n if (onLoadedMetadata) {\n onLoadedMetadata.apply(void 0, arguments);\n }\n } // Fires when the browser has loaded\n // the current frame of the audio/video\n\n }, {\n key: \"handleLoadedData\",\n value: function handleLoadedData() {\n var _this$props20 = this.props,\n actions = _this$props20.actions,\n onLoadedData = _this$props20.onLoadedData;\n actions.handleLoadedData(this.getProperties());\n\n if (onLoadedData) {\n onLoadedData.apply(void 0, arguments);\n }\n } // Fires when the current\n // playback position has changed\n\n }, {\n key: \"handleTimeUpdate\",\n value: function handleTimeUpdate() {\n var _this$props21 = this.props,\n actions = _this$props21.actions,\n onTimeUpdate = _this$props21.onTimeUpdate;\n actions.handleTimeUpdate(this.getProperties());\n\n if (onTimeUpdate) {\n onTimeUpdate.apply(void 0, arguments);\n }\n }\n /**\n * Fires when the playing speed of the audio/video is changed\n */\n\n }, {\n key: \"handleRateChange\",\n value: function handleRateChange() {\n var _this$props22 = this.props,\n actions = _this$props22.actions,\n onRateChange = _this$props22.onRateChange;\n actions.handleRateChange(this.getProperties());\n\n if (onRateChange) {\n onRateChange.apply(void 0, arguments);\n }\n } // Fires when the volume has been changed\n\n }, {\n key: \"handleVolumeChange\",\n value: function handleVolumeChange() {\n var _this$props23 = this.props,\n actions = _this$props23.actions,\n onVolumeChange = _this$props23.onVolumeChange;\n actions.handleVolumeChange(this.getProperties());\n\n if (onVolumeChange) {\n onVolumeChange.apply(void 0, arguments);\n }\n } // Fires when an error occurred\n // during the loading of an audio/video\n\n }, {\n key: \"handleError\",\n value: function handleError() {\n var _this$props24 = this.props,\n actions = _this$props24.actions,\n onError = _this$props24.onError;\n actions.handleError(this.getProperties());\n\n if (onError) {\n onError.apply(void 0, arguments);\n }\n }\n }, {\n key: \"handleResize\",\n value: function handleResize() {\n var _this$props25 = this.props,\n actions = _this$props25.actions,\n onResize = _this$props25.onResize;\n actions.handleResize(this.getProperties());\n\n if (onResize) {\n onResize.apply(void 0, arguments);\n }\n }\n }, {\n key: \"handleKeypress\",\n value: function handleKeypress() {}\n }, {\n key: \"renderChildren\",\n value: function renderChildren() {\n var _this3 = this;\n\n var props = (0, _objectSpread2[\"default\"])({}, this.props, {\n video: this.video\n }); // to make sure the children can get video property\n\n if (!this.video) {\n return null;\n } // only keep , , elements\n\n\n return _react[\"default\"].Children.toArray(this.props.children).filter(_utils.isVideoChild).map(function (c) {\n var cprops;\n\n if (typeof c.type === 'string') {\n // add onError to \n if (c.type === 'source') {\n cprops = (0, _objectSpread2[\"default\"])({}, c.props);\n var preOnError = cprops.onError;\n\n cprops.onError = function () {\n if (preOnError) {\n preOnError.apply(void 0, arguments);\n }\n\n _this3.handleError.apply(_this3, arguments);\n };\n }\n } else {\n cprops = props;\n }\n\n return _react[\"default\"].cloneElement(c, cprops);\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this4 = this;\n\n var _this$props26 = this.props,\n loop = _this$props26.loop,\n poster = _this$props26.poster,\n preload = _this$props26.preload,\n src = _this$props26.src,\n autoPlay = _this$props26.autoPlay,\n playsInline = _this$props26.playsInline,\n muted = _this$props26.muted,\n crossOrigin = _this$props26.crossOrigin,\n videoId = _this$props26.videoId;\n return _react[\"default\"].createElement(\"video\", {\n className: (0, _classnames[\"default\"])('video-react-video', this.props.className),\n id: videoId,\n crossOrigin: crossOrigin,\n ref: function ref(c) {\n _this4.video = c;\n },\n muted: muted,\n preload: preload,\n loop: loop,\n playsInline: playsInline,\n autoPlay: autoPlay,\n poster: poster,\n src: src,\n onLoadStart: this.handleLoadStart,\n onWaiting: this.handleWaiting,\n onCanPlay: this.handleCanPlay,\n onCanPlayThrough: this.handleCanPlayThrough,\n onPlaying: this.handlePlaying,\n onEnded: this.handleEnded,\n onSeeking: this.handleSeeking,\n onSeeked: this.handleSeeked,\n onPlay: this.handlePlay,\n onPause: this.handlePause,\n onProgress: this.handleProgress,\n onDurationChange: this.handleDurationChange,\n onError: this.handleError,\n onSuspend: this.handleSuspend,\n onAbort: this.handleAbort,\n onEmptied: this.handleEmptied,\n onStalled: this.handleStalled,\n onLoadedMetadata: this.handleLoadedMetaData,\n onLoadedData: this.handleLoadedData,\n onTimeUpdate: this.handleTimeUpdate,\n onRateChange: this.handleRateChange,\n onVolumeChange: this.handleVolumeChange,\n tabIndex: \"-1\"\n }, this.renderChildren());\n }\n }, {\n key: \"playbackRate\",\n get: function get() {\n return this.video.playbackRate;\n } // set playback rate\n // speed of video\n ,\n set: function set(rate) {\n this.video.playbackRate = rate;\n }\n }, {\n key: \"muted\",\n get: function get() {\n return this.video.muted;\n },\n set: function set(val) {\n this.video.muted = val;\n }\n }, {\n key: \"volume\",\n get: function get() {\n return this.video.volume;\n },\n set: function set(val) {\n if (val > 1) {\n val = 1;\n }\n\n if (val < 0) {\n val = 0;\n }\n\n this.video.volume = val;\n } // video width\n\n }, {\n key: \"videoWidth\",\n get: function get() {\n return this.video.videoWidth;\n } // video height\n\n }, {\n key: \"videoHeight\",\n get: function get() {\n return this.video.videoHeight;\n }\n }]);\n return Video;\n}(_react.Component);\n\nexports[\"default\"] = Video;\nVideo.propTypes = propTypes;\nVideo.displayName = 'Video';","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar propTypes = {\n manager: _propTypes[\"default\"].object,\n className: _propTypes[\"default\"].string\n};\n\nvar Bezel =\n/*#__PURE__*/\nfunction (_Component) {\n (0, _inherits2[\"default\"])(Bezel, _Component);\n\n function Bezel(props, context) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, Bezel);\n _this = (0, _possibleConstructorReturn2[\"default\"])(this, (0, _getPrototypeOf2[\"default\"])(Bezel).call(this, props, context));\n _this.timer = null;\n props.manager.subscribeToOperationStateChange(_this.handleStateChange.bind((0, _assertThisInitialized2[\"default\"])(_this)));\n _this.state = {\n hidden: true,\n operation: {}\n };\n return _this;\n }\n\n (0, _createClass2[\"default\"])(Bezel, [{\n key: \"handleStateChange\",\n value: function handleStateChange(state, prevState) {\n var _this2 = this;\n\n if (state.count !== prevState.count && state.operation.source === 'shortcut') {\n if (this.timer) {\n // previous animation is not finished\n clearTimeout(this.timer); // cancel it\n\n this.timer = null;\n } // show it\n // update operation\n\n\n this.setState({\n hidden: false,\n count: state.count,\n operation: state.operation\n }); // hide it after 0.5s\n\n this.timer = setTimeout(function () {\n _this2.setState({\n hidden: true\n });\n\n _this2.timer = null;\n }, 500);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n // only displays for shortcut so far\n if (this.state.operation.source !== 'shortcut') {\n return null;\n }\n\n var style = this.state.hidden ? {\n display: 'none'\n } : null;\n return _react[\"default\"].createElement(\"div\", {\n className: (0, _classnames[\"default\"])({\n 'video-react-bezel': true,\n 'video-react-bezel-animation': this.state.count % 2 === 0,\n 'video-react-bezel-animation-alt': this.state.count % 2 === 1\n }, this.props.className),\n style: style,\n role: \"status\",\n \"aria-label\": this.state.operation.action\n }, _react[\"default\"].createElement(\"div\", {\n className: (0, _classnames[\"default\"])('video-react-bezel-icon', \"video-react-bezel-icon-\".concat(this.state.operation.action))\n }));\n }\n }]);\n return Bezel;\n}(_react.Component);\n\nexports[\"default\"] = Bezel;\nBezel.propTypes = propTypes;\nBezel.displayName = 'Bezel';","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.findElPosition = findElPosition;\nexports.getPointerPosition = getPointerPosition;\nexports.blurNode = blurNode;\nexports.focusNode = focusNode;\nexports.hasClass = hasClass;\n\n/**\n * Offset Left\n * getBoundingClientRect technique from\n * John Resig http://ejohn.org/blog/getboundingclientrect-is-awesome/\n *\n * @function findElPosition\n * @param {ReactNodeRef} el React Node ref from which to get offset\n * @return {Object}\n */\nfunction findElPosition(el) {\n var box;\n\n if (el.getBoundingClientRect && el.parentNode) {\n box = el.getBoundingClientRect();\n }\n\n if (!box) {\n return {\n left: 0,\n top: 0\n };\n }\n\n var _document = document,\n body = _document.body,\n docEl = _document.documentElement;\n var clientLeft = docEl.clientLeft || body.clientLeft || 0;\n var scrollLeft = window.pageXOffset || body.scrollLeft;\n var left = box.left + scrollLeft - clientLeft;\n var clientTop = docEl.clientTop || body.clientTop || 0;\n var scrollTop = window.pageYOffset || body.scrollTop;\n var top = box.top + scrollTop - clientTop; // Android sometimes returns slightly off decimal values, so need to round\n\n return {\n left: Math.round(left),\n top: Math.round(top)\n };\n}\n/**\n * Get pointer position in a React Node ref\n * Returns an object with x and y coordinates.\n * The base on the coordinates are the bottom left of the element.\n *\n * @function getPointerPosition\n * @param {ReactNodeRef} el React Node ref on which to get the pointer position on\n * @param {Event} event Event object\n * @return {Object} This object will have x and y coordinates corresponding to the mouse position\n */\n\n\nfunction getPointerPosition(el, event) {\n var position = {};\n var box = findElPosition(el);\n var boxW = el.offsetWidth;\n var boxH = el.offsetHeight;\n var boxY = box.top;\n var boxX = box.left;\n var evtPageY = event.pageY;\n var evtPageX = event.pageX;\n\n if (event.changedTouches) {\n evtPageX = event.changedTouches[0].pageX;\n evtPageY = event.changedTouches[0].pageY;\n }\n\n position.y = Math.max(0, Math.min(1, (boxY - evtPageY + boxH) / boxH));\n position.x = Math.max(0, Math.min(1, (evtPageX - boxX) / boxW));\n return position;\n} // blur an element\n\n\nfunction blurNode(reactNode) {\n if (reactNode && reactNode.blur) {\n reactNode.blur();\n }\n} // focus an element\n\n\nfunction focusNode(reactNode) {\n if (reactNode && reactNode.focus) {\n reactNode.focus();\n }\n} // check if an element has a class name\n\n\nfunction hasClass(elm, cls) {\n var classes = elm.className.split(' ');\n\n for (var i = 0; i < classes.length; i++) {\n if (classes[i].toLowerCase() === cls.toLowerCase()) {\n return true;\n }\n }\n\n return false;\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _toConsumableArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/toConsumableArray\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _react = require(\"react\");\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _dom = require(\"../utils/dom\");\n\nvar propTypes = {\n clickable: _propTypes[\"default\"].bool,\n dblclickable: _propTypes[\"default\"].bool,\n manager: _propTypes[\"default\"].object,\n actions: _propTypes[\"default\"].object,\n player: _propTypes[\"default\"].object,\n shortcuts: _propTypes[\"default\"].array\n};\nvar defaultProps = {\n clickable: true,\n dblclickable: true\n};\n\nvar Shortcut =\n/*#__PURE__*/\nfunction (_Component) {\n (0, _inherits2[\"default\"])(Shortcut, _Component);\n\n function Shortcut(props, context) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, Shortcut);\n _this = (0, _possibleConstructorReturn2[\"default\"])(this, (0, _getPrototypeOf2[\"default\"])(Shortcut).call(this, props, context));\n _this.defaultShortcuts = [{\n keyCode: 32,\n // spacebar\n handle: _this.togglePlay\n }, {\n keyCode: 75,\n // k\n handle: _this.togglePlay\n }, {\n keyCode: 70,\n // f\n handle: _this.toggleFullscreen\n }, {\n keyCode: 37,\n // Left arrow\n handle: function handle(player, actions) {\n if (!player.hasStarted) {\n return;\n }\n\n actions.replay(5, {\n action: 'replay-5',\n source: 'shortcut'\n }); // Go back 5 seconds\n }\n }, {\n keyCode: 74,\n // j\n handle: function handle(player, actions) {\n if (!player.hasStarted) {\n return;\n }\n\n actions.replay(10, {\n action: 'replay-10',\n source: 'shortcut'\n }); // Go back 10 seconds\n }\n }, {\n keyCode: 39,\n // Right arrow\n handle: function handle(player, actions) {\n if (!player.hasStarted) {\n return;\n }\n\n actions.forward(5, {\n action: 'forward-5',\n source: 'shortcut'\n }); // Go forward 5 seconds\n }\n }, {\n keyCode: 76,\n // l\n handle: function handle(player, actions) {\n if (!player.hasStarted) {\n return;\n }\n\n actions.forward(10, {\n action: 'forward-10',\n source: 'shortcut'\n }); // Go forward 10 seconds\n }\n }, {\n keyCode: 36,\n // Home\n handle: function handle(player, actions) {\n if (!player.hasStarted) {\n return;\n }\n\n actions.seek(0); // Go to beginning of video\n }\n }, {\n keyCode: 35,\n // End\n handle: function handle(player, actions) {\n if (!player.hasStarted) {\n return;\n } // Go to end of video\n\n\n actions.seek(player.duration);\n }\n }, {\n keyCode: 38,\n // Up arrow\n handle: function handle(player, actions) {\n // Increase volume 5%\n var v = player.volume + 0.05;\n\n if (v > 1) {\n v = 1;\n }\n\n actions.changeVolume(v, {\n action: 'volume-up',\n source: 'shortcut'\n });\n }\n }, {\n keyCode: 40,\n // Down arrow\n handle: function handle(player, actions) {\n // Decrease volume 5%\n var v = player.volume - 0.05;\n\n if (v < 0) {\n v = 0;\n }\n\n var action = v > 0 ? 'volume-down' : 'volume-off';\n actions.changeVolume(v, {\n action: action,\n source: 'shortcut'\n });\n }\n }, {\n keyCode: 190,\n // Shift + >\n shift: true,\n handle: function handle(player, actions) {\n // Increase speed\n var playbackRate = player.playbackRate;\n\n if (playbackRate >= 1.5) {\n playbackRate = 2;\n } else if (playbackRate >= 1.25) {\n playbackRate = 1.5;\n } else if (playbackRate >= 1.0) {\n playbackRate = 1.25;\n } else if (playbackRate >= 0.5) {\n playbackRate = 1.0;\n } else if (playbackRate >= 0.25) {\n playbackRate = 0.5;\n } else if (playbackRate >= 0) {\n playbackRate = 0.25;\n }\n\n actions.changeRate(playbackRate, {\n action: 'fast-forward',\n source: 'shortcut'\n });\n }\n }, {\n keyCode: 188,\n // Shift + <\n shift: true,\n handle: function handle(player, actions) {\n // Decrease speed\n var playbackRate = player.playbackRate;\n\n if (playbackRate <= 0.5) {\n playbackRate = 0.25;\n } else if (playbackRate <= 1.0) {\n playbackRate = 0.5;\n } else if (playbackRate <= 1.25) {\n playbackRate = 1.0;\n } else if (playbackRate <= 1.5) {\n playbackRate = 1.25;\n } else if (playbackRate <= 2) {\n playbackRate = 1.5;\n }\n\n actions.changeRate(playbackRate, {\n action: 'fast-rewind',\n source: 'shortcut'\n });\n }\n }];\n _this.shortcuts = (0, _toConsumableArray2[\"default\"])(_this.defaultShortcuts);\n _this.mergeShortcuts = _this.mergeShortcuts.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleKeyPress = _this.handleKeyPress.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleClick = _this.handleClick.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleDoubleClick = _this.handleDoubleClick.bind((0, _assertThisInitialized2[\"default\"])(_this));\n return _this;\n }\n\n (0, _createClass2[\"default\"])(Shortcut, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.mergeShortcuts();\n document.addEventListener('keydown', this.handleKeyPress);\n document.addEventListener('click', this.handleClick);\n document.addEventListener('dblclick', this.handleDoubleClick);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n if (prevProps.shortcuts !== this.props.shortcuts) {\n this.mergeShortcuts();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n document.removeEventListener('keydown', this.handleKeyPress);\n document.removeEventListener('click', this.handleClick);\n document.removeEventListener('dblclick', this.handleDoubleClick);\n } // merge the shortcuts from props\n\n }, {\n key: \"mergeShortcuts\",\n value: function mergeShortcuts() {\n var getShortcutKey = function getShortcutKey(_ref) {\n var _ref$keyCode = _ref.keyCode,\n keyCode = _ref$keyCode === void 0 ? 0 : _ref$keyCode,\n _ref$ctrl = _ref.ctrl,\n ctrl = _ref$ctrl === void 0 ? false : _ref$ctrl,\n _ref$shift = _ref.shift,\n shift = _ref$shift === void 0 ? false : _ref$shift,\n _ref$alt = _ref.alt,\n alt = _ref$alt === void 0 ? false : _ref$alt;\n return \"\".concat(keyCode, \":\").concat(ctrl, \":\").concat(shift, \":\").concat(alt);\n };\n\n var defaultShortcuts = this.defaultShortcuts.reduce(function (shortcuts, shortcut) {\n return Object.assign(shortcuts, (0, _defineProperty2[\"default\"])({}, getShortcutKey(shortcut), shortcut));\n }, {});\n var mergedShortcuts = (this.props.shortcuts || []).reduce(function (shortcuts, shortcut) {\n var keyCode = shortcut.keyCode,\n handle = shortcut.handle;\n\n if (keyCode && typeof handle === 'function') {\n return Object.assign(shortcuts, (0, _defineProperty2[\"default\"])({}, getShortcutKey(shortcut), shortcut));\n }\n\n return shortcuts;\n }, defaultShortcuts);\n\n var gradeShortcut = function gradeShortcut(s) {\n var score = 0;\n var ps = ['ctrl', 'shift', 'alt'];\n ps.forEach(function (key) {\n if (s[key]) {\n score++;\n }\n });\n return score;\n };\n\n this.shortcuts = Object.keys(mergedShortcuts).map(function (key) {\n return mergedShortcuts[key];\n }).sort(function (a, b) {\n return gradeShortcut(b) - gradeShortcut(a);\n });\n }\n }, {\n key: \"togglePlay\",\n value: function togglePlay(player, actions) {\n if (player.paused) {\n actions.play({\n action: 'play',\n source: 'shortcut'\n });\n } else {\n actions.pause({\n action: 'pause',\n source: 'shortcut'\n });\n }\n }\n }, {\n key: \"toggleFullscreen\",\n value: function toggleFullscreen(player, actions) {\n actions.toggleFullscreen(player);\n }\n }, {\n key: \"handleKeyPress\",\n value: function handleKeyPress(e) {\n var _this$props = this.props,\n player = _this$props.player,\n actions = _this$props.actions;\n\n if (!player.isActive) {\n return;\n }\n\n if (document.activeElement && ((0, _dom.hasClass)(document.activeElement, 'video-react-control') || (0, _dom.hasClass)(document.activeElement, 'video-react-menu-button-active') // || hasClass(document.activeElement, 'video-react-slider')\n || (0, _dom.hasClass)(document.activeElement, 'video-react-big-play-button'))) {\n return;\n }\n\n var keyCode = e.keyCode || e.which;\n var ctrl = e.ctrlKey || e.metaKey;\n var shift = e.shiftKey;\n var alt = e.altKey;\n var shortcut = this.shortcuts.filter(function (s) {\n if (!s.keyCode || s.keyCode - keyCode !== 0) {\n return false;\n }\n\n if (s.ctrl !== undefined && s.ctrl !== ctrl || s.shift !== undefined && s.shift !== shift || s.alt !== undefined && s.alt !== alt) {\n return false;\n }\n\n return true;\n })[0];\n\n if (shortcut) {\n shortcut.handle(player, actions);\n e.preventDefault();\n }\n } // only if player is active and player is ready\n\n }, {\n key: \"canBeClicked\",\n value: function canBeClicked(player, e) {\n if (!player.isActive || e.target.nodeName !== 'VIDEO' || player.readyState !== 4) {\n return false;\n }\n\n return true;\n }\n }, {\n key: \"handleClick\",\n value: function handleClick(e) {\n var _this$props2 = this.props,\n player = _this$props2.player,\n actions = _this$props2.actions,\n clickable = _this$props2.clickable;\n\n if (!this.canBeClicked(player, e) || !clickable) {\n return;\n }\n\n this.togglePlay(player, actions); // e.preventDefault();\n }\n }, {\n key: \"handleDoubleClick\",\n value: function handleDoubleClick(e) {\n var _this$props3 = this.props,\n player = _this$props3.player,\n actions = _this$props3.actions,\n dblclickable = _this$props3.dblclickable;\n\n if (!this.canBeClicked(player, e) || !dblclickable) {\n return;\n }\n\n this.toggleFullscreen(player, actions); // e.preventDefault();\n } // this component dose not render anything\n // it's just for the key down event\n\n }, {\n key: \"render\",\n value: function render() {\n return null;\n }\n }]);\n return Shortcut;\n}(_react.Component);\n\nexports[\"default\"] = Shortcut;\nShortcut.propTypes = propTypes;\nShortcut.defaultProps = defaultProps;\nShortcut.displayName = 'Shortcut';","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar Dom = _interopRequireWildcard(require(\"../utils/dom\"));\n\nvar propTypes = {\n className: _propTypes[\"default\"].string,\n onMouseDown: _propTypes[\"default\"].func,\n onMouseMove: _propTypes[\"default\"].func,\n stepForward: _propTypes[\"default\"].func,\n stepBack: _propTypes[\"default\"].func,\n sliderActive: _propTypes[\"default\"].func,\n sliderInactive: _propTypes[\"default\"].func,\n onMouseUp: _propTypes[\"default\"].func,\n onFocus: _propTypes[\"default\"].func,\n onBlur: _propTypes[\"default\"].func,\n onClick: _propTypes[\"default\"].func,\n getPercent: _propTypes[\"default\"].func,\n vertical: _propTypes[\"default\"].bool,\n children: _propTypes[\"default\"].node,\n label: _propTypes[\"default\"].string,\n valuenow: _propTypes[\"default\"].string,\n valuetext: _propTypes[\"default\"].string\n};\n\nvar Slider =\n/*#__PURE__*/\nfunction (_Component) {\n (0, _inherits2[\"default\"])(Slider, _Component);\n\n function Slider(props, context) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, Slider);\n _this = (0, _possibleConstructorReturn2[\"default\"])(this, (0, _getPrototypeOf2[\"default\"])(Slider).call(this, props, context));\n _this.handleMouseDown = _this.handleMouseDown.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleMouseMove = _this.handleMouseMove.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleMouseUp = _this.handleMouseUp.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleFocus = _this.handleFocus.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleBlur = _this.handleBlur.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleClick = _this.handleClick.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleKeyPress = _this.handleKeyPress.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.stepForward = _this.stepForward.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.stepBack = _this.stepBack.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.calculateDistance = _this.calculateDistance.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.getProgress = _this.getProgress.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.renderChildren = _this.renderChildren.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.state = {\n active: false\n };\n return _this;\n }\n\n (0, _createClass2[\"default\"])(Slider, [{\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n document.removeEventListener('mousemove', this.handleMouseMove, true);\n document.removeEventListener('mouseup', this.handleMouseUp, true);\n document.removeEventListener('touchmove', this.handleMouseMove, true);\n document.removeEventListener('touchend', this.handleMouseUp, true);\n document.removeEventListener('keydown', this.handleKeyPress, true);\n }\n }, {\n key: \"getProgress\",\n value: function getProgress() {\n var getPercent = this.props.getPercent;\n\n if (!getPercent) {\n return 0;\n }\n\n var progress = getPercent(); // Protect against no duration and other division issues\n\n if (typeof progress !== 'number' || progress < 0 || progress === Infinity) {\n progress = 0;\n }\n\n return progress;\n }\n }, {\n key: \"handleMouseDown\",\n value: function handleMouseDown(event) {\n var onMouseDown = this.props.onMouseDown; // event.preventDefault();\n // event.stopPropagation();\n\n document.addEventListener('mousemove', this.handleMouseMove, true);\n document.addEventListener('mouseup', this.handleMouseUp, true);\n document.addEventListener('touchmove', this.handleMouseMove, true);\n document.addEventListener('touchend', this.handleMouseUp, true);\n this.setState({\n active: true\n });\n\n if (this.props.sliderActive) {\n this.props.sliderActive(event);\n }\n\n this.handleMouseMove(event);\n\n if (onMouseDown) {\n onMouseDown(event);\n }\n }\n }, {\n key: \"handleMouseMove\",\n value: function handleMouseMove(event) {\n var onMouseMove = this.props.onMouseMove;\n\n if (onMouseMove) {\n onMouseMove(event);\n }\n }\n }, {\n key: \"handleMouseUp\",\n value: function handleMouseUp(event) {\n // On iOS safari, a subsequent mouseup event will be fired after touchend.\n // Its weird event positions make the player seek a wrong time.\n // calling preventDefault (at touchend phase) will prevent the mouseup event\n event.preventDefault();\n var onMouseUp = this.props.onMouseUp;\n document.removeEventListener('mousemove', this.handleMouseMove, true);\n document.removeEventListener('mouseup', this.handleMouseUp, true);\n document.removeEventListener('touchmove', this.handleMouseMove, true);\n document.removeEventListener('touchend', this.handleMouseUp, true);\n this.setState({\n active: false\n });\n\n if (this.props.sliderInactive) {\n this.props.sliderInactive(event);\n }\n\n if (onMouseUp) {\n onMouseUp(event);\n }\n }\n }, {\n key: \"handleFocus\",\n value: function handleFocus(e) {\n document.addEventListener('keydown', this.handleKeyPress, true);\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n }\n }, {\n key: \"handleBlur\",\n value: function handleBlur(e) {\n document.removeEventListener('keydown', this.handleKeyPress, true);\n\n if (this.props.onBlur) {\n this.props.onBlur(e);\n }\n }\n }, {\n key: \"handleClick\",\n value: function handleClick(event) {\n event.preventDefault(); // event.stopPropagation();\n\n if (this.props.onClick) {\n this.props.onClick(event);\n }\n }\n }, {\n key: \"handleKeyPress\",\n value: function handleKeyPress(event) {\n if (event.which === 37 || event.which === 40) {\n // Left and Down Arrows\n event.preventDefault();\n event.stopPropagation();\n this.stepBack();\n } else if (event.which === 38 || event.which === 39) {\n // Up and Right Arrows\n event.preventDefault();\n event.stopPropagation();\n this.stepForward();\n }\n }\n }, {\n key: \"stepForward\",\n value: function stepForward() {\n if (this.props.stepForward) {\n this.props.stepForward();\n }\n }\n }, {\n key: \"stepBack\",\n value: function stepBack() {\n if (this.props.stepBack) {\n this.props.stepBack();\n }\n }\n }, {\n key: \"calculateDistance\",\n value: function calculateDistance(event) {\n var node = this.slider;\n var position = Dom.getPointerPosition(node, event);\n\n if (this.props.vertical) {\n return position.y;\n }\n\n return position.x;\n }\n }, {\n key: \"renderChildren\",\n value: function renderChildren() {\n var progress = this.getProgress();\n var percentage = \"\".concat((progress * 100).toFixed(2), \"%\");\n return _react[\"default\"].Children.map(this.props.children, function (child) {\n return _react[\"default\"].cloneElement(child, {\n progress: progress,\n percentage: percentage\n });\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props = this.props,\n vertical = _this$props.vertical,\n label = _this$props.label,\n valuenow = _this$props.valuenow,\n valuetext = _this$props.valuetext;\n return _react[\"default\"].createElement(\"div\", {\n className: (0, _classnames[\"default\"])(this.props.className, {\n 'video-react-slider-vertical': vertical,\n 'video-react-slider-horizontal': !vertical,\n 'video-react-sliding': this.state.active\n }, 'video-react-slider'),\n ref: function ref(c) {\n _this2.slider = c;\n },\n tabIndex: \"0\",\n role: \"slider\",\n onMouseDown: this.handleMouseDown,\n onTouchStart: this.handleMouseDown,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onClick: this.handleClick,\n \"aria-label\": label || '',\n \"aria-valuenow\": valuenow || '',\n \"aria-valuetext\": valuetext || '',\n \"aria-valuemin\": 0,\n \"aria-valuemax\": 100\n }, this.renderChildren());\n }\n }]);\n return Slider;\n}(_react.Component);\n\nexports[\"default\"] = Slider;\nSlider.propTypes = propTypes;\nSlider.displayName = 'Slider';","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = PlayProgressBar;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _utils = require(\"../../utils\");\n\nvar propTypes = {\n currentTime: _propTypes[\"default\"].number,\n duration: _propTypes[\"default\"].number,\n percentage: _propTypes[\"default\"].string,\n className: _propTypes[\"default\"].string\n}; // Shows play progress\n\nfunction PlayProgressBar(_ref) {\n var currentTime = _ref.currentTime,\n duration = _ref.duration,\n percentage = _ref.percentage,\n className = _ref.className;\n return _react[\"default\"].createElement(\"div\", {\n \"data-current-time\": (0, _utils.formatTime)(currentTime, duration),\n className: (0, _classnames[\"default\"])('video-react-play-progress video-react-slider-bar', className),\n style: {\n width: percentage\n }\n }, _react[\"default\"].createElement(\"span\", {\n className: \"video-react-control-text\"\n }, \"Progress: \".concat(percentage)));\n}\n\nPlayProgressBar.propTypes = propTypes;\nPlayProgressBar.displayName = 'PlayProgressBar';","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = LoadProgressBar;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar propTypes = {\n duration: _propTypes[\"default\"].number,\n buffered: _propTypes[\"default\"].object,\n className: _propTypes[\"default\"].string\n}; // Shows load progress\n\nfunction LoadProgressBar(_ref) {\n var buffered = _ref.buffered,\n duration = _ref.duration,\n className = _ref.className;\n\n if (!buffered || !buffered.length) {\n return null;\n }\n\n var bufferedEnd = buffered.end(buffered.length - 1);\n var style = {};\n\n if (bufferedEnd > duration) {\n bufferedEnd = duration;\n } // get the percent width of a time compared to the total end\n\n\n function percentify(time, end) {\n var percent = time / end || 0; // no NaN\n\n return \"\".concat((percent >= 1 ? 1 : percent) * 100, \"%\");\n } // the width of the progress bar\n\n\n style.width = percentify(bufferedEnd, duration);\n var parts = []; // add child elements to represent the individual buffered time ranges\n\n for (var i = 0; i < buffered.length; i++) {\n var start = buffered.start(i);\n var end = buffered.end(i); // set the percent based on the width of the progress bar (bufferedEnd)\n\n var part = _react[\"default\"].createElement(\"div\", {\n style: {\n left: percentify(start, bufferedEnd),\n width: percentify(end - start, bufferedEnd)\n },\n key: \"part-\".concat(i)\n });\n\n parts.push(part);\n }\n\n if (parts.length === 0) {\n parts = null;\n }\n\n return _react[\"default\"].createElement(\"div\", {\n style: style,\n className: (0, _classnames[\"default\"])('video-react-load-progress', className)\n }, _react[\"default\"].createElement(\"span\", {\n className: \"video-react-control-text\"\n }, \"Loaded: 0%\"), parts);\n}\n\nLoadProgressBar.propTypes = propTypes;\nLoadProgressBar.displayName = 'LoadProgressBar';","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _utils = require(\"../../utils\");\n\nfunction MouseTimeDisplay(_ref) {\n var duration = _ref.duration,\n mouseTime = _ref.mouseTime,\n className = _ref.className,\n text = _ref.text;\n\n if (!mouseTime.time) {\n return null;\n }\n\n var time = text || (0, _utils.formatTime)(mouseTime.time, duration);\n return _react[\"default\"].createElement(\"div\", {\n className: (0, _classnames[\"default\"])('video-react-mouse-display', className),\n style: {\n left: \"\".concat(mouseTime.position, \"px\")\n },\n \"data-current-time\": time\n });\n}\n\nMouseTimeDisplay.propTypes = {\n duration: _propTypes[\"default\"].number,\n mouseTime: _propTypes[\"default\"].object,\n className: _propTypes[\"default\"].string\n};\nMouseTimeDisplay.displayName = 'MouseTimeDisplay';\nvar _default = MouseTimeDisplay;\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _Slider = _interopRequireDefault(require(\"../Slider\"));\n\nvar _PlayProgressBar = _interopRequireDefault(require(\"./PlayProgressBar\"));\n\nvar _LoadProgressBar = _interopRequireDefault(require(\"./LoadProgressBar\"));\n\nvar _MouseTimeDisplay = _interopRequireDefault(require(\"./MouseTimeDisplay\"));\n\nvar _utils = require(\"../../utils\");\n\nvar propTypes = {\n player: _propTypes[\"default\"].object,\n mouseTime: _propTypes[\"default\"].object,\n actions: _propTypes[\"default\"].object,\n className: _propTypes[\"default\"].string\n};\n\nvar SeekBar =\n/*#__PURE__*/\nfunction (_Component) {\n (0, _inherits2[\"default\"])(SeekBar, _Component);\n\n function SeekBar(props, context) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, SeekBar);\n _this = (0, _possibleConstructorReturn2[\"default\"])(this, (0, _getPrototypeOf2[\"default\"])(SeekBar).call(this, props, context));\n _this.getPercent = _this.getPercent.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.getNewTime = _this.getNewTime.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.stepForward = _this.stepForward.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.stepBack = _this.stepBack.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleMouseDown = _this.handleMouseDown.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleMouseMove = _this.handleMouseMove.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleMouseUp = _this.handleMouseUp.bind((0, _assertThisInitialized2[\"default\"])(_this));\n return _this;\n }\n\n (0, _createClass2[\"default\"])(SeekBar, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {}\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {}\n /**\n * Get percentage of video played\n *\n * @return {Number} Percentage played\n * @method getPercent\n */\n\n }, {\n key: \"getPercent\",\n value: function getPercent() {\n var _this$props$player = this.props.player,\n currentTime = _this$props$player.currentTime,\n seekingTime = _this$props$player.seekingTime,\n duration = _this$props$player.duration;\n var time = seekingTime || currentTime;\n var percent = time / duration;\n return percent >= 1 ? 1 : percent;\n }\n }, {\n key: \"getNewTime\",\n value: function getNewTime(event) {\n var duration = this.props.player.duration;\n var distance = this.slider.calculateDistance(event);\n var newTime = distance * duration; // Don't let video end while scrubbing.\n\n return newTime === duration ? newTime - 0.1 : newTime;\n }\n }, {\n key: \"handleMouseDown\",\n value: function handleMouseDown() {}\n }, {\n key: \"handleMouseUp\",\n value: function handleMouseUp(event) {\n var actions = this.props.actions;\n var newTime = this.getNewTime(event); // Set new time (tell video to seek to new time)\n\n actions.seek(newTime);\n actions.handleEndSeeking(newTime);\n }\n }, {\n key: \"handleMouseMove\",\n value: function handleMouseMove(event) {\n var actions = this.props.actions;\n var newTime = this.getNewTime(event);\n actions.handleSeekingTime(newTime);\n }\n }, {\n key: \"stepForward\",\n value: function stepForward() {\n var actions = this.props.actions;\n actions.forward(5);\n }\n }, {\n key: \"stepBack\",\n value: function stepBack() {\n var actions = this.props.actions;\n actions.replay(5);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props = this.props,\n _this$props$player2 = _this$props.player,\n currentTime = _this$props$player2.currentTime,\n seekingTime = _this$props$player2.seekingTime,\n duration = _this$props$player2.duration,\n buffered = _this$props$player2.buffered,\n mouseTime = _this$props.mouseTime;\n var time = seekingTime || currentTime;\n return _react[\"default\"].createElement(_Slider[\"default\"], {\n ref: function ref(input) {\n _this2.slider = input;\n },\n label: \"video progress bar\",\n className: (0, _classnames[\"default\"])('video-react-progress-holder', this.props.className),\n valuenow: (this.getPercent() * 100).toFixed(2),\n valuetext: (0, _utils.formatTime)(time, duration),\n onMouseDown: this.handleMouseDown,\n onMouseMove: this.handleMouseMove,\n onMouseUp: this.handleMouseUp,\n getPercent: this.getPercent,\n stepForward: this.stepForward,\n stepBack: this.stepBack\n }, _react[\"default\"].createElement(_LoadProgressBar[\"default\"], {\n buffered: buffered,\n currentTime: time,\n duration: duration\n }), _react[\"default\"].createElement(_MouseTimeDisplay[\"default\"], {\n duration: duration,\n mouseTime: mouseTime\n }), _react[\"default\"].createElement(_PlayProgressBar[\"default\"], {\n currentTime: time,\n duration: duration\n }));\n }\n }]);\n return SeekBar;\n}(_react.Component);\n\nexports[\"default\"] = SeekBar;\nSeekBar.propTypes = propTypes;\nSeekBar.displayName = 'SeekBar';","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar Dom = _interopRequireWildcard(require(\"../../utils/dom\"));\n\nvar _SeekBar = _interopRequireDefault(require(\"./SeekBar\"));\n\nvar propTypes = {\n player: _propTypes[\"default\"].object,\n className: _propTypes[\"default\"].string\n};\n\nvar ProgressControl =\n/*#__PURE__*/\nfunction (_Component) {\n (0, _inherits2[\"default\"])(ProgressControl, _Component);\n\n function ProgressControl(props, context) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, ProgressControl);\n _this = (0, _possibleConstructorReturn2[\"default\"])(this, (0, _getPrototypeOf2[\"default\"])(ProgressControl).call(this, props, context));\n _this.state = {\n mouseTime: {\n time: null,\n position: 0\n }\n };\n _this.handleMouseMoveThrottle = _this.handleMouseMove.bind((0, _assertThisInitialized2[\"default\"])(_this));\n return _this;\n }\n\n (0, _createClass2[\"default\"])(ProgressControl, [{\n key: \"handleMouseMove\",\n value: function handleMouseMove(event) {\n if (!event.pageX) {\n return;\n }\n\n var duration = this.props.player.duration;\n var node = this.seekBar;\n var newTime = Dom.getPointerPosition(node, event).x * duration;\n var position = event.pageX - Dom.findElPosition(node).left;\n this.setState({\n mouseTime: {\n time: newTime,\n position: position\n }\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var className = this.props.className;\n return _react[\"default\"].createElement(\"div\", {\n onMouseMove: this.handleMouseMoveThrottle,\n className: (0, _classnames[\"default\"])('video-react-progress-control video-react-control', className)\n }, _react[\"default\"].createElement(_SeekBar[\"default\"], (0, _extends2[\"default\"])({\n mouseTime: this.state.mouseTime,\n ref: function ref(c) {\n _this2.seekBar = c;\n }\n }, this.props)));\n }\n }]);\n return ProgressControl;\n}(_react.Component);\n\nexports[\"default\"] = ProgressControl;\nProgressControl.propTypes = propTypes;\nProgressControl.displayName = 'ProgressControl';","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar propTypes = {\n actions: _propTypes[\"default\"].object,\n player: _propTypes[\"default\"].object,\n className: _propTypes[\"default\"].string\n};\n\nvar PlayToggle =\n/*#__PURE__*/\nfunction (_Component) {\n (0, _inherits2[\"default\"])(PlayToggle, _Component);\n\n function PlayToggle(props, context) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, PlayToggle);\n _this = (0, _possibleConstructorReturn2[\"default\"])(this, (0, _getPrototypeOf2[\"default\"])(PlayToggle).call(this, props, context));\n _this.handleClick = _this.handleClick.bind((0, _assertThisInitialized2[\"default\"])(_this));\n return _this;\n }\n\n (0, _createClass2[\"default\"])(PlayToggle, [{\n key: \"handleClick\",\n value: function handleClick() {\n var _this$props = this.props,\n actions = _this$props.actions,\n player = _this$props.player;\n\n if (player.paused) {\n actions.play();\n } else {\n actions.pause();\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props2 = this.props,\n player = _this$props2.player,\n className = _this$props2.className;\n var controlText = player.paused ? 'Play' : 'Pause';\n return _react[\"default\"].createElement(\"button\", {\n ref: function ref(c) {\n _this2.button = c;\n },\n className: (0, _classnames[\"default\"])(className, {\n 'video-react-play-control': true,\n 'video-react-control': true,\n 'video-react-button': true,\n 'video-react-paused': player.paused,\n 'video-react-playing': !player.paused\n }),\n type: \"button\",\n tabIndex: \"0\",\n onClick: this.handleClick\n }, _react[\"default\"].createElement(\"span\", {\n className: \"video-react-control-text\"\n }, controlText));\n }\n }]);\n return PlayToggle;\n}(_react.Component);\n\nexports[\"default\"] = PlayToggle;\nPlayToggle.propTypes = propTypes;\nPlayToggle.displayName = 'PlayToggle';","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar propTypes = {\n actions: _propTypes[\"default\"].object,\n className: _propTypes[\"default\"].string,\n seconds: _propTypes[\"default\"].oneOf([5, 10, 30])\n};\nvar defaultProps = {\n seconds: 10\n};\n\nvar _default = function _default(mode) {\n var ForwardReplayControl =\n /*#__PURE__*/\n function (_Component) {\n (0, _inherits2[\"default\"])(ForwardReplayControl, _Component);\n\n function ForwardReplayControl(props, context) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, ForwardReplayControl);\n _this = (0, _possibleConstructorReturn2[\"default\"])(this, (0, _getPrototypeOf2[\"default\"])(ForwardReplayControl).call(this, props, context));\n _this.handleClick = _this.handleClick.bind((0, _assertThisInitialized2[\"default\"])(_this));\n return _this;\n }\n\n (0, _createClass2[\"default\"])(ForwardReplayControl, [{\n key: \"handleClick\",\n value: function handleClick() {\n var _this$props = this.props,\n actions = _this$props.actions,\n seconds = _this$props.seconds; // Depends mode to implement different actions\n\n if (mode === 'forward') {\n actions.forward(seconds);\n } else {\n actions.replay(seconds);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props2 = this.props,\n seconds = _this$props2.seconds,\n className = _this$props2.className;\n var classNames = ['video-react-control', 'video-react-button', 'video-react-icon'];\n classNames.push(\"video-react-icon-\".concat(mode, \"-\").concat(seconds), \"video-react-\".concat(mode, \"-control\"));\n\n if (className) {\n classNames.push(className);\n }\n\n return _react[\"default\"].createElement(\"button\", {\n ref: function ref(c) {\n _this2.button = c;\n },\n className: classNames.join(' '),\n type: \"button\",\n onClick: this.handleClick\n }, _react[\"default\"].createElement(\"span\", {\n className: \"video-react-control-text\"\n }, \"\".concat(mode, \" \").concat(seconds, \" seconds\")));\n }\n }]);\n return ForwardReplayControl;\n }(_react.Component);\n\n ForwardReplayControl.propTypes = propTypes;\n ForwardReplayControl.defaultProps = defaultProps;\n return ForwardReplayControl;\n};\n\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _ForwardReplayControl = _interopRequireDefault(require(\"./ForwardReplayControl\"));\n\n// Pass mode into parent function\nvar ForwardControl = (0, _ForwardReplayControl[\"default\"])('forward');\nForwardControl.displayName = 'ForwardControl';\nvar _default = ForwardControl;\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _ForwardReplayControl = _interopRequireDefault(require(\"./ForwardReplayControl\"));\n\n// Pass mode into parent function\nvar ReplayControl = (0, _ForwardReplayControl[\"default\"])('replay');\nReplayControl.displayName = 'ReplayControl';\nvar _default = ReplayControl;\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar propTypes = {\n actions: _propTypes[\"default\"].object,\n player: _propTypes[\"default\"].object,\n className: _propTypes[\"default\"].string\n};\n\nvar FullscreenToggle =\n/*#__PURE__*/\nfunction (_Component) {\n (0, _inherits2[\"default\"])(FullscreenToggle, _Component);\n\n function FullscreenToggle(props, context) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, FullscreenToggle);\n _this = (0, _possibleConstructorReturn2[\"default\"])(this, (0, _getPrototypeOf2[\"default\"])(FullscreenToggle).call(this, props, context));\n _this.handleClick = _this.handleClick.bind((0, _assertThisInitialized2[\"default\"])(_this));\n return _this;\n }\n\n (0, _createClass2[\"default\"])(FullscreenToggle, [{\n key: \"handleClick\",\n value: function handleClick() {\n var _this$props = this.props,\n player = _this$props.player,\n actions = _this$props.actions;\n actions.toggleFullscreen(player);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props2 = this.props,\n player = _this$props2.player,\n className = _this$props2.className;\n return _react[\"default\"].createElement(\"button\", {\n className: (0, _classnames[\"default\"])(className, {\n 'video-react-icon-fullscreen-exit': player.isFullscreen,\n 'video-react-icon-fullscreen': !player.isFullscreen\n }, 'video-react-fullscreen-control video-react-control video-react-button video-react-icon'),\n ref: function ref(c) {\n _this2.button = c;\n },\n type: \"button\",\n tabIndex: \"0\",\n onClick: this.handleClick\n }, _react[\"default\"].createElement(\"span\", {\n className: \"video-react-control-text\"\n }, \"Non-Fullscreen\"));\n }\n }]);\n return FullscreenToggle;\n}(_react.Component);\n\nexports[\"default\"] = FullscreenToggle;\nFullscreenToggle.propTypes = propTypes;\nFullscreenToggle.displayName = 'FullscreenToggle';","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _utils = require(\"../../utils\");\n\nvar propTypes = {\n player: _propTypes[\"default\"].object,\n className: _propTypes[\"default\"].string\n};\n\nfunction RemainingTimeDisplay(_ref) {\n var _ref$player = _ref.player,\n currentTime = _ref$player.currentTime,\n duration = _ref$player.duration,\n className = _ref.className;\n var remainingTime = duration - currentTime;\n var formattedTime = (0, _utils.formatTime)(remainingTime);\n return _react[\"default\"].createElement(\"div\", {\n className: (0, _classnames[\"default\"])('video-react-remaining-time video-react-time-control video-react-control', className)\n }, _react[\"default\"].createElement(\"div\", {\n className: \"video-react-remaining-time-display\",\n \"aria-live\": \"off\"\n }, _react[\"default\"].createElement(\"span\", {\n className: \"video-react-control-text\"\n }, \"Remaining Time \"), \"-\".concat(formattedTime)));\n}\n\nRemainingTimeDisplay.propTypes = propTypes;\nRemainingTimeDisplay.displayName = 'RemainingTimeDisplay';\nvar _default = RemainingTimeDisplay;\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _utils = require(\"../../utils\");\n\nvar propTypes = {\n player: _propTypes[\"default\"].object,\n className: _propTypes[\"default\"].string\n};\n\nfunction CurrentTimeDisplay(_ref) {\n var _ref$player = _ref.player,\n currentTime = _ref$player.currentTime,\n duration = _ref$player.duration,\n className = _ref.className;\n var formattedTime = (0, _utils.formatTime)(currentTime, duration);\n return _react[\"default\"].createElement(\"div\", {\n className: (0, _classnames[\"default\"])('video-react-current-time video-react-time-control video-react-control', className)\n }, _react[\"default\"].createElement(\"div\", {\n className: \"video-react-current-time-display\",\n \"aria-live\": \"off\"\n }, _react[\"default\"].createElement(\"span\", {\n className: \"video-react-control-text\"\n }, \"Current Time \"), formattedTime));\n}\n\nCurrentTimeDisplay.propTypes = propTypes;\nCurrentTimeDisplay.displayName = 'CurrentTimeDisplay';\nvar _default = CurrentTimeDisplay;\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _utils = require(\"../../utils\");\n\nvar propTypes = {\n player: _propTypes[\"default\"].object,\n className: _propTypes[\"default\"].string\n};\n\nfunction DurationDisplay(_ref) {\n var duration = _ref.player.duration,\n className = _ref.className;\n var formattedTime = (0, _utils.formatTime)(duration);\n return _react[\"default\"].createElement(\"div\", {\n className: (0, _classnames[\"default\"])(className, 'video-react-duration video-react-time-control video-react-control')\n }, _react[\"default\"].createElement(\"div\", {\n className: \"video-react-duration-display\",\n \"aria-live\": \"off\"\n }, _react[\"default\"].createElement(\"span\", {\n className: \"video-react-control-text\"\n }, \"Duration Time \"), formattedTime));\n}\n\nDurationDisplay.propTypes = propTypes;\nDurationDisplay.displayName = 'DurationDisplay';\nvar _default = DurationDisplay;\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = TimeDivider;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar propTypes = {\n separator: _propTypes[\"default\"].string,\n className: _propTypes[\"default\"].string\n};\n\nfunction TimeDivider(_ref) {\n var separator = _ref.separator,\n className = _ref.className;\n var separatorText = separator || '/';\n return _react[\"default\"].createElement(\"div\", {\n className: (0, _classnames[\"default\"])('video-react-time-control video-react-time-divider', className),\n dir: \"ltr\"\n }, _react[\"default\"].createElement(\"div\", null, _react[\"default\"].createElement(\"span\", null, separatorText)));\n}\n\nTimeDivider.propTypes = propTypes;\nTimeDivider.displayName = 'TimeDivider';","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar propTypes = {\n tagName: _propTypes[\"default\"].string,\n onClick: _propTypes[\"default\"].func.isRequired,\n onFocus: _propTypes[\"default\"].func,\n onBlur: _propTypes[\"default\"].func,\n className: _propTypes[\"default\"].string\n};\nvar defaultProps = {\n tagName: 'div'\n};\n\nvar ClickableComponent =\n/*#__PURE__*/\nfunction (_Component) {\n (0, _inherits2[\"default\"])(ClickableComponent, _Component);\n\n function ClickableComponent(props, context) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, ClickableComponent);\n _this = (0, _possibleConstructorReturn2[\"default\"])(this, (0, _getPrototypeOf2[\"default\"])(ClickableComponent).call(this, props, context));\n _this.handleClick = _this.handleClick.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleFocus = _this.handleFocus.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleBlur = _this.handleBlur.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleKeypress = _this.handleKeypress.bind((0, _assertThisInitialized2[\"default\"])(_this));\n return _this;\n }\n\n (0, _createClass2[\"default\"])(ClickableComponent, [{\n key: \"componentWillUnmount\",\n value: function componentWillUnmount(e) {\n this.handleBlur(e);\n }\n }, {\n key: \"handleKeypress\",\n value: function handleKeypress(event) {\n // Support Space (32) or Enter (13) key operation to fire a click event\n if (event.which === 32 || event.which === 13) {\n event.preventDefault();\n this.handleClick(event);\n }\n }\n }, {\n key: \"handleClick\",\n value: function handleClick(event) {\n var onClick = this.props.onClick;\n onClick(event);\n }\n }, {\n key: \"handleFocus\",\n value: function handleFocus(e) {\n document.addEventListener('keydown', this.handleKeypress);\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n }\n }, {\n key: \"handleBlur\",\n value: function handleBlur(e) {\n document.removeEventListener('keydown', this.handleKeypress);\n\n if (this.props.onBlur) {\n this.props.onBlur(e);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var Tag = this.props.tagName;\n var props = (0, _objectSpread2[\"default\"])({}, this.props);\n delete props.tagName;\n delete props.className;\n return _react[\"default\"].createElement(Tag, (0, _extends2[\"default\"])({\n className: (0, _classnames[\"default\"])(this.props.className),\n role: \"button\",\n tabIndex: \"0\",\n onClick: this.handleClick,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur\n }, props));\n }\n }]);\n return ClickableComponent;\n}(_react.Component);\n\nexports[\"default\"] = ClickableComponent;\nClickableComponent.propTypes = propTypes;\nClickableComponent.defaultProps = defaultProps;\nClickableComponent.displayName = 'ClickableComponent';","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar propTypes = {\n player: _propTypes[\"default\"].object,\n children: _propTypes[\"default\"].any\n};\n\nvar Popup =\n/*#__PURE__*/\nfunction (_Component) {\n (0, _inherits2[\"default\"])(Popup, _Component);\n\n function Popup(props, context) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, Popup);\n _this = (0, _possibleConstructorReturn2[\"default\"])(this, (0, _getPrototypeOf2[\"default\"])(Popup).call(this, props, context));\n _this.handleClick = _this.handleClick.bind((0, _assertThisInitialized2[\"default\"])(_this));\n return _this;\n }\n\n (0, _createClass2[\"default\"])(Popup, [{\n key: \"handleClick\",\n value: function handleClick(event) {\n event.preventDefault(); // event.stopPropagation();\n }\n }, {\n key: \"render\",\n value: function render() {\n var children = this.props.children;\n return _react[\"default\"].createElement(\"div\", {\n className: \"video-react-menu\",\n onClick: this.handleClick\n }, _react[\"default\"].createElement(\"div\", {\n className: \"video-react-menu-content\"\n }, children));\n }\n }]);\n return Popup;\n}(_react.Component);\n\nexports[\"default\"] = Popup;\nPopup.propTypes = propTypes;\nPopup.displayName = 'Popup';","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = PopupButton;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _ClickableComponent = _interopRequireDefault(require(\"../ClickableComponent\"));\n\nvar _Popup = _interopRequireDefault(require(\"./Popup\"));\n\nvar propTypes = {\n inline: _propTypes[\"default\"].bool,\n onClick: _propTypes[\"default\"].func.isRequired,\n onFocus: _propTypes[\"default\"].func,\n onBlur: _propTypes[\"default\"].func,\n className: _propTypes[\"default\"].string\n};\nvar defaultProps = {\n inline: true\n};\n\nfunction PopupButton(props) {\n var inline = props.inline,\n className = props.className;\n var ps = (0, _objectSpread2[\"default\"])({}, props);\n delete ps.children;\n delete ps.inline;\n delete ps.className;\n return _react[\"default\"].createElement(_ClickableComponent[\"default\"], (0, _extends2[\"default\"])({\n className: (0, _classnames[\"default\"])(className, {\n 'video-react-menu-button-inline': !!inline,\n 'video-react-menu-button-popup': !inline\n }, 'video-react-control video-react-button video-react-menu-button')\n }, ps), _react[\"default\"].createElement(_Popup[\"default\"], props));\n}\n\nPopupButton.propTypes = propTypes;\nPopupButton.defaultProps = defaultProps;\nPopupButton.displayName = 'PopupButton';","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar propTypes = {\n percentage: _propTypes[\"default\"].string,\n vertical: _propTypes[\"default\"].bool,\n className: _propTypes[\"default\"].string\n};\nvar defaultProps = {\n percentage: '100%',\n vertical: false\n};\n\nfunction VolumeLevel(_ref) {\n var percentage = _ref.percentage,\n vertical = _ref.vertical,\n className = _ref.className;\n var style = {};\n\n if (vertical) {\n style.height = percentage;\n } else {\n style.width = percentage;\n }\n\n return _react[\"default\"].createElement(\"div\", {\n className: (0, _classnames[\"default\"])(className, 'video-react-volume-level'),\n style: style\n }, _react[\"default\"].createElement(\"span\", {\n className: \"video-react-control-text\"\n }));\n}\n\nVolumeLevel.propTypes = propTypes;\nVolumeLevel.defaultProps = defaultProps;\nVolumeLevel.displayName = 'VolumeLevel';\nvar _default = VolumeLevel;\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _Slider = _interopRequireDefault(require(\"../Slider\"));\n\nvar _VolumeLevel = _interopRequireDefault(require(\"./VolumeLevel\"));\n\nvar propTypes = {\n actions: _propTypes[\"default\"].object,\n player: _propTypes[\"default\"].object,\n className: _propTypes[\"default\"].string,\n onFocus: _propTypes[\"default\"].func,\n onBlur: _propTypes[\"default\"].func\n};\n\nvar VolumeBar =\n/*#__PURE__*/\nfunction (_Component) {\n (0, _inherits2[\"default\"])(VolumeBar, _Component);\n\n function VolumeBar(props, context) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, VolumeBar);\n _this = (0, _possibleConstructorReturn2[\"default\"])(this, (0, _getPrototypeOf2[\"default\"])(VolumeBar).call(this, props, context));\n _this.state = {\n percentage: '0%'\n };\n _this.handleMouseMove = _this.handleMouseMove.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handlePercentageChange = _this.handlePercentageChange.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.checkMuted = _this.checkMuted.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.getPercent = _this.getPercent.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.stepForward = _this.stepForward.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.stepBack = _this.stepBack.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleFocus = _this.handleFocus.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleBlur = _this.handleBlur.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleClick = _this.handleClick.bind((0, _assertThisInitialized2[\"default\"])(_this));\n return _this;\n }\n\n (0, _createClass2[\"default\"])(VolumeBar, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {}\n }, {\n key: \"getPercent\",\n value: function getPercent() {\n var player = this.props.player;\n\n if (player.muted) {\n return 0;\n }\n\n return player.volume;\n }\n }, {\n key: \"checkMuted\",\n value: function checkMuted() {\n var _this$props = this.props,\n player = _this$props.player,\n actions = _this$props.actions;\n\n if (player.muted) {\n actions.mute(false);\n }\n }\n }, {\n key: \"handleMouseMove\",\n value: function handleMouseMove(event) {\n var actions = this.props.actions;\n this.checkMuted();\n var distance = this.slider.calculateDistance(event);\n actions.changeVolume(distance);\n }\n }, {\n key: \"stepForward\",\n value: function stepForward() {\n var _this$props2 = this.props,\n player = _this$props2.player,\n actions = _this$props2.actions;\n this.checkMuted();\n actions.changeVolume(player.volume + 0.1);\n }\n }, {\n key: \"stepBack\",\n value: function stepBack() {\n var _this$props3 = this.props,\n player = _this$props3.player,\n actions = _this$props3.actions;\n this.checkMuted();\n actions.changeVolume(player.volume - 0.1);\n }\n }, {\n key: \"handleFocus\",\n value: function handleFocus(e) {\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n }\n }, {\n key: \"handleBlur\",\n value: function handleBlur(e) {\n if (this.props.onBlur) {\n this.props.onBlur(e);\n }\n }\n }, {\n key: \"handlePercentageChange\",\n value: function handlePercentageChange(percentage) {\n if (percentage !== this.state.percentage) {\n this.setState({\n percentage: percentage\n });\n }\n }\n }, {\n key: \"handleClick\",\n value: function handleClick(event) {\n event.stopPropagation();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props4 = this.props,\n player = _this$props4.player,\n className = _this$props4.className;\n var volume = (player.volume * 100).toFixed(2);\n return _react[\"default\"].createElement(_Slider[\"default\"], (0, _extends2[\"default\"])({\n ref: function ref(c) {\n _this2.slider = c;\n },\n label: \"volume level\",\n valuenow: volume,\n valuetext: \"\".concat(volume, \"%\"),\n onMouseMove: this.handleMouseMove,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onClick: this.handleClick,\n sliderActive: this.handleFocus,\n sliderInactive: this.handleBlur,\n getPercent: this.getPercent,\n onPercentageChange: this.handlePercentageChange,\n stepForward: this.stepForward,\n stepBack: this.stepBack\n }, this.props, {\n className: (0, _classnames[\"default\"])(className, 'video-react-volume-bar video-react-slider-bar')\n }), _react[\"default\"].createElement(_VolumeLevel[\"default\"], this.props));\n }\n }]);\n return VolumeBar;\n}(_react.Component);\n\nVolumeBar.propTypes = propTypes;\nVolumeBar.displayName = 'VolumeBar';\nvar _default = VolumeBar;\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _PopupButton = _interopRequireDefault(require(\"../popup/PopupButton\"));\n\nvar _VolumeBar = _interopRequireDefault(require(\"../volume-control/VolumeBar\"));\n\nvar propTypes = {\n player: _propTypes[\"default\"].object,\n actions: _propTypes[\"default\"].object,\n vertical: _propTypes[\"default\"].bool,\n className: _propTypes[\"default\"].string,\n alwaysShowVolume: _propTypes[\"default\"].bool\n};\nvar defaultProps = {\n vertical: false\n};\n\nvar VolumeMenuButton =\n/*#__PURE__*/\nfunction (_Component) {\n (0, _inherits2[\"default\"])(VolumeMenuButton, _Component);\n\n function VolumeMenuButton(props, context) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, VolumeMenuButton);\n _this = (0, _possibleConstructorReturn2[\"default\"])(this, (0, _getPrototypeOf2[\"default\"])(VolumeMenuButton).call(this, props, context));\n _this.state = {\n active: false\n };\n _this.handleClick = _this.handleClick.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleFocus = _this.handleFocus.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleBlur = _this.handleBlur.bind((0, _assertThisInitialized2[\"default\"])(_this));\n return _this;\n }\n\n (0, _createClass2[\"default\"])(VolumeMenuButton, [{\n key: \"handleClick\",\n value: function handleClick() {\n var _this$props = this.props,\n player = _this$props.player,\n actions = _this$props.actions;\n actions.mute(!player.muted);\n }\n }, {\n key: \"handleFocus\",\n value: function handleFocus() {\n this.setState({\n active: true\n });\n }\n }, {\n key: \"handleBlur\",\n value: function handleBlur() {\n this.setState({\n active: false\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n vertical = _this$props2.vertical,\n player = _this$props2.player,\n className = _this$props2.className;\n var inline = !vertical;\n var level = this.volumeLevel;\n return _react[\"default\"].createElement(_PopupButton[\"default\"], {\n className: (0, _classnames[\"default\"])(className, {\n 'video-react-volume-menu-button-vertical': vertical,\n 'video-react-volume-menu-button-horizontal': !vertical,\n 'video-react-vol-muted': player.muted,\n 'video-react-vol-0': level === 0 && !player.muted,\n 'video-react-vol-1': level === 1,\n 'video-react-vol-2': level === 2,\n 'video-react-vol-3': level === 3,\n 'video-react-slider-active': this.props.alwaysShowVolume || this.state.active,\n 'video-react-lock-showing': this.props.alwaysShowVolume || this.state.active\n }, 'video-react-volume-menu-button'),\n onClick: this.handleClick,\n inline: inline\n }, _react[\"default\"].createElement(_VolumeBar[\"default\"], (0, _extends2[\"default\"])({\n onFocus: this.handleFocus,\n onBlur: this.handleBlur\n }, this.props)));\n }\n }, {\n key: \"volumeLevel\",\n get: function get() {\n var _this$props$player = this.props.player,\n volume = _this$props$player.volume,\n muted = _this$props$player.muted;\n var level = 3;\n\n if (volume === 0 || muted) {\n level = 0;\n } else if (volume < 0.33) {\n level = 1;\n } else if (volume < 0.67) {\n level = 2;\n }\n\n return level;\n }\n }]);\n return VolumeMenuButton;\n}(_react.Component);\n\nVolumeMenuButton.propTypes = propTypes;\nVolumeMenuButton.defaultProps = defaultProps;\nVolumeMenuButton.displayName = 'VolumeMenuButton';\nvar _default = VolumeMenuButton;\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar propTypes = {\n children: _propTypes[\"default\"].any\n};\n\nvar Menu =\n/*#__PURE__*/\nfunction (_Component) {\n (0, _inherits2[\"default\"])(Menu, _Component);\n\n function Menu(props, context) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, Menu);\n _this = (0, _possibleConstructorReturn2[\"default\"])(this, (0, _getPrototypeOf2[\"default\"])(Menu).call(this, props, context));\n _this.handleClick = _this.handleClick.bind((0, _assertThisInitialized2[\"default\"])(_this));\n return _this;\n }\n\n (0, _createClass2[\"default\"])(Menu, [{\n key: \"handleClick\",\n value: function handleClick(event) {\n event.preventDefault(); // event.stopPropagation();\n }\n }, {\n key: \"render\",\n value: function render() {\n return _react[\"default\"].createElement(\"div\", {\n className: \"video-react-menu video-react-lock-showing\",\n role: \"presentation\",\n onClick: this.handleClick\n }, _react[\"default\"].createElement(\"ul\", {\n className: \"video-react-menu-content\"\n }, this.props.children));\n }\n }]);\n return Menu;\n}(_react.Component);\n\nexports[\"default\"] = Menu;\nMenu.propTypes = propTypes;\nMenu.displayName = 'Menu';","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar propTypes = {\n item: _propTypes[\"default\"].object,\n index: _propTypes[\"default\"].number,\n activateIndex: _propTypes[\"default\"].number,\n onSelectItem: _propTypes[\"default\"].func\n};\n\nvar MenuItem =\n/*#__PURE__*/\nfunction (_Component) {\n (0, _inherits2[\"default\"])(MenuItem, _Component);\n\n function MenuItem(props, context) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, MenuItem);\n _this = (0, _possibleConstructorReturn2[\"default\"])(this, (0, _getPrototypeOf2[\"default\"])(MenuItem).call(this, props, context));\n _this.handleClick = _this.handleClick.bind((0, _assertThisInitialized2[\"default\"])(_this));\n return _this;\n }\n\n (0, _createClass2[\"default\"])(MenuItem, [{\n key: \"handleClick\",\n value: function handleClick() {\n var _this$props = this.props,\n index = _this$props.index,\n onSelectItem = _this$props.onSelectItem;\n onSelectItem(index);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n item = _this$props2.item,\n index = _this$props2.index,\n activateIndex = _this$props2.activateIndex;\n return _react[\"default\"].createElement(\"li\", {\n className: (0, _classnames[\"default\"])({\n 'video-react-menu-item': true,\n 'video-react-selected': index === activateIndex\n }),\n role: \"menuitem\",\n onClick: this.handleClick\n }, item.label, _react[\"default\"].createElement(\"span\", {\n className: \"video-react-control-text\"\n }));\n }\n }]);\n return MenuItem;\n}(_react.Component);\n\nexports[\"default\"] = MenuItem;\nMenuItem.propTypes = propTypes;\nMenuItem.displayName = 'MenuItem';","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _Menu = _interopRequireDefault(require(\"./Menu\"));\n\nvar _MenuItem = _interopRequireDefault(require(\"./MenuItem\"));\n\nvar _ClickableComponent = _interopRequireDefault(require(\"../ClickableComponent\"));\n\nvar propTypes = {\n inline: _propTypes[\"default\"].bool,\n items: _propTypes[\"default\"].array,\n className: _propTypes[\"default\"].string,\n onSelectItem: _propTypes[\"default\"].func,\n children: _propTypes[\"default\"].any,\n selectedIndex: _propTypes[\"default\"].number\n};\n\nvar MenuButton =\n/*#__PURE__*/\nfunction (_Component) {\n (0, _inherits2[\"default\"])(MenuButton, _Component);\n\n function MenuButton(props, context) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, MenuButton);\n _this = (0, _possibleConstructorReturn2[\"default\"])(this, (0, _getPrototypeOf2[\"default\"])(MenuButton).call(this, props, context));\n _this.state = {\n active: false,\n activateIndex: props.selectedIndex || 0\n };\n _this.commitSelection = _this.commitSelection.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.activateMenuItem = _this.activateMenuItem.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleClick = _this.handleClick.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.renderMenu = _this.renderMenu.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleFocus = _this.handleFocus.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleBlur = _this.handleBlur.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleUpArrow = _this.handleUpArrow.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleDownArrow = _this.handleDownArrow.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleEscape = _this.handleEscape.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleReturn = _this.handleReturn.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleTab = _this.handleTab.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleKeyPress = _this.handleKeyPress.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleSelectItem = _this.handleSelectItem.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleIndexChange = _this.handleIndexChange.bind((0, _assertThisInitialized2[\"default\"])(_this));\n return _this;\n }\n\n (0, _createClass2[\"default\"])(MenuButton, [{\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n if (prevProps.selectedIndex !== this.props.selectedIndex) {\n this.activateMenuItem(this.props.selectedIndex);\n }\n }\n }, {\n key: \"commitSelection\",\n value: function commitSelection(index) {\n this.setState({\n activateIndex: index\n });\n this.handleIndexChange(index);\n }\n }, {\n key: \"activateMenuItem\",\n value: function activateMenuItem(index) {\n this.setState({\n activateIndex: index\n });\n this.handleIndexChange(index);\n }\n }, {\n key: \"handleIndexChange\",\n value: function handleIndexChange(index) {\n var onSelectItem = this.props.onSelectItem;\n onSelectItem(index);\n }\n }, {\n key: \"handleClick\",\n value: function handleClick() {\n this.setState(function (prevState) {\n return {\n active: !prevState.active\n };\n });\n }\n }, {\n key: \"handleFocus\",\n value: function handleFocus() {\n document.addEventListener('keydown', this.handleKeyPress);\n }\n }, {\n key: \"handleBlur\",\n value: function handleBlur() {\n this.setState({\n active: false\n });\n document.removeEventListener('keydown', this.handleKeyPress);\n }\n }, {\n key: \"handleUpArrow\",\n value: function handleUpArrow(e) {\n var items = this.props.items;\n\n if (this.state.active) {\n e.preventDefault();\n var newIndex = this.state.activateIndex - 1;\n\n if (newIndex < 0) {\n newIndex = items.length ? items.length - 1 : 0;\n }\n\n this.activateMenuItem(newIndex);\n }\n }\n }, {\n key: \"handleDownArrow\",\n value: function handleDownArrow(e) {\n var items = this.props.items;\n\n if (this.state.active) {\n e.preventDefault();\n var newIndex = this.state.activateIndex + 1;\n\n if (newIndex >= items.length) {\n newIndex = 0;\n }\n\n this.activateMenuItem(newIndex);\n }\n }\n }, {\n key: \"handleTab\",\n value: function handleTab(e) {\n if (this.state.active) {\n e.preventDefault();\n this.commitSelection(this.state.activateIndex);\n }\n }\n }, {\n key: \"handleReturn\",\n value: function handleReturn(e) {\n e.preventDefault();\n\n if (this.state.active) {\n this.commitSelection(this.state.activateIndex);\n } else {\n this.setState({\n active: true\n });\n }\n }\n }, {\n key: \"handleEscape\",\n value: function handleEscape() {\n this.setState({\n active: false,\n activateIndex: 0\n });\n }\n }, {\n key: \"handleKeyPress\",\n value: function handleKeyPress(event) {\n // Escape (27) key\n if (event.which === 27) {\n this.handleEscape(event);\n } else if (event.which === 9) {\n // Tab (9) key\n this.handleTab(event);\n } else if (event.which === 13) {\n // Enter (13) key\n this.handleReturn(event);\n } else if (event.which === 38) {\n // Up (38) key\n this.handleUpArrow(event);\n } else if (event.which === 40) {\n // Down (40) key press\n this.handleDownArrow(event);\n }\n }\n }, {\n key: \"handleSelectItem\",\n value: function handleSelectItem(i) {\n this.commitSelection(i);\n }\n }, {\n key: \"renderMenu\",\n value: function renderMenu() {\n var _this2 = this;\n\n if (!this.state.active) {\n return null;\n }\n\n var items = this.props.items;\n return _react[\"default\"].createElement(_Menu[\"default\"], null, items.map(function (item, i) {\n return _react[\"default\"].createElement(_MenuItem[\"default\"], {\n item: item,\n index: i,\n onSelectItem: _this2.handleSelectItem,\n activateIndex: _this2.state.activateIndex,\n key: \"item-\".concat(i++)\n });\n }));\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this3 = this;\n\n var _this$props = this.props,\n inline = _this$props.inline,\n className = _this$props.className;\n return _react[\"default\"].createElement(_ClickableComponent[\"default\"], {\n className: (0, _classnames[\"default\"])(className, {\n 'video-react-menu-button-inline': !!inline,\n 'video-react-menu-button-popup': !inline,\n 'video-react-menu-button-active': this.state.active\n }, 'video-react-control video-react-button video-react-menu-button'),\n role: \"button\",\n tabIndex: \"0\",\n ref: function ref(c) {\n _this3.menuButton = c;\n },\n onClick: this.handleClick,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur\n }, this.props.children, this.renderMenu());\n }\n }]);\n return MenuButton;\n}(_react.Component);\n\nexports[\"default\"] = MenuButton;\nMenuButton.propTypes = propTypes;\nMenuButton.displayName = 'MenuButton';","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _MenuButton = _interopRequireDefault(require(\"../menu/MenuButton\"));\n\nvar propTypes = {\n player: _propTypes[\"default\"].object,\n actions: _propTypes[\"default\"].object,\n rates: _propTypes[\"default\"].array,\n className: _propTypes[\"default\"].string\n};\nvar defaultProps = {\n rates: [2, 1.5, 1.25, 1, 0.5, 0.25]\n};\n\nvar PlaybackRateMenuButton =\n/*#__PURE__*/\nfunction (_Component) {\n (0, _inherits2[\"default\"])(PlaybackRateMenuButton, _Component);\n\n function PlaybackRateMenuButton(props, context) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, PlaybackRateMenuButton);\n _this = (0, _possibleConstructorReturn2[\"default\"])(this, (0, _getPrototypeOf2[\"default\"])(PlaybackRateMenuButton).call(this, props, context));\n _this.handleSelectItem = _this.handleSelectItem.bind((0, _assertThisInitialized2[\"default\"])(_this));\n return _this;\n }\n\n (0, _createClass2[\"default\"])(PlaybackRateMenuButton, [{\n key: \"handleSelectItem\",\n value: function handleSelectItem(index) {\n var _this$props = this.props,\n rates = _this$props.rates,\n actions = _this$props.actions;\n\n if (index >= 0 && index < rates.length) {\n actions.changeRate(rates[index]);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n rates = _this$props2.rates,\n player = _this$props2.player;\n var items = rates.map(function (rate) {\n return {\n label: \"\".concat(rate, \"x\"),\n value: rate\n };\n });\n var selectedIndex = rates.indexOf(player.playbackRate) || 0;\n return _react[\"default\"].createElement(_MenuButton[\"default\"], {\n className: (0, _classnames[\"default\"])('video-react-playback-rate', this.props.className),\n onSelectItem: this.handleSelectItem,\n items: items,\n selectedIndex: selectedIndex\n }, _react[\"default\"].createElement(\"span\", {\n className: \"video-react-control-text\"\n }, \"Playback Rate\"), _react[\"default\"].createElement(\"div\", {\n className: \"video-react-playback-rate-value\"\n }, \"\".concat(player.playbackRate.toFixed(2), \"x\")));\n }\n }]);\n return PlaybackRateMenuButton;\n}(_react.Component);\n\nPlaybackRateMenuButton.propTypes = propTypes;\nPlaybackRateMenuButton.defaultProps = defaultProps;\nPlaybackRateMenuButton.displayName = 'PlaybackRateMenuButton';\nvar _default = PlaybackRateMenuButton;\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _ProgressControl = _interopRequireDefault(require(\"./ProgressControl\"));\n\nvar _PlayToggle = _interopRequireDefault(require(\"./PlayToggle\"));\n\nvar _ForwardControl = _interopRequireDefault(require(\"./ForwardControl\"));\n\nvar _ReplayControl = _interopRequireDefault(require(\"./ReplayControl\"));\n\nvar _FullscreenToggle = _interopRequireDefault(require(\"./FullscreenToggle\"));\n\nvar _RemainingTimeDisplay = _interopRequireDefault(require(\"../time-controls/RemainingTimeDisplay\"));\n\nvar _CurrentTimeDisplay = _interopRequireDefault(require(\"../time-controls/CurrentTimeDisplay\"));\n\nvar _DurationDisplay = _interopRequireDefault(require(\"../time-controls/DurationDisplay\"));\n\nvar _TimeDivider = _interopRequireDefault(require(\"../time-controls/TimeDivider\"));\n\nvar _VolumeMenuButton = _interopRequireDefault(require(\"./VolumeMenuButton\"));\n\nvar _PlaybackRateMenuButton = _interopRequireDefault(require(\"./PlaybackRateMenuButton\"));\n\nvar _utils = require(\"../../utils\");\n\nvar propTypes = {\n children: _propTypes[\"default\"].any,\n autoHide: _propTypes[\"default\"].bool,\n autoHideTime: _propTypes[\"default\"].number,\n // used in Player\n disableDefaultControls: _propTypes[\"default\"].bool,\n disableCompletely: _propTypes[\"default\"].bool,\n className: _propTypes[\"default\"].string\n};\nvar defaultProps = {\n autoHide: true,\n disableCompletely: false\n};\n\nvar ControlBar =\n/*#__PURE__*/\nfunction (_Component) {\n (0, _inherits2[\"default\"])(ControlBar, _Component);\n\n function ControlBar(props) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, ControlBar);\n _this = (0, _possibleConstructorReturn2[\"default\"])(this, (0, _getPrototypeOf2[\"default\"])(ControlBar).call(this, props));\n _this.getDefaultChildren = _this.getDefaultChildren.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.getFullChildren = _this.getFullChildren.bind((0, _assertThisInitialized2[\"default\"])(_this));\n return _this;\n }\n\n (0, _createClass2[\"default\"])(ControlBar, [{\n key: \"getDefaultChildren\",\n value: function getDefaultChildren() {\n return [_react[\"default\"].createElement(_PlayToggle[\"default\"], {\n key: \"play-toggle\",\n order: 1\n }), _react[\"default\"].createElement(_VolumeMenuButton[\"default\"], {\n key: \"volume-menu-button\",\n order: 4\n }), _react[\"default\"].createElement(_CurrentTimeDisplay[\"default\"], {\n key: \"current-time-display\",\n order: 5.1\n }), _react[\"default\"].createElement(_TimeDivider[\"default\"], {\n key: \"time-divider\",\n order: 5.2\n }), _react[\"default\"].createElement(_DurationDisplay[\"default\"], {\n key: \"duration-display\",\n order: 5.3\n }), _react[\"default\"].createElement(_ProgressControl[\"default\"], {\n key: \"progress-control\",\n order: 6\n }), _react[\"default\"].createElement(_FullscreenToggle[\"default\"], {\n key: \"fullscreen-toggle\",\n order: 8\n })];\n }\n }, {\n key: \"getFullChildren\",\n value: function getFullChildren() {\n return [_react[\"default\"].createElement(_PlayToggle[\"default\"], {\n key: \"play-toggle\",\n order: 1\n }), _react[\"default\"].createElement(_ReplayControl[\"default\"], {\n key: \"replay-control\",\n order: 2\n }), _react[\"default\"].createElement(_ForwardControl[\"default\"], {\n key: \"forward-control\",\n order: 3\n }), _react[\"default\"].createElement(_VolumeMenuButton[\"default\"], {\n key: \"volume-menu-button\",\n order: 4\n }), _react[\"default\"].createElement(_CurrentTimeDisplay[\"default\"], {\n key: \"current-time-display\",\n order: 5\n }), _react[\"default\"].createElement(_TimeDivider[\"default\"], {\n key: \"time-divider\",\n order: 6\n }), _react[\"default\"].createElement(_DurationDisplay[\"default\"], {\n key: \"duration-display\",\n order: 7\n }), _react[\"default\"].createElement(_ProgressControl[\"default\"], {\n key: \"progress-control\",\n order: 8\n }), _react[\"default\"].createElement(_RemainingTimeDisplay[\"default\"], {\n key: \"remaining-time-display\",\n order: 9\n }), _react[\"default\"].createElement(_PlaybackRateMenuButton[\"default\"], {\n rates: [1, 1.25, 1.5, 2],\n key: \"playback-rate\",\n order: 10\n }), _react[\"default\"].createElement(_FullscreenToggle[\"default\"], {\n key: \"fullscreen-toggle\",\n order: 11\n })];\n }\n }, {\n key: \"getChildren\",\n value: function getChildren() {\n var children = _react[\"default\"].Children.toArray(this.props.children);\n\n var defaultChildren = this.props.disableDefaultControls ? [] : this.getDefaultChildren();\n var _this$props = this.props,\n className = _this$props.className,\n parentProps = (0, _objectWithoutProperties2[\"default\"])(_this$props, [\"className\"]); // remove className\n\n return (0, _utils.mergeAndSortChildren)(defaultChildren, children, parentProps);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n autoHide = _this$props2.autoHide,\n className = _this$props2.className,\n disableCompletely = _this$props2.disableCompletely;\n var children = this.getChildren();\n return disableCompletely ? null : _react[\"default\"].createElement(\"div\", {\n className: (0, _classnames[\"default\"])('video-react-control-bar', {\n 'video-react-control-bar-auto-hide': autoHide\n }, className)\n }, children);\n }\n }]);\n return ControlBar;\n}(_react.Component);\n\nexports[\"default\"] = ControlBar;\nControlBar.propTypes = propTypes;\nControlBar.defaultProps = defaultProps;\nControlBar.displayName = 'ControlBar';","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.IS_IOS = exports.IS_IPOD = exports.IS_IPHONE = exports.IS_IPAD = void 0;\nvar USER_AGENT = typeof window !== 'undefined' && window.navigator ? window.navigator.userAgent : ''; // const webkitVersionMap = (/AppleWebKit\\/([\\d.]+)/i).exec(USER_AGENT);\n// const appleWebkitVersion = webkitVersionMap ? parseFloat(webkitVersionMap.pop()) : null;\n\n/*\n * Device is an iPhone\n *\n * @type {Boolean}\n * @constant\n * @private\n */\n\nvar IS_IPAD = /iPad/i.test(USER_AGENT); // The Facebook app's UIWebView identifies as both an iPhone and iPad, so\n// to identify iPhones, we need to exclude iPads.\n// http://artsy.github.io/blog/2012/10/18/the-perils-of-ios-user-agent-sniffing/\n\nexports.IS_IPAD = IS_IPAD;\nvar IS_IPHONE = /iPhone/i.test(USER_AGENT) && !IS_IPAD;\nexports.IS_IPHONE = IS_IPHONE;\nvar IS_IPOD = /iPod/i.test(USER_AGENT);\nexports.IS_IPOD = IS_IPOD;\nvar IS_IOS = IS_IPHONE || IS_IPAD || IS_IPOD;\nexports.IS_IOS = IS_IOS;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _Manager = _interopRequireDefault(require(\"../Manager\"));\n\nvar _BigPlayButton = _interopRequireDefault(require(\"./BigPlayButton\"));\n\nvar _LoadingSpinner = _interopRequireDefault(require(\"./LoadingSpinner\"));\n\nvar _PosterImage = _interopRequireDefault(require(\"./PosterImage\"));\n\nvar _Video = _interopRequireDefault(require(\"./Video\"));\n\nvar _Bezel = _interopRequireDefault(require(\"./Bezel\"));\n\nvar _Shortcut = _interopRequireDefault(require(\"./Shortcut\"));\n\nvar _ControlBar = _interopRequireDefault(require(\"./control-bar/ControlBar\"));\n\nvar browser = _interopRequireWildcard(require(\"../utils/browser\"));\n\nvar _dom = require(\"../utils/dom\");\n\nvar _utils = require(\"../utils\");\n\nvar _fullscreen = _interopRequireDefault(require(\"../utils/fullscreen\"));\n\nvar propTypes = {\n children: _propTypes[\"default\"].any,\n width: _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].string, _propTypes[\"default\"].number]),\n height: _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].string, _propTypes[\"default\"].number]),\n fluid: _propTypes[\"default\"].bool,\n muted: _propTypes[\"default\"].bool,\n playsInline: _propTypes[\"default\"].bool,\n aspectRatio: _propTypes[\"default\"].string,\n className: _propTypes[\"default\"].string,\n videoId: _propTypes[\"default\"].string,\n startTime: _propTypes[\"default\"].number,\n loop: _propTypes[\"default\"].bool,\n autoPlay: _propTypes[\"default\"].bool,\n src: _propTypes[\"default\"].string,\n poster: _propTypes[\"default\"].string,\n preload: _propTypes[\"default\"].oneOf(['auto', 'metadata', 'none']),\n onLoadStart: _propTypes[\"default\"].func,\n onWaiting: _propTypes[\"default\"].func,\n onCanPlay: _propTypes[\"default\"].func,\n onCanPlayThrough: _propTypes[\"default\"].func,\n onPlaying: _propTypes[\"default\"].func,\n onEnded: _propTypes[\"default\"].func,\n onSeeking: _propTypes[\"default\"].func,\n onSeeked: _propTypes[\"default\"].func,\n onPlay: _propTypes[\"default\"].func,\n onPause: _propTypes[\"default\"].func,\n onProgress: _propTypes[\"default\"].func,\n onDurationChange: _propTypes[\"default\"].func,\n onError: _propTypes[\"default\"].func,\n onSuspend: _propTypes[\"default\"].func,\n onAbort: _propTypes[\"default\"].func,\n onEmptied: _propTypes[\"default\"].func,\n onStalled: _propTypes[\"default\"].func,\n onLoadedMetadata: _propTypes[\"default\"].func,\n onLoadedData: _propTypes[\"default\"].func,\n onTimeUpdate: _propTypes[\"default\"].func,\n onRateChange: _propTypes[\"default\"].func,\n onVolumeChange: _propTypes[\"default\"].func,\n store: _propTypes[\"default\"].object\n};\nvar defaultProps = {\n fluid: true,\n muted: false,\n playsInline: false,\n preload: 'auto',\n aspectRatio: 'auto'\n};\n\nvar Player =\n/*#__PURE__*/\nfunction (_Component) {\n (0, _inherits2[\"default\"])(Player, _Component);\n\n function Player(props) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, Player);\n _this = (0, _possibleConstructorReturn2[\"default\"])(this, (0, _getPrototypeOf2[\"default\"])(Player).call(this, props));\n _this.controlsHideTimer = null;\n _this.video = null; // the Video component\n\n _this.manager = new _Manager[\"default\"](props.store);\n _this.actions = _this.manager.getActions();\n\n _this.manager.subscribeToPlayerStateChange(_this.handleStateChange.bind((0, _assertThisInitialized2[\"default\"])(_this)));\n\n _this.getStyle = _this.getStyle.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleResize = _this.handleResize.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.getChildren = _this.getChildren.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleMouseMove = (0, _utils.throttle)(_this.handleMouseMove.bind((0, _assertThisInitialized2[\"default\"])(_this)), 250);\n _this.handleMouseDown = _this.handleMouseDown.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.startControlsTimer = _this.startControlsTimer.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleFullScreenChange = _this.handleFullScreenChange.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleKeyDown = _this.handleKeyDown.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleFocus = _this.handleFocus.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleBlur = _this.handleBlur.bind((0, _assertThisInitialized2[\"default\"])(_this));\n return _this;\n }\n\n (0, _createClass2[\"default\"])(Player, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.handleResize();\n window.addEventListener('resize', this.handleResize);\n\n _fullscreen[\"default\"].addEventListener(this.handleFullScreenChange);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n // Remove event listener\n window.removeEventListener('resize', this.handleResize);\n\n _fullscreen[\"default\"].removeEventListener(this.handleFullScreenChange);\n\n if (this.controlsHideTimer) {\n window.clearTimeout(this.controlsHideTimer);\n }\n }\n }, {\n key: \"getDefaultChildren\",\n value: function getDefaultChildren(originalChildren) {\n var _this2 = this;\n\n return [_react[\"default\"].createElement(_Video[\"default\"], {\n ref: function ref(c) {\n _this2.video = c;\n _this2.manager.video = _this2.video;\n },\n key: \"video\",\n order: 0.0\n }, originalChildren), _react[\"default\"].createElement(_PosterImage[\"default\"], {\n key: \"poster-image\",\n order: 1.0\n }), _react[\"default\"].createElement(_LoadingSpinner[\"default\"], {\n key: \"loading-spinner\",\n order: 2.0\n }), _react[\"default\"].createElement(_Bezel[\"default\"], {\n key: \"bezel\",\n order: 3.0\n }), _react[\"default\"].createElement(_BigPlayButton[\"default\"], {\n key: \"big-play-button\",\n order: 4.0\n }), _react[\"default\"].createElement(_ControlBar[\"default\"], {\n key: \"control-bar\",\n order: 5.0\n }), _react[\"default\"].createElement(_Shortcut[\"default\"], {\n key: \"shortcut\",\n order: 99.0\n })];\n }\n }, {\n key: \"getChildren\",\n value: function getChildren(props) {\n var _ = props.className,\n originalChildren = props.children,\n propsWithoutChildren = (0, _objectWithoutProperties2[\"default\"])(props, [\"className\", \"children\"]);\n\n var children = _react[\"default\"].Children.toArray(this.props.children).filter(function (e) {\n return !(0, _utils.isVideoChild)(e);\n });\n\n var defaultChildren = this.getDefaultChildren(originalChildren);\n return (0, _utils.mergeAndSortChildren)(defaultChildren, children, propsWithoutChildren);\n }\n }, {\n key: \"setWidthOrHeight\",\n value: function setWidthOrHeight(style, name, value) {\n var styleVal;\n\n if (typeof value === 'string') {\n if (value === 'auto') {\n styleVal = 'auto';\n } else if (value.match(/\\d+%/)) {\n styleVal = value;\n }\n } else if (typeof value === 'number') {\n styleVal = \"\".concat(value, \"px\");\n }\n\n Object.assign(style, (0, _defineProperty2[\"default\"])({}, name, styleVal));\n }\n }, {\n key: \"getStyle\",\n value: function getStyle() {\n var _this$props = this.props,\n fluid = _this$props.fluid,\n propsAspectRatio = _this$props.aspectRatio,\n propsHeight = _this$props.height,\n propsWidth = _this$props.width;\n\n var _this$manager$getStat = this.manager.getState(),\n player = _this$manager$getStat.player;\n\n var style = {};\n var width;\n var height;\n var aspectRatio; // The aspect ratio is either used directly or to calculate width and height.\n\n if (propsAspectRatio !== undefined && propsAspectRatio !== 'auto') {\n // Use any aspectRatio that's been specifically set\n aspectRatio = propsAspectRatio;\n } else if (player.videoWidth) {\n // Otherwise try to get the aspect ratio from the video metadata\n aspectRatio = \"\".concat(player.videoWidth, \":\").concat(player.videoHeight);\n } else {\n // Or use a default. The video element's is 2:1, but 16:9 is more common.\n aspectRatio = '16:9';\n } // Get the ratio as a decimal we can use to calculate dimensions\n\n\n var ratioParts = aspectRatio.split(':');\n var ratioMultiplier = ratioParts[1] / ratioParts[0];\n\n if (propsWidth !== undefined) {\n // Use any width that's been specifically set\n width = propsWidth;\n } else if (propsHeight !== undefined) {\n // Or calulate the width from the aspect ratio if a height has been set\n width = propsHeight / ratioMultiplier;\n } else {\n // Or use the video's metadata, or use the video el's default of 300\n width = player.videoWidth || 400;\n }\n\n if (propsHeight !== undefined) {\n // Use any height that's been specifically set\n height = propsHeight;\n } else {\n // Otherwise calculate the height from the ratio and the width\n height = width * ratioMultiplier;\n }\n\n if (fluid) {\n style.paddingTop = \"\".concat(ratioMultiplier * 100, \"%\");\n } else {\n // If Width contains \"auto\", set \"auto\" in style\n this.setWidthOrHeight(style, 'width', width);\n this.setWidthOrHeight(style, 'height', height);\n }\n\n return style;\n } // get redux state\n // { player, operation }\n\n }, {\n key: \"getState\",\n value: function getState() {\n return this.manager.getState();\n } // get playback rate\n\n }, {\n key: \"play\",\n // play the video\n value: function play() {\n this.video.play();\n } // pause the video\n\n }, {\n key: \"pause\",\n value: function pause() {\n this.video.pause();\n } // Change the video source and re-load the video:\n\n }, {\n key: \"load\",\n value: function load() {\n this.video.load();\n } // Add a new text track to the video\n\n }, {\n key: \"addTextTrack\",\n value: function addTextTrack() {\n var _this$video;\n\n (_this$video = this.video).addTextTrack.apply(_this$video, arguments);\n } // Check if your browser can play different types of video:\n\n }, {\n key: \"canPlayType\",\n value: function canPlayType() {\n var _this$video2;\n\n (_this$video2 = this.video).canPlayType.apply(_this$video2, arguments);\n } // seek video by time\n\n }, {\n key: \"seek\",\n value: function seek(time) {\n this.video.seek(time);\n } // jump forward x seconds\n\n }, {\n key: \"forward\",\n value: function forward(seconds) {\n this.video.forward(seconds);\n } // jump back x seconds\n\n }, {\n key: \"replay\",\n value: function replay(seconds) {\n this.video.replay(seconds);\n } // enter or exist full screen\n\n }, {\n key: \"toggleFullscreen\",\n value: function toggleFullscreen() {\n this.video.toggleFullscreen();\n } // subscribe to player state change\n\n }, {\n key: \"subscribeToStateChange\",\n value: function subscribeToStateChange(listener) {\n return this.manager.subscribeToPlayerStateChange(listener);\n } // player resize\n\n }, {\n key: \"handleResize\",\n value: function handleResize() {}\n }, {\n key: \"handleFullScreenChange\",\n value: function handleFullScreenChange(event) {\n if (event.target === this.manager.rootElement) {\n this.actions.handleFullscreenChange(_fullscreen[\"default\"].isFullscreen);\n }\n }\n }, {\n key: \"handleMouseDown\",\n value: function handleMouseDown() {\n this.startControlsTimer();\n }\n }, {\n key: \"handleMouseMove\",\n value: function handleMouseMove() {\n this.startControlsTimer();\n }\n }, {\n key: \"handleKeyDown\",\n value: function handleKeyDown() {\n this.startControlsTimer();\n }\n }, {\n key: \"startControlsTimer\",\n value: function startControlsTimer() {\n var _this3 = this;\n\n var controlBarActiveTime = 3000;\n\n _react[\"default\"].Children.forEach(this.props.children, function (element) {\n if (!_react[\"default\"].isValidElement(element) || element.type !== _ControlBar[\"default\"]) {\n return;\n }\n\n var autoHideTime = element.props.autoHideTime;\n\n if (typeof autoHideTime === 'number') {\n controlBarActiveTime = autoHideTime;\n }\n });\n\n this.actions.userActivate(true);\n clearTimeout(this.controlsHideTimer);\n this.controlsHideTimer = setTimeout(function () {\n _this3.actions.userActivate(false);\n }, controlBarActiveTime);\n }\n }, {\n key: \"handleStateChange\",\n value: function handleStateChange(state, prevState) {\n if (state.isFullscreen !== prevState.isFullscreen) {\n this.handleResize(); // focus root when switching fullscreen mode to avoid confusion #276\n\n (0, _dom.focusNode)(this.manager.rootElement);\n }\n\n this.forceUpdate(); // re-render\n }\n }, {\n key: \"handleFocus\",\n value: function handleFocus() {\n this.actions.activate(true);\n }\n }, {\n key: \"handleBlur\",\n value: function handleBlur() {\n this.actions.activate(false);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this4 = this;\n\n var fluid = this.props.fluid;\n\n var _this$manager$getStat2 = this.manager.getState(),\n player = _this$manager$getStat2.player;\n\n var paused = player.paused,\n hasStarted = player.hasStarted,\n waiting = player.waiting,\n seeking = player.seeking,\n isFullscreen = player.isFullscreen,\n userActivity = player.userActivity;\n var props = (0, _objectSpread2[\"default\"])({}, this.props, {\n player: player,\n actions: this.actions,\n manager: this.manager,\n store: this.manager.store,\n video: this.video ? this.video.video : null\n });\n var children = this.getChildren(props);\n return _react[\"default\"].createElement(\"div\", {\n className: (0, _classnames[\"default\"])({\n 'video-react-controls-enabled': true,\n 'video-react-has-started': hasStarted,\n 'video-react-paused': paused,\n 'video-react-playing': !paused,\n 'video-react-waiting': waiting,\n 'video-react-seeking': seeking,\n 'video-react-fluid': fluid,\n 'video-react-fullscreen': isFullscreen,\n 'video-react-user-inactive': !userActivity,\n 'video-react-user-active': userActivity,\n 'video-react-workinghover': !browser.IS_IOS\n }, 'video-react', this.props.className),\n style: this.getStyle(),\n ref: function ref(c) {\n _this4.manager.rootElement = c;\n },\n role: \"region\",\n onTouchStart: this.handleMouseDown,\n onMouseDown: this.handleMouseDown,\n onTouchMove: this.handleMouseMove,\n onMouseMove: this.handleMouseMove,\n onKeyDown: this.handleKeyDown,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n tabIndex: \"-1\"\n }, children);\n }\n }, {\n key: \"playbackRate\",\n get: function get() {\n return this.video.playbackRate;\n } // set playback rate\n // speed of video\n ,\n set: function set(rate) {\n this.video.playbackRate = rate;\n }\n }, {\n key: \"muted\",\n get: function get() {\n return this.video.muted;\n },\n set: function set(val) {\n this.video.muted = val;\n }\n }, {\n key: \"volume\",\n get: function get() {\n return this.video.volume;\n },\n set: function set(val) {\n this.video.volume = val;\n } // video width\n\n }, {\n key: \"videoWidth\",\n get: function get() {\n return this.video.videoWidth;\n } // video height\n\n }, {\n key: \"videoHeight\",\n get: function get() {\n return this.video.videoHeight;\n }\n }]);\n return Player;\n}(_react.Component);\n\nexports[\"default\"] = Player;\nPlayer.contextTypes = {\n store: _propTypes[\"default\"].object\n};\nPlayer.propTypes = propTypes;\nPlayer.defaultProps = defaultProps;\nPlayer.displayName = 'Player';","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _PlaybackRateMenuButton = _interopRequireDefault(require(\"./PlaybackRateMenuButton\"));\n\nvar _utils = require(\"../../utils\");\n\nvar PlaybackRate =\n/*#__PURE__*/\nfunction (_Component) {\n (0, _inherits2[\"default\"])(PlaybackRate, _Component);\n\n function PlaybackRate(props, context) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, PlaybackRate);\n _this = (0, _possibleConstructorReturn2[\"default\"])(this, (0, _getPrototypeOf2[\"default\"])(PlaybackRate).call(this, props, context));\n (0, _utils.deprecatedWarning)('PlaybackRate', 'PlaybackRateMenuButton');\n return _this;\n }\n\n (0, _createClass2[\"default\"])(PlaybackRate, [{\n key: \"render\",\n value: function render() {\n return _react[\"default\"].createElement(_PlaybackRateMenuButton[\"default\"], this.props);\n }\n }]);\n return PlaybackRate;\n}(_react.Component);\n\nexports[\"default\"] = PlaybackRate;\nPlaybackRate.displayName = 'PlaybackRate';","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _MenuButton = _interopRequireDefault(require(\"../menu/MenuButton\"));\n\nvar propTypes = {\n player: _propTypes[\"default\"].object,\n actions: _propTypes[\"default\"].object,\n className: _propTypes[\"default\"].string,\n offMenuText: _propTypes[\"default\"].string,\n showOffMenu: _propTypes[\"default\"].bool,\n kinds: _propTypes[\"default\"].array\n};\nvar defaultProps = {\n offMenuText: 'Off',\n showOffMenu: true,\n kinds: ['captions', 'subtitles'] // `kind`s of TextTrack to look for to associate it with this menu.\n\n};\n\nvar ClosedCaptionButton =\n/*#__PURE__*/\nfunction (_Component) {\n (0, _inherits2[\"default\"])(ClosedCaptionButton, _Component);\n\n function ClosedCaptionButton(props, context) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, ClosedCaptionButton);\n _this = (0, _possibleConstructorReturn2[\"default\"])(this, (0, _getPrototypeOf2[\"default\"])(ClosedCaptionButton).call(this, props, context));\n _this.getTextTrackItems = _this.getTextTrackItems.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.updateState = _this.updateState.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleSelectItem = _this.handleSelectItem.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.state = _this.getTextTrackItems();\n return _this;\n }\n\n (0, _createClass2[\"default\"])(ClosedCaptionButton, [{\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.updateState();\n }\n }, {\n key: \"getTextTrackItems\",\n value: function getTextTrackItems() {\n var _this$props = this.props,\n kinds = _this$props.kinds,\n player = _this$props.player,\n offMenuText = _this$props.offMenuText,\n showOffMenu = _this$props.showOffMenu;\n var textTracks = player.textTracks,\n activeTextTrack = player.activeTextTrack;\n var textTrackItems = {\n items: [],\n selectedIndex: 0\n };\n var tracks = Array.from(textTracks || []);\n\n if (tracks.length === 0) {\n return textTrackItems;\n }\n\n if (showOffMenu) {\n textTrackItems.items.push({\n label: offMenuText || 'Off',\n value: null\n });\n }\n\n tracks.forEach(function (textTrack) {\n // ignore invalid text track kind\n if (kinds.length && !kinds.includes(textTrack.kind)) {\n return;\n }\n\n textTrackItems.items.push({\n label: textTrack.label,\n value: textTrack.language\n });\n });\n textTrackItems.selectedIndex = textTrackItems.items.findIndex(function (item) {\n return activeTextTrack && activeTextTrack.language === item.value;\n });\n\n if (textTrackItems.selectedIndex === -1) {\n textTrackItems.selectedIndex = 0;\n }\n\n return textTrackItems;\n }\n }, {\n key: \"updateState\",\n value: function updateState() {\n var textTrackItems = this.getTextTrackItems();\n\n if (textTrackItems.selectedIndex !== this.state.selectedIndex || !this.textTrackItemsAreEqual(textTrackItems.items, this.state.items)) {\n this.setState(textTrackItems);\n }\n }\n }, {\n key: \"textTrackItemsAreEqual\",\n value: function textTrackItemsAreEqual(items1, items2) {\n if (items1.length !== items2.length) {\n return false;\n }\n\n for (var i = 0; i < items1.length; i++) {\n if (!items2[i] || items1[i].label !== items2[i].label || items1[i].value !== items2[i].value) {\n return false;\n }\n }\n\n return true;\n }\n }, {\n key: \"handleSelectItem\",\n value: function handleSelectItem(index) {\n var _this$props2 = this.props,\n player = _this$props2.player,\n actions = _this$props2.actions,\n showOffMenu = _this$props2.showOffMenu;\n var textTracks = player.textTracks; // For the 'subtitles-off' button, the first condition will never match\n // so all subtitles will be turned off\n\n Array.from(textTracks).forEach(function (textTrack, i) {\n // if it shows the `Off` menu, the first item is `Off`\n if (index === (showOffMenu ? i + 1 : i)) {\n textTrack.mode = 'showing';\n actions.activateTextTrack(textTrack);\n } else {\n textTrack.mode = 'hidden';\n }\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$state = this.state,\n items = _this$state.items,\n selectedIndex = _this$state.selectedIndex;\n return _react[\"default\"].createElement(_MenuButton[\"default\"], {\n className: (0, _classnames[\"default\"])('video-react-closed-caption', this.props.className),\n onSelectItem: this.handleSelectItem,\n items: items,\n selectedIndex: selectedIndex\n }, _react[\"default\"].createElement(\"span\", {\n className: \"video-react-control-text\"\n }, \"Closed Caption\"));\n }\n }]);\n return ClosedCaptionButton;\n}(_react.Component);\n\nClosedCaptionButton.propTypes = propTypes;\nClosedCaptionButton.defaultProps = defaultProps;\nClosedCaptionButton.displayName = 'ClosedCaptionButton';\nvar _default = ClosedCaptionButton;\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"Player\", {\n enumerable: true,\n get: function get() {\n return _Player[\"default\"];\n }\n});\nObject.defineProperty(exports, \"Video\", {\n enumerable: true,\n get: function get() {\n return _Video[\"default\"];\n }\n});\nObject.defineProperty(exports, \"BigPlayButton\", {\n enumerable: true,\n get: function get() {\n return _BigPlayButton[\"default\"];\n }\n});\nObject.defineProperty(exports, \"LoadingSpinner\", {\n enumerable: true,\n get: function get() {\n return _LoadingSpinner[\"default\"];\n }\n});\nObject.defineProperty(exports, \"PosterImage\", {\n enumerable: true,\n get: function get() {\n return _PosterImage[\"default\"];\n }\n});\nObject.defineProperty(exports, \"Slider\", {\n enumerable: true,\n get: function get() {\n return _Slider[\"default\"];\n }\n});\nObject.defineProperty(exports, \"Bezel\", {\n enumerable: true,\n get: function get() {\n return _Bezel[\"default\"];\n }\n});\nObject.defineProperty(exports, \"Shortcut\", {\n enumerable: true,\n get: function get() {\n return _Shortcut[\"default\"];\n }\n});\nObject.defineProperty(exports, \"ControlBar\", {\n enumerable: true,\n get: function get() {\n return _ControlBar[\"default\"];\n }\n});\nObject.defineProperty(exports, \"PlayToggle\", {\n enumerable: true,\n get: function get() {\n return _PlayToggle[\"default\"];\n }\n});\nObject.defineProperty(exports, \"ForwardControl\", {\n enumerable: true,\n get: function get() {\n return _ForwardControl[\"default\"];\n }\n});\nObject.defineProperty(exports, \"ReplayControl\", {\n enumerable: true,\n get: function get() {\n return _ReplayControl[\"default\"];\n }\n});\nObject.defineProperty(exports, \"FullscreenToggle\", {\n enumerable: true,\n get: function get() {\n return _FullscreenToggle[\"default\"];\n }\n});\nObject.defineProperty(exports, \"ProgressControl\", {\n enumerable: true,\n get: function get() {\n return _ProgressControl[\"default\"];\n }\n});\nObject.defineProperty(exports, \"SeekBar\", {\n enumerable: true,\n get: function get() {\n return _SeekBar[\"default\"];\n }\n});\nObject.defineProperty(exports, \"PlayProgressBar\", {\n enumerable: true,\n get: function get() {\n return _PlayProgressBar[\"default\"];\n }\n});\nObject.defineProperty(exports, \"LoadProgressBar\", {\n enumerable: true,\n get: function get() {\n return _LoadProgressBar[\"default\"];\n }\n});\nObject.defineProperty(exports, \"MouseTimeDisplay\", {\n enumerable: true,\n get: function get() {\n return _MouseTimeDisplay[\"default\"];\n }\n});\nObject.defineProperty(exports, \"VolumeMenuButton\", {\n enumerable: true,\n get: function get() {\n return _VolumeMenuButton[\"default\"];\n }\n});\nObject.defineProperty(exports, \"PlaybackRateMenuButton\", {\n enumerable: true,\n get: function get() {\n return _PlaybackRateMenuButton[\"default\"];\n }\n});\nObject.defineProperty(exports, \"PlaybackRate\", {\n enumerable: true,\n get: function get() {\n return _PlaybackRate[\"default\"];\n }\n});\nObject.defineProperty(exports, \"ClosedCaptionButton\", {\n enumerable: true,\n get: function get() {\n return _ClosedCaptionButton[\"default\"];\n }\n});\nObject.defineProperty(exports, \"RemainingTimeDisplay\", {\n enumerable: true,\n get: function get() {\n return _RemainingTimeDisplay[\"default\"];\n }\n});\nObject.defineProperty(exports, \"CurrentTimeDisplay\", {\n enumerable: true,\n get: function get() {\n return _CurrentTimeDisplay[\"default\"];\n }\n});\nObject.defineProperty(exports, \"DurationDisplay\", {\n enumerable: true,\n get: function get() {\n return _DurationDisplay[\"default\"];\n }\n});\nObject.defineProperty(exports, \"TimeDivider\", {\n enumerable: true,\n get: function get() {\n return _TimeDivider[\"default\"];\n }\n});\nObject.defineProperty(exports, \"MenuButton\", {\n enumerable: true,\n get: function get() {\n return _MenuButton[\"default\"];\n }\n});\nObject.defineProperty(exports, \"playerReducer\", {\n enumerable: true,\n get: function get() {\n return _reducers.playerReducer;\n }\n});\nObject.defineProperty(exports, \"operationReducer\", {\n enumerable: true,\n get: function get() {\n return _reducers.operationReducer;\n }\n});\nexports.videoActions = exports.playerActions = void 0;\n\nvar _Player = _interopRequireDefault(require(\"./components/Player\"));\n\nvar _Video = _interopRequireDefault(require(\"./components/Video\"));\n\nvar _BigPlayButton = _interopRequireDefault(require(\"./components/BigPlayButton\"));\n\nvar _LoadingSpinner = _interopRequireDefault(require(\"./components/LoadingSpinner\"));\n\nvar _PosterImage = _interopRequireDefault(require(\"./components/PosterImage\"));\n\nvar _Slider = _interopRequireDefault(require(\"./components/Slider\"));\n\nvar _Bezel = _interopRequireDefault(require(\"./components/Bezel\"));\n\nvar _Shortcut = _interopRequireDefault(require(\"./components/Shortcut\"));\n\nvar _ControlBar = _interopRequireDefault(require(\"./components/control-bar/ControlBar\"));\n\nvar _PlayToggle = _interopRequireDefault(require(\"./components/control-bar/PlayToggle\"));\n\nvar _ForwardControl = _interopRequireDefault(require(\"./components/control-bar/ForwardControl\"));\n\nvar _ReplayControl = _interopRequireDefault(require(\"./components/control-bar/ReplayControl\"));\n\nvar _FullscreenToggle = _interopRequireDefault(require(\"./components/control-bar/FullscreenToggle\"));\n\nvar _ProgressControl = _interopRequireDefault(require(\"./components/control-bar/ProgressControl\"));\n\nvar _SeekBar = _interopRequireDefault(require(\"./components/control-bar/SeekBar\"));\n\nvar _PlayProgressBar = _interopRequireDefault(require(\"./components/control-bar/PlayProgressBar\"));\n\nvar _LoadProgressBar = _interopRequireDefault(require(\"./components/control-bar/LoadProgressBar\"));\n\nvar _MouseTimeDisplay = _interopRequireDefault(require(\"./components/control-bar/MouseTimeDisplay\"));\n\nvar _VolumeMenuButton = _interopRequireDefault(require(\"./components/control-bar/VolumeMenuButton\"));\n\nvar _PlaybackRateMenuButton = _interopRequireDefault(require(\"./components/control-bar/PlaybackRateMenuButton\"));\n\nvar _PlaybackRate = _interopRequireDefault(require(\"./components/control-bar/PlaybackRate\"));\n\nvar _ClosedCaptionButton = _interopRequireDefault(require(\"./components/control-bar/ClosedCaptionButton\"));\n\nvar _RemainingTimeDisplay = _interopRequireDefault(require(\"./components/time-controls/RemainingTimeDisplay\"));\n\nvar _CurrentTimeDisplay = _interopRequireDefault(require(\"./components/time-controls/CurrentTimeDisplay\"));\n\nvar _DurationDisplay = _interopRequireDefault(require(\"./components/time-controls/DurationDisplay\"));\n\nvar _TimeDivider = _interopRequireDefault(require(\"./components/time-controls/TimeDivider\"));\n\nvar _MenuButton = _interopRequireDefault(require(\"./components/menu/MenuButton\"));\n\nvar playerActions = _interopRequireWildcard(require(\"./actions/player\"));\n\nexports.playerActions = playerActions;\n\nvar videoActions = _interopRequireWildcard(require(\"./actions/video\"));\n\nexports.videoActions = videoActions;\n\nvar _reducers = require(\"./reducers\");","import { Box, Chip, Slider, Stack, Typography, TextField } from \"@mui/material\"\nimport { styled } from \"@mui/material/styles\"\nimport { useEffect, useState } from \"react\"\nimport MenuItem from \"@mui/material/MenuItem\"\n\nconst TinyText = styled(Typography)({\n fontSize: \"0.75rem\",\n opacity: 0.38,\n fontWeight: 500,\n letterSpacing: 0.2,\n})\n\ninterface SlicerProps {\n videoDuration: number\n defaultSliceDuration: number\n onSlice: (slice: [number, number]) => void\n}\n\nfunction formatDuration(value: number) {\n const minute = Math.floor(value / 60)\n const secondsLeft = +(value - minute * 60).toFixed(0)\n return `${minute}:${secondsLeft < 10 ? `0${secondsLeft}` : secondsLeft}`\n}\n\nexport default function VideoDurationSlicer(props: SlicerProps) {\n const q = new URLSearchParams(window.location.search)\n const { videoDuration, onSlice, defaultSliceDuration } = props\n const [sliceDuration, setSliceDuration] = useState(() => {\n const d = q.get(\"dur\") || `${defaultSliceDuration}`\n const dur = parseInt(d)\n if (dur <= defaultSliceDuration) {\n return dur\n }\n return defaultSliceDuration\n })\n\n const [position, setPosition] = useState<[number, number]>(() => {\n const s = q.get(\"start_secs\") || \"0\"\n const start = parseInt(s)\n if (start >= 0 && start <= videoDuration - sliceDuration) {\n return [start, start + sliceDuration]\n }\n return [0, sliceDuration]\n })\n\n useEffect(() => {\n if (position[0] !== 0) {\n onSlice(position)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n const handleChange = (value: string) => {\n const s = parseInt(value)\n if (position[0] === 0) {\n setPosition([0, 0 + s])\n }\n setSliceDuration(s)\n }\n\n const handleDurationSlicing = (e: Event, newValue: number | number[]) => {\n const data = newValue as number[]\n const startTimeChange = position[0] !== data[0]\n if (startTimeChange) {\n const end = data[0] + sliceDuration\n data[1] = end > videoDuration ? videoDuration : end\n } else {\n const start = data[1] - sliceDuration\n data[0] = start < 0 ? 0 : start\n }\n setPosition([data[0], data[1]])\n onSlice([data[0], data[1]])\n }\n\n if (!videoDuration) {\n return null\n }\n\n return (\n \n \n \n Duration (sec)}\n onChange={(e) => handleChange(e.target.value)}\n >\n {Array.from({ length: 20 }).map((_, i) => {\n return (\n \n {`${i + 1}s`}\n \n )\n })}\n \n \n \n {\n return index === 0 ? \"Start seconds\" : \"End seconds\"\n }}\n valueLabelDisplay=\"auto\"\n valueLabelFormat={(d) => formatDuration(d)}\n />\n \n {formatDuration(position[0])}\n -{formatDuration(videoDuration - position[0])}\n \n \n \n )\n}\n\ninterface LabelProps {\n position: [number, number]\n}\nfunction SlicePointLabels(props: LabelProps) {\n const { position } = props\n const d = [\n { label: \"Start\", value: position[0] },\n { label: \"End\", value: position[1] },\n ]\n return (\n \n {d.map((l) => {\n return (\n <>\n {l.label}}\n sx={{ borderTopRightRadius: 0, borderBottomRightRadius: 0 }}\n />\n \n {formatDuration(l.value)}\n \n }\n />\n \n )\n })}\n \n )\n}\n","import \"video-react/dist/video-react.css\"\nimport {\n BigPlayButton,\n ControlBar,\n PlayToggle,\n Player,\n PlayerReference,\n PlayerState,\n} from \"video-react\"\nimport { useCallback, useEffect, useRef, useState } from \"react\"\nimport VideoDurationSlicer from \"./VideoDurationSlicer\"\nimport { Grid } from \"@mui/material\"\n\ninterface VideoPlayerProps {\n src: string\n defaultSliceDuration: number\n onVideoStateChange: (p: PlayerState) => void\n onSlice: (n: [number, number]) => void\n}\n\nexport default function VideoPlayer(props: VideoPlayerProps) {\n const { src, onVideoStateChange, defaultSliceDuration, onSlice } = props\n const [player, setPlayer] = useState(null)\n const [playerState, setPlayerState] = useState()\n const [duration, setDuration] = useState(0)\n\n const intervalId = useRef()\n\n const handlePlayerState = useCallback(\n (curr: PlayerState, prev: PlayerState) => {\n setPlayerState(curr)\n onVideoStateChange(curr)\n if (player && curr !== prev) {\n player.load()\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n )\n\n useEffect(() => {\n if (player) {\n player.subscribeToStateChange(handlePlayerState)\n }\n }, [player, handlePlayerState])\n\n useEffect(() => {\n if (!playerState) return\n setDuration(playerState.duration)\n if (playerState.ended) {\n player?.play()\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [playerState])\n\n const handleVideoSlice = (n: [number, number]) => {\n onSlice(n)\n clearInterval(intervalId.current)\n if (player) {\n player.seek(n[0])\n const id = setInterval(() => {\n player.seek(n[0])\n }, (n[1] - n[0]) * 1000)\n intervalId.current = id\n }\n }\n\n if (!src) {\n return null\n }\n\n return (\n \n \n {duration > 0 && (\n \n )}\n \n \n {\n setPlayer(player)\n }}\n >\n \n \n \n \n \n \n \n )\n}\n","import { MemeExtraData } from \"./MediaDetails\"\n\nexport interface UploadResponse {\n blob: Blob\n mediaId: string\n}\n\nexport async function requestVideoToGIFWithUpload(\n file: File,\n slice: [number, number],\n extras: MemeExtraData,\n onProgressPercentCallback: (n: number) => void,\n): Promise {\n return new Promise((resolve, reject) => {\n const data = new FormData()\n data.append(\"file\", file)\n\n const url = \"/yt\" // same origin\n const req = new XMLHttpRequest()\n req.open(\"POST\", url)\n\n req.addEventListener(\"readystatechange\", () => {\n if (req.readyState === 2) {\n if (req.status === 200) {\n req.responseType = \"blob\"\n } else {\n req.responseType = \"text\"\n }\n }\n })\n\n const captionHeader = \"X-Orijtech-Caption-Rubric\"\n req.setRequestHeader(\n captionHeader,\n JSON.stringify({\n make_public: extras.make_public,\n title: extras.title,\n summary: extras.summary,\n nsfw: extras.nsfw,\n hashtags: extras.hashtags,\n start_sec: slice[0],\n dur: slice[1] - slice[0],\n make_gif: extras.make_gif,\n }),\n )\n\n req.addEventListener(\"load\", () => {\n if (req.status === 200) {\n const slug = req.getResponseHeader(\"slug\")\n resolve({\n blob: req.response,\n mediaId: slug ?? \"\",\n })\n } else {\n reject(new Error(req.responseText))\n }\n })\n\n req.addEventListener(\"error\", () => {\n reject(new Error(\"network error\"))\n })\n\n req.upload.onprogress = (ev: ProgressEvent) => {\n onProgressPercentCallback(Math.ceil((ev.loaded / ev.total) * 100))\n }\n\n req.send(data)\n })\n}\n\nexport async function requestVideoToGIFWithAppURL(\n src: string,\n video: VideoData,\n slice: [number, number],\n extras: MemeExtraData,\n): Promise {\n return new Promise((resolve, reject) => {\n let url = \"/yt\"\n let data = {}\n\n if (video.id !== \"\") {\n data = {\n make_public: extras.make_public,\n title: extras.title,\n summary: extras.summary,\n nsfw: extras.nsfw,\n hashtags: extras.hashtags,\n start_sec: slice[0],\n dur: slice[1] - slice[0],\n yt: {\n id: video.id,\n make_gif: extras.make_gif,\n },\n img_url: src, // src is the url entered in the input element\n }\n } else {\n let img_url = src;\n if (video && video.url) {\n switch (video.domain) {\n case \"apple\":\n case \"instagram\":\n case \"reddit\":\n case \"tiktok\":\n // These domains require fresh authorization each time,\n // hence tell our backend to use the originally entered URL.\n break;\n default: // Otherwise use the resolved video URL.\n img_url = video.url;\n }\n }\n data = {\n make_public: extras.make_public,\n title: extras.title,\n summary: extras.summary,\n nsfw: extras.nsfw,\n hashtags: extras.hashtags,\n start_sec: slice[0],\n dur: slice[1] - slice[0],\n make_gif: extras.make_gif,\n img_url: img_url,\n }\n }\n\n const req = new XMLHttpRequest()\n req.open(\"POST\", url)\n req.setRequestHeader(\"Content-Type\", \"application/json\")\n\n req.addEventListener(\"readystatechange\", () => {\n if (req.readyState === 2) {\n if (req.status === 200) {\n req.responseType = \"blob\"\n } else {\n req.responseType = \"text\"\n }\n }\n })\n req.addEventListener(\"load\", () => {\n if (req.status === 200) {\n const slug = req.getResponseHeader(\"slug\")\n resolve({\n blob: req.response,\n mediaId: slug ?? \"\",\n })\n } else {\n reject(new Error(req.responseText))\n }\n })\n\n req.addEventListener(\"error\", () => {\n reject(new Error(\"network error\"))\n })\n\n req.send(JSON.stringify(data))\n })\n}\n\nexport interface VideoData {\n url: string\n summary: string\n title: string\n id: string\n tags: string[]\n nsfw: boolean\n kind: string\n domain: string\n}\n\nexport interface VideoResponse {\n videos: VideoData[]\n}\n\nexport async function requestVideoLinksFromAppLink(\n appLink: string,\n): Promise {\n const url = \"/api/video/url\" // same origin\n return new Promise((resolve, reject) => {\n const req = new XMLHttpRequest()\n req.open(\"POST\", url)\n req.setRequestHeader(\"Content-Type\", \"application/json\")\n\n req.addEventListener(\"readystatechange\", () => {\n if (req.readyState === 2) {\n if (req.status === 200) {\n req.responseType = \"json\"\n } else {\n req.responseType = \"text\"\n }\n }\n })\n\n req.addEventListener(\"load\", () => {\n if (req.status === 200) {\n resolve({ videos: req.response })\n } else {\n reject(new Error(req.responseText))\n }\n })\n\n req.addEventListener(\"error\", () => {\n reject(new Error(\"network error\"))\n })\n\n const data = JSON.stringify({\n url: appLink,\n })\n\n req.send(data)\n })\n}\n","import { useEffect, useState } from \"react\"\n\nimport { Box, Grid, TextField } from \"@mui/material\"\nimport TextArrayInput from \"../Inputs/TextArrayInput\"\nimport { BooleanBasedFieldProps, BooleanBasedFieldType } from \"../Inputs/types\"\nimport BooleanBasedInput from \"../Inputs/BooleanBasedInput\"\nimport { useForm } from \"react-hook-form\"\n\nconst booleanFields: BooleanBasedFieldProps[] = [\n {\n name: \"make_gif\",\n label: \"Create a GIF instead.\",\n info: \"Instead of a video, output to a GIF.\",\n fieldType: BooleanBasedFieldType.CHECKBOX_BASED,\n default: false,\n },\n {\n name: \"make_public\",\n label: \"Make public\",\n info: \"Meme would be displayed on the public feed\",\n fieldType: BooleanBasedFieldType.CHECKBOX_BASED,\n default: true,\n },\n {\n name: \"nsfw\",\n label: \"Adult Content? (NSFW)\",\n info: \"Adult content? Not safe for work?\",\n fieldType: BooleanBasedFieldType.CHECKBOX_BASED,\n default: false,\n },\n]\n\nexport interface MemeExtraData {\n title: string\n summary: string\n hashtags: string[]\n make_public: boolean\n nsfw: boolean\n make_gif: boolean\n}\n\ninterface ControlProps {\n initialData: MemeExtraData | null\n onData: (data: MemeExtraData) => void\n}\n\nconst maxTitleLength = 50\nconst maxSummaryLength = 250\n\nexport default function MediaDetails(props: ControlProps) {\n const { onData, initialData } = props\n const [videoTitle, setVideoTitle] = useState(\n initialData?.title ? initialData.title.slice(0, maxTitleLength) : \"\",\n )\n\n const [videoTitleCharRemaining, setVideoTitleCharRemaining] = useState(() => {\n if (initialData && initialData.title) {\n const rem = maxTitleLength - initialData.title.length\n return rem < 0 ? 0 : rem\n }\n return maxTitleLength\n })\n\n const [videoSummary, setVideoSummary] = useState(\n initialData?.summary ? initialData.summary.slice(0, maxSummaryLength) : \"\",\n )\n const [videoSummaryCharRemaining, setVideoSummaryCharRemaining] = useState(() => {\n if (initialData && initialData.summary) {\n const rem = maxSummaryLength - initialData.summary.length\n return rem < 0 ? 0 : rem\n }\n return maxSummaryLength\n })\n\n const defaultValues = booleanFields.reduce((prev, next) => {\n if (next.name === \"nsfw\" && initialData?.nsfw != null) {\n return {\n ...prev,\n [next.name]: initialData.nsfw,\n }\n }\n return {\n ...prev,\n [next.name]: next.default ?? \"\",\n }\n }, {})\n\n const [extras, setExtras] = useState({\n ...defaultValues,\n ...(initialData ? initialData : {}),\n } as MemeExtraData)\n\n // initialize the extra data field on parent component\n // so submitting without changing the values ensure we have\n // safe defaults\n useEffect(() => {\n onData(extras)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n const { control, watch } = useForm({ defaultValues })\n\n useEffect(() => {\n const subscription = watch((values) => {\n let data = {} as MemeExtraData\n setExtras((v) => {\n data = { ...v, ...values }\n return data\n })\n onData(data)\n })\n return () => subscription.unsubscribe()\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [watch])\n\n const handleVideoTitle = (text = \"\") => {\n if (text.length > maxTitleLength) {\n return\n }\n setVideoTitleCharRemaining(maxTitleLength - text.length)\n setVideoTitle(text)\n setExtras((v) => ({ ...v, title: text }))\n onData({ ...extras, title: text })\n }\n\n const handleVideoSummary = (text = \"\") => {\n if (text.length > maxSummaryLength) {\n return\n }\n setVideoSummaryCharRemaining(maxSummaryLength - text.length)\n setVideoSummary(text)\n setExtras((v) => ({ ...v, summary: text }))\n onData({ ...extras, summary: text })\n }\n\n const handleHasTags = (t: string[]) => {\n setExtras((v) => ({ ...v, hashtags: t }))\n onData({ ...extras, hashtags: t })\n }\n\n const charText = videoTitleCharRemaining === 1 ? \"character\" : \"characters\"\n const charSummary = videoSummaryCharRemaining === 1 ? \"character\" : \"characters\"\n\n return (\n \n \n handleVideoTitle(e.target.value)}\n />\n \n \n handleVideoSummary(e.target.value)}\n />\n \n\n \n \n \n \n \n \n {booleanFields.map((b, i) => {\n return (\n `1px solid ${t.palette.primary.dark}`,\n ml: 0,\n mr: 1,\n mb: 1,\n borderRadius: 1,\n }}\n >\n \n \n )\n })}\n \n \n )\n}\n","import { MemeExtraData } from \"./MediaDetails\"\nimport { VideoData } from \"./request\"\n\ntype InputUrlSource = \"youtube\" | \"reddit\" | \"any\"\n\nexport interface InputSourceSpec {\n name: InputUrlSource\n sourceId: string\n origUrl: string\n}\n\nexport function getInputSourceFromUrl(src: string): InputSourceSpec {\n return {\n origUrl: src,\n name: \"any\",\n sourceId: \"\",\n }\n}\n\nexport function mapVideoDataToMemeExtraData(\n v?: VideoData,\n): MemeExtraData | null {\n if (!v) return null\n\n const data = {} as MemeExtraData\n data.hashtags = v.tags\n data.nsfw = v.nsfw\n data.title = v.title\n return data\n}\n","import { forwardRef, useEffect, useRef, useState } from \"react\"\nimport YouTube, { YouTubeProps } from \"react-youtube\"\nimport Slide from \"@mui/material/Slide\"\nimport Slider, { SliderThumb } from \"@mui/material/Slider\"\nimport {\n AppBar,\n Box,\n Button,\n CardMedia,\n IconButton,\n Toolbar,\n Typography,\n} from \"@mui/material\"\nimport CloseIcon from \"@mui/icons-material/Close\"\n\nimport Dialog from \"@mui/material/Dialog\"\nimport DialogContent from \"@mui/material/DialogContent\"\nimport { styled } from \"@mui/material/styles\"\nimport { useTheme } from \"@mui/material/styles\"\nimport useMediaQuery from \"@mui/material/useMediaQuery\"\n\nimport { useShareableLink } from \"../../hooks/useShareableLinks\"\nimport { CopyToClipboard } from \"../../CopyToClipboard\"\n\nimport \"./Youtube.modules.css\"\nimport { TransitionProps } from \"@mui/material/transitions\"\n\nconst TinyText = styled(Typography)({\n fontSize: \"0.75rem\",\n opacity: 0.38,\n fontWeight: 500,\n letterSpacing: 0.2,\n})\n\nconst CustomSlider = styled(Slider)(({ theme }) => ({\n color: theme.palette.secondary.main,\n height: 3,\n padding: \"13px 0\",\n \"& .MuiSlider-thumb\": {\n height: 27,\n width: 27,\n backgroundColor: \"#fff\",\n border: \"1px solid currentColor\",\n \"&:hover\": {\n boxShadow: \"0 0 0 8px rgba(58, 133, 137, 0.16)\",\n },\n \"& .custom-bar\": {\n height: 9,\n width: 1,\n backgroundColor: \"currentColor\",\n marginLeft: 1,\n marginRight: 1,\n },\n },\n \"& .MuiSlider-track\": {\n height: 3,\n },\n \"& .MuiSlider-rail\": {\n color: theme.palette.mode === \"dark\" ? \"#bfbfbf\" : \"#d8d8d8\",\n opacity: theme.palette.mode === \"dark\" ? undefined : 1,\n height: 3,\n },\n}))\n\ninterface CustomThumbComponentProps extends React.HTMLAttributes {}\n\nfunction CustomThumbComponent(props: CustomThumbComponentProps) {\n const { children, ...other } = props\n return (\n \n {children}\n \n \n \n \n )\n}\n\nconst Transition = forwardRef(function Transition(\n props: TransitionProps & {\n children: React.ReactElement\n },\n ref: React.Ref,\n) {\n return \n})\n\ninterface YoutubeMediaProps {\n videoId: string\n open: boolean\n onClose: () => void\n}\n\nexport default function YoutubeItemDialog(props: YoutubeMediaProps) {\n const q = new URLSearchParams(window.location.search)\n const videoId = props.videoId\n const { open, onClose } = props\n const [duration, setDuration] = useState(0)\n\n const [startSec, setStartSec] = useState(() => {\n const sec = q.get(\"startSec\")\n return sec ? parseInt(sec) : 0\n })\n\n const [endSec, setEndSec] = useState(() => {\n const sec = q.get(\"endSec\")\n return sec ? parseInt(sec) : duration\n })\n\n const [value, setValue] = useState([startSec, endSec])\n\n const [videoTitle, setVideoTitle] = useState(videoId)\n const [shareableLink, setShareableLink] = useState(\"\")\n\n let player = useRef(null)\n\n const durationEdited = startSec !== 0 || endSec !== 0\n\n const shareableLinker = useShareableLink()\n\n useEffect(() => {\n if (durationEdited) {\n const url = `${window.location.origin}/yc?id=${videoId}&startSec=${startSec}&endSec=${endSec}`;\n setShareableLink(url)\n }\n }, [durationEdited, startSec, endSec, shareableLinker, videoId])\n\n const onPlayerReady: YouTubeProps[\"onReady\"] = (event) => {\n event.target.playVideo()\n const d = event.target.getDuration()\n if (d) {\n setDuration(d)\n if (endSec >= d) setEndSec(d)\n if (startSec >= d) setStartSec(0)\n }\n const data = event.target.getVideoData()\n if (data?.title) setVideoTitle(data.title)\n }\n\n const opts: YouTubeProps[\"opts\"] = {\n playerVars: {\n autoplay: 1,\n start: startSec,\n end: endSec,\n controls: 0,\n rel: 0,\n },\n }\n\n const handleChange = (e: Event, newValue: number | number[]) => {\n const data = newValue as number[]\n setValue(data)\n if (player !== null) {\n const p = player.current?.getInternalPlayer()\n setStartSec(data[0])\n setEndSec(data[1])\n p.seekTo(data[0])\n p.playVideo()\n }\n }\n\n const formatDuration = (value: number) => {\n const minute = Math.floor(value / 60)\n const secondLeft = +(value - minute * 60).toFixed(0)\n return `${minute}:${secondLeft < 10 ? `0${secondLeft}` : secondLeft}`\n }\n\n const theme = useTheme()\n const isMobile = useMediaQuery(theme.breakpoints.down(\"sm\"))\n\n return (\n \n {isMobile && (\n \n \n \n  {\" \"}\n Back to results\n \n \n \n )}\n \n \n \n {durationEdited && (\n \n \n \n )}\n \n \n \n {duration !== 0 && (\n \n \n Clip video to start and end time\n \n \n index === 0 ? \"Start Seconds\" : \"End Seconds\"\n }\n value={[value[0], value[1] || duration]}\n min={0}\n max={duration}\n onChange={handleChange}\n color=\"primary\"\n valueLabelDisplay=\"auto\"\n valueLabelFormat={(d) => formatDuration(d)}\n />\n \n {formatDuration(value[0])}\n -{formatDuration(duration - value[0])}\n \n \n )}\n (player.current = p)}\n />\n \n \n {videoTitle}\n \n \n \n \n \n )\n}\n","\"use strict\";\n'use client';\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M10 15l5.19-3L10 9v6m11.56-7.83c.13.47.22 1.1.28 1.9.07.8.1 1.49.1 2.09L22 12c0 2.19-.16 3.8-.44 4.83-.25.9-.83 1.48-1.73 1.73-.47.13-1.33.22-2.65.28-1.3.07-2.49.1-3.59.1L12 19c-4.19 0-6.8-.16-7.83-.44-.9-.25-1.48-.83-1.73-1.73-.13-.47-.22-1.1-.28-1.9-.07-.8-.1-1.49-.1-2.09L2 12c0-2.19.16-3.8.44-4.83.25-.9.83-1.48 1.73-1.73.47-.13 1.33-.22 2.65-.28 1.3-.07 2.49-.1 3.59-.1L12 5c4.19 0 6.8.16 7.83.44.9.25 1.48.83 1.73 1.73z\"\n}), 'YouTube');\nexports.default = _default;","import {\n Grid,\n Card,\n CardActionArea,\n CardMedia,\n Box,\n Typography,\n Divider,\n Chip,\n} from \"@mui/material\"\nimport { useEffect, useRef, useState } from \"react\"\nimport { YoutubeMedia } from \"../../features/search/searchAPI\"\nimport YoutubeItemDialog from \"../SearchPage/Youtube/YoutubeItemDialog\"\nimport { useShareableLink } from \"../hooks/useShareableLinks\"\nimport YouTubeIcon from \"@mui/icons-material/YouTube\"\n\ninterface SeedProps {\n videos: YoutubeMedia[]\n onVideoSelection: (s: string) => void\n scrollToView: boolean\n}\n\nexport default function SeedVideos(props: SeedProps) {\n const { videos = [], onVideoSelection, scrollToView } = props\n const exists = videos.length > 0\n const divRef = useRef()\n\n useEffect(() => {\n const { current } = divRef\n if (current != null && scrollToView) {\n current.scrollIntoView({ behavior: \"smooth\" })\n }\n }, [videos, scrollToView])\n\n const text = exists\n ? \"Select a video to augment it\"\n : \"No results returned on your search\"\n\n return (\n \n \n {videos.map((item) => {\n return (\n onVideoSelection(t)} />\n )\n })}\n \n \n \n \n \n )\n}\n\ninterface Props {\n item: YoutubeMedia\n onSelect: (t: string) => void\n}\n\nfunction YoutubeVideo(props: Props) {\n const { item, onSelect } = props\n const [open, setOpen] = useState(false)\n\n const shareableLinker = useShareableLink()\n const closeDialog = () => {\n shareableLinker({ startSec: \"\", endSec: \"\" })\n setOpen(false)\n }\n\n const handleSelectVideo = (src: string) => {\n onSelect(src)\n }\n\n return (\n \n {open && (\n \n )}\n \n \n handleSelectVideo(`https://www.youtube.com/watch?v=${item.id}`)\n }\n >\n \n \n \n \n Youtube\n \n \n \n \n \n )\n}\n","import { useEffect, useRef, useState } from \"react\"\nimport ArrowBackIcon from \"@mui/icons-material/ArrowBack\"\nimport \"video-react/dist/video-react.css\"\n\nimport {\n Alert,\n Backdrop,\n Box,\n Button,\n CardMedia,\n Chip,\n CircularProgress,\n Divider,\n Grid,\n LinearProgress,\n Paper,\n Typography,\n} from \"@mui/material\"\nimport { CopyToClipboard } from \"../CopyToClipboard\"\nimport VideoInputLoader from \"./VideoInputLoader\"\nimport VideoPlayer from \"./VideoPlayer\"\nimport {\n VideoData,\n requestVideoLinksFromAppLink,\n requestVideoToGIFWithAppURL,\n requestVideoToGIFWithUpload,\n} from \"./request\"\nimport MediaDetails, { MemeExtraData } from \"./MediaDetails\"\nimport { mapVideoDataToMemeExtraData } from \"./utils\"\nimport { useAppSelector } from \"../../app/hooks\"\nimport { YoutubeMedia } from \"../../features/search/searchAPI\"\nimport { selectMedia, selectStatus } from \"../../features/search/searchSlice\"\nimport SeedVideos from \"./SeedVideos\"\n\ntype OutType = \"video\" | \"image\"\n\nconst supportedApps = [\"youtube\", \"reddit\", \"dailymotion\", \"instagram\"]\n\nconst defaultSliceDuration = 20\n\nexport default function PanelSection() {\n const divRef = useRef(null)\n\n const [file, setFile] = useState(null)\n const [outputType, setOutputType] = useState(\"video\")\n const [appSourceUrl, setAppSourceUrl] = useState(\"\")\n const [videoSrc, setVideoSrc] = useState(\"\")\n const [convertedObjectSource, setConvertedObjectSource] = useState(\"\")\n const [shareableLink, setShareableLink] = useState(\"\")\n const [convertError, setConvertError] = useState(\"\")\n const [showConvertedGif, setShowConvertedGif] = useState(false)\n const [convertedGifBlob, setConvertedGifBlob] = useState()\n const [canSubmit, setCanSubmit] = useState(false)\n const [processingInputUrl, setProcessingInputUrl] = useState(false)\n const [inputUrlError, setInputUrlError] = useState(\"\")\n const [uploadPercent, setUploadPercent] = useState(0)\n const [videoData, setVideoData] = useState({} as VideoData)\n const [extras, setExtras] = useState()\n const [processingAugmentRequest, setProcessingAugmentRequest] =\n useState(false)\n const [gifSlice, setGifSlice] = useState<[number, number]>([\n 0,\n defaultSliceDuration,\n ])\n\n const videoTopDiv = useRef()\n const [scrollToSearchResults, setScrollToSearchResults] = useState(false)\n\n const onVideoFile = (file: File) => {\n setFile(file)\n }\n\n useEffect(() => {\n if (!scrollToSearchResults) {\n const { current } = videoTopDiv\n if (current != null && canSubmit) {\n current.scrollIntoView()\n }\n }\n }, [scrollToSearchResults, canSubmit])\n\n const onVideoSrc = async (src: string) => {\n if (!src) return\n\n if (src.startsWith(\"data\")) {\n setVideoSrc(src)\n setCanSubmit(true)\n // this is an uploaded file src string\n return\n }\n\n try {\n setFile(null) // just in case a file existed before a user pasted a URL\n setAppSourceUrl(src)\n setProcessingInputUrl(true)\n setInputUrlError(\"\")\n const resp = await requestVideoLinksFromAppLink(src)\n const video = resp.videos[0]\n setVideoData(video)\n setVideoSrc(video.url)\n setScrollToSearchResults(false)\n setCanSubmit(true)\n } catch (e) {\n setInputUrlError((e as Error).message)\n } finally {\n setProcessingInputUrl(false)\n }\n }\n\n const handleUploadProgress = (p: number) => {\n setUploadPercent(p)\n }\n\n const handleVideoSlice = (n: [number, number]) => {\n setGifSlice(n)\n }\n\n const handleExtraData = (d: MemeExtraData) => {\n if (d?.make_gif) {\n setOutputType(\"image\")\n } else {\n setOutputType(\"video\")\n }\n setExtras(d)\n }\n\n const mediaIdToUrl = (mediaId: string) => {\n if (mediaId === \"\") return \"\"\n return `${window.origin}/m/${mediaId}`\n }\n\n const handleVideoAugmentation = async () => {\n try {\n setProcessingAugmentRequest(true)\n if (file) {\n try {\n const resp = await requestVideoToGIFWithUpload(\n file!,\n gifSlice,\n extras!,\n handleUploadProgress,\n )\n setConvertedGifBlob(resp.blob)\n setConvertedObjectSource(URL.createObjectURL(resp.blob))\n setShareableLink(mediaIdToUrl(resp.mediaId))\n setShowConvertedGif(true)\n } catch (e) {\n setConvertError((e as Error).message ?? \"unexpected error occured\")\n }\n } else {\n try {\n const resp = await requestVideoToGIFWithAppURL(\n appSourceUrl,\n videoData!, // if this is not an upload then videoData is non-empty\n gifSlice,\n extras!,\n )\n setConvertedGifBlob(resp.blob)\n setConvertedObjectSource(URL.createObjectURL(resp.blob))\n setShareableLink(mediaIdToUrl(resp.mediaId))\n setShowConvertedGif(true)\n } catch (e) {\n setConvertError((e as Error).message ?? \"unexpected error occured\")\n }\n }\n } finally {\n setProcessingAugmentRequest(false)\n }\n }\n\n const handleNewVideoToGif = () => {\n window.open(\n `${window.location.origin}/${window.location.pathname}`,\n \"_self\",\n )\n }\n\n const handleDownload = () => {\n const link = document.createElement(\"a\")\n link.href = URL.createObjectURL(convertedGifBlob!)\n link.setAttribute(\n \"download\",\n `file${outputType === \"video\" ? \".mp4\" : \".gif\"}`,\n )\n link.click()\n }\n\n const media = useAppSelector(selectMedia)\n const status = useAppSelector(selectStatus)\n const loadingSearch = status === \"loading\"\n const items: YoutubeMedia[] = []\n const limit = 10\n media.results?.forEach((f) => {\n if (f?.service === \"youtube\") {\n f.results?.forEach((t, i) => {\n const item = t as YoutubeMedia\n if (limit && limit <= i) return\n if (item.id) {\n items.push(item)\n }\n })\n }\n })\n\n const onSeedVideoSelection = (src: string) => {\n onVideoSrc(src)\n }\n const hasResultsFromSearch = items && items.length > 0\n\n if (showConvertedGif) {\n return (\n \n handleNewVideoToGif()}\n variant=\"contained\"\n disableElevation\n size=\"small\"\n sx={{ mb: 2, mr: 2 }}\n startIcon={}\n >\n Augment another video\n \n \n Download\n \n {shareableLink && (\n \n \n \n )}\n \n \n \n {outputType === \"video\" && (\n \n )}\n {outputType === \"image\" && (\n \n )}\n \n \n \n )\n }\n\n return (\n \n \n theme.zIndex.drawer + 1 }}\n open={processingAugmentRequest || processingInputUrl || loadingSearch}\n >\n \n \n \n \n Supported sources\n \n {supportedApps.map((m) => {\n return (\n {m}}\n color=\"secondary\"\n variant=\"outlined\"\n size=\"small\"\n key={m}\n sx={{ mr: 0.5, bgcolor: \"background.default\" }}\n />\n )\n })}\n \n onVideoFile(file)}\n onVideoSrc={onVideoSrc}\n onSearchRequestSent={() => setScrollToSearchResults(true)}\n />\n \n \n {hasResultsFromSearch && (\n \n )}\n \n \n \n \n \n \n {}}\n onSlice={handleVideoSlice}\n />\n \n \n \n {canSubmit && (\n \n {inputUrlError && {inputUrlError}}\n {convertError && {convertError}}\n handleVideoAugmentation()}\n >\n Process it now\n \n handleExtraData(d)}\n initialData={mapVideoDataToMemeExtraData(videoData)}\n />\n \n )}\n \n {file && processingAugmentRequest && (\n \n \n \n \n \n )}\n \n \n )\n}\n","import { Toolbar } from \"@mui/material\"\nimport Box from \"@mui/material/Box\"\nimport Container from \"@mui/material/Container\"\n\nimport PanelSection from \"./PanelSection\"\n\nexport default function AugmentPage() {\n return (\n t.palette.background.paper, flexGrow: 1 }}>\n \n \n \n \n \n )\n}\n"],"names":["createStoreHook","context","ReactReduxContext","useReduxContext","useDefaultReduxContext","createReduxContextHook","store","useStore","createDispatchHook","useDefaultStore","useDispatch","getLinearProgressUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","_","_t","_t2","_t3","_t4","_t5","_t6","TRANSITION_DURATION","indeterminate1Keyframe","keyframes","indeterminate2Keyframe","bufferKeyframe","useUtilityClasses","ownerState","classes","variant","color","slots","capitalize","composeClasses","getColorShade","theme","lighten","darken","LinearProgressRoot","styled","props","styles","_extends","LinearProgressDashed","backgroundColor","css","LinearProgressBar1","LinearProgressBar2","LinearProgress","React.forwardRef","inProps","ref","useThemeProps","className","value","valueBuffer","other","_objectWithoutPropertiesLoose","useTheme","rootProps","inlineStyles","transform","_jsxs","clsx","_jsx","LinearProgress$1","listItemIconClasses","listItemIconClasses$1","listItemTextClasses","listItemTextClasses$1","getMenuItemUtilityClass","menuItemClasses","menuItemClasses$1","overridesResolver","disabled","dense","divider","disableGutters","selected","composedClasses","MenuItemRoot","ButtonBase","prop","rootShouldForwardProp","alpha","dividerClasses","MenuItem","autoFocus","component","focusVisibleClassName","role","tabIndexProp","React.useContext","ListContext","childContext","React.useMemo","menuItemRef","React.useRef","useEnhancedEffect","handleRef","useForkRef","tabIndex","MenuItem$2","_interopRequireDefault","require$$0","MovieFilter","default_1","_createSvgIcon","require$$1","_jsxRuntime","require$$2","_default","parseAugmentQuery","input","t","useAppDispatch","useAppSelector","useSelector","VisuallyHiddenInput","allowedVideoTypes","VideoInputLoader","onVideoSrc","onVideoFile","onSearchRequestSent","q","videoUrl","useState","itunes_id","control","handleSubmit","useForm","dispatch","handleSubmitImageUrlForm","data","query","category","term","sendData","useEffect","handleImageUpload","e","file","reader","src","jsx","jsxs","Paper","Controller","field","InputBase","Divider","IconButton","MovieFilterIcon","Typography","_typeof","o","module","_getRequireWildcardCache","r","_interopRequireWildcard","n","a","u","i","_toPrimitive","hint","prim","res","toPrimitive","_toPropertyKey","arg","key","toPropertyKey","_defineProperty","obj","defineProperty","_objectSpread","target","source","ownKeys","sym","excluded","sourceKeys","objectWithoutPropertiesLoose","_objectWithoutProperties","sourceSymbolKeys","_classCallCheck","instance","Constructor","_defineProperties","descriptor","_createClass","protoProps","staticProps","_assertThisInitialized","self","assertThisInitialized","_possibleConstructorReturn","call","_getPrototypeOf","_setPrototypeOf","p","setPrototypeOf","_inherits","subClass","superClass","hasOwn","classNames","appendClass","parseValue","newClass","video","handleLoadStart","handleCanPlay","handleWaiting","handleCanPlayThrough","handlePlaying","handlePlay","handlePause","handleEnd","handleSeeking","handleSeeked","handleDurationChange","handleTimeUpdate","handleVolumeChange","handleProgressChange","handleRateChange","handleSuspend","handleAbort","handleEmptied","handleStalled","handleLoadedMetaData","handleLoadedData","handleResize","handleError","handleSeekingTime","handleEndSeeking","activateTextTrack","LOAD_START","CAN_PLAY","WAITING","CAN_PLAY_THROUGH","PLAYING","PLAY","PAUSE","END","SEEKING","SEEKED","SEEKING_TIME","END_SEEKING","DURATION_CHANGE","TIME_UPDATE","VOLUME_CHANGE","PROGRESS_CHANGE","RATE_CHANGE","SUSPEND","ABORT","EMPTIED","STALLED","LOADED_META_DATA","LOADED_DATA","RESIZE","ERROR","ACTIVATE_TEXT_TRACK","videoProps","time","textTrack","exports","_classCallCheck2","_createClass2","Fullscreen","elm","handler","player","handleFullscreenChange","activate","userActivate","play","pause","togglePlay","seek","forward","replay","changeRate","changeVolume","mute","toggleFullscreen","_fullscreen","OPERATE","FULLSCREEN_CHANGE","PLAYER_ACTIVATE","USER_ACTIVATE","isFullscreen","activity","operation","seconds","rate","volume","v","muted","_objectSpread2","_video","_player","require$$3","initialState","state","action","_operation","playerReducer","operationReducer","require$$4","_redux","require$$5","_reducers","require$$6","playerActions","require$$7","videoActions","require$$8","Manager","manager","actions","bindActionCreator","actionCreator","boundActions","listener","getState","prevState","handleChange","prevStateCopy","_this","_this2","_possibleConstructorReturn2","_getPrototypeOf2","_assertThisInitialized2","_inherits2","_propTypes","_react","require$$9","_classnames","require$$10","propTypes","defaultProps","BigPlayButton","_Component","_this$props","position","LoadingSpinner","_ref","PosterImage","poster","_arrayLikeToArray","arr","len","arr2","arrayLikeToArray","_arrayWithoutHoles","_iterableToArray","iter","_unsupportedIterableToArray","minLen","_nonIterableSpread","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","_toConsumableArray","utils","formatTime","isVideoChild","mergeAndSortChildren","deprecatedWarning","throttle","_toConsumableArray2","_objectWithoutProperties2","isNaN","guide","s","m","h","gm","gh","c","find","elements","func","isTypeEqual","component1","component2","type1","type2","defaultChildren","_children","_parentProps","defaultOrder","children","parentProps","element","defaultComponent","b","oldMethodCall","newMethodCall","callback","limit","_arguments","wait","mediaProperties","require$$11","_utils","require$$12","Video","properties","activeTextTrack","promise","_this$video","_this$video2","_this$props2","_this$props3","onLoadStart","_this$props4","onCanPlay","_this$props5","onCanPlayThrough","_this$props6","onPlaying","_this$props7","onPlay","_this$props8","onPause","_this$props9","onDurationChange","_this$props10","onProgress","_this$props11","loop","onEnded","_this$props12","onWaiting","_this$props13","onSeeking","_this$props14","onSeeked","_this$props15","onSuspend","_this$props16","onAbort","_this$props17","onEmptied","_this$props18","onStalled","_this$props19","onLoadedMetadata","startTime","_this$props20","onLoadedData","_this$props21","onTimeUpdate","_this$props22","onRateChange","_this$props23","onVolumeChange","_this$props24","onError","_this$props25","onResize","_this3","cprops","preOnError","_this4","_this$props26","preload","autoPlay","playsInline","crossOrigin","videoId","val","Bezel","style","dom","findElPosition","getPointerPosition","blurNode","focusNode","hasClass","el","box","_document","body","docEl","clientLeft","scrollLeft","left","clientTop","scrollTop","top","event","boxW","boxH","boxY","boxX","evtPageY","evtPageX","reactNode","cls","_defineProperty2","_dom","Shortcut","playbackRate","prevProps","getShortcutKey","_ref$keyCode","keyCode","_ref$ctrl","ctrl","_ref$shift","shift","_ref$alt","alt","defaultShortcuts","shortcuts","shortcut","mergedShortcuts","handle","gradeShortcut","score","ps","clickable","dblclickable","Dom","Slider","getPercent","progress","onMouseDown","onMouseMove","onMouseUp","node","percentage","child","vertical","label","valuenow","valuetext","PlayProgressBar","currentTime","duration","LoadProgressBar","buffered","bufferedEnd","percentify","end","percent","parts","start","part","MouseTimeDisplay","mouseTime","text","_Slider","_PlayProgressBar","_LoadProgressBar","require$$13","_MouseTimeDisplay","require$$14","require$$15","SeekBar","_this$props$player","seekingTime","distance","newTime","_this$props$player2","_extends2","_SeekBar","ProgressControl","PlayToggle","controlText","mode","ForwardReplayControl","_ForwardReplayControl","ForwardControl","ReplayControl","FullscreenToggle","RemainingTimeDisplay","_ref$player","remainingTime","formattedTime","CurrentTimeDisplay","DurationDisplay","TimeDivider","separator","separatorText","ClickableComponent","onClick","Tag","Popup","PopupButton","_ClickableComponent","_Popup","inline","VolumeLevel","_VolumeLevel","VolumeBar","_PopupButton","_VolumeBar","VolumeMenuButton","level","Menu","index","onSelectItem","item","activateIndex","_Menu","_MenuItem","MenuButton","items","newIndex","_MenuButton","PlaybackRateMenuButton","rates","selectedIndex","_ProgressControl","_PlayToggle","_ForwardControl","_ReplayControl","_FullscreenToggle","require$$16","_RemainingTimeDisplay","require$$17","_CurrentTimeDisplay","require$$18","_DurationDisplay","require$$19","_TimeDivider","require$$20","_VolumeMenuButton","require$$21","_PlaybackRateMenuButton","require$$22","require$$23","ControlBar","autoHide","disableCompletely","browser","USER_AGENT","IS_IPAD","IS_IPHONE","IS_IPOD","IS_IOS","_Manager","_BigPlayButton","_LoadingSpinner","_PosterImage","_Video","_Bezel","_Shortcut","_ControlBar","require$$24","require$$25","Player","originalChildren","propsWithoutChildren","name","styleVal","fluid","propsAspectRatio","propsHeight","propsWidth","_this$manager$getStat","width","height","aspectRatio","ratioParts","ratioMultiplier","controlBarActiveTime","autoHideTime","_this$manager$getStat2","paused","hasStarted","waiting","seeking","userActivity","PlaybackRate","ClosedCaptionButton","kinds","offMenuText","showOffMenu","textTracks","textTrackItems","tracks","items1","items2","_this$state","_Player","_PlaybackRate","_ClosedCaptionButton","require$$26","require$$27","require$$28","require$$29","require$$30","require$$31","TinyText","formatDuration","minute","secondsLeft","VideoDurationSlicer","videoDuration","onSlice","defaultSliceDuration","sliceDuration","setSliceDuration","d","dur","setPosition","handleDurationSlicing","newValue","Box","SlicePointLabels","TextField","Stack","l","Fragment","Chip","VideoPlayer","onVideoStateChange","setPlayer","playerState","setPlayerState","setDuration","intervalId","useRef","handlePlayerState","useCallback","curr","prev","handleVideoSlice","id","Grid","requestVideoToGIFWithUpload","slice","extras","onProgressPercentCallback","resolve","reject","url","req","captionHeader","slug","ev","requestVideoToGIFWithAppURL","img_url","requestVideoLinksFromAppLink","appLink","booleanFields","BooleanBasedFieldType","maxTitleLength","maxSummaryLength","MediaDetails","onData","initialData","videoTitle","setVideoTitle","videoTitleCharRemaining","setVideoTitleCharRemaining","rem","videoSummary","setVideoSummary","videoSummaryCharRemaining","setVideoSummaryCharRemaining","defaultValues","next","setExtras","watch","subscription","values","handleVideoTitle","handleVideoSummary","handleHasTags","charText","charSummary","TextArrayInput","BooleanBasedInput","mapVideoDataToMemeExtraData","CustomSlider","CustomThumbComponent","SliderThumb","Transition","forwardRef","Slide","YoutubeItemDialog","open","onClose","startSec","setStartSec","sec","endSec","setEndSec","setValue","shareableLink","setShareableLink","durationEdited","shareableLinker","useShareableLink","onPlayerReady","opts","_a","secondLeft","isMobile","useMediaQuery","Dialog","AppBar","Toolbar","CloseIcon","DialogContent","CopyToClipboard","CardMedia","YouTube","nodeInterop","cacheBabelInterop","cacheNodeInterop","cache","newObj","hasPropertyDescriptor","desc","SeedVideos","videos","onVideoSelection","scrollToView","exists","divRef","current","YoutubeVideo","onSelect","setOpen","closeDialog","handleSelectVideo","Card","CardActionArea","YouTubeIcon","supportedApps","PanelSection","setFile","outputType","setOutputType","appSourceUrl","setAppSourceUrl","videoSrc","setVideoSrc","convertedObjectSource","setConvertedObjectSource","convertError","setConvertError","showConvertedGif","setShowConvertedGif","convertedGifBlob","setConvertedGifBlob","canSubmit","setCanSubmit","processingInputUrl","setProcessingInputUrl","inputUrlError","setInputUrlError","uploadPercent","setUploadPercent","videoData","setVideoData","processingAugmentRequest","setProcessingAugmentRequest","gifSlice","setGifSlice","videoTopDiv","scrollToSearchResults","setScrollToSearchResults","handleUploadProgress","handleExtraData","mediaIdToUrl","mediaId","handleVideoAugmentation","resp","handleNewVideoToGif","handleDownload","link","media","selectMedia","loadingSearch","selectStatus","f","onSeedVideoSelection","hasResultsFromSearch","Button","ArrowBackIcon","Backdrop","CircularProgress","Alert","AugmentPage","Container"],"mappings":"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AO,CACL,KAAMrB,EACN,WAAYqB,CAChB,CACC,CAED,SAAS9C,EAAY8C,EAAY,CAC/B,MAAO,CACL,KAAMpB,EACN,WAAYoB,CAChB,CACC,CAED,SAAS7C,EAAU6C,EAAY,CAC7B,MAAO,CACL,KAAMnB,EACN,WAAYmB,CAChB,CACC,CAED,SAAS5C,EAAc4C,EAAY,CACjC,MAAO,CACL,KAAMlB,EACN,WAAYkB,CAChB,CACC,CAED,SAAS3C,EAAa2C,EAAY,CAChC,MAAO,CACL,KAAMjB,EACN,WAAYiB,CAChB,CACC,CAED,SAAS1C,EAAqB0C,EAAY,CACxC,MAAO,CACL,KAAMd,EACN,WAAYc,CAChB,CACC,CAED,SAASzC,GAAiByC,EAAY,CACpC,MAAO,CACL,KAAMb,EACN,WAAYa,CAChB,CACC,CAED,SAASxC,GAAmBwC,EAAY,CACtC,MAAO,CACL,KAAMZ,EACN,WAAYY,CAChB,CACC,CAED,SAASvC,GAAqBuC,EAAY,CACxC,MAAO,CACL,KAAMX,EACN,WAAYW,CAChB,CACC,CAED,SAAStC,GAAiBsC,EAAY,CACpC,MAAO,CACL,KAAMV,EACN,WAAYU,CAChB,CACC,CAED,SAASrC,GAAcqC,EAAY,CACjC,MAAO,CACL,KAAMT,EACN,WAAYS,CAChB,CACC,CAED,SAASpC,GAAYoC,EAAY,CAC/B,MAAO,CACL,KAAMR,EACN,WAAYQ,CAChB,CACC,CAED,SAASnC,GAAcmC,EAAY,CACjC,MAAO,CACL,KAAMP,EACN,WAAYO,CAChB,CACC,CAED,SAASlC,GAAckC,EAAY,CACjC,MAAO,CACL,KAAMN,EACN,WAAYM,CAChB,CACC,CAED,SAASjC,GAAqBiC,EAAY,CACxC,MAAO,CACL,KAAML,EACN,WAAYK,CAChB,CACC,CAED,SAAShC,GAAiBgC,EAAY,CACpC,MAAO,CACL,KAAMJ,EACN,WAAYI,CAChB,CACC,CAED,SAAS/B,GAAa+B,EAAY,CAChC,MAAO,CACL,KAAMH,EACN,WAAYG,CAChB,CACC,CAED,SAAS9B,GAAY8B,EAAY,CAC/B,MAAO,CACL,KAAMF,EACN,WAAYE,CA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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,86]}