mirror of
https://github.com/responsively-org/responsively-app
synced 2024-11-10 23:04:20 +00:00
Add Page Navigator
This commit is contained in:
parent
2e80b227c7
commit
dd7103b40f
11 changed files with 601 additions and 9 deletions
|
@ -17,6 +17,7 @@ import {
|
||||||
ADDRESS_CHANGE,
|
ADDRESS_CHANGE,
|
||||||
STOP_LOADING,
|
STOP_LOADING,
|
||||||
TOGGLE_DEVICE_DESIGN_MODE_STATE,
|
TOGGLE_DEVICE_DESIGN_MODE_STATE,
|
||||||
|
PAGE_NAVIGATOR_CHANGED,
|
||||||
} from '../constants/pubsubEvents';
|
} from '../constants/pubsubEvents';
|
||||||
import {getBounds, getDefaultDevToolsWindowSize} from '../reducers/browser';
|
import {getBounds, getDefaultDevToolsWindowSize} from '../reducers/browser';
|
||||||
import {DEVTOOLS_MODES} from '../constants/previewerLayouts';
|
import {DEVTOOLS_MODES} from '../constants/previewerLayouts';
|
||||||
|
@ -53,6 +54,8 @@ export const SET_HEADER_VISIBILITY = 'SET_HEADER_VISIBILITY';
|
||||||
export const SET_LEFT_PANE_VISIBILITY = 'SET_LEFT_PANE_VISIBILITY';
|
export const SET_LEFT_PANE_VISIBILITY = 'SET_LEFT_PANE_VISIBILITY';
|
||||||
export const SET_HOVERED_LINK = 'SET_HOVERED_LINK';
|
export const SET_HOVERED_LINK = 'SET_HOVERED_LINK';
|
||||||
export const SET_STARTUP_PAGE = 'SET_STARTUP_PAGE';
|
export const SET_STARTUP_PAGE = 'SET_STARTUP_PAGE';
|
||||||
|
export const UPDATE_PAGE_NAVIGATOR = 'UPDATE_PAGE_NAVIGATOR';
|
||||||
|
export const TOGGLE_PAGE_NAVIGATOR = 'TOGGLE_PAGE_NAVIGATOR';
|
||||||
|
|
||||||
export function newAddress(address) {
|
export function newAddress(address) {
|
||||||
return {
|
return {
|
||||||
|
@ -942,3 +945,75 @@ export function changeStartupPage(value: 'BLANK' | 'HOME') {
|
||||||
dispatch(setStartupPage(value));
|
dispatch(setStartupPage(value));
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function updatePageNavigator(selector, index) {
|
||||||
|
return {
|
||||||
|
type: UPDATE_PAGE_NAVIGATOR,
|
||||||
|
selector,
|
||||||
|
index,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export function resetPageNavigator() {
|
||||||
|
return (dispatch: Dispatch, getState: RootStateType) => {
|
||||||
|
const {
|
||||||
|
browser: {
|
||||||
|
pageNavigator: {selector, index},
|
||||||
|
},
|
||||||
|
} = getState();
|
||||||
|
if (selector == null && index == null) return;
|
||||||
|
dispatch(updatePageNavigator(null, null));
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export function navigateToNextSelector(selector) {
|
||||||
|
return (dispatch: Dispatch, getState: RootStateType) => {
|
||||||
|
if ((selector || '').length === 0) return;
|
||||||
|
|
||||||
|
const {
|
||||||
|
browser: {pageNavigator},
|
||||||
|
} = getState();
|
||||||
|
|
||||||
|
let index = pageNavigator.index;
|
||||||
|
|
||||||
|
if (pageNavigator.selector !== selector || index == null) index = -1;
|
||||||
|
|
||||||
|
pubsub.publish(PAGE_NAVIGATOR_CHANGED, [
|
||||||
|
{selector, index: (index || 0) + 1},
|
||||||
|
]);
|
||||||
|
dispatch(updatePageNavigator(selector, (index || 0) + 1));
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export function navigateToPrevSelector(selector) {
|
||||||
|
return (dispatch: Dispatch, getState: RootStateType) => {
|
||||||
|
if ((selector || '').length === 0) return;
|
||||||
|
|
||||||
|
const {
|
||||||
|
browser: {pageNavigator},
|
||||||
|
} = getState();
|
||||||
|
|
||||||
|
let index = pageNavigator.index;
|
||||||
|
|
||||||
|
if (pageNavigator.selector !== selector || index == null) index = 0;
|
||||||
|
|
||||||
|
pubsub.publish(PAGE_NAVIGATOR_CHANGED, [
|
||||||
|
{selector, index: (index || 0) - 1},
|
||||||
|
]);
|
||||||
|
dispatch(updatePageNavigator(selector, (index || 0) - 1));
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export function setPageNavigatorActive(active) {
|
||||||
|
return {
|
||||||
|
type: TOGGLE_PAGE_NAVIGATOR,
|
||||||
|
active,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export function onChangePageNavigatorActive(active) {
|
||||||
|
return (dispatch: Dispatch, getState: RootStateType) => {
|
||||||
|
pubsub.publish(TOGGLE_EVENT_MIRRORING_ALL_DEVICES, [{status: !active}]);
|
||||||
|
dispatch(setPageNavigatorActive(active));
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
|
@ -17,6 +17,7 @@ import {getDeviceIcon} from '../../utils/iconUtils';
|
||||||
import useStyes from './useStyles';
|
import useStyes from './useStyles';
|
||||||
import LiveCssEditor from '../LiveCssEditor';
|
import LiveCssEditor from '../LiveCssEditor';
|
||||||
import LinkHoverDisplayContainer from '../../containers/LinkHoverDisplayContainer';
|
import LinkHoverDisplayContainer from '../../containers/LinkHoverDisplayContainer';
|
||||||
|
import PageNavigatorContainer from '../../containers/PageNavigatorContainer';
|
||||||
|
|
||||||
export default function DevicesPreviewer(props) {
|
export default function DevicesPreviewer(props) {
|
||||||
const {
|
const {
|
||||||
|
@ -144,6 +145,7 @@ export default function DevicesPreviewer(props) {
|
||||||
CSSEditor.position === CSS_EDITOR_MODES.BOTTOM) &&
|
CSSEditor.position === CSS_EDITOR_MODES.BOTTOM) &&
|
||||||
editor}
|
editor}
|
||||||
<LinkHoverDisplayContainer />
|
<LinkHoverDisplayContainer />
|
||||||
|
<PageNavigatorContainer />
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
229
desktop-app/app/components/PageNavigator/index.js
Normal file
229
desktop-app/app/components/PageNavigator/index.js
Normal file
|
@ -0,0 +1,229 @@
|
||||||
|
import React, {useEffect, useState, useRef} from 'react';
|
||||||
|
import cx from 'classnames';
|
||||||
|
import {motion} from 'framer-motion';
|
||||||
|
import DownIcon from '@material-ui/icons/KeyboardArrowDown';
|
||||||
|
import UpIcon from '@material-ui/icons/KeyboardArrowUp';
|
||||||
|
import CloseIcon from '@material-ui/icons/Close';
|
||||||
|
import ReplayIcon from '@material-ui/icons/Replay';
|
||||||
|
import {Tooltip} from '@material-ui/core';
|
||||||
|
import {ipcRenderer} from 'electron';
|
||||||
|
import {debounce} from 'lodash';
|
||||||
|
import {JSDOM} from 'jsdom';
|
||||||
|
import {makeStyles, useTheme} from '@material-ui/core/styles';
|
||||||
|
|
||||||
|
const {document} = new JSDOM('').window;
|
||||||
|
const queryCheck = s => document.createDocumentFragment().querySelector(s);
|
||||||
|
|
||||||
|
const isSelectorValid = selector => {
|
||||||
|
try {
|
||||||
|
queryCheck(selector);
|
||||||
|
} catch {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
};
|
||||||
|
|
||||||
|
const useStyles = makeStyles(theme => ({
|
||||||
|
container: {
|
||||||
|
height: 45,
|
||||||
|
position: 'absolute',
|
||||||
|
top: 50,
|
||||||
|
right: 25,
|
||||||
|
display: 'flex',
|
||||||
|
backgroundColor: theme.palette.background.l2,
|
||||||
|
borderRadius: 3,
|
||||||
|
wordWrap: 'break-word',
|
||||||
|
color: theme.palette.mode({light: '#000', dark: '#fff'}),
|
||||||
|
boxShadow: `0 ${theme.palette.mode({
|
||||||
|
light: '0px',
|
||||||
|
dark: '3px',
|
||||||
|
})} 5px rgba(0, 0, 0, 0.35)`,
|
||||||
|
padding: 5,
|
||||||
|
zIndex: theme.zIndex.tooltip,
|
||||||
|
},
|
||||||
|
textbox: {
|
||||||
|
border: 'none',
|
||||||
|
outline: 'none',
|
||||||
|
borderColor: 'transparent',
|
||||||
|
width: 250,
|
||||||
|
height: '100%',
|
||||||
|
background: 'none',
|
||||||
|
color: theme.palette.mode({light: '#000', dark: '#fff'}),
|
||||||
|
fontFamily: "'Consolas', 'Courier New', monospace",
|
||||||
|
whiteSpace: 'pre',
|
||||||
|
},
|
||||||
|
iconsContainer: {
|
||||||
|
display: 'flex',
|
||||||
|
justifyContent: 'space-between',
|
||||||
|
alignItems: 'center',
|
||||||
|
},
|
||||||
|
separator: {
|
||||||
|
borderLeft: '1px solid #636363',
|
||||||
|
margin: 3,
|
||||||
|
},
|
||||||
|
icon: {
|
||||||
|
cursor: 'pointer',
|
||||||
|
width: 30,
|
||||||
|
padding: 5,
|
||||||
|
color: theme.palette.mode({light: '#636363', dark: '#fffc'}),
|
||||||
|
'&:hover': {
|
||||||
|
'& svg': {
|
||||||
|
backgroundColor: theme.palette.primary.light,
|
||||||
|
color: '#fff',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
btn: {
|
||||||
|
cursor: 'pointer',
|
||||||
|
color: theme.palette.mode({light: '#636363', dark: '#fffc'}),
|
||||||
|
'&:hover': {
|
||||||
|
'& div': {
|
||||||
|
backgroundColor: theme.palette.primary.light,
|
||||||
|
color: '#fff',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
'& div': {
|
||||||
|
padding: 5,
|
||||||
|
fontFamily: "'Consolas', 'Courier New', monospace",
|
||||||
|
fontSize: 12,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
btnActive: {
|
||||||
|
'& div': {
|
||||||
|
backgroundColor: theme.palette.primary.light,
|
||||||
|
color: '#fff',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}));
|
||||||
|
|
||||||
|
const PageNavigator = props => {
|
||||||
|
const [selector, setSelector] = useState(props.selector || '');
|
||||||
|
const inputRef = React.createRef();
|
||||||
|
const styles = useStyles();
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if (props.active === true) {
|
||||||
|
document.addEventListener('keydown', _handleKeyDown);
|
||||||
|
inputRef.current.focus();
|
||||||
|
} else if (props.active === false) {
|
||||||
|
document.removeEventListener('keydown', _handleKeyDown);
|
||||||
|
}
|
||||||
|
return () => document.removeEventListener('keydown', _handleKeyDown);
|
||||||
|
}, [props.active, inputRef.current]);
|
||||||
|
|
||||||
|
const _handleChange = e => {
|
||||||
|
setSelector(e.target.value);
|
||||||
|
};
|
||||||
|
|
||||||
|
const _navigateNext = debounce(() => {
|
||||||
|
if (!isSelectorValid(selector)) props.resetPageNavigator();
|
||||||
|
else props.navigateToNextSelector(selector);
|
||||||
|
}, 25);
|
||||||
|
|
||||||
|
const _navigatePrev = debounce(() => {
|
||||||
|
if (!isSelectorValid(selector)) props.resetPageNavigator();
|
||||||
|
else props.navigateToPrevSelector(selector);
|
||||||
|
}, 25);
|
||||||
|
|
||||||
|
const resetPageNavigator = () => {
|
||||||
|
setSelector('');
|
||||||
|
props.resetPageNavigator();
|
||||||
|
};
|
||||||
|
|
||||||
|
const _closePageNavigator = () => {
|
||||||
|
props.onChangePageNavigatorActive(false);
|
||||||
|
};
|
||||||
|
|
||||||
|
const _handleInputKeyDown = e => {
|
||||||
|
if (e.shiftKey && e.key === 'Enter') {
|
||||||
|
_navigatePrev();
|
||||||
|
} else if (e.key === 'Enter') {
|
||||||
|
_navigateNext();
|
||||||
|
} else if (e.key === 'Escape') {
|
||||||
|
_closePageNavigator();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const _handleKeyDown = e => {
|
||||||
|
if (e.key === 'Escape') {
|
||||||
|
_closePageNavigator();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
if (!props.active) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<motion.div
|
||||||
|
className={styles.container}
|
||||||
|
initial={{y: props.active ? -70 : 0, scale: 1}}
|
||||||
|
animate={{y: props.active ? 0 : -70, scale: 1}}
|
||||||
|
transition={{
|
||||||
|
type: 'spring',
|
||||||
|
stiffness: 260,
|
||||||
|
damping: 20,
|
||||||
|
delay: 0,
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<div className={styles.iconsContainer}>
|
||||||
|
<span
|
||||||
|
className={cx(styles.btn, {
|
||||||
|
[styles.btnActive]: selector === 'section',
|
||||||
|
})}
|
||||||
|
onClick={() => setSelector('section')}
|
||||||
|
>
|
||||||
|
<div>section</div>
|
||||||
|
</span>
|
||||||
|
<span
|
||||||
|
className={cx(styles.btn, {[styles.btnActive]: selector === 'h1'})}
|
||||||
|
onClick={() => setSelector('h1')}
|
||||||
|
>
|
||||||
|
<div>h1</div>
|
||||||
|
</span>
|
||||||
|
<span
|
||||||
|
className={cx(styles.btn, {[styles.btnActive]: selector === 'h2'})}
|
||||||
|
onClick={() => setSelector('h2')}
|
||||||
|
>
|
||||||
|
<div>h2</div>
|
||||||
|
</span>
|
||||||
|
<span
|
||||||
|
className={cx(styles.btn, {[styles.btnActive]: selector === 'h3'})}
|
||||||
|
onClick={() => setSelector('h3')}
|
||||||
|
>
|
||||||
|
<div>h3</div>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<div className={styles.separator} />
|
||||||
|
<div className={styles.textboxContainer}>
|
||||||
|
<input
|
||||||
|
ref={inputRef}
|
||||||
|
className={styles.textbox}
|
||||||
|
type="text"
|
||||||
|
value={selector || ''}
|
||||||
|
onChange={_handleChange}
|
||||||
|
onKeyDown={_handleInputKeyDown}
|
||||||
|
placeholder="css selector"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div className={styles.separator} />
|
||||||
|
<div className={styles.iconsContainer}>
|
||||||
|
<span className={styles.icon} onClick={_navigatePrev}>
|
||||||
|
<UpIcon />
|
||||||
|
</span>
|
||||||
|
<span className={styles.icon} onClick={_navigateNext}>
|
||||||
|
<DownIcon />
|
||||||
|
</span>
|
||||||
|
<span className={styles.icon} onClick={resetPageNavigator}>
|
||||||
|
<ReplayIcon style={{height: 25, width: 25, padding: 3}} />
|
||||||
|
</span>
|
||||||
|
<span className={styles.icon} onClick={_closePageNavigator}>
|
||||||
|
<CloseIcon style={{height: 25, width: 25, padding: 3}} />
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</motion.div>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default PageNavigator;
|
|
@ -20,6 +20,7 @@ import ToggleTouch from '../ToggleTouch';
|
||||||
import Muted from '../icons/Muted';
|
import Muted from '../icons/Muted';
|
||||||
import CSSEditor from '../icons/CSSEditor';
|
import CSSEditor from '../icons/CSSEditor';
|
||||||
import styles from '../WebView/style.module.css';
|
import styles from '../WebView/style.module.css';
|
||||||
|
import PageNavigatorIcon from '../icons/PageNavigator';
|
||||||
|
|
||||||
const useStyles = makeStyles({
|
const useStyles = makeStyles({
|
||||||
container: {
|
container: {
|
||||||
|
@ -48,6 +49,7 @@ const ScrollControls = ({
|
||||||
toggleCSSEditor,
|
toggleCSSEditor,
|
||||||
onAllDevicesMutedChange,
|
onAllDevicesMutedChange,
|
||||||
onToggleAllDeviceDesignMode,
|
onToggleAllDeviceDesignMode,
|
||||||
|
onChangePageNavigatorActive,
|
||||||
}) => {
|
}) => {
|
||||||
const [eventMirroring, setEventMirroring] = useState(true);
|
const [eventMirroring, setEventMirroring] = useState(true);
|
||||||
const initialRender = useRef(true);
|
const initialRender = useRef(true);
|
||||||
|
@ -120,6 +122,22 @@ const ScrollControls = ({
|
||||||
</div>
|
</div>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
</Grid>
|
</Grid>
|
||||||
|
<Grid
|
||||||
|
item
|
||||||
|
className={cx(commonClasses.icon, {
|
||||||
|
[commonClasses.iconSelected]: browser.pageNavigator.active,
|
||||||
|
})}
|
||||||
|
>
|
||||||
|
<Tooltip title="Page Navigator">
|
||||||
|
<div
|
||||||
|
onClick={() => {
|
||||||
|
onChangePageNavigatorActive(!browser.pageNavigator.active);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<PageNavigatorIcon {...iconProps} height={22} width={22} />
|
||||||
|
</div>
|
||||||
|
</Tooltip>
|
||||||
|
</Grid>
|
||||||
<Grid item>
|
<Grid item>
|
||||||
<VerticalRuler />
|
<VerticalRuler />
|
||||||
</Grid>
|
</Grid>
|
||||||
|
|
|
@ -30,6 +30,7 @@ import {
|
||||||
APPLY_CSS,
|
APPLY_CSS,
|
||||||
TOGGLE_DEVICE_DESIGN_MODE_STATE,
|
TOGGLE_DEVICE_DESIGN_MODE_STATE,
|
||||||
TOGGLE_EVENT_MIRRORING_ALL_DEVICES,
|
TOGGLE_EVENT_MIRRORING_ALL_DEVICES,
|
||||||
|
PAGE_NAVIGATOR_CHANGED,
|
||||||
} from '../../constants/pubsubEvents';
|
} from '../../constants/pubsubEvents';
|
||||||
import {CAPABILITIES} from '../../constants/devices';
|
import {CAPABILITIES} from '../../constants/devices';
|
||||||
import {DESIGN_MODE_JS_VALUES} from '../../constants/values';
|
import {DESIGN_MODE_JS_VALUES} from '../../constants/values';
|
||||||
|
@ -179,6 +180,10 @@ class WebView extends Component {
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
this.subscriptions.push(
|
||||||
|
pubsub.subscribe(PAGE_NAVIGATOR_CHANGED, this.selectorNavigationChanged)
|
||||||
|
);
|
||||||
|
|
||||||
this.webviewRef.current.addEventListener('dom-ready', () => {
|
this.webviewRef.current.addEventListener('dom-ready', () => {
|
||||||
this.initEventTriggers(this.webviewRef.current);
|
this.initEventTriggers(this.webviewRef.current);
|
||||||
this.dbg = this.getWebContents().debugger;
|
this.dbg = this.getWebContents().debugger;
|
||||||
|
@ -347,6 +352,23 @@ class WebView extends Component {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
selectorNavigationChanged = ({selector, index}) => {
|
||||||
|
if (selector == null || index == null) return;
|
||||||
|
this.webviewRef.current
|
||||||
|
.executeJavaScript(
|
||||||
|
`{
|
||||||
|
var elements = document.querySelectorAll('${selector}');
|
||||||
|
var len = elements.length;
|
||||||
|
if (len !== 0) {
|
||||||
|
var idx = ((${index} % len) + len) % len;
|
||||||
|
var el = elements[idx];
|
||||||
|
el.scrollIntoView(true);
|
||||||
|
}
|
||||||
|
}`
|
||||||
|
)
|
||||||
|
.catch(captureOnSentry);
|
||||||
|
};
|
||||||
|
|
||||||
processNavigationBackEvent = () => {
|
processNavigationBackEvent = () => {
|
||||||
this.webviewRef.current.goBack();
|
this.webviewRef.current.goBack();
|
||||||
};
|
};
|
||||||
|
|
21
desktop-app/app/components/icons/PageNavigator.js
Normal file
21
desktop-app/app/components/icons/PageNavigator.js
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
import React, {Fragment} from 'react';
|
||||||
|
|
||||||
|
export default ({width, height, color, padding, margin, style}) => (
|
||||||
|
<Fragment>
|
||||||
|
<svg
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlnsXlink="http://www.w3.org/1999/xlink"
|
||||||
|
width={width}
|
||||||
|
height={height}
|
||||||
|
fill={color}
|
||||||
|
style={{padding, margin, ...style}}
|
||||||
|
className="navigatorIcon"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M19.31 18.9c.44-.69.69-1.52.69-2.4c0-2.5-2-4.5-4.5-4.5S11 14 11 16.5s2 4.5 4.5 4.5c.87 0 1.69-.25 2.38-.68L21 23.39L22.39 22l-3.08-3.1m-3.81.1a2.5 2.5 0 0 1 0-5a2.5 2.5 0 0 1 0 5M21 9h-2V7h2v2m0-4h-2V3h1c.55 0 1 .45 1 1v1m-2 6.03V11h2v2h-.03A6.608 6.608 0 0 0 19 11.03M17 5h-2V3h2v2m-4 0h-2V3h2v2M3 7h2v2H3V7m4 12h2v2H7v-2m-4-8h2v2H3v-2m1-8h1v2H3V4c0-.55.45-1 1-1m5 2H7V3h2v2M3 19h2v2H4c-.55 0-1-.45-1-1v-1m0-4h2v2H3v-2z"
|
||||||
|
fill="currentColor"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
</Fragment>
|
||||||
|
);
|
|
@ -29,3 +29,5 @@ export const PERMISSION_MANAGEMENT_PREFERENCE_CHANGED =
|
||||||
|
|
||||||
export const TOGGLE_DEVICE_DESIGN_MODE_STATE =
|
export const TOGGLE_DEVICE_DESIGN_MODE_STATE =
|
||||||
'TOGGLE_DEVICE_DESIGN_MODE_STATE';
|
'TOGGLE_DEVICE_DESIGN_MODE_STATE';
|
||||||
|
|
||||||
|
export const PAGE_NAVIGATOR_CHANGED = 'PAGE_NAVIGATOR_CHANGED';
|
||||||
|
|
20
desktop-app/app/containers/PageNavigatorContainer/index.js
Normal file
20
desktop-app/app/containers/PageNavigatorContainer/index.js
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
// @flow
|
||||||
|
import React from 'react';
|
||||||
|
import {connect} from 'react-redux';
|
||||||
|
import {bindActionCreators} from 'redux';
|
||||||
|
|
||||||
|
import * as BrowserActions from '../../actions/browser';
|
||||||
|
import PageNavigator from '../../components/PageNavigator';
|
||||||
|
|
||||||
|
function mapStateToProps(state) {
|
||||||
|
return {
|
||||||
|
active: !!state.browser.pageNavigator.active,
|
||||||
|
selector: state.browser.pageNavigator.selector,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
function mapDispatchToProps(dispatch) {
|
||||||
|
return bindActionCreators(BrowserActions, dispatch);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default connect(mapStateToProps, mapDispatchToProps)(PageNavigator);
|
|
@ -32,6 +32,8 @@ import {
|
||||||
SET_LEFT_PANE_VISIBILITY,
|
SET_LEFT_PANE_VISIBILITY,
|
||||||
SET_HOVERED_LINK,
|
SET_HOVERED_LINK,
|
||||||
SET_STARTUP_PAGE,
|
SET_STARTUP_PAGE,
|
||||||
|
UPDATE_PAGE_NAVIGATOR,
|
||||||
|
TOGGLE_PAGE_NAVIGATOR,
|
||||||
} from '../actions/browser';
|
} from '../actions/browser';
|
||||||
import {
|
import {
|
||||||
CHANGE_ACTIVE_THROTTLING_PROFILE,
|
CHANGE_ACTIVE_THROTTLING_PROFILE,
|
||||||
|
@ -179,6 +181,12 @@ type CSSEditorStateType = {
|
||||||
content: String,
|
content: String,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
type PageNavigator = {
|
||||||
|
active: boolean,
|
||||||
|
selector: string,
|
||||||
|
index: number | null,
|
||||||
|
};
|
||||||
|
|
||||||
export type BrowserStateType = {
|
export type BrowserStateType = {
|
||||||
devices: Array<Device>,
|
devices: Array<Device>,
|
||||||
homepage: string,
|
homepage: string,
|
||||||
|
@ -201,6 +209,7 @@ export type BrowserStateType = {
|
||||||
allDevicesInDesignMode: boolean,
|
allDevicesInDesignMode: boolean,
|
||||||
isHeaderVisible: boolean,
|
isHeaderVisible: boolean,
|
||||||
isLeftPaneVisible: boolean,
|
isLeftPaneVisible: boolean,
|
||||||
|
pageNavigator: PageNavigator,
|
||||||
};
|
};
|
||||||
|
|
||||||
let _activeDevices = null;
|
let _activeDevices = null;
|
||||||
|
@ -365,6 +374,7 @@ export default function browser(
|
||||||
isHeaderVisible: true,
|
isHeaderVisible: true,
|
||||||
isLeftPaneVisible: true,
|
isLeftPaneVisible: true,
|
||||||
hoveredLink: '',
|
hoveredLink: '',
|
||||||
|
pageNavigator: {selector: null, index: null, active: false},
|
||||||
},
|
},
|
||||||
action: Action
|
action: Action
|
||||||
) {
|
) {
|
||||||
|
@ -606,6 +616,17 @@ export default function browser(
|
||||||
case SET_STARTUP_PAGE:
|
case SET_STARTUP_PAGE:
|
||||||
saveStartupPage(action.value);
|
saveStartupPage(action.value);
|
||||||
return {...state};
|
return {...state};
|
||||||
|
case UPDATE_PAGE_NAVIGATOR:
|
||||||
|
state.pageNavigator.selector = action.selector;
|
||||||
|
state.pageNavigator.index = action.index;
|
||||||
|
return {
|
||||||
|
...state,
|
||||||
|
};
|
||||||
|
case TOGGLE_PAGE_NAVIGATOR:
|
||||||
|
state.pageNavigator.active = action.active;
|
||||||
|
return {
|
||||||
|
...state,
|
||||||
|
};
|
||||||
default:
|
default:
|
||||||
return state;
|
return state;
|
||||||
}
|
}
|
||||||
|
|
|
@ -306,6 +306,7 @@
|
||||||
"electron-util": "^0.14.2",
|
"electron-util": "^0.14.2",
|
||||||
"framer-motion": "^2.2.0",
|
"framer-motion": "^2.2.0",
|
||||||
"jimp": "^0.12.1",
|
"jimp": "^0.12.1",
|
||||||
|
"jsdom": "^16.5.3",
|
||||||
"lodash": "^4.17.19",
|
"lodash": "^4.17.19",
|
||||||
"merge-img": "^2.1.3",
|
"merge-img": "^2.1.3",
|
||||||
"mousetrap": "^1.6.5",
|
"mousetrap": "^1.6.5",
|
||||||
|
|
|
@ -2359,6 +2359,11 @@ abab@^2.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.3.tgz#623e2075e02eb2d3f2475e49f99c91846467907a"
|
resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.3.tgz#623e2075e02eb2d3f2475e49f99c91846467907a"
|
||||||
integrity sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg==
|
integrity sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg==
|
||||||
|
|
||||||
|
abab@^2.0.3, abab@^2.0.5:
|
||||||
|
version "2.0.5"
|
||||||
|
resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a"
|
||||||
|
integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==
|
||||||
|
|
||||||
abbrev@1:
|
abbrev@1:
|
||||||
version "1.1.1"
|
version "1.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
|
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
|
||||||
|
@ -2385,6 +2390,14 @@ acorn-globals@^4.1.0:
|
||||||
acorn "^6.0.1"
|
acorn "^6.0.1"
|
||||||
acorn-walk "^6.0.1"
|
acorn-walk "^6.0.1"
|
||||||
|
|
||||||
|
acorn-globals@^6.0.0:
|
||||||
|
version "6.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45"
|
||||||
|
integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==
|
||||||
|
dependencies:
|
||||||
|
acorn "^7.1.1"
|
||||||
|
acorn-walk "^7.1.1"
|
||||||
|
|
||||||
acorn-hammerhead@^0.3.0:
|
acorn-hammerhead@^0.3.0:
|
||||||
version "0.3.0"
|
version "0.3.0"
|
||||||
resolved "https://registry.yarnpkg.com/acorn-hammerhead/-/acorn-hammerhead-0.3.0.tgz#2f83730f15e8450169c3dfd88af3ea9405ea973d"
|
resolved "https://registry.yarnpkg.com/acorn-hammerhead/-/acorn-hammerhead-0.3.0.tgz#2f83730f15e8450169c3dfd88af3ea9405ea973d"
|
||||||
|
@ -2422,6 +2435,11 @@ acorn@^7.1.1:
|
||||||
resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.3.1.tgz#85010754db53c3fbaf3b9ea3e083aa5c5d147ffd"
|
resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.3.1.tgz#85010754db53c3fbaf3b9ea3e083aa5c5d147ffd"
|
||||||
integrity sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA==
|
integrity sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA==
|
||||||
|
|
||||||
|
acorn@^8.1.0:
|
||||||
|
version "8.2.4"
|
||||||
|
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.2.4.tgz#caba24b08185c3b56e3168e97d15ed17f4d31fd0"
|
||||||
|
integrity sha512-Ibt84YwBDDA890eDiDCEqcbwvHlBvzzDkU2cGBBDDI1QWT12jTiXIOn2CIw5KK4i6N5Z2HUxwYjzriDyqaqqZg==
|
||||||
|
|
||||||
address@^1.0.1:
|
address@^1.0.1:
|
||||||
version "1.1.2"
|
version "1.1.2"
|
||||||
resolved "https://registry.yarnpkg.com/address/-/address-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6"
|
resolved "https://registry.yarnpkg.com/address/-/address-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6"
|
||||||
|
@ -5627,11 +5645,16 @@ csso@^4.0.2:
|
||||||
dependencies:
|
dependencies:
|
||||||
css-tree "1.0.0-alpha.39"
|
css-tree "1.0.0-alpha.39"
|
||||||
|
|
||||||
cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0":
|
cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0", cssom@~0.3.6:
|
||||||
version "0.3.8"
|
version "0.3.8"
|
||||||
resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a"
|
resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a"
|
||||||
integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==
|
integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==
|
||||||
|
|
||||||
|
cssom@^0.4.4:
|
||||||
|
version "0.4.4"
|
||||||
|
resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10"
|
||||||
|
integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==
|
||||||
|
|
||||||
cssstyle@^1.0.0:
|
cssstyle@^1.0.0:
|
||||||
version "1.4.0"
|
version "1.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.4.0.tgz#9d31328229d3c565c61e586b02041a28fccdccf1"
|
resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.4.0.tgz#9d31328229d3c565c61e586b02041a28fccdccf1"
|
||||||
|
@ -5639,6 +5662,13 @@ cssstyle@^1.0.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
cssom "0.3.x"
|
cssom "0.3.x"
|
||||||
|
|
||||||
|
cssstyle@^2.3.0:
|
||||||
|
version "2.3.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852"
|
||||||
|
integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==
|
||||||
|
dependencies:
|
||||||
|
cssom "~0.3.6"
|
||||||
|
|
||||||
csstype@^2.2.0, csstype@^2.5.2, csstype@^2.5.7, csstype@^2.6.5, csstype@^2.6.7:
|
csstype@^2.2.0, csstype@^2.5.2, csstype@^2.5.7, csstype@^2.6.5, csstype@^2.6.7:
|
||||||
version "2.6.11"
|
version "2.6.11"
|
||||||
resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.11.tgz#452f4d024149ecf260a852b025e36562a253ffc5"
|
resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.11.tgz#452f4d024149ecf260a852b025e36562a253ffc5"
|
||||||
|
@ -5680,6 +5710,15 @@ data-urls@^1.0.0:
|
||||||
whatwg-mimetype "^2.2.0"
|
whatwg-mimetype "^2.2.0"
|
||||||
whatwg-url "^7.0.0"
|
whatwg-url "^7.0.0"
|
||||||
|
|
||||||
|
data-urls@^2.0.0:
|
||||||
|
version "2.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b"
|
||||||
|
integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==
|
||||||
|
dependencies:
|
||||||
|
abab "^2.0.3"
|
||||||
|
whatwg-mimetype "^2.3.0"
|
||||||
|
whatwg-url "^8.0.0"
|
||||||
|
|
||||||
date-fns@^2.0.1:
|
date-fns@^2.0.1:
|
||||||
version "2.15.0"
|
version "2.15.0"
|
||||||
resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.15.0.tgz#424de6b3778e4e69d3ff27046ec136af58ae5d5f"
|
resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.15.0.tgz#424de6b3778e4e69d3ff27046ec136af58ae5d5f"
|
||||||
|
@ -5726,6 +5765,11 @@ decamelize@^1.1.0, decamelize@^1.1.1, decamelize@^1.2.0:
|
||||||
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
|
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
|
||||||
integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
|
integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
|
||||||
|
|
||||||
|
decimal.js@^10.2.1:
|
||||||
|
version "10.2.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.1.tgz#238ae7b0f0c793d3e3cea410108b35a2c01426a3"
|
||||||
|
integrity sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw==
|
||||||
|
|
||||||
decode-uri-component@^0.2.0:
|
decode-uri-component@^0.2.0:
|
||||||
version "0.2.0"
|
version "0.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
|
resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
|
||||||
|
@ -6108,6 +6152,13 @@ domexception@^1.0.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
webidl-conversions "^4.0.2"
|
webidl-conversions "^4.0.2"
|
||||||
|
|
||||||
|
domexception@^2.0.1:
|
||||||
|
version "2.0.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304"
|
||||||
|
integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==
|
||||||
|
dependencies:
|
||||||
|
webidl-conversions "^5.0.0"
|
||||||
|
|
||||||
domhandler@^2.3.0:
|
domhandler@^2.3.0:
|
||||||
version "2.4.2"
|
version "2.4.2"
|
||||||
resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803"
|
resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803"
|
||||||
|
@ -6710,6 +6761,18 @@ escodegen@^1.9.1:
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
source-map "~0.6.1"
|
source-map "~0.6.1"
|
||||||
|
|
||||||
|
escodegen@^2.0.0:
|
||||||
|
version "2.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd"
|
||||||
|
integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==
|
||||||
|
dependencies:
|
||||||
|
esprima "^4.0.1"
|
||||||
|
estraverse "^5.2.0"
|
||||||
|
esutils "^2.0.2"
|
||||||
|
optionator "^0.8.1"
|
||||||
|
optionalDependencies:
|
||||||
|
source-map "~0.6.1"
|
||||||
|
|
||||||
eslint-config-airbnb-base@^13.2.0:
|
eslint-config-airbnb-base@^13.2.0:
|
||||||
version "13.2.0"
|
version "13.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-13.2.0.tgz#f6ea81459ff4dec2dda200c35f1d8f7419d57943"
|
resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-13.2.0.tgz#f6ea81459ff4dec2dda200c35f1d8f7419d57943"
|
||||||
|
@ -6991,6 +7054,11 @@ estraverse@^5.1.0:
|
||||||
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.1.0.tgz#374309d39fd935ae500e7b92e8a6b4c720e59642"
|
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.1.0.tgz#374309d39fd935ae500e7b92e8a6b4c720e59642"
|
||||||
integrity sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw==
|
integrity sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw==
|
||||||
|
|
||||||
|
estraverse@^5.2.0:
|
||||||
|
version "5.2.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880"
|
||||||
|
integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==
|
||||||
|
|
||||||
esutils@^2.0.2:
|
esutils@^2.0.2:
|
||||||
version "2.0.3"
|
version "2.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
|
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
|
||||||
|
@ -8452,6 +8520,13 @@ html-encoding-sniffer@^1.0.2:
|
||||||
dependencies:
|
dependencies:
|
||||||
whatwg-encoding "^1.0.1"
|
whatwg-encoding "^1.0.1"
|
||||||
|
|
||||||
|
html-encoding-sniffer@^2.0.1:
|
||||||
|
version "2.0.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3"
|
||||||
|
integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==
|
||||||
|
dependencies:
|
||||||
|
whatwg-encoding "^1.0.5"
|
||||||
|
|
||||||
html-entities@^1.3.1:
|
html-entities@^1.3.1:
|
||||||
version "1.3.1"
|
version "1.3.1"
|
||||||
resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.3.1.tgz#fb9a1a4b5b14c5daba82d3e34c6ae4fe701a0e44"
|
resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.3.1.tgz#fb9a1a4b5b14c5daba82d3e34c6ae4fe701a0e44"
|
||||||
|
@ -9270,6 +9345,11 @@ is-posix-bracket@^0.1.0:
|
||||||
resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4"
|
resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4"
|
||||||
integrity sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=
|
integrity sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=
|
||||||
|
|
||||||
|
is-potential-custom-element-name@^1.0.0:
|
||||||
|
version "1.0.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5"
|
||||||
|
integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==
|
||||||
|
|
||||||
is-primitive@^2.0.0:
|
is-primitive@^2.0.0:
|
||||||
version "2.0.0"
|
version "2.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575"
|
resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575"
|
||||||
|
@ -9985,6 +10065,38 @@ jsdom@^11.5.1:
|
||||||
ws "^5.2.0"
|
ws "^5.2.0"
|
||||||
xml-name-validator "^3.0.0"
|
xml-name-validator "^3.0.0"
|
||||||
|
|
||||||
|
jsdom@^16.5.3:
|
||||||
|
version "16.5.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.5.3.tgz#13a755b3950eb938b4482c407238ddf16f0d2136"
|
||||||
|
integrity sha512-Qj1H+PEvUsOtdPJ056ewXM4UJPCi4hhLA8wpiz9F2YvsRBhuFsXxtrIFAgGBDynQA9isAMGE91PfUYbdMPXuTA==
|
||||||
|
dependencies:
|
||||||
|
abab "^2.0.5"
|
||||||
|
acorn "^8.1.0"
|
||||||
|
acorn-globals "^6.0.0"
|
||||||
|
cssom "^0.4.4"
|
||||||
|
cssstyle "^2.3.0"
|
||||||
|
data-urls "^2.0.0"
|
||||||
|
decimal.js "^10.2.1"
|
||||||
|
domexception "^2.0.1"
|
||||||
|
escodegen "^2.0.0"
|
||||||
|
html-encoding-sniffer "^2.0.1"
|
||||||
|
is-potential-custom-element-name "^1.0.0"
|
||||||
|
nwsapi "^2.2.0"
|
||||||
|
parse5 "6.0.1"
|
||||||
|
request "^2.88.2"
|
||||||
|
request-promise-native "^1.0.9"
|
||||||
|
saxes "^5.0.1"
|
||||||
|
symbol-tree "^3.2.4"
|
||||||
|
tough-cookie "^4.0.0"
|
||||||
|
w3c-hr-time "^1.0.2"
|
||||||
|
w3c-xmlserializer "^2.0.0"
|
||||||
|
webidl-conversions "^6.1.0"
|
||||||
|
whatwg-encoding "^1.0.5"
|
||||||
|
whatwg-mimetype "^2.3.0"
|
||||||
|
whatwg-url "^8.5.0"
|
||||||
|
ws "^7.4.4"
|
||||||
|
xml-name-validator "^3.0.0"
|
||||||
|
|
||||||
jsesc@^1.3.0:
|
jsesc@^1.3.0:
|
||||||
version "1.3.0"
|
version "1.3.0"
|
||||||
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b"
|
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b"
|
||||||
|
@ -10525,6 +10637,11 @@ lodash.uniq@^4.5.0:
|
||||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b"
|
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b"
|
||||||
integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==
|
integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==
|
||||||
|
|
||||||
|
lodash@^4.7.0:
|
||||||
|
version "4.17.21"
|
||||||
|
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
|
||||||
|
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
|
||||||
|
|
||||||
log-symbols@^2.0.0, log-symbols@^2.2.0:
|
log-symbols@^2.0.0, log-symbols@^2.2.0:
|
||||||
version "2.2.0"
|
version "2.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a"
|
resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a"
|
||||||
|
@ -11501,7 +11618,7 @@ number-is-nan@^1.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
|
resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
|
||||||
integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=
|
integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=
|
||||||
|
|
||||||
nwsapi@^2.0.7:
|
nwsapi@^2.0.7, nwsapi@^2.2.0:
|
||||||
version "2.2.0"
|
version "2.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7"
|
resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7"
|
||||||
integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==
|
integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==
|
||||||
|
@ -12024,6 +12141,11 @@ parse5@4.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608"
|
resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608"
|
||||||
integrity sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==
|
integrity sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==
|
||||||
|
|
||||||
|
parse5@6.0.1:
|
||||||
|
version "6.0.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b"
|
||||||
|
integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==
|
||||||
|
|
||||||
parse5@^1.5.0:
|
parse5@^1.5.0:
|
||||||
version "1.5.1"
|
version "1.5.1"
|
||||||
resolved "https://registry.yarnpkg.com/parse5/-/parse5-1.5.1.tgz#9b7f3b0de32be78dc2401b17573ccaf0f6f59d94"
|
resolved "https://registry.yarnpkg.com/parse5/-/parse5-1.5.1.tgz#9b7f3b0de32be78dc2401b17573ccaf0f6f59d94"
|
||||||
|
@ -12854,7 +12976,7 @@ pseudomap@^1.0.2:
|
||||||
resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
|
resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
|
||||||
integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM=
|
integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM=
|
||||||
|
|
||||||
psl@^1.1.28:
|
psl@^1.1.28, psl@^1.1.33:
|
||||||
version "1.8.0"
|
version "1.8.0"
|
||||||
resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24"
|
resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24"
|
||||||
integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==
|
integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==
|
||||||
|
@ -13669,7 +13791,7 @@ request-promise-core@1.1.4:
|
||||||
dependencies:
|
dependencies:
|
||||||
lodash "^4.17.19"
|
lodash "^4.17.19"
|
||||||
|
|
||||||
request-promise-native@^1.0.5:
|
request-promise-native@^1.0.5, request-promise-native@^1.0.9:
|
||||||
version "1.0.9"
|
version "1.0.9"
|
||||||
resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28"
|
resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28"
|
||||||
integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==
|
integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==
|
||||||
|
@ -14036,6 +14158,13 @@ sax@>=0.6.0, sax@^1.2.4, sax@~1.2.4:
|
||||||
resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
|
resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
|
||||||
integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
|
integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
|
||||||
|
|
||||||
|
saxes@^5.0.1:
|
||||||
|
version "5.0.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d"
|
||||||
|
integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==
|
||||||
|
dependencies:
|
||||||
|
xmlchars "^2.2.0"
|
||||||
|
|
||||||
scheduler@^0.19.1:
|
scheduler@^0.19.1:
|
||||||
version "0.19.1"
|
version "0.19.1"
|
||||||
resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.19.1.tgz#4f3e2ed2c1a7d65681f4c854fa8c5a1ccb40f196"
|
resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.19.1.tgz#4f3e2ed2c1a7d65681f4c854fa8c5a1ccb40f196"
|
||||||
|
@ -15184,7 +15313,7 @@ symbol-observable@^1.2.0:
|
||||||
resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804"
|
resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804"
|
||||||
integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==
|
integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==
|
||||||
|
|
||||||
symbol-tree@^3.2.2:
|
symbol-tree@^3.2.2, symbol-tree@^3.2.4:
|
||||||
version "3.2.4"
|
version "3.2.4"
|
||||||
resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2"
|
resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2"
|
||||||
integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==
|
integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==
|
||||||
|
@ -15700,6 +15829,15 @@ tough-cookie@^2.3.3, tough-cookie@^2.3.4, tough-cookie@~2.5.0:
|
||||||
psl "^1.1.28"
|
psl "^1.1.28"
|
||||||
punycode "^2.1.1"
|
punycode "^2.1.1"
|
||||||
|
|
||||||
|
tough-cookie@^4.0.0:
|
||||||
|
version "4.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4"
|
||||||
|
integrity sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==
|
||||||
|
dependencies:
|
||||||
|
psl "^1.1.33"
|
||||||
|
punycode "^2.1.1"
|
||||||
|
universalify "^0.1.2"
|
||||||
|
|
||||||
tr46@^1.0.1:
|
tr46@^1.0.1:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09"
|
resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09"
|
||||||
|
@ -15707,6 +15845,13 @@ tr46@^1.0.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
punycode "^2.1.0"
|
punycode "^2.1.0"
|
||||||
|
|
||||||
|
tr46@^2.0.2:
|
||||||
|
version "2.0.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.0.2.tgz#03273586def1595ae08fedb38d7733cee91d2479"
|
||||||
|
integrity sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg==
|
||||||
|
dependencies:
|
||||||
|
punycode "^2.1.1"
|
||||||
|
|
||||||
"traverse@>=0.3.0 <0.4":
|
"traverse@>=0.3.0 <0.4":
|
||||||
version "0.3.9"
|
version "0.3.9"
|
||||||
resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.3.9.tgz#717b8f220cc0bb7b44e40514c22b2e8bbc70d8b9"
|
resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.3.9.tgz#717b8f220cc0bb7b44e40514c22b2e8bbc70d8b9"
|
||||||
|
@ -16043,7 +16188,7 @@ universal-user-agent@^6.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee"
|
resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee"
|
||||||
integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==
|
integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==
|
||||||
|
|
||||||
universalify@^0.1.0:
|
universalify@^0.1.0, universalify@^0.1.2:
|
||||||
version "0.1.2"
|
version "0.1.2"
|
||||||
resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
|
resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
|
||||||
integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
|
integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
|
||||||
|
@ -16303,13 +16448,20 @@ vm-browserify@^1.0.1:
|
||||||
resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0"
|
resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0"
|
||||||
integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==
|
integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==
|
||||||
|
|
||||||
w3c-hr-time@^1.0.1:
|
w3c-hr-time@^1.0.1, w3c-hr-time@^1.0.2:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd"
|
resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd"
|
||||||
integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==
|
integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
browser-process-hrtime "^1.0.0"
|
browser-process-hrtime "^1.0.0"
|
||||||
|
|
||||||
|
w3c-xmlserializer@^2.0.0:
|
||||||
|
version "2.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a"
|
||||||
|
integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==
|
||||||
|
dependencies:
|
||||||
|
xml-name-validator "^3.0.0"
|
||||||
|
|
||||||
walker@^1.0.7, walker@~1.0.5:
|
walker@^1.0.7, walker@~1.0.5:
|
||||||
version "1.0.7"
|
version "1.0.7"
|
||||||
resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb"
|
resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb"
|
||||||
|
@ -16360,6 +16512,16 @@ webidl-conversions@^4.0.2:
|
||||||
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad"
|
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad"
|
||||||
integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==
|
integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==
|
||||||
|
|
||||||
|
webidl-conversions@^5.0.0:
|
||||||
|
version "5.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff"
|
||||||
|
integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==
|
||||||
|
|
||||||
|
webidl-conversions@^6.1.0:
|
||||||
|
version "6.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514"
|
||||||
|
integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==
|
||||||
|
|
||||||
webpack-bundle-analyzer@^3.4.1:
|
webpack-bundle-analyzer@^3.4.1:
|
||||||
version "3.8.0"
|
version "3.8.0"
|
||||||
resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.8.0.tgz#ce6b3f908daf069fd1f7266f692cbb3bded9ba16"
|
resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.8.0.tgz#ce6b3f908daf069fd1f7266f692cbb3bded9ba16"
|
||||||
|
@ -16519,14 +16681,14 @@ websocket-extensions@>=0.1.1:
|
||||||
resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42"
|
resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42"
|
||||||
integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==
|
integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==
|
||||||
|
|
||||||
whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3:
|
whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3, whatwg-encoding@^1.0.5:
|
||||||
version "1.0.5"
|
version "1.0.5"
|
||||||
resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0"
|
resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0"
|
||||||
integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==
|
integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==
|
||||||
dependencies:
|
dependencies:
|
||||||
iconv-lite "0.4.24"
|
iconv-lite "0.4.24"
|
||||||
|
|
||||||
whatwg-mimetype@^2.1.0, whatwg-mimetype@^2.2.0:
|
whatwg-mimetype@^2.1.0, whatwg-mimetype@^2.2.0, whatwg-mimetype@^2.3.0:
|
||||||
version "2.3.0"
|
version "2.3.0"
|
||||||
resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf"
|
resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf"
|
||||||
integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==
|
integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==
|
||||||
|
@ -16549,6 +16711,15 @@ whatwg-url@^7.0.0:
|
||||||
tr46 "^1.0.1"
|
tr46 "^1.0.1"
|
||||||
webidl-conversions "^4.0.2"
|
webidl-conversions "^4.0.2"
|
||||||
|
|
||||||
|
whatwg-url@^8.0.0, whatwg-url@^8.5.0:
|
||||||
|
version "8.5.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.5.0.tgz#7752b8464fc0903fec89aa9846fc9efe07351fd3"
|
||||||
|
integrity sha512-fy+R77xWv0AiqfLl4nuGUlQ3/6b5uNfQ4WAbGQVMYshCTCCPK9psC1nWh3XHuxGVCtlcDDQPQW1csmmIQo+fwg==
|
||||||
|
dependencies:
|
||||||
|
lodash "^4.7.0"
|
||||||
|
tr46 "^2.0.2"
|
||||||
|
webidl-conversions "^6.1.0"
|
||||||
|
|
||||||
which-module@^2.0.0:
|
which-module@^2.0.0:
|
||||||
version "2.0.0"
|
version "2.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
|
resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
|
||||||
|
@ -16708,6 +16879,11 @@ ws@^6.0.0, ws@^6.1.0, ws@^6.2.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
async-limiter "~1.0.0"
|
async-limiter "~1.0.0"
|
||||||
|
|
||||||
|
ws@^7.4.4:
|
||||||
|
version "7.4.5"
|
||||||
|
resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.5.tgz#a484dd851e9beb6fdb420027e3885e8ce48986c1"
|
||||||
|
integrity sha512-xzyu3hFvomRfXKH8vOFMU3OguG6oOvhXMo3xsGy3xWExqaM2dxBbVxuD99O7m3ZUFMvvscsZDqxfgMaRr/Nr1g==
|
||||||
|
|
||||||
ws@~6.1.0:
|
ws@~6.1.0:
|
||||||
version "6.1.4"
|
version "6.1.4"
|
||||||
resolved "https://registry.yarnpkg.com/ws/-/ws-6.1.4.tgz#5b5c8800afab925e94ccb29d153c8d02c1776ef9"
|
resolved "https://registry.yarnpkg.com/ws/-/ws-6.1.4.tgz#5b5c8800afab925e94ccb29d153c8d02c1776ef9"
|
||||||
|
@ -16753,6 +16929,11 @@ xmlbuilder@~11.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3"
|
resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3"
|
||||||
integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==
|
integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==
|
||||||
|
|
||||||
|
xmlchars@^2.2.0:
|
||||||
|
version "2.2.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb"
|
||||||
|
integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==
|
||||||
|
|
||||||
xmlhttprequest-ssl@~1.5.4:
|
xmlhttprequest-ssl@~1.5.4:
|
||||||
version "1.5.5"
|
version "1.5.5"
|
||||||
resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz#c2876b06168aadc40e57d97e81191ac8f4398b3e"
|
resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz#c2876b06168aadc40e57d97e81191ac8f4398b3e"
|
||||||
|
|
Loading…
Reference in a new issue