diff --git a/.eslintrc.js b/.eslintrc.js index 53722eb4e..671ddd3ac 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -50,7 +50,7 @@ module.exports = { '@typescript-eslint/no-parameter-properties': 'off', '@typescript-eslint/no-explicit-any': 'off', '@typescript-eslint/no-non-null-assertion': 'off', - '@typescript-eslint/array-type': ['error', 'array-simple'], + '@typescript-eslint/array-type': ['error', { default: 'array-simple', readonly: 'array-simple' }], 'no-unused-expressions': ['error', { allowShortCircuit: true, allowTernary: true }], 'prettier/prettier': 'error', 'require-jsdoc': 1, @@ -89,7 +89,6 @@ module.exports = { rules: { '@typescript-eslint/no-explicit-any': 'off', '@typescript-eslint/no-non-null-assertion': 'off', - '@typescript-eslint/no-object-literal-type-assertion': 'off', 'dot-notation': 'off', }, }, diff --git a/apps/sensenet/package.json b/apps/sensenet/package.json index b58e44eb9..89dd1cf24 100644 --- a/apps/sensenet/package.json +++ b/apps/sensenet/package.json @@ -1,6 +1,6 @@ { "name": "@sensenet/sn-app", - "version": "1.0.0", + "version": "1.1.0", "main": "dist/index.js", "files": [ "dist", @@ -27,18 +27,18 @@ "homepage": "https://sensenet.com", "devDependencies": { "@types/autosuggest-highlight": "^3.1.0", - "@types/react": "^16.8.23", - "@types/react-autosuggest": "^9.3.8", - "@types/react-dom": "^16.8.5", - "@types/react-redux": "^7.1.1", + "@types/react": "^16.9.2", + "@types/react-autosuggest": "^9.3.10", + "@types/react-dom": "^16.9.0", + "@types/react-redux": "^7.1.2", "@types/react-responsive": "^3.0.3", "@types/react-router": "^5.0.3", - "@types/react-router-dom": "^4.3.3", + "@types/react-router-dom": "^4.3.5", "@types/uuid": "^3.4.5", "autoprefixer": "^9.6.1", "awesome-typescript-loader": "^5.2.1", - "css-loader": "^3.1.0", - "file-loader": "^4.1.0", + "css-loader": "^3.2.0", + "file-loader": "^4.2.0", "git-revision-webpack-plugin": "^3.0.3", "html-webpack-plugin": "^3.2.0", "monaco-editor-webpack-plugin": "^1.7.0", @@ -47,46 +47,47 @@ "react-router": "^5.0.0", "react-router-dom": "^5.0.0", "source-map-loader": "^0.2.4", - "style-loader": "^0.23.1", + "style-loader": "^1.0.0", "ts-config-webpack-plugin": "^1.4.0", "url-loader": "^2.1.0", - "webpack": "^4.38.0", + "webpack": "^4.39.2", "webpack-bundle-analyzer": "^3.4.1", - "webpack-cli": "^3.3.6", - "webpack-dev-server": "^3.4.1" + "webpack-cli": "^3.3.7", + "webpack-dev-server": "^3.8.0" }, "dependencies": { "@furystack/inject": "^4.0.2", - "@furystack/logging": "^2.0.2", - "@material-ui/core": "^4.3.1", + "@furystack/logging": "^2.0.3", + "@material-ui/core": "^4.3.3", "@material-ui/icons": "^4.0.1", - "@sensenet/authentication-google": "^2.0.11", - "@sensenet/authentication-jwt": "^1.0.15", - "@sensenet/client-core": "^2.2.0", - "@sensenet/client-utils": "^1.6.4", - "@sensenet/controls-react": "^3.1.0", - "@sensenet/default-content-types": "^2.0.0", - "@sensenet/document-viewer-react": "^1.2.0", - "@sensenet/icons-react": "^1.2.12", - "@sensenet/list-controls-react": "^1.3.10", - "@sensenet/pickers-react": "^1.2.3", - "@sensenet/query": "^1.1.8", - "@sensenet/redux": "^5.1.12", - "@sensenet/repository-events": "^1.4.4", + "@sensenet/authentication-google": "^2.0.12", + "@sensenet/authentication-jwt": "^1.0.16", + "@sensenet/client-core": "^2.2.1", + "@sensenet/client-utils": "^1.6.5", + "@sensenet/controls-react": "^3.1.1", + "@sensenet/default-content-types": "^2.0.1", + "@sensenet/document-viewer-react": "^1.2.1", + "@sensenet/hooks-react": "^1.0.0", + "@sensenet/icons-react": "^1.2.13", + "@sensenet/list-controls-react": "^1.3.11", + "@sensenet/pickers-react": "^1.2.4", + "@sensenet/query": "^1.1.9", + "@sensenet/redux": "^5.1.13", + "@sensenet/repository-events": "^1.4.5", "autosuggest-highlight": "^3.1.1", "moment": "^2.24.0", "monaco-editor": "^0.17.0", - "react": "^16.8.2", + "react": "^16.9.0", "react-autosuggest": "^9.4.3", - "react-dom": "^16.8.2", + "react-dom": "^16.9.0", "react-markdown": "^4.0.8", - "react-monaco-editor": "^0.28.0", + "react-monaco-editor": "^0.30.1", "react-redux": "^7.0.3", "react-responsive": "^7.0.0", "redux": "^4.0.4", "redux-di-middleware": "^4.0.1", "semaphore-async-await": "^1.5.1", - "uuid": "^3.3.2" + "uuid": "^3.3.3" }, "typings": "./dist/index.d.ts" } diff --git a/apps/sensenet/src/components/AddButton.tsx b/apps/sensenet/src/components/AddButton.tsx index 6284637f5..f69f7b61b 100644 --- a/apps/sensenet/src/components/AddButton.tsx +++ b/apps/sensenet/src/components/AddButton.tsx @@ -9,8 +9,8 @@ import { GenericContent, Schema } from '@sensenet/default-content-types' import React, { useContext, useEffect, useState } from 'react' import { UploadProgressInfo } from '@sensenet/client-core' import { ObservableValue } from '@sensenet/client-utils' -import { CurrentContentContext } from '../context' -import { useInjector, useLocalization, useLogger, useRepository } from '../hooks' +import { CurrentContentContext, useInjector, useLogger, useRepository } from '@sensenet/hooks-react' +import { useLocalization } from '../hooks' import { UploadTracker } from '../services/UploadTracker' import { AddDialog } from './dialogs/add' import { Icon } from './Icon' diff --git a/apps/sensenet/src/components/Breadcrumbs.tsx b/apps/sensenet/src/components/Breadcrumbs.tsx index 83baa4d4a..97b96aa69 100644 --- a/apps/sensenet/src/components/Breadcrumbs.tsx +++ b/apps/sensenet/src/components/Breadcrumbs.tsx @@ -1,38 +1,39 @@ import Button from '@material-ui/core/Button' import Tooltip from '@material-ui/core/Tooltip' -import Typography from '@material-ui/core/Typography' -import KeyboardArrowRight from '@material-ui/icons/KeyboardArrowRight' +import Breadcrumbs from '@material-ui/core/Breadcrumbs' import { GenericContent } from '@sensenet/default-content-types' import React, { useState } from 'react' import { RouteComponentProps, withRouter } from 'react-router' -import { CurrentContentContext } from '../context' +import { CurrentContentContext } from '@sensenet/hooks-react' import { ContentContextMenu } from './ContentContextMenu' import { DropFileArea } from './DropFileArea' import { Icon } from './Icon' -export interface BreadcrumbItem { +export interface BreadcrumbItem { url: string displayName: string title: string - content: GenericContent + content: T } -export interface BreadcrumbProps { - content: BreadcrumbItem[] - currentContent: BreadcrumbItem - onItemClick: (event: React.MouseEvent, item: BreadcrumbItem) => void +export interface BreadcrumbProps { + items: Array> + onItemClick: (event: React.MouseEvent, item: BreadcrumbItem) => void } -const Breadcrumbs: React.FunctionComponent = props => { +/** + * Represents a breadcrumb component + */ +function BreadcrumbsComponent(props: BreadcrumbProps & RouteComponentProps) { const [contextMenuItem, setContextMenuItem] = useState(null) const [contextMenuAnchor, setContextMenuAnchor] = useState(null) const [isContextMenuOpened, setIsContextMenuOpened] = useState(false) return ( <> - - {props.content.map((item, key) => ( - + + {props.items.map(item => ( + - - - + {contextMenuItem ? ( void } + RouteComponentProps & { onItemClick?: (item: BreadcrumbItem) => void } > = props => { const ancestors = useContext(CurrentAncestorsContext) const parent = useContext(CurrentContentContext) @@ -13,18 +14,20 @@ export const ContentBreadcrumbsComponent: React.FunctionComponent< return ( ({ - displayName: content.DisplayName || content.Name, - title: content.Path, - url: contentRouter.getPrimaryActionUrl(content), - content, - }))} - currentContent={{ - displayName: parent.DisplayName || parent.Name, - title: parent.Path, - url: contentRouter.getPrimaryActionUrl(parent), - content: parent, - }} + items={[ + ...ancestors.map(content => ({ + displayName: content.DisplayName || content.Name, + title: content.Path, + url: contentRouter.getPrimaryActionUrl(content), + content, + })), + { + displayName: parent.DisplayName || parent.Name, + title: parent.Path, + url: contentRouter.getPrimaryActionUrl(parent), + content: parent, + }, + ]} onItemClick={(_ev, item) => { props.onItemClick ? props.onItemClick(item) diff --git a/apps/sensenet/src/components/ContentContextMenu.tsx b/apps/sensenet/src/components/ContentContextMenu.tsx index f37ac8e2b..8f7fe2750 100644 --- a/apps/sensenet/src/components/ContentContextMenu.tsx +++ b/apps/sensenet/src/components/ContentContextMenu.tsx @@ -14,8 +14,15 @@ import Info from '@material-ui/icons/Info' import React, { useCallback, useContext, useState } from 'react' import { RouteComponentProps, withRouter } from 'react-router' import { ConstantContent } from '@sensenet/client-core' -import { CurrentContentContext, CurrentContentProvider, ResponsiveContext } from '../context' -import { useContentRouting, useDownload, useLocalization, useRepository, useWopi } from '../hooks' +import { + CurrentContentContext, + CurrentContentProvider, + useDownload, + useRepository, + useWopi, +} from '@sensenet/hooks-react' +import { ResponsiveContext } from '../context' +import { useContentRouting, useLocalization } from '../hooks' import { ContentInfoDialog, CopyMoveDialog, DeleteContentDialog, EditPropertiesDialog } from './dialogs' import { Icon } from './Icon' diff --git a/apps/sensenet/src/components/DocViewer.tsx b/apps/sensenet/src/components/DocViewer.tsx index 6d223976f..4bcff224a 100644 --- a/apps/sensenet/src/components/DocViewer.tsx +++ b/apps/sensenet/src/components/DocViewer.tsx @@ -3,8 +3,8 @@ import React, { useCallback, useEffect } from 'react' import { RouteComponentProps, withRouter } from 'react-router' import { Close } from '@material-ui/icons' import { Button } from '@material-ui/core' -import { CurrentContentProvider } from '../context' -import { useInjector, useLocalization, useRepository, useSelectionService, useTheme } from '../hooks' +import { CurrentContentProvider, useInjector, useRepository } from '@sensenet/hooks-react' +import { useLocalization, useSelectionService, useTheme } from '../hooks' import { getViewerSettings } from '../services/GetViewerSettings' const DocViewer: React.FunctionComponent< diff --git a/apps/sensenet/src/components/DropFileArea.tsx b/apps/sensenet/src/components/DropFileArea.tsx index 6527120d5..29bc5331c 100644 --- a/apps/sensenet/src/components/DropFileArea.tsx +++ b/apps/sensenet/src/components/DropFileArea.tsx @@ -3,7 +3,8 @@ import { GenericContent } from '@sensenet/default-content-types' import React, { useEffect, useState } from 'react' import { UploadProgressInfo } from '@sensenet/client-core' import { ObservableValue } from '@sensenet/client-utils' -import { useInjector, useRepository, useTheme } from '../hooks' +import { useInjector, useRepository } from '@sensenet/hooks-react' +import { useTheme } from '../hooks' import { UploadTracker } from '../services/UploadTracker' export const DropFileArea: React.FunctionComponent<{ diff --git a/apps/sensenet/src/components/ErrorBoundary.tsx b/apps/sensenet/src/components/ErrorBoundary.tsx index 231574735..689fbd97a 100644 --- a/apps/sensenet/src/components/ErrorBoundary.tsx +++ b/apps/sensenet/src/components/ErrorBoundary.tsx @@ -10,7 +10,8 @@ import RefreshTwoTone from '@material-ui/icons/RefreshTwoTone' import { Repository } from '@sensenet/client-core' import { ExtendedError, isExtendedError } from '@sensenet/client-core/dist/Repository/Repository' import React from 'react' -import { InjectorContext, LocalizationContext } from '../context' +import { InjectorContext } from '@sensenet/hooks-react' +import { LocalizationContext } from '../context' import { ErrorReport } from './ErrorReport' export interface ErrorBoundaryState { @@ -22,7 +23,7 @@ export interface ErrorBoundaryState { } export class ErrorBoundary extends React.Component<{}, ErrorBoundaryState> { - public static contextType = InjectorContext + public static contextType: React.Context = InjectorContext public state: ErrorBoundaryState = { hasError: false, sendFeedback: false, isOpened: true } public static getDerivedStateFromError(error: any) { diff --git a/apps/sensenet/src/components/Icon.tsx b/apps/sensenet/src/components/Icon.tsx index e664883df..0bbe2295d 100644 --- a/apps/sensenet/src/components/Icon.tsx +++ b/apps/sensenet/src/components/Icon.tsx @@ -37,15 +37,13 @@ import { WebAssetTwoTone, WidgetsTwoTone, } from '@material-ui/icons' -import { PathHelper } from '@sensenet/client-utils' +import { PathHelper, tuple } from '@sensenet/client-utils' import { GenericContent, File as SnFile, User } from '@sensenet/default-content-types' import React from 'react' import { Repository } from '@sensenet/client-core' import { Avatar } from '@material-ui/core' -import { useInjector, useRepository } from '../hooks' +import { useInjector, useRepository } from '@sensenet/hooks-react' import { EventLogEntry } from '../services/EventService' -import { isContentFromType } from '../utils/isContentFromType' -import { tuple } from '../utils/tuple' import { UserAvatar } from './UserAvatar' export interface IconOptions { @@ -90,7 +88,7 @@ export const defaultContentResolvers: Array> = [ }, { get: (item, options) => - isContentFromType(item, SnFile, options.repo.schemas) && + options.repo.schemas.isContentFromType(item, SnFile) && (item as SnFile).PageCount && (item as any).PageCount > 0 ? ( await import(/* webpackChunkName: "editP const DocumentViewerComponent = lazy(async () => await import(/* webpackChunkName: "DocViewer" */ './DocViewer')) const VersionInfoComponent = lazy(async () => await import(/* webpackChunkName: "Version Info" */ './version-info')) +const TrashComponent = lazy(async () => await import(/* webpackChunkName: "Trash" */ './trash/Trash')) const EventListComponent = lazy(async () => await import(/* webpackChunkName: "EventList" */ './event-list')) const PersonalSettingsEditor = lazy( @@ -132,6 +133,12 @@ const MainRouter: React.StatelessComponent = props => { return }} /> + { + return + }} + /> { diff --git a/apps/sensenet/src/components/NotificationComponent.tsx b/apps/sensenet/src/components/NotificationComponent.tsx index b1f74e303..131d53b10 100644 --- a/apps/sensenet/src/components/NotificationComponent.tsx +++ b/apps/sensenet/src/components/NotificationComponent.tsx @@ -6,8 +6,8 @@ import Snackbar from '@material-ui/core/Snackbar' import Close from '@material-ui/icons/Close' import { sleepAsync } from '@sensenet/client-utils' import React, { useContext, useEffect, useState } from 'react' -import { RepositoryContext, ResponsiveContext } from '../context' -import { useInjector } from '../hooks' +import { RepositoryContext, useInjector } from '@sensenet/hooks-react' +import { ResponsiveContext } from '../context' import { EventLogEntry, EventService } from '../services/EventService' import { RepositoryManager } from '../services/RepositoryManager' import { Icon } from './Icon' @@ -74,7 +74,7 @@ export const NotificationComponent: React.FunctionComponent = () => { open={item.data.isDismissed !== true && dismisses.indexOf(item.data.guid) === -1} anchorOrigin={{ vertical: 'bottom', - horizontal: 'right', + horizontal: 'center', }} style={{ marginBottom: diff --git a/apps/sensenet/src/components/RepositorySelector.tsx b/apps/sensenet/src/components/RepositorySelector.tsx index ed4e3ff37..5b4ff2674 100644 --- a/apps/sensenet/src/components/RepositorySelector.tsx +++ b/apps/sensenet/src/components/RepositorySelector.tsx @@ -14,9 +14,10 @@ import React, { useContext, useEffect, useState } from 'react' import Autosuggest from 'react-autosuggest' import { RouteComponentProps, withRouter } from 'react-router' import { Link, NavLink } from 'react-router-dom' +import { useInjector, useRepository } from '@sensenet/hooks-react' import logo from '../assets/sensenet-icon-32.png' import { ResponsiveContext } from '../context' -import { useInjector, useLocalization, usePersonalSettings, useRepository, useTheme } from '../hooks' +import { useLocalization, usePersonalSettings, useTheme } from '../hooks' import { RepositoryManager } from '../services/RepositoryManager' import { getMatchParts } from './command-palette/CommandPaletteSuggestion' import { UserAvatar } from './UserAvatar' diff --git a/apps/sensenet/src/components/command-palette/CommandPalette.tsx b/apps/sensenet/src/components/command-palette/CommandPalette.tsx index aaa84fc76..0c036fb50 100644 --- a/apps/sensenet/src/components/command-palette/CommandPalette.tsx +++ b/apps/sensenet/src/components/command-palette/CommandPalette.tsx @@ -11,7 +11,8 @@ import Autosuggest, { SuggestionsFetchRequestedParams, } from 'react-autosuggest' import { RouteComponentProps, withRouter } from 'react-router' -import { LocalizationContext, RepositoryContext, ThemeContext } from '../../context' +import { RepositoryContext } from '@sensenet/hooks-react' +import { LocalizationContext, ThemeContext } from '../../context' import { CommandPaletteItem, useCommandPalette } from '../../hooks' import { CommandPaletteHitsContainer } from './CommandPaletteHitsContainer' import { CommandPaletteSuggestion } from './CommandPaletteSuggestion' @@ -24,7 +25,7 @@ export class CommandPaletteComponent extends React.Component< public state: { delayedOpened: boolean } = { delayedOpened: false } - public static contextType = RepositoryContext + public static contextType: React.Context = RepositoryContext private handleKeyUp(ev: KeyboardEvent) { if (ev.key.toLowerCase() === 'p' && ev.ctrlKey) { diff --git a/apps/sensenet/src/components/content-list/display-name-field.tsx b/apps/sensenet/src/components/content-list/display-name-field.tsx index 67bb592fa..fec8715ba 100644 --- a/apps/sensenet/src/components/content-list/display-name-field.tsx +++ b/apps/sensenet/src/components/content-list/display-name-field.tsx @@ -1,7 +1,8 @@ import { GenericContent } from '@sensenet/default-content-types' import { TableCell } from '@material-ui/core' import React from 'react' -import { CurrentContentContext, ResponsivePlatforms } from '../../context' +import { CurrentContentContext } from '@sensenet/hooks-react' +import { ResponsivePlatforms } from '../../context' import { SecondaryActionsMenu } from '../SecondaryActionsMenu' export const DisplayNameComponent: React.FunctionComponent<{ diff --git a/apps/sensenet/src/components/content-list/index.tsx b/apps/sensenet/src/components/content-list/index.tsx index c7750c16f..881d3bdc8 100644 --- a/apps/sensenet/src/components/content-list/index.tsx +++ b/apps/sensenet/src/components/content-list/index.tsx @@ -8,10 +8,9 @@ import { CurrentChildrenContext, CurrentContentContext, LoadSettingsContext, - ResponsiveContext, - ResponsivePersonalSetttings, -} from '../../context' -import { useRepository } from '../../hooks' + useRepository, +} from '@sensenet/hooks-react' +import { ResponsiveContext, ResponsivePersonalSetttings } from '../../context' import { ContentBreadcrumbs } from '../ContentBreadcrumbs' import { ContentContextMenu } from '../ContentContextMenu' import { DeleteContentDialog } from '../dialogs' @@ -33,7 +32,7 @@ export interface CollectionComponentProps { disableSelection?: boolean parentIdOrPath: number | string onParentChange: (newParent: GenericContent) => void - onTabRequest: () => void + onTabRequest?: () => void onActiveItemChange?: (item: GenericContent) => void onActivateItem: (item: GenericContent) => void style?: React.CSSProperties @@ -226,7 +225,7 @@ export const CollectionComponent: React.FunctionComponent void - onActivateItem: (item: GenericContent) => void - fieldsToDisplay?: Array rootPath?: string + collectionComponentProps?: Partial } export const SimpleList: React.FunctionComponent = props => { @@ -29,18 +26,15 @@ export const SimpleList: React.FunctionComponent = pro null} style={{ flexGrow: 1, flexShrink: 0, maxHeight: '100%', width: '100%' }} - onParentChange={props.onNavigate} + onParentChange={() => null} parentIdOrPath={props.parent} - onTabRequest={() => { - /** */ - }} onSelectionChange={sel => { selectionService.selection.setValue(sel) }} onActiveItemChange={item => selectionService.activeContent.setValue(item)} - fieldsToDisplay={props.fieldsToDisplay} + {...props.collectionComponentProps} /> diff --git a/apps/sensenet/src/components/content/index.tsx b/apps/sensenet/src/components/content/index.tsx index ecaf25518..a2de034fb 100644 --- a/apps/sensenet/src/components/content/index.tsx +++ b/apps/sensenet/src/components/content/index.tsx @@ -2,9 +2,10 @@ import React, { useCallback, useContext, useEffect, useState } from 'react' import { RouteComponentProps } from 'react-router' import { GenericContent } from '@sensenet/default-content-types' import { ConstantContent } from '@sensenet/client-core' +import { useLogger, useRepository } from '@sensenet/hooks-react' +import { tuple } from '@sensenet/client-utils' import { ResponsivePersonalSetttings } from '../../context' -import { useContentRouting, useLogger, useRepository } from '../../hooks' -import { tuple } from '../../utils/tuple' +import { useContentRouting } from '../../hooks' import Commander from './Commander' import { Explore } from './Explore' import { SimpleList } from './Simple' @@ -106,10 +107,13 @@ export const Content: React.FunctionComponent )} diff --git a/apps/sensenet/src/components/dashboard/query-widget.tsx b/apps/sensenet/src/components/dashboard/query-widget.tsx index b2e2a7e34..e82eb1e86 100644 --- a/apps/sensenet/src/components/dashboard/query-widget.tsx +++ b/apps/sensenet/src/components/dashboard/query-widget.tsx @@ -5,15 +5,16 @@ import OpenInNewTwoTone from '@material-ui/icons/OpenInNewTwoTone' import { GenericContent } from '@sensenet/default-content-types' import { ConstantContent, ODataParams } from '@sensenet/client-core' import { RouteComponentProps, withRouter } from 'react-router' -import { QueryWidget as QueryWidgetModel } from '../../services/PersonalSettings' -import { useContentRouting, useLocalization, useRepository, useSelectionService, useStringReplace } from '../../hooks' -import { CollectionComponent, isReferenceField } from '../content-list' import { CurrentAncestorsContext, CurrentChildrenContext, CurrentContentContext, LoadSettingsContext, -} from '../../context' + useRepository, +} from '@sensenet/hooks-react' +import { QueryWidget as QueryWidgetModel } from '../../services/PersonalSettings' +import { useContentRouting, useLocalization, useSelectionService, useStringReplace } from '../../hooks' +import { CollectionComponent, isReferenceField } from '../content-list' import { encodeQueryData } from '../search' const QueryWidget: React.FunctionComponent & RouteComponentProps> = props => { diff --git a/apps/sensenet/src/components/dashboard/updates-widget.tsx b/apps/sensenet/src/components/dashboard/updates-widget.tsx index a6b0b5e38..e2e1be1d7 100644 --- a/apps/sensenet/src/components/dashboard/updates-widget.tsx +++ b/apps/sensenet/src/components/dashboard/updates-widget.tsx @@ -9,8 +9,9 @@ import { ListItemText, Typography, } from '@material-ui/core' +import { useVersionInfo } from '@sensenet/hooks-react' import { Widget } from '../../services/PersonalSettings' -import { useLocalization, useStringReplace, useTheme, useVersionInfo } from '../../hooks' +import { useLocalization, useStringReplace, useTheme } from '../../hooks' export const UpdatesWidget: React.FunctionComponent> = props => { const replacedTitle = useStringReplace(props.title) diff --git a/apps/sensenet/src/components/dialogs/add.tsx b/apps/sensenet/src/components/dialogs/add.tsx index befb8d57a..ce58e76ad 100644 --- a/apps/sensenet/src/components/dialogs/add.tsx +++ b/apps/sensenet/src/components/dialogs/add.tsx @@ -4,7 +4,8 @@ import DialogTitle from '@material-ui/core/DialogTitle' import { NewView } from '@sensenet/controls-react' import { GenericContent, Schema } from '@sensenet/default-content-types' import React from 'react' -import { useLocalization, useLogger, useRepository } from '../../hooks' +import { useLogger, useRepository } from '@sensenet/hooks-react' +import { useLocalization } from '../../hooks' export interface AddDialogProps { dialogProps: DialogProps diff --git a/apps/sensenet/src/components/dialogs/content-info.tsx b/apps/sensenet/src/components/dialogs/content-info.tsx index 4ee8a79b3..b09799f2a 100644 --- a/apps/sensenet/src/components/dialogs/content-info.tsx +++ b/apps/sensenet/src/components/dialogs/content-info.tsx @@ -5,8 +5,9 @@ import Drawer from '@material-ui/core/Drawer' import { GenericContent } from '@sensenet/default-content-types' import React, { useContext } from 'react' import { BrowseView } from '@sensenet/controls-react' +import { useRepository } from '@sensenet/hooks-react' import { ResponsiveContext } from '../../context' -import { useLocalization, useRepository } from '../../hooks' +import { useLocalization } from '../../hooks' export const ContentInfoDialog: React.FunctionComponent<{ dialogProps: DialogProps diff --git a/apps/sensenet/src/components/dialogs/copy-move.tsx b/apps/sensenet/src/components/dialogs/copy-move.tsx index 12a4ddc83..0496b4b49 100644 --- a/apps/sensenet/src/components/dialogs/copy-move.tsx +++ b/apps/sensenet/src/components/dialogs/copy-move.tsx @@ -11,7 +11,8 @@ import { PathHelper } from '@sensenet/client-utils' import { GenericContent } from '@sensenet/default-content-types' import { useListPicker } from '@sensenet/pickers-react' import React, { useEffect, useState } from 'react' -import { useLocalization, useLogger, useRepository } from '../../hooks' +import { useLogger, useRepository } from '@sensenet/hooks-react' +import { useLocalization } from '../../hooks' import { Icon } from '../Icon' export interface CopyMoveDialogProps { diff --git a/apps/sensenet/src/components/dialogs/custom-action-result.tsx b/apps/sensenet/src/components/dialogs/custom-action-result.tsx index 387db944a..b21888ad6 100644 --- a/apps/sensenet/src/components/dialogs/custom-action-result.tsx +++ b/apps/sensenet/src/components/dialogs/custom-action-result.tsx @@ -5,7 +5,8 @@ import DialogContent from '@material-ui/core/DialogContent' import DialogTitle from '@material-ui/core/DialogTitle' import React, { useEffect, useState } from 'react' import MonacoEditor from 'react-monaco-editor' -import { useInjector, useLocalization, useTheme } from '../../hooks' +import { useInjector } from '@sensenet/hooks-react' +import { useLocalization, useTheme } from '../../hooks' import { CustomActionCommandProvider } from '../../services/CommandProviders/CustomActionCommandProvider' export const CustomActionResultDialog: React.FunctionComponent = () => { diff --git a/apps/sensenet/src/components/dialogs/delete.tsx b/apps/sensenet/src/components/dialogs/delete.tsx index 8c9a10969..8b57748e4 100644 --- a/apps/sensenet/src/components/dialogs/delete.tsx +++ b/apps/sensenet/src/components/dialogs/delete.tsx @@ -12,10 +12,11 @@ import ListItemIcon from '@material-ui/core/ListItemIcon' import ListItemText from '@material-ui/core/ListItemText' import Tooltip from '@material-ui/core/Tooltip' import Typography from '@material-ui/core/Typography' -import { GenericContent } from '@sensenet/default-content-types' +import { GenericContent, TrashBag } from '@sensenet/default-content-types' import React, { useContext, useState } from 'react' +import { useLogger, useRepository } from '@sensenet/hooks-react' import { ResponsiveContext } from '../../context' -import { useLocalization, useLogger, useRepository } from '../../hooks' +import { useLocalization } from '../../hooks' import { Icon } from '../Icon' export const DeleteContentDialog: React.FunctionComponent<{ @@ -28,6 +29,7 @@ export const DeleteContentDialog: React.FunctionComponent<{ const repo = useRepository() const localization = useLocalization().deleteContentDialog const logger = useLogger('DeleteContentDialog') + const isTrashBag = !!props.content.length && repo.schemas.isContentFromType(props.content[0], TrashBag) return ( ev.stopPropagation()} onDoubleClick={ev => ev.stopPropagation()}> @@ -51,15 +53,17 @@ export const DeleteContentDialog: React.FunctionComponent<{ {isDeleteInProgress ? : null} -
- - setPermanent(ev.target.checked)} />} - /> - -
+ {!isTrashBag ? ( +
+ + setPermanent(ev.target.checked)} />} + /> + +
+ ) : null}
diff --git a/apps/sensenet/src/components/dialogs/edit-properties-dialog-body.tsx b/apps/sensenet/src/components/dialogs/edit-properties-dialog-body.tsx index 930ed1a4a..92e5bce65 100644 --- a/apps/sensenet/src/components/dialogs/edit-properties-dialog-body.tsx +++ b/apps/sensenet/src/components/dialogs/edit-properties-dialog-body.tsx @@ -5,8 +5,8 @@ import { isExtendedError } from '@sensenet/client-core/dist/Repository/Repositor import { DialogProps } from '@material-ui/core/Dialog' import { GenericContent } from '@sensenet/default-content-types' import { ConstantContent } from '@sensenet/client-core' -import { useLocalization, useLogger, useRepository, useSelectionService } from '../../hooks' -import { CurrentContentContext, CurrentContentProvider } from '../../context' +import { CurrentContentContext, CurrentContentProvider, useLogger, useRepository } from '@sensenet/hooks-react' +import { useLocalization, useSelectionService } from '../../hooks' const EditPropertiesDialogBody: React.FunctionComponent<{ contentId: number diff --git a/apps/sensenet/src/components/dialogs/execute-action.tsx b/apps/sensenet/src/components/dialogs/execute-action.tsx index d32b59b9e..03bb2618a 100644 --- a/apps/sensenet/src/components/dialogs/execute-action.tsx +++ b/apps/sensenet/src/components/dialogs/execute-action.tsx @@ -7,7 +7,8 @@ import LinearProgress from '@material-ui/core/LinearProgress' import Typography from '@material-ui/core/Typography' import React, { useEffect, useState } from 'react' import MonacoEditor from 'react-monaco-editor' -import { useInjector, useLocalization, useLogger, useRepository, useTheme } from '../../hooks' +import { useInjector, useLogger, useRepository } from '@sensenet/hooks-react' +import { useLocalization, useTheme } from '../../hooks' import { CustomActionCommandProvider } from '../../services/CommandProviders/CustomActionCommandProvider' import { createCustomActionModel } from '../../services/MonacoModels/create-custom-action-model' import { getMonacoModelUri } from '../edit/TextEditor' @@ -56,11 +57,11 @@ export const ExecuteActionDialog: React.FunctionComponent = () => { customActionService.onExecuteAction.subscribe(value => { setIsVisible(true) setActionValue(value) - setUri(getMonacoModelUri(value.content, value.action)) + setUri(getMonacoModelUri(value.content, repo, value.action)) }), ] return () => observables.forEach(o => o.dispose()) - }, [customActionService.onExecuteAction]) + }, [customActionService.onExecuteAction, repo]) return ( > = props => { diff --git a/apps/sensenet/src/components/edit/PersonalSettingsEditor.tsx b/apps/sensenet/src/components/edit/PersonalSettingsEditor.tsx index 68f0d0006..a084b1833 100644 --- a/apps/sensenet/src/components/edit/PersonalSettingsEditor.tsx +++ b/apps/sensenet/src/components/edit/PersonalSettingsEditor.tsx @@ -11,10 +11,17 @@ import { FormControlLabel, Switch, Typography, + useTheme, } from '@material-ui/core' import MonacoEditor from 'react-monaco-editor' -import { CurrentContentContext, LocalizationContext, ResponsiveContext } from '../../context' -import { useEventService, useInjector, useLogger, useRepository, useTheme } from '../../hooks' +import { + CurrentContentContext, + useInjector, + useLogger, + useRepository, + useRepositoryEvents, +} from '@sensenet/hooks-react' +import { LocalizationContext, ResponsiveContext } from '../../context' import { setupModel } from '../../services/MonacoModels/PersonalSettingsModel' import { defaultSettings, PersonalSettings } from '../../services/PersonalSettings' import { RepositoryManager } from '../../services/RepositoryManager' @@ -28,7 +35,7 @@ const SettingsEditor: React.FunctionComponent = () => { const repo = useRepository() const theme = useTheme() const platform = useContext(ResponsiveContext) - const eventService = useEventService() + const eventService = useRepositoryEvents() const [editorContent] = useState({ Type: 'PersonalSettings', Name: `PersonalSettings`, @@ -75,7 +82,7 @@ const SettingsEditor: React.FunctionComponent = () => { .repositories.map(repoEntry => rm.getRepository(repoEntry.url).authentication.logout()) await Promise.all(logoutPromises) - eventService.clear() + eventService.dispose() // ??? service.setPersonalSettingsValue({}) await sleepAsync(1000) setIsResetting(false) diff --git a/apps/sensenet/src/components/edit/TextEditor.tsx b/apps/sensenet/src/components/edit/TextEditor.tsx index 83203f154..0f5d6cfed 100644 --- a/apps/sensenet/src/components/edit/TextEditor.tsx +++ b/apps/sensenet/src/components/edit/TextEditor.tsx @@ -5,16 +5,17 @@ import { Uri } from 'monaco-editor' import React, { useContext, useEffect, useState } from 'react' import MonacoEditor from 'react-monaco-editor' import { Prompt } from 'react-router' +import { useLogger, useRepository } from '@sensenet/hooks-react' +import { Repository } from '@sensenet/client-core' import { ResponsiveContext } from '../../context' -import { useContentRouting, useLocalization, useLogger, useRepository, useTheme } from '../../hooks' -import { isContentFromType } from '../../utils/isContentFromType' +import { useContentRouting, useLocalization, useTheme } from '../../hooks' import { ContentBreadcrumbs } from '../ContentBreadcrumbs' -export const getMonacoModelUri = (content: GenericContent, action?: ActionModel) => { - if (isContentFromType(content, Settings) || content.Type === 'PersonalSettings') { +export const getMonacoModelUri = (content: GenericContent, repo: Repository, action?: ActionModel) => { + if (repo.schemas.isContentFromType(content, Settings) || content.Type === 'PersonalSettings') { return Uri.parse(`sensenet://${content.Type}/${content.Name}`) } - if (isContentFromType(content, SnFile)) { + if (repo.schemas.isContentFromType(content, SnFile)) { if (content.Binary) { return Uri.parse(`sensenet://${content.Type}/${content.Binary.__mediaresource.content_type}`) } @@ -45,7 +46,7 @@ export const TextEditor: React.FunctionComponent = props => { const [savedTextValue, setSavedTextValue] = useState('') const [language, setLanguage] = useState(contentRouter.getMonacoLanguage(props.content)) const localization = useLocalization().textEditor - const [uri, setUri] = useState(getMonacoModelUri(props.content)) + const [uri, setUri] = useState(getMonacoModelUri(props.content, repo)) const [hasChanges, setHasChanges] = useState(false) const logger = useLogger('TextEditor') @@ -92,12 +93,12 @@ export const TextEditor: React.FunctionComponent = props => { }, [textValue, savedTextValue]) useEffect(() => { - setUri(getMonacoModelUri(props.content)) + setUri(getMonacoModelUri(props.content, repo)) setLanguage(contentRouter.getMonacoLanguage(props.content)) - }, [contentRouter, props.content]) + }, [contentRouter, props.content, repo]) useEffect(() => { - setUri(getMonacoModelUri(props.content)) + setUri(getMonacoModelUri(props.content, repo)) setLanguage(contentRouter.getMonacoLanguage(props.content)) ;(async () => { try { diff --git a/apps/sensenet/src/components/event-list/filter.tsx b/apps/sensenet/src/components/event-list/filter.tsx index ae846f862..a4bef5b66 100644 --- a/apps/sensenet/src/components/event-list/filter.tsx +++ b/apps/sensenet/src/components/event-list/filter.tsx @@ -9,13 +9,15 @@ import Delete from '@material-ui/icons/Delete' import { debounce } from '@sensenet/client-utils' import React, { useContext } from 'react' -import { useEventService, useLocalization } from '../../hooks' +import { useInjector } from '@sensenet/hooks-react' +import { useLocalization } from '../../hooks' import { Icon } from '../Icon' +import { EventService } from '../../services/EventService' import { EventListFilterContext } from './filter-context' export const Filter: React.FunctionComponent<{ style?: React.CSSProperties }> = props => { const f = useContext(EventListFilterContext) - const service = useEventService() + const service = useInjector().getInstance(EventService) const localization = useLocalization().eventList.filter const updateTerm = debounce((term: string) => { @@ -77,7 +79,11 @@ export const Filter: React.FunctionComponent<{ style?: React.CSSProperties }> = alignSelf: 'flex-end', }} title={localization.clear} - onClick={() => confirm(localization.confirmClear) && service.clear()}> + onClick={() => { + if (confirm(localization.confirmClear)) { + service.clear() + } + }}> diff --git a/apps/sensenet/src/components/event-list/list.tsx b/apps/sensenet/src/components/event-list/list.tsx index c74b53512..88f6ba431 100644 --- a/apps/sensenet/src/components/event-list/list.tsx +++ b/apps/sensenet/src/components/event-list/list.tsx @@ -9,13 +9,9 @@ import CompareArrows from '@material-ui/icons/CompareArrows' import OpenInNewTwoTone from '@material-ui/icons/OpenInNewTwoTone' import React, { useContext, useEffect, useState } from 'react' import { Link } from 'react-router-dom' -import { - ContentRoutingContext, - ContentRoutingContextProvider, - CurrentContentContext, - RepositoryContext, -} from '../../context' -import { useInjector, useLocalization } from '../../hooks' +import { CurrentContentContext, RepositoryContext, useInjector } from '@sensenet/hooks-react' +import { ContentRoutingContext, ContentRoutingContextProvider } from '../../context' +import { useLocalization } from '../../hooks' import { RepositoryManager } from '../../services/RepositoryManager' import { Icon } from '../Icon' import { EventListFilterContext } from './filter-context' diff --git a/apps/sensenet/src/components/login/Login.tsx b/apps/sensenet/src/components/login/Login.tsx index 1115f58d6..1d702216b 100644 --- a/apps/sensenet/src/components/login/Login.tsx +++ b/apps/sensenet/src/components/login/Login.tsx @@ -7,7 +7,8 @@ import { Retrier, sleepAsync } from '@sensenet/client-utils' import React, { useEffect, useState } from 'react' import { RouteComponentProps, withRouter } from 'react-router' import { Container, createStyles, Grid, Link, makeStyles, Theme } from '@material-ui/core' -import { useInjector, useLocalization, useRepository, useSession, useTheme } from '../../hooks' +import { useInjector, useRepository, useSession } from '@sensenet/hooks-react' +import { useLocalization, useTheme } from '../../hooks' import { PersonalSettings, PersonalSettingsType } from '../../services/PersonalSettings' import { UserAvatar } from '../UserAvatar' import { GoogleAuthButton } from './GoogleAuthButton' diff --git a/apps/sensenet/src/components/search/index.tsx b/apps/sensenet/src/components/search/index.tsx index f6c1734fc..1dff26f2c 100644 --- a/apps/sensenet/src/components/search/index.tsx +++ b/apps/sensenet/src/components/search/index.tsx @@ -19,9 +19,11 @@ import { CurrentChildrenContext, CurrentContentContext, LoadSettingsContext, - ResponsivePersonalSetttings, -} from '../../context' -import { useContentRouting, useLocalization, useLogger, useRepository } from '../../hooks' + useLogger, + useRepository, +} from '@sensenet/hooks-react' +import { ResponsivePersonalSetttings } from '../../context' +import { useContentRouting, useLocalization } from '../../hooks' import { CollectionComponent, isReferenceField } from '../content-list' const loadCount = 20 diff --git a/apps/sensenet/src/components/search/saved-queries.tsx b/apps/sensenet/src/components/search/saved-queries.tsx index 61cdf872e..c47f27354 100644 --- a/apps/sensenet/src/components/search/saved-queries.tsx +++ b/apps/sensenet/src/components/search/saved-queries.tsx @@ -15,8 +15,11 @@ import { CurrentChildrenContext, CurrentContentContext, LoadSettingsContext, -} from '../../context' -import { useInjector, useLocalization, useRepository } from '../../hooks' + useInjector, + useRepository, + useRepositoryEvents, +} from '@sensenet/hooks-react' +import { useLocalization } from '../../hooks' import { CollectionComponent } from '../content-list' import { encodeQueryData } from '.' @@ -33,12 +36,13 @@ const Search: React.FunctionComponent = props => { const [requestReload] = useState(() => debounce(() => setReloadToken(Math.random()), 250)) const loadSettingsContext = useContext(LoadSettingsContext) + const eventHub = useRepositoryEvents() + useEffect(() => { setRepoToken(btoa(repo.configuration.repositoryUrl)) }, [repo.configuration.repositoryUrl]) useEffect(() => { - const eventHub = injector.getEventHub(repo.configuration.repositoryUrl) const subscriptions = [ eventHub.onContentModified.subscribe(() => requestReload()), eventHub.onContentCopied.subscribe(() => requestReload()), @@ -46,7 +50,15 @@ const Search: React.FunctionComponent = props => { eventHub.onContentDeleted.subscribe(() => requestReload()), ] return () => subscriptions.forEach(s => s.dispose()) - }, [injector, repo, requestReload]) + }, [ + eventHub.onContentCopied, + eventHub.onContentCreated, + eventHub.onContentDeleted, + eventHub.onContentModified, + injector, + repo, + requestReload, + ]) useEffect(() => { repo diff --git a/apps/sensenet/src/components/setup/index.tsx b/apps/sensenet/src/components/setup/index.tsx index c3cb8de76..39725e845 100644 --- a/apps/sensenet/src/components/setup/index.tsx +++ b/apps/sensenet/src/components/setup/index.tsx @@ -11,8 +11,8 @@ import { Settings } from '@sensenet/default-content-types' import { Query } from '@sensenet/query' import React, { useEffect, useState } from 'react' import { Link } from 'react-router-dom' -import { CurrentContentContext } from '../../context' -import { useContentRouting, useLocalization, useRepository } from '../../hooks' +import { CurrentContentContext, useRepository } from '@sensenet/hooks-react' +import { useContentRouting, useLocalization } from '../../hooks' import { ContentContextMenu } from '../ContentContextMenu' const SETUP_DOCS_URL = 'https://community.sensenet.com/docs/admin-ui/setup/' diff --git a/apps/sensenet/src/components/trash/Trash.tsx b/apps/sensenet/src/components/trash/Trash.tsx new file mode 100644 index 000000000..22a3d1b1c --- /dev/null +++ b/apps/sensenet/src/components/trash/Trash.tsx @@ -0,0 +1,51 @@ +import React, { useState } from 'react' +import { createStyles, makeStyles, Theme } from '@material-ui/core' +import { TrashBin } from '@sensenet/default-content-types' +import { useLoadContent } from '../../hooks/use-loadContent' +import { EditPropertiesDialog } from '../dialogs' +import { SimpleList } from '../content/Simple' +import TrashHeader from './TrashHeader' + +const useStyles = makeStyles((theme: Theme) => + createStyles({ + root: { margin: theme.spacing(2), height: '92vh' }, + title: { display: 'flex', alignItems: 'center' }, + grow: { flexGrow: 1 }, + }), +) + +const Trash: React.FC = () => { + const [isEditPropertiesOpened, setIsEditPropertiesOpened] = useState(false) + const loadResult = useLoadContent({ idOrPath: '/Root/Trash', oDataOptions: { select: 'all' } }) + const classes = useStyles() + + return ( +
+ {loadResult.content ? ( + setIsEditPropertiesOpened(!isEditPropertiesOpened)} + trash={loadResult.content} + /> + ) : null} + + {loadResult.content ? ( + setIsEditPropertiesOpened(false), + keepMounted: false, + }} + /> + ) : null} +
+ ) +} + +export default Trash diff --git a/apps/sensenet/src/components/trash/TrashHeader.tsx b/apps/sensenet/src/components/trash/TrashHeader.tsx new file mode 100644 index 000000000..93b7af62c --- /dev/null +++ b/apps/sensenet/src/components/trash/TrashHeader.tsx @@ -0,0 +1,45 @@ +import React from 'react' +import { createStyles, Grid, IconButton, makeStyles, Typography } from '@material-ui/core' +import { Settings } from '@material-ui/icons' +import { TrashBin } from '@sensenet/default-content-types' +import { useLocalization } from '../../hooks' + +const useStyles = makeStyles(() => + createStyles({ + title: { display: 'flex', alignItems: 'center' }, + grow: { flexGrow: 1 }, + }), +) + +type props = { trash: TrashBin; iconClickHandler: () => void } + +const TrashHeader: React.FC = ({ trash, iconClickHandler }) => { + const localization = useLocalization().trash + const classes = useStyles() + const infos = [ + { title: localization.retentionTime, value: trash.MinRetentionTime, unit: localization.retentionTimeUnit }, + { title: localization.sizeQuota, value: trash.SizeQuota, unit: localization.sizeQuotaUnit }, + { title: localization.capacity, value: trash.BagCapacity, unit: localization.capacityUnit }, + ] + + return ( + + + {localization.title} + iconClickHandler()}> + + + + + {infos.map(info => ( + + + {info.title} : {info.value} {info.unit} + + + ))} + + ) +} + +export default TrashHeader diff --git a/apps/sensenet/src/components/tree/index.tsx b/apps/sensenet/src/components/tree/index.tsx index 88b8ad4d4..7116fc3bb 100644 --- a/apps/sensenet/src/components/tree/index.tsx +++ b/apps/sensenet/src/components/tree/index.tsx @@ -8,8 +8,12 @@ import { PathHelper, sleepAsync } from '@sensenet/client-utils' import { GenericContent } from '@sensenet/default-content-types' import { Created } from '@sensenet/repository-events' import React, { useContext, useEffect, useState } from 'react' -import { CurrentAncestorsContext, CurrentContentContext } from '../../context' -import { useInjector, useRepository } from '../../hooks' +import { + CurrentAncestorsContext, + CurrentContentContext, + useRepository, + useRepositoryEvents, +} from '@sensenet/hooks-react' import { ContentContextMenu } from '../ContentContextMenu' import { DropFileArea } from '../DropFileArea' import { Icon } from '../Icon' @@ -28,9 +32,8 @@ export const Tree: React.FunctionComponent = props => { const [opened, setOpened] = useState([]) const [reloadToken, setReloadToken] = useState(0) const [ancestorPaths, setAncestorPaths] = useState(ancestors.map(a => a.Path)) - const injector = useInjector() const repo = useRepository() - const eventHub = injector.getEventHub(repo.configuration.repositoryUrl) + const eventHub = useRepositoryEvents() const [contextMenuItem, setContextMenuItem] = useState(null) const [contextMenuAnchor, setContextMenuAnchor] = useState(null) diff --git a/apps/sensenet/src/components/version-info/component-info.tsx b/apps/sensenet/src/components/version-info/component-info.tsx index 1b9ad0938..144da8f4d 100644 --- a/apps/sensenet/src/components/version-info/component-info.tsx +++ b/apps/sensenet/src/components/version-info/component-info.tsx @@ -4,8 +4,8 @@ import ListItemSecondaryAction from '@material-ui/core/ListItemSecondaryAction' import Typography from '@material-ui/core/Typography' import Info from '@material-ui/icons/Info' import React, { useState } from 'react' +import { Component } from '@sensenet/hooks-react' import { useLocalization } from '../../hooks' -import { Component } from './version-info-models' export const ComponentInfo: React.FunctionComponent<{ component: Component; update?: any }> = props => { const [isOpened, setIsOpened] = useState(false) diff --git a/apps/sensenet/src/components/version-info/index.tsx b/apps/sensenet/src/components/version-info/index.tsx index b2386ec15..985f2585f 100644 --- a/apps/sensenet/src/components/version-info/index.tsx +++ b/apps/sensenet/src/components/version-info/index.tsx @@ -12,8 +12,9 @@ import ExpandMore from '@material-ui/icons/ExpandMore' import Update from '@material-ui/icons/Update' import React, { useContext, useState } from 'react' import MonacoEditor from 'react-monaco-editor' +import { useVersionInfo } from '@sensenet/hooks-react' import { ResponsiveContext } from '../../context' -import { useLocalization, useTheme, useVersionInfo } from '../../hooks' +import { useLocalization, useTheme } from '../../hooks' import { ComponentInfo } from './component-info' export const VersionInfo: React.FunctionComponent = () => { diff --git a/apps/sensenet/src/components/version-info/version-info-models.ts b/apps/sensenet/src/components/version-info/version-info-models.ts deleted file mode 100644 index ece6fcbf8..000000000 --- a/apps/sensenet/src/components/version-info/version-info-models.ts +++ /dev/null @@ -1,79 +0,0 @@ -/** - * @module Repository - * @preferred - * - * @description This module contains models for sensenet's GetVersionInfo custom action - */ /** */ - -/** - * The type of a specific package - */ -export enum PackageType { - /** - * Can contain small repeatable activities that do not perform significant changes but can be important because of business or technical reasons. A good example is performing an undo checkout on multiple content. Executing a package of this level does not change the application's or the product's version number but the execution is logged and registered - */ - Tool, - - /** - * Contains small modifications (e.g. a couple of new content to import or a bugfix in a dll). Usually patches form a chain where every package assumes the existence of all the previous ones but it is not mandatory. It is possible to control this behavior, see version control below. - */ - Patch, - - /** - * An application's first package must be an 'install' package. This is the package that injects a new application into the system. Only Application packages can be set on this level. An install level package must contain a new application identifier that is unknown to the system. Packages on this level can be executed only once. - */ - Install, -} - -/** - * Represents a .NET Assembly in the Version Info - */ -export interface Assembly { - CodeBase: string - IsDynamic: boolean - Name: string - Version: string -} - -/** - * Represents a sensenet Component in the Version Info - */ -export interface Component { - ComponentId: string - Version: string - AcceptableVersion: string - Description: string - IsUpdateAvailable?: boolean - NugetManifest?: any -} - -/** - * Represents a sensenet Package in the Version Info - */ -export interface Package { - ComponentId: string - ComponentVersion: string - Description: string - ExecutionDate: Date - ExecutionError: any - Id: number - Manifest: any - PackageType: PackageType - ReleaseDate: Date -} - -/** - * Represents a model for the sensenet's GetVersionInfo custom action's response - */ -export interface VersionInfo { - Assemblies: { - Dynamic: Assembly[] - GAC: Assembly[] - Other: Assembly[] - Plugins: Assembly[] - SenseNet: Assembly[] - } - Components: Component[] - DatabaseAvailable: boolean - InstalledPackages: Package[] -} diff --git a/apps/sensenet/src/components/wopi-page.tsx b/apps/sensenet/src/components/wopi-page.tsx index a3da3cd9c..2a1ba4617 100644 --- a/apps/sensenet/src/components/wopi-page.tsx +++ b/apps/sensenet/src/components/wopi-page.tsx @@ -3,7 +3,8 @@ import { RouteComponentProps, withRouter } from 'react-router' import { ODataWopiResponse } from '@sensenet/client-core' import { Button, Typography } from '@material-ui/core' import { isExtendedError } from '@sensenet/client-core/dist/Repository/Repository' -import { useLocalization, useLogger, useRepository } from '../hooks' +import { useLogger, useRepository } from '@sensenet/hooks-react' +import { useLocalization } from '../hooks' import { FullScreenLoader } from './FullScreenLoader' const WopiPage: React.FunctionComponent> = props => { diff --git a/apps/sensenet/src/context/ContentRoutingContext.tsx b/apps/sensenet/src/context/ContentRoutingContext.tsx index 02edbd637..6190e60e8 100644 --- a/apps/sensenet/src/context/ContentRoutingContext.tsx +++ b/apps/sensenet/src/context/ContentRoutingContext.tsx @@ -1,5 +1,5 @@ import React, { useEffect, useState } from 'react' -import { useRepository } from '../hooks' +import { useRepository } from '@sensenet/hooks-react' import { ContentContextProvider } from '../services/ContentContextProvider' export const ContentRoutingContext = React.createContext(null as any) diff --git a/apps/sensenet/src/context/InjectorContext.tsx b/apps/sensenet/src/context/InjectorContext.tsx deleted file mode 100644 index d59209634..000000000 --- a/apps/sensenet/src/context/InjectorContext.tsx +++ /dev/null @@ -1,12 +0,0 @@ -import { Injector } from '@furystack/inject/dist/Injector' -import { ConsoleLogger } from '@furystack/logging' - -import React from 'react' -import { EventLogger } from '../services/EventLogger' -import '../utils/InjectorExtensions' - -export const snInjector = new Injector() -snInjector.options.owner = 'SnApp' -snInjector.useLogging(ConsoleLogger, EventLogger) - -export const InjectorContext = React.createContext(snInjector) diff --git a/apps/sensenet/src/context/LocalizationContext.tsx b/apps/sensenet/src/context/LocalizationContext.tsx index bdbec5aef..24c1fd388 100644 --- a/apps/sensenet/src/context/LocalizationContext.tsx +++ b/apps/sensenet/src/context/LocalizationContext.tsx @@ -1,5 +1,6 @@ import React, { useEffect, useState } from 'react' -import { useInjector, usePersonalSettings } from '../hooks' +import { useInjector } from '@sensenet/hooks-react' +import { usePersonalSettings } from '../hooks' import DefaultLocalization from '../localization/default' import { LocalizationService } from '../services/LocalizationService' diff --git a/apps/sensenet/src/context/PersonalSettingsContext.tsx b/apps/sensenet/src/context/PersonalSettingsContext.tsx index 16e37ca51..312885d35 100644 --- a/apps/sensenet/src/context/PersonalSettingsContext.tsx +++ b/apps/sensenet/src/context/PersonalSettingsContext.tsx @@ -1,6 +1,7 @@ import React, { useEffect, useState } from 'react' -import { useInjector } from '../hooks' +import { useInjector } from '@sensenet/hooks-react' import { defaultSettings, PersonalSettings } from '../services/PersonalSettings' + export const PersonalSettingsContext = React.createContext(defaultSettings) export const PersonalSettingsContextProvider: React.StatelessComponent = props => { const di = useInjector() diff --git a/apps/sensenet/src/context/RepositoryContext.tsx b/apps/sensenet/src/context/RepositoryContext.tsx index 8be84066c..3dfdca0b5 100644 --- a/apps/sensenet/src/context/RepositoryContext.tsx +++ b/apps/sensenet/src/context/RepositoryContext.tsx @@ -1,18 +1,16 @@ -import { Repository } from '@sensenet/client-core' import React, { useEffect, useState } from 'react' import { RouteComponentProps, withRouter } from 'react-router' -import { useInjector, useLogger, usePersonalSettings } from '../hooks' +import { RepositoryContext, useInjector, useLogger } from '@sensenet/hooks-react' +import { usePersonalSettings } from '../hooks' export const lastRepositoryKey = 'sensenet-last-repository' -export const RepositoryContext = React.createContext(new Repository()) - export const RepositoryContextProviderComponent: React.FunctionComponent< RouteComponentProps<{ repo?: string }> > = props => { const injector = useInjector() const settings = usePersonalSettings() - const [repo, setRepo] = useState(new Repository()) + const [repo, setRepo] = useState(injector.getRepository(settings.lastRepository)) const logger = useLogger('RepositoryContext') useEffect(() => { diff --git a/apps/sensenet/src/context/index.ts b/apps/sensenet/src/context/index.ts index d539abd27..a4c79a353 100644 --- a/apps/sensenet/src/context/index.ts +++ b/apps/sensenet/src/context/index.ts @@ -1,13 +1,7 @@ export * from './ContentRoutingContext' -export * from './CurrentAncestors' -export * from './CurrentChildren' -export * from './CurrentContent' -export * from './InjectorContext' -export * from './LoadSettingsContext' export * from './LocalizationContext' export * from './PersonalSettingsContext' export * from './RepositoryContext' export * from './ResponsiveContextProvider' -export * from './SessionContext' export * from './ThemeContext' export * from './ThemeProvider' diff --git a/apps/sensenet/src/hooks/index.ts b/apps/sensenet/src/hooks/index.ts index 8cf43e75f..88d524186 100644 --- a/apps/sensenet/src/hooks/index.ts +++ b/apps/sensenet/src/hooks/index.ts @@ -1,17 +1,10 @@ export * from './use-content-routing' export * from './use-command-palette' -export * from './use-download' export * from './use-drawer-items' -export * from './use-event-service' -export * from './use-injector' export * from './use-localization' -export * from './use-logger' +export * from './use-event-service' export * from './use-personal-settings' -export * from './use-repository' export * from './use-selection-service' -export * from './use-session' export * from './use-string-replace' export * from './use-theme' -export * from './use-version-info' export * from './use-widgets' -export * from './use-wopi' diff --git a/apps/sensenet/src/hooks/use-command-palette.tsx b/apps/sensenet/src/hooks/use-command-palette.tsx index 3a181afa1..7ce6c0f5e 100644 --- a/apps/sensenet/src/hooks/use-command-palette.tsx +++ b/apps/sensenet/src/hooks/use-command-palette.tsx @@ -1,9 +1,8 @@ import { useContext, useEffect, useState } from 'react' import { GenericContent } from '@sensenet/default-content-types' +import { useInjector, useRepository } from '@sensenet/hooks-react' import { CommandProviderManager } from '../services/CommandProviderManager' import { ResponsiveContext } from '../context' -import { useInjector } from './use-injector' -import { useRepository } from './use-repository' export interface CommandPaletteItem { primaryText: string diff --git a/apps/sensenet/src/hooks/use-drawer-items.tsx b/apps/sensenet/src/hooks/use-drawer-items.tsx index d183bbf21..542a2630f 100644 --- a/apps/sensenet/src/hooks/use-drawer-items.tsx +++ b/apps/sensenet/src/hooks/use-drawer-items.tsx @@ -6,9 +6,9 @@ import PeopleTwoTone from '@material-ui/icons/PeopleTwoTone' import PublicTwoTone from '@material-ui/icons/PublicTwoTone' import SearchTwoTone from '@material-ui/icons/SearchTwoTone' import WidgetsTwoTone from '@material-ui/icons/WidgetsTwoTone' -import { DashboardTwoTone } from '@material-ui/icons' -import { Group, User } from '@sensenet/default-content-types' -import { Query } from '@sensenet/query' +import { DashboardTwoTone, DeleteTwoTone } from '@material-ui/icons' +import { useRepository, useSession } from '@sensenet/hooks-react' +import { LoginState } from '@sensenet/client-core' import { Icon } from '../components/Icon' import { BuiltinDrawerItem, @@ -21,7 +21,6 @@ import { ResponsivePersonalSetttings } from '../context' import { encodeBrowseData } from '../components/content' import { encodeQueryData } from '../components/search' import DefaultLocalization from '../localization/default' -import { useSession } from './use-session' import { useLocalization } from './use-localization' export interface DrawerItem { @@ -37,6 +36,7 @@ export const useDrawerItems = () => { const session = useSession() const settings = useContext(ResponsivePersonalSetttings) const localization = useLocalization().drawer + const repo = useRepository() const [drawerItems, setDrawerItems] = useState([]) @@ -79,7 +79,7 @@ export const useDrawerItems = () => { case 'Localization': return case 'Trash': - return + return case 'Setup': return case 'Version info': @@ -108,20 +108,13 @@ export const useDrawerItems = () => { fieldsToDisplay: (item.settings && item.settings.columns) || settings.content.fields, })}` case 'Users and groups': - return `/search/${encodeQueryData({ - title: localization.titles['Users and groups'], - term: new Query(q => - q - .typeIs(User) - .or.typeIs(Group) - .and.inTree('/Root/IMS'), - ).toString(), - hideSearchBar: true, + return `/browse/${encodeBrowseData({ + type: 'simple', + root: '/Root/IMS/Public', fieldsToDisplay: ['DisplayName', 'ModificationDate', 'ModifiedBy', 'Actions'], })}` case 'Content Types': return `/search/${encodeQueryData({ - title: localization.titles['Content Types'], term: "+TypeIs:'ContentType'", hideSearchBar: true, fieldsToDisplay: ['DisplayName', 'Description', 'ParentTypeName' as any, 'ModificationDate', 'ModifiedBy'], @@ -134,13 +127,12 @@ export const useDrawerItems = () => { fieldsToDisplay: item.settings && item.settings.columns, })}` case 'Localization': - return `/search/${encodeQueryData({ - term: "+TypeIs:'Resource'", - title: localization.titles.Localization, - hideSearchBar: true, + return `/browse/${encodeBrowseData({ + type: 'simple', + root: '/Root/Localization', })}` case 'Trash': - return '' // ToDO + return '/trash' case 'Setup': return '/setup' case 'Version info': @@ -154,7 +146,7 @@ export const useDrawerItems = () => { return '/' }, - [localization.titles, settings.content.browseType, settings.content.fields], + [settings.content.browseType, settings.content.fields], ) const getItemFromSettings = useCallback( @@ -173,8 +165,27 @@ export const useDrawerItems = () => { ) useEffect(() => { - setDrawerItems(settings.drawer.items.map(item => getItemFromSettings(item))) - }, [getItemFromSettings, session, settings]) + settings.drawer.items + .filter(() => session.state === LoginState.Authenticated) + .filterAsync(async item => { + if (!item.permissions || !item.permissions.length) { + return true + } + try { + for (const permission of item.permissions) { + const actions = await repo.getActions({ idOrPath: permission.path }) + const actionIndex = actions.d.Actions.findIndex(action => action.Name === permission.action) + if (actionIndex === -1 || actions.d.Actions[actionIndex].Forbidden) { + return false + } + } + } catch (error) { + return false + } + return true + }) + .then(items => setDrawerItems(items.map(item => getItemFromSettings(item)))) + }, [getItemFromSettings, repo, repo.security, session, settings]) return drawerItems } diff --git a/apps/sensenet/src/hooks/use-event-service.ts b/apps/sensenet/src/hooks/use-event-service.ts index 0d4bb8760..1a85d4b25 100644 --- a/apps/sensenet/src/hooks/use-event-service.ts +++ b/apps/sensenet/src/hooks/use-event-service.ts @@ -1,5 +1,4 @@ -import { useContext } from 'react' -import { InjectorContext } from '../context' +import { useInjector } from '@sensenet/hooks-react' import { EventService } from '../services/EventService' -export const useEventService = () => useContext(InjectorContext).getInstance(EventService) +export const useEventService = () => useInjector().getInstance(EventService) diff --git a/apps/sensenet/src/hooks/use-loadContent.ts b/apps/sensenet/src/hooks/use-loadContent.ts new file mode 100644 index 000000000..b74108a78 --- /dev/null +++ b/apps/sensenet/src/hooks/use-loadContent.ts @@ -0,0 +1,41 @@ +import { useEffect, useState } from 'react' +import { GenericContent } from '@sensenet/default-content-types' +import { ODataParams } from '@sensenet/client-core' +import { useRepository } from '@sensenet/hooks-react' + +type Options = { + idOrPath: string | number + oDataOptions?: ODataParams +} + +export const useLoadContent = ({ idOrPath, oDataOptions }: Options) => { + const [content, setContent] = useState() + const [error, setError] = useState() + const [reloadToken, setReloadToken] = useState(1) + const reload = () => setReloadToken(Math.random()) + const repo = useRepository() + + useEffect(() => { + const ac = new AbortController() + if (idOrPath) { + ;(async () => { + try { + const response = await repo.load({ + idOrPath, + requestInit: { signal: ac.signal }, + oDataOptions, + }) + setContent(response.d) + } catch (err) { + if (!ac.signal.aborted) { + setError(err) + } + } + })() + } + return () => ac.abort() + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [repo, idOrPath, reloadToken]) + + return { content, error, reload } +} diff --git a/apps/sensenet/src/hooks/use-selection-service.ts b/apps/sensenet/src/hooks/use-selection-service.ts index 4f02b9a3e..da5ff6883 100644 --- a/apps/sensenet/src/hooks/use-selection-service.ts +++ b/apps/sensenet/src/hooks/use-selection-service.ts @@ -1,8 +1,9 @@ -import { useContext, useState } from 'react' -import { InjectorContext } from '../context' +import { useState } from 'react' +import { useInjector } from '@sensenet/hooks-react' import { SelectionService } from '../services/SelectionService' export const useSelectionService = () => { - const [selectionService] = useState(useContext(InjectorContext).getInstance(SelectionService)) + const injector = useInjector() + const [selectionService] = useState(injector.getInstance(SelectionService)) return selectionService } diff --git a/apps/sensenet/src/hooks/use-string-replace.ts b/apps/sensenet/src/hooks/use-string-replace.ts index e81454034..fe1e9ddfd 100644 --- a/apps/sensenet/src/hooks/use-string-replace.ts +++ b/apps/sensenet/src/hooks/use-string-replace.ts @@ -1,11 +1,10 @@ -import { useContext, useEffect, useState } from 'react' -import { SessionContext } from '../context' -import { useRepository } from './use-repository' +import { useEffect, useState } from 'react' +import { useRepository, useSession } from '@sensenet/hooks-react' import { usePersonalSettings } from './use-personal-settings' export const useStringReplace = (content: string) => { const [replacedContent, setReplacedContent] = useState('') - const session = useContext(SessionContext) + const session = useSession() const repo = useRepository() const personalSettings = usePersonalSettings() diff --git a/apps/sensenet/src/hooks/use-version-info.ts b/apps/sensenet/src/hooks/use-version-info.ts deleted file mode 100644 index 35278351a..000000000 --- a/apps/sensenet/src/hooks/use-version-info.ts +++ /dev/null @@ -1,61 +0,0 @@ -import { useEffect, useState } from 'react' -import { ConstantContent } from '@sensenet/client-core' -import { VersionInfo } from '../components/version-info/version-info-models' -import { useRepository } from './use-repository' - -export const useVersionInfo = () => { - const [versionInfo, setVersionInfo] = useState() - const [nugetManifests, setNugetManifests] = useState([]) - const [hasUpdates, setHasUpdates] = useState(false) - const repo = useRepository() - - useEffect(() => { - ;(async () => { - const result = await repo.executeAction({ - idOrPath: ConstantContent.PORTAL_ROOT.Path, - body: undefined, - method: 'GET', - name: 'GetVersionInfo', - }) - - const nugetPromises = result.Components.map(async component => { - try { - const response = await fetch( - `https://api.nuget.org/v3/registration3-gz-semver2/${component.ComponentId.toLowerCase()}/index.json`, - ) - if (response.ok) { - const nugetManifest = await response.json() - return nugetManifest - } - } catch (error) { - return {} - } - }) - const loadedManifests = (await Promise.all(nugetPromises)).filter(m => m) - setNugetManifests(loadedManifests) - - let hasOneUpdate = false - - result.Components = result.Components.map(component => { - const nugetManifest = loadedManifests.find( - m => - m['@id'] === - `https://api.nuget.org/v3/registration3-gz-semver2/${component.ComponentId.toLocaleLowerCase()}/index.json`, - ) - const updateAvailable = nugetManifest ? nugetManifest.items[0].upper > component.Version : false - if (updateAvailable) { - hasOneUpdate = true - } - return { - ...component, - NugetManifest: nugetManifest, - IsUpdateAvailable: updateAvailable, - } - }) - setHasUpdates(hasOneUpdate) - setVersionInfo(result) - })() - }, [repo]) - - return { versionInfo, nugetManifests, hasUpdates } -} diff --git a/apps/sensenet/src/index.tsx b/apps/sensenet/src/index.tsx index b5147528c..360f6e311 100644 --- a/apps/sensenet/src/index.tsx +++ b/apps/sensenet/src/index.tsx @@ -1,23 +1,21 @@ import CssBaseline from '@material-ui/core/CssBaseline' + import React from 'react' import ReactDOM from 'react-dom' import { Provider } from 'react-redux' +import { InjectorContext, LoggerContextProvider, SessionContextProvider } from '@sensenet/hooks-react' import { HashRouter, Route } from 'react-router-dom' import { DesktopLayout } from './components/layout/DesktopLayout' import { MainRouter } from './components/MainRouter' import { NotificationComponent } from './components/NotificationComponent' import { ContentRoutingContextProvider, - InjectorContext, LocalizationProvider, PersonalSettingsContextProvider, RepositoryContextProvider, ResponsiveContextProvider, - SessionContextProvider, - snInjector, ThemeProvider, } from './context' -import { LoggerContextProvider } from './context/LoggerContext' import { CommandProviderManager } from './services/CommandProviderManager' import { CheatCommandProvider } from './services/CommandProviders/CheatCommandProvider' import { CustomActionCommandProvider } from './services/CommandProviders/CustomActionCommandProvider' @@ -31,6 +29,7 @@ import './style.css' import theme from './theme' import './utils/errorToJson' import './utils/InjectorExtensions' +import { snInjector } from './sn-injector' console.log( `%c@sensenet app v${process.env.APP_VERSION} diff --git a/apps/sensenet/src/localization/default.ts b/apps/sensenet/src/localization/default.ts index cba35d38e..88ae01d30 100644 --- a/apps/sensenet/src/localization/default.ts +++ b/apps/sensenet/src/localization/default.ts @@ -56,6 +56,7 @@ const values = { deletingContent: 'Deleting content...', dialogContent: 'You are going to delete the following content:', permanentlyLabel: 'Permanently', + deletePermanently: 'Delete permanently', permanentlyHint: "Don't move to trash, delete immediately", deleteButton: 'Delete', cancelButton: 'Cancel', @@ -119,6 +120,15 @@ const values = { collapse: 'Collapse', queryTermDescription: 'The Query term', }, + trash: { + title: 'Trash', + retentionTime: 'Minimum retention time', + retentionTimeUnit: 'day(s)', + sizeQuota: 'Size quota', + sizeQuotaUnit: 'MB', + capacity: 'Trashbag capacity', + capacityUnit: 'content', + }, editPropertiesDialog: { dialogTitle: 'Edit {0}', saveSuccessNotification: `Content '{0}' has been updated.`, @@ -175,6 +185,9 @@ const values = { drawerItemTitle: 'Title of the item', drawerItemDescription: 'Description of the item', drawerItemIcon: 'The icon of the drawer item', + drawerItemPermissions: 'A list of required persmissions for a specific drawer items', + drawerItemPermissionPath: 'A full path to a specific content', + drawerItemPermissionName: 'A full path to a specific content', repositoryTitle: 'A list of visited repositories', repositoryUrl: 'The path of the repository, e.g.: https://my-sensenet-repository.org', repositoryLoginName: "The last user you've logged in with", diff --git a/apps/sensenet/src/services/CommandProviders/CustomActionCommandProvider.ts b/apps/sensenet/src/services/CommandProviders/CustomActionCommandProvider.ts index 4d264c09a..8527387fd 100644 --- a/apps/sensenet/src/services/CommandProviders/CustomActionCommandProvider.ts +++ b/apps/sensenet/src/services/CommandProviders/CustomActionCommandProvider.ts @@ -40,7 +40,11 @@ export class CustomActionCommandProvider implements CommandProvider { const actions = (result.d.Actions as ActionModel[]) || [] return actions - .filter(a => a.Name.toLowerCase().includes(filteredTerm) || a.DisplayName.toLowerCase().includes(filteredTerm)) + .filter( + a => + (a.Name.toLowerCase().includes(filteredTerm) && a.IsODataAction) || + (a.DisplayName.toLowerCase().includes(filteredTerm) && a.IsODataAction), + ) .map(a => { const actionMetadata = result.d.__metadata && diff --git a/apps/sensenet/src/services/ContentContextProvider.ts b/apps/sensenet/src/services/ContentContextProvider.ts index 3b88498d4..6d31d3be7 100644 --- a/apps/sensenet/src/services/ContentContextProvider.ts +++ b/apps/sensenet/src/services/ContentContextProvider.ts @@ -7,7 +7,6 @@ import { Settings, File as SnFile, } from '@sensenet/default-content-types' -import { isContentFromType } from '../utils/isContentFromType' import { encodeBrowseData } from '../components/content' export type RouteType = @@ -21,16 +20,16 @@ export type RouteType = export class ContentContextProvider { public getMonacoLanguage(content: GenericContent) { - if (isContentFromType(content, Settings, this.repository.schemas) || content.Type === 'PersonalSettings') { + if (this.repository.schemas.isContentFromType(content, Settings) || content.Type === 'PersonalSettings') { return 'json' } if ( - isContentFromType(content, ContentType, this.repository.schemas) || - isContentFromType(content, Resource, this.repository.schemas) + this.repository.schemas.isContentFromType(content, ContentType) || + this.repository.schemas.isContentFromType(content, Resource) ) { return 'xml' } - if (isContentFromType(content, SnFile, this.repository.schemas)) { + if (this.repository.schemas.isContentFromType(content, SnFile)) { if (content.Binary) { switch (content.Binary.__mediaresource.content_type) { case 'application/x-javascript': diff --git a/apps/sensenet/src/services/GetViewerSettings.ts b/apps/sensenet/src/services/GetViewerSettings.ts index 852197201..f73fea80d 100644 --- a/apps/sensenet/src/services/GetViewerSettings.ts +++ b/apps/sensenet/src/services/GetViewerSettings.ts @@ -38,6 +38,14 @@ function changeCreatedByUrlToCurrent(documentData: DocumentData): (value: Commen export const getViewerSettings = (repo: Repository) => new DocumentViewerSettings({ + regeneratePreviews: async documentData => { + repo.executeAction({ + idOrPath: documentData.idOrPath, + method: 'POST', + body: undefined, + name: 'RegeneratePreviews', + }) + }, saveChanges: async (documentData, pages) => { const reqBody = { Shapes: JSON.stringify([ diff --git a/apps/sensenet/src/services/MonacoModels/PersonalSettingsModel.ts b/apps/sensenet/src/services/MonacoModels/PersonalSettingsModel.ts index 8efffb5bb..46cd3f9b3 100644 --- a/apps/sensenet/src/services/MonacoModels/PersonalSettingsModel.ts +++ b/apps/sensenet/src/services/MonacoModels/PersonalSettingsModel.ts @@ -2,7 +2,7 @@ import { LogLevel } from '@furystack/logging' import { Repository } from '@sensenet/client-core' import { editor, languages, Uri } from 'monaco-editor' import defaultLanguage from '../../localization/default' -import { DrawerItemType, widgetTypes } from '../PersonalSettings' +import { ActionType, DrawerItemType, widgetTypes } from '../PersonalSettings' import { BrowseType } from '../../components/content' import { wellKnownIconNames } from '../../components/Icon' @@ -192,6 +192,22 @@ export const setupModel = (language = defaultLanguage, repo: Repository) => { type: 'string', enum: [...DrawerItemType], }, + permissions: { + type: 'array', + description: language.personalSettings.drawerItemPermissions, + items: { + type: 'object', + properties: { + path: { type: 'string', description: language.personalSettings.drawerItemPermissionPath }, + role: { + type: 'string', + description: language.personalSettings.drawerItemPermissionPath, + enum: [...ActionType], + }, + }, + required: ['path', 'role'], + }, + }, }, allOf: [ { diff --git a/apps/sensenet/src/services/PersonalSettings.ts b/apps/sensenet/src/services/PersonalSettings.ts index af9f7198e..39f6541b1 100644 --- a/apps/sensenet/src/services/PersonalSettings.ts +++ b/apps/sensenet/src/services/PersonalSettings.ts @@ -1,9 +1,8 @@ import { Injectable } from '@furystack/inject' import { LogLevel } from '@furystack/logging' -import { deepMerge, ObservableValue } from '@sensenet/client-utils' +import { deepMerge, ObservableValue, tuple } from '@sensenet/client-utils' import { GenericContent } from '@sensenet/default-content-types' import { PlatformDependent } from '../context' -import { tuple } from '../utils/tuple' import { BrowseType } from '../components/content' const settingsKey = `SN-APP-USER-SETTINGS` @@ -69,10 +68,42 @@ export const DrawerItemType = tuple( 'Dashboard', ) +export const ActionType = tuple( + 'Browse', + 'Edit', + 'GetPermissions', + 'SetPermissions', + 'Reject', + 'RestoreVersion', + 'Purge', + 'ShareContent', + 'Rename', + 'GetAllContentTypes', + 'GetAllowedUsers', + 'GetQueries', + 'Approve', + 'Checkout', + 'CopyTo', + 'MoveTo', + 'Publish', + 'SaveQuery', + 'SetPermissions', + 'Share', + 'Delete', + 'UndoCheckOut', + 'Versions', + 'CheckIn', + 'Add', + 'Upload', +) + export interface DrawerItem { - /** */ settings?: T itemType: typeof DrawerItemType[number] + permissions?: Array<{ + path: string + action: typeof ActionType[number] + }> } export interface ContentDrawerItem @@ -105,7 +136,7 @@ export interface DashboardDrawerItem description?: string icon: string }> { - itemType: 'Dashboard' + itemType: 'Dashboard' | 'Users and groups' } export interface BuiltinDrawerItem extends DrawerItem { @@ -222,11 +253,11 @@ export const defaultSettings: PersonalSettingsType = { }, }, { - title: 'Tutorials', + title: 'Concepts & Tutorials', widgetType: 'markdown', settings: { content: - '[Overview](https://index.hu) \n\n [Getting started](https://index.hu) \n\n [Tutorials](https://index.hu) \n\n [Example apps](https://index.hu) \n\n ', + '
To get started with sensenet

Overview
Getting started
Tutorials
Example apps', }, minWidth: { default: '45%', @@ -237,7 +268,7 @@ export const defaultSettings: PersonalSettingsType = { widgetType: 'markdown', settings: { content: - ' [Content Delivery API](https://index.hu) \n\n [Images API](https://index.hu) \n\n [Content management API](https://index.hu) \n\n [Content preview API](https://index.hu) \n\n', + '
Discover capabilites of the API

REST API
Content Management API
Document Preview API
User Management API', }, minWidth: { default: '45%', @@ -248,7 +279,7 @@ export const defaultSettings: PersonalSettingsType = { widgetType: 'markdown', settings: { content: - "", + "
If you need any help or further information, feel free to contact us!

", }, minWidth: { default: '100%', @@ -267,12 +298,37 @@ export const defaultSettings: PersonalSettingsType = { type: 'mini-variant', items: [ { itemType: 'Search', settings: undefined }, - { itemType: 'Content', settings: { root: '/Root/Content' } }, - { itemType: 'Users and groups', settings: undefined }, - { itemType: 'Content Types', settings: undefined }, - { itemType: 'Localization', settings: undefined }, - { itemType: 'Setup', settings: undefined }, - { itemType: 'Version info', settings: undefined }, + { + itemType: 'Content', + settings: { root: '/Root/Content' }, + permissions: [{ path: '/Root/Content', action: 'Add' }], + }, + { + itemType: 'Users and groups', + settings: undefined, + permissions: [{ path: '/Root/IMS/Public', action: 'Add' }], + }, + { + itemType: 'Trash', + settings: undefined, + permissions: [{ path: '/Root/Trash', action: 'Edit' }], + }, + { + itemType: 'Content Types', + settings: undefined, + permissions: [{ path: '/Root/System/Schema/ContentTypes', action: 'Add' }], + }, + { + itemType: 'Localization', + settings: undefined, + permissions: [{ path: '/Root/Localization', action: 'Add' }], + }, + { itemType: 'Setup', settings: undefined, permissions: [{ path: '/Root/System/Settings', action: 'Browse' }] }, + { + itemType: 'Version info', + settings: undefined, + permissions: [{ path: '/Root/(apps)/PortalRoot/GetVersionInfo', action: 'Browse' }], + }, ], }, commandPalette: { enabled: true, wrapQuery: '{0} .AUTOFILTERS:OFF' }, @@ -296,17 +352,7 @@ export const defaultSettings: PersonalSettingsType = { @Injectable({ lifetime: 'singleton' }) export class PersonalSettings { - constructor() { - this.init() - } - - private async init() { - const currentUserSettings = await this.getLocalUserSettingsValue() - this.userValue.setValue(currentUserSettings) - this.effectiveValue.setValue(deepMerge(defaultSettings, currentUserSettings)) - } - - private async checkDrawerItems(settings: Partial): Promise> { + private checkDrawerItems(settings: Partial): Partial { if ( settings.default && settings.default.drawer && @@ -346,25 +392,25 @@ export class PersonalSettings { return settings } - private async checkValues(settings: Partial): Promise> { - return await this.checkDrawerItems(settings) + private checkValues(settings: Partial): Partial { + return this.checkDrawerItems(settings) } - public async getLocalUserSettingsValue(): Promise> { + public getLocalUserSettingsValue(): Partial { try { const stored = JSON.parse((localStorage.getItem(`${settingsKey}`) as string) || '{}') - return await this.checkValues(stored) + return this.checkValues(stored) } catch { /** */ } return {} } - public effectiveValue = new ObservableValue(defaultSettings) + public userValue = new ObservableValue>(this.getLocalUserSettingsValue()) - public userValue = new ObservableValue>({}) + public effectiveValue = new ObservableValue(deepMerge(defaultSettings, this.userValue.getValue())) - public async setPersonalSettingsValue(settings: Partial) { + public setPersonalSettingsValue(settings: Partial) { this.userValue.setValue(settings) this.effectiveValue.setValue(deepMerge(defaultSettings, settings)) localStorage.setItem(`${settingsKey}`, JSON.stringify(settings)) diff --git a/apps/sensenet/src/services/RepositoryManager.ts b/apps/sensenet/src/services/RepositoryManager.ts index b9920a402..91811f812 100644 --- a/apps/sensenet/src/services/RepositoryManager.ts +++ b/apps/sensenet/src/services/RepositoryManager.ts @@ -1,22 +1,11 @@ import { Injectable, Injector } from '@furystack/inject' import { FormsAuthenticationService, LoginState, Repository } from '@sensenet/client-core' import { RepositoryConfiguration } from '@sensenet/client-core/dist/Repository/RepositoryConfiguration' -import { EventHub } from '@sensenet/repository-events' import { RequestCounterService } from './request-counter-service' @Injectable({ lifetime: 'singleton' }) export class RepositoryManager { private repos: Map = new Map() - private eventHubs: Map = new Map() - public getEventHub(repositoryUrl: string) { - const existing = this.eventHubs.get(repositoryUrl) - if (existing) { - return existing - } - const instance = new EventHub(this.getRepository(repositoryUrl)) - this.eventHubs.set(repositoryUrl, instance) - return instance - } public getRepository(repositoryUrl: string, config?: RepositoryConfiguration) { const existing = this.repos.get(repositoryUrl) if (existing) { diff --git a/apps/sensenet/src/services/request-counter-service.ts b/apps/sensenet/src/services/request-counter-service.ts index dbbcc1ed2..406162b9b 100644 --- a/apps/sensenet/src/services/request-counter-service.ts +++ b/apps/sensenet/src/services/request-counter-service.ts @@ -31,7 +31,7 @@ export class RequestCounterService implements IDisposable { sites: {}, } - private hasChanged: boolean = false + private hasChanged = false private currentState: RequestCounterRecord = { ...this.defaultState } diff --git a/apps/sensenet/src/sn-injector.ts b/apps/sensenet/src/sn-injector.ts new file mode 100644 index 000000000..41fb575b3 --- /dev/null +++ b/apps/sensenet/src/sn-injector.ts @@ -0,0 +1,7 @@ +import { Injector } from '@furystack/inject' +import { VerboseConsoleLogger } from '@furystack/logging' +import { EventLogger } from './services/EventLogger' + +export const snInjector = new Injector() +snInjector.options.owner = 'SnApp' +snInjector.useLogging(VerboseConsoleLogger, EventLogger) diff --git a/apps/sensenet/src/store/index.ts b/apps/sensenet/src/store/index.ts index 9d425ff74..47ed59257 100644 --- a/apps/sensenet/src/store/index.ts +++ b/apps/sensenet/src/store/index.ts @@ -1,7 +1,7 @@ import { commentsStateReducer, sensenetDocumentViewerReducer } from '@sensenet/document-viewer-react' import { applyMiddleware, combineReducers, compose, createStore } from 'redux' import { ReduxDiMiddleware } from 'redux-di-middleware' -import { snInjector } from '../context' +import { snInjector } from '../sn-injector' const composeEnhancers = (window as any).__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose diff --git a/apps/sensenet/src/utils/InjectorExtensions.ts b/apps/sensenet/src/utils/InjectorExtensions.ts index 585ec2381..eda95bf6f 100644 --- a/apps/sensenet/src/utils/InjectorExtensions.ts +++ b/apps/sensenet/src/utils/InjectorExtensions.ts @@ -1,7 +1,6 @@ import { Injector } from '@furystack/inject/dist/Injector' import { Repository } from '@sensenet/client-core' import { RepositoryConfiguration } from '@sensenet/client-core/dist/Repository/RepositoryConfiguration' -import { EventHub } from '@sensenet/repository-events' import { RepositoryManager } from '../services/RepositoryManager' declare module '@furystack/inject/dist/Injector' { @@ -10,7 +9,6 @@ declare module '@furystack/inject/dist/Injector' { */ interface Injector { getRepository: (url: string, config?: RepositoryConfiguration) => Repository - getEventHub: (url: string) => EventHub } } @@ -20,7 +18,3 @@ Injector.prototype.getRepository = function(url, config) { this.setExplicitInstance(repo) return repo } - -Injector.prototype.getEventHub = function(name) { - return this.getInstance(RepositoryManager).getEventHub(name) -} diff --git a/apps/sensenet/src/utils/isContentFromType.ts b/apps/sensenet/src/utils/isContentFromType.ts deleted file mode 100644 index cec11a67a..000000000 --- a/apps/sensenet/src/utils/isContentFromType.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { SchemaStore } from '@sensenet/client-core/dist/Schemas/SchemaStore' -import { GenericContent } from '@sensenet/default-content-types' - -export const isContentFromType = ( - content: GenericContent, - contentType: T, - schemaStore?: SchemaStore, -): content is InstanceType => { - if (content.Type === contentType.name) { - return true - } - - if (schemaStore) { - let currentSchema = schemaStore.getSchemaByName(content.Type) - do { - if (currentSchema.ContentTypeName === contentType.name) { - return true - } - currentSchema = schemaStore.getSchemaByName(currentSchema.ParentTypeName || '') - } while (currentSchema.ContentTypeName && currentSchema.ContentTypeName !== 'GenericContent') - } - return false -} - -export const schemaIsDescendantOf = (child: string, parent: string, schemaStore: SchemaStore) => { - let currentSchema = schemaStore.getSchemaByName(child) - do { - if (currentSchema.ContentTypeName === parent) { - return true - } - currentSchema = schemaStore.getSchemaByName(currentSchema.ParentTypeName || '') - } while (currentSchema.ContentTypeName && currentSchema.ContentTypeName !== 'GenericContent') -} diff --git a/apps/sensenet/src/utils/tuple.ts b/apps/sensenet/src/utils/tuple.ts deleted file mode 100644 index 60af98286..000000000 --- a/apps/sensenet/src/utils/tuple.ts +++ /dev/null @@ -1 +0,0 @@ -export const tuple = (...args: T) => args diff --git a/apps/sensenet/tsconfig.json b/apps/sensenet/tsconfig.json index 58c50e813..115f9d01b 100644 --- a/apps/sensenet/tsconfig.json +++ b/apps/sensenet/tsconfig.json @@ -19,6 +19,7 @@ { "path": "../../packages/sn-controls-react" }, { "path": "../../packages/sn-default-content-types" }, { "path": "../../packages/sn-document-viewer-react" }, + { "path": "../../packages/sn-hooks-react" }, { "path": "../../packages/sn-icons-react" }, { "path": "../../packages/sn-list-controls-react" }, { "path": "../../packages/sn-query" }, diff --git a/examples/sn-dms-demo/cypress/integration/typings.d.ts b/examples/sn-dms-demo/cypress/integration/typings.d.ts index dc69a4d44..cfae1fd05 100644 --- a/examples/sn-dms-demo/cypress/integration/typings.d.ts +++ b/examples/sn-dms-demo/cypress/integration/typings.d.ts @@ -1,6 +1,5 @@ import { Content, Repository, UploadFileOptions, UploadResponse } from '@sensenet/client-core' import { User } from '@sensenet/default-content-types' -import { Omit } from 'cypress/types/lodash' declare global { interface Window { diff --git a/examples/sn-dms-demo/package.json b/examples/sn-dms-demo/package.json index af1a0155d..61eb9115b 100644 --- a/examples/sn-dms-demo/package.json +++ b/examples/sn-dms-demo/package.json @@ -1,6 +1,6 @@ { "name": "sn-dms-demo", - "version": "1.5.2", + "version": "1.5.3", "description": "Document Management Demo upon sensenet", "private": true, "repository": { @@ -28,25 +28,25 @@ "fix:prettier": "prettier \"{,!(dist|temp|bundle)/**/}*.{ts,tsx}\" --write" }, "dependencies": { - "@material-ui/core": "^4.3.1", + "@material-ui/core": "^4.3.3", "@material-ui/icons": "^4.0.1", - "@sensenet/authentication-google": "^2.0.11", - "@sensenet/authentication-jwt": "^1.0.15", - "@sensenet/client-core": "^2.2.0", - "@sensenet/client-utils": "^1.6.4", - "@sensenet/controls-react": "^3.1.0", - "@sensenet/default-content-types": "^2.0.0", - "@sensenet/document-viewer-react": "^1.2.0", - "@sensenet/icons-react": "^1.2.12", - "@sensenet/list-controls-react": "^1.3.10", - "@sensenet/pickers-react": "^1.2.3", - "@sensenet/redux": "^5.1.12", - "@sensenet/repository-events": "^1.4.4", - "@sensenet/search-react": "^1.2.8", + "@sensenet/authentication-google": "^2.0.12", + "@sensenet/authentication-jwt": "^1.0.16", + "@sensenet/client-core": "^2.2.1", + "@sensenet/client-utils": "^1.6.5", + "@sensenet/controls-react": "^3.1.1", + "@sensenet/default-content-types": "^2.0.1", + "@sensenet/document-viewer-react": "^1.2.1", + "@sensenet/icons-react": "^1.2.13", + "@sensenet/list-controls-react": "^1.3.11", + "@sensenet/pickers-react": "^1.2.4", + "@sensenet/redux": "^5.1.13", + "@sensenet/repository-events": "^1.4.5", + "@sensenet/search-react": "^1.2.9", "autoprefixer": "^9.6.1", - "css-loader": "^3.1.0", - "dotenv": "^8.0.0", - "file-loader": "4.1.0", + "css-loader": "^3.2.0", + "dotenv": "^8.1.0", + "file-loader": "4.2.0", "fs-extra": "^8.1.0", "history": "^4.7.2", "html-webpack-plugin": "^3.2.0", @@ -56,12 +56,12 @@ "postcss-flexbugs-fixes": "4.1.0", "postcss-loader": "^3.0.0", "promise": "^8.0.3", - "react": "^16.8.4", + "react": "^16.9.0", "react-async-script": "^1.1.1", - "react-cookie-consent": "^2.3.2", + "react-cookie-consent": "^2.5.0", "react-custom-scrollbars": "^4.2.1", - "react-dom": "^16.8.4", - "react-google-recaptcha": "^1.1.0", + "react-dom": "^16.9.0", + "react-google-recaptcha": "^2.0.0-rc.1", "react-loadable": "^5.5.0", "react-markdown": "^4.0.8", "react-moment": "^0.9.2", @@ -75,22 +75,22 @@ "semaphore-async-await": "^1.5.1", "ts-keycode-enum": "^1.0.6", "typeface-roboto": "^0.0.75", - "uuid": "^3.3.2" + "uuid": "^3.3.3" }, "devDependencies": { "@cypress/webpack-preprocessor": "^4.0.3", - "@types/chance": "^1.0.5", - "@types/jest": "^24.0.16", + "@types/chance": "^1.0.6", + "@types/jest": "^24.0.18", "@types/lodash.groupby": "^4.6.6", - "@types/node": "^12.6.8", - "@types/react": "^16.8.23", - "@types/react-custom-scrollbars": "^4.0.5", - "@types/react-dom": "^16.8.5", + "@types/node": "^12.7.2", + "@types/react": "^16.9.2", + "@types/react-custom-scrollbars": "^4.0.6", + "@types/react-dom": "^16.9.0", "@types/react-google-recaptcha": "^1.1.0", "@types/react-loadable": "^5.4.2", - "@types/react-redux": "^7.1.1", + "@types/react-redux": "^7.1.2", "@types/react-responsive": "^3.0.2", - "@types/react-router-dom": "^4.3.3", + "@types/react-router-dom": "^4.3.5", "@types/redux-mock-store": "^1.0.1", "@types/uuid": "^3.4.5", "awesome-typescript-loader": "^5.2.1", @@ -102,14 +102,14 @@ "raw-loader": "^3.1.0", "redux-mock-store": "^1.5.3", "source-map-loader": "^0.2.4", - "style-loader": "^0.23.1", + "style-loader": "^1.0.0", "svg-url-loader": "^3.0.0", "uglify-es": "^3.3.9", - "uglifyjs-webpack-plugin": "^2.1.3", + "uglifyjs-webpack-plugin": "^2.2.0", "url-loader": "^2.1.0", - "webpack": "^4.38.0", + "webpack": "^4.39.2", "webpack-bundle-analyzer": "^3.4.1", - "webpack-cli": "^3.3.6", - "webpack-dev-server": "^3.4.1" + "webpack-cli": "^3.3.7", + "webpack-dev-server": "^3.8.0" } } diff --git a/examples/sn-dms-demo/src/Sensenet.tsx b/examples/sn-dms-demo/src/Sensenet.tsx index 978d95fb0..b360fda54 100644 --- a/examples/sn-dms-demo/src/Sensenet.tsx +++ b/examples/sn-dms-demo/src/Sensenet.tsx @@ -37,8 +37,8 @@ export interface SensenetProps { } class Sensenet extends React.Component & typeof mapDispatchToProps> { - public name: string = '' - public password: string = '' + public name = '' + public password = '' public render() { // if (this.props.loginState === LoginState.Pending diff --git a/examples/sn-dms-demo/src/ViewerSettings.ts b/examples/sn-dms-demo/src/ViewerSettings.ts index 8cf00bb29..75da95b42 100644 --- a/examples/sn-dms-demo/src/ViewerSettings.ts +++ b/examples/sn-dms-demo/src/ViewerSettings.ts @@ -38,6 +38,14 @@ const addGuidToShape = (shape: T) => { export const getViewerSettings = (repo: Repository) => new DocumentViewerSettings({ + regeneratePreviews: async documentData => { + repo.executeAction({ + idOrPath: documentData.idOrPath, + method: 'POST', + body: undefined, + name: 'RegeneratePreviews', + }) + }, saveChanges: async (documentData, pages) => { const reqBody = { Shapes: JSON.stringify([ diff --git a/examples/sn-dms-demo/src/__tests__/TestHelper.tsx b/examples/sn-dms-demo/src/__tests__/TestHelper.tsx index bbd5c1b58..481f87196 100644 --- a/examples/sn-dms-demo/src/__tests__/TestHelper.tsx +++ b/examples/sn-dms-demo/src/__tests__/TestHelper.tsx @@ -37,7 +37,6 @@ export const withStore = (component: JSX.Element, options?: Partial) return {component} diff --git a/examples/sn-dms-demo/src/components/Dialogs/EditPropertiesDialog.tsx b/examples/sn-dms-demo/src/components/Dialogs/EditPropertiesDialog.tsx index 7284dd89a..8fb425ae8 100644 --- a/examples/sn-dms-demo/src/components/Dialogs/EditPropertiesDialog.tsx +++ b/examples/sn-dms-demo/src/components/Dialogs/EditPropertiesDialog.tsx @@ -73,7 +73,6 @@ class EditPropertiesDialog extends React.Component< const schema = dmsInjector.getInstance(Repository).schemas.getSchemaByName(newProps.contentTypeName) const editableFields = schema.FieldSettings.filter(field => field.VisibleEdit).map(field => field.Name) editableFields.push('Icon') - // eslint-disable-next-line @typescript-eslint/no-object-literal-type-assertion const options = { select: editableFields, metadata: 'no', diff --git a/examples/sn-dms-demo/src/components/LoginTabs.tsx b/examples/sn-dms-demo/src/components/LoginTabs.tsx index 88e26a332..81afc5a94 100644 --- a/examples/sn-dms-demo/src/components/LoginTabs.tsx +++ b/examples/sn-dms-demo/src/components/LoginTabs.tsx @@ -70,4 +70,4 @@ export class LoginTabs extends React.Component & { clas } } -export default withRouter(withStyles(style, { withTheme: true })(LoginTabs)) +export default withRouter(withStyles(style, { withTheme: true })(LoginTabs)) diff --git a/examples/sn-dms-demo/src/components/SavedQueries.tsx b/examples/sn-dms-demo/src/components/SavedQueries.tsx index 45af83195..1ddf3e6df 100644 --- a/examples/sn-dms-demo/src/components/SavedQueries.tsx +++ b/examples/sn-dms-demo/src/components/SavedQueries.tsx @@ -79,6 +79,7 @@ class SavedQueries extends React.Component< IncludeBackUrl: 0, Index: 3, Url: '', + IsODataAction: false, }, ...(content.Actions as ActionModel[]).filter(a => a.Name === 'Rename' || a.Name === 'Delete'), ], @@ -108,6 +109,7 @@ class SavedQueries extends React.Component< IncludeBackUrl: 1, Index: 1, Url: '', + IsODataAction: false, }, ...(content.Actions as ActionModel[]).filter(a => a.Name === 'Rename' || a.Name === 'Delete'), ], diff --git a/examples/sn-dms-demo/src/store/picker/actions.ts b/examples/sn-dms-demo/src/store/picker/actions.ts index d1a216a90..da05b0817 100644 --- a/examples/sn-dms-demo/src/store/picker/actions.ts +++ b/examples/sn-dms-demo/src/store/picker/actions.ts @@ -2,7 +2,7 @@ import { GenericContent } from '@sensenet/default-content-types' export const openPicker = ( content: JSX.Element | React.Component | Element | null = null, - mode: string = 'move', + mode = 'move', onClose?: () => void, ) => ({ type: 'OPEN_PICKER', diff --git a/examples/sn-dms-demo/src/store/queries.ts b/examples/sn-dms-demo/src/store/queries.ts index 7773360d0..26408d8d5 100644 --- a/examples/sn-dms-demo/src/store/queries.ts +++ b/examples/sn-dms-demo/src/store/queries.ts @@ -49,7 +49,7 @@ export const saveQuery = createAction( }), ) -export const getQueries = createAction((idOrPath: string | number, queryType = 'Private', force: boolean = false) => ({ +export const getQueries = createAction((idOrPath: string | number, queryType = 'Private', force = false) => ({ type: 'SN_DMS_GET_QUERIES', inject: async (options: IInjectableActionCallbackParams) => { const state = options.getState() diff --git a/examples/sn-dms-demo/src/store/sharing.ts b/examples/sn-dms-demo/src/store/sharing.ts index 51e5008a2..1db33e28a 100644 --- a/examples/sn-dms-demo/src/store/sharing.ts +++ b/examples/sn-dms-demo/src/store/sharing.ts @@ -45,7 +45,7 @@ export const share = createAction( token: string, level: SharingEntry['Level'], mode: SharingEntry['Mode'], - sendNotification: boolean = false, + sendNotification = false, ) => ({ type: 'DMS_SHARE_CONTENT', inject: async (options: IInjectableActionCallbackParams) => { diff --git a/examples/sn-dms-demo/src/store/usersandgroups/actions.ts b/examples/sn-dms-demo/src/store/usersandgroups/actions.ts index 9532deffa..890d02b2f 100644 --- a/examples/sn-dms-demo/src/store/usersandgroups/actions.ts +++ b/examples/sn-dms-demo/src/store/usersandgroups/actions.ts @@ -90,7 +90,7 @@ export const setItems = (items: GenericContent[]) => ({ items, }) -export const isAdmin = (admin: boolean = false) => ({ +export const isAdmin = (admin = false) => ({ type: 'DMS_USER_ISADMIN', admin, }) diff --git a/examples/sn-react-component-docs/package.json b/examples/sn-react-component-docs/package.json index 1dae80aa1..dd577eab7 100644 --- a/examples/sn-react-component-docs/package.json +++ b/examples/sn-react-component-docs/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "sn-react-component-docs", - "version": "2.4.1", + "version": "2.4.2", "description": "UI components for building apps upon sensenet implemented in React", "main": "index.js", "scripts": { @@ -28,39 +28,38 @@ }, "homepage": "https://sensenet.com", "dependencies": { - "@sensenet/client-core": "^2.2.0", - "@sensenet/client-utils": "^1.6.4", - "@sensenet/controls-react": "^3.1.0", - "@sensenet/default-content-types": "^2.0.0", - "@sensenet/document-viewer-react": "^1.2.0", - "@sensenet/icons-react": "^1.2.12", - "@sensenet/list-controls-react": "^1.3.10", - "@sensenet/pickers-react": "^1.2.3", - "@sensenet/query": "^1.1.8", - "@sensenet/search-react": "^1.2.8", - "react": "^16.8.4", - "react-dom": "^16.8.4", + "@sensenet/client-core": "^2.2.1", + "@sensenet/client-utils": "^1.6.5", + "@sensenet/controls-react": "^3.1.1", + "@sensenet/default-content-types": "^2.0.1", + "@sensenet/document-viewer-react": "^1.2.1", + "@sensenet/icons-react": "^1.2.13", + "@sensenet/list-controls-react": "^1.3.11", + "@sensenet/pickers-react": "^1.2.4", + "@sensenet/query": "^1.1.9", + "@sensenet/search-react": "^1.2.9", + "react": "^16.9.0", + "react-dom": "^16.9.0", "react-redux": "^7.0.3", "redux": "^4.0.4" }, "devDependencies": { "@babel/core": "^7.5.5", - "@storybook/addon-a11y": "^5.0.11", - "@storybook/addon-actions": "^5.0.11", - "@storybook/addon-events": "^5.0.11", - "@storybook/addon-info": "^5.0.11", - "@storybook/addon-knobs": "^5.0.11", - "@storybook/addon-links": "^5.0.11", - "@storybook/addon-notes": "^5.0.11", - "@storybook/addon-options": "^5.0.11", - "@storybook/addon-storysource": "^5.0.11", - "@storybook/addon-viewport": "^5.0.11", - "@storybook/addons": "^5.0.11", - "@storybook/react": "^5.0.11", - "@types/node": "^12.6.8", - "@types/react": "^16.8.23", - "@types/react-redux": "^7.1.1", - "@types/storybook__addon-a11y": "^5.0.0", + "@storybook/addon-a11y": "^5.1.11", + "@storybook/addon-actions": "^5.1.11", + "@storybook/addon-events": "^5.1.11", + "@storybook/addon-info": "^5.1.11", + "@storybook/addon-knobs": "^5.1.11", + "@storybook/addon-links": "^5.1.11", + "@storybook/addon-notes": "^5.1.11", + "@storybook/addon-options": "^5.1.11", + "@storybook/addon-storysource": "^5.1.11", + "@storybook/addon-viewport": "^5.1.11", + "@storybook/addons": "^5.1.11", + "@storybook/react": "^5.1.11", + "@types/node": "^12.7.2", + "@types/react": "^16.9.2", + "@types/react-redux": "^7.1.2", "@types/storybook__addon-actions": "^3.4.2", "@types/storybook__addon-info": "^4.1.0", "@types/storybook__addon-options": "^4.0.1", @@ -68,10 +67,10 @@ "@types/storybook__react": "^4.0.1", "@types/uuid": "^3.4.5", "babel-loader": "^8.0.6", - "babel-preset-react-app": "^9.0.0", - "react-docgen-typescript-loader": "^3.0.1", + "babel-preset-react-app": "^9.0.1", + "react-docgen-typescript-loader": "^3.1.1", "ts-config-webpack-plugin": "^1.4.0", - "uuid": "^3.3.2", - "webpack": "^4.38.0" + "uuid": "^3.3.3", + "webpack": "^4.39.2" } } diff --git a/examples/sn-react-component-docs/stories/viewer/ExampleAppLayout.tsx b/examples/sn-react-component-docs/stories/viewer/ExampleAppLayout.tsx index d842ee835..073ea8365 100644 --- a/examples/sn-react-component-docs/stories/viewer/ExampleAppLayout.tsx +++ b/examples/sn-react-component-docs/stories/viewer/ExampleAppLayout.tsx @@ -95,6 +95,15 @@ const mapDispatchToProps = {} * Settings object for the Document Viewer Example component */ export const exampleSettings = new DocumentViewerSettings({ + regeneratePreviews: async documentData => { + await fetch( + `${documentData.hostName}/odata.svc/${PathHelper.getContentUrl(documentData.idOrPath)}/RegeneratePreviews`, + { + method: 'POST', + credentials: 'include', + }, + ) + }, commentActions: { addPreviewComment: async (documentData, comment) => { const response = await fetch( diff --git a/examples/sn-react-redux-todo-app/package.json b/examples/sn-react-redux-todo-app/package.json index b69e5087f..4d76cd31a 100644 --- a/examples/sn-react-redux-todo-app/package.json +++ b/examples/sn-react-redux-todo-app/package.json @@ -1,6 +1,6 @@ { "name": "sn-react-redux-todo-app", - "version": "2.0.10", + "version": "2.0.11", "description": "Todo app with React and Redux built upon Sense/Net ECM", "main": "index.tsx", "private": true, @@ -30,31 +30,31 @@ } }, "dependencies": { - "@material-ui/core": "^4.3.1", + "@material-ui/core": "^4.3.3", "@material-ui/icons": "^4.0.1", - "@sensenet/authentication-google": "^2.0.11", - "@sensenet/client-core": "^2.2.0", - "@sensenet/controls-react": "^3.1.0", - "@sensenet/redux": "^5.1.12", + "@sensenet/authentication-google": "^2.0.12", + "@sensenet/client-core": "^2.2.1", + "@sensenet/controls-react": "^3.1.1", + "@sensenet/redux": "^5.1.13", "material-ui-pickers": "^2.0.4", - "react": "^16.8.4", - "react-dom": "^16.8.4", + "react": "^16.9.0", + "react-dom": "^16.9.0", "react-quill": "^1.3.3", "react-router-redux": "^4.0.8", "redux": "^4.0.4", "redux-di-middleware": "^4.0.1" }, "devDependencies": { - "@types/react": "^16.8.23", - "@types/react-dom": "^16.8.5", - "@types/react-redux": "^7.1.1", - "@types/react-router-dom": "^4.3.3", + "@types/react": "^16.9.2", + "@types/react-dom": "^16.9.0", + "@types/react-redux": "^7.1.2", + "@types/react-router-dom": "^4.3.5", "@types/redux-logger": "^3.0.6", "awesome-typescript-loader": "^5.2.1", "copy-webpack-plugin": "^5.0.4", "source-map-loader": "^0.2.4", - "webpack": "^4.38.0", - "webpack-cli": "^3.3.6", - "webpack-dev-server": "^3.4.1" + "webpack": "^4.39.2", + "webpack-cli": "^3.3.7", + "webpack-dev-server": "^3.8.0" } } diff --git a/package.json b/package.json index 2a448041c..f06ba3508 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "private": true, - "version": "2019.8.0", + "version": "2019.9.0", "workspaces": [ "packages/*", "examples/*", @@ -13,28 +13,28 @@ }, "devDependencies": { "@types/enzyme": "^3.10.3", - "@types/jest": "^24.0.16", - "@typescript-eslint/eslint-plugin": "^1.13.0", - "@typescript-eslint/parser": "^1.13.0", + "@types/jest": "^24.0.18", + "@typescript-eslint/eslint-plugin": "^2.0.0", + "@typescript-eslint/parser": "^2.0.0", "cz-conventional-changelog": "^3.0.2", "enzyme": "^3.9.0", "enzyme-adapter-react-16": "^1.13.2", - "enzyme-to-json": "^3.3.5", - "eslint": "^6.1.0", - "eslint-config-prettier": "^6.0.0", - "eslint-plugin-cypress": "^2.6.0", + "enzyme-to-json": "^3.4.0", + "eslint": "^6.2.1", + "eslint-config-prettier": "^6.1.0", + "eslint-plugin-cypress": "^2.6.1", "eslint-plugin-import": "^2.18.2", - "eslint-plugin-jsdoc": "^15.8.0", + "eslint-plugin-jsdoc": "^15.8.3", "eslint-plugin-prettier": "^3.1.0", "eslint-plugin-react": "^7.14.3", - "eslint-plugin-react-hooks": "^1.6.0", - "husky": "^3.0.2", - "jest": "^24.8.0", + "eslint-plugin-react-hooks": "^2.0.1", + "husky": "^3.0.4", + "jest": "^24.9.0", "lerna": "^3.16.4", - "lint-staged": "^9.2.1", + "lint-staged": "^9.2.3", "prettier": "^1.17.1", - "rimraf": "^2.6.3", - "start-server-and-test": "^1.9.1", + "rimraf": "^3.0.0", + "start-server-and-test": "^1.10.0", "ts-jest": "^24.0.2", "tslib": "^1.9.3", "typescript": "^3.5.3", @@ -85,6 +85,7 @@ "/packages/sn-redux", "/packages/sn-repository-events", "/packages/sn-document-viewer-react", + "/packages/sn-hooks-react", "/packages/sn-list-controls-react", "/packages/sn-query", "/packages/sn-search-react", diff --git a/packages/sn-authentication-jwt/package.json b/packages/sn-authentication-jwt/package.json index 236bd2579..949ad5929 100644 --- a/packages/sn-authentication-jwt/package.json +++ b/packages/sn-authentication-jwt/package.json @@ -1,6 +1,6 @@ { "name": "@sensenet/authentication-jwt", - "version": "1.0.15", + "version": "1.0.16", "description": "JWT Authentication service for sensenet", "main": "dist/index.js", "typings": "./dist/index.d.ts", @@ -34,12 +34,12 @@ }, "homepage": "https://sensenet.com", "dependencies": { - "@sensenet/client-core": "^2.2.0", - "@sensenet/client-utils": "^1.6.4", - "@sensenet/default-content-types": "^2.0.0", + "@sensenet/client-core": "^2.2.1", + "@sensenet/client-utils": "^1.6.5", + "@sensenet/default-content-types": "^2.0.1", "semaphore-async-await": "^1.5.1" }, "devDependencies": { - "@types/node": "^12.6.8" + "@types/node": "^12.7.2" } } diff --git a/packages/sn-authentication-jwt/src/Token.ts b/packages/sn-authentication-jwt/src/Token.ts index d213b2aca..ae4377976 100644 --- a/packages/sn-authentication-jwt/src/Token.ts +++ b/packages/sn-authentication-jwt/src/Token.ts @@ -57,7 +57,7 @@ export class Token { /** * Indicates if the Token is valid based on it's ExpirationTime and NotBefore values. */ - public IsValid(excludeNotBefore: boolean = false): boolean { + public IsValid(excludeNotBefore = false): boolean { const now = new Date() return this._tokenPayload && this.ExpirationTime > now && (excludeNotBefore || this.NotBefore < now) } diff --git a/packages/sn-authentication-jwt/test/__Mocks__/MockTokenFactory.ts b/packages/sn-authentication-jwt/test/__Mocks__/MockTokenFactory.ts index 932c6e227..510c5095d 100644 --- a/packages/sn-authentication-jwt/test/__Mocks__/MockTokenFactory.ts +++ b/packages/sn-authentication-jwt/test/__Mocks__/MockTokenFactory.ts @@ -2,7 +2,7 @@ import { Token } from '../../src/Token' import { TokenPayload } from '../../src/TokenPayload' export class MockTokenFactory { - private static getStillValidDate(addMs: number = 30000000) { + private static getStillValidDate(addMs = 30000000) { const date = new Date() date.setTime(date.getTime() + addMs) return date.getTime() / 1000 diff --git a/packages/sn-client-auth-google/package.json b/packages/sn-client-auth-google/package.json index 1cd9fc675..a9121f0ba 100644 --- a/packages/sn-client-auth-google/package.json +++ b/packages/sn-client-auth-google/package.json @@ -1,6 +1,6 @@ { "name": "@sensenet/authentication-google", - "version": "2.0.11", + "version": "2.0.12", "description": "Client-side Google authentication provider for sensenet", "main": "dist/index.js", "typings": "./dist/index.d.ts", @@ -36,8 +36,8 @@ }, "homepage": "https://sensenet.com", "dependencies": { - "@sensenet/authentication-jwt": "^1.0.15", - "@sensenet/client-utils": "^1.6.4" + "@sensenet/authentication-jwt": "^1.0.16", + "@sensenet/client-utils": "^1.6.5" }, "devDependencies": { "@types/jsdom": "^12.2.4", diff --git a/packages/sn-client-core/package.json b/packages/sn-client-core/package.json index 4dc1a444f..f4d2d18d2 100644 --- a/packages/sn-client-core/package.json +++ b/packages/sn-client-core/package.json @@ -1,6 +1,6 @@ { "name": "@sensenet/client-core", - "version": "2.2.0", + "version": "2.2.1", "description": "Core Client package for sensenet", "main": "./dist/index.js", "typings": "./dist/index.d.ts", @@ -26,11 +26,11 @@ "license": "GPL-2.0", "homepage": "https://sensenet.com", "dependencies": { - "@sensenet/client-utils": "^1.6.4", - "@sensenet/default-content-types": "^2.0.0", - "@sensenet/query": "^1.1.8", + "@sensenet/client-utils": "^1.6.5", + "@sensenet/default-content-types": "^2.0.1", + "@sensenet/query": "^1.1.9", "semaphore-async-await": "^1.5.1", - "uuid": "^3.3.2" + "uuid": "^3.3.3" }, "devDependencies": { "@types/uuid": "^3.4.5" diff --git a/packages/sn-client-core/src/Models/MetadataAction.ts b/packages/sn-client-core/src/Models/MetadataAction.ts index 5cd66b469..5f4b6f3c5 100644 --- a/packages/sn-client-core/src/Models/MetadataAction.ts +++ b/packages/sn-client-core/src/Models/MetadataAction.ts @@ -11,4 +11,5 @@ export interface MetadataAction { type: string required: boolean }> + isODataAction: boolean } diff --git a/packages/sn-client-core/src/Repository/Repository.ts b/packages/sn-client-core/src/Repository/Repository.ts index 39ea13d41..01a547fa6 100644 --- a/packages/sn-client-core/src/Repository/Repository.ts +++ b/packages/sn-client-core/src/Repository/Repository.ts @@ -81,7 +81,7 @@ export class Repository implements Disposable { * @param {RequestInfo} input The RequestInfo object * @param {RequestInit} init Optional init parameters */ - public async fetch(info: RequestInfo, init?: RequestInit, awaitReadyState: boolean = true): Promise { + public async fetch(info: RequestInfo, init?: RequestInit, awaitReadyState = true): Promise { if (awaitReadyState) { await this.awaitReadyState() } @@ -392,7 +392,7 @@ export class Repository implements Disposable { this.configuration.repositoryUrl, this.configuration.oDataToken, contextPath, - 'GetAllowedChildTypesFromCTD', + 'EffectiveAllowedChildTypes', ) const response = await this.fetch(`${path}?${params}`, { credentials: 'include', diff --git a/packages/sn-client-core/src/Repository/RepositoryConfiguration.ts b/packages/sn-client-core/src/Repository/RepositoryConfiguration.ts index 5f490e0cf..d9a516340 100644 --- a/packages/sn-client-core/src/Repository/RepositoryConfiguration.ts +++ b/packages/sn-client-core/src/Repository/RepositoryConfiguration.ts @@ -65,12 +65,12 @@ export class RepositoryConfiguration { /** * This field sets up a default OData $top parameter */ - public defaultTop: number = 10000 + public defaultTop = 10000 /** * Chunk size for chunked uploads, must be equal to BinaryChunkSize setting at the backend */ - public chunkSize: number = 10485760 // 10 mb + public chunkSize = 10485760 // 10 mb /** * An array of schemas diff --git a/packages/sn-client-core/src/Repository/Upload.ts b/packages/sn-client-core/src/Repository/Upload.ts index 79347e73e..f12043b0a 100644 --- a/packages/sn-client-core/src/Repository/Upload.ts +++ b/packages/sn-client-core/src/Repository/Upload.ts @@ -262,7 +262,7 @@ export class Upload { directory: WebKitDirectoryEntry, contentPath: string, options: UploadOptions, - readEntries: boolean = true, + readEntries = true, ) { const folder = await this.repository.post({ content: { @@ -345,7 +345,6 @@ export class Upload { const pathToCreate = PathHelper.joinPaths(currentPath, segment) if (!createdDirectories.has(pathToCreate)) { await this.webkitDirectoryHandler( - // eslint-disable-next-line @typescript-eslint/no-object-literal-type-assertion { name: segment } as WebKitDirectoryEntry, currentPath, options as UploadOptions, diff --git a/packages/sn-client-core/src/Repository/Versioning.ts b/packages/sn-client-core/src/Repository/Versioning.ts index 63842afa3..fc9105d51 100644 --- a/packages/sn-client-core/src/Repository/Versioning.ts +++ b/packages/sn-client-core/src/Repository/Versioning.ts @@ -50,7 +50,7 @@ export class Versioning { */ public checkIn( idOrPath: number | string, - checkInComments: string = '', + checkInComments = '', oDataOptions?: ODataParams, ) { return this.repository.executeAction<{ checkInComments: string }, ODataResponse>({ @@ -120,7 +120,7 @@ export class Versioning { */ public reject( idOrPath: number | string, - rejectReason: string = '', + rejectReason = '', oDataOptions?: ODataParams, ) { return this.repository.executeAction<{ rejectReason: string }, ODataResponse>({ @@ -158,7 +158,7 @@ export class Versioning { */ public restoreVersion( idOrPath: number | string, - version: string = '', + version = '', oDataOptions?: ODataParams, ) { return this.repository.executeAction<{ version: string }, ODataResponse>({ diff --git a/packages/sn-client-core/src/Schemas/SchemaStore.ts b/packages/sn-client-core/src/Schemas/SchemaStore.ts index 597b8ac1d..db16dfed4 100644 --- a/packages/sn-client-core/src/Schemas/SchemaStore.ts +++ b/packages/sn-client-core/src/Schemas/SchemaStore.ts @@ -40,7 +40,6 @@ export class SchemaStore { const keys = new Set([...currentFieldSettingsMap.keys(), ...parentFieldSettingsMap.keys()]) return Array.from(keys).map(key => { - // eslint-disable-next-line @typescript-eslint/no-object-literal-type-assertion return { ...parentFieldSettingsMap.get(key), ...currentFieldSettingsMap.get(key), @@ -69,4 +68,44 @@ export class SchemaStore { this.byNameSchemaCache.set(contentTypeName, schema) return Object.assign({}, schema) } + + /** + * Returns a boolean value that indicates if the specified content is an instance or descendant of a given content constructor + * @param content The given content to check + * @param contentType The content type constructor + */ + public isContentFromType( + content: GenericContent, + contentType: T, + ): content is InstanceType { + if (content.Type === contentType.name) { + return true + } + + let currentSchema = this.getSchemaByName(content.Type) + do { + if (currentSchema.ContentTypeName === contentType.name) { + return true + } + currentSchema = this.getSchemaByName(currentSchema.ParentTypeName || '') + } while (currentSchema.ContentTypeName && currentSchema.ContentTypeName !== GenericContent.name) + return contentType.name === GenericContent.name + } + + /** + * Returns if a given content type is a descendant of an another content type + * @param child The child content name + * @param parent The parent content name + */ + public schemaIsDescendantOf(child: string, parent: string) { + let currentSchema = this.getSchemaByName(child) + do { + if (currentSchema.ContentTypeName === parent) { + return true + } + currentSchema = this.getSchemaByName(currentSchema.ParentTypeName || '') + } while (currentSchema.ContentTypeName && currentSchema.ContentTypeName !== GenericContent.name) + + return parent === GenericContent.name + } } diff --git a/packages/sn-client-core/test/RepositoryTests.ts b/packages/sn-client-core/test/RepositoryTests.ts index 3b32bcfee..7fad277a2 100644 --- a/packages/sn-client-core/test/RepositoryTests.ts +++ b/packages/sn-client-core/test/RepositoryTests.ts @@ -532,30 +532,27 @@ describe('Repository', () => { }) it('Load', async () => { - const user = await repository.load({ + await repository.load({ idOrPath: '/Root/IMS/BuiltIn/Portal/Visitor', // you can also load by content Id oDataOptions: { expand: ['CreatedBy'], select: 'all', }, }) - console.log(user) // {d: { /*(...retrieved user data)*/ }} }) it('Load collection', async () => { - const portalUsers = await repository.loadCollection({ + await repository.loadCollection({ path: '/Root/IMS/BuiltIn/Portal', oDataOptions: { query: 'TypeIs:User', orderby: ['LoginName'], }, }) - console.log('Count: ', portalUsers.d.__count) - console.log('Users: ', portalUsers.d.results) }) it('POST/PATCH/PUT', async () => { - const createdUser = await repository.post({ + await repository.post({ parentPath: 'Root/Parent', contentType: 'User', content: { @@ -563,33 +560,27 @@ describe('Repository', () => { /** ...additional content data */ }, }) - console.log(createdUser) // {d: { /*(...created user data)*/ }} // you can use PUT in the similar way - const lockedUser = await repository.patch({ + await repository.patch({ idOrPath: 'Root/Path/To/User', content: { Locked: true, }, }) - console.log(lockedUser) // {d: { /*(...locked user data)*/ }} }) it('Batch operations', async () => { // you can use move in the similar way - const copyResult = await repository.copy({ + await repository.copy({ idOrPath: [45, 'Root/Path/To/Content'], targetPath: 'Root/Target/Path', }) - console.log('Success: ', copyResult.d.results) - console.log('Errors: ', copyResult.d.errors) - const deleteResult = await repository.delete({ + await repository.delete({ idOrPath: 'Root/Path/To/Content/To/Delete', permanent: true, }) - console.log('Success: ', deleteResult.d.results) - console.log('Errors: ', deleteResult.d.errors) }) it('Custom action', async () => { @@ -601,7 +592,7 @@ describe('Repository', () => { Result: any } - const actionResult = await repository.executeAction({ + await repository.executeAction({ idOrPath: 'Path/to/content', method: 'POST', name: 'MyOdataCustomAction', @@ -610,7 +601,6 @@ describe('Repository', () => { Value: 'Bar', }, }) - console.log(actionResult.Result) }) }) diff --git a/packages/sn-client-core/test/SchemaStoreTests.ts b/packages/sn-client-core/test/SchemaStoreTests.ts index edc1fa2a7..c016f91b8 100644 --- a/packages/sn-client-core/test/SchemaStoreTests.ts +++ b/packages/sn-client-core/test/SchemaStoreTests.ts @@ -1,4 +1,14 @@ -import { SchemaStore as DefaultSchemaStore, Schema, User } from '@sensenet/default-content-types' +import { + ContentType, + SchemaStore as DefaultSchemaStore, + GenericContent, + Group, + Image, + Schema, + File as SnFile, + User, + UserProfile, +} from '@sensenet/default-content-types' import 'jest' import { SchemaStore } from '../src/Schemas/SchemaStore' @@ -66,4 +76,44 @@ describe('SchemaStore', () => { { Name: 'ParentField', Type: 'Example', FieldClassName: 'Example' }, ]) }) + + describe('schemaIsDescendantOf', () => { + it('Should be return true for descendants', () => { + const store = new SchemaStore() + store.setSchemas(DefaultSchemaStore) + expect(store.schemaIsDescendantOf(SnFile.name, GenericContent.name)).toBeTruthy() + expect(store.schemaIsDescendantOf(SnFile.name, SnFile.name)).toBeTruthy() + expect(store.schemaIsDescendantOf(Image.name, File.name)).toBeTruthy() + expect(store.schemaIsDescendantOf(Image.name, GenericContent.name)).toBeTruthy() + expect(store.schemaIsDescendantOf(UserProfile.name, GenericContent.name)).toBeTruthy() + }) + + it('Should return false for non-descendants values', () => { + const store = new SchemaStore() + store.setSchemas(DefaultSchemaStore) + expect(store.schemaIsDescendantOf(File.name, Image.name)).toBeFalsy() + expect(store.schemaIsDescendantOf(GenericContent.name, ContentType.name)).toBeFalsy() + expect(store.schemaIsDescendantOf(UserProfile.name, Group.name)).toBeFalsy() + }) + }) + + describe('isContentFromType', () => { + it('Should be return true for descendants', () => { + const store = new SchemaStore() + store.setSchemas(DefaultSchemaStore) + expect(store.isContentFromType({ Type: SnFile.name } as GenericContent, SnFile)).toBeTruthy() + expect(store.isContentFromType({ Type: SnFile.name } as GenericContent, GenericContent)).toBeTruthy() + expect(store.isContentFromType({ Type: Image.name } as GenericContent, SnFile)).toBeTruthy() + expect(store.isContentFromType({ Type: Image.name } as GenericContent, GenericContent)).toBeTruthy() + expect(store.isContentFromType({ Type: UserProfile.name } as GenericContent, GenericContent)).toBeTruthy() + }) + + it('Should return false for non-descendants values', () => { + const store = new SchemaStore() + store.setSchemas(DefaultSchemaStore) + expect(store.isContentFromType({ Type: File.name } as GenericContent, Image)).toBeFalsy() + expect(store.isContentFromType({ Type: GenericContent.name } as GenericContent, ContentType)).toBeFalsy() + expect(store.isContentFromType({ Type: UserProfile.name } as GenericContent, Group)).toBeFalsy() + }) + }) }) diff --git a/packages/sn-client-core/test/UploadTests.ts b/packages/sn-client-core/test/UploadTests.ts index e617e6904..8f8d092f4 100644 --- a/packages/sn-client-core/test/UploadTests.ts +++ b/packages/sn-client-core/test/UploadTests.ts @@ -5,8 +5,8 @@ import { Repository } from '../src/Repository/Repository' declare const global: any global.File = class { - public size: number = 1024 - public namme: string = 'file.txt' + public size = 1024 + public namme = 'file.txt' public slice() { return '' } diff --git a/packages/sn-client-utils/package.json b/packages/sn-client-utils/package.json index f0113716a..aeae2ed20 100644 --- a/packages/sn-client-utils/package.json +++ b/packages/sn-client-utils/package.json @@ -1,6 +1,6 @@ { "name": "@sensenet/client-utils", - "version": "1.6.4", + "version": "1.6.5", "description": "General sensenet ECM independent client side utilities", "main": "dist/index.js", "typings": "./dist/index.d.ts", diff --git a/packages/sn-client-utils/src/Debounce.ts b/packages/sn-client-utils/src/Debounce.ts index 66a749320..9be34bea8 100644 --- a/packages/sn-client-utils/src/Debounce.ts +++ b/packages/sn-client-utils/src/Debounce.ts @@ -3,10 +3,7 @@ * @param method The method that should be debounced * @param debounceMs The timeout in millisecs */ -export const debounce = ( - method: (...args: TArgs) => TReturns, - debounceMs: number = 250, -) => { +export const debounce = (method: (...args: TArgs) => TReturns, debounceMs = 250) => { let timeout: any return ((...args: TArgs) => { if (timeout) { diff --git a/packages/sn-client-utils/src/FilterAsync.ts b/packages/sn-client-utils/src/FilterAsync.ts index 5a22b68e8..8372007bd 100644 --- a/packages/sn-client-utils/src/FilterAsync.ts +++ b/packages/sn-client-utils/src/FilterAsync.ts @@ -20,7 +20,7 @@ declare global { /** * Returns a promise with a new array of elements that meets the specified async callback */ - filterAsync: (callbackFn: (entry: T) => Promise) => T[] + filterAsync: (callbackFn: (entry: T) => Promise) => Promise } } ;(Array.prototype as any).filterAsync = function(callbackFn: (entry: any) => Promise) { diff --git a/packages/sn-client-utils/src/ObservableValue.ts b/packages/sn-client-utils/src/ObservableValue.ts index 21404fdb7..9e17c2ccb 100644 --- a/packages/sn-client-utils/src/ObservableValue.ts +++ b/packages/sn-client-utils/src/ObservableValue.ts @@ -43,7 +43,7 @@ export class ObservableValue implements Disposable { * @param {boolean} getLast Will call the callback with the last known value right after subscription * @returns {ValueObserver} The ValueObserver instance */ - public subscribe(callback: ValueChangeCallback, getLast: boolean = false): ValueObserver { + public subscribe(callback: ValueChangeCallback, getLast = false): ValueObserver { const observer = new ValueObserver(this, callback) this.observers.add(observer) if (getLast) { diff --git a/packages/sn-client-utils/src/Retrier.ts b/packages/sn-client-utils/src/Retrier.ts index c03b3acae..75645b3ab 100644 --- a/packages/sn-client-utils/src/Retrier.ts +++ b/packages/sn-client-utils/src/Retrier.ts @@ -22,7 +22,7 @@ import { RetrierOptions } from './RetrierOptions' * ``` */ export class Retrier { - private isRunning: boolean = false + private isRunning = false /** * Factory method for creating a Retrier diff --git a/packages/sn-client-utils/src/SleepAsync.ts b/packages/sn-client-utils/src/SleepAsync.ts index 4ed7f4b2b..3cc972708 100644 --- a/packages/sn-client-utils/src/SleepAsync.ts +++ b/packages/sn-client-utils/src/SleepAsync.ts @@ -2,7 +2,7 @@ * Returns a simple promise that will be resolved within a discrete timeout * @param timeout The timeout in millisecs */ -export const sleepAsync = (timeout: number = 250) => +export const sleepAsync = (timeout = 250) => new Promise(resolve => setTimeout(() => { resolve() diff --git a/packages/sn-client-utils/src/Tuple.ts b/packages/sn-client-utils/src/Tuple.ts new file mode 100644 index 000000000..a7813fe47 --- /dev/null +++ b/packages/sn-client-utils/src/Tuple.ts @@ -0,0 +1,5 @@ +/** + * Factory method for creating a Tuple instance. + * @param args + */ +export const tuple = (...args: T) => args diff --git a/packages/sn-client-utils/src/index.ts b/packages/sn-client-utils/src/index.ts index bc06427cf..e9949ae83 100644 --- a/packages/sn-client-utils/src/index.ts +++ b/packages/sn-client-utils/src/index.ts @@ -9,3 +9,4 @@ export { PathHelper } from './PathHelper' export { sleepAsync } from './SleepAsync' export { Trace } from './Trace' export { toNumber } from './ToNumber' +export { tuple } from './Tuple' diff --git a/packages/sn-client-utils/test/TupleTests.ts b/packages/sn-client-utils/test/TupleTests.ts new file mode 100644 index 000000000..f909d5a4a --- /dev/null +++ b/packages/sn-client-utils/test/TupleTests.ts @@ -0,0 +1,7 @@ +import { tuple } from '../src/Tuple' + +describe('Tuple', () => { + it('Should return a Tuple object', () => { + expect(tuple('a', 'b', 'c')).toEqual(['a', 'b', 'c']) + }) +}) diff --git a/packages/sn-client-utils/test/__Mocks__/MockDisposable.ts b/packages/sn-client-utils/test/__Mocks__/MockDisposable.ts index d66f727bd..a937e3332 100644 --- a/packages/sn-client-utils/test/__Mocks__/MockDisposable.ts +++ b/packages/sn-client-utils/test/__Mocks__/MockDisposable.ts @@ -4,7 +4,7 @@ import { Disposable } from '../../src/Disposable' * Defines a Mock Disposable class */ export class MockDisposable implements Disposable { - private disposed: boolean = false + private disposed = false /** * Returns if the Disposable is already disposed */ diff --git a/packages/sn-control-mapper/package.json b/packages/sn-control-mapper/package.json index 3233496ff..162edbed2 100644 --- a/packages/sn-control-mapper/package.json +++ b/packages/sn-control-mapper/package.json @@ -1,6 +1,6 @@ { "name": "@sensenet/control-mapper", - "version": "2.0.1", + "version": "2.0.2", "description": "Control mapping utility for sensenet", "main": "dist/index.js", "typings": "./dist/index.d.ts", @@ -34,7 +34,7 @@ }, "homepage": "https://sensenet.com", "dependencies": { - "@sensenet/client-core": "^2.2.0", - "@sensenet/default-content-types": "^2.0.0" + "@sensenet/client-core": "^2.2.1", + "@sensenet/default-content-types": "^2.0.1" } } diff --git a/packages/sn-controls-react/package.json b/packages/sn-controls-react/package.json index a1dc03132..e6313adce 100644 --- a/packages/sn-controls-react/package.json +++ b/packages/sn-controls-react/package.json @@ -1,6 +1,6 @@ { "name": "@sensenet/controls-react", - "version": "3.1.0", + "version": "3.1.1", "description": "React controls for sensenet", "main": "dist/index.js", "typings": "./dist/index.d.ts", @@ -33,26 +33,26 @@ "dependencies": { "@date-io/core": "^1.3.9", "@date-io/moment": "^1.3.9", - "@material-ui/core": "^4.3.1", - "@material-ui/pickers": "^3.2.2", - "@sensenet/client-core": "^2.2.0", - "@sensenet/control-mapper": "^2.0.1", - "@sensenet/pickers-react": "^1.2.3", - "@sensenet/search-react": "^1.2.8", + "@material-ui/core": "^4.3.3", + "@material-ui/pickers": "^3.2.3", + "@sensenet/client-core": "^2.2.1", + "@sensenet/control-mapper": "^2.0.2", + "@sensenet/pickers-react": "^1.2.4", + "@sensenet/search-react": "^1.2.9", "moment": "^2.24.0", "react-color": "^2.17.3", "react-quill": "^1.3.1", "react-responsive": "^7.0.0" }, "devDependencies": { - "@types/node": "^12.6.8", - "@types/react": "^16.8.23", + "@types/node": "^12.7.2", + "@types/react": "^16.9.2", "@types/react-color": "^3.0.0", - "@types/react-dom": "^16.8.5", + "@types/react-dom": "^16.9.0", "@types/react-responsive": "^3.0.2", "prop-types": "^15.7.2", - "react": "^16.8.4", - "react-dom": "^16.8.4" + "react": "^16.9.0", + "react-dom": "^16.9.0" }, "publishConfig": { "access": "public" diff --git a/packages/sn-controls-react/src/fieldcontrols/AllowedChildTypes.tsx b/packages/sn-controls-react/src/fieldcontrols/AllowedChildTypes.tsx index edb952f4a..33fa1e639 100644 --- a/packages/sn-controls-react/src/fieldcontrols/AllowedChildTypes.tsx +++ b/packages/sn-controls-react/src/fieldcontrols/AllowedChildTypes.tsx @@ -127,7 +127,7 @@ export class AllowedChildTypes extends Component { this.state = { content: this.props.content, schema: controlMapper.getFullSchemaForContentType(this.props.content.Type, 'edit'), - // eslint-disable-next-line @typescript-eslint/no-object-literal-type-assertion saveableContent: {} as ContentType, controlMapper, } diff --git a/packages/sn-controls-react/test/TimePicker.test.tsx b/packages/sn-controls-react/test/TimePicker.test.tsx index 866847c2f..88a1e5622 100644 --- a/packages/sn-controls-react/test/TimePicker.test.tsx +++ b/packages/sn-controls-react/test/TimePicker.test.tsx @@ -62,7 +62,7 @@ describe('Time picker field control', () => { it('should call on change when input changes', () => { const fieldOnChange = jest.fn() const wrapper = shallow() - wrapper.find('WrappedPurePicker').simulate('change', new Date(123234538324).toISOString()) + wrapper.find('PickerWithState').simulate('change', new Date(123234538324).toISOString()) expect(fieldOnChange).toBeCalled() }) }) diff --git a/packages/sn-controls-react/test/__snapshots__/CheckboxGroup.test.tsx.snap b/packages/sn-controls-react/test/__snapshots__/CheckboxGroup.test.tsx.snap index 4bd8af26b..404b642a7 100644 --- a/packages/sn-controls-react/test/__snapshots__/CheckboxGroup.test.tsx.snap +++ b/packages/sn-controls-react/test/__snapshots__/CheckboxGroup.test.tsx.snap @@ -158,7 +158,7 @@ exports[`Check box group field control in edit/new view should set all the props > } + checkedIcon={} classes={ Object { "checked": "Mui-checked", @@ -168,7 +168,7 @@ exports[`Check box group field control in edit/new view should set all the props } color="secondary" disabled={true} - icon={} + icon={} inputProps={ Object { "data-indeterminate": false, @@ -180,7 +180,7 @@ exports[`Check box group field control in edit/new view should set all the props > } + checkedIcon={} classes={ Object { "checked": "PrivateSwitchBase-checked-27 Mui-checked", @@ -191,7 +191,7 @@ exports[`Check box group field control in edit/new view should set all the props } color="secondary" disabled={true} - icon={} + icon={} inputProps={ Object { "data-indeterminate": false, @@ -369,272 +369,6 @@ exports[`Check box group field control in edit/new view should set all the props } } component="span" - theme={ - Object { - "breakpoints": Object { - "between": [Function], - "down": [Function], - "keys": Array [ - "xs", - "sm", - "md", - "lg", - "xl", - ], - "only": [Function], - "up": [Function], - "values": Object { - "lg": 1280, - "md": 960, - "sm": 600, - "xl": 1920, - "xs": 0, - }, - "width": [Function], - }, - "direction": "ltr", - "mixins": Object { - "gutters": [Function], - "toolbar": Object { - "@media (min-width:0px) and (orientation: landscape)": Object { - "minHeight": 48, - }, - "@media (min-width:600px)": Object { - "minHeight": 64, - }, - "minHeight": 56, - }, - }, - "overrides": Object {}, - "palette": Object { - "action": Object { - "active": "rgba(0, 0, 0, 0.54)", - "disabled": "rgba(0, 0, 0, 0.26)", - "disabledBackground": "rgba(0, 0, 0, 0.12)", - "hover": "rgba(0, 0, 0, 0.08)", - "hoverOpacity": 0.08, - "selected": "rgba(0, 0, 0, 0.14)", - }, - "augmentColor": [Function], - "background": Object { - "default": "#fafafa", - "paper": "#fff", - }, - "common": Object { - "black": "#000", - "white": "#fff", - }, - "contrastThreshold": 3, - "divider": "rgba(0, 0, 0, 0.12)", - "error": Object { - "contrastText": "#fff", - "dark": "#d32f2f", - "light": "#e57373", - "main": "#f44336", - }, - "getContrastText": [Function], - "grey": Object { - "100": "#f5f5f5", - "200": "#eeeeee", - "300": "#e0e0e0", - "400": "#bdbdbd", - "50": "#fafafa", - "500": "#9e9e9e", - "600": "#757575", - "700": "#616161", - "800": "#424242", - "900": "#212121", - "A100": "#d5d5d5", - "A200": "#aaaaaa", - "A400": "#303030", - "A700": "#616161", - }, - "primary": Object { - "contrastText": "#fff", - "dark": "#303f9f", - "light": "#7986cb", - "main": "#3f51b5", - }, - "secondary": Object { - "contrastText": "#fff", - "dark": "#c51162", - "light": "#ff4081", - "main": "#f50057", - }, - "text": Object { - "disabled": "rgba(0, 0, 0, 0.38)", - "hint": "rgba(0, 0, 0, 0.38)", - "primary": "rgba(0, 0, 0, 0.87)", - "secondary": "rgba(0, 0, 0, 0.54)", - }, - "tonalOffset": 0.2, - "type": "light", - }, - "props": Object {}, - "shadows": Array [ - "none", - "0px 1px 3px 0px rgba(0,0,0,0.2),0px 1px 1px 0px rgba(0,0,0,0.14),0px 2px 1px -1px rgba(0,0,0,0.12)", - "0px 1px 5px 0px rgba(0,0,0,0.2),0px 2px 2px 0px rgba(0,0,0,0.14),0px 3px 1px -2px rgba(0,0,0,0.12)", - "0px 1px 8px 0px rgba(0,0,0,0.2),0px 3px 4px 0px rgba(0,0,0,0.14),0px 3px 3px -2px rgba(0,0,0,0.12)", - "0px 2px 4px -1px rgba(0,0,0,0.2),0px 4px 5px 0px rgba(0,0,0,0.14),0px 1px 10px 0px rgba(0,0,0,0.12)", - "0px 3px 5px -1px rgba(0,0,0,0.2),0px 5px 8px 0px rgba(0,0,0,0.14),0px 1px 14px 0px rgba(0,0,0,0.12)", - "0px 3px 5px -1px rgba(0,0,0,0.2),0px 6px 10px 0px rgba(0,0,0,0.14),0px 1px 18px 0px rgba(0,0,0,0.12)", - "0px 4px 5px -2px rgba(0,0,0,0.2),0px 7px 10px 1px rgba(0,0,0,0.14),0px 2px 16px 1px rgba(0,0,0,0.12)", - "0px 5px 5px -3px rgba(0,0,0,0.2),0px 8px 10px 1px rgba(0,0,0,0.14),0px 3px 14px 2px rgba(0,0,0,0.12)", - "0px 5px 6px -3px rgba(0,0,0,0.2),0px 9px 12px 1px rgba(0,0,0,0.14),0px 3px 16px 2px rgba(0,0,0,0.12)", - "0px 6px 6px -3px rgba(0,0,0,0.2),0px 10px 14px 1px rgba(0,0,0,0.14),0px 4px 18px 3px rgba(0,0,0,0.12)", - "0px 6px 7px -4px rgba(0,0,0,0.2),0px 11px 15px 1px rgba(0,0,0,0.14),0px 4px 20px 3px rgba(0,0,0,0.12)", - "0px 7px 8px -4px rgba(0,0,0,0.2),0px 12px 17px 2px rgba(0,0,0,0.14),0px 5px 22px 4px rgba(0,0,0,0.12)", - "0px 7px 8px -4px rgba(0,0,0,0.2),0px 13px 19px 2px rgba(0,0,0,0.14),0px 5px 24px 4px rgba(0,0,0,0.12)", - "0px 7px 9px -4px rgba(0,0,0,0.2),0px 14px 21px 2px rgba(0,0,0,0.14),0px 5px 26px 4px rgba(0,0,0,0.12)", - "0px 8px 9px -5px rgba(0,0,0,0.2),0px 15px 22px 2px rgba(0,0,0,0.14),0px 6px 28px 5px rgba(0,0,0,0.12)", - "0px 8px 10px -5px rgba(0,0,0,0.2),0px 16px 24px 2px rgba(0,0,0,0.14),0px 6px 30px 5px rgba(0,0,0,0.12)", - "0px 8px 11px -5px rgba(0,0,0,0.2),0px 17px 26px 2px rgba(0,0,0,0.14),0px 6px 32px 5px rgba(0,0,0,0.12)", - "0px 9px 11px -5px rgba(0,0,0,0.2),0px 18px 28px 2px rgba(0,0,0,0.14),0px 7px 34px 6px rgba(0,0,0,0.12)", - "0px 9px 12px -6px rgba(0,0,0,0.2),0px 19px 29px 2px rgba(0,0,0,0.14),0px 7px 36px 6px rgba(0,0,0,0.12)", - "0px 10px 13px -6px rgba(0,0,0,0.2),0px 20px 31px 3px rgba(0,0,0,0.14),0px 8px 38px 7px rgba(0,0,0,0.12)", - "0px 10px 13px -6px rgba(0,0,0,0.2),0px 21px 33px 3px rgba(0,0,0,0.14),0px 8px 40px 7px rgba(0,0,0,0.12)", - "0px 10px 14px -6px rgba(0,0,0,0.2),0px 22px 35px 3px rgba(0,0,0,0.14),0px 8px 42px 7px rgba(0,0,0,0.12)", - "0px 11px 14px -7px rgba(0,0,0,0.2),0px 23px 36px 3px rgba(0,0,0,0.14),0px 9px 44px 8px rgba(0,0,0,0.12)", - "0px 11px 15px -7px rgba(0,0,0,0.2),0px 24px 38px 3px rgba(0,0,0,0.14),0px 9px 46px 8px rgba(0,0,0,0.12)", - ], - "shape": Object { - "borderRadius": 4, - }, - "spacing": [Function], - "transitions": Object { - "create": [Function], - "duration": Object { - "complex": 375, - "enteringScreen": 225, - "leavingScreen": 195, - "short": 250, - "shorter": 200, - "shortest": 150, - "standard": 300, - }, - "easing": Object { - "easeIn": "cubic-bezier(0.4, 0, 1, 1)", - "easeInOut": "cubic-bezier(0.4, 0, 0.2, 1)", - "easeOut": "cubic-bezier(0.0, 0, 0.2, 1)", - "sharp": "cubic-bezier(0.4, 0, 0.6, 1)", - }, - "getAutoHeightDuration": [Function], - }, - "typography": Object { - "body1": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "1rem", - "fontWeight": 400, - "letterSpacing": "0.00938em", - "lineHeight": 1.5, - }, - "body2": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "0.875rem", - "fontWeight": 400, - "letterSpacing": "0.01071em", - "lineHeight": 1.43, - }, - "button": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "0.875rem", - "fontWeight": 500, - "letterSpacing": "0.02857em", - "lineHeight": 1.75, - "textTransform": "uppercase", - }, - "caption": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "0.75rem", - "fontWeight": 400, - "letterSpacing": "0.03333em", - "lineHeight": 1.66, - }, - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": 14, - "fontWeightBold": 700, - "fontWeightLight": 300, - "fontWeightMedium": 500, - "fontWeightRegular": 400, - "h1": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "6rem", - "fontWeight": 300, - "letterSpacing": "-0.01562em", - "lineHeight": 1, - }, - "h2": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "3.75rem", - "fontWeight": 300, - "letterSpacing": "-0.00833em", - "lineHeight": 1, - }, - "h3": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "3rem", - "fontWeight": 400, - "letterSpacing": "0em", - "lineHeight": 1.04, - }, - "h4": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "2.125rem", - "fontWeight": 400, - "letterSpacing": "0.00735em", - "lineHeight": 1.17, - }, - "h5": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "1.5rem", - "fontWeight": 400, - "letterSpacing": "0em", - "lineHeight": 1.33, - }, - "h6": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "1.25rem", - "fontWeight": 500, - "letterSpacing": "0.0075em", - "lineHeight": 1.6, - }, - "htmlFontSize": 16, - "overline": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "0.75rem", - "fontWeight": 400, - "letterSpacing": "0.08333em", - "lineHeight": 2.66, - "textTransform": "uppercase", - }, - "pxToRem": [Function], - "round": [Function], - "subtitle1": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "1rem", - "fontWeight": 400, - "letterSpacing": "0.00938em", - "lineHeight": 1.75, - }, - "subtitle2": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "0.875rem", - "fontWeight": 500, - "letterSpacing": "0.00714em", - "lineHeight": 1.57, - }, - }, - "zIndex": Object { - "appBar": 1100, - "drawer": 1200, - "mobileStepper": 1000, - "modal": 1300, - "snackbar": 1400, - "tooltip": 1500, - }, - } - } > } + checkedIcon={} classes={ Object { "checked": "Mui-checked", @@ -714,7 +448,7 @@ exports[`Check box group field control in edit/new view should set all the props } color="secondary" disabled={true} - icon={} + icon={} inputProps={ Object { "data-indeterminate": false, @@ -726,7 +460,7 @@ exports[`Check box group field control in edit/new view should set all the props > } + checkedIcon={} classes={ Object { "checked": "PrivateSwitchBase-checked-27 Mui-checked", @@ -737,7 +471,7 @@ exports[`Check box group field control in edit/new view should set all the props } color="secondary" disabled={true} - icon={} + icon={} inputProps={ Object { "data-indeterminate": false, @@ -915,272 +649,6 @@ exports[`Check box group field control in edit/new view should set all the props } } component="span" - theme={ - Object { - "breakpoints": Object { - "between": [Function], - "down": [Function], - "keys": Array [ - "xs", - "sm", - "md", - "lg", - "xl", - ], - "only": [Function], - "up": [Function], - "values": Object { - "lg": 1280, - "md": 960, - "sm": 600, - "xl": 1920, - "xs": 0, - }, - "width": [Function], - }, - "direction": "ltr", - "mixins": Object { - "gutters": [Function], - "toolbar": Object { - "@media (min-width:0px) and (orientation: landscape)": Object { - "minHeight": 48, - }, - "@media (min-width:600px)": Object { - "minHeight": 64, - }, - "minHeight": 56, - }, - }, - "overrides": Object {}, - "palette": Object { - "action": Object { - "active": "rgba(0, 0, 0, 0.54)", - "disabled": "rgba(0, 0, 0, 0.26)", - "disabledBackground": "rgba(0, 0, 0, 0.12)", - "hover": "rgba(0, 0, 0, 0.08)", - "hoverOpacity": 0.08, - "selected": "rgba(0, 0, 0, 0.14)", - }, - "augmentColor": [Function], - "background": Object { - "default": "#fafafa", - "paper": "#fff", - }, - "common": Object { - "black": "#000", - "white": "#fff", - }, - "contrastThreshold": 3, - "divider": "rgba(0, 0, 0, 0.12)", - "error": Object { - "contrastText": "#fff", - "dark": "#d32f2f", - "light": "#e57373", - "main": "#f44336", - }, - "getContrastText": [Function], - "grey": Object { - "100": "#f5f5f5", - "200": "#eeeeee", - "300": "#e0e0e0", - "400": "#bdbdbd", - "50": "#fafafa", - "500": "#9e9e9e", - "600": "#757575", - "700": "#616161", - "800": "#424242", - "900": "#212121", - "A100": "#d5d5d5", - "A200": "#aaaaaa", - "A400": "#303030", - "A700": "#616161", - }, - "primary": Object { - "contrastText": "#fff", - "dark": "#303f9f", - "light": "#7986cb", - "main": "#3f51b5", - }, - "secondary": Object { - "contrastText": "#fff", - "dark": "#c51162", - "light": "#ff4081", - "main": "#f50057", - }, - "text": Object { - "disabled": "rgba(0, 0, 0, 0.38)", - "hint": "rgba(0, 0, 0, 0.38)", - "primary": "rgba(0, 0, 0, 0.87)", - "secondary": "rgba(0, 0, 0, 0.54)", - }, - "tonalOffset": 0.2, - "type": "light", - }, - "props": Object {}, - "shadows": Array [ - "none", - "0px 1px 3px 0px rgba(0,0,0,0.2),0px 1px 1px 0px rgba(0,0,0,0.14),0px 2px 1px -1px rgba(0,0,0,0.12)", - "0px 1px 5px 0px rgba(0,0,0,0.2),0px 2px 2px 0px rgba(0,0,0,0.14),0px 3px 1px -2px rgba(0,0,0,0.12)", - "0px 1px 8px 0px rgba(0,0,0,0.2),0px 3px 4px 0px rgba(0,0,0,0.14),0px 3px 3px -2px rgba(0,0,0,0.12)", - "0px 2px 4px -1px rgba(0,0,0,0.2),0px 4px 5px 0px rgba(0,0,0,0.14),0px 1px 10px 0px rgba(0,0,0,0.12)", - "0px 3px 5px -1px rgba(0,0,0,0.2),0px 5px 8px 0px rgba(0,0,0,0.14),0px 1px 14px 0px rgba(0,0,0,0.12)", - "0px 3px 5px -1px rgba(0,0,0,0.2),0px 6px 10px 0px rgba(0,0,0,0.14),0px 1px 18px 0px rgba(0,0,0,0.12)", - "0px 4px 5px -2px rgba(0,0,0,0.2),0px 7px 10px 1px rgba(0,0,0,0.14),0px 2px 16px 1px rgba(0,0,0,0.12)", - "0px 5px 5px -3px rgba(0,0,0,0.2),0px 8px 10px 1px rgba(0,0,0,0.14),0px 3px 14px 2px rgba(0,0,0,0.12)", - "0px 5px 6px -3px rgba(0,0,0,0.2),0px 9px 12px 1px rgba(0,0,0,0.14),0px 3px 16px 2px rgba(0,0,0,0.12)", - "0px 6px 6px -3px rgba(0,0,0,0.2),0px 10px 14px 1px rgba(0,0,0,0.14),0px 4px 18px 3px rgba(0,0,0,0.12)", - "0px 6px 7px -4px rgba(0,0,0,0.2),0px 11px 15px 1px rgba(0,0,0,0.14),0px 4px 20px 3px rgba(0,0,0,0.12)", - "0px 7px 8px -4px rgba(0,0,0,0.2),0px 12px 17px 2px rgba(0,0,0,0.14),0px 5px 22px 4px rgba(0,0,0,0.12)", - "0px 7px 8px -4px rgba(0,0,0,0.2),0px 13px 19px 2px rgba(0,0,0,0.14),0px 5px 24px 4px rgba(0,0,0,0.12)", - "0px 7px 9px -4px rgba(0,0,0,0.2),0px 14px 21px 2px rgba(0,0,0,0.14),0px 5px 26px 4px rgba(0,0,0,0.12)", - "0px 8px 9px -5px rgba(0,0,0,0.2),0px 15px 22px 2px rgba(0,0,0,0.14),0px 6px 28px 5px rgba(0,0,0,0.12)", - "0px 8px 10px -5px rgba(0,0,0,0.2),0px 16px 24px 2px rgba(0,0,0,0.14),0px 6px 30px 5px rgba(0,0,0,0.12)", - "0px 8px 11px -5px rgba(0,0,0,0.2),0px 17px 26px 2px rgba(0,0,0,0.14),0px 6px 32px 5px rgba(0,0,0,0.12)", - "0px 9px 11px -5px rgba(0,0,0,0.2),0px 18px 28px 2px rgba(0,0,0,0.14),0px 7px 34px 6px rgba(0,0,0,0.12)", - "0px 9px 12px -6px rgba(0,0,0,0.2),0px 19px 29px 2px rgba(0,0,0,0.14),0px 7px 36px 6px rgba(0,0,0,0.12)", - "0px 10px 13px -6px rgba(0,0,0,0.2),0px 20px 31px 3px rgba(0,0,0,0.14),0px 8px 38px 7px rgba(0,0,0,0.12)", - "0px 10px 13px -6px rgba(0,0,0,0.2),0px 21px 33px 3px rgba(0,0,0,0.14),0px 8px 40px 7px rgba(0,0,0,0.12)", - "0px 10px 14px -6px rgba(0,0,0,0.2),0px 22px 35px 3px rgba(0,0,0,0.14),0px 8px 42px 7px rgba(0,0,0,0.12)", - "0px 11px 14px -7px rgba(0,0,0,0.2),0px 23px 36px 3px rgba(0,0,0,0.14),0px 9px 44px 8px rgba(0,0,0,0.12)", - "0px 11px 15px -7px rgba(0,0,0,0.2),0px 24px 38px 3px rgba(0,0,0,0.14),0px 9px 46px 8px rgba(0,0,0,0.12)", - ], - "shape": Object { - "borderRadius": 4, - }, - "spacing": [Function], - "transitions": Object { - "create": [Function], - "duration": Object { - "complex": 375, - "enteringScreen": 225, - "leavingScreen": 195, - "short": 250, - "shorter": 200, - "shortest": 150, - "standard": 300, - }, - "easing": Object { - "easeIn": "cubic-bezier(0.4, 0, 1, 1)", - "easeInOut": "cubic-bezier(0.4, 0, 0.2, 1)", - "easeOut": "cubic-bezier(0.0, 0, 0.2, 1)", - "sharp": "cubic-bezier(0.4, 0, 0.6, 1)", - }, - "getAutoHeightDuration": [Function], - }, - "typography": Object { - "body1": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "1rem", - "fontWeight": 400, - "letterSpacing": "0.00938em", - "lineHeight": 1.5, - }, - "body2": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "0.875rem", - "fontWeight": 400, - "letterSpacing": "0.01071em", - "lineHeight": 1.43, - }, - "button": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "0.875rem", - "fontWeight": 500, - "letterSpacing": "0.02857em", - "lineHeight": 1.75, - "textTransform": "uppercase", - }, - "caption": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "0.75rem", - "fontWeight": 400, - "letterSpacing": "0.03333em", - "lineHeight": 1.66, - }, - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": 14, - "fontWeightBold": 700, - "fontWeightLight": 300, - "fontWeightMedium": 500, - "fontWeightRegular": 400, - "h1": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "6rem", - "fontWeight": 300, - "letterSpacing": "-0.01562em", - "lineHeight": 1, - }, - "h2": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "3.75rem", - "fontWeight": 300, - "letterSpacing": "-0.00833em", - "lineHeight": 1, - }, - "h3": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "3rem", - "fontWeight": 400, - "letterSpacing": "0em", - "lineHeight": 1.04, - }, - "h4": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "2.125rem", - "fontWeight": 400, - "letterSpacing": "0.00735em", - "lineHeight": 1.17, - }, - "h5": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "1.5rem", - "fontWeight": 400, - "letterSpacing": "0em", - "lineHeight": 1.33, - }, - "h6": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "1.25rem", - "fontWeight": 500, - "letterSpacing": "0.0075em", - "lineHeight": 1.6, - }, - "htmlFontSize": 16, - "overline": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "0.75rem", - "fontWeight": 400, - "letterSpacing": "0.08333em", - "lineHeight": 2.66, - "textTransform": "uppercase", - }, - "pxToRem": [Function], - "round": [Function], - "subtitle1": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "1rem", - "fontWeight": 400, - "letterSpacing": "0.00938em", - "lineHeight": 1.75, - }, - "subtitle2": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "0.875rem", - "fontWeight": 500, - "letterSpacing": "0.00714em", - "lineHeight": 1.57, - }, - }, - "zIndex": Object { - "appBar": 1100, - "drawer": 1200, - "mobileStepper": 1000, - "modal": 1300, - "snackbar": 1400, - "tooltip": 1500, - }, - } - } > } + checkedIcon={} classes={ Object { "checked": "Mui-checked", @@ -1260,7 +728,7 @@ exports[`Check box group field control in edit/new view should set all the props } color="secondary" disabled={true} - icon={} + icon={} inputProps={ Object { "data-indeterminate": false, @@ -1272,7 +740,7 @@ exports[`Check box group field control in edit/new view should set all the props > } + checkedIcon={} classes={ Object { "checked": "PrivateSwitchBase-checked-27 Mui-checked", @@ -1283,7 +751,7 @@ exports[`Check box group field control in edit/new view should set all the props } color="secondary" disabled={true} - icon={} + icon={} inputProps={ Object { "data-indeterminate": false, @@ -1461,272 +929,6 @@ exports[`Check box group field control in edit/new view should set all the props } } component="span" - theme={ - Object { - "breakpoints": Object { - "between": [Function], - "down": [Function], - "keys": Array [ - "xs", - "sm", - "md", - "lg", - "xl", - ], - "only": [Function], - "up": [Function], - "values": Object { - "lg": 1280, - "md": 960, - "sm": 600, - "xl": 1920, - "xs": 0, - }, - "width": [Function], - }, - "direction": "ltr", - "mixins": Object { - "gutters": [Function], - "toolbar": Object { - "@media (min-width:0px) and (orientation: landscape)": Object { - "minHeight": 48, - }, - "@media (min-width:600px)": Object { - "minHeight": 64, - }, - "minHeight": 56, - }, - }, - "overrides": Object {}, - "palette": Object { - "action": Object { - "active": "rgba(0, 0, 0, 0.54)", - "disabled": "rgba(0, 0, 0, 0.26)", - "disabledBackground": "rgba(0, 0, 0, 0.12)", - "hover": "rgba(0, 0, 0, 0.08)", - "hoverOpacity": 0.08, - "selected": "rgba(0, 0, 0, 0.14)", - }, - "augmentColor": [Function], - "background": Object { - "default": "#fafafa", - "paper": "#fff", - }, - "common": Object { - "black": "#000", - "white": "#fff", - }, - "contrastThreshold": 3, - "divider": "rgba(0, 0, 0, 0.12)", - "error": Object { - "contrastText": "#fff", - "dark": "#d32f2f", - "light": "#e57373", - "main": "#f44336", - }, - "getContrastText": [Function], - "grey": Object { - "100": "#f5f5f5", - "200": "#eeeeee", - "300": "#e0e0e0", - "400": "#bdbdbd", - "50": "#fafafa", - "500": "#9e9e9e", - "600": "#757575", - "700": "#616161", - "800": "#424242", - "900": "#212121", - "A100": "#d5d5d5", - "A200": "#aaaaaa", - "A400": "#303030", - "A700": "#616161", - }, - "primary": Object { - "contrastText": "#fff", - "dark": "#303f9f", - "light": "#7986cb", - "main": "#3f51b5", - }, - "secondary": Object { - "contrastText": "#fff", - "dark": "#c51162", - "light": "#ff4081", - "main": "#f50057", - }, - "text": Object { - "disabled": "rgba(0, 0, 0, 0.38)", - "hint": "rgba(0, 0, 0, 0.38)", - "primary": "rgba(0, 0, 0, 0.87)", - "secondary": "rgba(0, 0, 0, 0.54)", - }, - "tonalOffset": 0.2, - "type": "light", - }, - "props": Object {}, - "shadows": Array [ - "none", - "0px 1px 3px 0px rgba(0,0,0,0.2),0px 1px 1px 0px rgba(0,0,0,0.14),0px 2px 1px -1px rgba(0,0,0,0.12)", - "0px 1px 5px 0px rgba(0,0,0,0.2),0px 2px 2px 0px rgba(0,0,0,0.14),0px 3px 1px -2px rgba(0,0,0,0.12)", - "0px 1px 8px 0px rgba(0,0,0,0.2),0px 3px 4px 0px rgba(0,0,0,0.14),0px 3px 3px -2px rgba(0,0,0,0.12)", - "0px 2px 4px -1px rgba(0,0,0,0.2),0px 4px 5px 0px rgba(0,0,0,0.14),0px 1px 10px 0px rgba(0,0,0,0.12)", - "0px 3px 5px -1px rgba(0,0,0,0.2),0px 5px 8px 0px rgba(0,0,0,0.14),0px 1px 14px 0px rgba(0,0,0,0.12)", - "0px 3px 5px -1px rgba(0,0,0,0.2),0px 6px 10px 0px rgba(0,0,0,0.14),0px 1px 18px 0px rgba(0,0,0,0.12)", - "0px 4px 5px -2px rgba(0,0,0,0.2),0px 7px 10px 1px rgba(0,0,0,0.14),0px 2px 16px 1px rgba(0,0,0,0.12)", - "0px 5px 5px -3px rgba(0,0,0,0.2),0px 8px 10px 1px rgba(0,0,0,0.14),0px 3px 14px 2px rgba(0,0,0,0.12)", - "0px 5px 6px -3px rgba(0,0,0,0.2),0px 9px 12px 1px rgba(0,0,0,0.14),0px 3px 16px 2px rgba(0,0,0,0.12)", - "0px 6px 6px -3px rgba(0,0,0,0.2),0px 10px 14px 1px rgba(0,0,0,0.14),0px 4px 18px 3px rgba(0,0,0,0.12)", - "0px 6px 7px -4px rgba(0,0,0,0.2),0px 11px 15px 1px rgba(0,0,0,0.14),0px 4px 20px 3px rgba(0,0,0,0.12)", - "0px 7px 8px -4px rgba(0,0,0,0.2),0px 12px 17px 2px rgba(0,0,0,0.14),0px 5px 22px 4px rgba(0,0,0,0.12)", - "0px 7px 8px -4px rgba(0,0,0,0.2),0px 13px 19px 2px rgba(0,0,0,0.14),0px 5px 24px 4px rgba(0,0,0,0.12)", - "0px 7px 9px -4px rgba(0,0,0,0.2),0px 14px 21px 2px rgba(0,0,0,0.14),0px 5px 26px 4px rgba(0,0,0,0.12)", - "0px 8px 9px -5px rgba(0,0,0,0.2),0px 15px 22px 2px rgba(0,0,0,0.14),0px 6px 28px 5px rgba(0,0,0,0.12)", - "0px 8px 10px -5px rgba(0,0,0,0.2),0px 16px 24px 2px rgba(0,0,0,0.14),0px 6px 30px 5px rgba(0,0,0,0.12)", - "0px 8px 11px -5px rgba(0,0,0,0.2),0px 17px 26px 2px rgba(0,0,0,0.14),0px 6px 32px 5px rgba(0,0,0,0.12)", - "0px 9px 11px -5px rgba(0,0,0,0.2),0px 18px 28px 2px rgba(0,0,0,0.14),0px 7px 34px 6px rgba(0,0,0,0.12)", - "0px 9px 12px -6px rgba(0,0,0,0.2),0px 19px 29px 2px rgba(0,0,0,0.14),0px 7px 36px 6px rgba(0,0,0,0.12)", - "0px 10px 13px -6px rgba(0,0,0,0.2),0px 20px 31px 3px rgba(0,0,0,0.14),0px 8px 38px 7px rgba(0,0,0,0.12)", - "0px 10px 13px -6px rgba(0,0,0,0.2),0px 21px 33px 3px rgba(0,0,0,0.14),0px 8px 40px 7px rgba(0,0,0,0.12)", - "0px 10px 14px -6px rgba(0,0,0,0.2),0px 22px 35px 3px rgba(0,0,0,0.14),0px 8px 42px 7px rgba(0,0,0,0.12)", - "0px 11px 14px -7px rgba(0,0,0,0.2),0px 23px 36px 3px rgba(0,0,0,0.14),0px 9px 44px 8px rgba(0,0,0,0.12)", - "0px 11px 15px -7px rgba(0,0,0,0.2),0px 24px 38px 3px rgba(0,0,0,0.14),0px 9px 46px 8px rgba(0,0,0,0.12)", - ], - "shape": Object { - "borderRadius": 4, - }, - "spacing": [Function], - "transitions": Object { - "create": [Function], - "duration": Object { - "complex": 375, - "enteringScreen": 225, - "leavingScreen": 195, - "short": 250, - "shorter": 200, - "shortest": 150, - "standard": 300, - }, - "easing": Object { - "easeIn": "cubic-bezier(0.4, 0, 1, 1)", - "easeInOut": "cubic-bezier(0.4, 0, 0.2, 1)", - "easeOut": "cubic-bezier(0.0, 0, 0.2, 1)", - "sharp": "cubic-bezier(0.4, 0, 0.6, 1)", - }, - "getAutoHeightDuration": [Function], - }, - "typography": Object { - "body1": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "1rem", - "fontWeight": 400, - "letterSpacing": "0.00938em", - "lineHeight": 1.5, - }, - "body2": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "0.875rem", - "fontWeight": 400, - "letterSpacing": "0.01071em", - "lineHeight": 1.43, - }, - "button": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "0.875rem", - "fontWeight": 500, - "letterSpacing": "0.02857em", - "lineHeight": 1.75, - "textTransform": "uppercase", - }, - "caption": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "0.75rem", - "fontWeight": 400, - "letterSpacing": "0.03333em", - "lineHeight": 1.66, - }, - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": 14, - "fontWeightBold": 700, - "fontWeightLight": 300, - "fontWeightMedium": 500, - "fontWeightRegular": 400, - "h1": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "6rem", - "fontWeight": 300, - "letterSpacing": "-0.01562em", - "lineHeight": 1, - }, - "h2": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "3.75rem", - "fontWeight": 300, - "letterSpacing": "-0.00833em", - "lineHeight": 1, - }, - "h3": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "3rem", - "fontWeight": 400, - "letterSpacing": "0em", - "lineHeight": 1.04, - }, - "h4": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "2.125rem", - "fontWeight": 400, - "letterSpacing": "0.00735em", - "lineHeight": 1.17, - }, - "h5": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "1.5rem", - "fontWeight": 400, - "letterSpacing": "0em", - "lineHeight": 1.33, - }, - "h6": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "1.25rem", - "fontWeight": 500, - "letterSpacing": "0.0075em", - "lineHeight": 1.6, - }, - "htmlFontSize": 16, - "overline": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "0.75rem", - "fontWeight": 400, - "letterSpacing": "0.08333em", - "lineHeight": 2.66, - "textTransform": "uppercase", - }, - "pxToRem": [Function], - "round": [Function], - "subtitle1": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "1rem", - "fontWeight": 400, - "letterSpacing": "0.00938em", - "lineHeight": 1.75, - }, - "subtitle2": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "0.875rem", - "fontWeight": 500, - "letterSpacing": "0.00714em", - "lineHeight": 1.57, - }, - }, - "zIndex": Object { - "appBar": 1100, - "drawer": 1200, - "mobileStepper": 1000, - "modal": 1300, - "snackbar": 1400, - "tooltip": 1500, - }, - } - } > } + checkedIcon={} classes={ Object { "checked": "Mui-checked", @@ -1806,7 +1008,7 @@ exports[`Check box group field control in edit/new view should set all the props } color="secondary" disabled={true} - icon={} + icon={} inputProps={ Object { "data-indeterminate": false, @@ -1818,7 +1020,7 @@ exports[`Check box group field control in edit/new view should set all the props > } + checkedIcon={} classes={ Object { "checked": "PrivateSwitchBase-checked-27 Mui-checked", @@ -1829,7 +1031,7 @@ exports[`Check box group field control in edit/new view should set all the props } color="secondary" disabled={true} - icon={} + icon={} inputProps={ Object { "data-indeterminate": false, @@ -2007,272 +1209,6 @@ exports[`Check box group field control in edit/new view should set all the props } } component="span" - theme={ - Object { - "breakpoints": Object { - "between": [Function], - "down": [Function], - "keys": Array [ - "xs", - "sm", - "md", - "lg", - "xl", - ], - "only": [Function], - "up": [Function], - "values": Object { - "lg": 1280, - "md": 960, - "sm": 600, - "xl": 1920, - "xs": 0, - }, - "width": [Function], - }, - "direction": "ltr", - "mixins": Object { - "gutters": [Function], - "toolbar": Object { - "@media (min-width:0px) and (orientation: landscape)": Object { - "minHeight": 48, - }, - "@media (min-width:600px)": Object { - "minHeight": 64, - }, - "minHeight": 56, - }, - }, - "overrides": Object {}, - "palette": Object { - "action": Object { - "active": "rgba(0, 0, 0, 0.54)", - "disabled": "rgba(0, 0, 0, 0.26)", - "disabledBackground": "rgba(0, 0, 0, 0.12)", - "hover": "rgba(0, 0, 0, 0.08)", - "hoverOpacity": 0.08, - "selected": "rgba(0, 0, 0, 0.14)", - }, - "augmentColor": [Function], - "background": Object { - "default": "#fafafa", - "paper": "#fff", - }, - "common": Object { - "black": "#000", - "white": "#fff", - }, - "contrastThreshold": 3, - "divider": "rgba(0, 0, 0, 0.12)", - "error": Object { - "contrastText": "#fff", - "dark": "#d32f2f", - "light": "#e57373", - "main": "#f44336", - }, - "getContrastText": [Function], - "grey": Object { - "100": "#f5f5f5", - "200": "#eeeeee", - "300": "#e0e0e0", - "400": "#bdbdbd", - "50": "#fafafa", - "500": "#9e9e9e", - "600": "#757575", - "700": "#616161", - "800": "#424242", - "900": "#212121", - "A100": "#d5d5d5", - "A200": "#aaaaaa", - "A400": "#303030", - "A700": "#616161", - }, - "primary": Object { - "contrastText": "#fff", - "dark": "#303f9f", - "light": "#7986cb", - "main": "#3f51b5", - }, - "secondary": Object { - "contrastText": "#fff", - "dark": "#c51162", - "light": "#ff4081", - "main": "#f50057", - }, - "text": Object { - "disabled": "rgba(0, 0, 0, 0.38)", - "hint": "rgba(0, 0, 0, 0.38)", - "primary": "rgba(0, 0, 0, 0.87)", - "secondary": "rgba(0, 0, 0, 0.54)", - }, - "tonalOffset": 0.2, - "type": "light", - }, - "props": Object {}, - "shadows": Array [ - "none", - "0px 1px 3px 0px rgba(0,0,0,0.2),0px 1px 1px 0px rgba(0,0,0,0.14),0px 2px 1px -1px rgba(0,0,0,0.12)", - "0px 1px 5px 0px rgba(0,0,0,0.2),0px 2px 2px 0px rgba(0,0,0,0.14),0px 3px 1px -2px rgba(0,0,0,0.12)", - "0px 1px 8px 0px rgba(0,0,0,0.2),0px 3px 4px 0px rgba(0,0,0,0.14),0px 3px 3px -2px rgba(0,0,0,0.12)", - "0px 2px 4px -1px rgba(0,0,0,0.2),0px 4px 5px 0px rgba(0,0,0,0.14),0px 1px 10px 0px rgba(0,0,0,0.12)", - "0px 3px 5px -1px rgba(0,0,0,0.2),0px 5px 8px 0px rgba(0,0,0,0.14),0px 1px 14px 0px rgba(0,0,0,0.12)", - "0px 3px 5px -1px rgba(0,0,0,0.2),0px 6px 10px 0px rgba(0,0,0,0.14),0px 1px 18px 0px rgba(0,0,0,0.12)", - "0px 4px 5px -2px rgba(0,0,0,0.2),0px 7px 10px 1px rgba(0,0,0,0.14),0px 2px 16px 1px rgba(0,0,0,0.12)", - "0px 5px 5px -3px rgba(0,0,0,0.2),0px 8px 10px 1px rgba(0,0,0,0.14),0px 3px 14px 2px rgba(0,0,0,0.12)", - "0px 5px 6px -3px rgba(0,0,0,0.2),0px 9px 12px 1px rgba(0,0,0,0.14),0px 3px 16px 2px rgba(0,0,0,0.12)", - "0px 6px 6px -3px rgba(0,0,0,0.2),0px 10px 14px 1px rgba(0,0,0,0.14),0px 4px 18px 3px rgba(0,0,0,0.12)", - "0px 6px 7px -4px rgba(0,0,0,0.2),0px 11px 15px 1px rgba(0,0,0,0.14),0px 4px 20px 3px rgba(0,0,0,0.12)", - "0px 7px 8px -4px rgba(0,0,0,0.2),0px 12px 17px 2px rgba(0,0,0,0.14),0px 5px 22px 4px rgba(0,0,0,0.12)", - "0px 7px 8px -4px rgba(0,0,0,0.2),0px 13px 19px 2px rgba(0,0,0,0.14),0px 5px 24px 4px rgba(0,0,0,0.12)", - "0px 7px 9px -4px rgba(0,0,0,0.2),0px 14px 21px 2px rgba(0,0,0,0.14),0px 5px 26px 4px rgba(0,0,0,0.12)", - "0px 8px 9px -5px rgba(0,0,0,0.2),0px 15px 22px 2px rgba(0,0,0,0.14),0px 6px 28px 5px rgba(0,0,0,0.12)", - "0px 8px 10px -5px rgba(0,0,0,0.2),0px 16px 24px 2px rgba(0,0,0,0.14),0px 6px 30px 5px rgba(0,0,0,0.12)", - "0px 8px 11px -5px rgba(0,0,0,0.2),0px 17px 26px 2px rgba(0,0,0,0.14),0px 6px 32px 5px rgba(0,0,0,0.12)", - "0px 9px 11px -5px rgba(0,0,0,0.2),0px 18px 28px 2px rgba(0,0,0,0.14),0px 7px 34px 6px rgba(0,0,0,0.12)", - "0px 9px 12px -6px rgba(0,0,0,0.2),0px 19px 29px 2px rgba(0,0,0,0.14),0px 7px 36px 6px rgba(0,0,0,0.12)", - "0px 10px 13px -6px rgba(0,0,0,0.2),0px 20px 31px 3px rgba(0,0,0,0.14),0px 8px 38px 7px rgba(0,0,0,0.12)", - "0px 10px 13px -6px rgba(0,0,0,0.2),0px 21px 33px 3px rgba(0,0,0,0.14),0px 8px 40px 7px rgba(0,0,0,0.12)", - "0px 10px 14px -6px rgba(0,0,0,0.2),0px 22px 35px 3px rgba(0,0,0,0.14),0px 8px 42px 7px rgba(0,0,0,0.12)", - "0px 11px 14px -7px rgba(0,0,0,0.2),0px 23px 36px 3px rgba(0,0,0,0.14),0px 9px 44px 8px rgba(0,0,0,0.12)", - "0px 11px 15px -7px rgba(0,0,0,0.2),0px 24px 38px 3px rgba(0,0,0,0.14),0px 9px 46px 8px rgba(0,0,0,0.12)", - ], - "shape": Object { - "borderRadius": 4, - }, - "spacing": [Function], - "transitions": Object { - "create": [Function], - "duration": Object { - "complex": 375, - "enteringScreen": 225, - "leavingScreen": 195, - "short": 250, - "shorter": 200, - "shortest": 150, - "standard": 300, - }, - "easing": Object { - "easeIn": "cubic-bezier(0.4, 0, 1, 1)", - "easeInOut": "cubic-bezier(0.4, 0, 0.2, 1)", - "easeOut": "cubic-bezier(0.0, 0, 0.2, 1)", - "sharp": "cubic-bezier(0.4, 0, 0.6, 1)", - }, - "getAutoHeightDuration": [Function], - }, - "typography": Object { - "body1": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "1rem", - "fontWeight": 400, - "letterSpacing": "0.00938em", - "lineHeight": 1.5, - }, - "body2": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "0.875rem", - "fontWeight": 400, - "letterSpacing": "0.01071em", - "lineHeight": 1.43, - }, - "button": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "0.875rem", - "fontWeight": 500, - "letterSpacing": "0.02857em", - "lineHeight": 1.75, - "textTransform": "uppercase", - }, - "caption": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "0.75rem", - "fontWeight": 400, - "letterSpacing": "0.03333em", - "lineHeight": 1.66, - }, - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": 14, - "fontWeightBold": 700, - "fontWeightLight": 300, - "fontWeightMedium": 500, - "fontWeightRegular": 400, - "h1": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "6rem", - "fontWeight": 300, - "letterSpacing": "-0.01562em", - "lineHeight": 1, - }, - "h2": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "3.75rem", - "fontWeight": 300, - "letterSpacing": "-0.00833em", - "lineHeight": 1, - }, - "h3": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "3rem", - "fontWeight": 400, - "letterSpacing": "0em", - "lineHeight": 1.04, - }, - "h4": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "2.125rem", - "fontWeight": 400, - "letterSpacing": "0.00735em", - "lineHeight": 1.17, - }, - "h5": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "1.5rem", - "fontWeight": 400, - "letterSpacing": "0em", - "lineHeight": 1.33, - }, - "h6": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "1.25rem", - "fontWeight": 500, - "letterSpacing": "0.0075em", - "lineHeight": 1.6, - }, - "htmlFontSize": 16, - "overline": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "0.75rem", - "fontWeight": 400, - "letterSpacing": "0.08333em", - "lineHeight": 2.66, - "textTransform": "uppercase", - }, - "pxToRem": [Function], - "round": [Function], - "subtitle1": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "1rem", - "fontWeight": 400, - "letterSpacing": "0.00938em", - "lineHeight": 1.75, - }, - "subtitle2": Object { - "fontFamily": "\\"Roboto\\", \\"Helvetica\\", \\"Arial\\", sans-serif", - "fontSize": "0.875rem", - "fontWeight": 500, - "letterSpacing": "0.00714em", - "lineHeight": 1.57, - }, - }, - "zIndex": Object { - "appBar": 1100, - "drawer": 1200, - "mobileStepper": 1000, - "modal": 1300, - "snackbar": 1400, - "tooltip": 1500, - }, - } - } > - - - } + if (this.props.previewState === PreviewState.Postponed) { + return + } + const isPreviewError = this.props.previewState !== -1 && this.props.previewState < 1 if (this.props.docViewerError || this.props.previewImagesError || isPreviewError) { return diff --git a/packages/sn-document-viewer-react/src/components/DocumentViewerLayout.tsx b/packages/sn-document-viewer-react/src/components/DocumentViewerLayout.tsx index ce2450cf7..863fb27f3 100644 --- a/packages/sn-document-viewer-react/src/components/DocumentViewerLayout.tsx +++ b/packages/sn-document-viewer-react/src/components/DocumentViewerLayout.tsx @@ -108,7 +108,7 @@ export class DocumentViewerLayoutComponent extends React.Component< } /** scrolls the viewer to focus to the page with the provided index */ - public scrollTo(index: number, smoothScroll: boolean = true) { + public scrollTo(index: number, smoothScroll = true) { this.setState({ ...this.state, activePage: index }, () => { this.scrollToImage({ containerId: 'sn-document-viewer-pages', diff --git a/packages/sn-document-viewer-react/src/components/DocumentViewerLoading.tsx b/packages/sn-document-viewer-react/src/components/DocumentViewerLoading.tsx index 176869dcb..a3648cbaa 100644 --- a/packages/sn-document-viewer-react/src/components/DocumentViewerLoading.tsx +++ b/packages/sn-document-viewer-react/src/components/DocumentViewerLoading.tsx @@ -25,42 +25,37 @@ const mapStateToProps = (state: RootReducerType) => { */ const mapDispatchToProps = {} -class DocumentViewerLoadingComponent extends React.Component< +export const DocumentViewerLoadingComponent: React.FC< componentType -> { - /** - * renders the component - */ - public render() { - return ( +> = props => { + return ( +
+ + +
- - - -
- - - {this.props.loadingDocument} - -
+ + + {props.loadingDocument} +
- ) - } +
+ ) } const connectedComponent = connect( diff --git a/packages/sn-document-viewer-react/src/components/DocumentViewerRegeneratePreviews.tsx b/packages/sn-document-viewer-react/src/components/DocumentViewerRegeneratePreviews.tsx new file mode 100644 index 000000000..4f5e0cdc8 --- /dev/null +++ b/packages/sn-document-viewer-react/src/components/DocumentViewerRegeneratePreviews.tsx @@ -0,0 +1,80 @@ +import Typography from '@material-ui/core/Typography' +import { connect } from 'react-redux' +import { Button, CircularProgress } from '@material-ui/core' +import React, { useState } from 'react' +import { componentType } from '../services/TypeHelpers' +import { regeneratePreviews, RootReducerType } from '../store' +import { LayoutAppBar } from './LayoutAppBar' + +/** + * maps state fields from the store to component props + * @param state the redux state + */ +const mapStateToProps = (state: RootReducerType) => { + return { + regeneratePreviewsText: state.sensenetDocumentViewer.localization.regeneratePreviews, + regenerateButton: state.sensenetDocumentViewer.localization.regenerateButton, + } +} + +/** + * maps state actions from the store to component props + * @param state the redux state + */ +const mapDispatchToProps = { + regeneratePreviews, +} + +export const DocumentViewerRegeneratePreviewsComponent: React.FC< + componentType +> = props => { + const [isRegenerating, setIsRegenerating] = useState(false) + + /** + * renders the component + */ + return ( +
+ + + +
+ + {props.regeneratePreviewsText} + + +
+
+ ) +} + +const connectedComponent = connect( + mapStateToProps, + mapDispatchToProps, +)(DocumentViewerRegeneratePreviewsComponent) + +export { connectedComponent as DocumentViewerRegeneratePreviews } diff --git a/packages/sn-document-viewer-react/src/components/PageList.tsx b/packages/sn-document-viewer-react/src/components/PageList.tsx index 8fde4685d..21bf36263 100644 --- a/packages/sn-document-viewer-react/src/components/PageList.tsx +++ b/packages/sn-document-viewer-react/src/components/PageList.tsx @@ -13,7 +13,7 @@ import { Page } from './' */ const mapStateToProps = (state: RootReducerType) => { return { - pages: state.sensenetDocumentViewer.previewImages.AvailableImages || [], + pages: state.sensenetDocumentViewer.previewImages.AvailableImages, } } @@ -76,7 +76,7 @@ export class PageListComponent extends React.Component< visiblePages: this.props.pages.slice(0, 3), } - private canUpdate: boolean = false + private canUpdate = false private viewPort?: Element private onResize!: () => void private onScroll!: () => void diff --git a/packages/sn-document-viewer-react/src/components/index.ts b/packages/sn-document-viewer-react/src/components/index.ts index 6c3c21a06..cb2dfe0ee 100644 --- a/packages/sn-document-viewer-react/src/components/index.ts +++ b/packages/sn-document-viewer-react/src/components/index.ts @@ -2,6 +2,7 @@ export { DocumentViewer } from './DocumentViewer' export { DocumentViewerError } from './DocumentViewerError' export { DocumentViewerLayout } from './DocumentViewerLayout' export { DocumentViewerLoading } from './DocumentViewerLoading' +export { DocumentViewerRegeneratePreviews } from './DocumentViewerRegeneratePreviews' export { LayoutAppBar } from './LayoutAppBar' export { Page } from './Page' export { PageList } from './PageList' diff --git a/packages/sn-document-viewer-react/src/components/page-widgets/Shape.tsx b/packages/sn-document-viewer-react/src/components/page-widgets/Shape.tsx index f4edc467e..f69a53c5c 100644 --- a/packages/sn-document-viewer-react/src/components/page-widgets/Shape.tsx +++ b/packages/sn-document-viewer-react/src/components/page-widgets/Shape.tsx @@ -62,7 +62,7 @@ abstract class ShapeComponent extends React.Component< * @param offsetX optional X offset * @param offsetY optional Y offset */ - protected getShapeDimensions(shape: Shape, offsetX: number = 0, offsetY: number = 0): React.CSSProperties { + protected getShapeDimensions(shape: Shape, offsetX = 0, offsetY = 0): React.CSSProperties { return { top: shape.y * this.props.zoomRatio + offsetY * this.props.zoomRatio, left: shape.x * this.props.zoomRatio + offsetX * this.props.zoomRatio, diff --git a/packages/sn-document-viewer-react/src/models/DocumentViewerSettings.ts b/packages/sn-document-viewer-react/src/models/DocumentViewerSettings.ts index ed3f460e8..ce21958d5 100644 --- a/packages/sn-document-viewer-react/src/models/DocumentViewerSettings.ts +++ b/packages/sn-document-viewer-react/src/models/DocumentViewerSettings.ts @@ -63,12 +63,15 @@ export interface DocumentViewerSettingsOptions { addPreviewComment: (document: DocumentData, comment: CommentWithoutCreatedByAndId) => Promise deletePreviewComment: (document: DocumentData, commentId: string) => Promise<{ modified: boolean }> } + + regeneratePreviews: (document: DocumentData) => Promise } /** * A Document Viewer Settings object that will be used as a singleton service */ export class DocumentViewerSettings implements DocumentViewerSettingsOptions { + public regeneratePreviews!: (document: DocumentData) => Promise public injector = new Injector() public commentActions!: { @@ -96,6 +99,7 @@ export class DocumentViewerSettings implements DocumentViewerSettingsOptions { page: number, showWatermark: boolean, ) => Promise + constructor(options: DocumentViewerSettingsOptions) { Object.assign(this, options) } diff --git a/packages/sn-document-viewer-react/src/services/ImageUtils.ts b/packages/sn-document-viewer-react/src/services/ImageUtils.ts index eea2bb02e..e236364cc 100644 --- a/packages/sn-document-viewer-react/src/services/ImageUtils.ts +++ b/packages/sn-document-viewer-react/src/services/ImageUtils.ts @@ -40,8 +40,8 @@ export class ImageUtil { viewPort: Dimensions, image: Dimensions & { rotation: number }, zoomMode: ZoomMode, - relativeZoomLevel: number = 1, - fitRelativeZoomLevel: number = 0, + relativeZoomLevel = 1, + fitRelativeZoomLevel = 0, ): Dimensions { if (zoomMode === 'custom') { relativeZoomLevel = (relativeZoomLevel + 1) / 4 diff --git a/packages/sn-document-viewer-react/src/store/Document.ts b/packages/sn-document-viewer-react/src/store/Document.ts index 80fca3dce..26ad7c887 100644 --- a/packages/sn-document-viewer-react/src/store/Document.ts +++ b/packages/sn-document-viewer-react/src/store/Document.ts @@ -1,5 +1,6 @@ import { Reducer } from 'redux' import { IInjectableActionCallbackParams } from 'redux-di-middleware' +import { sleepAsync } from '@sensenet/client-utils' import { PreviewState } from '../Enums' import { DocumentData, DocumentViewerSettings, PreviewImageData, Shape, Shapes } from '../models' import { Dimensions, ImageUtil } from '../services' @@ -70,7 +71,7 @@ export const documentPermissionsReceived = ( * @param idOrPath Id or full path for the document, e.g.: 'Root/Sites/MySite/MyDocLib/('doc.docx') * @param version The document version */ -export const pollDocumentData = (hostName: string, idOrPath: string | number, version: string = 'V1.0A') => ({ +export const pollDocumentData = (hostName: string, idOrPath: string | number, version = 'V1.0A') => ({ type: 'SN_POLL_DOCUMENT_DATA_INJECTABLE_ACTION', inject: async (options: IInjectableActionCallbackParams) => { const api = options.getInjectable(DocumentViewerSettings) @@ -193,6 +194,24 @@ export const saveChanges = () => ({ }, }) +/** + * Thunk action to call the RegeneratePreviews endpoint for the current document and start polling the preview images + */ +export const regeneratePreviews = () => ({ + type: 'SN_DOCVIEWER_REGENERATE_PREVIEWS_INJECTABLE_ACTION', + inject: async (options: IInjectableActionCallbackParams) => { + const api = options.getInjectable(DocumentViewerSettings) + const docData = options.getState().sensenetDocumentViewer.documentState.document as DocumentData + try { + await api.regeneratePreviews(docData) + } catch (error) { + // ignore -> reload + } + await sleepAsync(options.getState().sensenetDocumentViewer.documentState.pollInterval) + options.dispatch(pollDocumentData(docData.hostName, docData.idOrPath)) + }, +}) + /** * helper method to apply shape rotations * @param shapes the shape(s) to rotate diff --git a/packages/sn-document-viewer-react/src/store/Localization.ts b/packages/sn-document-viewer-react/src/store/Localization.ts index f2eb4f2aa..50f1d1ab1 100644 --- a/packages/sn-document-viewer-react/src/store/Localization.ts +++ b/packages/sn-document-viewer-react/src/store/Localization.ts @@ -27,6 +27,8 @@ export interface LocalizationStateType { lastPage: string saveChanges: string loadingDocument: string + regeneratePreviews: string + regenerateButton: string errorLoadingDocument: Array<{ state: PreviewState; message: string; details: string; code?: number }> errorLoadingDetails: string reloadPage: string @@ -77,6 +79,8 @@ export const defaultLocalization: LocalizationStateType = { lastPage: 'Last page', saveChanges: 'Save changes', loadingDocument: 'Preview image generation is in progress', + regeneratePreviews: 'The preview images are not generated yet. Do you want to generate them?', + regenerateButton: 'Generate', errorLoadingDocument: [ { state: PreviewState.Empty, message: 'No preview available, because the document is empty!', details: '' }, { @@ -98,8 +102,8 @@ export const defaultLocalization: LocalizationStateType = { details: '', }, { - state: PreviewState.UploadFailure2, - message: 'Error during preview generation! No preview available.', + state: PreviewState.Postponed, + message: 'The preview image generation has been postponed.', details: '', }, { diff --git a/packages/sn-document-viewer-react/src/store/PreviewImages.ts b/packages/sn-document-viewer-react/src/store/PreviewImages.ts index d96f759dc..1725c5f2a 100644 --- a/packages/sn-document-viewer-react/src/store/PreviewImages.ts +++ b/packages/sn-document-viewer-react/src/store/PreviewImages.ts @@ -73,7 +73,7 @@ export const rotateImages = (imageIndexes: number[], amount: number) => ({ * @param documentData * @param version */ -export const getAvailableImages = (documentData: DocumentData, version: string = 'V1.0A') => ({ +export const getAvailableImages = (documentData: DocumentData, version = 'V1.0A') => ({ type: 'SN_GET_AVAILABLE_IMAGES_INJECTABLE_ACTION', inject: async (options: IInjectableActionCallbackParams) => { options.dispatch(getAvailabelImagesAction(documentData)) @@ -159,7 +159,7 @@ export const setPagePollInterval = (pollInterval: number) => ({ * @param version * @param page */ -export const previewAvailable = (documentData: DocumentData, version: string = 'V1.0A', page: number = 1) => ({ +export const previewAvailable = (documentData: DocumentData, version = 'V1.0A', page = 1) => ({ type: 'SN_DOCVIEWER_PREVIEW_AVAILABLE_INJECTABLE_ACTION', inject: async (options: IInjectableActionCallbackParams) => { options.dispatch(previewAvailableAction(documentData, version, page)) diff --git a/packages/sn-document-viewer-react/test/DocumentViewerLoading.test.tsx b/packages/sn-document-viewer-react/test/DocumentViewerLoading.test.tsx new file mode 100644 index 000000000..08707747b --- /dev/null +++ b/packages/sn-document-viewer-react/test/DocumentViewerLoading.test.tsx @@ -0,0 +1,10 @@ +import { shallow } from 'enzyme' +import React from 'react' +import { DocumentViewerLoadingComponent } from '../src/components/DocumentViewerLoading' + +describe('Document Viewer Loading component', () => { + it('should render without crashing', () => { + const wrapper = shallow() + expect(wrapper).toMatchSnapshot() + }) +}) diff --git a/packages/sn-document-viewer-react/test/DocumentViewerRegeneratePreviews.test.tsx b/packages/sn-document-viewer-react/test/DocumentViewerRegeneratePreviews.test.tsx new file mode 100644 index 000000000..dc187fe5b --- /dev/null +++ b/packages/sn-document-viewer-react/test/DocumentViewerRegeneratePreviews.test.tsx @@ -0,0 +1,60 @@ +import { shallow } from 'enzyme' +import React from 'react' +import { Button } from '@material-ui/core' +import { DocumentViewerRegeneratePreviewsComponent } from '../src/components/DocumentViewerRegeneratePreviews' +import { defaultState, regeneratePreviews } from '../src/store' +import { DocumentViewerSettings } from '../src/models' +import { defaultSettings } from './__Mocks__/viewercontext' + +describe('Document Regenerate Previews component', () => { + it('should render without crashing', () => { + const wrapper = shallow( + ({ + type: '', + inject: async () => { + /** */ + }, + })} + />, + ) + expect(wrapper).toMatchSnapshot() + }) + + it('Should trigger regeneration on button click', () => { + const regenerate = jest.fn(async () => undefined) + const wrapper = shallow( + , + ) + + wrapper.find(Button).simulate('click') + expect(regenerate).toBeCalled() + + expect(wrapper).toMatchSnapshot() + }) + + it('Should send an API Request', async () => { + const dispatch = jest.fn() + const regenerateFn = jest.fn() + const getInjectable = jest.fn( + () => ({ ...defaultSettings, regeneratePreviews: regenerateFn } as DocumentViewerSettings), + ) + const getState = jest.fn(() => ({ + sensenetDocumentViewer: { documentState: defaultState }, + })) + const result = regeneratePreviews() + expect(result.type).toEqual('SN_DOCVIEWER_REGENERATE_PREVIEWS_INJECTABLE_ACTION') + await result.inject({ + dispatch, + getInjectable: getInjectable as any, + getState: getState as any, + }) + expect(regenerateFn).toBeCalled() + }) +}) diff --git a/packages/sn-document-viewer-react/test/__Mocks__/viewercontext.ts b/packages/sn-document-viewer-react/test/__Mocks__/viewercontext.ts index 8c5fb758d..9dbafb4f7 100644 --- a/packages/sn-document-viewer-react/test/__Mocks__/viewercontext.ts +++ b/packages/sn-document-viewer-react/test/__Mocks__/viewercontext.ts @@ -99,6 +99,9 @@ export const examplePreviewComment: Comment = { * Default settings for document viewer context */ export const defaultSettings = new DocumentViewerSettings({ + regeneratePreviews: async () => { + /** */ + }, canEditDocument: async () => true, canHideRedaction: async () => true, canHideWatermark: async () => true, diff --git a/packages/sn-document-viewer-react/test/__snapshots__/DocumentViewer.test.tsx.snap b/packages/sn-document-viewer-react/test/__snapshots__/DocumentViewer.test.tsx.snap index f268d3caf..daba15b2b 100644 --- a/packages/sn-document-viewer-react/test/__snapshots__/DocumentViewer.test.tsx.snap +++ b/packages/sn-document-viewer-react/test/__snapshots__/DocumentViewer.test.tsx.snap @@ -1,7 +1,7 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`Document Viewer component should render a loading component while loading 1`] = ` - `; diff --git a/packages/sn-document-viewer-react/test/__snapshots__/DocumentViewerLoading.test.tsx.snap b/packages/sn-document-viewer-react/test/__snapshots__/DocumentViewerLoading.test.tsx.snap new file mode 100644 index 000000000..693d320c7 --- /dev/null +++ b/packages/sn-document-viewer-react/test/__snapshots__/DocumentViewerLoading.test.tsx.snap @@ -0,0 +1,52 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Document Viewer Loading component should render without crashing 1`] = ` +
+ + + +
+ + +
+
+`; diff --git a/packages/sn-document-viewer-react/test/__snapshots__/DocumentViewerRegeneratePreviews.test.tsx.snap b/packages/sn-document-viewer-react/test/__snapshots__/DocumentViewerRegeneratePreviews.test.tsx.snap new file mode 100644 index 000000000..2fbfd4658 --- /dev/null +++ b/packages/sn-document-viewer-react/test/__snapshots__/DocumentViewerRegeneratePreviews.test.tsx.snap @@ -0,0 +1,108 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Document Regenerate Previews component Should trigger regeneration on button click 1`] = ` +
+ + + +
+ + + + +
+
+`; + +exports[`Document Regenerate Previews component should render without crashing 1`] = ` +
+ + + +
+ + +
+
+`; diff --git a/packages/sn-document-viewer-react/test/__snapshots__/ZoomMode.test.tsx.snap b/packages/sn-document-viewer-react/test/__snapshots__/ZoomMode.test.tsx.snap index 206005745..7c23e984a 100644 --- a/packages/sn-document-viewer-react/test/__snapshots__/ZoomMode.test.tsx.snap +++ b/packages/sn-document-viewer-react/test/__snapshots__/ZoomMode.test.tsx.snap @@ -71,7 +71,7 @@ exports[`ZoomMode component should render without crashing 1`] = ` disabled={true} onClickCapture={[Function]} > - + } nextButton={ @@ -79,7 +79,7 @@ exports[`ZoomMode component should render without crashing 1`] = ` disabled={false} onClickCapture={[Function]} > - + } position="static" @@ -161,7 +161,7 @@ exports[`ZoomMode component should render without crashing 2`] = ` disabled={false} onClickCapture={[Function]} > - + } nextButton={ @@ -169,7 +169,7 @@ exports[`ZoomMode component should render without crashing 2`] = ` disabled={false} onClickCapture={[Function]} > - + } position="static" @@ -251,7 +251,7 @@ exports[`ZoomMode component should render without crashing 3`] = ` disabled={false} onClickCapture={[Function]} > - + } nextButton={ @@ -259,7 +259,7 @@ exports[`ZoomMode component should render without crashing 3`] = ` disabled={false} onClickCapture={[Function]} > - + } position="static" @@ -347,7 +347,7 @@ exports[`ZoomMode component should render without crashing 4`] = ` disabled={false} onClickCapture={[Function]} > - + } nextButton={ @@ -355,7 +355,7 @@ exports[`ZoomMode component should render without crashing 4`] = ` disabled={false} onClickCapture={[Function]} > - + } position="static" @@ -437,7 +437,7 @@ exports[`ZoomMode component should render without crashing 5`] = ` disabled={false} onClickCapture={[Function]} > - + } nextButton={ @@ -445,7 +445,7 @@ exports[`ZoomMode component should render without crashing 5`] = ` disabled={false} onClickCapture={[Function]} > - + } position="static" @@ -527,7 +527,7 @@ exports[`ZoomMode component should render without crashing 6`] = ` disabled={false} onClickCapture={[Function]} > - + } nextButton={ @@ -535,7 +535,7 @@ exports[`ZoomMode component should render without crashing 6`] = ` disabled={false} onClickCapture={[Function]} > - + } position="static" @@ -617,7 +617,7 @@ exports[`ZoomMode component should render without crashing 7`] = ` disabled={false} onClickCapture={[Function]} > - + } nextButton={ @@ -625,7 +625,7 @@ exports[`ZoomMode component should render without crashing 7`] = ` disabled={false} onClickCapture={[Function]} > - + } position="static" diff --git a/packages/sn-hooks-react/.gitignore b/packages/sn-hooks-react/.gitignore new file mode 100644 index 000000000..289aa47aa --- /dev/null +++ b/packages/sn-hooks-react/.gitignore @@ -0,0 +1,62 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (http://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Typescript v1 declaration files +typings/ + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env + +dist +temp +bundle diff --git a/packages/sn-hooks-react/LICENSE b/packages/sn-hooks-react/LICENSE new file mode 100644 index 000000000..d159169d1 --- /dev/null +++ b/packages/sn-hooks-react/LICENSE @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/packages/sn-hooks-react/README.md b/packages/sn-hooks-react/README.md new file mode 100644 index 000000000..6779728b6 --- /dev/null +++ b/packages/sn-hooks-react/README.md @@ -0,0 +1,43 @@ +# @sensenet/hooks-react + +> Sensenet related logic as React hooks for reusability. + +[![NPM version](https://img.shields.io/npm/v/@sensenet/hooks-react.svg?style=flat)](https://www.npmjs.com/package/@sensenet/hooks-react) +[![NPM downloads](https://img.shields.io/npm/dt/@sensenet/hooks-react.svg?style=flat)](https://www.npmjs.com/package/@sensenet/hooks-react) +[![License: GPL v2](https://img.shields.io/badge/License-GPL%20v2-blue.svg)](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html) + +## Install + +```bash +# Yarn +yarn add @sensenet/hooks-react + +# NPM +npm install @sensenet/hooks-react +``` + +## Usage + +You can use the custom hooks in a similar way as the build-in React hooks, respecting the [Rules of Hooks](https://reactjs.org/docs/hooks-rules.html). + +### Custom contexts and Providers + +- CurrentAncestors and CurrentAncestorsProvider +- CurrentChildren and CurrentChildrenProvider +- CurrentContent and CurrentContentProvider +- InjectorContext +- LoadSettingsContext and LoadSettingsContextProvider +- LoggerContext and LoggerContextProvider +- RepositoryContext +- SessionContext and SessionContextProvider + +### Custom hooks + +- useDownload +- useInjector +- useLogger +- useRepositoryEvents +- useRepository +- useSession +- useVersionInfo +- useWopi diff --git a/packages/sn-hooks-react/package.json b/packages/sn-hooks-react/package.json new file mode 100644 index 000000000..7ae3a9fd6 --- /dev/null +++ b/packages/sn-hooks-react/package.json @@ -0,0 +1,39 @@ +{ + "name": "@sensenet/hooks-react", + "version": "1.0.0", + "description": "", + "main": "dist/index.js", + "typings": "./dist/index.d.ts", + "files": [ + "dist", + "src" + ], + "keywords": [ + "sensenet", + "ecm", + "react", + "hooks" + ], + "scripts": { + "fix:prettier": "prettier \"{,!(dist|temp|bundle)/**/}*.{ts,tsx}\" --write", + "build": "tsc -b" + }, + "publishConfig": { + "access": "public" + }, + "author": "Sense/Net (http://sensenet.com/)", + "license": "GPL-2.0", + "homepage": "https://sensenet.com", + "dependencies": { + "@sensenet/client-core": "^2.2.1", + "@sensenet/client-utils": "^1.6.5", + "@sensenet/default-content-types": "^2.0.1", + "@sensenet/repository-events": "^1.4.5", + "react": "^16.9.0", + "react-dom": "^16.9.0" + }, + "devDependencies": { + "@types/react": "^16.9.2", + "@types/react-dom": "^16.9.0" + } +} diff --git a/apps/sensenet/src/context/CurrentAncestors.tsx b/packages/sn-hooks-react/src/context/current-ancestors.tsx similarity index 73% rename from apps/sensenet/src/context/CurrentAncestors.tsx rename to packages/sn-hooks-react/src/context/current-ancestors.tsx index 4c8195b60..3dfb18e91 100644 --- a/apps/sensenet/src/context/CurrentAncestors.tsx +++ b/packages/sn-hooks-react/src/context/current-ancestors.tsx @@ -3,40 +3,52 @@ import { debounce } from '@sensenet/client-utils' import { GenericContent } from '@sensenet/default-content-types' import React, { useContext, useEffect, useState } from 'react' import Semaphore from 'semaphore-async-await' -import { useInjector, useLogger, useRepository } from '../hooks' -import { CurrentContentContext } from './CurrentContent' +import { useLogger, useRepository, useRepositoryEvents } from '../hooks' +import { CurrentContentContext } from './current-content' + +/** + * Context that will return with the current content's ancestors + */ export const CurrentAncestorsContext = React.createContext([]) -export const CurrentAncestorsProvider: React.FunctionComponent<{ root?: number | string }> = props => { +export interface CurrentAncestorsProviderProps { + /** + * An optional root Path or ID. The top ancestor will be a content with the provided value. + */ + root?: number | string +} + +/** + * Provider component for the CurrentAncestorsContext component. + * Loads an ancestor list from the Repository. Has to be wrapped with a **CurrentContentContext** and a **RepositoryContext** + */ +export const CurrentAncestorsProvider: React.FunctionComponent = props => { const currentContent = useContext(CurrentContentContext) const [loadLock] = useState(new Semaphore(1)) const [ancestors, setAncestors] = useState([]) const repo = useRepository() - const injector = useInjector() - const eventHub = injector.getEventHub(repo.configuration.repositoryUrl) + const eventHub = useRepositoryEvents() const [reloadToken, setReloadToken] = useState(1) const logger = useLogger('CurrentAncestorsProvider') - const requestReload = debounce(() => setReloadToken(Math.random()), 100) + const requestReload = debounce((newId: number) => { + if (ancestors.map(a => a.Id).includes(newId)) { + setReloadToken(Math.random()) + } + }, 100) useEffect(() => { const subscriptions = [ eventHub.onContentModified.subscribe(mod => { - if (ancestors.map(a => a.Id).includes(mod.content.Id)) { - requestReload() - } + requestReload(mod.content.Id) }), eventHub.onContentMoved.subscribe(move => { - if (ancestors.map(a => a.Id).includes(move.content.Id)) { - requestReload() - } + requestReload(move.content.Id) }), eventHub.onContentDeleted.subscribe(del => { - if (ancestors.map(a => a.Id).includes(del.contentData.Id)) { - requestReload() - } + requestReload(del.contentData.Id) }), ] return () => subscriptions.forEach(s => s.dispose()) diff --git a/apps/sensenet/src/context/CurrentChildren.tsx b/packages/sn-hooks-react/src/context/current-children.tsx similarity index 75% rename from apps/sensenet/src/context/CurrentChildren.tsx rename to packages/sn-hooks-react/src/context/current-children.tsx index da4836240..2f46263f8 100644 --- a/apps/sensenet/src/context/CurrentChildren.tsx +++ b/packages/sn-hooks-react/src/context/current-children.tsx @@ -3,22 +3,28 @@ import { GenericContent } from '@sensenet/default-content-types' import { Created } from '@sensenet/repository-events' import React, { useContext, useEffect, useState } from 'react' import Semaphore from 'semaphore-async-await' -import { useInjector, useRepository } from '../hooks' -import { UploadTracker } from '../services/UploadTracker' -import { CurrentContentContext } from './CurrentContent' -import { LoadSettingsContext } from './LoadSettingsContext' +import { useRepository, useRepositoryEvents } from '../hooks' +import { CurrentContentContext } from './current-content' +import { LoadSettingsContext } from './load-settings' + +/** + * Context that will return with a list of a current content's children + */ export const CurrentChildrenContext = React.createContext([]) +/** + * Provider component for the CurrentChildrenContext component + * Loads the children of the current content. + * Loads an ancestor list from the Repository. Has to be wrapped with a **CurrentContentContext** and a **RepositoryContext** + */ export const CurrentChildrenProvider: React.FunctionComponent = props => { const currentContent = useContext(CurrentContentContext) - const injector = useInjector() const [children, setChildren] = useState([]) const [loadLock] = useState(new Semaphore(1)) const [reloadToken, setReloadToken] = useState(1) const repo = useRepository() - const eventHub = injector.getEventHub(repo.configuration.repositoryUrl) - const uploadTracker = injector.getInstance(UploadTracker) + const eventHub = useRepositoryEvents() const loadSettings = useContext(LoadSettingsContext) const requestReload = () => setReloadToken(Math.random()) @@ -49,9 +55,9 @@ export const CurrentChildrenProvider: React.FunctionComponent = props => { useEffect(() => { const handleCreate = (c: Created) => { if ((c.content as GenericContent).ParentId === currentContent.Id) { - requestReload() + return requestReload() } - if (parent && PathHelper.isAncestorOf(currentContent.Path, c.content.Path)) { + if (PathHelper.isAncestorOf(currentContent.Path, c.content.Path)) { requestReload() } } @@ -62,15 +68,14 @@ export const CurrentChildrenProvider: React.FunctionComponent = props => { eventHub.onContentCopied.subscribe(handleCreate), eventHub.onContentMoved.subscribe(handleCreate), eventHub.onContentModified.subscribe(mod => { - if (children.map(c => c.Id).includes(mod.content.Id)) { + if (children.some(c => c.Id === mod.content.Id)) { requestReload() } }), - uploadTracker.onUploadProgress.subscribe(({ progress }) => { - if (progress.completed && progress.createdContent) { - if (PathHelper.getParentPath(progress.createdContent.Url) === PathHelper.trimSlashes(currentContent.Path)) { - requestReload() - } + + eventHub.onUploadFinished.subscribe(data => { + if (PathHelper.getParentPath(data.Url) === PathHelper.trimSlashes(currentContent.Path)) { + requestReload() } }), eventHub.onContentDeleted.subscribe(d => { @@ -91,7 +96,7 @@ export const CurrentChildrenProvider: React.FunctionComponent = props => { eventHub.onContentMoved, eventHub.onContentModified, eventHub.onContentDeleted, - uploadTracker.onUploadProgress, + eventHub.onUploadFinished, ]) if (error) { diff --git a/apps/sensenet/src/context/CurrentContent.tsx b/packages/sn-hooks-react/src/context/current-content.tsx similarity index 72% rename from apps/sensenet/src/context/CurrentContent.tsx rename to packages/sn-hooks-react/src/context/current-content.tsx index 82dd0e374..37b1941fc 100644 --- a/apps/sensenet/src/context/CurrentContent.tsx +++ b/packages/sn-hooks-react/src/context/current-content.tsx @@ -2,23 +2,42 @@ import { ConstantContent, ODataParams } from '@sensenet/client-core' import { GenericContent } from '@sensenet/default-content-types' import React, { useEffect, useState } from 'react' import Semaphore from 'semaphore-async-await' -import { useInjector, useRepository } from '../hooks' +import { useRepository, useRepositoryEvents } from '../hooks' +/** + * Returns a given content as current content + */ export const CurrentContentContext = React.createContext(ConstantContent.PORTAL_ROOT) -export const CurrentContentProvider: React.FunctionComponent<{ + +export interface CurrentContentProviderProps { + /** + * The Id or Path for the current content item + */ idOrPath: number | string + /** + * Optional callback that will be triggered when the content loads + */ onContentLoaded?: (content: GenericContent) => void + /** + * Optional OData options for loading the content + */ oDataOptions?: ODataParams -}> = props => { +} + +/** + * Provider component for the CurrentContentContext component. + * Loads a content from the Repository with the given Id or Path. + * Has to be wrapped with a **RepositoryContext** + */ +export const CurrentContentProvider: React.FunctionComponent = props => { const [loadLock] = useState(new Semaphore(1)) const [content, setContent] = useState(ConstantContent.PORTAL_ROOT) const repo = useRepository() - const injector = useInjector() const [reloadToken, setReloadToken] = useState(1) const reload = () => setReloadToken(Math.random()) + const events = useRepositoryEvents() useEffect(() => { - const events = injector.getEventHub(repo.configuration.repositoryUrl) const subscriptions = [ events.onContentModified.subscribe(c => { if (c.content.Id === content.Id) { @@ -27,7 +46,7 @@ export const CurrentContentProvider: React.FunctionComponent<{ }), ] return () => subscriptions.forEach(s => s.dispose()) - }, [repo, content, injector]) + }, [content.Id, events.onContentModified]) const [error, setError] = useState() diff --git a/packages/sn-hooks-react/src/context/index.ts b/packages/sn-hooks-react/src/context/index.ts new file mode 100644 index 000000000..4a79bd7ab --- /dev/null +++ b/packages/sn-hooks-react/src/context/index.ts @@ -0,0 +1,8 @@ +export * from './current-ancestors' +export * from './current-children' +export * from './current-content' +export * from './injector' +export * from './load-settings' +export * from './logger' +export * from './repository' +export * from './session' diff --git a/packages/sn-hooks-react/src/context/injector.tsx b/packages/sn-hooks-react/src/context/injector.tsx new file mode 100644 index 000000000..3a13644c7 --- /dev/null +++ b/packages/sn-hooks-react/src/context/injector.tsx @@ -0,0 +1,7 @@ +import { Injector } from '@furystack/inject/dist/Injector' +import React from 'react' + +/** + * Context that returns an Injector instance + */ +export const InjectorContext = React.createContext(new Injector()) diff --git a/apps/sensenet/src/context/LoadSettingsContext.tsx b/packages/sn-hooks-react/src/context/load-settings.tsx similarity index 59% rename from apps/sensenet/src/context/LoadSettingsContext.tsx rename to packages/sn-hooks-react/src/context/load-settings.tsx index fada93602..55dd8752d 100644 --- a/apps/sensenet/src/context/LoadSettingsContext.tsx +++ b/packages/sn-hooks-react/src/context/load-settings.tsx @@ -1,16 +1,52 @@ import { ODataParams } from '@sensenet/client-core' import { GenericContent } from '@sensenet/default-content-types' import React, { Dispatch, useState } from 'react' -export const LoadSettingsContext = React.createContext<{ + +export interface LoadSettingsContextProps { + /** + * OData settings for the Current Content + */ loadSettings: ODataParams + /** + * OData settings for loading the current content's children + */ loadChildrenSettings: ODataParams + /** + * OData settings for loading ancestors + */ loadAncestorsSettings: ODataParams + /** + * Sets the Current Content's load settings + */ setLoadSettings: Dispatch> + + /** + * Set the current content's childrens load settings + */ setLoadChildrenSettings: Dispatch> + + /** + * Sets the current content's ancestor's load settings + */ setLoadAncestorsSettings: Dispatch> -}>(null as any) +} + +/** + * Context that stores load settings for OData requests + */ +export const LoadSettingsContext = React.createContext({ + setLoadSettings: () => undefined, + setLoadChildrenSettings: () => undefined, + setLoadAncestorsSettings: () => undefined, + loadAncestorsSettings: {}, + loadChildrenSettings: {}, + loadSettings: {}, +}) +/** + * Provider for the LoadSettingsContext. Sets up default loading settings. + */ export const LoadSettingsContextProvider: React.FunctionComponent = props => { const [loadSettings, setLoadSettings] = useState>({}) const [loadChildrenSettings, setLoadChildrenSettings] = useState>({ diff --git a/apps/sensenet/src/context/LoggerContext.tsx b/packages/sn-hooks-react/src/context/logger.tsx similarity index 69% rename from apps/sensenet/src/context/LoggerContext.tsx rename to packages/sn-hooks-react/src/context/logger.tsx index b4fb2543f..aeaa845aa 100644 --- a/apps/sensenet/src/context/LoggerContext.tsx +++ b/packages/sn-hooks-react/src/context/logger.tsx @@ -2,8 +2,15 @@ import { Logger, LoggerCollection } from '@furystack/logging' import React from 'react' import { useInjector } from '../hooks' +/** + * Context for a Logger instance + */ export const LoggerContext = React.createContext(new LoggerCollection()) +/** + * Wrapper for the LoggerContext component. + * Returns the current injector's default logger. Has to be wrapped with **InjectorContext** + */ export const LoggerContextProvider: React.FunctionComponent = ({ children }) => { const injector = useInjector() return {children} diff --git a/packages/sn-hooks-react/src/context/repository.tsx b/packages/sn-hooks-react/src/context/repository.tsx new file mode 100644 index 000000000..4f5bc5d85 --- /dev/null +++ b/packages/sn-hooks-react/src/context/repository.tsx @@ -0,0 +1,7 @@ +import { Repository } from '@sensenet/client-core' +import { createContext } from 'react' + +/** + * Context that stores the current Repository instance + */ +export const RepositoryContext = createContext(new Repository()) diff --git a/apps/sensenet/src/context/SessionContext.tsx b/packages/sn-hooks-react/src/context/session.tsx similarity index 81% rename from apps/sensenet/src/context/SessionContext.tsx rename to packages/sn-hooks-react/src/context/session.tsx index 7bf57bd25..0700ba2b3 100644 --- a/apps/sensenet/src/context/SessionContext.tsx +++ b/packages/sn-hooks-react/src/context/session.tsx @@ -5,12 +5,35 @@ import React, { useEffect, useState } from 'react' import Semaphore from 'semaphore-async-await' import { useLogger, useRepository } from '../hooks' -export const SessionContext = React.createContext({ +export interface SessionContextProps { + /** + * The Login state for the current user + */ + state: LoginState + /** + * The current user content + */ + currentUser: User + /** + * Groups of the current user + */ + groups: Group[] +} + +/** + * Context that stores session related data + */ +export const SessionContext = React.createContext({ state: LoginState.Unknown, currentUser: ConstantContent.VISITOR_USER as User, groups: [] as Group[], }) +/** + * Provider component for the SessionContext. + * Has to be wrapped with **RepositoryContext** and **LoggerContext** + * Fills the SessionContext with data from the current repository. + */ export const SessionContextProvider: React.FunctionComponent = props => { const repo = useRepository() const logger = useLogger('SessionContext') @@ -27,7 +50,7 @@ export const SessionContextProvider: React.FunctionComponent = props => { }, true), repo.authentication.currentUser.subscribe(async usr => { logger.debug({ - message: `Current user chagned.`, + message: `Current user changed.`, data: { relatedRepository: repo.configuration.repositoryUrl, relatedContent: usr, diff --git a/packages/sn-hooks-react/src/hooks/index.ts b/packages/sn-hooks-react/src/hooks/index.ts new file mode 100644 index 000000000..78b27f23d --- /dev/null +++ b/packages/sn-hooks-react/src/hooks/index.ts @@ -0,0 +1,8 @@ +export * from './use-download' +export * from './use-injector' +export * from './use-logger' +export * from './use-repository-events' +export * from './use-repository' +export * from './use-session' +export * from './use-version-info' +export * from './use-wopi' diff --git a/apps/sensenet/src/hooks/use-download.ts b/packages/sn-hooks-react/src/hooks/use-download.ts similarity index 58% rename from apps/sensenet/src/hooks/use-download.ts rename to packages/sn-hooks-react/src/hooks/use-download.ts index be80a1803..7af5b1033 100644 --- a/apps/sensenet/src/hooks/use-download.ts +++ b/packages/sn-hooks-react/src/hooks/use-download.ts @@ -1,24 +1,34 @@ import { File, GenericContent } from '@sensenet/default-content-types' -import { isContentFromType } from '../utils/isContentFromType' import { useRepository } from './use-repository' -const fakeClick = (obj: EventTarget) => { +export const fakeClick = (obj: EventTarget) => { const ev = document.createEvent('MouseEvents') ev.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null) obj.dispatchEvent(ev) } -const downloadFile = (name: string, repositoryUrl: string) => { +export const downloadFile = (name: string, repositoryUrl: string) => { const saveLink = document.createElement('a') saveLink.href = `${repositoryUrl}${name}?download` fakeClick(saveLink) } +/** + * Custom hook that downloads a specified content from a repository + * Has to be wrapped with **RepositoryContext** + */ export const useDownload = (content: GenericContent) => { const repo = useRepository() - const isFile = isContentFromType(content, File, repo.schemas) + const isFile = repo.schemas.isContentFromType(content, File) return { + /** + * Boolean that indicates if the content is a File + */ isFile, + + /** + * Callback that will trigger the download + */ download: () => downloadFile(content.Path, repo.configuration.repositoryUrl), } } diff --git a/apps/sensenet/src/hooks/use-injector.ts b/packages/sn-hooks-react/src/hooks/use-injector.ts similarity index 63% rename from apps/sensenet/src/hooks/use-injector.ts rename to packages/sn-hooks-react/src/hooks/use-injector.ts index 14b0ed919..59bc43692 100644 --- a/apps/sensenet/src/hooks/use-injector.ts +++ b/packages/sn-hooks-react/src/hooks/use-injector.ts @@ -1,4 +1,7 @@ import { useContext } from 'react' import { InjectorContext } from '../context' +/** + * Custom hook that returns an Injecor instance from the InjectorContext. + */ export const useInjector = () => useContext(InjectorContext) diff --git a/apps/sensenet/src/hooks/use-logger.ts b/packages/sn-hooks-react/src/hooks/use-logger.ts similarity index 53% rename from apps/sensenet/src/hooks/use-logger.ts rename to packages/sn-hooks-react/src/hooks/use-logger.ts index bd8f48fca..0ba703e8f 100644 --- a/apps/sensenet/src/hooks/use-logger.ts +++ b/packages/sn-hooks-react/src/hooks/use-logger.ts @@ -1,6 +1,10 @@ import { useContext, useState } from 'react' -import { LoggerContext } from '../context/LoggerContext' +import { LoggerContext } from '../context/logger' +/** + * Returns a scoped Logger instance from the LoggerContext. + * @param scope The logger's Scope name + */ export const useLogger = (scope: string) => { const [logger] = useState(useContext(LoggerContext).withScope(scope)) return logger diff --git a/packages/sn-hooks-react/src/hooks/use-repository-events.ts b/packages/sn-hooks-react/src/hooks/use-repository-events.ts new file mode 100644 index 000000000..12c0c57e3 --- /dev/null +++ b/packages/sn-hooks-react/src/hooks/use-repository-events.ts @@ -0,0 +1,20 @@ +import { useEffect, useState } from 'react' +import { EventHub } from '@sensenet/repository-events' +import { useRepository } from './use-repository' + +/** + * Returns an EventHub instance of the current Repository + * Works inside RepositoryContext. + */ +export const useRepositoryEvents = () => { + const repo = useRepository() + const [eventHub, setEventHub] = useState(new EventHub(repo)) + + useEffect(() => { + const eh = new EventHub(repo) + setEventHub(eh) + return () => eh.dispose() + }, [repo]) + + return eventHub +} diff --git a/apps/sensenet/src/hooks/use-repository.ts b/packages/sn-hooks-react/src/hooks/use-repository.ts similarity index 68% rename from apps/sensenet/src/hooks/use-repository.ts rename to packages/sn-hooks-react/src/hooks/use-repository.ts index 31a2d5868..a6eb354f1 100644 --- a/apps/sensenet/src/hooks/use-repository.ts +++ b/packages/sn-hooks-react/src/hooks/use-repository.ts @@ -1,4 +1,7 @@ import { useContext } from 'react' import { RepositoryContext } from '../context' +/** + * Returns a Repository instance from the RepositoryContext + */ export const useRepository = () => useContext(RepositoryContext) diff --git a/apps/sensenet/src/hooks/use-session.ts b/packages/sn-hooks-react/src/hooks/use-session.ts similarity index 69% rename from apps/sensenet/src/hooks/use-session.ts rename to packages/sn-hooks-react/src/hooks/use-session.ts index 275f0a70b..20882af03 100644 --- a/apps/sensenet/src/hooks/use-session.ts +++ b/packages/sn-hooks-react/src/hooks/use-session.ts @@ -1,4 +1,7 @@ import { useContext } from 'react' import { SessionContext } from '../context' +/** + * Returns the session data from the SessionContext + */ export const useSession = () => useContext(SessionContext) diff --git a/packages/sn-hooks-react/src/hooks/use-version-info.ts b/packages/sn-hooks-react/src/hooks/use-version-info.ts new file mode 100644 index 000000000..7a32f3caf --- /dev/null +++ b/packages/sn-hooks-react/src/hooks/use-version-info.ts @@ -0,0 +1,136 @@ +import { useEffect, useState } from 'react' +import { ConstantContent } from '@sensenet/client-core' +import { useRepository } from './use-repository' + +/* + * The type of a specific package + */ +export enum PackageType { + /** + * Can contain small repeatable activities that do not perform significant changes but can be important because of business or technical reasons. A good example is performing an undo checkout on multiple content. Executing a package of this level does not change the application's or the product's version number but the execution is logged and registered + */ + Tool, + + /** + * Contains small modifications (e.g. a couple of new content to import or a bugfix in a dll). Usually patches form a chain where every package assumes the existence of all the previous ones but it is not mandatory. It is possible to control this behavior, see version control below. + */ + Patch, + + /** + * An application's first package must be an 'install' package. This is the package that injects a new application into the system. Only Application packages can be set on this level. An install level package must contain a new application identifier that is unknown to the system. Packages on this level can be executed only once. + */ + Install, +} + +/** + * Represents a .NET Assembly in the Version Info + */ +export interface Assembly { + CodeBase: string + IsDynamic: boolean + Name: string + Version: string +} + +/** + * Represents a sensenet Component in the Version Info + */ +export interface Component { + ComponentId: string + Version: string + AcceptableVersion: string + Description: string + IsUpdateAvailable?: boolean + NugetManifest?: any +} + +/** + * Represents a sensenet Package in the Version Info + */ +export interface Package { + ComponentId: string + ComponentVersion: string + Description: string + ExecutionDate: Date + ExecutionError: any + Id: number + Manifest: any + PackageType: PackageType + ReleaseDate: Date +} + +/** + * Represents a model for the sensenet's GetVersionInfo custom action's response + */ +export interface VersionInfo { + Assemblies: { + Dynamic: Assembly[] + GAC: Assembly[] + Other: Assembly[] + Plugins: Assembly[] + SenseNet: Assembly[] + } + Components: Component[] + DatabaseAvailable: boolean + InstalledPackages: Package[] +} + +/** + * Returns the current repository's Version Info values and also checks if the installed components has an updated version on https://nuget.org + */ +export const useVersionInfo = () => { + const [versionInfo, setVersionInfo] = useState() + const [nugetManifests, setNugetManifests] = useState([]) + const [hasUpdates, setHasUpdates] = useState(false) + const repo = useRepository() + + useEffect(() => { + ;(async () => { + const result = await repo.executeAction({ + idOrPath: ConstantContent.PORTAL_ROOT.Path, + body: undefined, + method: 'GET', + name: 'GetVersionInfo', + }) + + const nugetPromises = result.Components.map(async component => { + try { + const response = await fetch( + `https://api.nuget.org/v3/registration3-gz-semver2/${component.ComponentId.toLowerCase()}/index.json`, + ) + if (response.ok) { + const nugetManifest = await response.json() + return nugetManifest + } + } catch (error) { + return {} + } + }) + const loadedManifests = (await Promise.all(nugetPromises)).filter(m => m) + setNugetManifests(loadedManifests) + + let hasOneUpdate = false + + result.Components = result.Components.map(component => { + const nugetManifest = loadedManifests.find( + m => + m['@id'] === + `https://api.nuget.org/v3/registration3-gz-semver2/${component.ComponentId.toLocaleLowerCase()}/index.json`, + ) + const updateAvailable = nugetManifest ? nugetManifest.items[0].upper > component.Version : false + if (updateAvailable) { + hasOneUpdate = true + } + return { + ...component, + NugetManifest: nugetManifest, + IsUpdateAvailable: updateAvailable, + } + }) + setHasUpdates(hasOneUpdate) + setVersionInfo(result) + })() + }, [repo]) + + return { versionInfo, nugetManifests, hasUpdates } +} diff --git a/apps/sensenet/src/hooks/use-wopi.ts b/packages/sn-hooks-react/src/hooks/use-wopi.ts similarity index 64% rename from apps/sensenet/src/hooks/use-wopi.ts rename to packages/sn-hooks-react/src/hooks/use-wopi.ts index 64be9b986..abcc5c675 100644 --- a/apps/sensenet/src/hooks/use-wopi.ts +++ b/packages/sn-hooks-react/src/hooks/use-wopi.ts @@ -1,24 +1,34 @@ import { ActionModel, File, GenericContent } from '@sensenet/default-content-types' -import { isContentFromType } from '../utils/isContentFromType' import { useRepository } from './use-repository' + +/** + * Returns if the current content can be opened in WOPI for read or write. + * @param content The content to check + */ export const useWopi = (content: GenericContent) => { const repo = useRepository() const isWriteAwailable = - isContentFromType(content, File, repo.schemas) && + repo.schemas.isContentFromType(content, File) && content.Actions && (content.Actions as ActionModel[]).length > 0 && (content.Actions as ActionModel[]).find(a => a.Name === 'WopiOpenEdit') const isReadAwailable = isWriteAwailable || - (isContentFromType(content, File, repo.schemas) && + (repo.schemas.isContentFromType(content, File) && content.Actions && (content.Actions as ActionModel[]).length > 0 && (content.Actions as ActionModel[]).find(a => a.Name === 'WopiOpenView')) return { + /** + * The file can be opened for read with WOPI + */ isReadAwailable, + /** + * The file can be opened for write with WOPI + */ isWriteAwailable, } } diff --git a/packages/sn-hooks-react/src/index.ts b/packages/sn-hooks-react/src/index.ts new file mode 100644 index 000000000..1db759f26 --- /dev/null +++ b/packages/sn-hooks-react/src/index.ts @@ -0,0 +1,2 @@ +export * from './context' +export * from './hooks' diff --git a/packages/sn-hooks-react/test/__snapshots__/current-ancestors.test.tsx.snap b/packages/sn-hooks-react/test/__snapshots__/current-ancestors.test.tsx.snap new file mode 100644 index 000000000..60011e56c --- /dev/null +++ b/packages/sn-hooks-react/test/__snapshots__/current-ancestors.test.tsx.snap @@ -0,0 +1,7 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`CurrentAncestors matches snapshot 1`] = ` + +`; diff --git a/packages/sn-hooks-react/test/__snapshots__/current-children.test.tsx.snap b/packages/sn-hooks-react/test/__snapshots__/current-children.test.tsx.snap new file mode 100644 index 000000000..64f759edd --- /dev/null +++ b/packages/sn-hooks-react/test/__snapshots__/current-children.test.tsx.snap @@ -0,0 +1,91 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`CurrentChildren Can be mounted 1`] = ` + +
+ Id: + 1 +
+
+`; + +exports[`CurrentChildren matches snapshot 1`] = ` + +`; + +exports[`CurrentChildren reloads when new content is created 1`] = ` + +
+ Id: + 1 + , Name: + name +
+
+`; + +exports[`CurrentChildren reloads when new content is created 2`] = ` + +
+ Id: + 1 + , Name: + name +
+
+ Id: + 123 + , Name: + something +
+
+`; + +exports[`CurrentChildren reloads when new content is deleted 1`] = ` + +
+ Id: + 1 + , Name: + name +
+
+`; + +exports[`CurrentChildren reloads when new content is deleted 2`] = ``; + +exports[`CurrentChildren reloads when new content is uploaded under current content 1`] = ` + +
+ Id: + 1 + , Name: + name +
+
+`; + +exports[`CurrentChildren reloads when new content is uploaded under current content 2`] = ` + +
+ Id: + 1 + , Name: + name +
+
+`; diff --git a/packages/sn-hooks-react/test/__snapshots__/current-content.test.tsx.snap b/packages/sn-hooks-react/test/__snapshots__/current-content.test.tsx.snap new file mode 100644 index 000000000..ea3c8cfc3 --- /dev/null +++ b/packages/sn-hooks-react/test/__snapshots__/current-content.test.tsx.snap @@ -0,0 +1,15 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`CurrentContent matches snapshot 1`] = ` + +`; diff --git a/packages/sn-hooks-react/test/__snapshots__/injector.test.tsx.snap b/packages/sn-hooks-react/test/__snapshots__/injector.test.tsx.snap new file mode 100644 index 000000000..f60041cdc --- /dev/null +++ b/packages/sn-hooks-react/test/__snapshots__/injector.test.tsx.snap @@ -0,0 +1,3 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Injector matches snapshot 1`] = ``; diff --git a/packages/sn-hooks-react/test/__snapshots__/load-settings.test.tsx.snap b/packages/sn-hooks-react/test/__snapshots__/load-settings.test.tsx.snap new file mode 100644 index 000000000..db44d635f --- /dev/null +++ b/packages/sn-hooks-react/test/__snapshots__/load-settings.test.tsx.snap @@ -0,0 +1,25 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`LoadSettings matches snapshot 1`] = ` + +`; diff --git a/packages/sn-hooks-react/test/__snapshots__/logger.test.tsx.snap b/packages/sn-hooks-react/test/__snapshots__/logger.test.tsx.snap new file mode 100644 index 000000000..30fda83c7 --- /dev/null +++ b/packages/sn-hooks-react/test/__snapshots__/logger.test.tsx.snap @@ -0,0 +1,12 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Logger matches snapshot 1`] = ` + +`; diff --git a/packages/sn-hooks-react/test/__snapshots__/repository.test.tsx.snap b/packages/sn-hooks-react/test/__snapshots__/repository.test.tsx.snap new file mode 100644 index 000000000..533175900 --- /dev/null +++ b/packages/sn-hooks-react/test/__snapshots__/repository.test.tsx.snap @@ -0,0 +1,3 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Repository matches snapshot 1`] = ``; diff --git a/packages/sn-hooks-react/test/__snapshots__/use-download.test.tsx.snap b/packages/sn-hooks-react/test/__snapshots__/use-download.test.tsx.snap new file mode 100644 index 000000000..e5868e535 --- /dev/null +++ b/packages/sn-hooks-react/test/__snapshots__/use-download.test.tsx.snap @@ -0,0 +1,39 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`useDownload() for file contents 1`] = ` + +
+ IsFile: +
+
+`; + +exports[`useDownload() for non-file contents 1`] = ` + +
+ IsFile: +
+
+`; diff --git a/packages/sn-hooks-react/test/__snapshots__/use-injector.test.tsx.snap b/packages/sn-hooks-react/test/__snapshots__/use-injector.test.tsx.snap new file mode 100644 index 000000000..6ff609a5d --- /dev/null +++ b/packages/sn-hooks-react/test/__snapshots__/use-injector.test.tsx.snap @@ -0,0 +1,7 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Injector Should match the snapshot 1`] = ` +
+ {"options":{},"cachedSingletons":{}} +
+`; diff --git a/packages/sn-hooks-react/test/__snapshots__/use-logger.test.tsx.snap b/packages/sn-hooks-react/test/__snapshots__/use-logger.test.tsx.snap new file mode 100644 index 000000000..b79b5198d --- /dev/null +++ b/packages/sn-hooks-react/test/__snapshots__/use-logger.test.tsx.snap @@ -0,0 +1,7 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Injector Should match the snapshot 1`] = ` +
+ {} +
+`; diff --git a/packages/sn-hooks-react/test/__snapshots__/use-repository-events.test.tsx.snap b/packages/sn-hooks-react/test/__snapshots__/use-repository-events.test.tsx.snap new file mode 100644 index 000000000..fcd295345 --- /dev/null +++ b/packages/sn-hooks-react/test/__snapshots__/use-repository-events.test.tsx.snap @@ -0,0 +1,7 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Repository Events Should match the snapshot 1`] = ` +
+ "EventHub" +
+`; diff --git a/packages/sn-hooks-react/test/__snapshots__/use-repository.test.tsx.snap b/packages/sn-hooks-react/test/__snapshots__/use-repository.test.tsx.snap new file mode 100644 index 000000000..1734b8e74 --- /dev/null +++ b/packages/sn-hooks-react/test/__snapshots__/use-repository.test.tsx.snap @@ -0,0 +1,7 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Repository Should match the snapshot 1`] = ` +
+ "Repository" +
+`; diff --git a/packages/sn-hooks-react/test/__snapshots__/use-session.test.tsx.snap b/packages/sn-hooks-react/test/__snapshots__/use-session.test.tsx.snap new file mode 100644 index 000000000..c350d010d --- /dev/null +++ b/packages/sn-hooks-react/test/__snapshots__/use-session.test.tsx.snap @@ -0,0 +1,3 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Session Should match the snapshot 1`] = `
`; diff --git a/packages/sn-hooks-react/test/__snapshots__/use-version-info.test.tsx.snap b/packages/sn-hooks-react/test/__snapshots__/use-version-info.test.tsx.snap new file mode 100644 index 000000000..b44ea30d6 --- /dev/null +++ b/packages/sn-hooks-react/test/__snapshots__/use-version-info.test.tsx.snap @@ -0,0 +1,7 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Version Info Should match the snapshot 1`] = ` +
+ {"nugetManifests":[],"hasUpdates":false} +
+`; diff --git a/packages/sn-hooks-react/test/__snapshots__/use-wopi.test.tsx.snap b/packages/sn-hooks-react/test/__snapshots__/use-wopi.test.tsx.snap new file mode 100644 index 000000000..4db6590d5 --- /dev/null +++ b/packages/sn-hooks-react/test/__snapshots__/use-wopi.test.tsx.snap @@ -0,0 +1,19 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Wopi Should allow edit based on available action 1`] = ` +
+ {"isReadAwailable":{"Name":"WopiOpenEdit"},"isWriteAwailable":{"Name":"WopiOpenEdit"}} +
+`; + +exports[`Wopi Should allow view based on available action 1`] = ` +
+ {"isReadAwailable":{"Name":"WopiOpenView"}} +
+`; + +exports[`Wopi Should match the snapshot 1`] = ` +
+ {} +
+`; diff --git a/packages/sn-hooks-react/test/current-ancestors.test.tsx b/packages/sn-hooks-react/test/current-ancestors.test.tsx new file mode 100644 index 000000000..47d402dca --- /dev/null +++ b/packages/sn-hooks-react/test/current-ancestors.test.tsx @@ -0,0 +1,33 @@ +import React from 'react' +import { mount, shallow } from 'enzyme' +import { act } from 'react-dom/test-utils' +import { CurrentAncestorsProvider } from '../src/context/current-ancestors' +import { CurrentContentContext } from '../src/context' + +describe('CurrentAncestors', () => { + it('matches snapshot', () => { + const p = shallow() + expect(p).toMatchSnapshot() + }) + + it('Does not fetch if the currentContent equals root', async () => { + await act(async () => { + const mockContent = { Id: 123, Path: '/Root/Content', Type: 'Folder', Name: 'Folder' } + mount( + + + , + ) + }) + }) + + it('Tries to load ancestors', async () => { + await act(async () => { + mount( + +
a
+
, + ) + }) + }) +}) diff --git a/packages/sn-hooks-react/test/current-children.test.tsx b/packages/sn-hooks-react/test/current-children.test.tsx new file mode 100644 index 000000000..1b63468b0 --- /dev/null +++ b/packages/sn-hooks-react/test/current-children.test.tsx @@ -0,0 +1,236 @@ +import React from 'react' +import { mount, shallow } from 'enzyme' +import { Repository } from '@sensenet/client-core' +import { sleepAsync } from '@sensenet/client-utils' +import { act } from 'react-dom/test-utils' +import { CurrentChildrenContext, CurrentChildrenProvider } from '../src/context/current-children' +import { RepositoryContext } from '../src/context' +import { ErrorBoundary } from './mocks/error-boundry' +import { Repository as MockRepository } from './mocks/repository' + +describe('CurrentChildren', () => { + it('matches snapshot', () => { + const p = shallow() + expect(p).toMatchSnapshot() + }) + + it('Can be mounted', async () => { + let resolve: any + const repo = new Repository( + {}, + () => + ({ + ok: true, + json: () => + new Promise(_resolve => { + resolve = _resolve + }), + } as any), + ) + + const wrapper = mount( + + + + {value => (value.length ?
Id: {value[0].Id}
: null)} +
+
+
, + ) + + await sleepAsync(0) + + await act(async () => { + resolve({ + d: { + results: [{ Id: 1 }], + }, + }) + }) + + expect( + wrapper + .update() + .find('div') + .text(), + ).toBe('Id: 1') + expect(wrapper).toMatchSnapshot() + }) + + it("throws error when can't connect", async () => { + // Don't show console errors when tests runs + jest.spyOn(console, 'error').mockImplementation(() => jest.fn()) + const mock = jest.fn() + + const repo = new Repository( + {}, + () => + ({ + ok: false, + json: () => { + return { + error: { + message: { value: 'cant connect' }, + }, + } + }, + } as any), + ) + + await act(async () => { + mount( + + + + + {value => (value.length ?
Id: {value[0].Id}
: null)} +
+
+
+ , +
, + ) + await sleepAsync(0) + }) + + expect(mock).toBeCalledWith('cant connect') + // Restore console.errors + jest.restoreAllMocks() + }) + + it('reloads when content changes', async () => { + const mockRepository = new MockRepository() + let wrapper: any + await act(async () => { + wrapper = mount( + + + + {value => + value.length ? ( +
+ Id: {value[0].Id}, Name: {value[0].Name} +
+ ) : null + } +
+
+
, + ) + }) + + expect( + wrapper + .update() + .find('div') + .text(), + ).toBe('Id: 1, Name: name') + + await act(async () => { + mockRepository.patch({ Id: 1, Name: 'newName' }) + }) + + expect( + wrapper + .update() + .find('div') + .text(), + ).toBe('Id: 1, Name: newName') + }) + + it('reloads when new content is created', async () => { + const mockRepository = new MockRepository() + let wrapper: any + await act(async () => { + wrapper = mount( + + + + {value => + value.length + ? value.map(c => ( +
+ Id: {c.Id}, Name: {c.Name} +
+ )) + : null + } +
+
+
, + ) + }) + + expect(wrapper.update()).toMatchSnapshot() + + await act(async () => { + mockRepository.post({ Id: 123, Name: 'something', ParentId: 2, Path: '/Root/something' }) + }) + + expect(wrapper.update()).toMatchSnapshot() + }) + + it('reloads when new content is deleted', async () => { + const mockRepository = new MockRepository() + let wrapper: any + await act(async () => { + wrapper = mount( + + + + {value => + value.length + ? value.map(c => ( +
+ Id: {c.Id}, Name: {c.Name} +
+ )) + : null + } +
+
+
, + ) + }) + + expect(wrapper.update()).toMatchSnapshot() + + await act(async () => { + mockRepository.delete({ Id: 1, Path: '/Root/Path' }) + }) + + expect(wrapper.update()).toMatchSnapshot() + }) + + it('reloads when new content is uploaded under current content', async () => { + const mockRepository = new MockRepository() + let wrapper: any + await act(async () => { + wrapper = mount( + + + + {value => + value.length + ? value.map(c => ( +
+ Id: {c.Id}, Name: {c.Name} +
+ )) + : null + } +
+
+
, + ) + }) + + expect(wrapper.update()).toMatchSnapshot() + + await act(async () => { + mockRepository.upload.uploadNonChunked() + }) + + expect(wrapper.update()).toMatchSnapshot() + }) +}) diff --git a/packages/sn-hooks-react/test/current-content.test.tsx b/packages/sn-hooks-react/test/current-content.test.tsx new file mode 100644 index 000000000..cde9a7eaf --- /dev/null +++ b/packages/sn-hooks-react/test/current-content.test.tsx @@ -0,0 +1,36 @@ +import React from 'react' +import { mount, shallow } from 'enzyme' +import { act } from 'react-dom/test-utils' +import { Repository } from '@sensenet/client-core' +import { CurrentContentProvider } from '../src/context/current-content' +import { RepositoryContext } from '../src/context' + +describe('CurrentContent', () => { + it('matches snapshot', () => { + const p = shallow() + expect(p).toMatchSnapshot() + }) + + it('can be mounted', async () => { + await act(async () => { + const repo = new Repository( + {}, + async () => + ({ + ok: true, + json: async () => ({ + d: { + /** */ + Id: 1, + }, + }), + } as any), + ) + mount( + + + , + ) + }) + }) +}) diff --git a/packages/sn-hooks-react/test/injector.test.tsx b/packages/sn-hooks-react/test/injector.test.tsx new file mode 100644 index 000000000..aabbe3170 --- /dev/null +++ b/packages/sn-hooks-react/test/injector.test.tsx @@ -0,0 +1,10 @@ +import React from 'react' +import { shallow } from 'enzyme' +import { InjectorContext } from '../src/context/injector' + +describe('Injector', () => { + it('matches snapshot', () => { + const p = shallow({() => <>}) + expect(p).toMatchSnapshot() + }) +}) diff --git a/packages/sn-hooks-react/test/load-settings.test.tsx b/packages/sn-hooks-react/test/load-settings.test.tsx new file mode 100644 index 000000000..a504df10e --- /dev/null +++ b/packages/sn-hooks-react/test/load-settings.test.tsx @@ -0,0 +1,24 @@ +import React, { useContext } from 'react' +import { shallow } from 'enzyme' +import { LoadSettingsContext, LoadSettingsContextProvider } from '../src/context/load-settings' + +describe('LoadSettings', () => { + it('matches snapshot', () => { + const p = shallow() + expect(p).toMatchSnapshot() + }) + + it('Has the default methods and settings', () => { + const MockComponent: React.FC = () => { + const ls = useContext(LoadSettingsContext) + ls.setLoadAncestorsSettings({}) + ls.setLoadChildrenSettings({}) + ls.setLoadSettings({}) + expect(ls.loadAncestorsSettings).toEqual({}) + expect(ls.loadChildrenSettings).toEqual({}) + expect(ls.loadSettings).toEqual({}) + return
+ } + shallow() + }) +}) diff --git a/packages/sn-hooks-react/test/logger.test.tsx b/packages/sn-hooks-react/test/logger.test.tsx new file mode 100644 index 000000000..cd17aa636 --- /dev/null +++ b/packages/sn-hooks-react/test/logger.test.tsx @@ -0,0 +1,10 @@ +import React from 'react' +import { shallow } from 'enzyme' +import { LoggerContextProvider } from '../src/context/logger' + +describe('Logger', () => { + it('matches snapshot', () => { + const p = shallow() + expect(p).toMatchSnapshot() + }) +}) diff --git a/packages/sn-hooks-react/test/mocks/error-boundry.tsx b/packages/sn-hooks-react/test/mocks/error-boundry.tsx new file mode 100644 index 000000000..b5c3aa632 --- /dev/null +++ b/packages/sn-hooks-react/test/mocks/error-boundry.tsx @@ -0,0 +1,26 @@ +import React from 'react' + +/* eslint-disable @typescript-eslint/explicit-member-accessibility */ +export class ErrorBoundary extends React.Component<{ spy: any }, { hasError: boolean }> { + static getDerivedStateFromError() { + return { + hasError: true, + } + } + + constructor(props: Readonly<{ spy: any }>) { + super(props) + this.state = { hasError: false } + } + + componentDidCatch(error: Error) { + const { spy } = this.props + spy(error.message) + } + + render() { + const { children } = this.props + const { hasError } = this.state + return {hasError ? 'Error' : children} + } +} diff --git a/packages/sn-hooks-react/test/mocks/repository.ts b/packages/sn-hooks-react/test/mocks/repository.ts new file mode 100644 index 000000000..50c36a330 --- /dev/null +++ b/packages/sn-hooks-react/test/mocks/repository.ts @@ -0,0 +1,42 @@ +/* eslint-disable @typescript-eslint/explicit-member-accessibility */ +export class Repository { + content = [{ Id: 1, Name: 'name' }] + post(content: any) { + this.content = [...this.content, content] + return { d: content } + } + patch(content: any) { + this.content = [content] + return { d: this.content[0] } + } + put() { + console.log('put') + } + delete(content: any) { + this.content = this.content.filter(c => c.Id !== content.Id) + return { d: { results: [content], errors: [] } } + } + copy() { + console.log('copy') + } + move() { + console.log('move') + } + executeAction() { + console.log('executeAction') + } + load() { + return { d: this.content[0] } + } + loadCollection() { + return { d: { results: this.content } } + } + upload = { + uploadChunked() { + console.log('uploadChunked') + }, + uploadNonChunked() { + return { Url: '/Root/path' } + }, + } +} diff --git a/packages/sn-hooks-react/test/repository.test.tsx b/packages/sn-hooks-react/test/repository.test.tsx new file mode 100644 index 000000000..22e479496 --- /dev/null +++ b/packages/sn-hooks-react/test/repository.test.tsx @@ -0,0 +1,10 @@ +import React from 'react' +import { shallow } from 'enzyme' +import { RepositoryContext } from '../src/context/repository' + +describe('Repository', () => { + it('matches snapshot', () => { + const p = shallow({() => <>}) + expect(p).toMatchSnapshot() + }) +}) diff --git a/packages/sn-hooks-react/test/session.test.tsx b/packages/sn-hooks-react/test/session.test.tsx new file mode 100644 index 000000000..0498cc963 --- /dev/null +++ b/packages/sn-hooks-react/test/session.test.tsx @@ -0,0 +1,27 @@ +import React from 'react' +import { mount } from 'enzyme' +import { act } from 'react-dom/test-utils' +import { SessionContextProvider } from '../src/context/session' +import { useRepository } from '../src/hooks' + +describe('Session', () => { + it('Should update the current user state on repository auth.state change', async () => { + const MockElement: React.FC = () => { + const repo = useRepository() + repo.authentication.currentUser.setValue({ + Type: 'User', + Id: 12345, + Name: 'DevDog', + Path: 'Root/IMS/DevDog', + }) + return
+ } + await act(async () => { + mount( + + + , + ) + }) + }) +}) diff --git a/packages/sn-hooks-react/test/use-download.test.tsx b/packages/sn-hooks-react/test/use-download.test.tsx new file mode 100644 index 000000000..eedfd2535 --- /dev/null +++ b/packages/sn-hooks-react/test/use-download.test.tsx @@ -0,0 +1,57 @@ +import React from 'react' +import { GenericContent } from '@sensenet/default-content-types' +import { mount } from 'enzyme' +import * as downloadHook from '../src/hooks/use-download' + +const DownloadDump: React.FC<{ content: GenericContent }> = ({ content }) => { + const d = downloadHook.useDownload(content) + return
IsFile: {d.isFile}
+} + +describe('useDownload()', () => { + it('for non-file contents', () => { + const t = mount( + , + ) + expect(t).toMatchSnapshot() + }) + + it('for file contents', () => { + const t = mount( + , + ) + expect(t).toMatchSnapshot() + }) + + it('should trigger download on click', () => { + jest.spyOn(downloadHook, 'downloadFile') + jest.spyOn(downloadHook, 'fakeClick') + const t = mount( + , + ) + ;(t.find('div').prop('onClick') as any)() + expect(downloadHook.downloadFile).toBeCalled() + expect(downloadHook.fakeClick).toBeCalled() + }) +}) diff --git a/packages/sn-hooks-react/test/use-injector.test.tsx b/packages/sn-hooks-react/test/use-injector.test.tsx new file mode 100644 index 000000000..e76fa8ea2 --- /dev/null +++ b/packages/sn-hooks-react/test/use-injector.test.tsx @@ -0,0 +1,14 @@ +import React from 'react' +import { shallow } from 'enzyme' +import { useInjector } from '../src/hooks' + +const InjectorDump = () => { + const i = useInjector() + return
{JSON.stringify(i)}
+} + +describe('Injector', () => { + it('Should match the snapshot', () => { + expect(shallow()).toMatchSnapshot() + }) +}) diff --git a/packages/sn-hooks-react/test/use-logger.test.tsx b/packages/sn-hooks-react/test/use-logger.test.tsx new file mode 100644 index 000000000..c07bb1d9a --- /dev/null +++ b/packages/sn-hooks-react/test/use-logger.test.tsx @@ -0,0 +1,14 @@ +import React from 'react' +import { shallow } from 'enzyme' +import { useLogger } from '../src/hooks' + +const LoggerDump = () => { + const i = useLogger('testScope') + return
{JSON.stringify(i)}
+} + +describe('Injector', () => { + it('Should match the snapshot', () => { + expect(shallow()).toMatchSnapshot() + }) +}) diff --git a/packages/sn-hooks-react/test/use-repository-events.test.tsx b/packages/sn-hooks-react/test/use-repository-events.test.tsx new file mode 100644 index 000000000..ba57a4b63 --- /dev/null +++ b/packages/sn-hooks-react/test/use-repository-events.test.tsx @@ -0,0 +1,14 @@ +import React from 'react' +import { shallow } from 'enzyme' +import { useRepositoryEvents } from '../src/hooks' + +const RepoEventsDump = () => { + const i = useRepositoryEvents() + return
{JSON.stringify(i.constructor.name)}
+} + +describe('Repository Events', () => { + it('Should match the snapshot', () => { + expect(shallow()).toMatchSnapshot() + }) +}) diff --git a/packages/sn-hooks-react/test/use-repository.test.tsx b/packages/sn-hooks-react/test/use-repository.test.tsx new file mode 100644 index 000000000..6e2ec0186 --- /dev/null +++ b/packages/sn-hooks-react/test/use-repository.test.tsx @@ -0,0 +1,14 @@ +import React from 'react' +import { shallow } from 'enzyme' +import { useRepository } from '../src/hooks' + +const RepoDump = () => { + const i = useRepository() + return
{JSON.stringify(i.constructor.name)}
+} + +describe('Repository', () => { + it('Should match the snapshot', () => { + expect(shallow()).toMatchSnapshot() + }) +}) diff --git a/packages/sn-hooks-react/test/use-session.test.tsx b/packages/sn-hooks-react/test/use-session.test.tsx new file mode 100644 index 000000000..6ad265de6 --- /dev/null +++ b/packages/sn-hooks-react/test/use-session.test.tsx @@ -0,0 +1,14 @@ +import React from 'react' +import { shallow } from 'enzyme' +import { useSession } from '../src/hooks' + +const SessionDump = () => { + const i = useSession() + return
{JSON.stringify(i.constructor)}
+} + +describe('Session', () => { + it('Should match the snapshot', () => { + expect(shallow()).toMatchSnapshot() + }) +}) diff --git a/packages/sn-hooks-react/test/use-version-info.test.tsx b/packages/sn-hooks-react/test/use-version-info.test.tsx new file mode 100644 index 000000000..d3ec6396c --- /dev/null +++ b/packages/sn-hooks-react/test/use-version-info.test.tsx @@ -0,0 +1,79 @@ +import React from 'react' +import { act } from 'react-dom/test-utils' +import { mount, shallow } from 'enzyme' +import { Repository } from '@sensenet/client-core' +import { useVersionInfo, VersionInfo } from '../src/hooks' +import { RepositoryContext } from '../src/context' + +const VersionInfoDump = () => { + const i = useVersionInfo() + return
{JSON.stringify(i)}
+} + +describe('Version Info', () => { + it('Should match the snapshot', () => { + expect(shallow()).toMatchSnapshot() + }) + + it('Without updates', async () => { + const repo = new Repository( + {}, + async () => + ({ + ok: true, + json: async () => + ({ + Assemblies: { + Dynamic: [], + GAC: [], + Other: [], + Plugins: [], + SenseNet: [], + }, + Components: [], + DatabaseAvailable: true, + InstalledPackages: [], + } as VersionInfo), + } as any), + ) + await act(async () => { + mount( + + + , + ) + }) + }) + + it('Has an outdated component', async () => { + const repo = new Repository( + {}, + async () => + ({ + ok: true, + json: async () => + ({ + Assemblies: { + Dynamic: [], + GAC: [], + Other: [], + Plugins: [], + SenseNet: [], + }, + Components: [ + { ComponentId: 'SenseNet.Services', Version: '6.5.4', AcceptableVersion: '6.5.4', Description: '' }, + ], + DatabaseAvailable: true, + InstalledPackages: [], + } as VersionInfo), + } as any), + ) + await act(async () => { + mount( + + + , + ) + }) + }) +}) diff --git a/packages/sn-hooks-react/test/use-wopi.test.tsx b/packages/sn-hooks-react/test/use-wopi.test.tsx new file mode 100644 index 000000000..9e2dedb4f --- /dev/null +++ b/packages/sn-hooks-react/test/use-wopi.test.tsx @@ -0,0 +1,47 @@ +import React from 'react' +import { shallow } from 'enzyme' +import { ActionModel, GenericContent } from '@sensenet/default-content-types' +import { useWopi } from '../src/hooks' + +const WopiDump: React.FC<{ content: GenericContent }> = ({ content }) => { + const i = useWopi(content) + return
{JSON.stringify(i)}
+} + +describe('Wopi', () => { + it('Should match the snapshot', () => { + expect(shallow()).toMatchSnapshot() + }) + + it('Should allow edit based on available action', () => { + expect( + shallow( + , + ), + ).toMatchSnapshot() + }) + + it('Should allow view based on available action', () => { + expect( + shallow( + , + ), + ).toMatchSnapshot() + }) +}) diff --git a/packages/sn-hooks-react/tsconfig.json b/packages/sn-hooks-react/tsconfig.json new file mode 100644 index 000000000..0ea999d1b --- /dev/null +++ b/packages/sn-hooks-react/tsconfig.json @@ -0,0 +1,14 @@ +{ + "extends": "../../tsconfig-base.json", + "compilerOptions": { + "outDir": "dist", + "rootDir": "src" + }, + "include": ["src"], + "references": [ + { "path": "../sn-default-content-types" }, + { "path": "../sn-client-core" }, + { "path": "../sn-client-utils" }, + { "path": "../sn-repository-events" } + ] +} diff --git a/packages/sn-icons-react/package.json b/packages/sn-icons-react/package.json index a7a1828f9..027ee78e4 100644 --- a/packages/sn-icons-react/package.json +++ b/packages/sn-icons-react/package.json @@ -1,6 +1,6 @@ { "name": "@sensenet/icons-react", - "version": "1.2.12", + "version": "1.2.13", "description": "A React component rendering icons for sensenet.", "main": "dist/index.js", "typings": "./dist/index.d.ts", @@ -32,14 +32,14 @@ }, "homepage": "https://sensenet.com", "dependencies": { - "@material-ui/core": "^4.3.1", + "@material-ui/core": "^4.3.3", "@material-ui/icons": "^4.0.1", - "react": "^16.8.6", - "react-dom": "^16.8.6" + "react": "^16.9.0", + "react-dom": "^16.9.0" }, "devDependencies": { - "@types/node": "^12.6.8", - "@types/react": "^16.8.23", + "@types/node": "^12.7.2", + "@types/react": "^16.9.2", "prop-types": "^15.6.2" }, "publishConfig": { diff --git a/packages/sn-list-controls-react/package.json b/packages/sn-list-controls-react/package.json index 8a6c352a7..4bee1b4d4 100644 --- a/packages/sn-list-controls-react/package.json +++ b/packages/sn-list-controls-react/package.json @@ -1,6 +1,6 @@ { "name": "@sensenet/list-controls-react", - "version": "1.3.10", + "version": "1.3.11", "description": "", "main": "dist/index.js", "typings": "./dist/index.d.ts", @@ -27,39 +27,39 @@ "license": "GPL-2.0", "homepage": "https://sensenet.com", "dependencies": { - "@material-ui/core": "^4.3.1", - "@sensenet/default-content-types": "^2.0.0", - "@sensenet/icons-react": "^1.2.12", - "@sensenet/repository-events": "^1.4.4", + "@material-ui/core": "^4.3.3", + "@sensenet/default-content-types": "^2.0.1", + "@sensenet/icons-react": "^1.2.13", + "@sensenet/repository-events": "^1.4.5", "moment": "^2.22.2", - "react": "^16.8.4", - "react-dom": "^16.8.4", + "react": "^16.9.0", + "react-dom": "^16.9.0", "react-fontawesome": "^1.6.1", "react-moment": "^0.9.2", - "uuid": "^3.3.2" + "uuid": "^3.3.3" }, "devDependencies": { - "@types/react": "^16.8.23", - "@types/react-dom": "^16.8.5", + "@types/react": "^16.9.2", + "@types/react-dom": "^16.9.0", "@types/react-router": "^5.0.3", - "@types/react-router-dom": "^4.3.3", + "@types/react-router-dom": "^4.3.5", "@types/uuid": "^3.4.5", "autoprefixer": "^9.6.1", "awesome-typescript-loader": "^5.2.1", "copy-webpack-plugin": "^5.0.4", - "css-loader": "^3.1.0", - "file-loader": "4.1.0", + "css-loader": "^3.2.0", + "file-loader": "4.2.0", "postcss-flexbugs-fixes": "^4.1.0", "postcss-loader": "^3.0.0", "prop-types": "^15.7.2", "react-router": "^5.0.0", "react-router-dom": "^5.0.0", "source-map-loader": "^0.2.4", - "style-loader": "^0.23.1", + "style-loader": "^1.0.0", "url-loader": "^2.1.0", - "webpack": "^4.38.0", + "webpack": "^4.39.2", "webpack-bundle-analyzer": "^3.4.1", - "webpack-cli": "^3.3.6", - "webpack-dev-server": "^3.4.1" + "webpack-cli": "^3.3.7", + "webpack-dev-server": "^3.8.0" } } diff --git a/packages/sn-pickers-react/package.json b/packages/sn-pickers-react/package.json index c282bfbfb..2c18316bc 100644 --- a/packages/sn-pickers-react/package.json +++ b/packages/sn-pickers-react/package.json @@ -1,6 +1,6 @@ { "name": "@sensenet/pickers-react", - "version": "1.2.3", + "version": "1.2.4", "description": "Content picker components in react with sensenet.", "keywords": [ "sensenet", @@ -31,14 +31,14 @@ "url": "https://github.com/SenseNet/sn-client/issues" }, "dependencies": { - "@material-ui/core": "^4.3.1", - "@sensenet/client-core": "^2.2.0", - "@sensenet/default-content-types": "^2.0.0", - "@sensenet/icons-react": "^1.2.12", - "react": "^16.8.6", - "react-async": "^7.0.5" + "@material-ui/core": "^4.3.3", + "@sensenet/client-core": "^2.2.1", + "@sensenet/default-content-types": "^2.0.1", + "@sensenet/icons-react": "^1.2.13", + "react": "^16.9.0", + "react-async": "^7.0.6" }, "devDependencies": { - "@types/react": "^16.8.23" + "@types/react": "^16.9.2" } } diff --git a/packages/sn-query/package.json b/packages/sn-query/package.json index 5a71a979f..dfa6ef20f 100644 --- a/packages/sn-query/package.json +++ b/packages/sn-query/package.json @@ -1,6 +1,6 @@ { "name": "@sensenet/query", - "version": "1.1.8", + "version": "1.1.9", "description": "Client side content query builder package for sensenet", "main": "dist/index.js", "typings": "./dist/index.d.ts", diff --git a/packages/sn-query/src/QueryExpression.ts b/packages/sn-query/src/QueryExpression.ts index 65263715b..72b1faf86 100644 --- a/packages/sn-query/src/QueryExpression.ts +++ b/packages/sn-query/src/QueryExpression.ts @@ -139,8 +139,8 @@ export class QueryExpression extends QuerySegment { fieldName: K, minValue: KValue, maxValue: KValue, - minimumInclusive: boolean = false, - maximumInclusive: boolean = false, + minimumInclusive = false, + maximumInclusive = false, ) { this.stringValue = `${fieldName}:${minimumInclusive ? '[' : '{'}'${this.escapeValue( minValue.toString(), @@ -158,7 +158,7 @@ export class QueryExpression extends QuerySegment { public greatherThan string }>( fieldName: K, minValue: KValue, - minimumInclusive: boolean = false, + minimumInclusive = false, ) { this.stringValue = `${fieldName}:>${minimumInclusive ? '=' : ''}'${this.escapeValue(minValue.toString())}'` this.segmentType = 'greatherThan' @@ -174,7 +174,7 @@ export class QueryExpression extends QuerySegment { public lessThan string }>( fieldName: K, maxValue: KValue, - maximumInclusive: boolean = false, + maximumInclusive = false, ) { this.stringValue = `${fieldName}:<${maximumInclusive ? '=' : ''}'${this.escapeValue(maxValue.toString())}'` this.segmentType = 'lessThan' diff --git a/packages/sn-query/src/QuerySegment.ts b/packages/sn-query/src/QuerySegment.ts index bceaa6ddf..8cc5fb26e 100644 --- a/packages/sn-query/src/QuerySegment.ts +++ b/packages/sn-query/src/QuerySegment.ts @@ -21,14 +21,14 @@ export class QuerySegment { /** * The String value of the current Query expression */ - protected stringValue: string = '' + protected stringValue = '' /** * A '.SORT' Content Query segment * @param {K} field The name of the field * @param {boolean} reverse Sort in reverse order, false by default */ - public sort(field: K, reverse: boolean = false) { + public sort(field: K, reverse = false) { this.stringValue = ` .${reverse ? 'REVERSESORT' : 'SORT'}:${field}` this.segmentType = 'sort' return this.finializeSegment() diff --git a/packages/sn-redux/package.json b/packages/sn-redux/package.json index 0cba19281..5ddd8da0b 100644 --- a/packages/sn-redux/package.json +++ b/packages/sn-redux/package.json @@ -1,6 +1,6 @@ { "name": "@sensenet/redux", - "version": "5.1.12", + "version": "5.1.13", "description": "A set of redux actions, reducers and redux-ovbservable epics for sensenet", "main": "dist/index.js", "typings": "./dist/index.d.ts", @@ -32,16 +32,16 @@ }, "homepage": "https://sensenet.com", "dependencies": { - "@sensenet/authentication-google": "^2.0.11", - "@sensenet/authentication-jwt": "^1.0.15", - "@sensenet/client-core": "^2.2.0", - "@sensenet/default-content-types": "^2.0.0", + "@sensenet/authentication-google": "^2.0.12", + "@sensenet/authentication-jwt": "^1.0.16", + "@sensenet/client-core": "^2.2.1", + "@sensenet/default-content-types": "^2.0.1", "@sensenet/redux-promise-middleware": "^2.1.9", "redux": "^4.0.4", "redux-logger": "^3.0.6" }, "devDependencies": { - "@types/node": "^12.6.8", + "@types/node": "^12.7.2", "@types/redux-logger": "^3.0.6", "redux-mock-store": "^1.5.3" } diff --git a/packages/sn-redux/src/Actions.ts b/packages/sn-redux/src/Actions.ts index 45f66fb4f..ac9a0f5c7 100644 --- a/packages/sn-redux/src/Actions.ts +++ b/packages/sn-redux/src/Actions.ts @@ -210,7 +210,7 @@ export const updateContent = (idOrPath: number | st * @param permanently {boolean} Defines whether the a Content must be moved to the Trash or deleted permanently. * @returns Returns an object with the deleted item or error and dispatches the next action based on the response. */ -export const deleteContent = (idOrPath: number | string, permanently: boolean = false) => ({ +export const deleteContent = (idOrPath: number | string, permanently = false) => ({ type: 'DELETE_CONTENT', payload: (repository: Repository) => repository.delete({ idOrPath, permanent: permanently }), }) @@ -220,7 +220,7 @@ export const deleteContent = (idOrPath: number | string, permanently: boolean = * @param permanently {boolean} Defines whether Content must be moved to the Trash or deleted permanently. * @returns Returns an object with the deleted items or errors and dispatches the next action based on the response. */ -export const deleteBatch = (contentItems: Array, permanently: boolean = false) => ({ +export const deleteBatch = (contentItems: Array, permanently = false) => ({ type: 'DELETE_BATCH', payload: (repository: Repository) => repository.delete({ idOrPath: contentItems, permanent: permanently }), }) @@ -283,7 +283,7 @@ export const checkOut = (idOrPath: number | string, */ export const checkIn = ( idOrPath: number | string, - checkInComments: string = '', + checkInComments = '', options?: ODataParams, ) => ({ type: 'CHECKIN_CONTENT', @@ -319,7 +319,7 @@ export const approve = (idOrPath: number | string, */ export const rejectContent = ( idOrPath: number | string, - rejectReason: string = '', + rejectReason = '', options?: ODataParams, ) => ({ type: 'REJECT_CONTENT', @@ -469,10 +469,10 @@ export const clearSelection = () => ({ export const uploadRequest = ( parentPath: string, file: File, - contentTypeName: string = 'File', - overwrite: boolean = true, + contentTypeName = 'File', + overwrite = true, body?: {}, - propertyName: string = 'Binary', + propertyName = 'Binary', ) => ({ type: 'UPLOAD_CONTENT', payload: async (repository: Repository) => { diff --git a/packages/sn-redux/test/ActionsTests.ts b/packages/sn-redux/test/ActionsTests.ts index 327b27a56..b7f458e17 100644 --- a/packages/sn-redux/test/ActionsTests.ts +++ b/packages/sn-redux/test/ActionsTests.ts @@ -586,7 +586,7 @@ describe('Actions', () => { expect(Actions.userLoginGoogle(googleOauthProvider).type).toBe('USER_LOGIN_GOOGLE') }) describe('serviceChecks()', () => { - describe('Given provider.login() resolves', async () => { + describe('Given provider.login() resolves', () => { let data: boolean beforeEach(async () => { data = await Actions.userLoginGoogle(googleOauthProvider, 'gasgsdagsdagd.dgsgfshdfhs').payload() diff --git a/packages/sn-repository-events/package.json b/packages/sn-repository-events/package.json index e590f0c1c..54c1bf64c 100644 --- a/packages/sn-repository-events/package.json +++ b/packages/sn-repository-events/package.json @@ -1,6 +1,6 @@ { "name": "@sensenet/repository-events", - "version": "1.4.4", + "version": "1.4.5", "description": "Client side repository event observables for sensenet", "main": "dist/index.js", "typings": "./dist/index.d.ts", @@ -34,7 +34,7 @@ }, "homepage": "https://sensenet.com", "dependencies": { - "@sensenet/client-core": "^2.2.0", - "@sensenet/client-utils": "^1.6.4" + "@sensenet/client-core": "^2.2.1", + "@sensenet/client-utils": "^1.6.5" } } diff --git a/packages/sn-repository-events/src/EventHub.ts b/packages/sn-repository-events/src/EventHub.ts index 0f0cb78ac..0925c8e9e 100644 --- a/packages/sn-repository-events/src/EventHub.ts +++ b/packages/sn-repository-events/src/EventHub.ts @@ -226,7 +226,6 @@ export class EventHub implements Disposable { contentArgs = [contentArgs] } const contents = contentArgs.map(v => { - // eslint-disable-next-line @typescript-eslint/no-object-literal-type-assertion return isNaN(v as number) ? { Path: v } : ({ Id: parseInt(v as string, 10) } as Content) }) for (const c of contents) { @@ -270,7 +269,6 @@ export class EventHub implements Disposable { contentArgs = [contentArgs] } const contents = contentArgs.map(v => { - // eslint-disable-next-line @typescript-eslint/no-object-literal-type-assertion return isNaN(v as number) ? { Path: v } : ({ Id: parseInt(v as string, 10) } as Content) }) for (const c of contents) { @@ -312,7 +310,6 @@ export class EventHub implements Disposable { contentArgs = [contentArgs] } const contents = contentArgs.map(v => { - // eslint-disable-next-line @typescript-eslint/no-object-literal-type-assertion return isNaN(v as number) ? { Path: v } : ({ Id: parseInt(v as string, 10) } as Content) }) for (const c of contents) { diff --git a/packages/sn-search-react/package.json b/packages/sn-search-react/package.json index 99bd018d4..dbe2de8b2 100644 --- a/packages/sn-search-react/package.json +++ b/packages/sn-search-react/package.json @@ -1,6 +1,6 @@ { "name": "@sensenet/search-react", - "version": "1.2.8", + "version": "1.2.9", "description": "Search component in react with sensenet", "main": "dist/index.js", "typings": "./dist/index.d.ts", @@ -27,36 +27,36 @@ "license": "GPL-2.0", "homepage": "https://sensenet.com", "dependencies": { - "@material-ui/core": "^4.3.1", - "@sensenet/client-core": "^2.2.0", - "@sensenet/control-mapper": "^2.0.1", - "@sensenet/default-content-types": "^2.0.0", - "@sensenet/icons-react": "^1.2.12", - "@sensenet/query": "^1.1.8", + "@material-ui/core": "^4.3.3", + "@sensenet/client-core": "^2.2.1", + "@sensenet/control-mapper": "^2.0.2", + "@sensenet/default-content-types": "^2.0.1", + "@sensenet/icons-react": "^1.2.13", + "@sensenet/query": "^1.1.9", "autosuggest-highlight": "^3.1.1", - "react": "^16.8.4", + "react": "^16.9.0", "react-autosuggest": "^9.4.3", - "react-dom": "^16.8.4" + "react-dom": "^16.9.0" }, "devDependencies": { "@types/autosuggest-highlight": "3.1.0", - "@types/react": "^16.8.23", - "@types/react-autosuggest": "^9.3.8", - "@types/react-dom": "^16.8.5", - "@types/react-router-dom": "^4.3.3", + "@types/react": "^16.9.2", + "@types/react-autosuggest": "^9.3.10", + "@types/react-dom": "^16.9.0", + "@types/react-router-dom": "^4.3.5", "autoprefixer": "^9.6.1", "awesome-typescript-loader": "^5.2.1", "copy-webpack-plugin": "^5.0.4", - "css-loader": "^3.1.0", - "file-loader": "^4.1.0", + "css-loader": "^3.2.0", + "file-loader": "^4.2.0", "postcss-flexbugs-fixes": "^4.1.0", "postcss-loader": "^3.0.0", "source-map-loader": "^0.2.4", - "style-loader": "^0.23.1", + "style-loader": "^1.0.0", "url-loader": "^2.1.0", - "webpack": "^4.38.0", + "webpack": "^4.39.2", "webpack-bundle-analyzer": "^3.4.1", - "webpack-cli": "^3.3.6", - "webpack-dev-server": "^3.4.1" + "webpack-cli": "^3.3.7", + "webpack-dev-server": "^3.8.0" } } diff --git a/packages/tsconfig.json b/packages/tsconfig.json index fa5cfe286..bbf83fd3c 100644 --- a/packages/tsconfig.json +++ b/packages/tsconfig.json @@ -10,6 +10,7 @@ { "path": "./sn-controls-react" }, { "path": "./sn-default-content-types" }, { "path": "./sn-document-viewer-react" }, + { "path": "./sn-hooks-react" }, { "path": "./sn-icons-react" }, { "path": "./sn-list-controls-react" }, { "path": "./sn-pickers-react" }, diff --git a/yarn.lock b/yarn.lock index a14dd355f..539cb6a6b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,61 +2,14 @@ # yarn lockfile v1 -"@babel/code-frame@7.0.0", "@babel/code-frame@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8" - integrity sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA== - dependencies: - "@babel/highlight" "^7.0.0" - -"@babel/code-frame@^7.5.5": +"@babel/code-frame@7.5.5", "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.5.5": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d" integrity sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw== dependencies: "@babel/highlight" "^7.0.0" -"@babel/core@7.4.3": - version "7.4.3" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.4.3.tgz#198d6d3af4567be3989550d97e068de94503074f" - integrity sha512-oDpASqKFlbspQfzAE7yaeTmdljSH2ADIvBlb0RwbStltTuWa0+7CCI1fYVINNv9saHPa1W7oaKeuNuKj+RQCvA== - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/generator" "^7.4.0" - "@babel/helpers" "^7.4.3" - "@babel/parser" "^7.4.3" - "@babel/template" "^7.4.0" - "@babel/traverse" "^7.4.3" - "@babel/types" "^7.4.0" - convert-source-map "^1.1.0" - debug "^4.1.0" - json5 "^2.1.0" - lodash "^4.17.11" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/core@^7.0.0", "@babel/core@^7.0.1", "@babel/core@^7.1.0", "@babel/core@^7.4.3": - version "7.4.5" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.4.5.tgz#081f97e8ffca65a9b4b0fdc7e274e703f000c06a" - integrity sha512-OvjIh6aqXtlsA8ujtGKfC7LYWksYSX8yQcM8Ay3LuvVeQ63lcOKgoZWVqcpFwkd29aYU9rVx7jxhfhiEDV9MZA== - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/generator" "^7.4.4" - "@babel/helpers" "^7.4.4" - "@babel/parser" "^7.4.5" - "@babel/template" "^7.4.4" - "@babel/traverse" "^7.4.5" - "@babel/types" "^7.4.4" - convert-source-map "^1.1.0" - debug "^4.1.0" - json5 "^2.1.0" - lodash "^4.17.11" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/core@^7.5.5": +"@babel/core@7.5.5", "@babel/core@^7.0.0", "@babel/core@^7.0.1", "@babel/core@^7.1.0", "@babel/core@^7.4.5", "@babel/core@^7.5.5": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.5.5.tgz#17b2686ef0d6bc58f963dddd68ab669755582c30" integrity sha512-i4qoSr2KTtce0DmkuuQBV4AuQgGPUcPXMr9L5MyYAtk06z068lQ10a4O009fe5OB/DfNV+h+qqT7ddNV8UnRjg== @@ -76,18 +29,7 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/generator@^7.4.0", "@babel/generator@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.4.4.tgz#174a215eb843fc392c7edcaabeaa873de6e8f041" - integrity sha512-53UOLK6TVNqKxf7RUh8NE851EHRxOOeVXKbK2bivdb+iziMyk03Sr4eaE9OELCbyZAAafAKPDwF2TPUES5QbxQ== - dependencies: - "@babel/types" "^7.4.4" - jsesc "^2.5.1" - lodash "^4.17.11" - source-map "^0.5.0" - trim-right "^1.0.1" - -"@babel/generator@^7.5.5": +"@babel/generator@^7.4.0", "@babel/generator@^7.5.5": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.5.5.tgz#873a7f936a3c89491b43536d12245b626664e3cf" integrity sha512-ETI/4vyTSxTzGnU2c49XHv2zhExkv9JHLTwDAFz85kmcwuShvYG2H08FwgIguQf4JC75CBnXAUM5PqeF4fj0nQ== @@ -130,26 +72,26 @@ "@babel/traverse" "^7.4.4" "@babel/types" "^7.4.4" -"@babel/helper-create-class-features-plugin@^7.4.0", "@babel/helper-create-class-features-plugin@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.4.4.tgz#fc3d690af6554cc9efc607364a82d48f58736dba" - integrity sha512-UbBHIa2qeAGgyiNR9RszVF7bUHEdgS4JAUNT8SiqrAN6YJVxlOxeLr5pBzb5kan302dejJ9nla4RyKcR1XT6XA== +"@babel/helper-create-class-features-plugin@^7.4.4", "@babel/helper-create-class-features-plugin@^7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.5.5.tgz#401f302c8ddbc0edd36f7c6b2887d8fa1122e5a4" + integrity sha512-ZsxkyYiRA7Bg+ZTRpPvB6AbOFKTFFK4LrvTet8lInm0V468MWCaSYJE+I7v2z2r8KNLtYiV+K5kTCnR7dvyZjg== dependencies: "@babel/helper-function-name" "^7.1.0" - "@babel/helper-member-expression-to-functions" "^7.0.0" + "@babel/helper-member-expression-to-functions" "^7.5.5" "@babel/helper-optimise-call-expression" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.4.4" + "@babel/helper-replace-supers" "^7.5.5" "@babel/helper-split-export-declaration" "^7.4.4" -"@babel/helper-define-map@^7.4.0", "@babel/helper-define-map@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.4.4.tgz#6969d1f570b46bdc900d1eba8e5d59c48ba2c12a" - integrity sha512-IX3Ln8gLhZpSuqHJSnTNBWGDE9kdkTEWl21A/K7PQ00tseBwbqCHTvNLHSBd9M0R5rER4h5Rsvj9vw0R5SieBg== +"@babel/helper-define-map@^7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz#3dec32c2046f37e09b28c93eb0b103fd2a25d369" + integrity sha512-fTfxx7i0B5NJqvUOBBGREnrqbTxRh7zinBANpZXAVDlsZxYdclDp467G1sQ8VZYMnAURY3RpBUAgOYT9GfzHBg== dependencies: "@babel/helper-function-name" "^7.1.0" - "@babel/types" "^7.4.4" - lodash "^4.17.11" + "@babel/types" "^7.5.5" + lodash "^4.17.13" "@babel/helper-explode-assignable-expression@^7.1.0": version "7.1.0" @@ -182,12 +124,12 @@ dependencies: "@babel/types" "^7.4.4" -"@babel/helper-member-expression-to-functions@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz#8cd14b0a0df7ff00f009e7d7a436945f47c7a16f" - integrity sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg== +"@babel/helper-member-expression-to-functions@^7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz#1fb5b8ec4453a93c439ee9fe3aeea4a84b76b590" + integrity sha512-5qZ3D1uMclSNqYcXqiHoA0meVdv+xUEex9em2fqMnrk/scphGlGgg66zjMrPJESPwrFJ6sbfFQYUSa0Mz7FabA== dependencies: - "@babel/types" "^7.0.0" + "@babel/types" "^7.5.5" "@babel/helper-module-imports@^7.0.0": version "7.0.0" @@ -197,16 +139,16 @@ "@babel/types" "^7.0.0" "@babel/helper-module-transforms@^7.1.0", "@babel/helper-module-transforms@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.4.4.tgz#96115ea42a2f139e619e98ed46df6019b94414b8" - integrity sha512-3Z1yp8TVQf+B4ynN7WoHPKS8EkdTbgAEy0nU0rs/1Kw4pDgmvYH3rz3aI11KgxKCba2cn7N+tqzV1mY2HMN96w== + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.5.5.tgz#f84ff8a09038dcbca1fd4355661a500937165b4a" + integrity sha512-jBeCvETKuJqeiaCdyaheF40aXnnU1+wkSiUs/IQg3tB85up1LyL8x77ClY8qJpuRJUcXQo+ZtdNESmZl4j56Pw== dependencies: "@babel/helper-module-imports" "^7.0.0" "@babel/helper-simple-access" "^7.1.0" "@babel/helper-split-export-declaration" "^7.4.4" "@babel/template" "^7.4.4" - "@babel/types" "^7.4.4" - lodash "^4.17.11" + "@babel/types" "^7.5.5" + lodash "^4.17.13" "@babel/helper-optimise-call-expression@^7.0.0": version "7.0.0" @@ -221,11 +163,11 @@ integrity sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA== "@babel/helper-regex@^7.0.0", "@babel/helper-regex@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.4.4.tgz#a47e02bc91fb259d2e6727c2a30013e3ac13c4a2" - integrity sha512-Y5nuB/kESmR3tKjU8Nkn1wMGEx1tjJX076HBMeL3XLQCu6vA/YRzuTW0bbb+qRnXvQGn+d6Rx953yffl8vEy7Q== + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.5.5.tgz#0aa6824f7100a2e0e89c1527c23936c152cab351" + integrity sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw== dependencies: - lodash "^4.17.11" + lodash "^4.17.13" "@babel/helper-remap-async-to-generator@^7.1.0": version "7.1.0" @@ -238,15 +180,15 @@ "@babel/traverse" "^7.1.0" "@babel/types" "^7.0.0" -"@babel/helper-replace-supers@^7.1.0", "@babel/helper-replace-supers@^7.4.0", "@babel/helper-replace-supers@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.4.4.tgz#aee41783ebe4f2d3ab3ae775e1cc6f1a90cefa27" - integrity sha512-04xGEnd+s01nY1l15EuMS1rfKktNF+1CkKmHoErDppjAAZL+IUBZpzT748x262HF7fibaQPhbvWUl5HeSt1EXg== +"@babel/helper-replace-supers@^7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz#f84ce43df031222d2bad068d2626cb5799c34bc2" + integrity sha512-XvRFWrNnlsow2u7jXDuH4jDDctkxbS7gXssrP4q2nUD606ukXHRvydj346wmNg+zAgpFx4MWf4+usfC93bElJg== dependencies: - "@babel/helper-member-expression-to-functions" "^7.0.0" + "@babel/helper-member-expression-to-functions" "^7.5.5" "@babel/helper-optimise-call-expression" "^7.0.0" - "@babel/traverse" "^7.4.4" - "@babel/types" "^7.4.4" + "@babel/traverse" "^7.5.5" + "@babel/types" "^7.5.5" "@babel/helper-simple-access@^7.1.0": version "7.1.0" @@ -256,7 +198,7 @@ "@babel/template" "^7.1.0" "@babel/types" "^7.0.0" -"@babel/helper-split-export-declaration@^7.4.0", "@babel/helper-split-export-declaration@^7.4.4": +"@babel/helper-split-export-declaration@^7.4.4": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz#ff94894a340be78f53f06af038b205c49d993677" integrity sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q== @@ -273,15 +215,6 @@ "@babel/traverse" "^7.1.0" "@babel/types" "^7.2.0" -"@babel/helpers@^7.4.3", "@babel/helpers@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.4.4.tgz#868b0ef59c1dd4e78744562d5ce1b59c89f2f2a5" - integrity sha512-igczbR/0SeuPR8RFfC7tGrbdTbFL3QTvH6D+Z6zNxnTe//GyqmtHmDkzrqDmyZ3eSwPqB/LhyKoU5DXsp+Vp2A== - dependencies: - "@babel/template" "^7.4.4" - "@babel/traverse" "^7.4.4" - "@babel/types" "^7.4.4" - "@babel/helpers@^7.5.5": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.5.5.tgz#63908d2a73942229d1e6685bc2a0e730dde3b75e" @@ -292,20 +225,15 @@ "@babel/types" "^7.5.5" "@babel/highlight@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4" - integrity sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw== + version "7.5.0" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540" + integrity sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ== dependencies: chalk "^2.0.0" esutils "^2.0.2" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.4.3", "@babel/parser@^7.4.4", "@babel/parser@^7.4.5": - version "7.4.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.4.5.tgz#04af8d5d5a2b044a2a1bffacc1e5e6673544e872" - integrity sha512-9mUqkL1FF5T7f0WDFfAoDdiMVPWsdD1gZYzSnaXsxUCUqzuch/8of9G3VUSNiZmMBoRxT3neyVsqeiL/ZPcjew== - -"@babel/parser@^7.5.5": +"@babel/parser@^7.1.0", "@babel/parser@^7.4.3", "@babel/parser@^7.4.4", "@babel/parser@^7.5.5": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.5.5.tgz#02f077ac8817d3df4a832ef59de67565e71cca4b" integrity sha512-E5BN68cqR7dhKan1SfqgPGhQ178bkVKpXTPEXnFJBrEt8/DKRZlybmy+IgYLTeN7tp1R5Ccmbm2rBk17sHYU3g== @@ -319,30 +247,30 @@ "@babel/helper-remap-async-to-generator" "^7.1.0" "@babel/plugin-syntax-async-generators" "^7.2.0" -"@babel/plugin-proposal-class-properties@7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.4.0.tgz#d70db61a2f1fd79de927eea91f6411c964e084b8" - integrity sha512-t2ECPNOXsIeK1JxJNKmgbzQtoG27KIlVE61vTqX0DKR9E9sZlVVxWUtEW9D5FlZ8b8j7SBNCHY47GgPKCKlpPg== +"@babel/plugin-proposal-class-properties@7.5.5", "@babel/plugin-proposal-class-properties@^7.3.3": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.5.5.tgz#a974cfae1e37c3110e71f3c6a2e48b8e71958cd4" + integrity sha512-AF79FsnWFxjlaosgdi421vmYG6/jg79bVD0dpD44QdgobzHKuLZ6S3vl8la9qIeSwGi8i1fS0O1mfuDAAdo1/A== dependencies: - "@babel/helper-create-class-features-plugin" "^7.4.0" + "@babel/helper-create-class-features-plugin" "^7.5.5" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-proposal-class-properties@^7.3.3": +"@babel/plugin-proposal-decorators@7.4.4": version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.4.4.tgz#93a6486eed86d53452ab9bab35e368e9461198ce" - integrity sha512-WjKTI8g8d5w1Bc9zgwSz2nfrsNQsXcCf9J9cdCvrJV6RF56yztwm4TmJC0MgJ9tvwO9gUA/mcYe89bLdGfiXFg== + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.4.4.tgz#de9b2a1a8ab0196f378e2a82f10b6e2a36f21cc0" + integrity sha512-z7MpQz3XC/iQJWXH9y+MaWcLPNSMY9RQSthrLzak8R8hCj0fuyNk+Dzi9kfNe/JxxlWQ2g7wkABbgWjW36MTcw== dependencies: "@babel/helper-create-class-features-plugin" "^7.4.4" "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-decorators" "^7.2.0" -"@babel/plugin-proposal-decorators@7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.4.0.tgz#8e1bfd83efa54a5f662033afcc2b8e701f4bb3a9" - integrity sha512-d08TLmXeK/XbgCo7ZeZ+JaeZDtDai/2ctapTRsWWkkmy7G/cqz8DQN/HlWG7RR4YmfXxmExsbU3SuCjlM7AtUg== +"@babel/plugin-proposal-dynamic-import@^7.5.0": + version "7.5.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.5.0.tgz#e532202db4838723691b10a67b8ce509e397c506" + integrity sha512-x/iMjggsKTFHYC6g11PL7Qy58IK8H5zqfm9e6hu4z1iH2IRyAp9u9dL80zA6R76yFovETFLKz2VJIC2iIPBuFw== dependencies: - "@babel/helper-create-class-features-plugin" "^7.4.0" "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-decorators" "^7.2.0" + "@babel/plugin-syntax-dynamic-import" "^7.2.0" "@babel/plugin-proposal-json-strings@^7.2.0": version "7.2.0" @@ -352,18 +280,10 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-json-strings" "^7.2.0" -"@babel/plugin-proposal-object-rest-spread@7.4.3": - version "7.4.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.4.3.tgz#be27cd416eceeba84141305b93c282f5de23bbb4" - integrity sha512-xC//6DNSSHVjq8O2ge0dyYlhshsH4T7XdCVoxbi5HzLYWfsC5ooFlJjrXk8RcAT+hjHAK9UjBXdylzSoDK3t4g== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-object-rest-spread" "^7.2.0" - -"@babel/plugin-proposal-object-rest-spread@^7.3.2", "@babel/plugin-proposal-object-rest-spread@^7.4.3", "@babel/plugin-proposal-object-rest-spread@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.4.4.tgz#1ef173fcf24b3e2df92a678f027673b55e7e3005" - integrity sha512-dMBG6cSPBbHeEBdFXeQ2QLc5gUpg4Vkaz8octD4aoW/ISO+jBOcsuxYL7bsb5WSu8RLP6boxrBIALEHgoHtO9g== +"@babel/plugin-proposal-object-rest-spread@7.5.5", "@babel/plugin-proposal-object-rest-spread@^7.3.2", "@babel/plugin-proposal-object-rest-spread@^7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.5.5.tgz#61939744f71ba76a3ae46b5eea18a54c16d22e58" + integrity sha512-F2DxJJSQ7f64FyTVl5cw/9MWn6naXGdk3Q3UhDbFEEHv+EilCPoeRD3Zh/Utx1CJz4uyKlQ4uH+bJPbEhMV7Zw== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-object-rest-spread" "^7.2.0" @@ -376,7 +296,7 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" -"@babel/plugin-proposal-unicode-property-regex@^7.4.0", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": +"@babel/plugin-proposal-unicode-property-regex@^7.4.4": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.4.tgz#501ffd9826c0b91da22690720722ac7cb1ca9c78" integrity sha512-j1NwnOqMG9mFUOH58JTFsA/+ZYzQLUZ/drqWUqxCYLGeu2JFZL8YrNC9hBxKmWtAuOCHPcRpgv7fhap09Fb4kA== @@ -455,10 +375,10 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-async-to-generator@^7.4.0", "@babel/plugin-transform-async-to-generator@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.4.4.tgz#a3f1d01f2f21cadab20b33a82133116f14fb5894" - integrity sha512-YiqW2Li8TXmzgbXw+STsSqPBPFnGviiaSp6CYOq55X8GQ2SGVLrXB6pNid8HkqkZAzOH6knbai3snhP7v0fNwA== +"@babel/plugin-transform-async-to-generator@^7.5.0": + version "7.5.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz#89a3848a0166623b5bc481164b5936ab947e887e" + integrity sha512-mqvkzwIGkq0bEF1zLRRiTdjfomZJDV33AH3oQzHVGkI2VzEmXLpKKOBvEVaFZBJdN0XTyH38s9j/Kiqr68dggg== dependencies: "@babel/helper-module-imports" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" @@ -471,39 +391,25 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-block-scoping@^7.4.0", "@babel/plugin-transform-block-scoping@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.4.4.tgz#c13279fabf6b916661531841a23c4b7dae29646d" - integrity sha512-jkTUyWZcTrwxu5DD4rWz6rDB5Cjdmgz6z7M7RLXOJyCUkFBawssDGcGh8M/0FTSB87avyJI1HsTwUXp9nKA1PA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - lodash "^4.17.11" - -"@babel/plugin-transform-classes@7.4.3": - version "7.4.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.4.3.tgz#adc7a1137ab4287a555d429cc56ecde8f40c062c" - integrity sha512-PUaIKyFUDtG6jF5DUJOfkBdwAS/kFFV3XFk7Nn0a6vR7ZT8jYw5cGtIlat77wcnd0C6ViGqo/wyNf4ZHytF/nQ== +"@babel/plugin-transform-block-scoping@^7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.5.5.tgz#a35f395e5402822f10d2119f6f8e045e3639a2ce" + integrity sha512-82A3CLRRdYubkG85lKwhZB0WZoHxLGsJdux/cOVaJCJpvYFl1LVzAIFyRsa7CvXqW8rBM4Zf3Bfn8PHt5DP0Sg== dependencies: - "@babel/helper-annotate-as-pure" "^7.0.0" - "@babel/helper-define-map" "^7.4.0" - "@babel/helper-function-name" "^7.1.0" - "@babel/helper-optimise-call-expression" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.4.0" - "@babel/helper-split-export-declaration" "^7.4.0" - globals "^11.1.0" + lodash "^4.17.13" -"@babel/plugin-transform-classes@^7.4.3", "@babel/plugin-transform-classes@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.4.4.tgz#0ce4094cdafd709721076d3b9c38ad31ca715eb6" - integrity sha512-/e44eFLImEGIpL9qPxSRat13I5QNRgBLu2hOQJCF7VLy/otSM/sypV1+XaIw5+502RX/+6YaSAPmldk+nhHDPw== +"@babel/plugin-transform-classes@^7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz#d094299d9bd680a14a2a0edae38305ad60fb4de9" + integrity sha512-U2htCNK/6e9K7jGyJ++1p5XRU+LJjrwtoiVn9SzRlDT2KubcZ11OOwy3s24TjHxPgxNwonCYP7U2K51uVYCMDg== dependencies: "@babel/helper-annotate-as-pure" "^7.0.0" - "@babel/helper-define-map" "^7.4.4" + "@babel/helper-define-map" "^7.5.5" "@babel/helper-function-name" "^7.1.0" "@babel/helper-optimise-call-expression" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.4.4" + "@babel/helper-replace-supers" "^7.5.5" "@babel/helper-split-export-declaration" "^7.4.4" globals "^11.1.0" @@ -514,21 +420,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-destructuring@7.4.3": - version "7.4.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.4.3.tgz#1a95f5ca2bf2f91ef0648d5de38a8d472da4350f" - integrity sha512-rVTLLZpydDFDyN4qnXdzwoVpk1oaXHIvPEOkOLyr88o7oHxVc/LyrnDx+amuBWGOwUb7D1s/uLsKBNTx08htZg== +"@babel/plugin-transform-destructuring@7.5.0", "@babel/plugin-transform-destructuring@^7.5.0": + version "7.5.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.5.0.tgz#f6c09fdfe3f94516ff074fe877db7bc9ef05855a" + integrity sha512-YbYgbd3TryYYLGyC7ZR+Tq8H/+bCmwoaxHfJHupom5ECstzbRLTch6gOQbhEY9Z4hiCNHEURgq06ykFv9JZ/QQ== dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-destructuring@^7.4.3", "@babel/plugin-transform-destructuring@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.4.4.tgz#9d964717829cc9e4b601fc82a26a71a4d8faf20f" - integrity sha512-/aOx+nW0w8eHiEHm+BTERB2oJn5D127iye/SUQl7NjHy0lf+j7h4MKMMSOwdazGq9OxgiNADncE+SRJkCxjZpQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-dotall-regex@^7.4.3", "@babel/plugin-transform-dotall-regex@^7.4.4": +"@babel/plugin-transform-dotall-regex@^7.4.4": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz#361a148bc951444312c69446d76ed1ea8e4450c3" integrity sha512-P05YEhRc2h53lZDjRPk/OektxCVevFzZs2Gfjd545Wde3k+yFDbXORgl2e0xpbq8mLcKJ7Idss4fAg0zORN/zg== @@ -537,10 +436,10 @@ "@babel/helper-regex" "^7.4.4" regexpu-core "^4.5.4" -"@babel/plugin-transform-duplicate-keys@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.2.0.tgz#d952c4930f312a4dbfff18f0b2914e60c35530b3" - integrity sha512-q+yuxW4DsTjNceUiTzK0L+AfQ0zD9rWaTLiUqHA8p0gxx7lu1EylenfzjeIWNkPy6e/0VG/Wjw9uf9LueQwLOw== +"@babel/plugin-transform-duplicate-keys@^7.5.0": + version "7.5.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz#c5dbf5106bf84cdf691222c0974c12b1df931853" + integrity sha512-igcziksHizyQPlX9gfSjHkE2wmoCH3evvD2qR5w29/Dk0SMKE/eOI7f1HhBdNhR/zxJDqrgpoDTq5YSLH/XMsQ== dependencies: "@babel/helper-plugin-utils" "^7.0.0" @@ -552,15 +451,7 @@ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.1.0" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-flow-strip-types@7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.4.0.tgz#f3c59eecff68c99b9c96eaafe4fe9d1fa8947138" - integrity sha512-C4ZVNejHnfB22vI2TYN4RUp2oCmq6cSEAg4RygSvYZUECRqUu9O4PMEMNJ4wsemaRGg27BbgYctG4BZh+AgIHw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-flow" "^7.2.0" - -"@babel/plugin-transform-flow-strip-types@^7.0.0": +"@babel/plugin-transform-flow-strip-types@7.4.4", "@babel/plugin-transform-flow-strip-types@^7.0.0": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.4.4.tgz#d267a081f49a8705fc9146de0768c6b58dccd8f7" integrity sha512-WyVedfeEIILYEaWGAUWzVNyqG4sfsNooMhXWsu/YzOvVGcsnPb5PguysjJqI3t3qiaYj0BR8T2f5njdjTGe44Q== @@ -568,14 +459,14 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-flow" "^7.2.0" -"@babel/plugin-transform-for-of@^7.4.3", "@babel/plugin-transform-for-of@^7.4.4": +"@babel/plugin-transform-for-of@^7.4.4": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz#0267fc735e24c808ba173866c6c4d1440fc3c556" integrity sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ== dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-function-name@^7.4.3", "@babel/plugin-transform-function-name@^7.4.4": +"@babel/plugin-transform-function-name@^7.4.4": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz#e1436116abb0610c2259094848754ac5230922ad" integrity sha512-iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA== @@ -597,30 +488,33 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-modules-amd@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.2.0.tgz#82a9bce45b95441f617a24011dc89d12da7f4ee6" - integrity sha512-mK2A8ucqz1qhrdqjS9VMIDfIvvT2thrEsIQzbaTdc5QFzhDjQv2CkJJ5f6BXIkgbmaoax3zBr2RyvV/8zeoUZw== +"@babel/plugin-transform-modules-amd@^7.5.0": + version "7.5.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz#ef00435d46da0a5961aa728a1d2ecff063e4fb91" + integrity sha512-n20UsQMKnWrltocZZm24cRURxQnWIvsABPJlw/fvoy9c6AgHZzoelAIzajDHAQrDpuKFFPPcFGd7ChsYuIUMpg== dependencies: "@babel/helper-module-transforms" "^7.1.0" "@babel/helper-plugin-utils" "^7.0.0" + babel-plugin-dynamic-import-node "^2.3.0" -"@babel/plugin-transform-modules-commonjs@^7.4.3", "@babel/plugin-transform-modules-commonjs@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.4.4.tgz#0bef4713d30f1d78c2e59b3d6db40e60192cac1e" - integrity sha512-4sfBOJt58sEo9a2BQXnZq+Q3ZTSAUXyK3E30o36BOGnJ+tvJ6YSxF0PG6kERvbeISgProodWuI9UVG3/FMY6iw== +"@babel/plugin-transform-modules-commonjs@^7.5.0": + version "7.5.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.5.0.tgz#425127e6045231360858eeaa47a71d75eded7a74" + integrity sha512-xmHq0B+ytyrWJvQTc5OWAC4ii6Dhr0s22STOoydokG51JjWhyYo5mRPXoi+ZmtHQhZZwuXNN+GG5jy5UZZJxIQ== dependencies: "@babel/helper-module-transforms" "^7.4.4" "@babel/helper-plugin-utils" "^7.0.0" "@babel/helper-simple-access" "^7.1.0" + babel-plugin-dynamic-import-node "^2.3.0" -"@babel/plugin-transform-modules-systemjs@^7.4.0", "@babel/plugin-transform-modules-systemjs@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.4.4.tgz#dc83c5665b07d6c2a7b224c00ac63659ea36a405" - integrity sha512-MSiModfILQc3/oqnG7NrP1jHaSPryO6tA2kOMmAQApz5dayPxWiHqmq4sWH2xF5LcQK56LlbKByCd8Aah/OIkQ== +"@babel/plugin-transform-modules-systemjs@^7.5.0": + version "7.5.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz#e75266a13ef94202db2a0620977756f51d52d249" + integrity sha512-Q2m56tyoQWmuNGxEtUyeEkm6qJYFqs4c+XyXH5RAuYxObRNz9Zgj/1g2GMnjYp2EUyEy7YTrxliGCXzecl/vJg== dependencies: "@babel/helper-hoist-variables" "^7.4.4" "@babel/helper-plugin-utils" "^7.0.0" + babel-plugin-dynamic-import-node "^2.3.0" "@babel/plugin-transform-modules-umd@^7.2.0": version "7.2.0" @@ -630,29 +524,29 @@ "@babel/helper-module-transforms" "^7.1.0" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-named-capturing-groups-regex@^7.4.2", "@babel/plugin-transform-named-capturing-groups-regex@^7.4.5": +"@babel/plugin-transform-named-capturing-groups-regex@^7.4.5": version "7.4.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.5.tgz#9d269fd28a370258199b4294736813a60bbdd106" integrity sha512-z7+2IsWafTBbjNsOxU/Iv5CvTJlr5w4+HGu1HovKYTtgJ362f7kBcQglkfmlspKKZ3bgrbSGvLfNx++ZJgCWsg== dependencies: regexp-tree "^0.1.6" -"@babel/plugin-transform-new-target@^7.4.0", "@babel/plugin-transform-new-target@^7.4.4": +"@babel/plugin-transform-new-target@^7.4.4": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz#18d120438b0cc9ee95a47f2c72bc9768fbed60a5" integrity sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-object-super@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.2.0.tgz#b35d4c10f56bab5d650047dad0f1d8e8814b6598" - integrity sha512-VMyhPYZISFZAqAPVkiYb7dUe2AsVi2/wCT5+wZdsNO31FojQJa9ns40hzZ6U9f50Jlq4w6qwzdBB2uwqZ00ebg== +"@babel/plugin-transform-object-super@^7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz#c70021df834073c65eb613b8679cc4a381d1a9f9" + integrity sha512-un1zJQAhSosGFBduPgN/YFNvWVpRuHKU7IHBglLoLZsGmruJPOo6pbInneflUdmq7YvSVqhpPs5zdBvLnteltQ== dependencies: "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.1.0" + "@babel/helper-replace-supers" "^7.5.5" -"@babel/plugin-transform-parameters@^7.4.3", "@babel/plugin-transform-parameters@^7.4.4": +"@babel/plugin-transform-parameters@^7.4.4": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz#7556cf03f318bd2719fe4c922d2d808be5571e16" integrity sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw== @@ -668,10 +562,10 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-react-constant-elements@7.2.0", "@babel/plugin-transform-react-constant-elements@^7.0.0", "@babel/plugin-transform-react-constant-elements@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.2.0.tgz#ed602dc2d8bff2f0cb1a5ce29263dbdec40779f7" - integrity sha512-YYQFg6giRFMsZPKUM9v+VcHOdfSQdz9jHCx3akAi3UYgyjndmdYGSXylQ/V+HswQt4fL8IklchD9HTsaOCrWQQ== +"@babel/plugin-transform-react-constant-elements@^7.0.0", "@babel/plugin-transform-react-constant-elements@^7.2.0": + version "7.5.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.5.0.tgz#4d6ae4033bc38f8a65dfca2b6235c44522a422fc" + integrity sha512-c5Ba8cpybZFp1Izkf2sWGuNjOxoQ32tFgBvvYvwGhi4+9f6vGiSK9Gex4uVuO/Va6YJFu41aAh1MzMjUWkp0IQ== dependencies: "@babel/helper-annotate-as-pure" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" @@ -692,9 +586,9 @@ "@babel/plugin-syntax-jsx" "^7.2.0" "@babel/plugin-transform-react-jsx-source@^7.0.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.2.0.tgz#20c8c60f0140f5dd3cd63418d452801cf3f7180f" - integrity sha512-A32OkKTp4i5U6aE88GwwcuV4HAprUgHcTq0sSafLxjr6AW0QahrCRCjxogkbbcdtpbXkuTOlgpjophCxb6sh5g== + version "7.5.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.5.0.tgz#583b10c49cf057e237085bcbd8cc960bd83bd96b" + integrity sha512-58Q+Jsy4IDCZx7kqEZuSDdam/1oW8OdDX8f+Loo6xyxdfg1yF0GE2XNJQSTZCaMol93+FBzpWiPEwtbMloAcPg== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-jsx" "^7.2.0" @@ -708,7 +602,7 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-jsx" "^7.2.0" -"@babel/plugin-transform-regenerator@^7.4.3", "@babel/plugin-transform-regenerator@^7.4.5": +"@babel/plugin-transform-regenerator@^7.4.5": version "7.4.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz#629dc82512c55cee01341fb27bdfcb210354680f" integrity sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA== @@ -722,10 +616,10 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-runtime@7.4.3": - version "7.4.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.4.3.tgz#4d6691690ecdc9f5cb8c3ab170a1576c1f556371" - integrity sha512-7Q61bU+uEI7bCUFReT1NKn7/X6sDQsZ7wL1sJ9IYMAO7cI+eg6x9re1cEw2fCRMbbTVyoeUKWSV1M6azEfKCfg== +"@babel/plugin-transform-runtime@7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.5.5.tgz#a6331afbfc59189d2135b2e09474457a8e3d28bc" + integrity sha512-6Xmeidsun5rkwnGfMOp6/z9nSzWpHFNVr2Jx7kwoq4mVatQfQx5S56drBgEHF+XQbKOdIaOiMIINvp/kAwMN+w== dependencies: "@babel/helper-module-imports" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" @@ -754,7 +648,7 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/helper-regex" "^7.0.0" -"@babel/plugin-transform-template-literals@^7.2.0", "@babel/plugin-transform-template-literals@^7.4.4": +"@babel/plugin-transform-template-literals@^7.4.4": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz#9d28fea7bbce637fb7612a0750989d8321d4bcb0" integrity sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g== @@ -770,14 +664,15 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-typescript@^7.3.2": - version "7.4.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.4.5.tgz#ab3351ba35307b79981993536c93ff8be050ba28" - integrity sha512-RPB/YeGr4ZrFKNwfuQRlMf2lxoCUaU01MTw39/OFE/RiL8HDjtn68BwEPft1P7JN4akyEmjGWAMNldOV7o9V2g== + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.5.5.tgz#6d862766f09b2da1cb1f7d505fe2aedab6b7d4b8" + integrity sha512-pehKf4m640myZu5B2ZviLaiBlxMCjSZ1qTEO459AXKX5GnPueyulJeCqZFs1nz/Ya2dDzXQ1NxZ/kKNWyD4h6w== dependencies: + "@babel/helper-create-class-features-plugin" "^7.5.5" "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-typescript" "^7.2.0" -"@babel/plugin-transform-unicode-regex@^7.4.3", "@babel/plugin-transform-unicode-regex@^7.4.4": +"@babel/plugin-transform-unicode-regex@^7.4.4": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz#ab4634bb4f14d36728bf5978322b35587787970f" integrity sha512-il+/XdNw01i93+M9J9u4T7/e/Ue/vWfNZE4IRUQjplu2Mqb/AFTDimkw2tdEdSH50wuQXZAbXSql0UphQke+vA== @@ -786,97 +681,45 @@ "@babel/helper-regex" "^7.4.4" regexpu-core "^4.5.4" -"@babel/preset-env@7.4.3": - version "7.4.3" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.4.3.tgz#e71e16e123dc0fbf65a52cbcbcefd072fbd02880" - integrity sha512-FYbZdV12yHdJU5Z70cEg0f6lvtpZ8jFSDakTm7WXeJbLXh4R0ztGEu/SW7G1nJ2ZvKwDhz8YrbA84eYyprmGqw== - dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-async-generator-functions" "^7.2.0" - "@babel/plugin-proposal-json-strings" "^7.2.0" - "@babel/plugin-proposal-object-rest-spread" "^7.4.3" - "@babel/plugin-proposal-optional-catch-binding" "^7.2.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.4.0" - "@babel/plugin-syntax-async-generators" "^7.2.0" - "@babel/plugin-syntax-json-strings" "^7.2.0" - "@babel/plugin-syntax-object-rest-spread" "^7.2.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" - "@babel/plugin-transform-arrow-functions" "^7.2.0" - "@babel/plugin-transform-async-to-generator" "^7.4.0" - "@babel/plugin-transform-block-scoped-functions" "^7.2.0" - "@babel/plugin-transform-block-scoping" "^7.4.0" - "@babel/plugin-transform-classes" "^7.4.3" - "@babel/plugin-transform-computed-properties" "^7.2.0" - "@babel/plugin-transform-destructuring" "^7.4.3" - "@babel/plugin-transform-dotall-regex" "^7.4.3" - "@babel/plugin-transform-duplicate-keys" "^7.2.0" - "@babel/plugin-transform-exponentiation-operator" "^7.2.0" - "@babel/plugin-transform-for-of" "^7.4.3" - "@babel/plugin-transform-function-name" "^7.4.3" - "@babel/plugin-transform-literals" "^7.2.0" - "@babel/plugin-transform-member-expression-literals" "^7.2.0" - "@babel/plugin-transform-modules-amd" "^7.2.0" - "@babel/plugin-transform-modules-commonjs" "^7.4.3" - "@babel/plugin-transform-modules-systemjs" "^7.4.0" - "@babel/plugin-transform-modules-umd" "^7.2.0" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.4.2" - "@babel/plugin-transform-new-target" "^7.4.0" - "@babel/plugin-transform-object-super" "^7.2.0" - "@babel/plugin-transform-parameters" "^7.4.3" - "@babel/plugin-transform-property-literals" "^7.2.0" - "@babel/plugin-transform-regenerator" "^7.4.3" - "@babel/plugin-transform-reserved-words" "^7.2.0" - "@babel/plugin-transform-shorthand-properties" "^7.2.0" - "@babel/plugin-transform-spread" "^7.2.0" - "@babel/plugin-transform-sticky-regex" "^7.2.0" - "@babel/plugin-transform-template-literals" "^7.2.0" - "@babel/plugin-transform-typeof-symbol" "^7.2.0" - "@babel/plugin-transform-unicode-regex" "^7.4.3" - "@babel/types" "^7.4.0" - browserslist "^4.5.2" - core-js-compat "^3.0.0" - invariant "^2.2.2" - js-levenshtein "^1.1.3" - semver "^5.5.0" - -"@babel/preset-env@^7.0.0", "@babel/preset-env@^7.4.3", "@babel/preset-env@^7.4.5": - version "7.4.5" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.4.5.tgz#2fad7f62983d5af563b5f3139242755884998a58" - integrity sha512-f2yNVXM+FsR5V8UwcFeIHzHWgnhXg3NpRmy0ADvALpnhB0SLbCvrCRr4BLOUYbQNLS+Z0Yer46x9dJXpXewI7w== +"@babel/preset-env@7.5.5", "@babel/preset-env@^7.0.0", "@babel/preset-env@^7.4.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.5.5.tgz#bc470b53acaa48df4b8db24a570d6da1fef53c9a" + integrity sha512-GMZQka/+INwsMz1A5UEql8tG015h5j/qjptpKY2gJ7giy8ohzU710YciJB5rcKsWGWHiW3RUnHib0E5/m3Tp3A== dependencies: "@babel/helper-module-imports" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-proposal-async-generator-functions" "^7.2.0" + "@babel/plugin-proposal-dynamic-import" "^7.5.0" "@babel/plugin-proposal-json-strings" "^7.2.0" - "@babel/plugin-proposal-object-rest-spread" "^7.4.4" + "@babel/plugin-proposal-object-rest-spread" "^7.5.5" "@babel/plugin-proposal-optional-catch-binding" "^7.2.0" "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" "@babel/plugin-syntax-async-generators" "^7.2.0" + "@babel/plugin-syntax-dynamic-import" "^7.2.0" "@babel/plugin-syntax-json-strings" "^7.2.0" "@babel/plugin-syntax-object-rest-spread" "^7.2.0" "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" "@babel/plugin-transform-arrow-functions" "^7.2.0" - "@babel/plugin-transform-async-to-generator" "^7.4.4" + "@babel/plugin-transform-async-to-generator" "^7.5.0" "@babel/plugin-transform-block-scoped-functions" "^7.2.0" - "@babel/plugin-transform-block-scoping" "^7.4.4" - "@babel/plugin-transform-classes" "^7.4.4" + "@babel/plugin-transform-block-scoping" "^7.5.5" + "@babel/plugin-transform-classes" "^7.5.5" "@babel/plugin-transform-computed-properties" "^7.2.0" - "@babel/plugin-transform-destructuring" "^7.4.4" + "@babel/plugin-transform-destructuring" "^7.5.0" "@babel/plugin-transform-dotall-regex" "^7.4.4" - "@babel/plugin-transform-duplicate-keys" "^7.2.0" + "@babel/plugin-transform-duplicate-keys" "^7.5.0" "@babel/plugin-transform-exponentiation-operator" "^7.2.0" "@babel/plugin-transform-for-of" "^7.4.4" "@babel/plugin-transform-function-name" "^7.4.4" "@babel/plugin-transform-literals" "^7.2.0" "@babel/plugin-transform-member-expression-literals" "^7.2.0" - "@babel/plugin-transform-modules-amd" "^7.2.0" - "@babel/plugin-transform-modules-commonjs" "^7.4.4" - "@babel/plugin-transform-modules-systemjs" "^7.4.4" + "@babel/plugin-transform-modules-amd" "^7.5.0" + "@babel/plugin-transform-modules-commonjs" "^7.5.0" + "@babel/plugin-transform-modules-systemjs" "^7.5.0" "@babel/plugin-transform-modules-umd" "^7.2.0" "@babel/plugin-transform-named-capturing-groups-regex" "^7.4.5" "@babel/plugin-transform-new-target" "^7.4.4" - "@babel/plugin-transform-object-super" "^7.2.0" + "@babel/plugin-transform-object-super" "^7.5.5" "@babel/plugin-transform-parameters" "^7.4.4" "@babel/plugin-transform-property-literals" "^7.2.0" "@babel/plugin-transform-regenerator" "^7.4.5" @@ -887,7 +730,7 @@ "@babel/plugin-transform-template-literals" "^7.4.4" "@babel/plugin-transform-typeof-symbol" "^7.2.0" "@babel/plugin-transform-unicode-regex" "^7.4.4" - "@babel/types" "^7.4.4" + "@babel/types" "^7.5.5" browserslist "^4.6.0" core-js-compat "^3.1.1" invariant "^2.2.2" @@ -928,21 +771,7 @@ dependencies: regenerator-runtime "^0.12.0" -"@babel/runtime@7.4.3": - version "7.4.3" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.4.3.tgz#79888e452034223ad9609187a0ad1fe0d2ad4bdc" - integrity sha512-9lsJwJLxDh/T3Q3SZszfWOTkk3pHbkmH+3KY+zwIDmsNlxsumuhS2TH3NIpktU4kNvfzy+k3eLT7aTJSPTo0OA== - dependencies: - regenerator-runtime "^0.13.2" - -"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.2.0", "@babel/runtime@^7.3.1", "@babel/runtime@^7.4.0", "@babel/runtime@^7.4.2", "@babel/runtime@^7.4.3", "@babel/runtime@^7.4.5": - version "7.4.5" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.4.5.tgz#582bb531f5f9dc67d2fcb682979894f75e253f12" - integrity sha512-TuI4qpWZP6lGOGIuGWtp9sPluqYICmbk8T/1vpSysqJxRPkudh/ofFWyqdcMsDf2s7KvDL4/YHgKyvcS3g9CJQ== - dependencies: - regenerator-runtime "^0.13.2" - -"@babel/runtime@^7.4.4": +"@babel/runtime@7.5.5", "@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.2.0", "@babel/runtime@^7.3.1", "@babel/runtime@^7.4.0", "@babel/runtime@^7.4.2", "@babel/runtime@^7.4.3", "@babel/runtime@^7.4.4", "@babel/runtime@^7.4.5", "@babel/runtime@^7.5.0", "@babel/runtime@^7.5.5": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.5.5.tgz#74fba56d35efbeca444091c7850ccd494fd2f132" integrity sha512-28QvEGyQyNkB0/m2B4FU7IEZGK2NUrcMtT6BZEFALTguLk+AUT6ofsHtPk5QyjAdUkpMJ+/Em+quwz4HOt30AQ== @@ -958,22 +787,7 @@ "@babel/parser" "^7.4.4" "@babel/types" "^7.4.4" -"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.4.4", "@babel/traverse@^7.4.5": - version "7.4.5" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.4.5.tgz#4e92d1728fd2f1897dafdd321efbff92156c3216" - integrity sha512-Vc+qjynwkjRmIFGxy0KYoPj4FdVDxLej89kMHFsWScq999uX+pwcX4v9mWRjW0KcAYTPAuVQl2LKP1wEVLsp+A== - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/generator" "^7.4.4" - "@babel/helper-function-name" "^7.1.0" - "@babel/helper-split-export-declaration" "^7.4.4" - "@babel/parser" "^7.4.5" - "@babel/types" "^7.4.4" - debug "^4.1.0" - globals "^11.1.0" - lodash "^4.17.11" - -"@babel/traverse@^7.5.5": +"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.4.4", "@babel/traverse@^7.5.5": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.5.5.tgz#f664f8f368ed32988cd648da9f72d5ca70f165bb" integrity sha512-MqB0782whsfffYfSjH4TM+LMjrJnhCNEDMDIjeTpl+ASaUvxcjoiVCo/sM1GhS1pHOXYfWVCYneLjMckuUxDaQ== @@ -988,16 +802,7 @@ globals "^11.1.0" lodash "^4.17.13" -"@babel/types@^7.0.0", "@babel/types@^7.2.0", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.4.4.tgz#8db9e9a629bb7c29370009b4b779ed93fe57d5f0" - integrity sha512-dOllgYdnEFOebhkKCjzSVFqw/PmmB8pH6RGOWkY4GsboQNd47b1fBThBSwlHAq9alF9vc1M3+6oqR47R50L0tQ== - dependencies: - esutils "^2.0.2" - lodash "^4.17.11" - to-fast-properties "^2.0.0" - -"@babel/types@^7.5.5": +"@babel/types@^7.0.0", "@babel/types@^7.2.0", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.5.5": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.5.5.tgz#97b9f728e182785909aa4ab56264f090a028d18a" integrity sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw== @@ -1097,10 +902,10 @@ find-root "^1.1.0" source-map "^0.7.2" -"@emotion/cache@^10.0.14": - version "10.0.14" - resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-10.0.14.tgz#56093cff025c04b0330bdd92afe8335ed326dd18" - integrity sha512-HNGEwWnPlNyy/WPXBXzbjzkzeZFV657Z99/xq2xs5yinJHbMfi3ioCvBJ6Y8Zc8DQzO9F5jDmVXJB41Ytx3QMw== +"@emotion/cache@^10.0.15": + version "10.0.15" + resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-10.0.15.tgz#b81767b48015aae2689c60373992145c67b8de02" + integrity sha512-8VthgeKhlGeTXSW1JN7I14AnAaiFPbOrqNqg3dPoGCZ3bnMjkrmRU0zrx0BtBw9esBaPaQgDB9y0tVgAGT2Mrg== dependencies: "@emotion/sheet" "0.9.3" "@emotion/stylis" "0.8.4" @@ -1108,14 +913,14 @@ "@emotion/weak-memoize" "0.2.3" "@emotion/core@^10.0.9": - version "10.0.14" - resolved "https://registry.yarnpkg.com/@emotion/core/-/core-10.0.14.tgz#cac5c334b278d5b7688cfff39e460a5b50abb71c" - integrity sha512-G9FbyxLm3lSnPfLDcag8fcOQBKui/ueXmWOhV+LuEQg9HrqExuWnWaO6gm6S5rNe+AMcqLXVljf8pYgAdFLNSg== + version "10.0.16" + resolved "https://registry.yarnpkg.com/@emotion/core/-/core-10.0.16.tgz#e43630b65c84e31e81f34db3286eab584b08cfaa" + integrity sha512-whbiiA7FfPreBY4BqWky2qRfAZvq+4dKQ1WNJuiYQwPCNmb0pEYDgNheSbZoNKtGTtfPaM28hBbZAKWD5EZXmQ== dependencies: "@babel/runtime" "^7.4.3" - "@emotion/cache" "^10.0.14" + "@emotion/cache" "^10.0.15" "@emotion/css" "^10.0.14" - "@emotion/serialize" "^0.11.8" + "@emotion/serialize" "^0.11.9" "@emotion/sheet" "0.9.3" "@emotion/utils" "0.11.2" @@ -1155,10 +960,10 @@ resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.6.6.tgz#004b98298d04c7ca3b4f50ca2035d4f60d2eed1b" integrity sha512-h4t4jFjtm1YV7UirAFuSuFGyLa+NNxjdkq6DpFLANNQY5rHueFZHVY+8Cu1HYVP6DrheB0kv4m5xPjo7eKT7yQ== -"@emotion/serialize@^0.11.8": - version "0.11.8" - resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-0.11.8.tgz#e41dcf7029e45286a3e0cf922933e670fe05402c" - integrity sha512-Qb6Us2Yk1ZW8SOYH6s5z7qzXXb2iHwVeqc6FjXtac0vvxC416ki0eTtHNw4Q5smoyxdyZh3519NKGrQvvvrZ/Q== +"@emotion/serialize@^0.11.8", "@emotion/serialize@^0.11.9": + version "0.11.9" + resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-0.11.9.tgz#123e0f51d2dee9693fae1057bd7fc27b021d6868" + integrity sha512-/Cn4V81z3ZyFiDQRw8nhGFaHkxHtmCSSBUit4vgTuLA1BqxfJUYiqSq97tq/vV8z9LfIoqs6a9v6QrUFWZpK7A== dependencies: "@emotion/hash" "0.7.2" "@emotion/memoize" "0.7.2" @@ -1181,23 +986,23 @@ resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-0.9.3.tgz#689f135ecf87d3c650ed0c4f5ddcbe579883564a" integrity sha512-c3Q6V7Df7jfwSq5AzQWbXHa5soeE4F5cbqi40xn0CzXxWW9/6Mxq48WJEtqfWzbZtW9odZdnRAkwCQwN12ob4A== -"@emotion/styled-base@^10.0.14": - version "10.0.14" - resolved "https://registry.yarnpkg.com/@emotion/styled-base/-/styled-base-10.0.14.tgz#1b78a93e067ea852b2069339fcfd72c32ec91e4d" - integrity sha512-1nC5iO/Rk0DY47M5wXCyWpbo/woiwXWfVbNKDM3QRi7CKq8CwC++PQ5HgiYflFrAt1vjzIVZqnzrIn3idUoQgg== +"@emotion/styled-base@^10.0.15": + version "10.0.15" + resolved "https://registry.yarnpkg.com/@emotion/styled-base/-/styled-base-10.0.15.tgz#481dbfa5496259c8c64923fa24dfc9f456d83218" + integrity sha512-u1mtdoEip9uf0Wa/CrgLNFiu5pP6annTHyZGGinBisk/dRGyfq3NB7suum8HeMu26xXk7b5/qseDlrsoHq75KQ== dependencies: "@babel/runtime" "^7.4.3" "@emotion/is-prop-valid" "0.8.2" - "@emotion/serialize" "^0.11.8" + "@emotion/serialize" "^0.11.9" "@emotion/utils" "0.11.2" "@emotion/styled@^10.0.7": - version "10.0.14" - resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-10.0.14.tgz#538bcf0d67bf8f6de946bcfbee53dc7d0187b346" - integrity sha512-Ae8d5N/FmjvZKXjqWcjfhZhjCdkvxZSqD95Q72BYDNQnsOKLHIA4vWlMolLXDNkw1dIxV3l2pp82Z87HXj6eYQ== + version "10.0.15" + resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-10.0.15.tgz#bc99b968bdbf491db7bc474bb90c8fcdbe0f2f87" + integrity sha512-vIKDo/hG741PNRpMnrJ6R8NnnjYfOBw3d6cb3yNckpjcp0NNq3ugE8/EjcYBU1Ke44nx2p00h5uzE396xOLJIg== dependencies: - "@emotion/styled-base" "^10.0.14" - babel-plugin-emotion "^10.0.14" + "@emotion/styled-base" "^10.0.15" + babel-plugin-emotion "^10.0.15" "@emotion/stylis@0.8.4": version "0.8.4" @@ -1274,16 +1079,18 @@ safe-buffer "^5.1.2" "@evocateur/pacote@^9.6.3": - version "9.6.3" - resolved "https://registry.yarnpkg.com/@evocateur/pacote/-/pacote-9.6.3.tgz#bcd7adbd3c2ef303aa89bd24166f06dd9c080d89" - integrity sha512-ExqNqcbdHQprEgKnY/uQz7WRtyHRbQxRl4JnVkSkmtF8qffRrF9K+piZKNLNSkRMOT/3H0e3IP44QVCHaXMWOQ== + version "9.6.5" + resolved "https://registry.yarnpkg.com/@evocateur/pacote/-/pacote-9.6.5.tgz#33de32ba210b6f17c20ebab4d497efc6755f4ae5" + integrity sha512-EI552lf0aG2nOV8NnZpTxNo2PcXKPmDbF9K8eCBFQdIZwHNGN/mi815fxtmUMa2wTa1yndotICIDt/V0vpEx2w== dependencies: "@evocateur/npm-registry-fetch" "^4.0.0" bluebird "^3.5.3" - cacache "^12.0.0" + cacache "^12.0.3" + chownr "^1.1.2" figgy-pudding "^3.5.1" get-stream "^4.1.0" glob "^7.1.4" + infer-owner "^1.0.4" lru-cache "^5.1.1" make-fetch-happen "^5.0.0" minimatch "^3.0.4" @@ -1293,7 +1100,7 @@ normalize-package-data "^2.5.0" npm-package-arg "^6.1.0" npm-packlist "^1.4.4" - npm-pick-manifest "^2.2.3" + npm-pick-manifest "^3.0.0" osenv "^0.1.5" promise-inflight "^1.0.1" promise-retry "^1.1.1" @@ -1306,15 +1113,7 @@ unique-filename "^1.1.1" which "^1.3.1" -"@furystack/inject@^4.0.1": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@furystack/inject/-/inject-4.0.1.tgz#fc4fcf9ed87420ff8e992433809cb7af9f0dc469" - integrity sha512-myOvIAace80du6qwQg9IArAF3UMf795vm1R0AqrkjlZVmP7YMNAGgN9ivor9D+C+gddm8R4O8Hf3UPz74iMJTg== - dependencies: - "@sensenet/client-utils" "^1.5.1" - reflect-metadata "^0.1.13" - -"@furystack/inject@^4.0.2": +"@furystack/inject@^4.0.1", "@furystack/inject@^4.0.2": version "4.0.2" resolved "https://registry.yarnpkg.com/@furystack/inject/-/inject-4.0.2.tgz#83b8af141ca3c2da52e8a9fb159f4ca36ea1d83b" integrity sha512-usjTfol0pQlsgIyC/ay6CKzOpz664NL87waGgqMdeGqh5DgFs/4yi54vA4VIYBG5WcPx8xcjjQV+mL08b7YYfA== @@ -1322,10 +1121,10 @@ "@sensenet/client-utils" "^1.5.1" reflect-metadata "^0.1.13" -"@furystack/logging@^2.0.2": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@furystack/logging/-/logging-2.0.2.tgz#99ea9fd8789bf5e7e3a25b222fa431e341e459fb" - integrity sha512-PbsBPicjgJH5TY8nn/gccER9WfEqtDhhJbTuZkdnlkgtCHJ+lsTQ58aApwByR50Yb791QeN+4FcdZc03Mvr6jg== +"@furystack/logging@^2.0.3": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@furystack/logging/-/logging-2.0.3.tgz#5e84cd2f3343894c879bba30d29a1a5f1016f8ee" + integrity sha512-qvxI8Zw18jXNm1XdGRkIDxqnWdgXVWgFF7OWWL299QC3SoTBgnU0/W+H/RXyf6xz5eg6HNXdhxtEcT5/UOqLlA== dependencies: "@furystack/inject" "^4.0.2" @@ -1334,35 +1133,30 @@ resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.0.0.tgz#9f05469c88cb2fd3dcd624776b54ee95c312126a" integrity sha512-mV6T0IYqb0xL1UALPFplXYQmR0twnXG0M6jUswpquqT2sD12BOiCiLy3EvMp/Fy7s3DZElC4/aPjEjo2jeZpvw== -"@hapi/hoek@6.x.x": - version "6.2.4" - resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-6.2.4.tgz#4b95fbaccbfba90185690890bdf1a2fbbda10595" - integrity sha512-HOJ20Kc93DkDVvjwHyHawPwPkX44sIrbXazAUDiUXaY2R9JwQGo2PhFfnQtdrsIe4igjG2fPgMra7NYw7qhy0A== +"@hapi/bourne@1.x.x": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@hapi/bourne/-/bourne-1.3.2.tgz#0a7095adea067243ce3283e1b56b8a8f453b242a" + integrity sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA== "@hapi/hoek@8.x.x": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-8.1.0.tgz#8f7627b23ed9bf67088fc7f9669e48c63ad421bd" - integrity sha512-b1J4jxYnW+n6lC91V6Pqg9imP9BZq0HNCeM+3sbXg05rQsE9cGYrKFpZjyztVesGmNRE6R+QaEoWGATeIiUVjA== + version "8.2.1" + resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-8.2.1.tgz#924af04cbb22e17359c620d2a9c946e63f58eb77" + integrity sha512-JPiBy+oSmsq3St7XlipfN5pNA6bDJ1kpa73PrK/zR29CVClDVqy04AanM/M/qx5bSF+I61DdCfAvRrujau+zRg== "@hapi/joi@^15.0.3": - version "15.1.0" - resolved "https://registry.yarnpkg.com/@hapi/joi/-/joi-15.1.0.tgz#940cb749b5c55c26ab3b34ce362e82b6162c8e7a" - integrity sha512-n6kaRQO8S+kepUTbXL9O/UOL788Odqs38/VOfoCrATDtTvyfiO3fgjlSRaNkHabpTLgM7qru9ifqXlXbXk8SeQ== + version "15.1.1" + resolved "https://registry.yarnpkg.com/@hapi/joi/-/joi-15.1.1.tgz#c675b8a71296f02833f8d6d243b34c57b8ce19d7" + integrity sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ== dependencies: "@hapi/address" "2.x.x" - "@hapi/hoek" "6.x.x" - "@hapi/marker" "1.x.x" + "@hapi/bourne" "1.x.x" + "@hapi/hoek" "8.x.x" "@hapi/topo" "3.x.x" -"@hapi/marker@1.x.x": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@hapi/marker/-/marker-1.0.0.tgz#65b0b2b01d1be06304886ce9b4b77b1bfb21a769" - integrity sha512-JOfdekTXnJexfE8PyhZFyHvHjt81rBFSAbTIRAhF2vv/2Y1JzoKsGqxH/GpZJoF7aEfYok8JVcAHmSz1gkBieA== - "@hapi/topo@3.x.x": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-3.1.2.tgz#57cc1317be1a8c5f47c124f9b0e3c49cd78424d2" - integrity sha512-r+aumOqJ5QbD6aLPJWqVjMAPsx5pZKz+F5yPqXZ/WWG9JTtHbQqlzrJoknJ0iJxLj9vlXtmpSdjlkszseeG8OA== + version "3.1.3" + resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-3.1.3.tgz#c7a02e0d936596d29f184e6d7fdc07e8b5efce11" + integrity sha512-JmS9/vQK6dcUYn7wc2YZTqzIKubAQcJKu2KCKAru6es482U5RT5fP1EXCPtlXpiK7PR0On/kpQKI4fRKkzpZBQ== dependencies: "@hapi/hoek" "8.x.x" @@ -1371,76 +1165,77 @@ resolved "https://registry.yarnpkg.com/@icons/material/-/material-0.2.4.tgz#e90c9f71768b3736e76d7dd6783fc6c2afa88bc8" integrity sha512-QPcGmICAPbGLGb6F/yNf/KzKqvFx8z5qx3D1yFqVAjoFmXK35EgyW+cJ57Te3CNsmzblwtzakLGFqHPqrfb4Tw== -"@jest/console@^24.7.1": - version "24.7.1" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-24.7.1.tgz#32a9e42535a97aedfe037e725bd67e954b459545" - integrity sha512-iNhtIy2M8bXlAOULWVTUxmnelTLFneTNEkHCgPmgd+zNwy9zVddJ6oS5rZ9iwoscNdT5mMwUd0C51v/fSlzItg== +"@jest/console@^24.7.1", "@jest/console@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-24.9.0.tgz#79b1bc06fb74a8cfb01cbdedf945584b1b9707f0" + integrity sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ== dependencies: - "@jest/source-map" "^24.3.0" + "@jest/source-map" "^24.9.0" chalk "^2.0.1" slash "^2.0.0" -"@jest/core@^24.8.0": - version "24.8.0" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-24.8.0.tgz#fbbdcd42a41d0d39cddbc9f520c8bab0c33eed5b" - integrity sha512-R9rhAJwCBQzaRnrRgAdVfnglUuATXdwTRsYqs6NMdVcAl5euG8LtWDe+fVkN27YfKVBW61IojVsXKaOmSnqd/A== +"@jest/core@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-24.9.0.tgz#2ceccd0b93181f9c4850e74f2a9ad43d351369c4" + integrity sha512-Fogg3s4wlAr1VX7q+rhV9RVnUv5tD7VuWfYy1+whMiWUrvl7U3QJSJyWcDio9Lq2prqYsZaeTv2Rz24pWGkJ2A== dependencies: "@jest/console" "^24.7.1" - "@jest/reporters" "^24.8.0" - "@jest/test-result" "^24.8.0" - "@jest/transform" "^24.8.0" - "@jest/types" "^24.8.0" + "@jest/reporters" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" ansi-escapes "^3.0.0" chalk "^2.0.1" exit "^0.1.2" graceful-fs "^4.1.15" - jest-changed-files "^24.8.0" - jest-config "^24.8.0" - jest-haste-map "^24.8.0" - jest-message-util "^24.8.0" + jest-changed-files "^24.9.0" + jest-config "^24.9.0" + jest-haste-map "^24.9.0" + jest-message-util "^24.9.0" jest-regex-util "^24.3.0" - jest-resolve-dependencies "^24.8.0" - jest-runner "^24.8.0" - jest-runtime "^24.8.0" - jest-snapshot "^24.8.0" - jest-util "^24.8.0" - jest-validate "^24.8.0" - jest-watcher "^24.8.0" + jest-resolve "^24.9.0" + jest-resolve-dependencies "^24.9.0" + jest-runner "^24.9.0" + jest-runtime "^24.9.0" + jest-snapshot "^24.9.0" + jest-util "^24.9.0" + jest-validate "^24.9.0" + jest-watcher "^24.9.0" micromatch "^3.1.10" p-each-series "^1.0.0" - pirates "^4.0.1" realpath-native "^1.1.0" rimraf "^2.5.4" + slash "^2.0.0" strip-ansi "^5.0.0" -"@jest/environment@^24.8.0": - version "24.8.0" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-24.8.0.tgz#0342261383c776bdd652168f68065ef144af0eac" - integrity sha512-vlGt2HLg7qM+vtBrSkjDxk9K0YtRBi7HfRFaDxoRtyi+DyVChzhF20duvpdAnKVBV6W5tym8jm0U9EfXbDk1tw== - dependencies: - "@jest/fake-timers" "^24.8.0" - "@jest/transform" "^24.8.0" - "@jest/types" "^24.8.0" - jest-mock "^24.8.0" - -"@jest/fake-timers@^24.8.0": - version "24.8.0" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-24.8.0.tgz#2e5b80a4f78f284bcb4bd5714b8e10dd36a8d3d1" - integrity sha512-2M4d5MufVXwi6VzZhJ9f5S/wU4ud2ck0kxPof1Iz3zWx6Y+V2eJrES9jEktB6O3o/oEyk+il/uNu9PvASjWXQw== - dependencies: - "@jest/types" "^24.8.0" - jest-message-util "^24.8.0" - jest-mock "^24.8.0" - -"@jest/reporters@^24.8.0": - version "24.8.0" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-24.8.0.tgz#075169cd029bddec54b8f2c0fc489fd0b9e05729" - integrity sha512-eZ9TyUYpyIIXfYCrw0UHUWUvE35vx5I92HGMgS93Pv7du+GHIzl+/vh8Qj9MCWFK/4TqyttVBPakWMOfZRIfxw== - dependencies: - "@jest/environment" "^24.8.0" - "@jest/test-result" "^24.8.0" - "@jest/transform" "^24.8.0" - "@jest/types" "^24.8.0" +"@jest/environment@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-24.9.0.tgz#21e3afa2d65c0586cbd6cbefe208bafade44ab18" + integrity sha512-5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ== + dependencies: + "@jest/fake-timers" "^24.9.0" + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" + jest-mock "^24.9.0" + +"@jest/fake-timers@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-24.9.0.tgz#ba3e6bf0eecd09a636049896434d306636540c93" + integrity sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A== + dependencies: + "@jest/types" "^24.9.0" + jest-message-util "^24.9.0" + jest-mock "^24.9.0" + +"@jest/reporters@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-24.9.0.tgz#86660eff8e2b9661d042a8e98a028b8d631a5b43" + integrity sha512-mu4X0yjaHrffOsWmVLzitKmmmWSQ3GGuefgNscUSWNiUNcEOSEQk9k3pERKEQVBb0Cnn88+UESIsZEMH3o88Gw== + dependencies: + "@jest/environment" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" chalk "^2.0.1" exit "^0.1.2" glob "^7.1.2" @@ -1448,74 +1243,75 @@ istanbul-lib-instrument "^3.0.1" istanbul-lib-report "^2.0.4" istanbul-lib-source-maps "^3.0.1" - istanbul-reports "^2.1.1" - jest-haste-map "^24.8.0" - jest-resolve "^24.8.0" - jest-runtime "^24.8.0" - jest-util "^24.8.0" + istanbul-reports "^2.2.6" + jest-haste-map "^24.9.0" + jest-resolve "^24.9.0" + jest-runtime "^24.9.0" + jest-util "^24.9.0" jest-worker "^24.6.0" - node-notifier "^5.2.1" + node-notifier "^5.4.2" slash "^2.0.0" source-map "^0.6.0" string-length "^2.0.0" -"@jest/source-map@^24.3.0": - version "24.3.0" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-24.3.0.tgz#563be3aa4d224caf65ff77edc95cd1ca4da67f28" - integrity sha512-zALZt1t2ou8le/crCeeiRYzvdnTzaIlpOWaet45lNSqNJUnXbppUUFR4ZUAlzgDmKee4Q5P/tKXypI1RiHwgag== +"@jest/source-map@^24.3.0", "@jest/source-map@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-24.9.0.tgz#0e263a94430be4b41da683ccc1e6bffe2a191714" + integrity sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg== dependencies: callsites "^3.0.0" graceful-fs "^4.1.15" source-map "^0.6.0" -"@jest/test-result@^24.8.0": - version "24.8.0" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-24.8.0.tgz#7675d0aaf9d2484caa65e048d9b467d160f8e9d3" - integrity sha512-+YdLlxwizlfqkFDh7Mc7ONPQAhA4YylU1s529vVM1rsf67vGZH/2GGm5uO8QzPeVyaVMobCQ7FTxl38QrKRlng== +"@jest/test-result@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-24.9.0.tgz#11796e8aa9dbf88ea025757b3152595ad06ba0ca" + integrity sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA== dependencies: - "@jest/console" "^24.7.1" - "@jest/types" "^24.8.0" + "@jest/console" "^24.9.0" + "@jest/types" "^24.9.0" "@types/istanbul-lib-coverage" "^2.0.0" -"@jest/test-sequencer@^24.8.0": - version "24.8.0" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-24.8.0.tgz#2f993bcf6ef5eb4e65e8233a95a3320248cf994b" - integrity sha512-OzL/2yHyPdCHXEzhoBuq37CE99nkme15eHkAzXRVqthreWZamEMA0WoetwstsQBCXABhczpK03JNbc4L01vvLg== +"@jest/test-sequencer@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz#f8f334f35b625a4f2f355f2fe7e6036dad2e6b31" + integrity sha512-6qqsU4o0kW1dvA95qfNog8v8gkRN9ph6Lz7r96IvZpHdNipP2cBcb07J1Z45mz/VIS01OHJ3pY8T5fUY38tg4A== dependencies: - "@jest/test-result" "^24.8.0" - jest-haste-map "^24.8.0" - jest-runner "^24.8.0" - jest-runtime "^24.8.0" + "@jest/test-result" "^24.9.0" + jest-haste-map "^24.9.0" + jest-runner "^24.9.0" + jest-runtime "^24.9.0" -"@jest/transform@^24.8.0": - version "24.8.0" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-24.8.0.tgz#628fb99dce4f9d254c6fd9341e3eea262e06fef5" - integrity sha512-xBMfFUP7TortCs0O+Xtez2W7Zu1PLH9bvJgtraN1CDST6LBM/eTOZ9SfwS/lvV8yOfcDpFmwf9bq5cYbXvqsvA== +"@jest/transform@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-24.9.0.tgz#4ae2768b296553fadab09e9ec119543c90b16c56" + integrity sha512-TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ== dependencies: "@babel/core" "^7.1.0" - "@jest/types" "^24.8.0" + "@jest/types" "^24.9.0" babel-plugin-istanbul "^5.1.0" chalk "^2.0.1" convert-source-map "^1.4.0" fast-json-stable-stringify "^2.0.0" graceful-fs "^4.1.15" - jest-haste-map "^24.8.0" - jest-regex-util "^24.3.0" - jest-util "^24.8.0" + jest-haste-map "^24.9.0" + jest-regex-util "^24.9.0" + jest-util "^24.9.0" micromatch "^3.1.10" + pirates "^4.0.1" realpath-native "^1.1.0" slash "^2.0.0" source-map "^0.6.1" write-file-atomic "2.4.1" -"@jest/types@^24.8.0": - version "24.8.0" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-24.8.0.tgz#f31e25948c58f0abd8c845ae26fcea1491dea7ad" - integrity sha512-g17UxVr2YfBtaMUxn9u/4+siG1ptg9IGYAYwvpwn61nBg779RXnjE/m7CxYcIzEt0AbHZZAHSEZNhkE2WxURVg== +"@jest/types@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-24.9.0.tgz#63cb26cb7500d069e5a389441a7c6ab5e909fc59" + integrity sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw== dependencies: "@types/istanbul-lib-coverage" "^2.0.0" "@types/istanbul-reports" "^1.1.1" - "@types/yargs" "^12.0.9" + "@types/yargs" "^13.0.0" "@lerna/add@3.16.2": version "3.16.2" @@ -2195,14 +1991,14 @@ npmlog "^4.1.2" write-file-atomic "^2.3.0" -"@material-ui/core@^4.3.1": - version "4.3.1" - resolved "https://registry.yarnpkg.com/@material-ui/core/-/core-4.3.1.tgz#f30c43811c87abe577a3ce6ddbd20e3297378ee7" - integrity sha512-nzJSYmNsWzaLVf7y0eiDdgWYL850iEOG3HI7Qb/G9YSZfPsqx/+yxx6vIkZCE82VHwvYE92uMP9Ogb3qLYzcOA== +"@material-ui/core@^4.3.3": + version "4.3.3" + resolved "https://registry.yarnpkg.com/@material-ui/core/-/core-4.3.3.tgz#38a02331da7916c18e65c3dc56f3f6a67ba60c07" + integrity sha512-wUQjoJEbtVWYi+R9gBWCPGy0O+c0oY8cAp2TugyB70f89ahq/cnfnTbMZl6O2arKe2xQlfAMzY8rOOy8UMzJoQ== dependencies: "@babel/runtime" "^7.4.4" - "@material-ui/styles" "^4.3.0" - "@material-ui/system" "^4.3.2" + "@material-ui/styles" "^4.3.3" + "@material-ui/system" "^4.3.3" "@material-ui/types" "^4.1.1" "@material-ui/utils" "^4.3.0" "@types/react-transition-group" "^4.2.0" @@ -2224,10 +2020,10 @@ dependencies: "@babel/runtime" "^7.2.0" -"@material-ui/pickers@^3.2.2": - version "3.2.2" - resolved "https://registry.yarnpkg.com/@material-ui/pickers/-/pickers-3.2.2.tgz#9b7a67f5a8f21f8183853ebc1848e5d8dd680d4c" - integrity sha512-on/J1yyKeJ4CkLnItpf/jPDKMZVWvHDklkh5FS7wkZ0s1OPoqTsPubLWfA7eND6xREnVRyLFzVTlE3VlWYdQWw== +"@material-ui/pickers@^3.2.3": + version "3.2.4" + resolved "https://registry.yarnpkg.com/@material-ui/pickers/-/pickers-3.2.4.tgz#be5dfcff71120de8c3711595d773ec3f2141b736" + integrity sha512-px+vHVu1tMKHyOXNd7OPc0hF+SP+6ZDSMHLFzZPnnwOADu0GwbEoEs+428Vdp2ifpiojaCFneUO2uTMtQbywcQ== dependencies: "@babel/runtime" "^7.2.0" "@types/styled-jsx" "^2.2.8" @@ -2236,10 +2032,10 @@ rifm "^0.7.0" tslib "^1.9.3" -"@material-ui/styles@^4.3.0": - version "4.3.0" - resolved "https://registry.yarnpkg.com/@material-ui/styles/-/styles-4.3.0.tgz#27f11fbf061d8a20ad5703acb0dbb0e69cc00345" - integrity sha512-7yOu+IOvbTVM+LfFJ0c7RZKksSpi2PmPwMhVnAKo1Ca3Nadjd950ALL6WG+R/W3C3GqakUvOqA5OLMvN/8N2jg== +"@material-ui/styles@^4.3.3": + version "4.3.3" + resolved "https://registry.yarnpkg.com/@material-ui/styles/-/styles-4.3.3.tgz#39867dd6f3779a8326075e097d72208d3c5b4977" + integrity sha512-quupQ6RYXbtKBJxhLkF3RQx6LSfrfuh2lYpILvk7p9XNkfqOQq36fuNVgrJ/A+NNn03uqDFfQYIWh4CByKr4hA== dependencies: "@babel/runtime" "^7.4.4" "@emotion/hash" "^0.7.1" @@ -2249,21 +2045,21 @@ csstype "^2.5.2" deepmerge "^4.0.0" hoist-non-react-statics "^3.2.1" - jss "10.0.0-alpha.23" - jss-plugin-camel-case "10.0.0-alpha.23" - jss-plugin-default-unit "10.0.0-alpha.23" - jss-plugin-global "10.0.0-alpha.23" - jss-plugin-nested "10.0.0-alpha.23" - jss-plugin-props-sort "10.0.0-alpha.23" - jss-plugin-rule-value-function "10.0.0-alpha.23" - jss-plugin-vendor-prefixer "10.0.0-alpha.23" + jss "10.0.0-alpha.24" + jss-plugin-camel-case "10.0.0-alpha.24" + jss-plugin-default-unit "10.0.0-alpha.24" + jss-plugin-global "10.0.0-alpha.24" + jss-plugin-nested "10.0.0-alpha.24" + jss-plugin-props-sort "10.0.0-alpha.24" + jss-plugin-rule-value-function "10.0.0-alpha.24" + jss-plugin-vendor-prefixer "10.0.0-alpha.24" prop-types "^15.7.2" warning "^4.0.1" -"@material-ui/system@^4.3.2": - version "4.3.2" - resolved "https://registry.yarnpkg.com/@material-ui/system/-/system-4.3.2.tgz#2f8f0d5bae29647f5a4e74efaaa82755dbac2b3b" - integrity sha512-jSQLtjKvD956UgEeh4b9ojg4gSrlLpuNvlZzS2ML6KWW7gCXhGx0tKMbpUn4qHzD5IpoF+86SS8JFBWdYdnH0Q== +"@material-ui/system@^4.3.3": + version "4.3.3" + resolved "https://registry.yarnpkg.com/@material-ui/system/-/system-4.3.3.tgz#8534fe76adbd3938a8dea833e69d84a7a143ecff" + integrity sha512-j7JyvlhcTdc1wV6HzrDTU7XXlarxYXEUyzyHawOA0kCGmYVN2uFHENQRARLUdl+mEmuXO4TsAhNAiqiKakkFMg== dependencies: "@babel/runtime" "^7.4.4" deepmerge "^4.0.0" @@ -2277,16 +2073,7 @@ dependencies: "@types/react" "*" -"@material-ui/utils@^4.1.0": - version "4.1.0" - resolved "https://registry.yarnpkg.com/@material-ui/utils/-/utils-4.1.0.tgz#45fd6698db49f3528fe45c922c496235021d76ec" - integrity sha512-muwmVU799tzPjzb+Q5E/CTDle0rXwkCAdvMVyU0BfbJhenkUsFmuYiCmbvMVOU1m6F1S5HWfXz8EP4pXwwAvrw== - dependencies: - "@babel/runtime" "^7.2.0" - prop-types "^15.7.2" - react-is "^16.8.0" - -"@material-ui/utils@^4.3.0": +"@material-ui/utils@^4.1.0", "@material-ui/utils@^4.3.0": version "4.3.0" resolved "https://registry.yarnpkg.com/@material-ui/utils/-/utils-4.3.0.tgz#ea7f09815c792e80f270ef8b916517c3f9caba13" integrity sha512-tK3Z/ap5ifPQwIryuGQ+AHLh2hEyBLRPj4NCMcqVrQfD+0KH2IP5BXR4A+wGVsyamKfLaOc8tz1fzxZblsztpw== @@ -2303,18 +2090,18 @@ call-me-maybe "^1.0.1" glob-to-regexp "^0.3.0" -"@nodelib/fs.scandir@2.1.1": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.1.tgz#7fa8fed654939e1a39753d286b48b4836d00e0eb" - integrity sha512-NT/skIZjgotDSiXs0WqYhgcuBKhUMgfekCmCGtkUAiLqZdOnrdjmZr9wRl3ll64J9NF79uZ4fk16Dx0yMc/Xbg== +"@nodelib/fs.scandir@2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.2.tgz#1f981cd5b83e85cfdeb386fc693d4baab392fa54" + integrity sha512-wrIBsjA5pl13f0RN4Zx4FNWmU71lv03meGKnqRUoCyan17s4V3WL92f3w3AIuWbNnpcrQyFBU5qMavJoB8d27w== dependencies: - "@nodelib/fs.stat" "2.0.1" + "@nodelib/fs.stat" "2.0.2" run-parallel "^1.1.9" -"@nodelib/fs.stat@2.0.1", "@nodelib/fs.stat@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.1.tgz#814f71b1167390cfcb6a6b3d9cdeb0951a192c14" - integrity sha512-+RqhBlLn6YRBGOIoVYthsG0J9dfpO79eJyN7BYBkZJtfqrBwf2KK+rD/M/yjZR6WBmIhAgOV7S60eCgaSWtbFw== +"@nodelib/fs.stat@2.0.2", "@nodelib/fs.stat@^2.0.1": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.2.tgz#2762aea8fe78ea256860182dcb52d61ee4b8fda6" + integrity sha512-z8+wGWV2dgUhLqrtRYa03yDx4HWMvXKi1z8g3m2JyxAx8F7xk74asqPk5LAETjqDSGLFML/6CDl0+yFunSYicw== "@nodelib/fs.stat@^1.1.2": version "1.1.3" @@ -2322,21 +2109,21 @@ integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== "@nodelib/fs.walk@^1.2.1": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.2.tgz#6a6450c5e17012abd81450eb74949a4d970d2807" - integrity sha512-J/DR3+W12uCzAJkw7niXDcqcKBg6+5G5Q/ZpThpGNzAUz70eOR6RV4XnnSN01qHZiVl0eavoxJsBypQoKsV2QQ== + version "1.2.3" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.3.tgz#a555dc256acaf00c62b0db29529028dd4d4cb141" + integrity sha512-l6t8xEhfK9Sa4YO5mIRdau7XSOADfmh3jCr0evNHdY+HNkW6xuQhgMH7D73VV6WpZOagrW0UludvMTiifiwTfA== dependencies: - "@nodelib/fs.scandir" "2.1.1" + "@nodelib/fs.scandir" "2.1.2" fastq "^1.6.0" "@octokit/endpoint@^5.1.0": - version "5.2.0" - resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-5.2.0.tgz#acd569cb7152549998454aa5658532eb24a0987e" - integrity sha512-g4r1MKr8GJ8qubJQp3HP3JrxDY+ZeVqjYBTgtu1lPEDLhfQDY6rOhyZOoHKOw+gaIF6aAcmuvPPNZUro2OwmOg== + version "5.3.2" + resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-5.3.2.tgz#2deda2d869cac9ba7f370287d55667be2a808d4b" + integrity sha512-gRjteEM9I6f4D8vtwU2iGUTn9RX/AJ0SVXiqBUEuYEWVGGAVjSXdT0oNmghH5lvQNWs8mwt6ZaultuG6yXivNw== dependencies: - deepmerge "3.3.0" + deepmerge "4.0.0" is-plain-object "^3.0.0" - universal-user-agent "^2.1.0" + universal-user-agent "^3.0.0" url-template "^2.0.8" "@octokit/plugin-enterprise-rest@^3.6.1": @@ -2353,9 +2140,9 @@ once "^1.4.0" "@octokit/request@^5.0.0": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.0.1.tgz#6705c9a883db0ac0f58cee717e806b6575d4a199" - integrity sha512-SHOk/APYpfrzV1RNf7Ux8SZi+vZXhMIB2dBr4TQR6ExMX8R4jcy/0gHw26HLe1dWV7Wxe9WzYyDSEC0XwnoCSQ== + version "5.0.2" + resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.0.2.tgz#59a920451f24811c016ddc507adcc41aafb2dca5" + integrity sha512-z1BQr43g4kOL4ZrIVBMHwi68Yg9VbkRUyuAgqCp1rU3vbYa69+2gIld/+gHclw15bJWQnhqqyEb7h5a5EqgZ0A== dependencies: "@octokit/endpoint" "^5.1.0" "@octokit/request-error" "^1.0.1" @@ -2366,9 +2153,9 @@ universal-user-agent "^3.0.0" "@octokit/rest@^16.28.4": - version "16.28.6" - resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-16.28.6.tgz#9e73104077c9c06cf3b1628603b4b0c55a117809" - integrity sha512-ERfzS6g6ZNPJkEUclxLenr+UEncbymCe//IBrWWdp59nslYDeJboq07Ue9brX05Uv0+SY3kwA33cdiVBVPAOMQ== + version "16.28.7" + resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-16.28.7.tgz#a2c2db5b318da84144beba82d19c1a9dbdb1a1fa" + integrity sha512-cznFSLEhh22XD3XeqJw51OLSfyL2fcFKUO+v2Ep9MTAFfFLS1cK1Zwd1yEgQJmJoDnj4/vv3+fGGZweG+xsbIA== dependencies: "@octokit/request" "^5.0.0" "@octokit/request-error" "^1.0.2" @@ -2402,17 +2189,17 @@ dependencies: any-observable "^0.3.0" -"@storybook/addon-a11y@^5.0.11": - version "5.1.9" - resolved "https://registry.yarnpkg.com/@storybook/addon-a11y/-/addon-a11y-5.1.9.tgz#3feea3f49680f6c311cefd1838b82721d59f397e" - integrity sha512-5u90lEpJtO1W8unwNy5fKTKQG7Sbe3IZJpiC6rf1MdGk0avSwoxDyblt0NImPDBHTh4LeUcuCn57D7AVNLUplg== - dependencies: - "@storybook/addons" "5.1.9" - "@storybook/api" "5.1.9" - "@storybook/client-logger" "5.1.9" - "@storybook/components" "5.1.9" - "@storybook/core-events" "5.1.9" - "@storybook/theming" "5.1.9" +"@storybook/addon-a11y@^5.1.11": + version "5.1.11" + resolved "https://registry.yarnpkg.com/@storybook/addon-a11y/-/addon-a11y-5.1.11.tgz#170e0f406b6c0a07fd1e28e6323a694df3f087fc" + integrity sha512-kMBDPl0DslamNCtOGGqGlTjRDTxmEcu8JMTaZSa4GnTwzfN+ugb+aUEkbKl3VjMW7GsdpgizMTWBtgf6SwNj8w== + dependencies: + "@storybook/addons" "5.1.11" + "@storybook/api" "5.1.11" + "@storybook/client-logger" "5.1.11" + "@storybook/components" "5.1.11" + "@storybook/core-events" "5.1.11" + "@storybook/theming" "5.1.11" axe-core "^3.2.2" common-tags "^1.8.0" core-js "^3.0.1" @@ -2425,16 +2212,16 @@ redux "^4.0.1" util-deprecate "^1.0.2" -"@storybook/addon-actions@^5.0.11": - version "5.1.9" - resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-5.1.9.tgz#a515b62b109cb886ccd75ef2f5b12f8c27b43dd3" - integrity sha512-h/csHPotBESyEUYlML3yyF2jUlDChB+u3TUNC3Ztzh/x7HzLqy88SL0INSIdY0dCBGx4TK5Gh+rMI7z28Hfdyw== +"@storybook/addon-actions@^5.1.11": + version "5.1.11" + resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-5.1.11.tgz#ebc299b9dfe476b5c65eb5d148c4b064f682ca08" + integrity sha512-Fp4b8cBYrl9zudvamVYTxE1XK2tzg91hgBDoVxIbDvSMZ2aQXSq8B5OFS4eSdvg+ldEOBbvIgUNS1NIw+FGntQ== dependencies: - "@storybook/addons" "5.1.9" - "@storybook/api" "5.1.9" - "@storybook/components" "5.1.9" - "@storybook/core-events" "5.1.9" - "@storybook/theming" "5.1.9" + "@storybook/addons" "5.1.11" + "@storybook/api" "5.1.11" + "@storybook/components" "5.1.11" + "@storybook/core-events" "5.1.11" + "@storybook/theming" "5.1.11" core-js "^3.0.1" fast-deep-equal "^2.0.1" global "^4.3.2" @@ -2445,14 +2232,14 @@ react-inspector "^3.0.2" uuid "^3.3.2" -"@storybook/addon-events@^5.0.11": - version "5.1.9" - resolved "https://registry.yarnpkg.com/@storybook/addon-events/-/addon-events-5.1.9.tgz#331f1d54aaad0163ffca7ea875e89fa56a41f1c2" - integrity sha512-s3gzA7of7CRabrNFkfVDYgrfKrec7qp3CrVRH/NO96PQkdVy7yaz0uiLwWAbzDM482AooDQZWwtgCjAXBfYGag== +"@storybook/addon-events@^5.1.11": + version "5.1.11" + resolved "https://registry.yarnpkg.com/@storybook/addon-events/-/addon-events-5.1.11.tgz#04cea5db02a6ee5ac57eef44d7cdb8ea00958bb4" + integrity sha512-tNayXRmnMimWoGXhhDUCIdLYNGAuuyUj8lqkdZMzBgASBXQd+8RLNeoCWhiTp/H1bh3wrBObWTgA2BMJHwn/qQ== dependencies: - "@storybook/addons" "5.1.9" - "@storybook/core-events" "5.1.9" - "@storybook/theming" "5.1.9" + "@storybook/addons" "5.1.11" + "@storybook/core-events" "5.1.11" + "@storybook/theming" "5.1.11" core-js "^3.0.1" format-json "^1.0.3" prop-types "^15.7.2" @@ -2461,15 +2248,15 @@ react-textarea-autosize "^7.0.4" util-deprecate "^1.0.2" -"@storybook/addon-info@^5.0.11": - version "5.1.9" - resolved "https://registry.yarnpkg.com/@storybook/addon-info/-/addon-info-5.1.9.tgz#324066b02c7b76bd459d44ad3e6fe5640b7a8781" - integrity sha512-KWGhW8kv/VUj4OnWyOmZx/Kq7CzSLGMIXFI6UQY9f6j6QiyShSaOKXgbNIhynjiYHq0hEnfbgUvws2DC9dDFuw== +"@storybook/addon-info@^5.1.11": + version "5.1.11" + resolved "https://registry.yarnpkg.com/@storybook/addon-info/-/addon-info-5.1.11.tgz#82cc8e36b20eaac469a171299e64754ebae189c8" + integrity sha512-hvliF+W4Yz9E23bFfkzWaGGFWBDxlkIh9PsYwFSb4ho0UMCfujLjIM6AeFUvVFiIZm71AnOq8U0+AWPbQ99orw== dependencies: - "@storybook/addons" "5.1.9" - "@storybook/client-logger" "5.1.9" - "@storybook/components" "5.1.9" - "@storybook/theming" "5.1.9" + "@storybook/addons" "5.1.11" + "@storybook/client-logger" "5.1.11" + "@storybook/components" "5.1.11" + "@storybook/theming" "5.1.11" core-js "^3.0.1" global "^4.3.2" marksy "^7.0.0" @@ -2482,16 +2269,16 @@ react-lifecycles-compat "^3.0.4" util-deprecate "^1.0.2" -"@storybook/addon-knobs@^5.0.11": - version "5.1.9" - resolved "https://registry.yarnpkg.com/@storybook/addon-knobs/-/addon-knobs-5.1.9.tgz#74db07fd644b41e63274f8754fbfb18f43d4cf01" - integrity sha512-7/bICMYtR9CaTqfZX1kT2pBOTLZo3HxeslyQKWWsWlNElV33Ym2d0PPL5eS36eFxG/ZOp6lQWIFhunNnlmP5xg== +"@storybook/addon-knobs@^5.1.11": + version "5.1.11" + resolved "https://registry.yarnpkg.com/@storybook/addon-knobs/-/addon-knobs-5.1.11.tgz#a7e7d986b45e8addb25151b81008af1648ef1f2a" + integrity sha512-16GY8IPxVBcmq5TqPtP6254Qw5FvdefDZjIQd+ByJJliQjXZMQKxEl6JhRq98iUfSxEB+6JCPnpKPa666jmCMA== dependencies: - "@storybook/addons" "5.1.9" - "@storybook/client-api" "5.1.9" - "@storybook/components" "5.1.9" - "@storybook/core-events" "5.1.9" - "@storybook/theming" "5.1.9" + "@storybook/addons" "5.1.11" + "@storybook/client-api" "5.1.11" + "@storybook/components" "5.1.11" + "@storybook/core-events" "5.1.11" + "@storybook/theming" "5.1.11" copy-to-clipboard "^3.0.8" core-js "^3.0.1" escape-html "^1.0.3" @@ -2504,32 +2291,32 @@ react-lifecycles-compat "^3.0.4" react-select "^2.2.0" -"@storybook/addon-links@^5.0.11": - version "5.1.9" - resolved "https://registry.yarnpkg.com/@storybook/addon-links/-/addon-links-5.1.9.tgz#944237bfb318cf4741b417d2b452b0b644650868" - integrity sha512-mwNxbXX9eI6G7iBk/1BJ2bSsLOv+/zek7BbF8x5LGTXgrp9bVB6dUxjPFHOmiUFqrLheHxUTsBlwZDFQdMdHBg== +"@storybook/addon-links@^5.1.11": + version "5.1.11" + resolved "https://registry.yarnpkg.com/@storybook/addon-links/-/addon-links-5.1.11.tgz#3a245f30480d586094bdda8f4658c5d328ac39b9" + integrity sha512-NV4gRduMNm0dchKCWAZ4YQSYOdj5acoztGIz3w+xs9e+MAXOHXs7iL8sBbqAFlfz4elPGHWW+8NGn9UYxQFK+Q== dependencies: - "@storybook/addons" "5.1.9" - "@storybook/core-events" "5.1.9" - "@storybook/router" "5.1.9" + "@storybook/addons" "5.1.11" + "@storybook/core-events" "5.1.11" + "@storybook/router" "5.1.11" common-tags "^1.8.0" core-js "^3.0.1" global "^4.3.2" prop-types "^15.7.2" qs "^6.6.0" -"@storybook/addon-notes@^5.0.11": - version "5.1.9" - resolved "https://registry.yarnpkg.com/@storybook/addon-notes/-/addon-notes-5.1.9.tgz#7a19373589b4280b9a10a107a0357e63d2d56f5c" - integrity sha512-UE+/RNysKRo2ZqCaqllwwV59x2S1laZjF4Netcm0nf9dKNcnqOoSHlTs0t4m8WpmfBQKAde4p+8fJGP2bCM+8A== - dependencies: - "@storybook/addons" "5.1.9" - "@storybook/api" "5.1.9" - "@storybook/client-logger" "5.1.9" - "@storybook/components" "5.1.9" - "@storybook/core-events" "5.1.9" - "@storybook/router" "5.1.9" - "@storybook/theming" "5.1.9" +"@storybook/addon-notes@^5.1.11": + version "5.1.11" + resolved "https://registry.yarnpkg.com/@storybook/addon-notes/-/addon-notes-5.1.11.tgz#ad68fd7f3eb8edc1a2f1de26364e777cbe61bf91" + integrity sha512-C+PV8vpS6g2bN96d88imQbi1RFn8wmNGaKUsncyz9ScdX9FhQwlbV8Lv1Lthholw0DwpcOjJVaf3pPml7XssGw== + dependencies: + "@storybook/addons" "5.1.11" + "@storybook/api" "5.1.11" + "@storybook/client-logger" "5.1.11" + "@storybook/components" "5.1.11" + "@storybook/core-events" "5.1.11" + "@storybook/router" "5.1.11" + "@storybook/theming" "5.1.11" core-js "^3.0.1" global "^4.3.2" markdown-to-jsx "^6.9.3" @@ -2537,24 +2324,24 @@ prop-types "^15.7.2" util-deprecate "^1.0.2" -"@storybook/addon-options@^5.0.11": - version "5.1.9" - resolved "https://registry.yarnpkg.com/@storybook/addon-options/-/addon-options-5.1.9.tgz#dc326b94c52a7ee27bf948fb7ca63a6ea3c9736d" - integrity sha512-wQIUw5Uc/5iREtI9eh2wPMlNG0O7jxaTaxGS8Bs6zDzkwiLHcLJCrfk1lPXU6O8ExEzWHpaCmxth8GyfKj8Qtw== +"@storybook/addon-options@^5.1.11": + version "5.1.11" + resolved "https://registry.yarnpkg.com/@storybook/addon-options/-/addon-options-5.1.11.tgz#c93249359f4c3586dc707611392cd342df911125" + integrity sha512-sqquPt/5FBroqsqFrAmHacxS2Bjh9ZmVLJgN7tCBR0be99q5cAJA3o0QNLIG9dS22NRR2qhG3HHOtwUqj+nXpA== dependencies: - "@storybook/addons" "5.1.9" + "@storybook/addons" "5.1.11" core-js "^3.0.1" util-deprecate "^1.0.2" -"@storybook/addon-storysource@^5.0.11": - version "5.1.9" - resolved "https://registry.yarnpkg.com/@storybook/addon-storysource/-/addon-storysource-5.1.9.tgz#c3a7a8b65080b6bb71c43c30dfab639aba10d271" - integrity sha512-UHhF2IqaJYfKaRMLUVJboerObGzxs0zj0X2EJTnTKUL3by1/ksvdMQ3cf3525XUk08PW7nW1HAqBeZo7wAbC7w== +"@storybook/addon-storysource@^5.1.11": + version "5.1.11" + resolved "https://registry.yarnpkg.com/@storybook/addon-storysource/-/addon-storysource-5.1.11.tgz#d842ffd8de67dff1eb04c8b5a368f3796c1e6a12" + integrity sha512-/SgxwxLHC+q6zXDBtx38yZ8ySavMtPf+rxR2X1XTT5rZeSs9yaVx8dQLzqvFZVZG72Jz0I03h5CdWn7TfKhmbQ== dependencies: - "@storybook/addons" "5.1.9" - "@storybook/components" "5.1.9" - "@storybook/router" "5.1.9" - "@storybook/theming" "5.1.9" + "@storybook/addons" "5.1.11" + "@storybook/components" "5.1.11" + "@storybook/router" "5.1.11" + "@storybook/theming" "5.1.11" core-js "^3.0.1" estraverse "^4.2.0" loader-utils "^1.2.3" @@ -2563,44 +2350,44 @@ react-syntax-highlighter "^8.0.1" regenerator-runtime "^0.12.1" -"@storybook/addon-viewport@^5.0.11": - version "5.1.9" - resolved "https://registry.yarnpkg.com/@storybook/addon-viewport/-/addon-viewport-5.1.9.tgz#509819730ae99a9e08d1e1f71e8e567b068da01c" - integrity sha512-0EEsZ7rWTj3q3M8AFjm6dXjQPS0w4gto8clMzGzdLHXA6D6KG3w10t9XsVr4mxve7PrEpiFXc6mhqsg7wbTDnQ== +"@storybook/addon-viewport@^5.1.11": + version "5.1.11" + resolved "https://registry.yarnpkg.com/@storybook/addon-viewport/-/addon-viewport-5.1.11.tgz#3061d618e53f1e8e453e0d5d3380828e40207a9a" + integrity sha512-9abbCEivU4Gqueg2rY0TJUnUb2w7xq0T+9G6RO7QYayXC9zPfK0hpdGOPZ3d5cJTox87K8j2536pyTVOd7Cc+Q== dependencies: - "@storybook/addons" "5.1.9" - "@storybook/client-logger" "5.1.9" - "@storybook/components" "5.1.9" - "@storybook/core-events" "5.1.9" - "@storybook/theming" "5.1.9" + "@storybook/addons" "5.1.11" + "@storybook/client-logger" "5.1.11" + "@storybook/components" "5.1.11" + "@storybook/core-events" "5.1.11" + "@storybook/theming" "5.1.11" core-js "^3.0.1" global "^4.3.2" memoizerific "^1.11.3" prop-types "^15.7.2" util-deprecate "^1.0.2" -"@storybook/addons@5.1.9", "@storybook/addons@^5.0.11": - version "5.1.9" - resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-5.1.9.tgz#ecf218d08508b97ca5e6e0f1ed361081385bd3ff" - integrity sha512-1bavbcS/NiE65DwyKj8c0DmWmz9VekOinB+has2Pqt2bOffZoZwVnbmepcz9hH3GUyvp5fQBYbxTEmTDvF2lLA== +"@storybook/addons@5.1.11", "@storybook/addons@^5.1.11": + version "5.1.11" + resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-5.1.11.tgz#27f9cfed8d7f7c8a3fc341cdba3b0bdf608f02aa" + integrity sha512-714Xg6pX4rjDY1urL94w4oOxIiK6jCFSp4oKvqLj7dli5CG7d34Yt9joyTgOb2pkbrgmbMWAZJq0L0iOjHzpzw== dependencies: - "@storybook/api" "5.1.9" - "@storybook/channels" "5.1.9" - "@storybook/client-logger" "5.1.9" + "@storybook/api" "5.1.11" + "@storybook/channels" "5.1.11" + "@storybook/client-logger" "5.1.11" core-js "^3.0.1" global "^4.3.2" util-deprecate "^1.0.2" -"@storybook/api@5.1.9": - version "5.1.9" - resolved "https://registry.yarnpkg.com/@storybook/api/-/api-5.1.9.tgz#eec5b2f775392ce0803930104c6ce14fa4931e8b" - integrity sha512-d1HhpOkW+706/WJ9lP5nCqOrp/icvbm0o+6jFFOGJ35AW5O9D8vDBxzvgMEO45jjN4I+rtbcNHQCxshSbPvP9w== +"@storybook/api@5.1.11": + version "5.1.11" + resolved "https://registry.yarnpkg.com/@storybook/api/-/api-5.1.11.tgz#71ef00285cd8602aad24cdb26c60c5d3c76631e5" + integrity sha512-zzPZM6W67D4YKCbUN4RhC/w+/CtnH/hFbSh/QUBdwXFB1aLh2qA1UTyB8i6m6OA6JgVHBqEkl10KhmeILLv/eA== dependencies: - "@storybook/channels" "5.1.9" - "@storybook/client-logger" "5.1.9" - "@storybook/core-events" "5.1.9" - "@storybook/router" "5.1.9" - "@storybook/theming" "5.1.9" + "@storybook/channels" "5.1.11" + "@storybook/client-logger" "5.1.11" + "@storybook/core-events" "5.1.11" + "@storybook/router" "5.1.11" + "@storybook/theming" "5.1.11" core-js "^3.0.1" fast-deep-equal "^2.0.1" global "^4.3.2" @@ -2614,33 +2401,33 @@ telejson "^2.2.1" util-deprecate "^1.0.2" -"@storybook/channel-postmessage@5.1.9": - version "5.1.9" - resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-5.1.9.tgz#bd710ca74d7998a234c6b1f38009020d7c34bbc0" - integrity sha512-H71PsnDKW81eflOS48Lv9yK4O8AcoqXL6ohsWvLdrHWIBsH4zpjOIhdWHtmAaT3hyfMy+l49DQ+uCHLECEt55g== +"@storybook/channel-postmessage@5.1.11": + version "5.1.11" + resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-5.1.11.tgz#e75ab7d59ba19476eb631cdb69ee713c3b956c2b" + integrity sha512-S7Uq7+c9kOJ9BB4H9Uro2+dVhqoMchYCipQzAkD4jIIwK99RNzGdAaRipDC1k0k/C+v2SOa+D5xBbb3XVYPSrg== dependencies: - "@storybook/channels" "5.1.9" - "@storybook/client-logger" "5.1.9" + "@storybook/channels" "5.1.11" + "@storybook/client-logger" "5.1.11" core-js "^3.0.1" global "^4.3.2" telejson "^2.2.1" -"@storybook/channels@5.1.9": - version "5.1.9" - resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-5.1.9.tgz#003cfca0b9f1ba6cf47ce68304aedd71bdb55e74" - integrity sha512-R6i7859FsXgY9XFFErVe7gS37wGYpQEEWsO1LzUW7YptGuFTUa8yLgKkNkgfy7Zs61Xm+GiBq8PvS/CWxjotPw== +"@storybook/channels@5.1.11": + version "5.1.11" + resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-5.1.11.tgz#77ddf9d777891f975ac10095772c840fed4c4620" + integrity sha512-MlrjVGNvYOnDvv2JDRhr4wikbnZ8HCFCpVsFqKPFxj7I3OYBR417RvFkydX3Rtx4kwB9rmZEgLhfAfsSytkALg== dependencies: core-js "^3.0.1" -"@storybook/client-api@5.1.9": - version "5.1.9" - resolved "https://registry.yarnpkg.com/@storybook/client-api/-/client-api-5.1.9.tgz#b598efe4ab07bffaeb4cb9e30ed9c21add739df1" - integrity sha512-J5HDtOS7x5YRpF/CMiHdxywV5NIh1i/03Xh2RhG15lmPy87VStIGpLzhF71uCRPLEJinYelcjuXRNAJgRzUOlg== +"@storybook/client-api@5.1.11": + version "5.1.11" + resolved "https://registry.yarnpkg.com/@storybook/client-api/-/client-api-5.1.11.tgz#30d82c09c6c40aa70d932e77b1d1e65526bddc0c" + integrity sha512-znzSxZ1ZCqtEKrFoW7xT8iBbdiAXaQ8RNxQFKHuYPqWX+RLol6S3duEOxu491X2SzUg0StUmrX5qL9Rnth8dRQ== dependencies: - "@storybook/addons" "5.1.9" - "@storybook/client-logger" "5.1.9" - "@storybook/core-events" "5.1.9" - "@storybook/router" "5.1.9" + "@storybook/addons" "5.1.11" + "@storybook/client-logger" "5.1.11" + "@storybook/core-events" "5.1.11" + "@storybook/router" "5.1.11" common-tags "^1.8.0" core-js "^3.0.1" eventemitter3 "^3.1.0" @@ -2650,20 +2437,20 @@ memoizerific "^1.11.3" qs "^6.6.0" -"@storybook/client-logger@5.1.9": - version "5.1.9" - resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-5.1.9.tgz#87e2f7578416269adeccd407584010bc353f14d3" - integrity sha512-1+Otcn0EFgWNviDPNCR5LtUViADlboz9fmpZc7UY7bgaY5FVNIUO01E4T43tO7fduiRZoEvdltwTuQRm260Vjw== +"@storybook/client-logger@5.1.11": + version "5.1.11" + resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-5.1.11.tgz#9509af3021b7a9977f9dba1f2ff038fd3c994437" + integrity sha512-je4To+9zD3SEJsKe9R4u15N4bdXFBR7pdBToaRIur+XSvvShLFehZGseQi+4uPAj8vyG34quGTCeUC/BKY0LwQ== dependencies: core-js "^3.0.1" -"@storybook/components@5.1.9": - version "5.1.9" - resolved "https://registry.yarnpkg.com/@storybook/components/-/components-5.1.9.tgz#2a5258780fff07172d103287759946dbb4b13e2d" - integrity sha512-F4xcRlifSAfqkuFWtCKRvQDahXyfWBWV2Wa+kYy4YGwEfm3kKtIHVlgdgARL22g9BdYpRFEOJ+42juOu5YvIeQ== +"@storybook/components@5.1.11": + version "5.1.11" + resolved "https://registry.yarnpkg.com/@storybook/components/-/components-5.1.11.tgz#da253af0a8cb1b063c5c2e8016c4540c983f717d" + integrity sha512-EQgD7HL2CWnnY968KrwUSU2dtKFGTGRJVc4vwphYEeZwAI0lX6qbTMuwEP22hDZ2OSRBxcvcXT8cvduDlZlFng== dependencies: - "@storybook/client-logger" "5.1.9" - "@storybook/theming" "5.1.9" + "@storybook/client-logger" "5.1.11" + "@storybook/theming" "5.1.11" core-js "^3.0.1" global "^4.3.2" markdown-to-jsx "^6.9.1" @@ -2681,32 +2468,32 @@ recompose "^0.30.0" simplebar-react "^1.0.0-alpha.6" -"@storybook/core-events@5.1.9": - version "5.1.9" - resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-5.1.9.tgz#441a6297e2ccfa743e15d1db1f4ac445b91f40d8" - integrity sha512-jHe2uyoLj9i6fntHtOj5azfGdLOb75LF0e1xXE8U2SX7Zp3uwbLAcfJ+dPStdc/q+f/wBiip3tH1dIjaNuUiMw== +"@storybook/core-events@5.1.11": + version "5.1.11" + resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-5.1.11.tgz#9d00503a936d30398f7a64336eb956303d053765" + integrity sha512-m+yIFRdB47+IPBFBGS2OUXrSLkoz5iAXvb3c0lGAePf5wSR+o/Ni/9VD5l6xBf+InxHLSc9gcDEJehrT0fJAaQ== dependencies: core-js "^3.0.1" -"@storybook/core@5.1.9": - version "5.1.9" - resolved "https://registry.yarnpkg.com/@storybook/core/-/core-5.1.9.tgz#8b30507676531fd41ac333b7c71b1c0db6b8da35" - integrity sha512-P3aavCnl3Cl3WMXVERjQqnqV1Z8tN0tyOTqqiGb1fMxITSE8uZNvp33Dl0K3jr1PBl9trW+2t7eHH4h0sguLlQ== +"@storybook/core@5.1.11": + version "5.1.11" + resolved "https://registry.yarnpkg.com/@storybook/core/-/core-5.1.11.tgz#d7c4b14b02f74c183ab5baffe9b3e5ec8289b320" + integrity sha512-LkSoAJlLEtrzFcoINX3dz4oT6xUPEHEp2/WAXLqUFeCnzJHAxIsRvbVxB49Kh/2TrgDFZpL9Or8XXMzZtE6KYw== dependencies: "@babel/plugin-proposal-class-properties" "^7.3.3" "@babel/plugin-proposal-object-rest-spread" "^7.3.2" "@babel/plugin-syntax-dynamic-import" "^7.2.0" "@babel/plugin-transform-react-constant-elements" "^7.2.0" "@babel/preset-env" "^7.4.5" - "@storybook/addons" "5.1.9" - "@storybook/channel-postmessage" "5.1.9" - "@storybook/client-api" "5.1.9" - "@storybook/client-logger" "5.1.9" - "@storybook/core-events" "5.1.9" - "@storybook/node-logger" "5.1.9" - "@storybook/router" "5.1.9" - "@storybook/theming" "5.1.9" - "@storybook/ui" "5.1.9" + "@storybook/addons" "5.1.11" + "@storybook/channel-postmessage" "5.1.11" + "@storybook/client-api" "5.1.11" + "@storybook/client-logger" "5.1.11" + "@storybook/core-events" "5.1.11" + "@storybook/node-logger" "5.1.11" + "@storybook/router" "5.1.11" + "@storybook/theming" "5.1.11" + "@storybook/ui" "5.1.11" airbnb-js-shims "^1 || ^2" autoprefixer "^9.4.9" babel-plugin-add-react-displayname "^0.0.5" @@ -2754,16 +2541,17 @@ shelljs "^0.8.3" style-loader "^0.23.1" terser-webpack-plugin "^1.2.4" + unfetch "^4.1.0" url-loader "^1.1.2" util-deprecate "^1.0.2" webpack "^4.33.0" webpack-dev-middleware "^3.7.0" webpack-hot-middleware "^2.25.0" -"@storybook/node-logger@5.1.9": - version "5.1.9" - resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-5.1.9.tgz#4aacf0096811fde1639fc9d1d2d521f7220dd4be" - integrity sha512-rcSuI5n53hDMHW83gl5TR0Yn885/i2XY0AzX1DsbTeGOl3x5LhrCSZsZWetKGcx7zsO4n7o5mQszLuN1JlyE8A== +"@storybook/node-logger@5.1.11": + version "5.1.11" + resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-5.1.11.tgz#bbf5ad0d148e6c9a9b7cf6f62ad4df4e9fa19e5d" + integrity sha512-LG0KM4lzb9LEffcO3Ps9FcHHsVgQUc/oG+kz3p0u9fljFoL3cJHF1Mb4o+HrSydtdWZs/spwZ/BLEo5n/AByDw== dependencies: chalk "^2.4.2" core-js "^3.0.1" @@ -2771,16 +2559,16 @@ pretty-hrtime "^1.0.3" regenerator-runtime "^0.12.1" -"@storybook/react@^5.0.11": - version "5.1.9" - resolved "https://registry.yarnpkg.com/@storybook/react/-/react-5.1.9.tgz#4052f4b88e91d5a823bb9cbb61104c530fcfb1a1" - integrity sha512-Byykpsttf6p2jv3LvqFtntEYfbUZSNTts0TjcZHNsHoUGmT7/M1PyqTeB7JUcYUNwSgdACY8FbowCrwZwDJDWQ== +"@storybook/react@^5.1.11": + version "5.1.11" + resolved "https://registry.yarnpkg.com/@storybook/react/-/react-5.1.11.tgz#227e13670098e52d1537daf9dc349755cea17e0c" + integrity sha512-y8/L2OWvev3fGREhAmToLVDPf8YEZMs5+vzSdzXlVlPkqHyAmWPtLY4sRB6K+TsEF0gwaC5F2BvMnKxbNYwd/Q== dependencies: "@babel/plugin-transform-react-constant-elements" "^7.2.0" "@babel/preset-flow" "^7.0.0" "@babel/preset-react" "^7.0.0" - "@storybook/core" "5.1.9" - "@storybook/node-logger" "5.1.9" + "@storybook/core" "5.1.11" + "@storybook/node-logger" "5.1.11" "@svgr/webpack" "^4.0.3" babel-plugin-add-react-displayname "^0.0.5" babel-plugin-named-asset-import "^0.3.1" @@ -2797,10 +2585,10 @@ semver "^6.0.0" webpack "^4.33.0" -"@storybook/router@5.1.9": - version "5.1.9" - resolved "https://registry.yarnpkg.com/@storybook/router/-/router-5.1.9.tgz#8cd97bea4f2acf8ec5f6694d06fb0633dde33417" - integrity sha512-eAmeerE/OTIwCV7WBnb1BPINVN1GTSMsUXLNWpqSISuyWJ+NZAJlObFkvXoc57QSQlv0cvXlm1FMkmRt8ku1Hw== +"@storybook/router@5.1.11": + version "5.1.11" + resolved "https://registry.yarnpkg.com/@storybook/router/-/router-5.1.11.tgz#75089e9e623482e52ed894c3f0cb0fc6a5372da9" + integrity sha512-Xt7R1IOWLlIxis6VKV9G8F+e/G4G8ng1zXCqoDq+/RlWzlQJ5ccO4bUm2/XGS1rEgY4agMzmzjum18HoATpLGA== dependencies: "@reach/router" "^1.2.1" core-js "^3.0.1" @@ -2808,14 +2596,14 @@ memoizerific "^1.11.3" qs "^6.6.0" -"@storybook/theming@5.1.9": - version "5.1.9" - resolved "https://registry.yarnpkg.com/@storybook/theming/-/theming-5.1.9.tgz#c425f5867fae0db79e01112853b1808332a5f1a2" - integrity sha512-4jIFJwTWVf9tsv27noLoFHlKC2Jl9DHV3q+rxGPU8bTNbufCu4oby82SboO5GAKuS3eu1cxL1YY9pYad9WxfHg== +"@storybook/theming@5.1.11": + version "5.1.11" + resolved "https://registry.yarnpkg.com/@storybook/theming/-/theming-5.1.11.tgz#0d1af46535f2e601293c999a314905069a93ec3b" + integrity sha512-PtRPfiAWx5pQbTm45yyPB+CuW/vyDmcmNOt+xnDzK52omeWaSD7XK2RfadN3u4QXCgha7zs35Ppx1htJio2NRA== dependencies: "@emotion/core" "^10.0.9" "@emotion/styled" "^10.0.7" - "@storybook/client-logger" "5.1.9" + "@storybook/client-logger" "5.1.11" common-tags "^1.8.0" core-js "^3.0.1" deep-object-diff "^1.1.0" @@ -2826,19 +2614,19 @@ prop-types "^15.7.2" resolve-from "^5.0.0" -"@storybook/ui@5.1.9": - version "5.1.9" - resolved "https://registry.yarnpkg.com/@storybook/ui/-/ui-5.1.9.tgz#406667469e6dbdf320086647d8d80776bb051a51" - integrity sha512-guzKv4VYM+06BzMXeO3QqlX0IwUHyeS6lwdPCL8Oy2V4Gi2IYHHiD6Hr1NgnBO18j9luxE38f4Ii7gEIzXMFbQ== - dependencies: - "@storybook/addons" "5.1.9" - "@storybook/api" "5.1.9" - "@storybook/channels" "5.1.9" - "@storybook/client-logger" "5.1.9" - "@storybook/components" "5.1.9" - "@storybook/core-events" "5.1.9" - "@storybook/router" "5.1.9" - "@storybook/theming" "5.1.9" +"@storybook/ui@5.1.11": + version "5.1.11" + resolved "https://registry.yarnpkg.com/@storybook/ui/-/ui-5.1.11.tgz#02246f7656f644a36908430de12abbdf4e2a8a72" + integrity sha512-mopuFSwtodvH4HRdaSBlgYxzYca1qyvzZ0BxOPocXhiFfFR+V9NyNJqKKRA3vinWuuZWpYcnPTu3h8skmjMirg== + dependencies: + "@storybook/addons" "5.1.11" + "@storybook/api" "5.1.11" + "@storybook/channels" "5.1.11" + "@storybook/client-logger" "5.1.11" + "@storybook/components" "5.1.11" + "@storybook/core-events" "5.1.11" + "@storybook/router" "5.1.11" + "@storybook/theming" "5.1.11" copy-to-clipboard "^3.0.8" core-js "^3.0.1" core-js-pure "^3.0.1" @@ -2886,10 +2674,10 @@ resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-4.2.0.tgz#310ec0775de808a6a2e4fd4268c245fd734c1165" integrity sha512-U9m870Kqm0ko8beHawRXLGLvSi/ZMrl89gJ5BNcT452fAjtF2p4uRzXkdzvGJJJYBgx7BmqlDjBN/eCp5AAX2w== -"@svgr/babel-plugin-svg-dynamic-title@^4.3.0": - version "4.3.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-4.3.0.tgz#826c7d30f8f98f26bdb4af205a5dfbf1f04d80ec" - integrity sha512-3eI17Pb3jlg3oqV4Tie069n1SelYKBUpI90txDcnBWk4EGFW+YQGyQjy6iuJAReH0RnpUJ9jUExrt/xniGvhqw== +"@svgr/babel-plugin-svg-dynamic-title@^4.3.1": + version "4.3.1" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-4.3.1.tgz#646c2f5b5770c2fe318d6e51492344c3d62ddb63" + integrity sha512-p6z6JJroP989jHWcuraeWpzdejehTmLUpyC9smhTBWyPN0VVGe2phbYxpPTV7Vh8XzmFrcG55idrnfWn/2oQEw== "@svgr/babel-plugin-svg-em-dimensions@^4.2.0": version "4.2.0" @@ -2906,69 +2694,67 @@ resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-4.2.0.tgz#5f1e2f886b2c85c67e76da42f0f6be1b1767b697" integrity sha512-hYfYuZhQPCBVotABsXKSCfel2slf/yvJY8heTVX1PCTaq/IgASq1IyxPPKJ0chWREEKewIU/JMSsIGBtK1KKxw== -"@svgr/babel-preset@^4.3.0": - version "4.3.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-4.3.0.tgz#8a0bcc95ea7124762699e87a45ab11f408e8765e" - integrity sha512-Lgy1RJiZumGtv6yJroOxzFuL64kG/eIcivJQ7y9ljVWL+0QXvFz4ix1xMrmjMD+rpJWwj50ayCIcFelevG/XXg== +"@svgr/babel-preset@^4.3.1": + version "4.3.1" + resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-4.3.1.tgz#62ffcb85d756580e8ce608e9d2ac3b9063be9e28" + integrity sha512-rPFKLmyhlh6oeBv3j2vEAj2nd2QbWqpoJLKzBLjwQVt+d9aeXajVaPNEqrES2spjXKR4OxfgSs7U0NtmAEkr0Q== dependencies: "@svgr/babel-plugin-add-jsx-attribute" "^4.2.0" "@svgr/babel-plugin-remove-jsx-attribute" "^4.2.0" "@svgr/babel-plugin-remove-jsx-empty-expression" "^4.2.0" "@svgr/babel-plugin-replace-jsx-attribute-value" "^4.2.0" - "@svgr/babel-plugin-svg-dynamic-title" "^4.3.0" + "@svgr/babel-plugin-svg-dynamic-title" "^4.3.1" "@svgr/babel-plugin-svg-em-dimensions" "^4.2.0" "@svgr/babel-plugin-transform-react-native-svg" "^4.2.0" "@svgr/babel-plugin-transform-svg-component" "^4.2.0" -"@svgr/core@^4.3.0": - version "4.3.0" - resolved "https://registry.yarnpkg.com/@svgr/core/-/core-4.3.0.tgz#4a2bcb41e0946679a2ebe6b5bb2edd88ed35706b" - integrity sha512-Ycu1qrF5opBgKXI0eQg3ROzupalCZnSDETKCK/3MKN4/9IEmt3jPX/bbBjftklnRW+qqsCEpO0y/X9BTRw2WBg== +"@svgr/core@^4.3.2": + version "4.3.2" + resolved "https://registry.yarnpkg.com/@svgr/core/-/core-4.3.2.tgz#939c89be670ad79b762f4c063f213f0e02535f2e" + integrity sha512-N+tP5CLFd1hP9RpO83QJPZY3NL8AtrdqNbuhRgBkjE/49RnMrrRsFm1wY8pueUfAGvzn6tSXUq29o6ah8RuR5w== dependencies: - "@svgr/plugin-jsx" "^4.3.0" + "@svgr/plugin-jsx" "^4.3.2" camelcase "^5.3.1" - cosmiconfig "^5.2.0" + cosmiconfig "^5.2.1" -"@svgr/hast-util-to-babel-ast@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-4.2.0.tgz#dd743435a5f3a8e84a1da067f27b5fae3d7b6b63" - integrity sha512-IvAeb7gqrGB5TH9EGyBsPrMRH/QCzIuAkLySKvH2TLfLb2uqk98qtJamordRQTpHH3e6TORfBXoTo7L7Opo/Ow== +"@svgr/hast-util-to-babel-ast@^4.3.2": + version "4.3.2" + resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-4.3.2.tgz#1d5a082f7b929ef8f1f578950238f630e14532b8" + integrity sha512-JioXclZGhFIDL3ddn4Kiq8qEqYM2PyDKV0aYno8+IXTLuYt6TOgHUbUAAFvqtb0Xn37NwP0BTHglejFoYr8RZg== dependencies: - "@babel/types" "^7.4.0" + "@babel/types" "^7.4.4" -"@svgr/plugin-jsx@^4.3.0": - version "4.3.0" - resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-4.3.0.tgz#6be203abc58e187545aa1b9a51df30d051b658e2" - integrity sha512-0ab8zJdSOTqPfjZtl89cjq2IOmXXUYV3Fs7grLT9ur1Al3+x3DSp2+/obrYKUGbQUnLq96RMjSZ7Icd+13vwlQ== +"@svgr/plugin-jsx@^4.3.2": + version "4.3.2" + resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-4.3.2.tgz#ce9ddafc8cdd74da884c9f7af014afcf37f93d3c" + integrity sha512-+1GW32RvmNmCsOkMoclA/TppNjHPLMnNZG3/Ecscxawp051XJ2MkO09Hn11VcotdC2EPrDfT8pELGRo+kbZ1Eg== dependencies: - "@babel/core" "^7.4.3" - "@svgr/babel-preset" "^4.3.0" - "@svgr/hast-util-to-babel-ast" "^4.2.0" - rehype-parse "^6.0.0" - unified "^7.1.0" - vfile "^4.0.0" + "@babel/core" "^7.4.5" + "@svgr/babel-preset" "^4.3.1" + "@svgr/hast-util-to-babel-ast" "^4.3.2" + svg-parser "^2.0.0" -"@svgr/plugin-svgo@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-4.2.0.tgz#2a594a2d3312955e75fd87dc77ae51f377c809f3" - integrity sha512-zUEKgkT172YzHh3mb2B2q92xCnOAMVjRx+o0waZ1U50XqKLrVQ/8dDqTAtnmapdLsGurv8PSwenjLCUpj6hcvw== +"@svgr/plugin-svgo@^4.3.1": + version "4.3.1" + resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-4.3.1.tgz#daac0a3d872e3f55935c6588dd370336865e9e32" + integrity sha512-PrMtEDUWjX3Ea65JsVCwTIXuSqa3CG9px+DluF1/eo9mlDrgrtFE7NE/DjdhjJgSM9wenlVBzkzneSIUgfUI/w== dependencies: - cosmiconfig "^5.2.0" + cosmiconfig "^5.2.1" merge-deep "^3.0.2" - svgo "^1.2.1" + svgo "^1.2.2" "@svgr/webpack@^4.0.3": - version "4.3.0" - resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-4.3.0.tgz#4462e05070d91c04806b99c30a703fb2b50b2bb9" - integrity sha512-rYcwi1pUnaZoOUEa8xhrX10FHnONvube1WBoJ5PQf/Cbl0GuiUUSdXSVaFgxWdeyv6jCG0vWH1mrCHhspaJv1Q== + version "4.3.2" + resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-4.3.2.tgz#319d4471c8f3d5c3af35059274834d9b5b8fb956" + integrity sha512-F3VE5OvyOWBEd2bF7BdtFRyI6E9it3mN7teDw0JQTlVtc4HZEYiiLSl+Uf9Uub6IYHVGc+qIrxxDyeedkQru2w== dependencies: - "@babel/core" "^7.4.3" + "@babel/core" "^7.4.5" "@babel/plugin-transform-react-constant-elements" "^7.0.0" - "@babel/preset-env" "^7.4.3" + "@babel/preset-env" "^7.4.5" "@babel/preset-react" "^7.0.0" - "@svgr/core" "^4.3.0" - "@svgr/plugin-jsx" "^4.3.0" - "@svgr/plugin-svgo" "^4.2.0" + "@svgr/core" "^4.3.2" + "@svgr/plugin-jsx" "^4.3.2" + "@svgr/plugin-svgo" "^4.3.1" loader-utils "^1.2.3" "@types/anymatch@*": @@ -3008,21 +2794,21 @@ "@babel/types" "^7.0.0" "@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.0.6" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.6.tgz#328dd1a8fc4cfe3c8458be9477b219ea158fd7b2" - integrity sha512-XYVgHF2sQ0YblLRMLNPB3CkFMewzFmlDsH/TneZFHUXDlABQgh88uOxuez7ZcXxayLFrqLwtDH1t+FmlFwNZxw== + version "7.0.7" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.7.tgz#2496e9ff56196cc1429c72034e07eab6121b6f3f" + integrity sha512-CeBpmX1J8kWLcDEnI3Cl2Eo6RfbGvzUctA+CjZUhOKDFbLfcr7fc4usEqLNWetrlJd7RhAkyYe2czXop4fICpw== dependencies: "@babel/types" "^7.3.0" -"@types/chance@^1.0.5": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@types/chance/-/chance-1.0.5.tgz#c59d16ee24860c4d33a9ccf096e75338f92c4c2a" - integrity sha512-2oIEU7DO2wNQ98CTpDYdmVoaNpnZyjeGvIzgPa3B7ds9YzfowSyapqL8mwYQdJSik4360OXKo0PK4lWUPKdrYw== +"@types/chance@^1.0.6": + version "1.0.6" + resolved "https://registry.yarnpkg.com/@types/chance/-/chance-1.0.6.tgz#873a4b646ce30616cd2fdf4c7753a8bf4210ac03" + integrity sha512-CQ+PccoeLogLC1n9PezDXHMJ6wZVTE3liQPqKTtWQcTGUQK463gdPRWfyRhwBf0fi91IsOo2QlBacVa5+ppsTw== "@types/cheerio@*": - version "0.22.11" - resolved "https://registry.yarnpkg.com/@types/cheerio/-/cheerio-0.22.11.tgz#61c0facf9636d14ba5f77fc65ed8913aa845d717" - integrity sha512-x0X3kPbholdJZng9wDMhb2swvUi3UYRNAuWAmIPIWlfgAJZp//cql/qblE7181Mg7SjWVwq6ldCPCLn5AY/e7w== + version "0.22.13" + resolved "https://registry.yarnpkg.com/@types/cheerio/-/cheerio-0.22.13.tgz#5eecda091a24514185dcba99eda77e62bf6523e6" + integrity sha512-OZd7dCUOUkiTorf97vJKwZnSja/DmHfuBAroe1kREZZTCf/tlFecwHhsOos3uVHxeKGZDwzolIrCUApClkdLuA== dependencies: "@types/node" "*" @@ -3054,9 +2840,9 @@ "@types/node" "*" "@types/history@*": - version "4.7.2" - resolved "https://registry.yarnpkg.com/@types/history/-/history-4.7.2.tgz#0e670ea254d559241b6eeb3894f8754991e73220" - integrity sha512-ui3WwXmjTaY73fOQ3/m3nnajU/Orhi6cEu5rzX+BrAAJxa3eITXZ5ch9suPqtM03OWhAHhPSyBGCN4UKoxO20Q== + version "4.7.3" + resolved "https://registry.yarnpkg.com/@types/history/-/history-4.7.3.tgz#856c99cdc1551d22c22b18b5402719affec9839a" + integrity sha512-cS5owqtwzLN5kY+l+KgKdRJ/Cee8tlmQoGQuIE9tWnSmS3JMKzmxo2HIAk2wODMifGwO20d62xZQLYz+RLfXmw== "@types/hoist-non-react-statics@^3.3.0": version "3.3.1" @@ -3091,10 +2877,10 @@ resolved "https://registry.yarnpkg.com/@types/jest-diff/-/jest-diff-20.0.1.tgz#35cc15b9c4f30a18ef21852e255fdb02f6d59b89" integrity sha512-yALhelO3i0hqZwhjtcr6dYyaLoCHbAMshwtj6cGxTvHZAKXHsYGdff6E8EPw3xLKY0ELUTQ69Q1rQiJENnccMA== -"@types/jest@^24.0.16": - version "24.0.16" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-24.0.16.tgz#8d3e406ec0f0dc1688d6711af3062ff9bd428066" - integrity sha512-JrAiyV+PPGKZzw6uxbI761cHZ0G7QMOHXPhtSpcl08rZH6CswXaaejckn3goFKmF7M3nzEoJ0lwYCbqLMmjziQ== +"@types/jest@^24.0.18": + version "24.0.18" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-24.0.18.tgz#9c7858d450c59e2164a8a9df0905fc5091944498" + integrity sha512-jcDDXdjTcrQzdN06+TSVsPPqxvsZA/5QkYfIZlq1JMw7FdP5AZylbOc+6B/cuDurctRe+MziUMtQ3xQdrbjqyQ== dependencies: "@types/jest-diff" "*" @@ -3120,29 +2906,19 @@ "@types/lodash" "*" "@types/lodash@*": - version "4.14.132" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.132.tgz#8ce45ca8745ff2e004fac0de0ab46f61e390ffa0" - integrity sha512-RNUU1rrh85NgUJcjOOr96YXr+RHwInGbaQCZmlitqOaCKXffj8bh+Zxwuq5rjDy5OgzFldDVoqk4pyLEDiwxIw== + version "4.14.138" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.138.tgz#34f52640d7358230308344e579c15b378d91989e" + integrity sha512-A4uJgHz4hakwNBdHNPdxOTkYmXNgmUAKLbXZ7PKGslgeV0Mb8P3BlbYfPovExek1qnod4pDfRbxuzcVs3dlFLg== "@types/minimatch@*": version "3.0.3" resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== -"@types/node@*": - version "12.0.10" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.0.10.tgz#51babf9c7deadd5343620055fc8aff7995c8b031" - integrity sha512-LcsGbPomWsad6wmMNv7nBLw7YYYyfdYcz6xryKYQhx89c3XXan+8Q6AJ43G5XDIaklaVkK3mE4fCb0SBvMiPSQ== - -"@types/node@^12.0.2": - version "12.7.1" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.7.1.tgz#3b5c3a26393c19b400844ac422bd0f631a94d69d" - integrity sha512-aK9jxMypeSrhiYofWWBf/T7O+KwaiAHzM4sveCdWPn71lzUSMimRnKzhXDKfKwV1kWoBo2P1aGgaIYGLf9/ljw== - -"@types/node@^12.6.8": - version "12.6.8" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.6.8.tgz#e469b4bf9d1c9832aee4907ba8a051494357c12c" - integrity sha512-aX+gFgA5GHcDi89KG5keey2zf0WfZk/HAQotEamsK2kbey+8yGKcson0hbK8E+v0NArlCJQCqMP161YhV6ZXLg== +"@types/node@*", "@types/node@^12.0.2", "@types/node@^12.7.2": + version "12.7.2" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.7.2.tgz#c4e63af5e8823ce9cc3f0b34f7b998c2171f0c44" + integrity sha512-dyYO+f6ihZEtNPDcWNR1fkoTDf3zAK3lAABDze3mz6POyIercH0lEUawUFXlG8xaQZmm1yEBON/4TsYv/laDYg== "@types/normalize-package-data@^2.4.0": version "2.4.0" @@ -3166,10 +2942,10 @@ dependencies: parchment "^1.1.2" -"@types/react-autosuggest@^9.3.8": - version "9.3.9" - resolved "https://registry.yarnpkg.com/@types/react-autosuggest/-/react-autosuggest-9.3.9.tgz#ce496a034fed8e4549cbff99725c08f163405264" - integrity sha512-MuDqgOZmbcT4Uzj4boMY3icf90dlvPTFZ1nnXHYaRKmk7ZPG7srI/In1lTxUvZsgoS+WAbz2CIEKAktCXfJmwg== +"@types/react-autosuggest@^9.3.10": + version "9.3.10" + resolved "https://registry.yarnpkg.com/@types/react-autosuggest/-/react-autosuggest-9.3.10.tgz#2af3a249b1229361ab8a484ebf761d25ffb70b96" + integrity sha512-6WjqPxFnBwNSUKwUCDV2R/mK2yKSNMjCJa1K7sPB3Fy+ZKkXDT1PyJA/NcQ7IZ5PPrEap/E88dp6STCKX7QgQA== dependencies: "@types/react" "*" @@ -3180,17 +2956,24 @@ dependencies: "@types/react" "*" -"@types/react-custom-scrollbars@^4.0.5": - version "4.0.5" - resolved "https://registry.yarnpkg.com/@types/react-custom-scrollbars/-/react-custom-scrollbars-4.0.5.tgz#8629b4b3164914d27df7cb0ca0a086c0ad406389" - integrity sha512-Qdotjy9wbf9nrNRzGj0bFDlhYIvjMxwrxHR0V1zUSc2cqb74a8ujLWTfIQ6JBSUx+3hY74+tHgEOthRJLEMyKw== +"@types/react-custom-scrollbars@^4.0.6": + version "4.0.6" + resolved "https://registry.yarnpkg.com/@types/react-custom-scrollbars/-/react-custom-scrollbars-4.0.6.tgz#d84831ac287d8fefdf2a7dcbc12a505bcecc8092" + integrity sha512-QvQCSMpP59WO2UtGW4alEDRnrhxToPXxws+IzwtboDR2ookcr7z/KE29s3HHYXYwjZpxiQ/ncFhWoQwREor7+Q== + dependencies: + "@types/react" "*" + +"@types/react-dom@^16.9.0": + version "16.9.0" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.0.tgz#ba6ddb00bf5de700b0eb91daa452081ffccbfdea" + integrity sha512-OL2lk7LYGjxn4b0efW3Pvf2KBVP0y1v3wip1Bp7nA79NkOpElH98q3WdCEdDj93b2b0zaeBG9DvriuKjIK5xDA== dependencies: "@types/react" "*" -"@types/react-dom@^16.8.5": - version "16.8.5" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.8.5.tgz#3e3f4d99199391a7fb40aa3a155c8dd99b899cbd" - integrity sha512-idCEjROZ2cqh29+trmTmZhsBAUNQuYrF92JHKzZ5+aiFM1mlSk3bb23CK7HhYuOY75Apgap5y2jTyHzaM2AJGA== +"@types/react-dom@^16.9.0": + version "16.9.0" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.0.tgz#ba6ddb00bf5de700b0eb91daa452081ffccbfdea" + integrity sha512-OL2lk7LYGjxn4b0efW3Pvf2KBVP0y1v3wip1Bp7nA79NkOpElH98q3WdCEdDj93b2b0zaeBG9DvriuKjIK5xDA== dependencies: "@types/react" "*" @@ -3210,17 +2993,17 @@ "@types/webpack" "*" "@types/react-native@*": - version "0.57.64" - resolved "https://registry.yarnpkg.com/@types/react-native/-/react-native-0.57.64.tgz#bb26d57f8b0975f0562efbd41722048fb275eb47" - integrity sha512-g8iKvLkEPB+49EKauH7rVrX0y9Gb59+kyFjBFAMOAtwMjfFqiRBK6argXowDq0L6zE8kBoAmJN7v8WGlxOKBeg== + version "0.60.8" + resolved "https://registry.yarnpkg.com/@types/react-native/-/react-native-0.60.8.tgz#71f340b4b97ed0b1161f942354e0eebc9fbe5b00" + integrity sha512-bk13deCDm/DiNFdrF8Y5je++G9NPaCT/VxkSBY1Rcxu3rWZQIQal9uIH0Qc0Vi9sRX9us32EPevYylbscH3wEg== dependencies: "@types/prop-types" "*" "@types/react" "*" -"@types/react-redux@^7.1.1": - version "7.1.1" - resolved "https://registry.yarnpkg.com/@types/react-redux/-/react-redux-7.1.1.tgz#eb01e89cf71cad77df9f442b819d5db692b997cb" - integrity sha512-owqNahzE8en/jR4NtrUJDJya3tKru7CIEGSRL/pVS84LtSCdSoT7qZTkrbBd3S4Lp11sAp+7LsvxIeONJVKMnw== +"@types/react-redux@^7.1.2": + version "7.1.2" + resolved "https://registry.yarnpkg.com/@types/react-redux/-/react-redux-7.1.2.tgz#02303b77d87e54f327c09507cf80ee3ca3063898" + integrity sha512-Iim6UCtD0mZX9U3jBuT6ZObBZ8UlakoOgefiRgi5wakfbNnXd3TUwwUMgi3Ijc0fxsPLZ5ULoz0oDy15YIaLmQ== dependencies: "@types/hoist-non-react-statics" "^3.3.0" "@types/react" "*" @@ -3234,24 +3017,16 @@ dependencies: "@types/react" "*" -"@types/react-router-dom@^4.3.3": - version "4.3.4" - resolved "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-4.3.4.tgz#63a7a8558129d2f4ff76e4bdd099bf4b98e25a0d" - integrity sha512-xrwaWHpnxKk/TTRe7pmoGy3E4SyF/ojFqNfFJacw7OLdfLXRvGfk4r/XePVaZNVfeJzL8fcnNilPN7xOdJ/vGw== +"@types/react-router-dom@^4.3.5": + version "4.3.5" + resolved "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-4.3.5.tgz#72f229967690c890d00f96e6b85e9ee5780db31f" + integrity sha512-eFajSUASYbPHg2BDM1G8Btx+YqGgvROPIg6sBhl3O4kbDdYXdFdfrgQFf/pcBuQVObjfT9AL/dd15jilR5DIEA== dependencies: "@types/history" "*" "@types/react" "*" "@types/react-router" "*" -"@types/react-router@*": - version "5.0.2" - resolved "https://registry.yarnpkg.com/@types/react-router/-/react-router-5.0.2.tgz#619850cf28245d97bfa205f1fa7136451ba384bc" - integrity sha512-sdMN284GEOcqDEMS/hE/XD06Abw2fws30+xkZf3C9cSRcWopiv/HDTmunYI7DKLYKVRaWFkq1lkuJ6qeYu0E7A== - dependencies: - "@types/history" "*" - "@types/react" "*" - -"@types/react-router@^5.0.3": +"@types/react-router@*", "@types/react-router@^5.0.3": version "5.0.3" resolved "https://registry.yarnpkg.com/@types/react-router/-/react-router-5.0.3.tgz#855a1606e62de3f4d69ea34fb3c0e50e98e964d5" integrity sha512-j2Gge5cvxca+5lK9wxovmGPgpVJMwjyu5lTA/Cd6fLGoPq7FXcUE1jFkEdxeyqGGz8VfHYSHCn5Lcn24BzaNKA== @@ -3260,31 +3035,31 @@ "@types/react" "*" "@types/react-text-mask@^5.4.3": - version "5.4.4" - resolved "https://registry.yarnpkg.com/@types/react-text-mask/-/react-text-mask-5.4.4.tgz#eb4606e1c431b7bd2f5e817ea141432cc63b58c1" - integrity sha512-mnwyDgUwFtJVAZ8f+tzPGmYjpH7TLXxHSGty338abca6aAjdjRLCOC4h+CxlvB8xrVAIU5pkNllpHhfJCA3hXQ== + version "5.4.6" + resolved "https://registry.yarnpkg.com/@types/react-text-mask/-/react-text-mask-5.4.6.tgz#3a81e9de472beb939038e78cb16d737ae94ba14a" + integrity sha512-0KkER9oXZY/v1x8aoMTHwANlWnKT5tnmV7Zz+g81gBvcHRtcIHotcpY4KgWRwx0T5JMcsYmEh7wGOz0lwdONew== dependencies: "@types/react" "*" "@types/react-transition-group@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.2.0.tgz#86ddb509ce3de27341c7cb7797abb99b1c4676bf" - integrity sha512-8KkpFRwqS9U1dtVVw1kt/MmWgLmbd5iK5TgqsaeC7fAm74J4j/HiBiRC8eETvwjGGju48RAwyZ3l5iv1H1x93Q== + version "4.2.2" + resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.2.2.tgz#8c851c4598a23a3a34173069fb4c5c9e41c02e3f" + integrity sha512-YfoaTNqBwbIqpiJ5NNfxfgg5kyFP1Hqf/jqBtSWNv0E+EkkxmN+3VD6U2fu86tlQvdAc1o0SdWhnWFwcRMTn9A== dependencies: "@types/react" "*" -"@types/react@*": - version "16.8.22" - resolved "https://registry.yarnpkg.com/@types/react/-/react-16.8.22.tgz#7f18bf5ea0c1cad73c46b6b1c804a3ce0eec6d54" - integrity sha512-C3O1yVqk4sUXqWyx0wlys76eQfhrQhiDhDlHBrjER76lR2S2Agiid/KpOU9oCqj1dISStscz7xXz1Cg8+sCQeA== +"@types/react@*", "@types/react@^16.9.2": + version "16.9.2" + resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.2.tgz#6d1765431a1ad1877979013906731aae373de268" + integrity sha512-jYP2LWwlh+FTqGd9v7ynUKZzjj98T8x7Yclz479QdRhHfuW9yQ+0jjnD31eXSXutmBpppj5PYNLYLRfnZJvcfg== dependencies: "@types/prop-types" "*" csstype "^2.2.0" -"@types/react@^16.8.23": - version "16.8.23" - resolved "https://registry.yarnpkg.com/@types/react/-/react-16.8.23.tgz#ec6be3ceed6353a20948169b6cb4c97b65b97ad2" - integrity sha512-abkEOIeljniUN9qB5onp++g0EY38h7atnDHxwKUFz1r3VH1+yG1OKi2sNPTyObL40goBmfKFpdii2lEzwLX1cA== +"@types/react@^16.9.2": + version "16.9.2" + resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.2.tgz#6d1765431a1ad1877979013906731aae373de268" + integrity sha512-jYP2LWwlh+FTqGd9v7ynUKZzjj98T8x7Yclz479QdRhHfuW9yQ+0jjnD31eXSXutmBpppj5PYNLYLRfnZJvcfg== dependencies: "@types/prop-types" "*" csstype "^2.2.0" @@ -3303,18 +3078,16 @@ dependencies: redux "^4.0.0" +"@types/source-list-map@*": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9" + integrity sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA== + "@types/stack-utils@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw== -"@types/storybook__addon-a11y@^5.0.0": - version "5.0.0" - resolved "https://registry.yarnpkg.com/@types/storybook__addon-a11y/-/storybook__addon-a11y-5.0.0.tgz#fcad4669ffd6c47defc41d28c49a6e1388c7549c" - integrity sha512-9DCRXG/10yXCV/4J4wW2anJUOvmxuwtEsSjDTroQYzoT4fctc64LYEqBeNbQl5v1NzslKCZsItzi1cR5V5Sk7w== - dependencies: - "@types/storybook__react" "*" - "@types/storybook__addon-actions@^3.4.2": version "3.4.3" resolved "https://registry.yarnpkg.com/@types/storybook__addon-actions/-/storybook__addon-actions-3.4.3.tgz#bb0c3fd066e1f495d3f2b724487e2b99194b3f1a" @@ -3383,11 +3156,6 @@ dependencies: source-map "^0.6.1" -"@types/unist@*", "@types/unist@^2.0.0", "@types/unist@^2.0.2": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e" - integrity sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ== - "@types/uuid@^3.4.5": version "3.4.5" resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-3.4.5.tgz#d4dc10785b497a1474eae0ba7f0cb09c0ddfd6eb" @@ -3395,81 +3163,81 @@ dependencies: "@types/node" "*" -"@types/vfile-message@*": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@types/vfile-message/-/vfile-message-1.0.1.tgz#e1e9895cc6b36c462d4244e64e6d0b6eaf65355a" - integrity sha512-mlGER3Aqmq7bqR1tTTIVHq8KSAFFRyGbrxuM8C/H82g6k7r2fS+IMEkIu3D7JHzG10NvPdR8DNx0jr0pwpp4dA== - dependencies: - "@types/node" "*" - "@types/unist" "*" +"@types/webpack-env@*": + version "1.14.0" + resolved "https://registry.yarnpkg.com/@types/webpack-env/-/webpack-env-1.14.0.tgz#8edfc5f8e6eae20eeed3ca0d02974ed4ee5e4efc" + integrity sha512-Fv+0gYJzE/czLoRKq+gnXWr4yBpPM3tO3C8pDLFwqVKlMICQUq5OsxwwFZYDaVr7+L6mgNDp16iOcJHEz3J5RQ== -"@types/vfile@^3.0.0": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@types/vfile/-/vfile-3.0.2.tgz#19c18cd232df11ce6fa6ad80259bc86c366b09b9" - integrity sha512-b3nLFGaGkJ9rzOcuXRfHkZMdjsawuDD0ENL9fzTophtBg8FJHSGbH7daXkEpcwy3v7Xol3pAvsmlYyFhR4pqJw== +"@types/webpack-sources@*": + version "0.1.5" + resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-0.1.5.tgz#be47c10f783d3d6efe1471ff7f042611bd464a92" + integrity sha512-zfvjpp7jiafSmrzJ2/i3LqOyTYTuJ7u1KOXlKgDlvsj9Rr0x7ZiYu5lZbXwobL7lmsRNtPXlBfmaUD8eU2Hu8w== dependencies: "@types/node" "*" - "@types/unist" "*" - "@types/vfile-message" "*" - -"@types/webpack-env@*": - version "1.13.9" - resolved "https://registry.yarnpkg.com/@types/webpack-env/-/webpack-env-1.13.9.tgz#a67287861c928ebf4159a908d1fb1a2a34d4097a" - integrity sha512-p8zp5xqkly3g4cCmo2mKOHI9+Z/kObmDj0BmjbDDJQlgDTiEGTbm17MEwTAusV6XceCy+bNw9q/ZHXHyKo3zkg== + "@types/source-list-map" "*" + source-map "^0.6.1" "@types/webpack@*", "@types/webpack@^4.4.19": - version "4.4.32" - resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.4.32.tgz#2d460cd33a15e568e93f38de5e628cf846396c51" - integrity sha512-mNARoaSJTzbiHxtZbf9NULFilu2frqD+g9Iyl9V2jPYJWXi+AC3Hz8lQWPZ5LLtgUm7iF4SDDMB/1bPrbRQgFw== + version "4.39.1" + resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.39.1.tgz#d76cd551cc851198f67f75ff3e26551d204530e9" + integrity sha512-rgO9ihNu/l72Sjx3shqwc9r6gi+tOMsqxhMEZhOEVIZt82GFOeUyEdpTk1BO2HqEHLS/XJW8ldUTIIfIMMyYFQ== dependencies: "@types/anymatch" "*" "@types/node" "*" "@types/tapable" "*" "@types/uglify-js" "*" + "@types/webpack-sources" "*" source-map "^0.6.0" -"@types/yargs@^12.0.2", "@types/yargs@^12.0.9": - version "12.0.12" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-12.0.12.tgz#45dd1d0638e8c8f153e87d296907659296873916" - integrity sha512-SOhuU4wNBxhhTHxYaiG5NY4HBhDIDnJF60GU+2LqHAdKKer86//e4yg69aENCtQ04n0ovz+tq2YPME5t5yp4pw== +"@types/yargs-parser@*": + version "13.0.0" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-13.0.0.tgz#453743c5bbf9f1bed61d959baab5b06be029b2d0" + integrity sha512-wBlsw+8n21e6eTd4yVv8YD/E3xq0O6nNnJIquutAsFGE7EyMKz7W6RNT6BRu1SmdgmlCZ9tb0X+j+D6HGr8pZw== -"@typescript-eslint/eslint-plugin@^1.13.0": - version "1.13.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-1.13.0.tgz#22fed9b16ddfeb402fd7bcde56307820f6ebc49f" - integrity sha512-WQHCozMnuNADiqMtsNzp96FNox5sOVpU8Xt4meaT4em8lOG1SrOv92/mUbEHQVh90sldKSfcOc/I0FOb/14G1g== +"@types/yargs@^13.0.0": + version "13.0.2" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.2.tgz#a64674fc0149574ecd90ba746e932b5a5f7b3653" + integrity sha512-lwwgizwk/bIIU+3ELORkyuOgDjCh7zuWDFqRtPPhhVgq9N1F7CvLNKg1TX4f2duwtKQ0p044Au9r1PLIXHrIzQ== + dependencies: + "@types/yargs-parser" "*" + +"@typescript-eslint/eslint-plugin@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.0.0.tgz#609a5d7b00ce21a6f94d7ef282eba9da57ca1e42" + integrity sha512-Mo45nxTTELODdl7CgpZKJISvLb+Fu64OOO2ZFc2x8sYSnUpFrBUW3H+H/ZGYmEkfnL6VkdtOSxgdt+Av79j0sA== dependencies: - "@typescript-eslint/experimental-utils" "1.13.0" - eslint-utils "^1.3.1" + "@typescript-eslint/experimental-utils" "2.0.0" + eslint-utils "^1.4.0" functional-red-black-tree "^1.0.1" regexpp "^2.0.1" - tsutils "^3.7.0" + tsutils "^3.14.0" -"@typescript-eslint/experimental-utils@1.13.0": - version "1.13.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-1.13.0.tgz#b08c60d780c0067de2fb44b04b432f540138301e" - integrity sha512-zmpS6SyqG4ZF64ffaJ6uah6tWWWgZ8m+c54XXgwFtUv0jNz8aJAVx8chMCvnk7yl6xwn8d+d96+tWp7fXzTuDg== +"@typescript-eslint/experimental-utils@2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.0.0.tgz#f3d298bb411357f35c4184e24280b256b6321949" + integrity sha512-XGJG6GNBXIEx/mN4eTRypN/EUmsd0VhVGQ1AG+WTgdvjHl0G8vHhVBHrd/5oI6RRYBRnedNymSYWW1HAdivtmg== dependencies: "@types/json-schema" "^7.0.3" - "@typescript-eslint/typescript-estree" "1.13.0" + "@typescript-eslint/typescript-estree" "2.0.0" eslint-scope "^4.0.0" -"@typescript-eslint/parser@^1.13.0": - version "1.13.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-1.13.0.tgz#61ac7811ea52791c47dc9fd4dd4a184fae9ac355" - integrity sha512-ITMBs52PCPgLb2nGPoeT4iU3HdQZHcPaZVw+7CsFagRJHUhyeTgorEwHXhFf3e7Evzi8oujKNpHc8TONth8AdQ== +"@typescript-eslint/parser@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.0.0.tgz#4273bb19d03489daf8372cdaccbc8042e098178f" + integrity sha512-ibyMBMr0383ZKserIsp67+WnNVoM402HKkxqXGlxEZsXtnGGurbnY90pBO3e0nBUM7chEEOcxUhgw9aPq7fEBA== dependencies: "@types/eslint-visitor-keys" "^1.0.0" - "@typescript-eslint/experimental-utils" "1.13.0" - "@typescript-eslint/typescript-estree" "1.13.0" + "@typescript-eslint/experimental-utils" "2.0.0" + "@typescript-eslint/typescript-estree" "2.0.0" eslint-visitor-keys "^1.0.0" -"@typescript-eslint/typescript-estree@1.13.0": - version "1.13.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-1.13.0.tgz#8140f17d0f60c03619798f1d628b8434913dc32e" - integrity sha512-b5rCmd2e6DCC6tCTN9GSUAuxdYwCM/k/2wdjHGrIRGPSJotWMCe/dGpi66u42bhuh8q3QBzqM4TMA1GUUCJvdw== +"@typescript-eslint/typescript-estree@2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.0.0.tgz#c9f6c0efd1b11475540d6a55dc973cc5b9a67e77" + integrity sha512-NXbmzA3vWrSgavymlzMWNecgNOuiMMp62MO3kI7awZRLRcsA1QrYWo6q08m++uuAGVbXH/prZi2y1AWuhSu63w== dependencies: lodash.unescape "4.0.1" - semver "5.5.0" + semver "^6.2.0" "@webassemblyjs/ast@1.8.5": version "1.8.5" @@ -3674,60 +3442,55 @@ accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: mime-types "~2.1.24" negotiator "0.6.2" -acorn-dynamic-import@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz#482210140582a36b83c3e342e1cfebcaa9240948" - integrity sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw== - acorn-globals@^4.1.0, acorn-globals@^4.3.2: - version "4.3.2" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.2.tgz#4e2c2313a597fd589720395f6354b41cd5ec8006" - integrity sha512-BbzvZhVtZP+Bs1J1HcwrQe8ycfO0wStkSGxuul3He3GkHOIZ6eTqOkPuw9IP1X3+IkOo4wiJmwkobzXYz4wewQ== + version "4.3.3" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.3.tgz#a86f75b69680b8780d30edd21eee4e0ea170c05e" + integrity sha512-vkR40VwS2SYO98AIeFvzWWh+xyc2qi9s7OoXSFEGIP/rOJKzjnhykaZJNnHdoq4BL2gGxI5EZOU16z896EYnOQ== dependencies: acorn "^6.0.1" acorn-walk "^6.0.1" -acorn-jsx@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.1.tgz#32a064fd925429216a09b141102bfdd185fae40e" - integrity sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg== +acorn-jsx@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.2.tgz#84b68ea44b373c4f8686023a551f61a21b7c4a4f" + integrity sha512-tiNTrP1MP0QrChmD2DdupCr6HWSFeKVw5d/dHTu4Y7rkAkRhU/Dt7dphAfIUyxtHpl/eBVip5uTNSpQJHylpAw== acorn-walk@^6.0.1, acorn-walk@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.1.1.tgz#d363b66f5fac5f018ff9c3a1e7b6f8e310cc3913" - integrity sha512-OtUw6JUTgxA2QoqqmrmQ7F2NYqiBPi/L2jqHyFtllhOUvXYQXf0Z1CYUinIfyT4bTCGmrA7gX9FvHA81uzCoVw== + version "6.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c" + integrity sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA== acorn@^5.5.3: version "5.7.3" resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw== -acorn@^6.0.1, acorn@^6.0.5, acorn@^6.0.7, acorn@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.1.1.tgz#7d25ae05bb8ad1f9b699108e1094ecd7884adc1f" - integrity sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA== +acorn@^6.0.1, acorn@^6.0.7, acorn@^6.1.1, acorn@^6.2.1: + version "6.3.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.3.0.tgz#0087509119ffa4fc0a0041d1e93a417e68cb856e" + integrity sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA== -acorn@^6.2.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.2.1.tgz#3ed8422d6dec09e6121cc7a843ca86a330a86b51" - integrity sha512-JD0xT5FCRDNyjDda3Lrg/IxFscp9q4tiYtxE1/nOzlKCk7hIRuYjhq1kCNkbPjMRMZuFq20HNQn1I9k8Oj0E+Q== +acorn@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.0.0.tgz#26b8d1cd9a9b700350b71c0905546f64d1284e7a" + integrity sha512-PaF/MduxijYYt7unVGRuds1vBC9bFxbNf+VWqhOClfdgy7RlVkQqt610ig1/yxTgsDIfW1cWDel5EBbOy3jdtQ== add-px-to-style@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/add-px-to-style/-/add-px-to-style-1.0.0.tgz#d0c135441fa8014a8137904531096f67f28f263a" integrity sha1-0ME1RB+oAUqBN5BFMQlvZ/KPJjo= -address@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/address/-/address-1.0.3.tgz#b5f50631f8d6cec8bd20c963963afb55e06cbce9" - integrity sha512-z55ocwKBRLryBs394Sm3ushTtBeg6VAeuku7utSoSnsJKvKcnXFIyC6vh27n3rXyxSgkJBBCAvyOn7gSUcTYjg== - -address@^1.0.1: +address@1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/address/-/address-1.1.0.tgz#ef8e047847fcd2c5b6f50c16965f924fd99fe709" integrity sha512-4diPfzWbLEIElVG4AnqP+00SULlPzNuyJFNnmMrLgyaxG6tZXJ1sn7mjBu4fHrJE+Yp/jgylOweJn2xsLMFggQ== -agent-base@4, agent-base@^4.1.0: +address@^1.0.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/address/-/address-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6" + integrity sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA== + +agent-base@4, agent-base@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee" integrity sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg== @@ -3748,6 +3511,14 @@ agentkeepalive@^3.4.1: dependencies: humanize-ms "^1.2.1" +aggregate-error@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.0.0.tgz#5b5a3c95e9095f311c9ab16c19fb4f3527cd3f79" + integrity sha512-yKD9kEoJIR+2IFqhMwayIBgheLYbB3PS2OBhWae1L/ODTd/JF/30cW0bc9TqzRL3k4U41Dieu3BF4I29p8xesA== + dependencies: + clean-stack "^2.0.0" + indent-string "^3.2.0" + "airbnb-js-shims@^1 || ^2": version "2.2.0" resolved "https://registry.yarnpkg.com/airbnb-js-shims/-/airbnb-js-shims-2.2.0.tgz#46e1d9d9516f704ef736de76a3b6d484df9a96d8" @@ -3772,12 +3543,12 @@ agentkeepalive@^3.4.1: symbol.prototype.description "^1.0.0" airbnb-prop-types@^2.13.2: - version "2.13.2" - resolved "https://registry.yarnpkg.com/airbnb-prop-types/-/airbnb-prop-types-2.13.2.tgz#43147a5062dd2a4a5600e748a47b64004cc5f7fc" - integrity sha512-2FN6DlHr6JCSxPPi25EnqGaXC4OC3/B3k1lCd6MMYrZ51/Gf/1qDfaR+JElzWa+Tl7cY2aYOlsYJGFeQyVHIeQ== + version "2.15.0" + resolved "https://registry.yarnpkg.com/airbnb-prop-types/-/airbnb-prop-types-2.15.0.tgz#5287820043af1eb469f5b0af0d6f70da6c52aaef" + integrity sha512-jUh2/hfKsRjNFC4XONQrxo/n/3GG4Tn6Hl0WlFQN5PY9OMC9loSCoAYKnZsWaP8wEfd5xcrPloK0Zg6iS1xwVA== dependencies: - array.prototype.find "^2.0.4" - function.prototype.name "^1.1.0" + array.prototype.find "^2.1.0" + function.prototype.name "^1.1.1" has "^1.0.3" is-regex "^1.0.4" object-is "^1.0.1" @@ -3785,22 +3556,22 @@ airbnb-prop-types@^2.13.2: object.entries "^1.1.0" prop-types "^15.7.2" prop-types-exact "^1.2.0" - react-is "^16.8.6" + react-is "^16.9.0" ajv-errors@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== -ajv-keywords@^3.1.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.0.tgz#4b831e7b531415a7cc518cd404e73f6193c6349d" - integrity sha512-aUjdRFISbuFOl0EIZc+9e4FfZp0bDZgAdOOf30bJmw8VM9v84SHyVyxDfbWxpGYbdZD/9XoKxfHVNmxPkhwyGw== +ajv-keywords@^3.1.0, ajv-keywords@^3.4.1: + version "3.4.1" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da" + integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ== -ajv@^6.1.0, ajv@^6.10.0, ajv@^6.5.5, ajv@^6.9.1: - version "6.10.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.0.tgz#90d0d54439da587cd7e843bfb7045f50bd22bdf1" - integrity sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg== +ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.5.5: + version "6.10.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52" + integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw== dependencies: fast-deep-equal "^2.0.1" fast-json-stable-stringify "^2.0.0" @@ -4009,7 +3780,7 @@ array-unique@^0.3.2: resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= -array.prototype.find@^2.0.4: +array.prototype.find@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/array.prototype.find/-/array.prototype.find-2.1.0.tgz#630f2eaf70a39e608ac3573e45cf8ccd0ede9ad7" integrity sha512-Wn41+K1yuO5p7wRZDl7890c3xvv5UBrfVXTVIe28rSQb6LS0fZMDrQB6PAcxQFRFy6vJTLDc3A2+3CjQdzVKRg== @@ -4100,9 +3871,9 @@ async-each@^1.0.1: integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== async-limiter@^1.0.0, async-limiter@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" - integrity sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg== + version "1.0.1" + resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" + integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== async@2.6.1: version "2.6.1" @@ -4117,11 +3888,11 @@ async@^1.5.2: integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= async@^2.1.4, async@^2.5.0: - version "2.6.2" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.2.tgz#18330ea7e6e313887f5d2f2a904bac6fe4dd5381" - integrity sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg== + version "2.6.3" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" + integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== dependencies: - lodash "^4.17.11" + lodash "^4.17.14" asynckit@^0.4.0: version "0.4.0" @@ -4138,20 +3909,7 @@ atob@^2.1.1: resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== -autoprefixer@^9.4.9: - version "9.6.0" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.6.0.tgz#0111c6bde2ad20c6f17995a33fad7cf6854b4c87" - integrity sha512-kuip9YilBqhirhHEGHaBTZKXL//xxGnzvsD0FtBQa6z+A69qZD6s/BAX9VzDF1i9VKDquTJDQaPLSEhOnL6FvQ== - dependencies: - browserslist "^4.6.1" - caniuse-lite "^1.0.30000971" - chalk "^2.4.2" - normalize-range "^0.1.2" - num2fraction "^1.2.2" - postcss "^7.0.16" - postcss-value-parser "^3.3.1" - -autoprefixer@^9.6.1: +autoprefixer@^9.4.9, autoprefixer@^9.6.1: version "9.6.1" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.6.1.tgz#51967a02d2d2300bb01866c1611ec8348d355a47" integrity sha512-aVo5WxR3VyvyJxcJC3h4FKfwCQvQWb1tSI5VHNibddCVWrcD1NvlxEweg3TSgiPztMnWfjpy2FURKA2kvDE+Tw== @@ -4196,9 +3954,9 @@ aws4@^1.8.0: integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ== axe-core@^3.2.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-3.2.2.tgz#b06d6e9ae4636d706068843272bfaeed3fe97362" - integrity sha512-gAy4kMSPpuRJV3mwictJqlg5LhE84Vw2CydKdC4tvrLhR6+G3KW51zbL/vYujcLA2jvWOq3HMHrVeNuw+mrLVA== + version "3.3.2" + resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-3.3.2.tgz#7baf3c55a5cf1621534a2c38735f5a1bf2f7e1a8" + integrity sha512-lRdxsRt7yNhqpcXQk1ao1BL73OZDzmFCWOG0mC4tGR/r14ohH2payjHwCMQjHGbBKm924eDlmG7utAGHiX/A6g== babel-code-frame@^6.22.0: version "6.26.0" @@ -4244,16 +4002,16 @@ babel-helper-to-multiple-sequence-expressions@^0.5.0: resolved "https://registry.yarnpkg.com/babel-helper-to-multiple-sequence-expressions/-/babel-helper-to-multiple-sequence-expressions-0.5.0.tgz#a3f924e3561882d42fcf48907aa98f7979a4588d" integrity sha512-m2CvfDW4+1qfDdsrtf4dwOslQC3yhbgyBFptncp4wvtdrDHqueW7slsYv4gArie056phvQFhT2nRcGS4bnm6mA== -babel-jest@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-24.8.0.tgz#5c15ff2b28e20b0f45df43fe6b7f2aae93dba589" - integrity sha512-+5/kaZt4I9efoXzPlZASyK/lN9qdRKmmUav9smVc0ruPQD7IsfucQ87gpOE8mn2jbDuS6M/YOW6n3v9ZoIfgnw== +babel-jest@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-24.9.0.tgz#3fc327cb8467b89d14d7bc70e315104a783ccd54" + integrity sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw== dependencies: - "@jest/transform" "^24.8.0" - "@jest/types" "^24.8.0" + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" "@types/babel__core" "^7.1.0" babel-plugin-istanbul "^5.1.0" - babel-preset-jest "^24.6.0" + babel-preset-jest "^24.9.0" chalk "^2.4.2" slash "^2.0.0" @@ -4272,22 +4030,22 @@ babel-plugin-add-react-displayname@^0.0.5: resolved "https://registry.yarnpkg.com/babel-plugin-add-react-displayname/-/babel-plugin-add-react-displayname-0.0.5.tgz#339d4cddb7b65fd62d1df9db9fe04de134122bd5" integrity sha1-M51M3be2X9YtHfnbn+BN4TQSK9U= -babel-plugin-dynamic-import-node@2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.2.0.tgz#c0adfb07d95f4a4495e9aaac6ec386c4d7c2524e" - integrity sha512-fP899ELUnTaBcIzmrW7nniyqqdYWrWuJUyPWHxFa/c7r7hS6KC8FscNfLlBNIoPSc55kYMGEEKjPjJGCLbE1qA== +babel-plugin-dynamic-import-node@2.3.0, babel-plugin-dynamic-import-node@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz#f00f507bdaa3c3e3ff6e7e5e98d90a7acab96f7f" + integrity sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ== dependencies: object.assign "^4.1.0" -babel-plugin-emotion@^10.0.14, babel-plugin-emotion@^10.0.9: - version "10.0.14" - resolved "https://registry.yarnpkg.com/babel-plugin-emotion/-/babel-plugin-emotion-10.0.14.tgz#c1d0e4621e303507ea7da57daa3cd771939d6df4" - integrity sha512-T7hdxJ4xXkKW3OXcizK0pnUJlBeNj/emjQZPDIZvGOuwl2adIgicQWRNkz6BuwKdDTrqaXQn1vayaL6aL8QW5A== +babel-plugin-emotion@^10.0.14, babel-plugin-emotion@^10.0.15, babel-plugin-emotion@^10.0.9: + version "10.0.16" + resolved "https://registry.yarnpkg.com/babel-plugin-emotion/-/babel-plugin-emotion-10.0.16.tgz#cb306798058b102a634ca80e69b012caa345bb09" + integrity sha512-a01Xrourr/VRpw4KicX9drDwfVGHmw8HmlQk++N4fv0j73EfHKWC1Ah4Vu8s1cTGVvTiwum+UhVpJenV8j03FQ== dependencies: "@babel/helper-module-imports" "^7.0.0" "@emotion/hash" "0.7.2" "@emotion/memoize" "0.7.2" - "@emotion/serialize" "^0.11.8" + "@emotion/serialize" "^0.11.9" babel-plugin-macros "^2.0.0" babel-plugin-syntax-jsx "^6.18.0" convert-source-map "^1.5.0" @@ -4314,31 +4072,23 @@ babel-plugin-emotion@^9.2.11: touch "^2.0.1" babel-plugin-istanbul@^5.1.0: - version "5.1.4" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-5.1.4.tgz#841d16b9a58eeb407a0ddce622ba02fe87a752ba" - integrity sha512-dySz4VJMH+dpndj0wjJ8JPs/7i1TdSPb1nRrn56/92pKOF9VKC1FMFJmMXjzlGGusnCAqujP6PBCiKq0sVA+YQ== + version "5.2.0" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz#df4ade83d897a92df069c4d9a25cf2671293c854" + integrity sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw== dependencies: + "@babel/helper-plugin-utils" "^7.0.0" find-up "^3.0.0" istanbul-lib-instrument "^3.3.0" test-exclude "^5.2.3" -babel-plugin-jest-hoist@^24.6.0: - version "24.6.0" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.6.0.tgz#f7f7f7ad150ee96d7a5e8e2c5da8319579e78019" - integrity sha512-3pKNH6hMt9SbOv0F3WVmy5CWQ4uogS3k0GY5XLyQHJ9EGpAT9XWkFd2ZiXXtkwFHdAHa5j7w7kfxSP5lAIwu7w== +babel-plugin-jest-hoist@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz#4f837091eb407e01447c8843cbec546d0002d756" + integrity sha512-2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw== dependencies: "@types/babel__traverse" "^7.0.6" -babel-plugin-macros@2.5.1: - version "2.5.1" - resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.5.1.tgz#4a119ac2c2e19b458c259b9accd7ee34fd57ec6f" - integrity sha512-xN3KhAxPzsJ6OQTktCanNpIFnnMsCV+t8OloKxIL72D6+SUZYFn9qfklPgef5HyyDtzYZqqb+fs1S12+gQY82Q== - dependencies: - "@babel/runtime" "^7.4.2" - cosmiconfig "^5.2.0" - resolve "^1.10.0" - -babel-plugin-macros@^2.0.0, babel-plugin-macros@^2.4.5: +babel-plugin-macros@2.6.1, babel-plugin-macros@^2.0.0, babel-plugin-macros@^2.4.5: version "2.6.1" resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.6.1.tgz#41f7ead616fc36f6a93180e89697f69f51671181" integrity sha512-6W2nwiXme6j1n2erPOnmRiWfObUhWH7Qw1LMi9XZy8cj+KtESu3T6asZvtk5bMQQjX8te35o7CFueiSdL/2NmQ== @@ -4359,15 +4109,15 @@ babel-plugin-minify-constant-folding@^0.5.0: dependencies: babel-helper-evaluate-path "^0.5.0" -babel-plugin-minify-dead-code-elimination@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/babel-plugin-minify-dead-code-elimination/-/babel-plugin-minify-dead-code-elimination-0.5.0.tgz#d23ef5445238ad06e8addf5c1cf6aec835bcda87" - integrity sha512-XQteBGXlgEoAKc/BhO6oafUdT4LBa7ARi55mxoyhLHNuA+RlzRmeMAfc31pb/UqU01wBzRc36YqHQzopnkd/6Q== +babel-plugin-minify-dead-code-elimination@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/babel-plugin-minify-dead-code-elimination/-/babel-plugin-minify-dead-code-elimination-0.5.1.tgz#1a0c68e44be30de4976ca69ffc535e08be13683f" + integrity sha512-x8OJOZIrRmQBcSqxBcLbMIK8uPmTvNWPXH2bh5MDCW1latEqYiRMuUkPImKcfpo59pTUB2FT7HfcgtG8ZlR5Qg== dependencies: babel-helper-evaluate-path "^0.5.0" babel-helper-mark-eval-scopes "^0.4.3" babel-helper-remove-or-void "^0.4.3" - lodash.some "^4.6.0" + lodash "^4.17.11" babel-plugin-minify-flip-comparisons@^0.4.3: version "0.4.3" @@ -4376,11 +4126,12 @@ babel-plugin-minify-flip-comparisons@^0.4.3: dependencies: babel-helper-is-void-0 "^0.4.3" -babel-plugin-minify-guarded-expressions@^0.4.3: - version "0.4.3" - resolved "https://registry.yarnpkg.com/babel-plugin-minify-guarded-expressions/-/babel-plugin-minify-guarded-expressions-0.4.3.tgz#cc709b4453fd21b1f302877444c89f88427ce397" - integrity sha1-zHCbRFP9IbHzAod0RMifiEJ845c= +babel-plugin-minify-guarded-expressions@^0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/babel-plugin-minify-guarded-expressions/-/babel-plugin-minify-guarded-expressions-0.4.4.tgz#818960f64cc08aee9d6c75bec6da974c4d621135" + integrity sha512-RMv0tM72YuPPfLT9QLr3ix9nwUIq+sHT6z8Iu3sLbqldzC1Dls8DPCywzUIzkTx9Zh1hWX4q/m9BPoPed9GOfA== dependencies: + babel-helper-evaluate-path "^0.5.0" babel-helper-flip-expressions "^0.4.3" babel-plugin-minify-infinity@^0.4.3: @@ -4405,11 +4156,12 @@ babel-plugin-minify-replace@^0.5.0: resolved "https://registry.yarnpkg.com/babel-plugin-minify-replace/-/babel-plugin-minify-replace-0.5.0.tgz#d3e2c9946c9096c070efc96761ce288ec5c3f71c" integrity sha512-aXZiaqWDNUbyNNNpWs/8NyST+oU7QTpK7J9zFEFSA0eOmtUNMU3fczlTTTlnCxHmq/jYNFEmkkSG3DDBtW3Y4Q== -babel-plugin-minify-simplify@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/babel-plugin-minify-simplify/-/babel-plugin-minify-simplify-0.5.0.tgz#1f090018afb90d8b54d3d027fd8a4927f243da6f" - integrity sha512-TM01J/YcKZ8XIQd1Z3nF2AdWHoDsarjtZ5fWPDksYZNsoOjQ2UO2EWm824Ym6sp127m44gPlLFiO5KFxU8pA5Q== +babel-plugin-minify-simplify@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/babel-plugin-minify-simplify/-/babel-plugin-minify-simplify-0.5.1.tgz#f21613c8b95af3450a2ca71502fdbd91793c8d6a" + integrity sha512-OSYDSnoCxP2cYDMk9gxNAed6uJDiDz65zgL6h8d3tm8qXIagWGMLWhqysT6DY3Vs7Fgq7YUDcjOomhVUb+xX6A== dependencies: + babel-helper-evaluate-path "^0.5.0" babel-helper-flip-expressions "^0.4.3" babel-helper-is-nodes-equiv "^0.0.1" babel-helper-to-multiple-sequence-expressions "^0.5.0" @@ -4422,9 +4174,9 @@ babel-plugin-minify-type-constructors@^0.4.3: babel-helper-is-void-0 "^0.4.3" babel-plugin-named-asset-import@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.2.tgz#20978ed446b8e1bf4a2f42d0a94c0ece85f75f4f" - integrity sha512-CxwvxrZ9OirpXQ201Ec57OmGhmI8/ui/GwTDy0hSp6CmRvgRC0pSair6Z04Ck+JStA0sMPZzSJ3uE4n17EXpPQ== + version "0.3.3" + resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.3.tgz#9ba2f3ac4dc78b042651654f07e847adfe50667c" + integrity sha512-1XDRysF4894BUdMChT+2HHbtJYiO7zx5Be7U6bT8dISy7OdyETMGIAQBMPQCsY1YRf0xcubwnKKaDr5bk15JTA== babel-plugin-react-docgen@^3.0.0: version "3.1.0" @@ -4436,9 +4188,9 @@ babel-plugin-react-docgen@^3.0.0: recast "^0.14.7" "babel-plugin-styled-components@>= 1": - version "1.10.2" - resolved "https://registry.yarnpkg.com/babel-plugin-styled-components/-/babel-plugin-styled-components-1.10.2.tgz#0d9af9521ec99cf8e14182685162e09b119de176" - integrity sha512-gA67BkMbddFPkTjD2bBe7zE6NNEUNK/7A4uDxwSigA3h1+sL2b6mWhxPu9a5DKf+3TvmdoxvtJ4me2NE7k66Ng== + version "1.10.6" + resolved "https://registry.yarnpkg.com/babel-plugin-styled-components/-/babel-plugin-styled-components-1.10.6.tgz#f8782953751115faf09a9f92431436912c34006b" + integrity sha512-gyQj/Zf1kQti66100PhrCRjI5ldjaze9O0M3emXRPAN80Zsf8+e1thpTpaXJXVHXtaM4/+dJEgZHyS9Its+8SA== dependencies: "@babel/helper-annotate-as-pure" "^7.0.0" "@babel/helper-module-imports" "^7.0.0" @@ -4514,29 +4266,29 @@ babel-plugin-transform-undefined-to-void@^6.9.4: resolved "https://registry.yarnpkg.com/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.9.4.tgz#be241ca81404030678b748717322b89d0c8fe280" integrity sha1-viQcqBQEAwZ4t0hxcyK4nQyP4oA= -babel-preset-jest@^24.6.0: - version "24.6.0" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-24.6.0.tgz#66f06136eefce87797539c0d63f1769cc3915984" - integrity sha512-pdZqLEdmy1ZK5kyRUfvBb2IfTPb2BUvIJczlPspS8fWmBQslNNDBqVfh7BW5leOVJMDZKzjD8XEyABTk6gQ5yw== +babel-preset-jest@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz#192b521e2217fb1d1f67cf73f70c336650ad3cdc" + integrity sha512-izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg== dependencies: "@babel/plugin-syntax-object-rest-spread" "^7.0.0" - babel-plugin-jest-hoist "^24.6.0" + babel-plugin-jest-hoist "^24.9.0" "babel-preset-minify@^0.5.0 || 0.6.0-alpha.5": - version "0.5.0" - resolved "https://registry.yarnpkg.com/babel-preset-minify/-/babel-preset-minify-0.5.0.tgz#e25bb8d3590087af02b650967159a77c19bfb96b" - integrity sha512-xj1s9Mon+RFubH569vrGCayA9Fm2GMsCgDRm1Jb8SgctOB7KFcrVc2o8K3YHUyMz+SWP8aea75BoS8YfsXXuiA== + version "0.5.1" + resolved "https://registry.yarnpkg.com/babel-preset-minify/-/babel-preset-minify-0.5.1.tgz#25f5d0bce36ec818be80338d0e594106e21eaa9f" + integrity sha512-1IajDumYOAPYImkHbrKeiN5AKKP9iOmRoO2IPbIuVp0j2iuCcj0n7P260z38siKMZZ+85d3mJZdtW8IgOv+Tzg== dependencies: babel-plugin-minify-builtins "^0.5.0" babel-plugin-minify-constant-folding "^0.5.0" - babel-plugin-minify-dead-code-elimination "^0.5.0" + babel-plugin-minify-dead-code-elimination "^0.5.1" babel-plugin-minify-flip-comparisons "^0.4.3" - babel-plugin-minify-guarded-expressions "^0.4.3" + babel-plugin-minify-guarded-expressions "^0.4.4" babel-plugin-minify-infinity "^0.4.3" babel-plugin-minify-mangle-names "^0.5.0" babel-plugin-minify-numeric-literals "^0.4.3" babel-plugin-minify-replace "^0.5.0" - babel-plugin-minify-simplify "^0.5.0" + babel-plugin-minify-simplify "^0.5.1" babel-plugin-minify-type-constructors "^0.4.3" babel-plugin-transform-inline-consecutive-adds "^0.4.3" babel-plugin-transform-member-expression-literals "^6.9.4" @@ -4549,30 +4301,28 @@ babel-preset-jest@^24.6.0: babel-plugin-transform-remove-undefined "^0.5.0" babel-plugin-transform-simplify-comparison-operators "^6.9.4" babel-plugin-transform-undefined-to-void "^6.9.4" - lodash.isplainobject "^4.0.6" + lodash "^4.17.11" -babel-preset-react-app@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/babel-preset-react-app/-/babel-preset-react-app-9.0.0.tgz#703108142bc9dd7173bde6a1a0138a762abc76f9" - integrity sha512-YVsDA8HpAKklhFLJtl9+AgaxrDaor8gGvDFlsg1ByOS0IPGUovumdv4/gJiAnLcDmZmKlH6+9sVOz4NVW7emAg== +babel-preset-react-app@^9.0.0, babel-preset-react-app@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/babel-preset-react-app/-/babel-preset-react-app-9.0.1.tgz#16a2cf84363045b530b6a03460527a5c6eac42ba" + integrity sha512-v7MeY+QxdBhM9oU5uOQCIHLsErYkEbbjctXsb10II+KAnttbe0rvprvP785dRxfa9dI4ZbsGXsRU07Qdi5BtOw== dependencies: - "@babel/core" "7.4.3" - "@babel/plugin-proposal-class-properties" "7.4.0" - "@babel/plugin-proposal-decorators" "7.4.0" - "@babel/plugin-proposal-object-rest-spread" "7.4.3" + "@babel/core" "7.5.5" + "@babel/plugin-proposal-class-properties" "7.5.5" + "@babel/plugin-proposal-decorators" "7.4.4" + "@babel/plugin-proposal-object-rest-spread" "7.5.5" "@babel/plugin-syntax-dynamic-import" "7.2.0" - "@babel/plugin-transform-classes" "7.4.3" - "@babel/plugin-transform-destructuring" "7.4.3" - "@babel/plugin-transform-flow-strip-types" "7.4.0" - "@babel/plugin-transform-react-constant-elements" "7.2.0" + "@babel/plugin-transform-destructuring" "7.5.0" + "@babel/plugin-transform-flow-strip-types" "7.4.4" "@babel/plugin-transform-react-display-name" "7.2.0" - "@babel/plugin-transform-runtime" "7.4.3" - "@babel/preset-env" "7.4.3" + "@babel/plugin-transform-runtime" "7.5.5" + "@babel/preset-env" "7.5.5" "@babel/preset-react" "7.0.0" "@babel/preset-typescript" "7.3.3" - "@babel/runtime" "7.4.3" - babel-plugin-dynamic-import-node "2.2.0" - babel-plugin-macros "2.5.1" + "@babel/runtime" "7.5.5" + babel-plugin-dynamic-import-node "2.3.0" + babel-plugin-macros "2.6.1" babel-plugin-transform-react-remove-prop-types "0.4.24" babel-runtime@^6.18.0, babel-runtime@^6.23.0, babel-runtime@^6.26.0: @@ -4599,9 +4349,9 @@ balanced-match@^1.0.0: integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= base64-js@^1.0.2: - version "1.3.0" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3" - integrity sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw== + version "1.3.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" + integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== base@^0.11.1: version "0.11.2" @@ -4639,14 +4389,14 @@ before-after-hook@^2.0.0: integrity sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A== bfj@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/bfj/-/bfj-6.1.1.tgz#05a3b7784fbd72cfa3c22e56002ef99336516c48" - integrity sha512-+GUNvzHR4nRyGybQc2WpNJL4MJazMuvf92ueIyA0bIkPRwhhQu3IfZQ2PSoVPpCBJfmoSdOxu5rnotfFLlvYRQ== + version "6.1.2" + resolved "https://registry.yarnpkg.com/bfj/-/bfj-6.1.2.tgz#325c861a822bcb358a41c78a33b8e6e2086dde7f" + integrity sha512-BmBJa4Lip6BPRINSZ0BPEIfB1wUY/9rwbwvIHQA1KjX9om29B6id0wnWXq7m3bn5JrUVjeOTnVuhPT1FiHwPGw== dependencies: - bluebird "^3.5.1" - check-types "^7.3.0" - hoopy "^0.1.2" - tryer "^1.0.0" + bluebird "^3.5.5" + check-types "^8.0.3" + hoopy "^0.1.4" + tryer "^1.0.1" big.js@^3.1.3: version "3.2.0" @@ -4832,34 +4582,7 @@ browserify-zlib@^0.2.0: dependencies: pako "~1.0.5" -browserslist@4.5.4: - version "4.5.4" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.5.4.tgz#166c4ecef3b51737a42436ea8002aeea466ea2c7" - integrity sha512-rAjx494LMjqKnMPhFkuLmLp8JWEX0o8ADTGeAbOqaF+XCvYLreZrG5uVjnPBlAQ8REZK4pzXGvp0bWgrFtKaag== - dependencies: - caniuse-lite "^1.0.30000955" - electron-to-chromium "^1.3.122" - node-releases "^1.1.13" - -browserslist@^4.5.2: - version "4.6.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.6.1.tgz#ee5059b1aec18cbec9d055d6cb5e24ae50343a9b" - integrity sha512-1MC18ooMPRG2UuVFJTHFIAkk6mpByJfxCrnUyvSlu/hyQSFHMrlhM02SzNuCV+quTP4CKmqtOMAIjrifrpBJXQ== - dependencies: - caniuse-lite "^1.0.30000971" - electron-to-chromium "^1.3.137" - node-releases "^1.1.21" - -browserslist@^4.6.0, browserslist@^4.6.1, browserslist@^4.6.2: - version "4.6.3" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.6.3.tgz#0530cbc6ab0c1f3fc8c819c72377ba55cf647f05" - integrity sha512-CNBqTCq22RKM8wKJNowcqihHJ4SkI8CGeK7KOR9tPboXUuS5Zk5lQgzzTbs4oxD8x+6HUshZUa2OyNI9lR93bQ== - dependencies: - caniuse-lite "^1.0.30000975" - electron-to-chromium "^1.3.164" - node-releases "^1.1.23" - -browserslist@^4.6.3: +browserslist@4.6.6, browserslist@^4.6.0, browserslist@^4.6.3, browserslist@^4.6.6: version "4.6.6" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.6.6.tgz#6e4bf467cde520bc9dbdf3747dafa03531cec453" integrity sha512-D2Nk3W9JL9Fp/gIcWei8LrERCS+eXu9AM5cfXA8WEZ84lFks+ARnZ0q/R69m2SV3Wjma83QDDPxsNKXUwdIsyA== @@ -4876,9 +4599,9 @@ bs-logger@0.x: fast-json-stable-stringify "2.x" bser@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.0.0.tgz#9ac78d3ed5d915804fd87acb158bc797147a1719" - integrity sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk= + version "2.1.0" + resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.0.tgz#65fc784bf7f87c009b973c12db6546902fa9c7b5" + integrity sha512-8zsjWrQkkBoLK6uxASk1nJ2SKv97ltiGDo6A3wA0/yRPz+CwmEyDo0hUrhIuukG2JHpAl3bvFIixw2/3Hi0DOg== dependencies: node-int64 "^0.4.0" @@ -4951,7 +4674,7 @@ bytes@3.1.0: resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== -cacache@^11.3.2, cacache@^11.3.3: +cacache@^11.3.3: version "11.3.3" resolved "https://registry.yarnpkg.com/cacache/-/cacache-11.3.3.tgz#8bd29df8c6a718a6ebd2d010da4d7972ae3bbadc" integrity sha512-p8WcneCytvzPxhDvYp31PD039vi77I12W+/KfR9S8AZbaiARFBCpsPJS+9uhWfeBfeAtW7o/4vt3MUqLkbY6nA== @@ -4971,10 +4694,10 @@ cacache@^11.3.2, cacache@^11.3.3: unique-filename "^1.1.1" y18n "^4.0.0" -cacache@^12.0.0: - version "12.0.2" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.2.tgz#8db03205e36089a3df6954c66ce92541441ac46c" - integrity sha512-ifKgxH2CKhJEg6tNdAwziu6Q33EvuG26tYcda6PT3WKisZcYDXsnEdnRv67Po3yCzFfaSoMjGZzJyD2c3DT1dg== +cacache@^12.0.0, cacache@^12.0.2, cacache@^12.0.3: + version "12.0.3" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.3.tgz#be99abba4e1bf5df461cd5a2c1071fc432573390" + integrity sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw== dependencies: bluebird "^3.5.5" chownr "^1.1.1" @@ -5058,7 +4781,7 @@ callsites@^3.0.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -camel-case@3.0.x: +camel-case@3.0.x, camel-case@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" integrity sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M= @@ -5108,15 +4831,10 @@ can-use-dom@^0.1.0: resolved "https://registry.yarnpkg.com/can-use-dom/-/can-use-dom-0.1.0.tgz#22cc4a34a0abc43950f42c6411024a3f6366b45a" integrity sha1-IsxKNKCrxDlQ9CxkEQJKP2NmtFo= -caniuse-lite@^1.0.30000955, caniuse-lite@^1.0.30000971, caniuse-lite@^1.0.30000975: - version "1.0.30000978" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000978.tgz#1e3346c27fc46bce9ac1ccd77863153a263dde56" - integrity sha512-H6gK6kxUzG6oAwg/Jal279z8pHw0BzrpZfwo/CA9FFm/vA0l8IhDfkZtepyJNE2Y4V6Dp3P3ubz6czby1/Mgsw== - caniuse-lite@^1.0.30000980, caniuse-lite@^1.0.30000984: - version "1.0.30000985" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000985.tgz#0eb40f6c8a8c219155cbe43c4975c0efb4a0f77f" - integrity sha512-1ngiwkgqAYPG0JSSUp3PUDGPKKY59EK7NrGGX+VOxaKCNzRbNc7uXMny+c3VJfZxtoK3wSImTvG9T9sXiTw2+w== + version "1.0.30000989" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000989.tgz#b9193e293ccf7e4426c5245134b8f2a56c0ac4b9" + integrity sha512-vrMcvSuMz16YY6GSVZ0dWDTJP8jqk3iFQ/Aq5iqblPwxSVVZI+zxDyTX0VPqtQsDnfdrBDcsmhgTEOh5R8Lbpw== capture-exit@^2.0.0: version "2.0.0" @@ -5135,11 +4853,6 @@ caseless@~0.12.0: resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= -ccount@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.0.4.tgz#9cf2de494ca84060a2a8d2854edd6dfb0445f386" - integrity sha512-fpZ81yYfzentuieinmGnphk0pLkOTMm6MZdVqwd77ROvhko6iujLNGrHH5E7utq3ygWklwfmwuG+A7P+NpqT6w== - chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.3.1, chalk@^2.3.2, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" @@ -5195,10 +4908,10 @@ check-more-types@2.24.0: resolved "https://registry.yarnpkg.com/check-more-types/-/check-more-types-2.24.0.tgz#1420ffb10fd444dcfc79b43891bbfffd32a84600" integrity sha1-FCD/sQ/URNz8ebQ4kbv//TKoRgA= -check-types@^7.3.0: - version "7.4.0" - resolved "https://registry.yarnpkg.com/check-types/-/check-types-7.4.0.tgz#0378ec1b9616ec71f774931a3c6516fad8c152f4" - integrity sha512-YbulWHdfP99UfZ73NcUDlNJhEIDgm9Doq9GhpyXbF+7Aegi3CVV7qqMCKTTqJxlvEvnQBp9IA+dxsGN6xK/nSg== +check-types@^8.0.3: + version "8.0.3" + resolved "https://registry.yarnpkg.com/check-types/-/check-types-8.0.3.tgz#3356cca19c889544f2d7a95ed49ce508a0ecf552" + integrity sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ== cheerio@^1.0.0-rc.2: version "1.0.0-rc.3" @@ -5213,9 +4926,9 @@ cheerio@^1.0.0-rc.2: parse5 "^3.0.1" chokidar@^2.0.2, chokidar@^2.0.4, chokidar@^2.1.6: - version "2.1.6" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.6.tgz#b6cad653a929e244ce8a834244164d241fa954c5" - integrity sha512-V2jUo67OKkc6ySiRpJrjlpJKl9kDuG+Xb8VgsGzb+aEouhgS1D0weyPU4lEzdAcsCAvrih2J2BqyXqHWvVLw5g== + version "2.1.8" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" + integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== dependencies: anymatch "^2.0.0" async-each "^1.0.1" @@ -5231,12 +4944,12 @@ chokidar@^2.0.2, chokidar@^2.0.4, chokidar@^2.1.6: optionalDependencies: fsevents "^1.2.7" -chownr@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz#54726b8b8fff4df053c42187e801fb4412df1494" - integrity sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g== +chownr@^1.1.1, chownr@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.2.tgz#a18f1e0b269c8a6a5d3c86eb298beb14c3dd7bf6" + integrity sha512-GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A== -chrome-trace-event@^1.0.0: +chrome-trace-event@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4" integrity sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ== @@ -5276,13 +4989,18 @@ classnames@^2.2.5: resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce" integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q== -clean-css@4.2.x: +clean-css@4.2.x, clean-css@^4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.1.tgz#2d411ef76b8569b6d0c84068dabe85b0aa5e5c17" integrity sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g== dependencies: source-map "~0.6.0" +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== + cli-boxes@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.0.tgz#538ecae8f9c6ca508e3c3c95b453fe93cb4c168d" @@ -5477,10 +5195,10 @@ commander@~2.19.0: resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg== -comment-parser@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/comment-parser/-/comment-parser-0.6.1.tgz#88040c7c0a57c62e64962c3e888518620a42e7c9" - integrity sha512-Putzd7Ilyvknmb1KxGf5el9uw0sPx9gEVnDrm8tlvXGN1i8Uaa2VBxB32hUhfzTlrEhhxNQ+pKq4ZNe8wNxjmw== +comment-parser@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/comment-parser/-/comment-parser-0.6.2.tgz#b71e8fcacad954bea616779391838150d0096dcb" + integrity sha512-Wdms0Q8d4vvb2Yk72OwZjwNWtMklbC5Re7lD9cjCP/AG1fhocmc0TrxGBBAXPLy8fZQPrfHGgyygwI0lA7pbzA== commitizen@^4.0.3: version "4.0.3" @@ -5627,17 +5345,17 @@ conventional-changelog-angular@^5.0.3: q "^1.5.1" conventional-changelog-core@^3.1.6: - version "3.2.2" - resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-3.2.2.tgz#de41e6b4a71011a18bcee58e744f6f8f0e7c29c0" - integrity sha512-cssjAKajxaOX5LNAJLB+UOcoWjAIBvXtDMedv/58G+YEmAXMNfC16mmPl0JDOuVJVfIqM0nqQiZ8UCm8IXbE0g== + version "3.2.3" + resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-3.2.3.tgz#b31410856f431c847086a7dcb4d2ca184a7d88fb" + integrity sha512-LMMX1JlxPIq/Ez5aYAYS5CpuwbOk6QFp8O4HLAcZxe3vxoCtABkhfjetk8IYdRB9CDQGwJFLR3Dr55Za6XKgUQ== dependencies: - conventional-changelog-writer "^4.0.5" - conventional-commits-parser "^3.0.2" + conventional-changelog-writer "^4.0.6" + conventional-commits-parser "^3.0.3" dateformat "^3.0.0" get-pkg-repo "^1.0.0" git-raw-commits "2.0.0" git-remote-origin-url "^2.0.0" - git-semver-tags "^2.0.2" + git-semver-tags "^2.0.3" lodash "^4.2.1" normalize-package-data "^2.3.5" q "^1.5.1" @@ -5646,19 +5364,19 @@ conventional-changelog-core@^3.1.6: through2 "^3.0.0" conventional-changelog-preset-loader@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.1.1.tgz#65bb600547c56d5627d23135154bcd9a907668c4" - integrity sha512-K4avzGMLm5Xw0Ek/6eE3vdOXkqnpf9ydb68XYmCc16cJ99XMMbc2oaNMuPwAsxVK6CC1yA4/I90EhmWNj0Q6HA== + version "2.2.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.2.0.tgz#571e2b3d7b53d65587bea9eedf6e37faa5db4fcc" + integrity sha512-zXB+5vF7D5Y3Cb/rJfSyCCvFphCVmF8mFqOdncX3BmjZwAtGAPfYrBcT225udilCKvBbHgyzgxqz2GWDB5xShQ== -conventional-changelog-writer@^4.0.5: - version "4.0.6" - resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-4.0.6.tgz#24db578ac8e7c89a409ef9bba12cf3c095990148" - integrity sha512-ou/sbrplJMM6KQpR5rKFYNVQYesFjN7WpNGdudQSWNi6X+RgyFUcSv871YBYkrUYV9EX8ijMohYVzn9RUb+4ag== +conventional-changelog-writer@^4.0.6: + version "4.0.7" + resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-4.0.7.tgz#e4b7d9cbea902394ad671f67108a71fa90c7095f" + integrity sha512-p/wzs9eYaxhFbrmX/mCJNwJuvvHR+j4Fd0SQa2xyAhYed6KBiZ780LvoqUUvsayP4R1DtC27czalGUhKV2oabw== dependencies: compare-func "^1.3.1" conventional-commits-filter "^2.0.2" dateformat "^3.0.0" - handlebars "^4.1.0" + handlebars "^4.1.2" json-stringify-safe "^5.0.1" lodash "^4.2.1" meow "^4.0.0" @@ -5679,7 +5397,7 @@ conventional-commits-filter@^2.0.2: lodash.ismatch "^4.4.0" modify-values "^1.0.0" -conventional-commits-parser@^3.0.2: +conventional-commits-parser@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-3.0.3.tgz#c3f972fd4e056aa8b9b4f5f3d0e540da18bf396d" integrity sha512-KaA/2EeUkO4bKjinNfGUyqPTX/6w9JGshuQRik4r/wJz7rUw3+D3fDG6sZSEqJvKILzKXFQuFkpPLclcsAuZcg== @@ -5693,16 +5411,16 @@ conventional-commits-parser@^3.0.2: trim-off-newlines "^1.0.0" conventional-recommended-bump@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/conventional-recommended-bump/-/conventional-recommended-bump-5.0.0.tgz#019d45a1f3d2cc14a26e9bad1992406ded5baa23" - integrity sha512-CsfdICpbUe0pmM4MTG90GPUqnFgB1SWIR2HAh+vS+JhhJdPWvc0brs8oadWoYGhFOQpQwe57JnvzWEWU0m2OSg== + version "5.0.1" + resolved "https://registry.yarnpkg.com/conventional-recommended-bump/-/conventional-recommended-bump-5.0.1.tgz#5af63903947b6e089e77767601cb592cabb106ba" + integrity sha512-RVdt0elRcCxL90IrNP0fYCpq1uGt2MALko0eyeQ+zQuDVWtMGAy9ng6yYn3kax42lCj9+XBxQ8ZN6S9bdKxDhQ== dependencies: concat-stream "^2.0.0" conventional-changelog-preset-loader "^2.1.1" conventional-commits-filter "^2.0.2" - conventional-commits-parser "^3.0.2" + conventional-commits-parser "^3.0.3" git-raw-commits "2.0.0" - git-semver-tags "^2.0.2" + git-semver-tags "^2.0.3" meow "^4.0.0" q "^1.5.1" @@ -5770,48 +5488,33 @@ copy-webpack-plugin@^5.0.4: serialize-javascript "^1.7.0" webpack-log "^2.0.0" -core-js-compat@^3.0.0: - version "3.1.3" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.1.3.tgz#0cc3ba4c7f62928c2837e1cffbe8dc78b4f1ae14" - integrity sha512-EP018pVhgwsKHz3YoN1hTq49aRe+h017Kjz0NQz3nXV0cCRMvH3fLQl+vEPGr4r4J5sk4sU3tUC7U1aqTCeJeA== - dependencies: - browserslist "^4.6.0" - core-js-pure "3.1.3" - semver "^6.1.0" - core-js-compat@^3.1.1: - version "3.1.4" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.1.4.tgz#e4d0c40fbd01e65b1d457980fe4112d4358a7408" - integrity sha512-Z5zbO9f1d0YrJdoaQhphVAnKPimX92D6z8lCGphH89MNRxlL1prI9ExJPqVwP0/kgkQCv8c4GJGT8X16yUncOg== + version "3.2.1" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.2.1.tgz#0cbdbc2e386e8e00d3b85dc81c848effec5b8150" + integrity sha512-MwPZle5CF9dEaMYdDeWm73ao/IflDH+FjeJCWEADcEgFSE9TLimFKwJsfmkwzI8eC0Aj0mgvMDjeQjrElkz4/A== dependencies: - browserslist "^4.6.2" - core-js-pure "3.1.4" - semver "^6.1.1" - -core-js-pure@3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.1.3.tgz#4c90752d5b9471f641514f3728f51c1e0783d0b5" - integrity sha512-k3JWTrcQBKqjkjI0bkfXS0lbpWPxYuHWfMMjC1VDmzU4Q58IwSbuXSo99YO/hUHlw/EB4AlfA2PVxOGkrIq6dA== + browserslist "^4.6.6" + semver "^6.3.0" -core-js-pure@3.1.4, core-js-pure@^3.0.1: - version "3.1.4" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.1.4.tgz#5fa17dc77002a169a3566cc48dc774d2e13e3769" - integrity sha512-uJ4Z7iPNwiu1foygbcZYJsJs1jiXrTTCvxfLDXNhI/I+NHbSIEyr548y4fcsCEyWY0XgfAG/qqaunJ1SThHenA== +core-js-pure@^3.0.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.2.1.tgz#879a23699cff46175bfd2d09158b5c50645a3c45" + integrity sha512-+qpvnYrsi/JDeQTArB7NnNc2VoMYLE1YSkziCDHgjexC2KH7OFiGhLUd3urxfyWmNjSwSW7NYXPWHMhuIJx9Ow== core-js@^1.0.0: version "1.2.7" resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" integrity sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY= -core-js@^2.4.0, core-js@^2.5.7, core-js@^2.6.5: +core-js@^2.4.0, core-js@^2.6.5: version "2.6.9" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.9.tgz#6b4b214620c834152e179323727fc19741b084f2" integrity sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A== core-js@^3.0.1, core-js@^3.0.4: - version "3.1.4" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.1.4.tgz#3a2837fc48e582e1ae25907afcd6cf03b0cc7a07" - integrity sha512-YNZN8lt82XIMLnLirj9MhKDFZHalwzzrL9YLt6eb0T5D0EDl4IQ90IGkua8mHbnxNrkj1d8hbdizMc0Qmg1WnQ== + version "3.2.1" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.2.1.tgz#cd41f38534da6cc59f7db050fe67307de9868b09" + integrity sha512-Qa5XSVefSVPRxy2XfUC13WbvqkxhkwB3ve+pgCQveNgYzbM/UxZeu1dcOX/xr4UmfUd+muuvsaxilQzCyUurMw== core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" @@ -5819,12 +5522,12 @@ core-util-is@1.0.2, core-util-is@~1.0.0: integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= corejs-upgrade-webpack-plugin@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/corejs-upgrade-webpack-plugin/-/corejs-upgrade-webpack-plugin-2.1.0.tgz#6afa44672486353ae639c297548c0686b64fb325" - integrity sha512-gc+S4t8VT9YFSgOPrhZlD6kDoGZtUq71QwXxS2neGNPhli0veKhbzzilODIpy73TjXGUrCHCpevK8vBnzUPuhw== + version "2.2.0" + resolved "https://registry.yarnpkg.com/corejs-upgrade-webpack-plugin/-/corejs-upgrade-webpack-plugin-2.2.0.tgz#503293bf1fdcb104918eb40d0294e4776ad6923a" + integrity sha512-J0QMp9GNoiw91Kj/dkIQFZeiCXgXoja/Wlht1SPybxerBWh4NCmb0pOgCv61lrlQZETwvVVfAFAA3IqoEO9aqQ== dependencies: resolve-from "^5.0.0" - webpack "^4.33.0" + webpack "^4.38.0" cosmiconfig@^5.0.0, cosmiconfig@^5.1.0, cosmiconfig@^5.2.0, cosmiconfig@^5.2.1: version "5.2.1" @@ -5889,14 +5592,6 @@ create-react-class@^15.6.0: loose-envify "^1.3.1" object-assign "^4.1.1" -create-react-context@<=0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/create-react-context/-/create-react-context-0.2.2.tgz#9836542f9aaa22868cd7d4a6f82667df38019dca" - integrity sha512-KkpaLARMhsTsgp0d2NA/R94F/eDLbhXERdIq3LvX2biCAXcDvHYoOqHfWCHf1+OLj+HKBotLG3KqaOOf+C1C+A== - dependencies: - fbjs "^0.8.0" - gud "^1.0.0" - create-react-context@^0.2.1: version "0.2.3" resolved "https://registry.yarnpkg.com/create-react-context/-/create-react-context-0.2.3.tgz#9ec140a6914a22ef04b8b09b7771de89567cb6f3" @@ -5905,6 +5600,14 @@ create-react-context@^0.2.1: fbjs "^0.8.0" gud "^1.0.0" +create-react-context@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/create-react-context/-/create-react-context-0.3.0.tgz#546dede9dc422def0d3fc2fe03afe0bc0f4f7d8c" + integrity sha512-dNldIoSuNSvlTJ7slIKC/ZFGKexBMBrrcc+TTe1NdmROnaASuLPvqpwj9v4XS4uXZ8+YPu0sNmShX2rXI5LNsw== + dependencies: + gud "^1.0.0" + warning "^4.0.3" + cross-env@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-5.2.0.tgz#6ecd4c015d5773e614039ee529076669b9d126f2" @@ -5972,10 +5675,10 @@ css-loader@^2.1.1: postcss-value-parser "^3.3.0" schema-utils "^1.0.0" -css-loader@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-3.1.0.tgz#6f008b993b8ce812e6bab57f3cbfdc7a7cf28685" - integrity sha512-MuL8WsF/KSrHCBCYaozBKlx+r7vIfUaDTEreo7wR7Vv3J6N0z6fqWjRk3e/6wjneitXN1r/Y9FTK1psYNOBdJQ== +css-loader@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-3.2.0.tgz#bb570d89c194f763627fcf1f80059c6832d009b2" + integrity sha512-QTF3Ud5H7DaZotgdcJjGMvyDj5F3Pn1j/sC6VBEOVp94cbwqyIBdcs/quzj4MC1BKQSrTpQznegH/5giYbhnCQ== dependencies: camelcase "^5.3.1" cssesc "^3.0.0" @@ -6021,22 +5724,14 @@ css-select@^2.0.0: nth-check "^1.0.2" css-to-react-native@^2.2.2: - version "2.3.1" - resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-2.3.1.tgz#cf0f61e0514846e2d4dc188b0886e29d8bef64a2" - integrity sha512-yO+oEx1Lf+hDKasqQRVrAvzMCz825Huh1VMlEEDlRWyAhFb/FWb6I0KpEF1PkyKQ7NEdcx9d5M2ZEWgJAsgPvQ== + version "2.3.2" + resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-2.3.2.tgz#e75e2f8f7aa385b4c3611c52b074b70a002f2e7d" + integrity sha512-VOFaeZA053BqvvvqIA8c9n0+9vFppVBAHCp6JgFTtTMU3Mzi+XnelJ9XC9ul3BqFzZyQ5N+H0SnwsWT2Ebchxw== dependencies: camelize "^1.0.0" css-color-keywords "^1.0.0" postcss-value-parser "^3.3.0" -css-tree@1.0.0-alpha.28: - version "1.0.0-alpha.28" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.28.tgz#8e8968190d886c9477bc8d61e96f61af3f7ffa7f" - integrity sha512-joNNW1gCp3qFFzj4St6zk+Wh/NBv0vM5YbEreZk0SD4S23S+1xBKb6cLDg2uj4P4k/GUMlIm6cKIDqIG+vdt0w== - dependencies: - mdn-data "~1.1.0" - source-map "^0.5.3" - css-tree@1.0.0-alpha.29: version "1.0.0-alpha.29" resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.29.tgz#3fa9d4ef3142cbd1c301e7664c1f352bd82f5a39" @@ -6045,17 +5740,20 @@ css-tree@1.0.0-alpha.29: mdn-data "~1.1.0" source-map "^0.5.3" -css-url-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/css-url-regex/-/css-url-regex-1.1.0.tgz#83834230cc9f74c457de59eebd1543feeb83b7ec" - integrity sha1-g4NCMMyfdMRX3lnuvRVD/uuDt+w= +css-tree@1.0.0-alpha.33: + version "1.0.0-alpha.33" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.33.tgz#970e20e5a91f7a378ddd0fc58d0b6c8d4f3be93e" + integrity sha512-SPt57bh5nQnpsTBsx/IXbO14sRc9xXu5MtMAVuo0BaQQmyf0NupNPPSoMaqiAF5tDFafYsTkfeH4Q/HCKXkg4w== + dependencies: + mdn-data "2.0.4" + source-map "^0.5.3" css-vendor@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/css-vendor/-/css-vendor-2.0.5.tgz#949c58fd5307e79a9417daa0939506f0e5d0a187" - integrity sha512-36w+4Cg0zqFIt5TAkaM3proB6XWh5kSGmbddRCPdrRLQiYNfHPTgaWPOlCrcuZIO0iAtrG+5wsHJZ6jj8AUULA== + version "2.0.6" + resolved "https://registry.yarnpkg.com/css-vendor/-/css-vendor-2.0.6.tgz#a205f73d7562e8728c86ef6ce5ee7c7e5eefd71b" + integrity sha512-buv8FoZh84iMrtPHYGYll00/qSNV0gYO6E/GUCjUPTsSPj7uf/wot/QZwig+7qdFGxJ7HjOSJoclbhag09TVUQ== dependencies: - "@babel/runtime" "^7.3.1" + "@babel/runtime" "^7.5.5" is-in-browser "^1.0.2" css-what@2.1, css-what@^2.1.2: @@ -6076,23 +5774,18 @@ csso@^3.5.1: css-tree "1.0.0-alpha.29" cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0", cssom@^0.3.6: - version "0.3.6" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.6.tgz#f85206cee04efa841f3c5982a74ba96ab20d65ad" - integrity sha512-DtUeseGk9/GBW0hl0vVPpU22iHL6YB5BUX7ml1hB+GMpo0NX5G4voX3kdWiMSEguFtcW3Vh3djqNF4aIe6ne0A== + version "0.3.8" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" + integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== cssstyle@^1.0.0, cssstyle@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.2.2.tgz#427ea4d585b18624f6fdbf9de7a2a1a3ba713077" - integrity sha512-43wY3kl1CVQSvL7wUY1qXkxVGkStjpkDmVjiIKX8R97uhajy8Bybay78uOtqvh7Q5GK75dNPfW0geWjE6qQQow== + version "1.4.0" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.4.0.tgz#9d31328229d3c565c61e586b02041a28fccdccf1" + integrity sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA== dependencies: cssom "0.3.x" -csstype@^2.2.0, csstype@^2.5.2, csstype@^2.5.7: - version "2.6.5" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.5.tgz#1cd1dff742ebf4d7c991470ae71e12bb6751e034" - integrity sha512-JsTaiksRsel5n7XwqPAfB0l3TFKdpjW/kgAELf9vrb5adGA7UCPLajKK5s3nFrcFm3Rkyp/Qkgl73ENc1UY3cA== - -csstype@^2.6.5: +csstype@^2.2.0, csstype@^2.5.2, csstype@^2.5.7, csstype@^2.6.5: version "2.6.6" resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.6.tgz#c34f8226a94bbb10c32cc0d714afdf942291fc41" integrity sha512-RpFbQGUE74iyPgvr46U9t1xoQBM8T4BL8SxrN66Le2xYAPSaDJJKeztV3awugusb3g3G9iL8StmkBBXhcbbXhg== @@ -6175,11 +5868,12 @@ cz-conventional-changelog@^3.0.2: "@commitlint/load" ">6.1.1" d@1: - version "1.0.0" - resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f" - integrity sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8= + version "1.0.1" + resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" + integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== dependencies: - es5-ext "^0.10.9" + es5-ext "^0.10.50" + type "^1.0.1" dargs@^4.0.1: version "4.1.0" @@ -6233,7 +5927,7 @@ debug@3.1.0: dependencies: ms "2.0.0" -debug@3.2.6, debug@^3.1.0, debug@^3.2.5, debug@^3.2.6: +debug@3.2.6, debug@^3.0.0, debug@^3.1.0, debug@^3.2.5, debug@^3.2.6: version "3.2.6" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== @@ -6281,9 +5975,16 @@ deep-diff@^0.3.5: integrity sha1-wB3mPvsO7JeYgB1Ax+Da4ltYLIQ= deep-equal@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" - integrity sha1-9dJgKStmDghO/0zbyfCK0yR0SLU= + version "1.1.0" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.0.tgz#3103cdf8ab6d32cf4a8df7865458f2b8d33f3745" + integrity sha512-ZbfWJq/wN1Z273o7mUSjILYqehAktR2NVoSrOukDkU9kg2v/Uv89yU4Cvz8seJeAmtN5oqiefKq8FPuXOboqLw== + dependencies: + is-arguments "^1.0.4" + is-date-object "^1.0.1" + is-regex "^1.0.4" + object-is "^1.0.1" + object-keys "^1.1.1" + regexp.prototype.flags "^1.2.0" deep-extend@^0.6.0: version "0.6.0" @@ -6300,12 +6001,7 @@ deep-object-diff@^1.1.0: resolved "https://registry.yarnpkg.com/deep-object-diff/-/deep-object-diff-1.1.0.tgz#d6fabf476c2ed1751fc94d5ca693d2ed8c18bc5a" integrity sha512-b+QLs5vHgS+IoSNcUE4n9HP2NwcHj7aqnJWsjPtuG75Rh5TOaGt0OjAYInh77d5T16V5cRDC+Pw/6ZZZiETBGw== -deepmerge@3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-3.3.0.tgz#d3c47fd6f3a93d517b14426b0628a17b0125f5f7" - integrity sha512-GRQOafGHwMHpjPx9iCvTgpu9NojZ49q794EEL94JVEw6VaeA8XTUyBKvAkOOjBX9oJNiV6G3P+T+tihFjo2TqA== - -deepmerge@^4.0.0: +deepmerge@4.0.0, deepmerge@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.0.0.tgz#3e3110ca29205f120d7cb064960a39c3d2087c09" integrity sha512-YZ1rOP5+kHor4hMAH+HRQnBQHg+wvS1un1hAOuIcxcBy0hzcUf6Jg2a1w65kpoOUnurOfZbERwjI1TfZxNjcww== @@ -6368,15 +6064,18 @@ del@^4.1.1: rimraf "^2.6.3" del@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/del/-/del-5.0.0.tgz#4fa698b7a1ffb4e2ab3e8929ed699799654d6720" - integrity sha512-TfU3nUY0WDIhN18eq+pgpbLY9AfL5RfiE9czKaTSolc6aK7qASXfDErvYgjV1UqCR4sNXDoxO0/idPmhDUt2Sg== + version "5.1.0" + resolved "https://registry.yarnpkg.com/del/-/del-5.1.0.tgz#d9487c94e367410e6eff2925ee58c0c84a75b3a7" + integrity sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA== dependencies: - globby "^10.0.0" - is-path-cwd "^2.0.0" - is-path-in-cwd "^2.0.0" - p-map "^2.0.0" - rimraf "^2.6.3" + globby "^10.0.1" + graceful-fs "^4.2.2" + is-glob "^4.0.1" + is-path-cwd "^2.2.0" + is-path-inside "^3.0.1" + p-map "^3.0.0" + rimraf "^3.0.0" + slash "^3.0.0" delayed-stream@~1.0.0: version "1.0.0" @@ -6475,10 +6174,10 @@ diacritic@0.0.2: resolved "https://registry.yarnpkg.com/diacritic/-/diacritic-0.0.2.tgz#fc2a887b5a5bc0a0a854fb614c7c2f209061ee04" integrity sha1-/CqIe1pbwKCoVPthTHwvIJBh7gQ= -diff-sequences@^24.3.0: - version "24.3.0" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.3.0.tgz#0f20e8a1df1abddaf4d9c226680952e64118b975" - integrity sha512-xLqpez+Zj9GKSnPWS0WZw1igGocZ+uua8+y+5dDNTT934N3QuY1sp2LkHzwiaYQGz60hMq0pjAshdeXm5VUOEw== +diff-sequences@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5" + integrity sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew== diff@^3.2.0: version "3.5.0" @@ -6584,9 +6283,17 @@ dom-helpers@^3.4.0: resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-3.4.0.tgz#e9b369700f959f62ecde5a6babde4bccd9169af8" integrity sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA== dependencies: - "@babel/runtime" "^7.1.2" + "@babel/runtime" "^7.1.2" + +dom-serializer@0, dom-serializer@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.1.tgz#13650c850daffea35d8b626a4cfc4d3a17643fdb" + integrity sha512-sK3ujri04WyjwQXVoK4PU3y8ula1stq10GJZpqHIUgoGZdsGzAGu65BnU3d08aTVSvO7mGPZUc0wTEDL+qGE0Q== + dependencies: + domelementtype "^2.0.1" + entities "^2.0.0" -dom-serializer@0, dom-serializer@~0.1.1: +dom-serializer@~0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.1.tgz#1ec4059e284babed36eec2941d4a970a189ce7c0" integrity sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA== @@ -6609,6 +6316,11 @@ domelementtype@1, domelementtype@^1.3.0, domelementtype@^1.3.1: resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== +domelementtype@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.0.1.tgz#1f8bdfe91f5a78063274e803b4bdcedf6e94f94d" + integrity sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ== + domexception@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" @@ -6616,13 +6328,20 @@ domexception@^1.0.1: dependencies: webidl-conversions "^4.0.2" -domhandler@^2.3.0, domhandler@^2.4.2: +domhandler@^2.3.0: version "2.4.2" resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" integrity sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA== dependencies: domelementtype "1" +domhandler@^3.0, domhandler@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-3.0.0.tgz#51cd13efca31da95bbb0c5bee3a48300e333b3e9" + integrity sha512-eKLdI5v9m67kbXQbJSNn1zjh0SDzvzWVWtX+qEI3eMjZw8daH9k8rlj1FZY9memPwjiskQFbe7vHVVJIAqoEhw== + dependencies: + domelementtype "^2.0.1" + domutils@1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" @@ -6639,6 +6358,15 @@ domutils@^1.5.1, domutils@^1.7.0: dom-serializer "0" domelementtype "1" +domutils@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.0.0.tgz#15b8278e37bfa8468d157478c58c367718133c08" + integrity sha512-n5SelJ1axbO636c2yUtOGia/IcJtVtlhQbFiVDBZHKV5ReJO1ViX7sFEemtuyoAnBxk5meNSYgA8V4s0271efg== + dependencies: + dom-serializer "^0.2.1" + domelementtype "^2.0.1" + domhandler "^3.0.0" + dot-prop@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177" @@ -6677,10 +6405,10 @@ dotenv@^6.2.0: resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-6.2.0.tgz#941c0410535d942c8becf28d3f357dbd9d476064" integrity sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w== -dotenv@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.0.0.tgz#ed310c165b4e8a97bb745b0a9d99c31bda566440" - integrity sha512-30xVGqjLjiUOArT4+M5q9sYdvuR4riM6yK9wMcas9Vbp6zZa+ocC9dp6QoftuhTPhFAiLK/0C5Ni2nou/Bk8lg== +dotenv@^8.0.0, dotenv@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.1.0.tgz#d811e178652bfb8a1e593c6dd704ec7e90d85ea2" + integrity sha512-GUE3gqcDCaMltj2++g6bRQ5rBJWtkWTmqmD0fo1RnnMuUqHNCt2oTPeDnS9n6fKYvlhn7AeBkb38lymBtWBQdA== duplexer@^0.1.1, duplexer@~0.1.1: version "0.1.1" @@ -6715,15 +6443,10 @@ ejs@^2.6.1: resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.6.2.tgz#3a32c63d1cd16d11266cd4703b14fec4e74ab4f6" integrity sha512-PcW2a0tyTuPHz3tWyYqtK6r1fZ3gp+3Sop8Ph+ZYN81Ob5rwmbHEzaqs10N3BEsaGTkh/ooniXK+WwszGlc2+Q== -electron-to-chromium@^1.3.122, electron-to-chromium@^1.3.137, electron-to-chromium@^1.3.164: - version "1.3.174" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.174.tgz#011c68d4130e995cbb69c533e147d7f4856e9f39" - integrity sha512-OEh3EARo2B07ZRtxB0u9GqWyWmTeNS+diMp5bjw4kqMjgpzqM0w1zUOyErDsyWxTdArbvZ79T/w5n3WsBVHLfA== - electron-to-chromium@^1.3.191: - version "1.3.200" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.200.tgz#78fb858b466269e8eb46d31a52562f00c865127f" - integrity sha512-PUurrpyDA74MuAjJRD+79ss5BqJlU3mdArRbuu4wO/dt6jc3Ic/6BDmFJxkdwbfq39cHf/XKm2vW98XSvut9Dg== + version "1.3.243" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.243.tgz#32f64f00fa121532d1d49f5c0a15fd77f52ae889" + integrity sha512-+edFdHGxLSmAKftXa5xZIg19rHkkJLiW+tRu0VMVG3RKztyeKX7d3pXf707lS6+BxB9uBun3RShbxCI1PtBAgQ== elegant-spinner@^1.0.1: version "1.0.1" @@ -6810,6 +6533,11 @@ entities@^1.1.1, entities@~1.1.1: resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== +entities@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.0.tgz#68d6084cab1b079767540d80e56a39b423e4abf4" + integrity sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw== + env-paths@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-1.0.0.tgz#4168133b42bb05c38a35b1ae4397c8298ab369e0" @@ -6841,12 +6569,12 @@ enzyme-adapter-utils@^1.12.0: prop-types "^15.7.2" semver "^5.6.0" -enzyme-to-json@^3.3.5: - version "3.3.5" - resolved "https://registry.yarnpkg.com/enzyme-to-json/-/enzyme-to-json-3.3.5.tgz#f8eb82bd3d5941c9d8bc6fd9140030777d17d0af" - integrity sha512-DmH1wJ68HyPqKSYXdQqB33ZotwfUhwQZW3IGXaNXgR69Iodaoj8TF/D9RjLdz4pEhGq2Tx2zwNUIjBuqoZeTgA== +enzyme-to-json@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/enzyme-to-json/-/enzyme-to-json-3.4.0.tgz#2b6330a784a57ba68298e3c0d6cef17ee4fedc0e" + integrity sha512-gbu8P8PMAtb+qtKuGVRdZIYxWHC03q1dGS3EKRmUzmTDIracu3o6cQ0d4xI2YWojbelbxjYOsmqM5EgAL0WgIA== dependencies: - lodash "^4.17.4" + lodash "^4.17.12" enzyme@^3.9.0: version "3.10.0" @@ -6894,7 +6622,7 @@ error-ex@^1.2.0, error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.10.0, es-abstract@^1.11.0, es-abstract@^1.12.0, es-abstract@^1.13.0, es-abstract@^1.4.3, es-abstract@^1.5.0, es-abstract@^1.5.1, es-abstract@^1.7.0, es-abstract@^1.9.0: +es-abstract@^1.10.0, es-abstract@^1.11.0, es-abstract@^1.12.0, es-abstract@^1.13.0, es-abstract@^1.4.3, es-abstract@^1.5.1, es-abstract@^1.7.0: version "1.13.0" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9" integrity sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg== @@ -6915,7 +6643,7 @@ es-to-primitive@^1.2.0: is-date-object "^1.0.1" is-symbol "^1.0.2" -es5-ext@^0.10.35, es5-ext@^0.10.9, es5-ext@~0.10.14: +es5-ext@^0.10.35, es5-ext@^0.10.50, es5-ext@~0.10.14: version "0.10.50" resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.50.tgz#6d0e23a0abdb27018e5ac4fd09b412bc5517a778" integrity sha512-KMzZTPBkeQV/JcSQhI5/z6d9VWJ3EnQ194USTUwIYZ2ZbpN8+SGXQKt1h68EX44+qt+Fzr8DO17vnxrw7c3agw== @@ -6974,9 +6702,9 @@ escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1 integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= escodegen@^1.11.1, escodegen@^1.9.1: - version "1.11.1" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.11.1.tgz#c485ff8d6b4cdb89e27f4a856e91f118401ca510" - integrity sha512-JwiqFD9KdGVVpeuRa68yU3zZnBEOcPs0nKW7wZzXky8Z7tffdYUHbe11bPCV5jYlK6DVdKLWLm0f5I/QlL0Kmw== + version "1.12.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.12.0.tgz#f763daf840af172bb3a2b6dd7219c0e17f7ff541" + integrity sha512-TuA+EhsanGcme5T3R0L80u4t8CpbXQjegRmf7+FPTJrtCTErXFeelblRgHQa1FofEzqYYJmJ/OqjTwREp9qgmg== dependencies: esprima "^3.1.3" estraverse "^4.2.0" @@ -6985,10 +6713,10 @@ escodegen@^1.11.1, escodegen@^1.9.1: optionalDependencies: source-map "~0.6.1" -eslint-config-prettier@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.0.0.tgz#f429a53bde9fc7660e6353910fd996d6284d3c25" - integrity sha512-vDrcCFE3+2ixNT5H83g28bO/uYAwibJxerXPj+E7op4qzBCsAV36QfvdAyVOoNxKAH2Os/e01T/2x++V0LPukA== +eslint-config-prettier@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.1.0.tgz#e6f678ba367fbd1273998d5510f76f004e9dce7b" + integrity sha512-k9fny9sPjIBQ2ftFTesJV21Rg4R/7a7t7LCtZVrYQiHEp8Nnuk3EGaDmsKSAnsPj0BYcgB2zxzHa2NTkIxcOLg== dependencies: get-stdin "^6.0.0" @@ -7001,17 +6729,17 @@ eslint-import-resolver-node@^0.3.2: resolve "^1.5.0" eslint-module-utils@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.4.0.tgz#8b93499e9b00eab80ccb6614e69f03678e84e09a" - integrity sha512-14tltLm38Eu3zS+mt0KvILC3q8jyIAH518MlG+HO0p+yK885Lb1UHTY/UgR91eOyGdmxAPb+OLoW4znqIT6Ndw== + version "2.4.1" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.4.1.tgz#7b4675875bf96b0dbf1b21977456e5bb1f5e018c" + integrity sha512-H6DOj+ejw7Tesdgbfs4jeS4YMFrT8uI8xwd1gtQqXssaR0EQ26L+2O/w6wkYFy2MymON0fTwHmXBvvfLNZVZEw== dependencies: debug "^2.6.8" pkg-dir "^2.0.0" -eslint-plugin-cypress@^2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-cypress/-/eslint-plugin-cypress-2.6.0.tgz#c726dd1a312cd5234de94765ca79718a14edf0ef" - integrity sha512-/YmvhYFqjFLYw7llDl56U9KW+Z25TZJjDofT47aUnAFRRvOhj1y2nxJzZ1ZTnqBO1ja8gwRhtdT7LfTLg9ANJw== +eslint-plugin-cypress@^2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-cypress/-/eslint-plugin-cypress-2.6.1.tgz#b2728663319709c57d21ee7d0dc055edc341dcaf" + integrity sha512-OVdxKbQ5DGcAGxvgZJRng7g01w/4xqEk65FGc8xELMcTdTjzh1m7FFjEQSglv1Y/TIDsOHaA5b+/ojQp4I2QhA== dependencies: globals "^11.12.0" @@ -7032,14 +6760,13 @@ eslint-plugin-import@^2.18.2: read-pkg-up "^2.0.0" resolve "^1.11.0" -eslint-plugin-jsdoc@^15.8.0: - version "15.8.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-15.8.0.tgz#74cf0f35dec8524a6bd011f0cf199d24e09517f2" - integrity sha512-J6ozWkaAgBh1eLdQE+C2wcXhoEgDmGJOSB6zMF5ktEtMBnU62xT3wfHcUacuTnv6rt+ollC0uZThaEpGA+sTNg== +eslint-plugin-jsdoc@^15.8.3: + version "15.8.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-15.8.3.tgz#2d13d2f7fbeacf7e0c5eee344117736961b64a17" + integrity sha512-p2O6SYetuSD5gWV04HHevIfp2WfimXReYwINuB4iC33hm1jrYoP+t2XbJtCBYvjhoRjjw8w4NfnyZKixte1fug== dependencies: - comment-parser "^0.6.1" + comment-parser "^0.6.2" debug "^4.1.1" - flat-map-polyfill "^0.3.8" jsdoctypeparser "5.0.1" lodash "^4.17.15" object.entries-ponyfill "^1.0.1" @@ -7052,10 +6779,10 @@ eslint-plugin-prettier@^3.1.0: dependencies: prettier-linter-helpers "^1.0.0" -eslint-plugin-react-hooks@^1.6.0: - version "1.6.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-1.6.1.tgz#3c66a5515ea3e0a221ffc5d4e75c971c217b1a4c" - integrity sha512-wHhmGJyVuijnYIJXZJHDUF2WM+rJYTjulUTqF9k61d3BTk8etydz+M4dXUVH7M76ZRS85rqBTCx0Es/lLsrjnA== +eslint-plugin-react-hooks@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-2.0.1.tgz#e898ec26a0a335af6f7b0ad1f0bedda7143ed756" + integrity sha512-xir+3KHKo86AasxlCV8AHRtIZPHljqCRRUYgASkbatmt0fad4+5GgC7zkT7o/06hdKM6MIwp8giHVXqBPaarHQ== eslint-plugin-react@^7.14.3: version "7.14.3" @@ -7072,7 +6799,7 @@ eslint-plugin-react@^7.14.3: prop-types "^15.7.2" resolve "^1.10.1" -eslint-scope@^4.0.0: +eslint-scope@^4.0.0, eslint-scope@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== @@ -7088,20 +6815,22 @@ eslint-scope@^5.0.0: esrecurse "^4.1.0" estraverse "^4.1.1" -eslint-utils@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.3.1.tgz#9a851ba89ee7c460346f97cf8939c7298827e512" - integrity sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q== +eslint-utils@^1.4.0, eslint-utils@^1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.2.tgz#166a5180ef6ab7eb462f162fd0e6f2463d7309ab" + integrity sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q== + dependencies: + eslint-visitor-keys "^1.0.0" -eslint-visitor-keys@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d" - integrity sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ== +eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2" + integrity sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A== -eslint@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.1.0.tgz#06438a4a278b1d84fb107d24eaaa35471986e646" - integrity sha512-QhrbdRD7ofuV09IuE2ySWBz0FyXCq0rriLTZXZqaWSI79CVtHVRdkFuFTViiqzZhkCgfOh9USpriuGN2gIpZDQ== +eslint@^6.2.1: + version "6.2.2" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.2.2.tgz#03298280e7750d81fcd31431f3d333e43d93f24f" + integrity sha512-mf0elOkxHbdyGX1IJEUsNBzCDdyoUgljF3rRlgfyYh0pwGnreLc0jjD6ZuleOibjmnUWZLY2eXwSooeOgGJ2jw== dependencies: "@babel/code-frame" "^7.0.0" ajv "^6.10.0" @@ -7110,9 +6839,9 @@ eslint@^6.1.0: debug "^4.0.1" doctrine "^3.0.0" eslint-scope "^5.0.0" - eslint-utils "^1.3.1" - eslint-visitor-keys "^1.0.0" - espree "^6.0.0" + eslint-utils "^1.4.2" + eslint-visitor-keys "^1.1.0" + espree "^6.1.1" esquery "^1.0.1" esutils "^2.0.2" file-entry-cache "^5.0.1" @@ -7141,14 +6870,14 @@ eslint@^6.1.0: text-table "^0.2.0" v8-compile-cache "^2.0.3" -espree@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/espree/-/espree-6.0.0.tgz#716fc1f5a245ef5b9a7fdb1d7b0d3f02322e75f6" - integrity sha512-lJvCS6YbCn3ImT3yKkPe0+tJ+mH6ljhGNjHQH9mRtiO6gjhVAOhVXW1yjnwqGwTkK3bGbye+hb00nFNmu0l/1Q== +espree@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-6.1.1.tgz#7f80e5f7257fc47db450022d723e356daeb1e5de" + integrity sha512-EYbr8XZUhWbYCqQRW0duU5LxzL5bETN6AjKBGy1302qqzPaCH10QbRg3Wvco79Z8x9WbiE8HYB4e75xl6qUYvQ== dependencies: - acorn "^6.0.7" - acorn-jsx "^5.0.0" - eslint-visitor-keys "^1.0.0" + acorn "^7.0.0" + acorn-jsx "^5.0.2" + eslint-visitor-keys "^1.1.0" esprima@^3.1.3: version "3.1.3" @@ -7175,14 +6904,14 @@ esrecurse@^4.1.0: estraverse "^4.1.0" estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" - integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM= + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== esutils@^2.0.0, esutils@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" - integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs= + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== etag@~1.8.1: version "1.8.1" @@ -7290,9 +7019,9 @@ execa@^1.0.0: strip-eof "^1.0.0" execa@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/execa/-/execa-2.0.3.tgz#4b84301b33042cfb622771e886ed0b10e5634642" - integrity sha512-iM124nlyGSrXmuyZF1EMe83ESY2chIYVyDRZKgmcDynid2Q2v/+GuE7gNMl6Sy9Niwf4MC0DDxagOxeMPjuLsw== + version "2.0.4" + resolved "https://registry.yarnpkg.com/execa/-/execa-2.0.4.tgz#2f5cc589c81db316628627004ea4e37b93391d8e" + integrity sha512-VcQfhuGD51vQUQtKIq2fjGDLDbL6N1DTQVpYzxZ7LPIXw3HqTuIz6uxRmpV1qf8i31LHf2kjiaGI+GdHwRgbnQ== dependencies: cross-spawn "^6.0.5" get-stream "^5.0.0" @@ -7341,17 +7070,17 @@ expand-tilde@^2.0.0, expand-tilde@^2.0.2: dependencies: homedir-polyfill "^1.0.1" -expect@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-24.8.0.tgz#471f8ec256b7b6129ca2524b2a62f030df38718d" - integrity sha512-/zYvP8iMDrzaaxHVa724eJBCKqSHmO0FA7EDkBiRHxg6OipmMn1fN+C8T9L9K8yr7UONkOifu6+LLH+z76CnaA== +expect@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-24.9.0.tgz#b75165b4817074fa4a157794f46fe9f1ba15b6ca" + integrity sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q== dependencies: - "@jest/types" "^24.8.0" + "@jest/types" "^24.9.0" ansi-styles "^3.2.0" - jest-get-type "^24.8.0" - jest-matcher-utils "^24.8.0" - jest-message-util "^24.8.0" - jest-regex-util "^24.3.0" + jest-get-type "^24.9.0" + jest-matcher-utils "^24.9.0" + jest-message-util "^24.9.0" + jest-regex-util "^24.9.0" express@^4.16.3, express@^4.17.0, express@^4.17.1: version "4.17.1" @@ -7410,9 +7139,9 @@ extend@^3.0.0, extend@^3.0.1, extend@^3.0.2, extend@~3.0.2: integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== external-editor@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.0.3.tgz#5866db29a97826dbe4bf3afd24070ead9ea43a27" - integrity sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA== + version "3.1.0" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" + integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== dependencies: chardet "^0.7.0" iconv-lite "^0.4.24" @@ -7598,10 +7327,10 @@ file-loader@4.0.0: loader-utils "^1.2.2" schema-utils "^1.0.0" -file-loader@4.1.0, file-loader@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-4.1.0.tgz#3a763391bc9502da7c59612fe348e38fc1980336" - integrity sha512-ajDk1nlByoalZAGR4b0H6oD+EGlWnyW1qbSxzaUc7RFiqmn+RbXQQRbTc72jsiUIlVusJ4Et58ltds8ZwTfnAw== +file-loader@4.2.0, file-loader@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-4.2.0.tgz#5fb124d2369d7075d70a9a5abecd12e60a95215e" + integrity sha512-+xZnaK5R8kBJrHK0/6HRlrKNamvVS5rjyuju+rnyxRGuwUJwpAMsVzUl5dz6rK8brkzjV6JpcFNjp6NqV0g1OQ== dependencies: loader-utils "^1.2.3" schema-utils "^2.0.0" @@ -7738,15 +7467,10 @@ flat-cache@^2.0.1: rimraf "2.6.3" write "1.0.3" -flat-map-polyfill@^0.3.8: - version "0.3.8" - resolved "https://registry.yarnpkg.com/flat-map-polyfill/-/flat-map-polyfill-0.3.8.tgz#4ec0bfb7c70e2962f00db03548d3620471fd8697" - integrity sha512-ZfmD5MnU7GglUEhiky9C7yEPaNq1/wh36RDohe+Xr3nJVdccwHbdTkFIYvetcdsoAckUKT51fuf44g7Ni5Doyg== - flatted@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.0.tgz#55122b6536ea496b4b44893ee2608141d10d9916" - integrity sha512-R+H8IZclI8AAkSBRQJLVOsxwAoHd6WC40b4QTNWIjzAa6BXOBfQcM587MXDTVPeYaopFNWHUFLx7eNmHDSxMWg== + version "2.0.1" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.1.tgz#69e57caa8f0eacbc281d2e2cb458d46fdb449e08" + integrity sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg== flush-write-stream@^1.0.0: version "1.1.1" @@ -7762,11 +7486,11 @@ focus-lock@^0.6.3: integrity sha512-i/mVBOoa9o+tl+u9owOJUF8k8L85odZNIsctB+JAK2HFT8jckiBwmk+3uydlm6FN8czgnkIwQtBv6yyAbrzXjw== follow-redirects@^1.0.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.7.0.tgz#489ebc198dc0e7f64167bd23b03c4c19b5784c76" - integrity sha512-m/pZQy4Gj287eNy94nivy5wchN3Kp+Q5WgUPNy5lJSZ3sgkVKSYV/ZChMAQVIgx1SqfZ2zBZtPA2YlXIWxxJOQ== + version "1.8.1" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.8.1.tgz#24804f9eaab67160b0e840c085885d606371a35b" + integrity sha512-micCIbldHioIegeKs41DoH0KS3AXfFzgS30qVkM6z/XOE/GJgvmsoc839NUqa1B9udYe9dQxgv7KFwng6+p/dw== dependencies: - debug "^3.2.6" + debug "^3.0.0" for-in@^0.1.3: version "0.1.8" @@ -7790,10 +7514,10 @@ forever-agent@~0.6.1: resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= -fork-ts-checker-webpack-plugin@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.1.1.tgz#caf2a210778fb1e171b6993ca0a40f9b6589e3b7" - integrity sha512-gqWAEMLlae/oeVnN6RWCAhesOJMswAN1MaKNqhhjXHV5O0/rTUjWI4UbgQHdlrVbCnb+xLotXmJbBlC66QmpFw== +fork-ts-checker-webpack-plugin@1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.5.0.tgz#ce1d77190b44d81a761b10b6284a373795e41f0c" + integrity sha512-zEhg7Hz+KhZlBhILYpXy+Beu96gwvkROWJiTXOCyOOMMrdBIRPvsBpBqgTI4jfJGrJXcqGwJR8zsBGDmzY0jsA== dependencies: babel-code-frame "^6.22.0" chalk "^2.4.1" @@ -7874,7 +7598,7 @@ fs-extra@5.0.0: jsonfile "^4.0.0" universalify "^0.1.0" -fs-extra@8.1.0, fs-extra@^8.1.0: +fs-extra@8.1.0, fs-extra@^8.0.1, fs-extra@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== @@ -7894,15 +7618,6 @@ fs-extra@^0.30.0: path-is-absolute "^1.0.0" rimraf "^2.2.8" -fs-extra@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.0.1.tgz#90294081f978b1f182f347a440a209154344285b" - integrity sha512-W+XLrggcDzlle47X/XnS7FXrXu9sDo+Ze9zpndeBxdgv88FHLm1HtmkhEwavruS6koanBjp098rUpHs65EmG7A== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - fs-minipass@^1.2.5: version "1.2.6" resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.6.tgz#2c5cc30ded81282bfe8a0d7c7c1853ddeb102c07" @@ -7938,20 +7653,26 @@ function-bind@^1.0.2, function-bind@^1.1.1: resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== -function.prototype.name@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.0.tgz#8bd763cc0af860a859cc5d49384d74b932cd2327" - integrity sha512-Bs0VRrTz4ghD8pTmbJQD1mZ8A/mN0ur/jGz+A6FBxPDUPkm1tNfF6bhTYPA7i7aF4lZJVr+OXTNNrnnIl58Wfg== +function.prototype.name@^1.1.0, function.prototype.name@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.1.tgz#6d252350803085abc2ad423d4fe3be2f9cbda392" + integrity sha512-e1NzkiJuw6xqVH7YSdiW/qDHebcmMhPNe6w+4ZYYEg0VA+LaLzx37RimbPLuonHhYGFGPx1ME2nSi74JiaCr/Q== dependencies: - define-properties "^1.1.2" + define-properties "^1.1.3" function-bind "^1.1.1" - is-callable "^1.1.3" + functions-have-names "^1.1.1" + is-callable "^1.1.4" functional-red-black-tree@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= +functions-have-names@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.1.1.tgz#79d35927f07b8e7103d819fed475b64ccf7225ea" + integrity sha512-U0kNHUoxwPNPWOJaMG7Z00d4a/qZVrFtzWJRaK8V9goaVOCXBSQSJpt3MYGNtkScKEBKovxLjnNdC9MlXwo5Pw== + fuse.js@^3.4.4: version "3.4.5" resolved "https://registry.yarnpkg.com/fuse.js/-/fuse.js-3.4.5.tgz#8954fb43f9729bd5dbcb8c08f251db552595a7a6" @@ -7986,11 +7707,6 @@ get-caller-file@^2.0.1: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-own-enumerable-property-symbols@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-2.0.1.tgz#5c4ad87f2834c4b9b4e84549dc1e0650fb38c24b" - integrity sha512-TtY/sbOemiMKPRUDDanGCSgBYe7Mf0vbRsWnBZ+9yghpZ1MvcpSpuZFjHdEeY/LZjZy0vdLjS77L6HosisFiug== - get-own-enumerable-property-symbols@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.0.tgz#b877b49a5c16aefac3655f2ed2ea5b684df8d203" @@ -8089,13 +7805,13 @@ git-revision-webpack-plugin@^3.0.3: resolved "https://registry.yarnpkg.com/git-revision-webpack-plugin/-/git-revision-webpack-plugin-3.0.3.tgz#f909949d7851d1039ed530518f73f5d46594e66f" integrity sha512-B2ixM0fY7VgR61ZRSXYrh0R57Er7RY+CZb+fja5OFe21Y5o9GgzQanMgdlcBwWZ+LoOVqxBogbDutTTYMXQDWw== -git-semver-tags@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-2.0.2.tgz#f506ec07caade191ac0c8d5a21bdb8131b4934e3" - integrity sha512-34lMF7Yo1xEmsK2EkbArdoU79umpvm0MfzaDkSNYSJqtM5QLAVTPWgpiXSVI5o/O9EvZPSrP4Zvnec/CqhSd5w== +git-semver-tags@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-2.0.3.tgz#48988a718acf593800f99622a952a77c405bfa34" + integrity sha512-tj4FD4ww2RX2ae//jSrXZzrocla9db5h0V7ikPl1P/WwoZar9epdUhwR7XHXSgc+ZkNq72BEEerqQuicoEQfzA== dependencies: meow "^4.0.0" - semver "^5.5.0" + semver "^6.0.0" git-up@^4.0.0: version "4.0.1" @@ -8229,7 +7945,7 @@ globby@8.0.2: pify "^3.0.0" slash "^1.0.0" -globby@^10.0.0: +globby@^10.0.1: version "10.0.1" resolved "https://registry.yarnpkg.com/globby/-/globby-10.0.1.tgz#4782c34cb75dd683351335c5829cc3420e606b22" integrity sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A== @@ -8287,15 +8003,10 @@ good-listener@^1.2.2: dependencies: delegate "^3.1.2" -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9: - version "4.1.15" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" - integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA== - -graceful-fs@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.0.tgz#8d8fdc73977cb04104721cb53666c1ca64cd328b" - integrity sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg== +graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0, graceful-fs@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.2.tgz#6f0952605d0140c1cfdb138ed005775b92d67b02" + integrity sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q== growly@^1.3.0: version "1.3.0" @@ -8307,15 +8018,7 @@ gud@^1.0.0: resolved "https://registry.yarnpkg.com/gud/-/gud-1.0.0.tgz#a489581b17e6a70beca9abe3ae57de7a499852c0" integrity sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw== -gzip-size@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.0.0.tgz#a55ecd99222f4c48fd8c01c625ce3b349d0a0e80" - integrity sha512-5iI7omclyqrnWw4XbXAmGhPsABkSIDQonv2K0h61lybgofWa6iZyvrI3r2zsJH4P8Nb64fFVzlvfhs0g7BBxAA== - dependencies: - duplexer "^0.1.1" - pify "^3.0.0" - -gzip-size@^5.0.0: +gzip-size@5.1.1, gzip-size@^5.0.0: version "5.1.1" resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.1.1.tgz#cb9bee692f87c0612b232840a873904e4c135274" integrity sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA== @@ -8328,7 +8031,7 @@ handle-thing@^2.0.0: resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.0.tgz#0e039695ff50c93fc288557d696f3c1dc6776754" integrity sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ== -handlebars@^4.1.0, handlebars@^4.1.2: +handlebars@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.1.2.tgz#b6b37c1ced0306b221e094fc7aca3ec23b131b67" integrity sha512-nvfrjqvt9xQ8Z/w0ijewdD/vvWDTOweBUm96NTr66Wfvo1mJenBLwcYmPs3TIBP5ruzYGD7Hx/DaM9RmhroGPw== @@ -8428,17 +8131,6 @@ hash.js@^1.0.0, hash.js@^1.0.3: inherits "^2.0.3" minimalistic-assert "^1.0.1" -hast-util-from-parse5@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-5.0.1.tgz#7da8841d707dcf7be73715f7f3b14e021c4e469a" - integrity sha512-UfPzdl6fbxGAxqGYNThRUhRlDYY7sXu6XU9nQeX4fFZtV+IHbyEJtd+DUuwOqNV4z3K05E/1rIkoVr/JHmeWWA== - dependencies: - ccount "^1.0.3" - hastscript "^5.0.0" - property-information "^5.0.0" - web-namespaces "^1.1.2" - xtend "^4.0.1" - hast-util-parse-selector@^2.2.0: version "2.2.2" resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-2.2.2.tgz#66aabccb252c47d94975f50a281446955160380b" @@ -8454,7 +8146,7 @@ hastscript@^5.0.0: property-information "^5.0.1" space-separated-tokens "^1.0.0" -he@1.2.x, he@^1.1.1: +he@1.2.x, he@^1.1.1, he@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== @@ -8485,22 +8177,12 @@ hmac-drbg@^1.0.0: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.1" -hoek@5.x.x: - version "5.0.4" - resolved "https://registry.yarnpkg.com/hoek/-/hoek-5.0.4.tgz#0f7fa270a1cafeb364a4b2ddfaa33f864e4157da" - integrity sha512-Alr4ZQgoMlnere5FZJsIyfIjORBqZll5POhDsF4q64dPuJR6rNxXdDxtHSQq8OXRurhmx+PWYEE8bXRROY8h0w== - -hoek@6.x.x: - version "6.1.3" - resolved "https://registry.yarnpkg.com/hoek/-/hoek-6.1.3.tgz#73b7d33952e01fe27a38b0457294b79dd8da242c" - integrity sha512-YXXAAhmF9zpQbC7LEcREFtXfGq5K1fmd+4PHkBq8NUqmzW3G+Dq10bI/i0KucLRwss3YYFQ0fSfoxBZYiGUqtQ== - hoist-non-react-statics@^2.3.1: version "2.5.5" resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz#c5903cf409c0dfd908f388e619d86b9c1174cb47" integrity sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw== -hoist-non-react-statics@^3.0.1, hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.2.1, hoist-non-react-statics@^3.3.0: +hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.2.1, hoist-non-react-statics@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.0.tgz#b09178f0122184fb95acf525daaecb4d8f45958b" integrity sha512-0XsbTXxgiaCDYDIWFcwkmerZPSwywfUqYmwT4jzewKTQSWoE6FCMoUVOeBJWK3E/CrWbxRG3m5GzY4lnIwGRBA== @@ -8514,15 +8196,15 @@ homedir-polyfill@^1.0.1: dependencies: parse-passwd "^1.0.0" -hoopy@^0.1.2: +hoopy@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/hoopy/-/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d" integrity sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ== -hosted-git-info@^2.1.4, hosted-git-info@^2.6.0: - version "2.7.1" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047" - integrity sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w== +hosted-git-info@^2.1.4, hosted-git-info@^2.7.1: + version "2.8.4" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.4.tgz#44119abaf4bc64692a16ace34700fed9c03e2546" + integrity sha512-pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ== hpack.js@^2.1.6: version "2.1.6" @@ -8535,9 +8217,9 @@ hpack.js@^2.1.6: wbuf "^1.1.0" html-element-map@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/html-element-map/-/html-element-map-1.0.1.tgz#3c4fcb4874ebddfe4283b51c8994e7713782b592" - integrity sha512-BZSfdEm6n706/lBfXKWa4frZRZcT5k1cOusw95ijZsHlI+GdgY0v95h6IzO3iIDf2ROwq570YTwqNPqHcNMozw== + version "1.1.0" + resolved "https://registry.yarnpkg.com/html-element-map/-/html-element-map-1.1.0.tgz#e5aab9a834caf883b421f8bd9eaedcaac887d63c" + integrity sha512-iqiG3dTZmy+uUaTmHarTL+3/A2VW9ox/9uasKEZC+R/wAtUrTcRlXPSaPqsnWPfIu8wqn09jQNwMRqzL54jSYA== dependencies: array-filter "^1.0.0" @@ -8553,7 +8235,7 @@ html-entities@^1.2.0, html-entities@^1.2.1: resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f" integrity sha1-DfKTUfByEWNRXfueVUPl9u7VFi8= -html-minifier@^3.2.3, html-minifier@^3.5.20: +html-minifier@^3.2.3: version "3.5.21" resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.21.tgz#d0040e054730e354db008463593194015212d20c" integrity sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA== @@ -8566,14 +8248,26 @@ html-minifier@^3.2.3, html-minifier@^3.5.20: relateurl "0.2.x" uglify-js "3.4.x" +html-minifier@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-4.0.0.tgz#cca9aad8bce1175e02e17a8c33e46d8988889f56" + integrity sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig== + dependencies: + camel-case "^3.0.0" + clean-css "^4.2.1" + commander "^2.19.0" + he "^1.2.0" + param-case "^2.1.1" + relateurl "^0.2.7" + uglify-js "^3.5.1" + html-to-react@^1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/html-to-react/-/html-to-react-1.3.4.tgz#647b3a54fdec73a6461864b129fb0d1eec7d4589" - integrity sha512-/tWDdb/8Koi/QEP5YUY1653PcDpBnnMblXRhotnTuhFDjI1Fc6Wzox5d4sw73Xk5rM2OdM5np4AYjT/US/Wj7Q== + version "1.4.1" + resolved "https://registry.yarnpkg.com/html-to-react/-/html-to-react-1.4.1.tgz#64f67657c6335056866e334c097556f25894dd47" + integrity sha512-Ys2gGxF8LBF9bD8tbnsU0xgEDOTC3Sy81mtpIH/61hSqGE1l4QetnN1yv0oAK/PuvwABmiNS+ggqvuzo+GfoiA== dependencies: - domhandler "^2.4.2" - escape-string-regexp "^1.0.5" - htmlparser2 "^3.10.0" + domhandler "^3.0" + htmlparser2 "^4.0" lodash.camelcase "^4.3.0" ramda "^0.26" @@ -8591,18 +8285,18 @@ html-webpack-plugin@^3.2.0: util.promisify "1.0.0" html-webpack-plugin@^4.0.0-beta.2: - version "4.0.0-beta.5" - resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.0.0-beta.5.tgz#2c53083c1151bfec20479b1f8aaf0039e77b5513" - integrity sha512-y5l4lGxOW3pz3xBTFdfB9rnnrWRPVxlAhX6nrBYIcW+2k2zC3mSp/3DxlWVCMBfnO6UAnoF8OcFn0IMy6kaKAQ== + version "4.0.0-beta.8" + resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.0.0-beta.8.tgz#d9a8d4322d8cf310f1568f6f4f585a80df0ad378" + integrity sha512-n5S2hJi3/vioRvEDswZP2WFgZU8TUqFoYIrkg5dt+xDC4TigQEhIcl4Y81Qs2La/EqKWuJZP8+ikbHGVmzQ4Mg== dependencies: - html-minifier "^3.5.20" - loader-utils "^1.1.0" + html-minifier "^4.0.0" + loader-utils "^1.2.3" lodash "^4.17.11" pretty-error "^2.1.1" - tapable "^1.1.0" + tapable "^1.1.3" util.promisify "1.0.0" -htmlparser2@^3.10.0, htmlparser2@^3.3.0, htmlparser2@^3.9.1: +htmlparser2@^3.3.0, htmlparser2@^3.9.1: version "3.10.1" resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ== @@ -8614,6 +8308,16 @@ htmlparser2@^3.10.0, htmlparser2@^3.3.0, htmlparser2@^3.9.1: inherits "^2.0.1" readable-stream "^3.1.1" +htmlparser2@^4.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-4.0.0.tgz#6034658db65b7713a572a9ebf79f650832dceec8" + integrity sha512-cChwXn5Vam57fyXajDtPXL1wTYc8JtLbr2TN76FYu05itVVVealxLowe2B3IEznJG4p9HAYn/0tJaRlGuEglFQ== + dependencies: + domelementtype "^2.0.1" + domhandler "^3.0.0" + domutils "^2.0.0" + entities "^2.0.0" + http-cache-semantics@^3.8.1: version "3.8.1" resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz#39b0e16add9b605bf0a9ef3d9daaf4843b4cacd2" @@ -8703,11 +8407,11 @@ https-browserify@^1.0.0: integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= https-proxy-agent@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz#51552970fa04d723e04c56d04178c3f92592bbc0" - integrity sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ== + version "2.2.2" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.2.tgz#271ea8e90f836ac9f119daccd39c19ff7dfb0793" + integrity sha512-c8Ndjc9Bkpfx/vCJueCPy0jlP4ccCCSNDp8xwCZzPjKJUm+B+u9WX2x98Qx4n1PiMNTWo3D7KK5ifNV/yJyRzg== dependencies: - agent-base "^4.1.0" + agent-base "^4.3.0" debug "^3.1.0" humanize-ms@^1.2.1: @@ -8717,10 +8421,10 @@ humanize-ms@^1.2.1: dependencies: ms "^2.0.0" -husky@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/husky/-/husky-3.0.2.tgz#e78fd2ae16edca59fc88e56aeb8d70acdcc1c082" - integrity sha512-WXCtaME2x0o4PJlKY4ap8BzLA+D0zlvefqAvLCPriOOu+x0dpO5uc5tlB7CY6/0SE2EESmoZsj4jW5D09KrJoA== +husky@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/husky/-/husky-3.0.4.tgz#10a48ac11ab50859b0939750fa0b4e07ad0bf669" + integrity sha512-7Rnt8aJfy+MlV28snmYK7O7vWwtOfeVxV6KhLpUFXlmx5ukQ1nQmNUB7QsAwSgdySB5X+bm7q7JIRgazqBUzKA== dependencies: chalk "^2.4.2" cosmiconfig "^5.2.1" @@ -8729,7 +8433,7 @@ husky@^3.0.2: is-ci "^2.0.0" opencollective-postinstall "^2.0.2" pkg-dir "^4.2.0" - please-upgrade-node "^3.1.1" + please-upgrade-node "^3.2.0" read-pkg "^5.1.1" run-node "^1.0.0" slash "^3.0.0" @@ -8786,9 +8490,9 @@ ignore@^4.0.3, ignore@^4.0.6: integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== ignore@^5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.2.tgz#e28e584d43ad7e92f96995019cc43b9e1ac49558" - integrity sha512-vdqWBp7MyzdmHkkRWV5nY+PfGRbYbahfuvsBCh277tq+w9zyNi7h5CYJCK0kmzti9kU+O/cB7sE8HvKv6aXAKQ== + version "5.1.4" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.4.tgz#84b7b3dbe64552b6ef0eca99f6743dbec6d97adf" + integrity sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A== immer@1.10.0: version "1.10.0" @@ -8811,9 +8515,9 @@ import-fresh@^2.0.0: resolve-from "^3.0.0" import-fresh@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.0.0.tgz#a3d897f420cab0e671236897f75bc14b4885c390" - integrity sha512-pOnA9tfM3Uwics+SaBLCNyZZZbK+4PTu0OPZtLlMIrv17EdBoC15S9Kn8ckJ9TZTyKb3ywNE5y1yeDxxGA7nTQ== + version "3.1.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.1.0.tgz#6d33fa1dcef6df930fae003446f33415af905118" + integrity sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ== dependencies: parent-module "^1.0.0" resolve-from "^4.0.0" @@ -8845,7 +8549,7 @@ indent-string@^2.1.0: dependencies: repeating "^2.0.0" -indent-string@^3.0.0: +indent-string@^3.0.0, indent-string@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" integrity sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok= @@ -8855,7 +8559,7 @@ indexes-of@^1.0.1: resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= -infer-owner@^1.0.3: +infer-owner@^1.0.3, infer-owner@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== @@ -8902,26 +8606,7 @@ init-package-json@^1.10.3: validate-npm-package-license "^3.0.1" validate-npm-package-name "^3.0.0" -inquirer@6.2.2: - version "6.2.2" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.2.2.tgz#46941176f65c9eb20804627149b743a218f25406" - integrity sha512-Z2rREiXA6cHRR9KBOarR3WuLlFzlIfAEIiB45ll5SSadMg7WqOh1MKEjjndfuH5ewXdixWCxqnVfGOQzPeiztA== - dependencies: - ansi-escapes "^3.2.0" - chalk "^2.4.2" - cli-cursor "^2.1.0" - cli-width "^2.0.0" - external-editor "^3.0.3" - figures "^2.0.0" - lodash "^4.17.11" - mute-stream "0.0.7" - run-async "^2.2.0" - rxjs "^6.4.0" - string-width "^2.1.0" - strip-ansi "^5.0.0" - through "^2.3.6" - -inquirer@6.5.0, inquirer@^6.4.1: +inquirer@6.5.0: version "6.5.0" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.0.tgz#2303317efc9a4ea7ec2e2df6f86569b734accf42" integrity sha512-scfHejeG/lVZSpvCXpsB4j/wQNPM5JC8kiElOI0OUTwmc1RTpXr4H32/HOlQHcZiYl2z2VElwuCVDRG8vFmbnA== @@ -8940,10 +8625,10 @@ inquirer@6.5.0, inquirer@^6.4.1: strip-ansi "^5.1.0" through "^2.3.6" -inquirer@^6.2.0: - version "6.4.1" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.4.1.tgz#7bd9e5ab0567cd23b41b0180b68e0cfa82fc3c0b" - integrity sha512-/Jw+qPZx4EDYsaT6uz7F4GJRNFMRdKNeUZw3ZnKV8lyuUgz/YWRCSUAJMZSVhSq4Ec0R2oYnyi6b3d4JXcL5Nw== +inquirer@^6.2.0, inquirer@^6.4.1: + version "6.5.2" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.2.tgz#ad50942375d036d327ff528c08bd5fab089928ca" + integrity sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ== dependencies: ansi-escapes "^3.2.0" chalk "^2.4.2" @@ -8951,7 +8636,7 @@ inquirer@^6.2.0: cli-width "^2.0.0" external-editor "^3.0.3" figures "^2.0.0" - lodash "^4.17.11" + lodash "^4.17.12" mute-stream "0.0.7" run-async "^2.2.0" rxjs "^6.4.0" @@ -8994,11 +8679,21 @@ ip@^1.1.0, ip@^1.1.5: resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= -ipaddr.js@1.9.0, ipaddr.js@^1.9.0: +ipaddr.js@1.9.0: version "1.9.0" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.0.tgz#37df74e430a0e47550fe54a2defe30d8acd95f65" integrity sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA== +ipaddr.js@^1.9.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + +is-absolute-url@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.1.tgz#e315cbdcbbc3d6789532d591954ac78a0e5049f6" + integrity sha512-c2QjUwuMxLsld90sj3xYzpFYWJtuxkIn1f5ua9RTEYJt/vV2IsM+Py00/6qjV7qExgifUvt7qfyBGBBKm+2iBg== + is-accessor-descriptor@^0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" @@ -9026,6 +8721,11 @@ is-alphanumerical@^1.0.0: is-alphabetical "^1.0.0" is-decimal "^1.0.0" +is-arguments@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.0.4.tgz#3faf966c7cba0ff437fb31f6250082fcf0448cf3" + integrity sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA== + is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" @@ -9048,12 +8748,7 @@ is-buffer@^1.0.2, is-buffer@^1.1.4, is-buffer@^1.1.5: resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== -is-buffer@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.3.tgz#4ecf3fcf749cbd1e472689e109ac66261a25e725" - integrity sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw== - -is-callable@^1.1.3, is-callable@^1.1.4: +is-callable@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== @@ -9239,10 +8934,10 @@ is-observable@^1.1.0: dependencies: symbol-observable "^1.1.0" -is-path-cwd@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.1.0.tgz#2e0c7e463ff5b7a0eb60852d851a6809347a124c" - integrity sha512-Sc5j3/YnM8tDeyCsVeKlm/0p95075DyLmDEIkSgQ7mXkrOX+uTCtmQFm0CYzVyJwcCCmO3k8qfJt17SxQwB5Zw== +is-path-cwd@^2.0.0, is-path-cwd@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" + integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== is-path-in-cwd@^2.0.0: version "2.1.0" @@ -9265,25 +8960,30 @@ is-path-inside@^2.1.0: dependencies: path-is-inside "^1.0.2" +is-path-inside@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.1.tgz#7417049ed551d053ab82bba3fdd6baa6b3a81e89" + integrity sha512-CKstxrctq1kUesU6WhtZDbYKzzYBuRH0UYInAVrkc/EYdB9ltbfE0gOoayG9nhohG6447sOOVGhHqsdmBvkbNg== + is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= -is-plain-object@2.0.4, is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - -is-plain-object@^3.0.0: +is-plain-object@3.0.0, is-plain-object@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-3.0.0.tgz#47bfc5da1b5d50d64110806c199359482e75a928" integrity sha512-tZIpofR+P05k8Aocp7UI/2UTa9lTJSebCXpFFoR9aibpokDj/uXBsJ8luUu0tTVYKkMU6URDUuOfJZ7koewXvg== dependencies: isobject "^4.0.0" +is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + is-promise@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" @@ -9301,10 +9001,10 @@ is-regexp@^1.0.0: resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= -is-root@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.0.0.tgz#838d1e82318144e5a6f77819d90207645acc7019" - integrity sha512-F/pJIk8QD6OX5DNhRB7hWamLsUilmkDGho48KbgZ6xg/lmAZXHxzXQ91jzB3yRSw5kdQGGGc4yz8HYhTYIMWPg== +is-root@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c" + integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg== is-ssh@^1.3.0: version "1.3.1" @@ -9357,10 +9057,10 @@ is-utf8@^0.2.0, is-utf8@^0.2.1: resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= -is-what@^3.2.3: - version "3.2.3" - resolved "https://registry.yarnpkg.com/is-what/-/is-what-3.2.3.tgz#50f76f1bd8e56967e15765d1d34302513701997b" - integrity sha512-c4syLgFnjXTH5qd82Fp/qtUIeM0wA69xbI0KH1QpurMIvDaZFrS8UtAa4U52Dc2qSznaMxHit0gErMp6A/Qk1w== +is-what@^3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/is-what/-/is-what-3.3.1.tgz#79502181f40226e2d8c09226999db90ef7c1bcbe" + integrity sha512-seFn10yAXy+yJlTRO+8VfiafC+0QJanGLMPTBWLrJm/QPauuchy0UXh8B6H5o9VA8BAzk0iYievt6mNp6gfaqA== is-whitespace-character@^1.0.0: version "1.0.3" @@ -9397,13 +9097,6 @@ isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= -isemail@3.x.x: - version "3.2.0" - resolved "https://registry.yarnpkg.com/isemail/-/isemail-3.2.0.tgz#59310a021931a9fb06bbb51e155ce0b3f236832c" - integrity sha512-zKqkK+O+dGqevc93KNsbZ/TqTUFd46MwWjYOoMrjIMZ51eU7DtQG3Wmd9SQQT7i7RVnuTPEiYEWHU3MSbxC1Tg== - dependencies: - punycode "2.x.x" - isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" @@ -9477,316 +9170,318 @@ istanbul-lib-source-maps@^3.0.1: rimraf "^2.6.3" source-map "^0.6.1" -istanbul-reports@^2.1.1: +istanbul-reports@^2.2.6: version "2.2.6" resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.2.6.tgz#7b4f2660d82b29303a8fe6091f8ca4bf058da1af" integrity sha512-SKi4rnMyLBKe0Jy2uUdx28h8oG7ph2PPuQPvIAh31d+Ci+lSiEu4C+h3oBPuJ9+mPKhOyW0M8gY4U5NM1WLeXA== dependencies: handlebars "^4.1.2" -jest-changed-files@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-24.8.0.tgz#7e7eb21cf687587a85e50f3d249d1327e15b157b" - integrity sha512-qgANC1Yrivsq+UrLXsvJefBKVoCsKB0Hv+mBb6NMjjZ90wwxCDmU3hsCXBya30cH+LnPYjwgcU65i6yJ5Nfuug== +jest-changed-files@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-24.9.0.tgz#08d8c15eb79a7fa3fc98269bc14b451ee82f8039" + integrity sha512-6aTWpe2mHF0DhL28WjdkO8LyGjs3zItPET4bMSeXU6T3ub4FPMw+mcOcbdGXQOAfmLcxofD23/5Bl9Z4AkFwqg== dependencies: - "@jest/types" "^24.8.0" + "@jest/types" "^24.9.0" execa "^1.0.0" throat "^4.0.0" -jest-cli@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-24.8.0.tgz#b075ac914492ed114fa338ade7362a301693e989" - integrity sha512-+p6J00jSMPQ116ZLlHJJvdf8wbjNbZdeSX9ptfHX06/MSNaXmKihQzx5vQcw0q2G6JsdVkUIdWbOWtSnaYs3yA== +jest-cli@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-24.9.0.tgz#ad2de62d07472d419c6abc301fc432b98b10d2af" + integrity sha512-+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg== dependencies: - "@jest/core" "^24.8.0" - "@jest/test-result" "^24.8.0" - "@jest/types" "^24.8.0" + "@jest/core" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" chalk "^2.0.1" exit "^0.1.2" import-local "^2.0.0" is-ci "^2.0.0" - jest-config "^24.8.0" - jest-util "^24.8.0" - jest-validate "^24.8.0" + jest-config "^24.9.0" + jest-util "^24.9.0" + jest-validate "^24.9.0" prompts "^2.0.1" realpath-native "^1.1.0" - yargs "^12.0.2" + yargs "^13.3.0" -jest-config@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-24.8.0.tgz#77db3d265a6f726294687cbbccc36f8a76ee0f4f" - integrity sha512-Czl3Nn2uEzVGsOeaewGWoDPD8GStxCpAe0zOYs2x2l0fZAgPbCr3uwUkgNKV3LwE13VXythM946cd5rdGkkBZw== +jest-config@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-24.9.0.tgz#fb1bbc60c73a46af03590719efa4825e6e4dd1b5" + integrity sha512-RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ== dependencies: "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^24.8.0" - "@jest/types" "^24.8.0" - babel-jest "^24.8.0" + "@jest/test-sequencer" "^24.9.0" + "@jest/types" "^24.9.0" + babel-jest "^24.9.0" chalk "^2.0.1" glob "^7.1.1" - jest-environment-jsdom "^24.8.0" - jest-environment-node "^24.8.0" - jest-get-type "^24.8.0" - jest-jasmine2 "^24.8.0" + jest-environment-jsdom "^24.9.0" + jest-environment-node "^24.9.0" + jest-get-type "^24.9.0" + jest-jasmine2 "^24.9.0" jest-regex-util "^24.3.0" - jest-resolve "^24.8.0" - jest-util "^24.8.0" - jest-validate "^24.8.0" + jest-resolve "^24.9.0" + jest-util "^24.9.0" + jest-validate "^24.9.0" micromatch "^3.1.10" - pretty-format "^24.8.0" + pretty-format "^24.9.0" realpath-native "^1.1.0" -jest-diff@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.8.0.tgz#146435e7d1e3ffdf293d53ff97e193f1d1546172" - integrity sha512-wxetCEl49zUpJ/bvUmIFjd/o52J+yWcoc5ZyPq4/W1LUKGEhRYDIbP1KcF6t+PvqNrGAFk4/JhtxDq/Nnzs66g== +jest-diff@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.9.0.tgz#931b7d0d5778a1baf7452cb816e325e3724055da" + integrity sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ== dependencies: chalk "^2.0.1" - diff-sequences "^24.3.0" - jest-get-type "^24.8.0" - pretty-format "^24.8.0" + diff-sequences "^24.9.0" + jest-get-type "^24.9.0" + pretty-format "^24.9.0" jest-docblock@^24.3.0: - version "24.3.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-24.3.0.tgz#b9c32dac70f72e4464520d2ba4aec02ab14db5dd" - integrity sha512-nlANmF9Yq1dufhFlKG9rasfQlrY7wINJbo3q01tu56Jv5eBU5jirylhF2O5ZBnLxzOVBGRDz/9NAwNyBtG4Nyg== + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-24.9.0.tgz#7970201802ba560e1c4092cc25cbedf5af5a8ce2" + integrity sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA== dependencies: detect-newline "^2.1.0" -jest-each@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-24.8.0.tgz#a05fd2bf94ddc0b1da66c6d13ec2457f35e52775" - integrity sha512-NrwK9gaL5+XgrgoCsd9svsoWdVkK4gnvyhcpzd6m487tXHqIdYeykgq3MKI1u4I+5Zf0tofr70at9dWJDeb+BA== +jest-each@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-24.9.0.tgz#eb2da602e2a610898dbc5f1f6df3ba86b55f8b05" + integrity sha512-ONi0R4BvW45cw8s2Lrx8YgbeXL1oCQ/wIDwmsM3CqM/nlblNCPmnC3IPQlMbRFZu3wKdQ2U8BqM6lh3LJ5Bsog== dependencies: - "@jest/types" "^24.8.0" + "@jest/types" "^24.9.0" chalk "^2.0.1" - jest-get-type "^24.8.0" - jest-util "^24.8.0" - pretty-format "^24.8.0" - -jest-environment-jsdom@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-24.8.0.tgz#300f6949a146cabe1c9357ad9e9ecf9f43f38857" - integrity sha512-qbvgLmR7PpwjoFjM/sbuqHJt/NCkviuq9vus9NBn/76hhSidO+Z6Bn9tU8friecegbJL8gzZQEMZBQlFWDCwAQ== - dependencies: - "@jest/environment" "^24.8.0" - "@jest/fake-timers" "^24.8.0" - "@jest/types" "^24.8.0" - jest-mock "^24.8.0" - jest-util "^24.8.0" + jest-get-type "^24.9.0" + jest-util "^24.9.0" + pretty-format "^24.9.0" + +jest-environment-jsdom@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz#4b0806c7fc94f95edb369a69cc2778eec2b7375b" + integrity sha512-Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA== + dependencies: + "@jest/environment" "^24.9.0" + "@jest/fake-timers" "^24.9.0" + "@jest/types" "^24.9.0" + jest-mock "^24.9.0" + jest-util "^24.9.0" jsdom "^11.5.1" -jest-environment-node@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-24.8.0.tgz#d3f726ba8bc53087a60e7a84ca08883a4c892231" - integrity sha512-vIGUEScd1cdDgR6sqn2M08sJTRLQp6Dk/eIkCeO4PFHxZMOgy+uYLPMC4ix3PEfM5Au/x3uQ/5Tl0DpXXZsJ/Q== +jest-environment-node@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-24.9.0.tgz#333d2d2796f9687f2aeebf0742b519f33c1cbfd3" + integrity sha512-6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA== dependencies: - "@jest/environment" "^24.8.0" - "@jest/fake-timers" "^24.8.0" - "@jest/types" "^24.8.0" - jest-mock "^24.8.0" - jest-util "^24.8.0" + "@jest/environment" "^24.9.0" + "@jest/fake-timers" "^24.9.0" + "@jest/types" "^24.9.0" + jest-mock "^24.9.0" + jest-util "^24.9.0" -jest-get-type@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.8.0.tgz#a7440de30b651f5a70ea3ed7ff073a32dfe646fc" - integrity sha512-RR4fo8jEmMD9zSz2nLbs2j0zvPpk/KCEz3a62jJWbd2ayNo0cb+KFRxPHVhE4ZmgGJEQp0fosmNz84IfqM8cMQ== +jest-get-type@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.9.0.tgz#1684a0c8a50f2e4901b6644ae861f579eed2ef0e" + integrity sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q== -jest-haste-map@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.8.0.tgz#51794182d877b3ddfd6e6d23920e3fe72f305800" - integrity sha512-ZBPRGHdPt1rHajWelXdqygIDpJx8u3xOoLyUBWRW28r3tagrgoepPrzAozW7kW9HrQfhvmiv1tncsxqHJO1onQ== +jest-haste-map@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.9.0.tgz#b38a5d64274934e21fa417ae9a9fbeb77ceaac7d" + integrity sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ== dependencies: - "@jest/types" "^24.8.0" + "@jest/types" "^24.9.0" anymatch "^2.0.0" fb-watchman "^2.0.0" graceful-fs "^4.1.15" invariant "^2.2.4" - jest-serializer "^24.4.0" - jest-util "^24.8.0" - jest-worker "^24.6.0" + jest-serializer "^24.9.0" + jest-util "^24.9.0" + jest-worker "^24.9.0" micromatch "^3.1.10" sane "^4.0.3" walker "^1.0.7" optionalDependencies: fsevents "^1.2.7" -jest-jasmine2@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-24.8.0.tgz#a9c7e14c83dd77d8b15e820549ce8987cc8cd898" - integrity sha512-cEky88npEE5LKd5jPpTdDCLvKkdyklnaRycBXL6GNmpxe41F0WN44+i7lpQKa/hcbXaQ+rc9RMaM4dsebrYong== +jest-jasmine2@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz#1f7b1bd3242c1774e62acabb3646d96afc3be6a0" + integrity sha512-Cq7vkAgaYKp+PsX+2/JbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07/qFO0AdKTzw== dependencies: "@babel/traverse" "^7.1.0" - "@jest/environment" "^24.8.0" - "@jest/test-result" "^24.8.0" - "@jest/types" "^24.8.0" + "@jest/environment" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" chalk "^2.0.1" co "^4.6.0" - expect "^24.8.0" + expect "^24.9.0" is-generator-fn "^2.0.0" - jest-each "^24.8.0" - jest-matcher-utils "^24.8.0" - jest-message-util "^24.8.0" - jest-runtime "^24.8.0" - jest-snapshot "^24.8.0" - jest-util "^24.8.0" - pretty-format "^24.8.0" + jest-each "^24.9.0" + jest-matcher-utils "^24.9.0" + jest-message-util "^24.9.0" + jest-runtime "^24.9.0" + jest-snapshot "^24.9.0" + jest-util "^24.9.0" + pretty-format "^24.9.0" throat "^4.0.0" -jest-leak-detector@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-24.8.0.tgz#c0086384e1f650c2d8348095df769f29b48e6980" - integrity sha512-cG0yRSK8A831LN8lIHxI3AblB40uhv0z+SsQdW3GoMMVcK+sJwrIIyax5tu3eHHNJ8Fu6IMDpnLda2jhn2pD/g== +jest-leak-detector@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz#b665dea7c77100c5c4f7dfcb153b65cf07dcf96a" + integrity sha512-tYkFIDsiKTGwb2FG1w8hX9V0aUb2ot8zY/2nFg087dUageonw1zrLMP4W6zsRO59dPkTSKie+D4rhMuP9nRmrA== dependencies: - pretty-format "^24.8.0" + jest-get-type "^24.9.0" + pretty-format "^24.9.0" -jest-matcher-utils@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-24.8.0.tgz#2bce42204c9af12bde46f83dc839efe8be832495" - integrity sha512-lex1yASY51FvUuHgm0GOVj7DCYEouWSlIYmCW7APSqB9v8mXmKSn5+sWVF0MhuASG0bnYY106/49JU1FZNl5hw== +jest-matcher-utils@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz#f5b3661d5e628dffe6dd65251dfdae0e87c3a073" + integrity sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA== dependencies: chalk "^2.0.1" - jest-diff "^24.8.0" - jest-get-type "^24.8.0" - pretty-format "^24.8.0" + jest-diff "^24.9.0" + jest-get-type "^24.9.0" + pretty-format "^24.9.0" -jest-message-util@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-24.8.0.tgz#0d6891e72a4beacc0292b638685df42e28d6218b" - integrity sha512-p2k71rf/b6ns8btdB0uVdljWo9h0ovpnEe05ZKWceQGfXYr4KkzgKo3PBi8wdnd9OtNh46VpNIJynUn/3MKm1g== +jest-message-util@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-24.9.0.tgz#527f54a1e380f5e202a8d1149b0ec872f43119e3" + integrity sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw== dependencies: "@babel/code-frame" "^7.0.0" - "@jest/test-result" "^24.8.0" - "@jest/types" "^24.8.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" "@types/stack-utils" "^1.0.1" chalk "^2.0.1" micromatch "^3.1.10" slash "^2.0.0" stack-utils "^1.0.1" -jest-mock@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.8.0.tgz#2f9d14d37699e863f1febf4e4d5a33b7fdbbde56" - integrity sha512-6kWugwjGjJw+ZkK4mDa0Df3sDlUTsV47MSrT0nGQ0RBWJbpODDQ8MHDVtGtUYBne3IwZUhtB7elxHspU79WH3A== +jest-mock@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.9.0.tgz#c22835541ee379b908673ad51087a2185c13f1c6" + integrity sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w== dependencies: - "@jest/types" "^24.8.0" + "@jest/types" "^24.9.0" jest-pnp-resolver@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz#ecdae604c077a7fbc70defb6d517c3c1c898923a" integrity sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ== -jest-regex-util@^24.3.0: - version "24.3.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.3.0.tgz#d5a65f60be1ae3e310d5214a0307581995227b36" - integrity sha512-tXQR1NEOyGlfylyEjg1ImtScwMq8Oh3iJbGTjN7p0J23EuVX1MA8rwU69K4sLbCmwzgCUbVkm0FkSF9TdzOhtg== +jest-regex-util@^24.3.0, jest-regex-util@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.9.0.tgz#c13fb3380bde22bf6575432c493ea8fe37965636" + integrity sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA== -jest-resolve-dependencies@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-24.8.0.tgz#19eec3241f2045d3f990dba331d0d7526acff8e0" - integrity sha512-hyK1qfIf/krV+fSNyhyJeq3elVMhK9Eijlwy+j5jqmZ9QsxwKBiP6qukQxaHtK8k6zql/KYWwCTQ+fDGTIJauw== +jest-resolve-dependencies@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz#ad055198959c4cfba8a4f066c673a3f0786507ab" + integrity sha512-Fm7b6AlWnYhT0BXy4hXpactHIqER7erNgIsIozDXWl5dVm+k8XdGVe1oTg1JyaFnOxarMEbax3wyRJqGP2Pq+g== dependencies: - "@jest/types" "^24.8.0" + "@jest/types" "^24.9.0" jest-regex-util "^24.3.0" - jest-snapshot "^24.8.0" + jest-snapshot "^24.9.0" -jest-resolve@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-24.8.0.tgz#84b8e5408c1f6a11539793e2b5feb1b6e722439f" - integrity sha512-+hjSzi1PoRvnuOICoYd5V/KpIQmkAsfjFO71458hQ2Whi/yf1GDeBOFj8Gxw4LrApHsVJvn5fmjcPdmoUHaVKw== +jest-resolve@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-24.9.0.tgz#dff04c7687af34c4dd7e524892d9cf77e5d17321" + integrity sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ== dependencies: - "@jest/types" "^24.8.0" + "@jest/types" "^24.9.0" browser-resolve "^1.11.3" chalk "^2.0.1" jest-pnp-resolver "^1.2.1" realpath-native "^1.1.0" -jest-runner@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-24.8.0.tgz#4f9ae07b767db27b740d7deffad0cf67ccb4c5bb" - integrity sha512-utFqC5BaA3JmznbissSs95X1ZF+d+4WuOWwpM9+Ak356YtMhHE/GXUondZdcyAAOTBEsRGAgH/0TwLzfI9h7ow== +jest-runner@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-24.9.0.tgz#574fafdbd54455c2b34b4bdf4365a23857fcdf42" + integrity sha512-KksJQyI3/0mhcfspnxxEOBueGrd5E4vV7ADQLT9ESaCzz02WnbdbKWIf5Mkaucoaj7obQckYPVX6JJhgUcoWWg== dependencies: "@jest/console" "^24.7.1" - "@jest/environment" "^24.8.0" - "@jest/test-result" "^24.8.0" - "@jest/types" "^24.8.0" + "@jest/environment" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" chalk "^2.4.2" exit "^0.1.2" graceful-fs "^4.1.15" - jest-config "^24.8.0" + jest-config "^24.9.0" jest-docblock "^24.3.0" - jest-haste-map "^24.8.0" - jest-jasmine2 "^24.8.0" - jest-leak-detector "^24.8.0" - jest-message-util "^24.8.0" - jest-resolve "^24.8.0" - jest-runtime "^24.8.0" - jest-util "^24.8.0" + jest-haste-map "^24.9.0" + jest-jasmine2 "^24.9.0" + jest-leak-detector "^24.9.0" + jest-message-util "^24.9.0" + jest-resolve "^24.9.0" + jest-runtime "^24.9.0" + jest-util "^24.9.0" jest-worker "^24.6.0" source-map-support "^0.5.6" throat "^4.0.0" -jest-runtime@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-24.8.0.tgz#05f94d5b05c21f6dc54e427cd2e4980923350620" - integrity sha512-Mq0aIXhvO/3bX44ccT+czU1/57IgOMyy80oM0XR/nyD5zgBcesF84BPabZi39pJVA6UXw+fY2Q1N+4BiVUBWOA== +jest-runtime@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-24.9.0.tgz#9f14583af6a4f7314a6a9d9f0226e1a781c8e4ac" + integrity sha512-8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub/lM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw== dependencies: "@jest/console" "^24.7.1" - "@jest/environment" "^24.8.0" + "@jest/environment" "^24.9.0" "@jest/source-map" "^24.3.0" - "@jest/transform" "^24.8.0" - "@jest/types" "^24.8.0" - "@types/yargs" "^12.0.2" + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/yargs" "^13.0.0" chalk "^2.0.1" exit "^0.1.2" glob "^7.1.3" graceful-fs "^4.1.15" - jest-config "^24.8.0" - jest-haste-map "^24.8.0" - jest-message-util "^24.8.0" - jest-mock "^24.8.0" + jest-config "^24.9.0" + jest-haste-map "^24.9.0" + jest-message-util "^24.9.0" + jest-mock "^24.9.0" jest-regex-util "^24.3.0" - jest-resolve "^24.8.0" - jest-snapshot "^24.8.0" - jest-util "^24.8.0" - jest-validate "^24.8.0" + jest-resolve "^24.9.0" + jest-snapshot "^24.9.0" + jest-util "^24.9.0" + jest-validate "^24.9.0" realpath-native "^1.1.0" slash "^2.0.0" strip-bom "^3.0.0" - yargs "^12.0.2" + yargs "^13.3.0" -jest-serializer@^24.4.0: - version "24.4.0" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-24.4.0.tgz#f70c5918c8ea9235ccb1276d232e459080588db3" - integrity sha512-k//0DtglVstc1fv+GY/VHDIjrtNjdYvYjMlbLUed4kxrE92sIUewOi5Hj3vrpB8CXfkJntRPDRjCrCvUhBdL8Q== +jest-serializer@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-24.9.0.tgz#e6d7d7ef96d31e8b9079a714754c5d5c58288e73" + integrity sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ== -jest-snapshot@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-24.8.0.tgz#3bec6a59da2ff7bc7d097a853fb67f9d415cb7c6" - integrity sha512-5ehtWoc8oU9/cAPe6fez6QofVJLBKyqkY2+TlKTOf0VllBB/mqUNdARdcjlZrs9F1Cv+/HKoCS/BknT0+tmfPg== +jest-snapshot@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-24.9.0.tgz#ec8e9ca4f2ec0c5c87ae8f925cf97497b0e951ba" + integrity sha512-uI/rszGSs73xCM0l+up7O7a40o90cnrk429LOiK3aeTvfC0HHmldbd81/B7Ix81KSFe1lwkbl7GnBGG4UfuDew== dependencies: "@babel/types" "^7.0.0" - "@jest/types" "^24.8.0" + "@jest/types" "^24.9.0" chalk "^2.0.1" - expect "^24.8.0" - jest-diff "^24.8.0" - jest-matcher-utils "^24.8.0" - jest-message-util "^24.8.0" - jest-resolve "^24.8.0" + expect "^24.9.0" + jest-diff "^24.9.0" + jest-get-type "^24.9.0" + jest-matcher-utils "^24.9.0" + jest-message-util "^24.9.0" + jest-resolve "^24.9.0" mkdirp "^0.5.1" natural-compare "^1.4.0" - pretty-format "^24.8.0" - semver "^5.5.0" + pretty-format "^24.9.0" + semver "^6.2.0" -jest-util@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-24.8.0.tgz#41f0e945da11df44cc76d64ffb915d0716f46cd1" - integrity sha512-DYZeE+XyAnbNt0BG1OQqKy/4GVLPtzwGx5tsnDrFcax36rVE3lTA5fbvgmbVPUZf9w77AJ8otqR4VBbfFJkUZA== +jest-util@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-24.9.0.tgz#7396814e48536d2e85a37de3e4c431d7cb140162" + integrity sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg== dependencies: - "@jest/console" "^24.7.1" - "@jest/fake-timers" "^24.8.0" - "@jest/source-map" "^24.3.0" - "@jest/test-result" "^24.8.0" - "@jest/types" "^24.8.0" + "@jest/console" "^24.9.0" + "@jest/fake-timers" "^24.9.0" + "@jest/source-map" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" callsites "^3.0.0" chalk "^2.0.1" graceful-fs "^4.1.15" @@ -9795,60 +9490,51 @@ jest-util@^24.8.0: slash "^2.0.0" source-map "^0.6.0" -jest-validate@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-24.8.0.tgz#624c41533e6dfe356ffadc6e2423a35c2d3b4849" - integrity sha512-+/N7VOEMW1Vzsrk3UWBDYTExTPwf68tavEPKDnJzrC6UlHtUDU/fuEdXqFoHzv9XnQ+zW6X3qMZhJ3YexfeLDA== +jest-validate@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-24.9.0.tgz#0775c55360d173cd854e40180756d4ff52def8ab" + integrity sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ== dependencies: - "@jest/types" "^24.8.0" - camelcase "^5.0.0" + "@jest/types" "^24.9.0" + camelcase "^5.3.1" chalk "^2.0.1" - jest-get-type "^24.8.0" - leven "^2.1.0" - pretty-format "^24.8.0" - -jest-watcher@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-24.8.0.tgz#58d49915ceddd2de85e238f6213cef1c93715de4" - integrity sha512-SBjwHt5NedQoVu54M5GEx7cl7IGEFFznvd/HNT8ier7cCAx/Qgu9ZMlaTQkvK22G1YOpcWBLQPFSImmxdn3DAw== - dependencies: - "@jest/test-result" "^24.8.0" - "@jest/types" "^24.8.0" - "@types/yargs" "^12.0.9" + jest-get-type "^24.9.0" + leven "^3.1.0" + pretty-format "^24.9.0" + +jest-watcher@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-24.9.0.tgz#4b56e5d1ceff005f5b88e528dc9afc8dd4ed2b3b" + integrity sha512-+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw== + dependencies: + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/yargs" "^13.0.0" ansi-escapes "^3.0.0" chalk "^2.0.1" - jest-util "^24.8.0" + jest-util "^24.9.0" string-length "^2.0.0" -jest-worker@^24.6.0: - version "24.6.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.6.0.tgz#7f81ceae34b7cde0c9827a6980c35b7cdc0161b3" - integrity sha512-jDwgW5W9qGNvpI1tNnvajh0a5IE/PuGLFmHk6aR/BZFz8tSgGw17GsDPXAJ6p91IvYDjOw8GpFbvvZGAK+DPQQ== +jest-worker@^24.6.0, jest-worker@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" + integrity sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw== dependencies: - merge-stream "^1.0.1" + merge-stream "^2.0.0" supports-color "^6.1.0" -jest@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest/-/jest-24.8.0.tgz#d5dff1984d0d1002196e9b7f12f75af1b2809081" - integrity sha512-o0HM90RKFRNWmAWvlyV8i5jGZ97pFwkeVoGvPW1EtLTgJc2+jcuqcbbqcSZLE/3f2S5pt0y2ZBETuhpWNl1Reg== +jest@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest/-/jest-24.9.0.tgz#987d290c05a08b52c56188c1002e368edb007171" + integrity sha512-YvkBL1Zm7d2B1+h5fHEOdyjCG+sGMz4f8D86/0HiqJ6MB4MnDc8FgP5vdWsGnemOQro7lnYo8UakZ3+5A0jxGw== dependencies: import-local "^2.0.0" - jest-cli "^24.8.0" - -joi@^13.0.0: - version "13.7.0" - resolved "https://registry.yarnpkg.com/joi/-/joi-13.7.0.tgz#cfd85ebfe67e8a1900432400b4d03bbd93fb879f" - integrity sha512-xuY5VkHfeOYK3Hdi91ulocfuFopwgbSORmIwzcwHKESQhC7w1kD5jaVSPnqDxS2I8t3RZ9omCKAxNwXN5zG1/Q== - dependencies: - hoek "5.x.x" - isemail "3.x.x" - topo "3.x.x" + jest-cli "^24.9.0" js-cookie@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/js-cookie/-/js-cookie-2.2.0.tgz#1b2c279a6eece380a12168b92485265b35b1effb" - integrity sha1-Gywnmm7s44ChIWi5JIUmWzWx7/s= + version "2.2.1" + resolved "https://registry.yarnpkg.com/js-cookie/-/js-cookie-2.2.1.tgz#69e106dc5d5806894562902aa5baec3744e9b2b8" + integrity sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ== js-levenshtein@^1.1.3: version "1.1.6" @@ -10040,69 +9726,69 @@ jsprim@^1.2.2: json-schema "0.2.3" verror "1.10.0" -jss-plugin-camel-case@10.0.0-alpha.23: - version "10.0.0-alpha.23" - resolved "https://registry.yarnpkg.com/jss-plugin-camel-case/-/jss-plugin-camel-case-10.0.0-alpha.23.tgz#c4fe7c6f537acfbe617788464a69d89b1e9f10c3" - integrity sha512-QaXi/t4Efx0BhwbVf6GCcpn/IDAP9cK/GJoWBoAIVM9BAj7RXBU0UifFojRbeDGDtpf5djDWCOMviydYiWYYWg== +jss-plugin-camel-case@10.0.0-alpha.24: + version "10.0.0-alpha.24" + resolved "https://registry.yarnpkg.com/jss-plugin-camel-case/-/jss-plugin-camel-case-10.0.0-alpha.24.tgz#579a48989d2628ee8baaa006449b1b82d32ee27e" + integrity sha512-cRYLbGl6oO9wdGXp3hn+xqc8pw8bjaui25dDYuEeEsRZMh5/OKl3ByYxDT3PLKgFqouy5Xo+YmLGVH8l+nnEdQ== dependencies: "@babel/runtime" "^7.3.1" hyphenate-style-name "^1.0.3" - jss "10.0.0-alpha.23" + jss "10.0.0-alpha.24" -jss-plugin-default-unit@10.0.0-alpha.23: - version "10.0.0-alpha.23" - resolved "https://registry.yarnpkg.com/jss-plugin-default-unit/-/jss-plugin-default-unit-10.0.0-alpha.23.tgz#826b8d9e7d35af86331279acd9c2d3647aaf0365" - integrity sha512-XE4CcrQMF2rI6TL+/bJUDVlmgIqOax8uCPLZxZnqUFTbH0cM9f66OhRIe51yECfAb1nAiHalZtkUv2kfycLVjQ== +jss-plugin-default-unit@10.0.0-alpha.24: + version "10.0.0-alpha.24" + resolved "https://registry.yarnpkg.com/jss-plugin-default-unit/-/jss-plugin-default-unit-10.0.0-alpha.24.tgz#3e6e24e8ec7aaa950c8975f1645ea861b8aa338e" + integrity sha512-1E1XlJqJ/9I1lR5EO/tA75U1LIIicKvW6xZEKLxAP8NC/rUjI+yBQBTBJn61LOpua51e7fgW8me46Z+iuXiC4A== dependencies: "@babel/runtime" "^7.3.1" - jss "10.0.0-alpha.23" + jss "10.0.0-alpha.24" -jss-plugin-global@10.0.0-alpha.23: - version "10.0.0-alpha.23" - resolved "https://registry.yarnpkg.com/jss-plugin-global/-/jss-plugin-global-10.0.0-alpha.23.tgz#b8343c313c31e4a55310a446b1ffe3f83b5dc5af" - integrity sha512-uaoO4yp24dtvKiMd8fLzy2Of3rDSzA9e1y8mHw4vNDTPDSF39pYfpAxxnGnvRadsAVlZGgj4Ro+LveLz8ZUHgw== +jss-plugin-global@10.0.0-alpha.24: + version "10.0.0-alpha.24" + resolved "https://registry.yarnpkg.com/jss-plugin-global/-/jss-plugin-global-10.0.0-alpha.24.tgz#a53e2028d0cb073661e8213f2e622fef9ef4b1fa" + integrity sha512-3LoxrZloF4tvXrS5S7enV9OhtaxXsEP3BQdiE76vI/ecCmgNDZNpnPd8MG20ptn2iAOsoMGfoMX20Ea1IKl/Mg== dependencies: "@babel/runtime" "^7.3.1" - jss "10.0.0-alpha.23" + jss "10.0.0-alpha.24" -jss-plugin-nested@10.0.0-alpha.23: - version "10.0.0-alpha.23" - resolved "https://registry.yarnpkg.com/jss-plugin-nested/-/jss-plugin-nested-10.0.0-alpha.23.tgz#43735395cabc7252398ffa9efa3c7234aea15f06" - integrity sha512-xHoBBUz9U8INvizthl0k9u79z+ObzY0HvzPy7+BKxySQzHSTLG40iRYizJo7Antq7uH8i8uI/5RgS/7dy+YVSQ== +jss-plugin-nested@10.0.0-alpha.24: + version "10.0.0-alpha.24" + resolved "https://registry.yarnpkg.com/jss-plugin-nested/-/jss-plugin-nested-10.0.0-alpha.24.tgz#f1b4a0bd1050e29d627c9bc2dc0f424c35f0aa44" + integrity sha512-BWU6NaRZTVSJc7N+3FeHacdkFOjCMThouoRQPCWVxeT0nmAVlVGwgYzChcI+vzncx+UaRQC0x+01FYhVQ2xAFA== dependencies: "@babel/runtime" "^7.3.1" - jss "10.0.0-alpha.23" + jss "10.0.0-alpha.24" tiny-warning "^1.0.2" -jss-plugin-props-sort@10.0.0-alpha.23: - version "10.0.0-alpha.23" - resolved "https://registry.yarnpkg.com/jss-plugin-props-sort/-/jss-plugin-props-sort-10.0.0-alpha.23.tgz#8955d6f37c923e1193a9a2cbcba13a85d2428e8c" - integrity sha512-/h6epoQ/ta61e6rG3/Pq47qPlg9YX5t2rSKJBLzaASEe/KfxjVvnbJKC8tE27lG6TjwbeWpKONuJfZxjWKLnDg== +jss-plugin-props-sort@10.0.0-alpha.24: + version "10.0.0-alpha.24" + resolved "https://registry.yarnpkg.com/jss-plugin-props-sort/-/jss-plugin-props-sort-10.0.0-alpha.24.tgz#e309e286004b6e059c373efaa308b8742e22ec16" + integrity sha512-TB4RpXwnGSEE58rN2RRzcWqhIaz0oAS1UBg10mk1fuLpkKyHEJWuuZXzgGih23Ivl/8LDVzTF+QRY5JagMUUGg== dependencies: "@babel/runtime" "^7.3.1" - jss "10.0.0-alpha.23" + jss "10.0.0-alpha.24" -jss-plugin-rule-value-function@10.0.0-alpha.23: - version "10.0.0-alpha.23" - resolved "https://registry.yarnpkg.com/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.0.0-alpha.23.tgz#3dab866811005761cbae06a2bc2bc0b1c99f3fb4" - integrity sha512-N0g7x6RzeEj+GI5303JOUTyo5x7/F+0SRJv3R0lAUSS782mZipcvpFzHlEz3q5g+0t/bhbOLT6i0RYAhN3IW7g== +jss-plugin-rule-value-function@10.0.0-alpha.24: + version "10.0.0-alpha.24" + resolved "https://registry.yarnpkg.com/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.0.0-alpha.24.tgz#85bfd5f994647cb4bf2237d18232421ea362665c" + integrity sha512-uFw4tf8PN48bdv4ZcDjG3OzKPIFZ4gpCC1cWO/dyexYfFIubX3bnQUbK4B0wPNe9LJU4KQo8s4F42B8B1ADTrA== dependencies: "@babel/runtime" "^7.3.1" - jss "10.0.0-alpha.23" + jss "10.0.0-alpha.24" -jss-plugin-vendor-prefixer@10.0.0-alpha.23: - version "10.0.0-alpha.23" - resolved "https://registry.yarnpkg.com/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.0.0-alpha.23.tgz#93a8026f260666c679074590fd4191862fabb64d" - integrity sha512-WtTXR+H1tGGhmEP3kqDawxnV1tbXboxtJ93A1O9p+7OLseafIaQoPkMPKEh5a+P4jzETIqmQoJJoG5KmT/Tgsg== +jss-plugin-vendor-prefixer@10.0.0-alpha.24: + version "10.0.0-alpha.24" + resolved "https://registry.yarnpkg.com/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.0.0-alpha.24.tgz#c4c2c28667d3c7c0d9a01ca1f7a2f74367d1ceef" + integrity sha512-hffKj0kSSvZsXs6RYEylpBlEGjryMzU1lsWqC5vQAT/Xb3tDe60BbEarEOFLBGv7EfyajXkuRwlXAQocV5ejCg== dependencies: "@babel/runtime" "^7.3.1" css-vendor "^2.0.5" - jss "10.0.0-alpha.23" + jss "10.0.0-alpha.24" -jss@10.0.0-alpha.23: - version "10.0.0-alpha.23" - resolved "https://registry.yarnpkg.com/jss/-/jss-10.0.0-alpha.23.tgz#8a866cc49513b1558b1a2c0504a4b592079c0ff8" - integrity sha512-r3fg6nrNdqxhaE4s3ZkyEmpVTb2UUmSu0uhKrvfSAy+N45MmlLmhgyFFaUyJOvFJzm69XYXM2Q62VhGccV6qMA== +jss@10.0.0-alpha.24: + version "10.0.0-alpha.24" + resolved "https://registry.yarnpkg.com/jss/-/jss-10.0.0-alpha.24.tgz#f8e2044b6b2f034db05a685d99c599095baf8b61" + integrity sha512-kfuSitcj7MTrDtSPLkrWcZppgZlTE3A+cqrkC+Z10WYROt0RXIWINAaK8tE2ohwkDfUlaM1YcRYvV3iT6YNFTA== dependencies: "@babel/runtime" "^7.3.1" csstype "^2.6.5" @@ -10110,9 +9796,9 @@ jss@10.0.0-alpha.23: tiny-warning "^1.0.2" jsx-ast-utils@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.2.0.tgz#e2bade6d09c8ef9d5f6b9ff2ace67b2cdbc7e370" - integrity sha512-yAmhGSzR7TsD0OQpu1AGLz8Bx84cxMqtgoJrufomY6BlveEDlREhvu1rea21936xbe5tlUh7IPda82m5ae0H8Q== + version "2.2.1" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.2.1.tgz#4d4973ebf8b9d2837ee91a8208cc66f3a2776cfb" + integrity sha512-v3FxCcAf20DayI+uxnCuw795+oOIkVu6EnJ1+kSzhqqTZHNkTZ7B66ZgLp4oLJ/gbA64cI0B7WRoHZMSRdyVRQ== dependencies: array-includes "^3.0.3" object.assign "^4.1.0" @@ -10160,7 +9846,7 @@ klaw@^1.0.0: optionalDependencies: graceful-fs "^4.1.9" -kleur@^3.0.2: +kleur@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== @@ -10181,11 +9867,11 @@ lazy-cache@^1.0.3: integrity sha1-odePw6UEdMuAhF07O24dpJpEbo4= lazy-universal-dotenv@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lazy-universal-dotenv/-/lazy-universal-dotenv-3.0.0.tgz#e71f07f89d8de6bbf491478e4503df3c96729b8d" - integrity sha512-Mbf5AeGOs74lE5BdQXHFJ7Rt383jxnWKNfW2EWL0Pibnhea5JRStRIiUpdTenyMxCGuCjlMpYQhhay1XZBSSQA== + version "3.0.1" + resolved "https://registry.yarnpkg.com/lazy-universal-dotenv/-/lazy-universal-dotenv-3.0.1.tgz#a6c8938414bca426ab8c9463940da451a911db38" + integrity sha512-prXSYk799h3GY3iOWnC6ZigYzMPjxN2svgjJ9shk7oMadSNX3wXy0B6F32PMJv7qtMnrIbUxoEHzbutvxR2LBQ== dependencies: - "@babel/runtime" "^7.0.0" + "@babel/runtime" "^7.5.0" app-root-dir "^1.0.2" core-js "^3.0.4" dotenv "^8.0.0" @@ -10226,10 +9912,10 @@ lerna@^3.16.4: import-local "^2.0.0" npmlog "^4.1.2" -leven@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580" - integrity sha1-wuep93IJTe6dNCAq6KzORoeHVYA= +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== levn@^0.3.0, levn@~0.3.0: version "0.3.0" @@ -10239,10 +9925,15 @@ levn@^0.3.0, levn@~0.3.0: prelude-ls "~1.1.2" type-check "~0.3.2" -lint-staged@^9.2.1: - version "9.2.1" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-9.2.1.tgz#57fc5947611604d5a32e478734a13f3e4687f646" - integrity sha512-3lGgJfBddCy/WndKdNko+uJbwyYjBD1k+V+SA+phBYWzH265S95KQya/Wln/UL+hOjc7NcjtFYVCUWuAcqYHhg== +lines-and-columns@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" + integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= + +lint-staged@^9.2.3: + version "9.2.5" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-9.2.5.tgz#5a3e1e0a539a403bd7f88542bc3d34ce52efdbb3" + integrity sha512-d99gTBFMJ29159+9iRvaMEQstmNcPAbQbhHSYw6D/1FncvFdIj8lWHztaq3Uq+tbZPABHXQ/fyN7Rp1QwF8HIw== dependencies: chalk "^2.4.2" commander "^2.20.0" @@ -10254,6 +9945,7 @@ lint-staged@^9.2.1: listr "^0.14.3" log-symbols "^3.0.0" micromatch "^4.0.2" + normalize-path "^3.0.0" please-upgrade-node "^3.1.1" string-argv "^0.3.0" stringify-object "^3.3.0" @@ -10390,7 +10082,7 @@ load-json-file@^5.3.0: strip-bom "^3.0.0" type-fest "^0.3.0" -loader-runner@^2.3.0, loader-runner@^2.3.1: +loader-runner@^2.3.1, loader-runner@^2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== @@ -10438,11 +10130,11 @@ locate-path@^5.0.0: p-locate "^4.1.0" lodash-es@^4.17.11, lodash-es@^4.2.1: - version "4.17.11" - resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.11.tgz#145ab4a7ac5c5e52a3531fb4f310255a152b4be0" - integrity sha512-DHb1ub+rMjjrxqlB3H56/6MXtm1lSksDp2rA2cNWjG8mlDUYFhUj3Di2Zn5IwSU87xLv8tNIQ7sSwE/YOX/D/Q== + version "4.17.15" + resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.15.tgz#21bd96839354412f23d7a10340e5eac6ee455d78" + integrity sha512-rlrc3yU3+JNOpZ9zj5pQtxnx2THmvRykwL4Xlxoa8I9lHBlVbbyPhgyPMioxVZ4NqyxaVVtaJnzsyOidQIhyyQ== -lodash._reinterpolate@^3.0.0, lodash._reinterpolate@~3.0.0: +lodash._reinterpolate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= @@ -10517,25 +10209,12 @@ lodash.set@^4.3.2: resolved "https://registry.yarnpkg.com/lodash.set/-/lodash.set-4.3.2.tgz#d8757b1da807dde24816b0d6a84bea1a76230b23" integrity sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM= -lodash.some@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.some/-/lodash.some-4.6.0.tgz#1bb9f314ef6b8baded13b549169b2a945eb68e4d" - integrity sha1-G7nzFO9ri63tE7VJFpsqlF62jk0= - lodash.sortby@^4.7.0: version "4.7.0" resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= -lodash.template@^4.0.2: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.4.0.tgz#e73a0385c8355591746e020b99679c690e68fba0" - integrity sha1-5zoDhcg1VZF0bgILmWecaQ5o+6A= - dependencies: - lodash._reinterpolate "~3.0.0" - lodash.templatesettings "^4.0.0" - -lodash.template@^4.5.0: +lodash.template@^4.0.2, lodash.template@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab" integrity sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A== @@ -10544,11 +10223,11 @@ lodash.template@^4.5.0: lodash.templatesettings "^4.0.0" lodash.templatesettings@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz#2b4d4e95ba440d915ff08bc899e4553666713316" - integrity sha1-K01OlbpEDZFf8IvImeRVNmZxMxY= + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz#e481310f049d3cf6d47e912ad09313b154f0fb33" + integrity sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ== dependencies: - lodash._reinterpolate "~3.0.0" + lodash._reinterpolate "^3.0.0" lodash.throttle@^4.1.1: version "4.1.1" @@ -10570,16 +10249,11 @@ lodash@4.17.14: resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.14.tgz#9ce487ae66c96254fe20b599f21b6816028078ba" integrity sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw== -lodash@4.17.15, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15: +lodash@4.17.15, lodash@^4.0.1, lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.1: version "4.17.15" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== -lodash@^4.0.1, lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.1: - version "4.17.11" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" - integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== - log-symbols@2.2.0, log-symbols@^2.1.0: version "2.2.0" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" @@ -10785,17 +10459,17 @@ markdown-escapes@^1.0.0: integrity sha512-XUi5HJhhV5R74k8/0H2oCbCiYf/u4cO/rX8tnGkRvrqhsr5BRNU6Mg0yt/8UIx1iIS8220BNJsDb7XnILhLepw== markdown-to-jsx@^6.9.1, markdown-to-jsx@^6.9.3: - version "6.10.2" - resolved "https://registry.yarnpkg.com/markdown-to-jsx/-/markdown-to-jsx-6.10.2.tgz#644f602b81d088f10aef1c3674874876146cf38b" - integrity sha512-eDCsRobOkbQ4PqCphrxNi/U8geA8DGf52dMP4BrrYsVFyQ2ILFnXIB5sRcIxnRK2nPl8k5hUYdRNRXLlQNYLYg== + version "6.10.3" + resolved "https://registry.yarnpkg.com/markdown-to-jsx/-/markdown-to-jsx-6.10.3.tgz#7f0946684acd321125ff2de7fd258a9b9c7c40b7" + integrity sha512-PSoUyLnW/xoW6RsxZrquSSz5eGEOTwa15H5eqp3enmrp8esmgDJmhzd6zmQ9tgAA9TxJzx1Hmf3incYU/IamoQ== dependencies: prop-types "^15.6.2" unquote "^1.1.0" marked@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/marked/-/marked-0.6.2.tgz#c574be8b545a8b48641456ca1dbe0e37b6dccc1a" - integrity sha512-LqxwVH3P/rqKX4EKGz7+c2G9r98WeM/SW34ybhgNGhUQNKtf1GmmSkJ6cDGJ/t6tiyae49qRkpyTw2B9HOrgUA== + version "0.6.3" + resolved "https://registry.yarnpkg.com/marked/-/marked-0.6.3.tgz#79babad78af638ba4d522a9e715cdfdd2429e946" + integrity sha512-Fqa7eq+UaxfMriqzYLayfqAE40WN03jf+zHjT18/uXNuzjq3TY0XTbrAoPeqSJrAmPz11VuUA+kBPYOhHt9oOQ== marksy@^7.0.0: version "7.0.1" @@ -10846,6 +10520,11 @@ mdast-add-list-metadata@1.0.1: dependencies: unist-util-visit-parents "1.1.2" +mdn-data@2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" + integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== + mdn-data@~1.1.0: version "1.1.4" resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-1.1.4.tgz#50b5d4ffc4575276573c4eedb8780812a8419f01" @@ -10866,9 +10545,9 @@ mem@^4.0.0: p-is-promise "^2.0.0" memoize-one@^5.0.0: - version "5.0.4" - resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.0.4.tgz#005928aced5c43d890a4dfab18ca908b0ec92cbc" - integrity sha512-P0z5IeAH6qHHGkJIXWw0xC2HNEgkx/9uWWBQw64FJj3/ol14VYdfVGWWr0fXfjhhv3TKVIqUq65os6O4GUNksA== + version "5.1.1" + resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.1.1.tgz#047b6e3199b508eaec03504de71229b8eb1d75c0" + integrity sha512-HKeeBpWvqiVJD57ZUAsJNm71eHTykffzcLZVYWiVfQeI1rJtuEaS7hQiEpWfVVk18donPwJEcFKIkCmPJNOhHA== memoizerific@^1.11.3: version "1.11.3" @@ -10877,7 +10556,7 @@ memoizerific@^1.11.3: dependencies: map-or-similar "^1.5.0" -memory-fs@^0.4.0, memory-fs@^0.4.1, memory-fs@~0.4.1: +memory-fs@^0.4.0, memory-fs@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= @@ -10917,11 +10596,11 @@ meow@^4.0.0: trim-newlines "^2.0.0" merge-anything@^2.2.4: - version "2.2.5" - resolved "https://registry.yarnpkg.com/merge-anything/-/merge-anything-2.2.5.tgz#37ef13f36359ee64f09c657d2cef45f7e29493f9" - integrity sha512-WgZGR7EQ1D8pyh57uKBbkPhUCJZLGdMzbDaxL4MDTJSGsvtpGdm8myr6DDtgJwT46xiFBlHqxbveDRpFBWlKWQ== + version "2.4.1" + resolved "https://registry.yarnpkg.com/merge-anything/-/merge-anything-2.4.1.tgz#e9bccaec1e49ec6cb5f77ca78c5770d1a35315e6" + integrity sha512-dYOIAl9GFCJNctSIHWOj9OJtarCjsD16P8ObCl6oxrujAG+kOvlwJuOD9/O9iYZ9aTi1RGpGTG9q9etIvuUikQ== dependencies: - is-what "^3.2.3" + is-what "^3.3.1" merge-deep@^3.0.2: version "3.0.2" @@ -10937,22 +10616,15 @@ merge-descriptors@1.0.1: resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= -merge-stream@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1" - integrity sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE= - dependencies: - readable-stream "^2.0.1" - merge-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== merge2@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.2.3.tgz#7ee99dbd69bb6481689253f018488a1b902b0ed5" - integrity sha512-gdUU1Fwj5ep4kplwcmftruWofEFt6lfpkkr3h860CXbAB9c3hGb55EOL2ali0Td5oebvW0E1+3Sr+Ur7XfKpRA== + version "1.2.4" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.2.4.tgz#c9269589e6885a60cf80605d9522d4b67ca646e3" + integrity sha512-FYE8xI+6pjFOhokZu0We3S5NKCirLbCzSh2Usf3qEyr4X8U+0jNg9P8RZ4qz+V2UoECLVwSyzU3LxXBaLGtD3A== merge@^1.2.1: version "1.2.1" @@ -10969,7 +10641,7 @@ microevent.ts@~0.1.1: resolved "https://registry.yarnpkg.com/microevent.ts/-/microevent.ts-0.1.1.tgz#70b09b83f43df5172d0205a63025bce0f7357fa0" integrity sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g== -micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8, micromatch@^3.1.9: +micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.9: version "3.1.10" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== @@ -11103,9 +10775,9 @@ minimist@~0.0.1: integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8= minipass@^2.2.1, minipass@^2.3.5: - version "2.3.5" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.5.tgz#cacebe492022497f656b0f0f51e2682a9ed2d848" - integrity sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA== + version "2.4.0" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.4.0.tgz#38f0af94f42fb6f34d3d7d82a90e2c99cd3ff485" + integrity sha512-6PmOuSP4NnZXzs2z6rbwzLJu/c5gdzYg1mRI/WIYdx45iiX7T+a4esOzavD6V/KmBzAaopFSTZPZcUx73bqKWA== dependencies: safe-buffer "^5.1.2" yallist "^3.0.0" @@ -11156,7 +10828,7 @@ mkdirp-promise@^5.0.1: dependencies: mkdirp "*" -mkdirp@*, mkdirp@0.5.1, mkdirp@0.5.x, mkdirp@0.x, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1: +mkdirp@*, mkdirp@0.5.1, mkdirp@0.5.x, mkdirp@0.x, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= @@ -11287,9 +10959,9 @@ natural-compare@^1.4.0: integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= nearley@^2.7.10: - version "2.16.0" - resolved "https://registry.yarnpkg.com/nearley/-/nearley-2.16.0.tgz#77c297d041941d268290ec84b739d0ee297e83a7" - integrity sha512-Tr9XD3Vt/EujXbZBv6UAHYoLUSMQAxSsTnm9K3koXzjzNWY195NqALeyrzLZBKzAkL3gl92BcSogqrHjD8QuUg== + version "2.18.0" + resolved "https://registry.yarnpkg.com/nearley/-/nearley-2.18.0.tgz#a9193612dd6d528a2e47e743b1dc694cfe105223" + integrity sha512-/zQOMCeJcioI0xJtd5RpBiWw2WP7wLe6vq8/3Yu0rEwgus/G/+pViX80oA87JdVgjRt2895mZSv2VfZmy4W1uw== dependencies: commander "^2.19.0" moo "^0.4.3" @@ -11311,7 +10983,7 @@ negotiator@0.6.2: resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== -neo-async@^2.5.0, neo-async@^2.6.0: +neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== @@ -11394,7 +11066,7 @@ node-int64@^0.4.0: resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= -node-libs-browser@^2.0.0: +node-libs-browser@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== @@ -11428,10 +11100,10 @@ node-modules-regexp@^1.0.0: resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= -node-notifier@^5.2.1: - version "5.4.0" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.4.0.tgz#7b455fdce9f7de0c63538297354f3db468426e6a" - integrity sha512-SUDEb+o71XR5lXSTyivXd9J7fCloE3SyP4lSgt3lU2oSANiox+SxlNRGPjDKrwU1YN3ix2KN/VGGCg0t01rttQ== +node-notifier@^5.4.2: + version "5.4.3" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.4.3.tgz#cb72daf94c93904098e28b9c590fd866e464bd50" + integrity sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q== dependencies: growly "^1.3.0" is-wsl "^1.1.0" @@ -11455,17 +11127,10 @@ node-pre-gyp@^0.12.0: semver "^5.3.0" tar "^4" -node-releases@^1.1.13, node-releases@^1.1.21, node-releases@^1.1.23: - version "1.1.23" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.23.tgz#de7409f72de044a2fa59c097f436ba89c39997f0" - integrity sha512-uq1iL79YjfYC0WXoHbC/z28q/9pOl8kSHaXdWmAAc8No+bDwqkZbzIJz55g/MUsPgSGm9LZ7QSUbzTcH5tz47w== - dependencies: - semver "^5.3.0" - node-releases@^1.1.25: - version "1.1.26" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.26.tgz#f30563edc5c7dc20cf524cc8652ffa7be0762937" - integrity sha512-fZPsuhhUHMTlfkhDLGtfY80DSJTjOcx+qD1j5pqPkuhUHVS7xHZIg9EE4DHK8O3f0zTxXHX5VIkDG8pu98/wfQ== + version "1.1.28" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.28.tgz#503c3c70d0e4732b84e7aaa2925fbdde10482d4a" + integrity sha512-AQw4emh6iSXnCpDiFe0phYcThiccmkNWMZnFZ+lDJjAP8J0m2fVd59duvUUyuTirQOhIAajTFkzG6FHCLBO59g== dependencies: semver "^5.3.0" @@ -11544,9 +11209,9 @@ npm-bundled@^1.0.1: integrity sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g== npm-lifecycle@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/npm-lifecycle/-/npm-lifecycle-3.1.2.tgz#06f2253ea3b9e122ce3e55e3496670a810afcc84" - integrity sha512-nhfOcoTHrW1lJJlM2o77vTE2RWR4YOVyj7YzmY0y5itsMjEuoJHteio/ez0BliENEPsNxIUQgwhyEW9dShj3Ww== + version "3.1.3" + resolved "https://registry.yarnpkg.com/npm-lifecycle/-/npm-lifecycle-3.1.3.tgz#09e9b0b6686e85fd53bab82364386222d97a3730" + integrity sha512-M0QmmqbEHBXxDrmc6X3+eKjW9+F7Edg1ENau92WkYw1sox6wojHzEZJIRm1ItljEiaigZlKL8mXni/4ylAy1Dg== dependencies: byline "^5.0.0" graceful-fs "^4.1.15" @@ -11558,24 +11223,16 @@ npm-lifecycle@^3.1.2: which "^1.3.1" "npm-package-arg@^4.0.0 || ^5.0.0 || ^6.0.0", npm-package-arg@^6.0.0, npm-package-arg@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-6.1.0.tgz#15ae1e2758a5027efb4c250554b85a737db7fcc1" - integrity sha512-zYbhP2k9DbJhA0Z3HKUePUgdB1x7MfIfKssC+WLPFMKTBZKpZh5m13PgexJjCq6KW7j17r0jHWcCpxEqnnncSA== + version "6.1.1" + resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-6.1.1.tgz#02168cb0a49a2b75bf988a28698de7b529df5cb7" + integrity sha512-qBpssaL3IOZWi5vEKUKW0cO7kzLeT+EQO9W8RsLOZf76KF9E/K9+wH0C7t06HXPpaH8WH5xF1MExLuCwbTqRUg== dependencies: - hosted-git-info "^2.6.0" + hosted-git-info "^2.7.1" osenv "^0.1.5" - semver "^5.5.0" + semver "^5.6.0" validate-npm-package-name "^3.0.0" -npm-packlist@^1.1.6: - version "1.4.1" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.1.tgz#19064cdf988da80ea3cee45533879d90192bbfbc" - integrity sha512-+TcdO7HJJ8peiiYhvPxsEDhF3PJFGUGRcFsGve3vxvxdcpO2Z4Z7rkosRM0kWj6LfbK/P0gu3dzk5RU1ffvFcw== - dependencies: - ignore-walk "^3.0.1" - npm-bundled "^1.0.1" - -npm-packlist@^1.4.4: +npm-packlist@^1.1.6, npm-packlist@^1.4.4: version "1.4.4" resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.4.tgz#866224233850ac534b63d1a6e76050092b5d2f44" integrity sha512-zTLo8UcVYtDU3gdeaFu2Xu0n0EvelfHDGuqtNIn5RO7yQj4H1TqNdBc/yZjxnWA0PVB8D3Woyp0i5B43JwQ6Vw== @@ -11583,10 +11240,10 @@ npm-packlist@^1.4.4: ignore-walk "^3.0.1" npm-bundled "^1.0.1" -npm-pick-manifest@^2.2.3: - version "2.2.3" - resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-2.2.3.tgz#32111d2a9562638bb2c8f2bf27f7f3092c8fae40" - integrity sha512-+IluBC5K201+gRU85vFlUwX3PFShZAbAgDNp2ewJdWMVSppdo/Zih0ul2Ecky/X7b51J7LrrUAP+XOmOCvYZqA== +npm-pick-manifest@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-3.0.0.tgz#c94cab52d201a85875e45198fffe1a8a348e7af7" + integrity sha512-H+OnFudiq38Qj8P8xcesD/1Xa0Kvr2QRn1DTlephIwNfJg3P30Szc1wtpGEgdPXfAyKZKT2ajIM2X8YtCrbXrA== dependencies: figgy-pudding "^3.5.1" npm-package-arg "^6.0.0" @@ -11672,7 +11329,7 @@ object-is@^1.0.1: resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.0.1.tgz#0aa60ec9989a0b3ed795cf4d06f62cf1ad6539b6" integrity sha1-CqYOyZiaCz7Xlc9NBvYs8a1lObY= -object-keys@^1.0.11, object-keys@^1.0.12: +object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== @@ -11792,10 +11449,10 @@ onetime@^5.1.0: dependencies: mimic-fn "^2.1.0" -open@^6.1.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/open/-/open-6.3.0.tgz#60d0b845ee38fae0631f5d739a21bd40e3d2a527" - integrity sha512-6AHdrJxPvAXIowO/aIaeHZ8CeMdDf7qCyRNq8NwJpinmCdXhz+NZR7ie1Too94lpciCDsG+qHGO9Mt0svA4OqA== +open@^6.1.0, open@^6.3.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/open/-/open-6.4.0.tgz#5c13e96d0dc894686164f18965ecfe889ecfc8a9" + integrity sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg== dependencies: is-wsl "^1.1.0" @@ -11809,13 +11466,6 @@ opener@^1.5.1: resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.1.tgz#6d2f0e77f1a0af0032aca716c2c1fbb8e7e8abed" integrity sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA== -opn@5.4.0: - version "5.4.0" - resolved "https://registry.yarnpkg.com/opn/-/opn-5.4.0.tgz#cb545e7aab78562beb11aa3bfabc7042e1761035" - integrity sha512-YF9MNdVy/0qvJvDtunAOzFw9iasOQHpVthTCvGzxt61Il64AYSGdK+rYwld7NAfk9qJ7dt+hymBNSc9LNYS+Sw== - dependencies: - is-wsl "^1.1.0" - opn@^5.5.0: version "5.5.0" resolved "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc" @@ -11935,9 +11585,9 @@ p-limit@^1.1.0: p-try "^1.0.0" p-limit@^2.0.0, p-limit@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.0.tgz#417c9941e6027a9abcba5092dd2904e255b5fbc2" - integrity sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ== + version "2.2.1" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.1.tgz#aa07a788cc3151c939b5131f63570f0dd2009537" + integrity sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg== dependencies: p-try "^2.0.0" @@ -11979,6 +11629,13 @@ p-map@^2.0.0, p-map@^2.1.0: resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== +p-map@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d" + integrity sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ== + dependencies: + aggregate-error "^3.0.0" + p-pipe@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/p-pipe/-/p-pipe-1.2.0.tgz#4b1a11399a11520a67790ee5a0c1d5881d6befe9" @@ -12034,7 +11691,7 @@ parallel-transform@^1.1.0: inherits "^2.0.3" readable-stream "^2.1.5" -param-case@2.1.x: +param-case@2.1.x, param-case@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" integrity sha1-35T9jPZTHs915r75oIWPvHK+Ikc= @@ -12097,6 +11754,16 @@ parse-json@^4.0.0: error-ex "^1.3.1" json-parse-better-errors "^1.0.1" +parse-json@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.0.0.tgz#73e5114c986d143efa3712d4ea24db9a4266f60f" + integrity sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + lines-and-columns "^1.1.6" + parse-passwd@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" @@ -12125,7 +11792,7 @@ parse5@4.0.0, parse5@^4.0.0: resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" integrity sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA== -parse5@5.1.0, parse5@^5.0.0: +parse5@5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2" integrity sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ== @@ -12339,10 +12006,10 @@ pkg-up@2.0.0: dependencies: find-up "^2.1.0" -please-upgrade-node@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.1.1.tgz#ed320051dfcc5024fae696712c8288993595e8ac" - integrity sha512-KY1uHnQ2NlQHqIJQpnh/i54rKkuxCEBx+voJIS/Mvb+L2iYd2NMotwduhKTMjfC1uKoX3VXOxLjIYG66dfJTVQ== +please-upgrade-node@^3.1.1, please-upgrade-node@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942" + integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg== dependencies: semver-compare "^1.0.0" @@ -12370,10 +12037,10 @@ popper.js@^1.14.1, popper.js@^1.14.4, popper.js@^1.14.7: resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.15.0.tgz#5560b99bbad7647e9faa475c6b8056621f5a4ff2" integrity sha512-w010cY1oCUmI+9KwwlWki+r5jxKfTFDVoadl7MSrIujHU5MJ5OR6HTDj6Xo8aoR/QsA56x8jKjA59qGH4ELtrA== -portfinder@^1.0.20: - version "1.0.20" - resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.20.tgz#bea68632e54b2e13ab7b0c4775e9b41bf270e44a" - integrity sha512-Yxe4mTyDzTd59PZJY4ojZR8F+E5e97iq2ZOHPz3HDgSvYC5siNad2tLooQ5y5QHyQhc3xVqvyk/eNA3wuoa7Sw== +portfinder@^1.0.21: + version "1.0.23" + resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.23.tgz#894db4bcc5daf02b6614517ce89cd21a38226b82" + integrity sha512-B729mL/uLklxtxuiJKfQ84WPxNw5a7Yhx3geQZdcA4GjNjZSTSSMMWyoennMVnTWSmAR0lMdzWYN0JLnHrg1KQ== dependencies: async "^1.5.2" debug "^2.2.0" @@ -12474,9 +12141,9 @@ postcss-value-parser@^3.3.0, postcss-value-parser@^3.3.1: integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== postcss-value-parser@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.0.0.tgz#99a983d365f7b2ad8d0f9b8c3094926eab4b936d" - integrity sha512-ESPktioptiSUchCKgggAkzdmkgzKfmp0EU8jXH+5kbIUB+unr0Y4CY9SRMvibuvYUBjNh1ACLbxqYNpdTQOteQ== + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz#482282c09a42706d1fc9a069b73f44ec08391dc9" + integrity sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ== postcss@^7.0.0, postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.17, postcss@^7.0.5, postcss@^7.0.6: version "7.0.17" @@ -12522,12 +12189,12 @@ pretty-error@^2.0.2, pretty-error@^2.1.1: renderkid "^2.0.1" utila "~0.4" -pretty-format@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-24.8.0.tgz#8dae7044f58db7cb8be245383b565a963e3c27f2" - integrity sha512-P952T7dkrDEplsR+TuY7q3VXDae5Sr7zmQb12JU/NDQa/3CH7/QW0yvqLcGN6jL+zQFKaoJcPc+yJxMTGmosqw== +pretty-format@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-24.9.0.tgz#12fac31b37019a4eea3c11aa9a959eb7628aa7c9" + integrity sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA== dependencies: - "@jest/types" "^24.8.0" + "@jest/types" "^24.9.0" ansi-regex "^4.0.0" ansi-styles "^3.2.0" react-is "^16.8.4" @@ -12537,10 +12204,10 @@ pretty-hrtime@^1.0.3: resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" integrity sha1-t+PqQkNaTJsnWdmeDyAesZWALuE= -prismjs@^1.8.4, prismjs@~1.16.0: - version "1.16.0" - resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.16.0.tgz#406eb2c8aacb0f5f0f1167930cb83835d10a4308" - integrity sha512-OA4MKxjFZHSvZcisLGe14THYsug/nF6O1f0pAJc0KN0wTyAcLqmsbE+lTGKSpyh+9pEW57+k6pg2AfYR+coyHA== +prismjs@^1.8.4, prismjs@~1.17.0: + version "1.17.1" + resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.17.1.tgz#e669fcbd4cdd873c35102881c33b14d0d68519be" + integrity sha512-PrEDJAFdUGbOP6xK/UsfkC5ghJsPJviKgnQOoxaDbBjwc8op68Quupwt1DeAFoG8GImPhiKXAvvsH7wDSLsu1Q== optionalDependencies: clipboard "^2.0.0" @@ -12587,12 +12254,12 @@ promise.allsettled@^1.0.0: function-bind "^1.1.1" promise.prototype.finally@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/promise.prototype.finally/-/promise.prototype.finally-3.1.0.tgz#66f161b1643636e50e7cf201dc1b84a857f3864e" - integrity sha512-7p/K2f6dI+dM8yjRQEGrTQs5hTQixUAdOGpMEA3+pVxpX5oHKRSKAXyLw9Q9HUWDTdwtoo39dSHGQtN90HcEwQ== + version "3.1.1" + resolved "https://registry.yarnpkg.com/promise.prototype.finally/-/promise.prototype.finally-3.1.1.tgz#cb279d3a5020ca6403b3d92357f8e22d50ed92aa" + integrity sha512-gnt8tThx0heJoI3Ms8a/JdkYBVhYP/wv+T7yQimR+kdOEJL21xTFbiJhMRqnSPcr54UVvMbsscDk2w+ivyaLPw== dependencies: - define-properties "^1.1.2" - es-abstract "^1.9.0" + define-properties "^1.1.3" + es-abstract "^1.13.0" function-bind "^1.1.1" promise@^7.1.1: @@ -12610,12 +12277,12 @@ promise@^8.0.3: asap "~2.0.6" prompts@^2.0.1: - version "2.1.0" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.1.0.tgz#bf90bc71f6065d255ea2bdc0fe6520485c1b45db" - integrity sha512-+x5TozgqYdOwWsQFZizE/Tra3fKvAoy037kOyU6cgz84n8f6zxngLOV4O32kTwt9FcLCxAqw0P/c8rOr9y+Gfg== + version "2.2.1" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.2.1.tgz#f901dd2a2dfee080359c0e20059b24188d75ad35" + integrity sha512-VObPvJiWPhpZI6C5m60XOzTfnYg/xc/an+r9VYymj9WJW3B/DIH+REzjpAACPf8brwPeP+7vz3bIim3S+AaMjw== dependencies: - kleur "^3.0.2" - sisteransi "^1.0.0" + kleur "^3.0.3" + sisteransi "^1.0.3" promzard@^0.3.0: version "0.3.0" @@ -12633,7 +12300,7 @@ prop-types-exact@^1.2.0: object.assign "^4.1.0" reflect.ownkeys "^0.2.0" -prop-types@15.7.2, prop-types@>=15.5.7, prop-types@^15.5.0, prop-types@^15.5.10, prop-types@^15.5.4, prop-types@^15.5.6, prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2: +prop-types@15.7.2, prop-types@^15.5.0, prop-types@^15.5.10, prop-types@^15.5.4, prop-types@^15.5.6, prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2: version "15.7.2" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== @@ -12642,10 +12309,10 @@ prop-types@15.7.2, prop-types@>=15.5.7, prop-types@^15.5.0, prop-types@^15.5.10, object-assign "^4.1.1" react-is "^16.8.1" -property-information@^5.0.0, property-information@^5.0.1: - version "5.1.0" - resolved "https://registry.yarnpkg.com/property-information/-/property-information-5.1.0.tgz#e4755eee5319f03f7f6f5a9bc1a6a7fea6609e2c" - integrity sha512-tODH6R3+SwTkAQckSp2S9xyYX8dEKYkeXw+4TmJzTxnNzd6mQPu1OD4f9zPrvw/Rm4wpPgI+Zp63mNSGNzUgHg== +property-information@^5.0.1: + version "5.2.2" + resolved "https://registry.yarnpkg.com/property-information/-/property-information-5.2.2.tgz#20555eafd2296278a682e5a51d5123e7878ecc30" + integrity sha512-N2moasZmjn2mjVGIWpaqz5qnz6QyeQSGgGvMtl81gA9cPTWa6wpesRSe/quNnOjUHpvSH1oZx0pdz0EEckLFnA== dependencies: xtend "^4.0.1" @@ -12691,15 +12358,10 @@ pseudomap@^1.0.2: resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= -psl@^1.1.24: - version "1.1.33" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.33.tgz#5533d9384ca7aab86425198e10e8053ebfeab661" - integrity sha512-LTDP2uSrsc7XCb5lO7A8BI1qYxRe/8EqlRvMeEl6rsnYAqDOl8xHR+8lSAIVfrNaSAlTPTNOCgNjWcoUL3AZsw== - -psl@^1.1.28: - version "1.1.32" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.32.tgz#3f132717cf2f9c169724b2b6caf373cf694198db" - integrity sha512-MHACAkHpihU/REGGPLj4sEfc/XKW2bheigvHO1dUqjaKigMp1C8+WLQYRGgeKFMsw5PMfegZcaN8IDXK/cD0+g== +psl@^1.1.24, psl@^1.1.28: + version "1.3.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.3.0.tgz#e1ebf6a3b5564fa8376f3da2275da76d875ca1bd" + integrity sha512-avHdspHO+9rQTLbv1RO+MPYeP/SzsCoxofjVnHanETfQhTJrmB0HlDoW+EiN/R+C0BZ+gERab9NY0lPN2TxNag== public-encrypt@^4.0.0: version "4.0.3" @@ -12743,26 +12405,31 @@ punycode@1.3.2: resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= -punycode@2.x.x, punycode@^2.1.0, punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - punycode@^1.2.4, punycode@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= +punycode@^2.1.0, punycode@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + q@^1.1.2, q@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= -qs@6.7.0, qs@^6.6.0: +qs@6.7.0: version "6.7.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== +qs@^6.6.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.8.0.tgz#87b763f0d37ca54200334cd57bb2ef8f68a1d081" + integrity sha512-tPSkj8y92PfZVbinY1n84i1Qdx75lZjMQYx9WZhnkofyxzw2r7Ho39G3/aEvSUdebxpnnM4LZJCtvE/Aq3+s9w== + qs@~6.5.2: version "6.5.2" resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" @@ -12818,9 +12485,9 @@ quill@^1.2.6: quill-delta "^3.6.2" raf-schd@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/raf-schd/-/raf-schd-4.0.1.tgz#e72f29a96de260dead719f34c29e56fdc1c1473e" - integrity sha512-/QTXV4+Tf81CmJgTZac47N63ZzKmaVe+1cQX/grCFeLrs4Mcc6oq+KJfbF3tFjeS1NF91lmTvgmwYjk02UTo9A== + version "4.0.2" + resolved "https://registry.yarnpkg.com/raf-schd/-/raf-schd-4.0.2.tgz#bd44c708188f2e84c810bf55fcea9231bcaed8a0" + integrity sha512-VhlMZmGy6A6hrkJWHLNTGl5gtgMUm+xfGza6wbwnE914yeQ5Ybm18vgM734RZhMgfw4tacUrWseGZlpUrrakEQ== raf@^3.1.0, raf@^3.4.0: version "3.4.1" @@ -12922,14 +12589,6 @@ react-addons-create-fragment@^15.6.2: loose-envify "^1.3.1" object-assign "^4.1.0" -react-async-script@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/react-async-script/-/react-async-script-1.0.1.tgz#a3996e313a1352b7e96087405e40ebb877f9caf0" - integrity sha512-EosAKCTgHc6oWPx7ONv4IjtaIKRi30DjR71iJfoGfb13+naFYGjLutH6dFC5rRaYX8odW57zmC9ekf/WuLiyOQ== - dependencies: - hoist-non-react-statics "^3.0.1" - prop-types "^15.5.0" - react-async-script@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/react-async-script/-/react-async-script-1.1.1.tgz#f481c6c5f094bf4b94a9d52da0d0dda2e1a74bdf" @@ -12938,12 +12597,10 @@ react-async-script@^1.1.1: hoist-non-react-statics "^3.3.0" prop-types "^15.5.0" -react-async@^7.0.5: - version "7.0.5" - resolved "https://registry.yarnpkg.com/react-async/-/react-async-7.0.5.tgz#2f885f32bca6698547ee26d1f505ba8fa1c4b417" - integrity sha512-Fw3OclqxF15xGZfdyyz4Ab1BbcBfoOegldL6hSVluM4hV7jZw+KnT+0DS9ua09eCc792Hcu5im+GoZIBgEjSdQ== - optionalDependencies: - prop-types ">=15.5.7" +react-async@^7.0.6: + version "7.0.6" + resolved "https://registry.yarnpkg.com/react-async/-/react-async-7.0.6.tgz#31900ba1e5239738a111a458e63a2603c5e8faea" + integrity sha512-+OOuW+1O+2T3592j8XSJ/V74cVCo6XsqytipGimzd5WwqGjOEWoD4SUF5AWdAYU4IHUC3zOqeRw6Pn3ZhefDPQ== react-autosuggest@^9.4.3: version "9.4.3" @@ -12964,9 +12621,9 @@ react-autowhatever@^10.1.2: section-iterator "^2.0.0" react-clientside-effect@^1.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/react-clientside-effect/-/react-clientside-effect-1.2.1.tgz#feb81abe9531061d4987941c15a00f2b3d0b6071" - integrity sha512-foSwZatJak6r+F4OqJ8a+MOWcBi3jwa7/RPdJIDZI1Ck0dn/FJZkkFu7YK+SiZxsCZIrotolxHSobcnBHgIjfw== + version "1.2.2" + resolved "https://registry.yarnpkg.com/react-clientside-effect/-/react-clientside-effect-1.2.2.tgz#6212fb0e07b204e714581dd51992603d1accc837" + integrity sha512-nRmoyxeok5PBO6ytPvSjKp9xwXg9xagoTK1mMjwnQxqM9Hd7MNPl+LS1bOSOe+CV2+4fnEquc7H/S8QD3q697A== dependencies: "@babel/runtime" "^7.0.0" @@ -12982,10 +12639,10 @@ react-color@^2.17.0, react-color@^2.17.3: reactcss "^1.2.0" tinycolor2 "^1.4.1" -react-cookie-consent@^2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/react-cookie-consent/-/react-cookie-consent-2.3.2.tgz#e665bd52c51064a4ab991b6e36f73a51e4e7b7dc" - integrity sha512-Fi2QGsTg/kfg2wYBDzGkv7Tkeijv9RTZM7uW6yqfW7Fz3r9nEGYDuUxT8crpv/wrCTjU+AqrPFmAOQh96lQhUA== +react-cookie-consent@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/react-cookie-consent/-/react-cookie-consent-2.5.0.tgz#9da66368473c43a5c25042639ce3158d45d5016f" + integrity sha512-wJQN8j78Y9biiCOwUbWAEvS9ehIE/Knba6+7TVH0U6YDem3potsWdjLAcyL4Rkob/flCzKBBKy3yUqUxRdV5ew== dependencies: js-cookie "^2.2.0" @@ -12999,49 +12656,49 @@ react-custom-scrollbars@^4.2.1: raf "^3.1.0" react-dev-utils@^9.0.0: - version "9.0.1" - resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-9.0.1.tgz#5c03d85a0b2537d0c46af7165c24a7dfb274bef2" - integrity sha512-pnaeMo/Pxel8aZpxk1WwxT3uXxM3tEwYvsjCYn5R7gNxjhN1auowdcLDzFB8kr7rafAj2rxmvfic/fbac5CzwQ== + version "9.0.3" + resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-9.0.3.tgz#7607455587abb84599451460eb37cef0b684131a" + integrity sha512-OyInhcwsvycQ3Zr2pQN+HV4gtRXrky5mJXIy4HnqrWa+mI624xfYfqGuC9dYbxp4Qq3YZzP8GSGQjv0AgNU15w== dependencies: - "@babel/code-frame" "7.0.0" - address "1.0.3" - browserslist "4.5.4" + "@babel/code-frame" "7.5.5" + address "1.1.0" + browserslist "4.6.6" chalk "2.4.2" cross-spawn "6.0.5" detect-port-alt "1.1.6" escape-string-regexp "1.0.5" filesize "3.6.1" find-up "3.0.0" - fork-ts-checker-webpack-plugin "1.1.1" + fork-ts-checker-webpack-plugin "1.5.0" global-modules "2.0.0" globby "8.0.2" - gzip-size "5.0.0" + gzip-size "5.1.1" immer "1.10.0" - inquirer "6.2.2" - is-root "2.0.0" + inquirer "6.5.0" + is-root "2.1.0" loader-utils "1.2.3" - opn "5.4.0" + open "^6.3.0" pkg-up "2.0.0" - react-error-overlay "^5.1.6" + react-error-overlay "^6.0.1" recursive-readdir "2.2.2" shell-quote "1.6.1" sockjs-client "1.3.0" strip-ansi "5.2.0" text-table "0.2.0" -react-docgen-typescript-loader@^3.0.1: - version "3.1.0" - resolved "https://registry.yarnpkg.com/react-docgen-typescript-loader/-/react-docgen-typescript-loader-3.1.0.tgz#09cacf872617c97f946ee920d2239f51d543be41" - integrity sha512-gY+b7RkRPty5ZN4NMQ+jwx9MzTVuIj6LJCwdWRAi1+nrHJfH2gMMytQfxFdzQ7BlgD4COWnSE8Ixtl2L62kCRw== +react-docgen-typescript-loader@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/react-docgen-typescript-loader/-/react-docgen-typescript-loader-3.1.1.tgz#c1992538524fb9e45246d6c1314ddcfbf26e9d08" + integrity sha512-h8xfQIiEI4Z1oZewZhi9oohiWMS5Ek19LmgrvoL77Y/5d3tzu6fE3QHqhzYzdPnTaCfMzF7JMDUaydJiLbsDKg== dependencies: "@webpack-contrib/schema-utils" "^1.0.0-beta.0" loader-utils "^1.2.3" react-docgen-typescript "^1.12.3" react-docgen-typescript@^1.12.3: - version "1.12.4" - resolved "https://registry.yarnpkg.com/react-docgen-typescript/-/react-docgen-typescript-1.12.4.tgz#9ec8080e9ef41067ff17153bf42b3b2d49ae5503" - integrity sha512-OSmUfmdtcz4kLRWPiR8uUdE8ta+s5DV0uXOz1YsWaAUf3Ty64use7DYWK97zH8ZOlD4slq5zUfGc+UbfGLqfEQ== + version "1.13.0" + resolved "https://registry.yarnpkg.com/react-docgen-typescript/-/react-docgen-typescript-1.13.0.tgz#73f42392a700446d9cfd455b2e111a4e7bfb4541" + integrity sha512-hygNmugf8wH9CXYapW1M4AY+be8UrJu3ptPXt7cxxaPXV/o5kyMW5e8Milb6vQWxqwg4yGUspsf8oq0fyQFm5w== react-docgen@^4.1.0: version "4.1.1" @@ -13061,36 +12718,36 @@ react-dom-factories@^1.0.0: resolved "https://registry.yarnpkg.com/react-dom-factories/-/react-dom-factories-1.0.2.tgz#eb7705c4db36fb501b3aa38ff759616aa0ff96e0" integrity sha1-63cFxNs2+1AbOqOP91lhaqD/luA= -react-dom@^16.8.2, react-dom@^16.8.3, react-dom@^16.8.4, react-dom@^16.8.6: - version "16.8.6" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.8.6.tgz#71d6303f631e8b0097f56165ef608f051ff6e10f" - integrity sha512-1nL7PIq9LTL3fthPqwkvr2zY7phIPjYrT0jp4HjyEQrEROnw4dG41VVwi/wfoCneoleqrNX7iAD+pXebJZwrwA== +react-dom@^16.8.3, react-dom@^16.9.0: + version "16.9.0" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.9.0.tgz#5e65527a5e26f22ae3701131bcccaee9fb0d3962" + integrity sha512-YFT2rxO9hM70ewk9jq0y6sQk8cL02xm4+IzYBz75CQGlClQQ1Bxq0nhHF6OtSbit+AIahujJgb/CPRibFkMNJQ== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" prop-types "^15.6.2" - scheduler "^0.13.6" + scheduler "^0.15.0" react-draggable@^3.1.1: - version "3.3.0" - resolved "https://registry.yarnpkg.com/react-draggable/-/react-draggable-3.3.0.tgz#2ed7ea3f92e7d742d747f9e6324860606cd4d997" - integrity sha512-U7/jD0tAW4T0S7DCPK0kkKLyL0z61sC/eqU+NUfDjnq+JtBKaYKDHpsK2wazctiA4alEzCXUnzkREoxppOySVw== + version "3.3.2" + resolved "https://registry.yarnpkg.com/react-draggable/-/react-draggable-3.3.2.tgz#966ef1d90f2387af3c2d8bd3516f601ea42ca359" + integrity sha512-oaz8a6enjbPtx5qb0oDWxtDNuybOylvto1QLydsXgKmwT7e3GXC2eMVDwEMIUYJIFqVG72XpOv673UuuAq6LhA== dependencies: classnames "^2.2.5" prop-types "^15.6.0" react-element-to-jsx-string@^14.0.2: - version "14.0.2" - resolved "https://registry.yarnpkg.com/react-element-to-jsx-string/-/react-element-to-jsx-string-14.0.2.tgz#586d248bb2416855aa6ac3881e18726832c146d2" - integrity sha512-eYcPUg3FJisgAb8q3sSdce8F/xMZD/iFEjMZYnkE3b7gPi5OamGr2Hst/1pE72mzn7//dfYPXb+UqPK2xdSGsg== + version "14.0.3" + resolved "https://registry.yarnpkg.com/react-element-to-jsx-string/-/react-element-to-jsx-string-14.0.3.tgz#64f50fdbf6ba154d6439da3d7307f79069b94d58" + integrity sha512-ziZAm7OwEfFtyhCmQiFNI87KFu+G9EP8qVW4XtDHdKNqqprYifLzqXkzHqC1vnVsPhyp2znoPm0bJHAf1mUBZA== dependencies: - is-plain-object "2.0.4" - stringify-object "3.2.2" + is-plain-object "3.0.0" + stringify-object "3.3.0" -react-error-overlay@^5.1.6: - version "5.1.6" - resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-5.1.6.tgz#0cd73407c5d141f9638ae1e0c63e7b2bf7e9929d" - integrity sha512-X1Y+0jR47ImDVr54Ab6V9eGk0Hnu7fVWGeHQSOXHf/C2pF9c6uy3gef8QUeuUiWlNb0i08InPSE5a/KJzNzw1Q== +react-error-overlay@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.1.tgz#b8d3cf9bb991c02883225c48044cb3ee20413e0f" + integrity sha512-V9yoTr6MeZXPPd4nV/05eCBvGH9cGzc52FN8fs0O0TVQ3HYYf1n7EgZVtHbldRq5xU9zEzoXIITjYNIfxDDdUw== react-event-listener@^0.6.6: version "0.6.6" @@ -13123,13 +12780,13 @@ react-fontawesome@^1.6.1: dependencies: prop-types "^15.5.6" -react-google-recaptcha@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/react-google-recaptcha/-/react-google-recaptcha-1.1.0.tgz#f33bef3e22e8c016820e80da48d573f516bb99e8" - integrity sha512-GMWZEsIKyBVG+iXfVMwtMVKFJATu5c+oguL/5i95H3Jb5d5CG4DY0W9t4QhdSSulgkXbZMgv0VSuGF/GV1ENTA== +react-google-recaptcha@^2.0.0-rc.1: + version "2.0.0-rc.1" + resolved "https://registry.yarnpkg.com/react-google-recaptcha/-/react-google-recaptcha-2.0.0-rc.1.tgz#8136bd4835b17356c790f23065b779ea4d4bdc2b" + integrity sha512-4oUWH1iLFabXVqSUqcHRNsGeGAlFLubRfszykFjw8xKuGwG9+GYcoQiTMfti+BKc+K/Pnog+4c+jWivElbViBA== dependencies: prop-types "^15.5.0" - react-async-script "^1.0.0" + react-async-script "^1.1.1" react-helmet-async@^1.0.2: version "1.0.2" @@ -13165,10 +12822,10 @@ react-inspector@^3.0.2: is-dom "^1.0.9" prop-types "^15.6.1" -react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.0, react-is@^16.8.1, react-is@^16.8.3, react-is@^16.8.4, react-is@^16.8.6: - version "16.8.6" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.8.6.tgz#5bbc1e2d29141c9fbdfed456343fe2bc430a6a16" - integrity sha512-aUk3bHfZ2bRSVFFbbeVS4i+lNPZr3/WM5jT2J5omUVV1zzcs1nAaf3l51ctA5FFvCRbhrH0bdAsRRQddFJZPtA== +react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.3, react-is@^16.8.4, react-is@^16.8.6, react-is@^16.9.0: + version "16.9.0" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.9.0.tgz#21ca9561399aad0ff1a7701c01683e8ca981edcb" + integrity sha512-tJBzzzIgnnRfEm046qRcURvwQnZVXmuCbscxUO5RWrGTXpon2d4c8mI0D8WE6ydVIm29JiLB6+RslkIvym9Rjw== react-lifecycles-compat@^3.0.2, react-lifecycles-compat@^3.0.4: version "3.0.4" @@ -13200,12 +12857,12 @@ react-moment@^0.9.2: resolved "https://registry.yarnpkg.com/react-moment/-/react-moment-0.9.2.tgz#1cdc6ed02f1735282282129edf0f607f420df039" integrity sha512-jpKIEvcEOTSa4RXWTjDlvja7sN+ee5Gyk5ZKa704FZxE01OxmKIpq9GUliqTrAgdDYJJUQsnqQamczn0TN+DTg== -react-monaco-editor@^0.28.0: - version "0.28.0" - resolved "https://registry.yarnpkg.com/react-monaco-editor/-/react-monaco-editor-0.28.0.tgz#c69e8d0b5eaefddef73a535a69257c85d48feee9" - integrity sha512-sRgAMcuRr+EpGZQDiEUFJyevLKo8km87Y3PDjuGrZGvZ/vL10XhYo509uY5xLFG3SLFk3tgjUWteWqxkVyTm1w== +react-monaco-editor@^0.30.1: + version "0.30.1" + resolved "https://registry.yarnpkg.com/react-monaco-editor/-/react-monaco-editor-0.30.1.tgz#707ca6a9ba31a91ad8abf1c76d41776269f3d950" + integrity sha512-3u/omC0ZGISievdFTfhhR8L3iRxCrTh39aiD5ged82NGFo4CfExRWoj/QBDp/jXS/UhNaurUsrnR1r+SEmrjuw== dependencies: - "@types/react" "^16.8.23" + "@types/react" "^16.9.2" prop-types "^15.7.2" react-popper-tooltip@^2.8.3: @@ -13217,12 +12874,12 @@ react-popper-tooltip@^2.8.3: react-popper "^1.3.3" react-popper@^1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/react-popper/-/react-popper-1.3.3.tgz#2c6cef7515a991256b4f0536cd4bdcb58a7b6af6" - integrity sha512-ynMZBPkXONPc5K4P5yFWgZx5JGAUIP3pGGLNs58cfAPgK67olx7fmLp+AdpZ0+GoQ+ieFDa/z4cdV6u7sioH6w== + version "1.3.4" + resolved "https://registry.yarnpkg.com/react-popper/-/react-popper-1.3.4.tgz#f0cd3b0d30378e1f663b0d79bcc8614221652ced" + integrity sha512-9AcQB29V+WrBKk6X7p0eojd1f25/oJajVdMZkywIoAV6Ag7hzE1Mhyeup2Q1QnvFRtGQFQvtqfhlEoDAPfKAVA== dependencies: "@babel/runtime" "^7.1.2" - create-react-context "<=0.2.2" + create-react-context "^0.3.0" popper.js "^1.14.4" prop-types "^15.6.1" typed-styles "^0.0.7" @@ -13242,16 +12899,16 @@ react-quill@^1.3.1, react-quill@^1.3.3: react-dom-factories "^1.0.0" react-redux@^7.0.2, react-redux@^7.0.3: - version "7.1.0" - resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-7.1.0.tgz#72af7cf490a74acdc516ea9c1dd80e25af9ea0b2" - integrity sha512-hyu/PoFK3vZgdLTg9ozbt7WF3GgX5+Yn3pZm5/96/o4UueXA+zj08aiSC9Mfj2WtD1bvpIb3C5yvskzZySzzaw== + version "7.1.1" + resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-7.1.1.tgz#ce6eee1b734a7a76e0788b3309bf78ff6b34fa0a" + integrity sha512-QsW0vcmVVdNQzEkrgzh2W3Ksvr8cqpAv5FhEk7tNEft+5pp7rXxAudTz3VOPawRkLIepItpkEIyLcN/VVXzjTg== dependencies: - "@babel/runtime" "^7.4.5" + "@babel/runtime" "^7.5.5" hoist-non-react-statics "^3.3.0" invariant "^2.2.4" loose-envify "^1.4.0" prop-types "^15.7.2" - react-is "^16.8.6" + react-is "^16.9.0" react-resize-detector@^4.0.5: version "4.2.0" @@ -13342,14 +12999,14 @@ react-syntax-highlighter@^8.0.1: refractor "^2.4.1" react-test-renderer@^16.0.0-0: - version "16.8.6" - resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.8.6.tgz#188d8029b8c39c786f998aa3efd3ffe7642d5ba1" - integrity sha512-H2srzU5IWYT6cZXof6AhUcx/wEyJddQ8l7cLM/F7gDXYyPr4oq+vCIxJYXVGhId1J706sqziAjuOEjyNkfgoEw== + version "16.9.0" + resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.9.0.tgz#7ed657a374af47af88f66f33a3ef99c9610c8ae9" + integrity sha512-R62stB73qZyhrJo7wmCW9jgl/07ai+YzvouvCXIJLBkRlRqLx4j9RqcLEAfNfU3OxTGucqR2Whmn3/Aad6L3hQ== dependencies: object-assign "^4.1.1" prop-types "^15.6.2" - react-is "^16.8.6" - scheduler "^0.13.6" + react-is "^16.9.0" + scheduler "^0.15.0" react-text-mask@^5.4.3: version "5.4.3" @@ -13384,24 +13041,23 @@ react-transition-group@^2.2.1, react-transition-group@^2.5.3: react-lifecycles-compat "^3.0.4" react-transition-group@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.1.1.tgz#16efe9ac8c68306f6bef59c7da5a96b4dfd9fb32" - integrity sha512-K/N1wqJ2GRP2yj3WBqEUYa0KV5fiaAWpUfU9SpHOHefeKvyrO+VrnMBML21M19QZoVbDZKmuQFHZYoMMi1xuJA== + version "4.2.2" + resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.2.2.tgz#8b5252410180c27fd7eebf50b185256b41799b16" + integrity sha512-uP0tjqewtvjb7kGZFpZYPoD/NlVZmIgts9eTt1w35pAaEApPxQGv94lD3VkqyXf2aMqrSGwhs6EV/DLaoKbLSw== dependencies: "@babel/runtime" "^7.4.5" dom-helpers "^3.4.0" loose-envify "^1.4.0" prop-types "^15.6.2" -react@^16.8.2, react@^16.8.3, react@^16.8.4, react@^16.8.6: - version "16.8.6" - resolved "https://registry.yarnpkg.com/react/-/react-16.8.6.tgz#ad6c3a9614fd3a4e9ef51117f54d888da01f2bbe" - integrity sha512-pC0uMkhLaHm11ZSJULfOBqV4tIZkx87ZLvbbQYunNixAAvjnC+snJCg0XQXn9VIsttVsbZP/H/ewzgsd5fxKXw== +react@^16.8.3, react@^16.9.0: + version "16.9.0" + resolved "https://registry.yarnpkg.com/react/-/react-16.9.0.tgz#40ba2f9af13bc1a38d75dbf2f4359a5185c4f7aa" + integrity sha512-+7LQnFBwkiw+BobzOF6N//BdoNw0ouwmSJTEm9cglOOmsg/TMiFHZLe2sEoN5M7LgJTj9oHH0gxklfnQe66S1w== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" prop-types "^15.6.2" - scheduler "^0.13.6" reactcss@^1.2.0: version "1.2.3" @@ -13411,16 +13067,16 @@ reactcss@^1.2.0: lodash "^4.0.1" read-cmd-shim@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-1.0.1.tgz#2d5d157786a37c055d22077c32c53f8329e91c7b" - integrity sha1-LV0Vd4ajfAVdIgd8MsU/gynpHHs= + version "1.0.4" + resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-1.0.4.tgz#b4a53d43376211b45243f0072b6e603a8e37640d" + integrity sha512-Pqpl3qJ/QdOIjRYA0q5DND/gLvGOfpIz/fYVDGYpOXfW/lFrIttmLsBnd6IkyK10+JHU9zhsaudfvrQTBB9YFQ== dependencies: graceful-fs "^4.1.2" "read-package-json@1 || 2", read-package-json@^2.0.0, read-package-json@^2.0.13: - version "2.0.13" - resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-2.0.13.tgz#2e82ebd9f613baa6d2ebe3aa72cefe3f68e41f4a" - integrity sha512-/1dZ7TRZvGrYqE0UAfN6qQb5GYBsNcqS1C0tNK601CFOJmtHI7NIGXwetEPU/OtoFHZL3hDxm4rolFFVE9Bnmg== + version "2.1.0" + resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-2.1.0.tgz#e3d42e6c35ea5ae820d9a03ab0c7291217fc51d5" + integrity sha512-KLhu8M1ZZNkMcrq1+0UJbR8Dii8KZUqB0Sha4mOx/bknfKI/fyrQVrG/YIt2UOtG667sD8+ee4EXMM91W9dC+A== dependencies: glob "^7.1.1" json-parse-better-errors "^1.0.1" @@ -13430,15 +13086,13 @@ read-cmd-shim@^1.0.1: graceful-fs "^4.1.2" read-package-tree@^5.1.6: - version "5.2.2" - resolved "https://registry.yarnpkg.com/read-package-tree/-/read-package-tree-5.2.2.tgz#4b6a0ef2d943c1ea36a578214c9a7f6b7424f7a8" - integrity sha512-rW3XWUUkhdKmN2JKB4FL563YAgtINifso5KShykufR03nJ5loGFlkUMe1g/yxmqX073SoYYTsgXu7XdDinKZuA== + version "5.3.1" + resolved "https://registry.yarnpkg.com/read-package-tree/-/read-package-tree-5.3.1.tgz#a32cb64c7f31eb8a6f31ef06f9cedf74068fe636" + integrity sha512-mLUDsD5JVtlZxjSlPPx1RETkNjjvQYuweKwNVt1Sn8kP5Jh44pvYuUHCp6xSVDZWbNxVxG5lyZJ921aJH61sTw== dependencies: - debuglog "^1.0.1" - dezalgo "^1.0.0" - once "^1.3.0" read-package-json "^2.0.0" readdir-scoped-modules "^1.0.0" + util-promisify "^2.1.0" read-pkg-up@^1.0.1: version "1.0.1" @@ -13500,14 +13154,14 @@ read-pkg@^3.0.0: path-type "^3.0.0" read-pkg@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.1.1.tgz#5cf234dde7a405c90c88a519ab73c467e9cb83f5" - integrity sha512-dFcTLQi6BZ+aFUaICg7er+/usEoqFdQxiEBsEMNGoipenihtxxtdrQuBXvyANCEI8VuUIVYFgeHGx9sLLvim4w== + version "5.2.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" + integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== dependencies: "@types/normalize-package-data" "^2.4.0" normalize-package-data "^2.5.0" - parse-json "^4.0.0" - type-fest "^0.4.1" + parse-json "^5.0.0" + type-fest "^0.6.0" read@1, read@~1.0.1: version "1.0.7" @@ -13539,9 +13193,9 @@ read@1, read@~1.0.1: util-deprecate "^1.0.1" readdir-scoped-modules@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/readdir-scoped-modules/-/readdir-scoped-modules-1.0.2.tgz#9fafa37d286be5d92cbaebdee030dc9b5f406747" - integrity sha1-n6+jfShr5dksuuve4DDcm19AZ0c= + version "1.1.0" + resolved "https://registry.yarnpkg.com/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz#8d45407b4f870a0dcaebc0e28670d18e74514309" + integrity sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw== dependencies: debuglog "^1.0.1" dezalgo "^1.0.0" @@ -13658,15 +13312,7 @@ redux@^3.6.0: loose-envify "^1.1.0" symbol-observable "^1.0.3" -redux@^4.0.0, redux@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/redux/-/redux-4.0.1.tgz#436cae6cc40fbe4727689d7c8fae44808f1bfef5" - integrity sha512-R7bAtSkk7nY6O/OYMVR9RiBI+XghjF9rlbl5806HJbQph0LJVHZrU5oaO4q70eUKiqMRqm4y07KLTlMZ2BlVmg== - dependencies: - loose-envify "^1.4.0" - symbol-observable "^1.2.0" - -redux@^4.0.4: +redux@^4.0.0, redux@^4.0.1, redux@^4.0.4: version "4.0.4" resolved "https://registry.yarnpkg.com/redux/-/redux-4.0.4.tgz#4ee1aeb164b63d6a1bcc57ae4aa0b6e6fa7a3796" integrity sha512-vKv4WdiJxOWKxK0yRoaK3Y4pxxB0ilzVx6dszU2W8wLxlb2yikRph4iV/ymtdJ6ZxpBLFbyrxklnT5yBbQSl3Q== @@ -13685,15 +13331,15 @@ reflect.ownkeys@^0.2.0: integrity sha1-dJrO7H8/34tj+SegSAnpDFwLNGA= refractor@^2.4.1: - version "2.9.0" - resolved "https://registry.yarnpkg.com/refractor/-/refractor-2.9.0.tgz#0a381aadb51513e4e6ec1ed410b5104dd65e2489" - integrity sha512-lCnCYvXpqd8hC7ksuvo516rz5q4NwzBbq0X5qjH5pxRfcQKiQxKZ8JctrSQmrR/7pcV2TRrs9TT+Whmq/wtluQ== + version "2.10.0" + resolved "https://registry.yarnpkg.com/refractor/-/refractor-2.10.0.tgz#4cc7efc0028a87924a9b31d82d129dec831a287b" + integrity sha512-maW2ClIkm9IYruuFYGTqKzj+m31heq92wlheW4h7bOstP+gf8bocmMec+j7ljLcaB1CAID85LMB3moye31jH1g== dependencies: hastscript "^5.0.0" parse-entities "^1.1.2" - prismjs "~1.16.0" + prismjs "~1.17.0" -regenerate-unicode-properties@^8.0.2: +regenerate-unicode-properties@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz#ef51e0f0ea4ad424b77bf7cb41f3e015c70a3f0e" integrity sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA== @@ -13716,14 +13362,14 @@ regenerator-runtime@^0.12.0, regenerator-runtime@^0.12.1: integrity sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg== regenerator-runtime@^0.13.2: - version "0.13.2" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.2.tgz#32e59c9a6fb9b1a4aff09b4930ca2d4477343447" - integrity sha512-S/TQAZJO+D3m9xeN1WTI8dLKBBiRgXBlTJvbWjCThHWZj9EvHK70Ff50/tYj2J/fvBY6JtFVwRuazHN2E7M9BA== + version "0.13.3" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz#7cf6a77d8f5c6f60eb73c5fc1955b2ceb01e6bf5" + integrity sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw== regenerator-transform@^0.14.0: - version "0.14.0" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.0.tgz#2ca9aaf7a2c239dd32e4761218425b8c7a86ecaf" - integrity sha512-rtOelq4Cawlbmq9xuMR5gdFmv7ku/sFoB7sRiywx7aq53bc52b4j6zvH7Te1Vt/X2YveDKnCGUbioieU7FEL3w== + version "0.14.1" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.1.tgz#3b2fce4e1ab7732c08f665dfdb314749c7ddd2fb" + integrity sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ== dependencies: private "^0.1.6" @@ -13736,9 +13382,9 @@ regex-not@^1.0.0, regex-not@^1.0.2: safe-regex "^1.1.0" regexp-tree@^0.1.6: - version "0.1.10" - resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.10.tgz#d837816a039c7af8a8d64d7a7c3cf6a1d93450bc" - integrity sha512-K1qVSbcedffwuIslMwpe6vGlj+ZXRnGkvjAtFHfDZZZuEdA/h0dxljAPu9vhUo6Rrx2U2AwJ+nSQ6hK+lrP5MQ== + version "0.1.12" + resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.12.tgz#28eaaa6e66eeb3527c15108a3ff740d9e574e420" + integrity sha512-TsXZ8+cv2uxMEkLfgwO0E068gsNMLfuYwMMhiUxf0Kw2Vcgzq93vgl6wIlIYuPmfMqMjfQ9zAporiozqCnwLuQ== regexp.prototype.flags@^1.2.0: version "1.2.0" @@ -13753,12 +13399,12 @@ regexpp@^2.0.1: integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== regexpu-core@^4.5.4: - version "4.5.4" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.5.4.tgz#080d9d02289aa87fe1667a4f5136bc98a6aebaae" - integrity sha512-BtizvGtFQKGPUcTy56o3nk1bGRp4SZOTYrDtGNlqCQufptV5IkkLN6Emw+yunAJjzf+C9FQFtvq7IoA3+oMYHQ== + version "4.5.5" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.5.5.tgz#aaffe61c2af58269b3e516b61a73790376326411" + integrity sha512-FpI67+ky9J+cDizQUJlIlNZFKual/lUkFr1AG6zOCpwZ9cLrg8UUVakyUQJD7fCDIe9Z2nwTQJNPyonatNmDFQ== dependencies: regenerate "^1.4.0" - regenerate-unicode-properties "^8.0.2" + regenerate-unicode-properties "^8.1.0" regjsgen "^0.5.0" regjsparser "^0.6.0" unicode-match-property-ecmascript "^1.0.4" @@ -13781,16 +13427,7 @@ regjsparser@^0.6.0: dependencies: jsesc "~0.5.0" -rehype-parse@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/rehype-parse/-/rehype-parse-6.0.0.tgz#f681555f2598165bee2c778b39f9073d17b16bca" - integrity sha512-V2OjMD0xcSt39G4uRdMTqDXXm6HwkUbLMDayYKA/d037j8/OtVSQ+tqKwYWOuyBeoCs/3clXRe30VUjeMDTBSA== - dependencies: - hast-util-from-parse5 "^5.0.0" - parse5 "^5.0.0" - xtend "^4.0.1" - -relateurl@0.2.x: +relateurl@0.2.x, relateurl@^0.2.7: version "0.2.7" resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= @@ -13980,17 +13617,10 @@ resolve@1.1.7: resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= -resolve@1.x: - version "1.11.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.11.0.tgz#4014870ba296176b86343d50b60f3b50609ce232" - integrity sha512-WL2pBDjqT6pGUNSUzMw00o4T7If+z4H2x3Gz893WoUQ5KW8Vr9txp00ykiP16VBaZF5+j/OcXJHZ9+PCvdiDKw== - dependencies: - path-parse "^1.0.6" - -resolve@^1.1.6, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.0, resolve@^1.3.2, resolve@^1.5.0, resolve@^1.8.1: - version "1.11.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.11.1.tgz#ea10d8110376982fef578df8fc30b9ac30a07a3e" - integrity sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw== +resolve@1.x, resolve@^1.1.6, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.0, resolve@^1.3.2, resolve@^1.5.0, resolve@^1.8.1: + version "1.12.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6" + integrity sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w== dependencies: path-parse "^1.0.6" @@ -14042,13 +13672,27 @@ right-pad@^1.0.1: resolved "https://registry.yarnpkg.com/right-pad/-/right-pad-1.0.1.tgz#8ca08c2cbb5b55e74dafa96bf7fd1a27d568c8d0" integrity sha1-jKCMLLtbVedNr6lr9/0aJ9VoyNA= -rimraf@2, rimraf@2.6.3, rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3: +rimraf@2, rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3: + version "2.7.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + +rimraf@2.6.3: version "2.6.3" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== dependencies: glob "^7.1.3" +rimraf@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.0.tgz#614176d4b3010b75e5c390eb0ee96f6dc0cebb9b" + integrity sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg== + dependencies: + glob "^7.1.3" + ripemd160@^2.0.0, ripemd160@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" @@ -14066,9 +13710,9 @@ rst-selector-parser@^2.2.3: nearley "^2.7.10" rsvp@^4.8.4: - version "4.8.4" - resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.4.tgz#b50e6b34583f3dd89329a2f23a8a2be072845911" - integrity sha512-6FomvYPfs+Jy9TfXmBpBuMWNH94SgCsZmJKcanySzgNNP6LjWxBvyLTa9KaMfDDM5oxRfrKDB0r/qeRsLwnBfA== + version "4.8.5" + resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" + integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== run-async@^2.2.0: version "2.3.0" @@ -14118,12 +13762,12 @@ safe-buffer@5.1.1: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" integrity sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg== -safe-buffer@5.1.2, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: +safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-buffer@^5.2.0: +safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== @@ -14161,16 +13805,16 @@ sax@^1.2.4, sax@~1.2.4: integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== saxes@^3.1.9: - version "3.1.9" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-3.1.9.tgz#c1c197cd54956d88c09f960254b999e192d7058b" - integrity sha512-FZeKhJglhJHk7eWG5YM0z46VHmI3KJpMBAQm3xa9meDvd+wevB5GuBB0wc0exPInZiBBHqi00DbS8AcvCGCFMw== + version "3.1.11" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-3.1.11.tgz#d59d1fd332ec92ad98a2e0b2ee644702384b1c5b" + integrity sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g== dependencies: - xmlchars "^1.3.1" + xmlchars "^2.1.1" -scheduler@^0.13.6: - version "0.13.6" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.13.6.tgz#466a4ec332467b31a91b9bf74e5347072e4cd889" - integrity sha512-IWnObHt413ucAYKsD9J1QShUKkbKLQQHdxRyw73sw4FN26iWr3DY/H34xGPe4nmL1DwXyWmSWmMrA9TfQbE/XQ== +scheduler@^0.15.0: + version "0.15.0" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.15.0.tgz#6bfcf80ff850b280fed4aeecc6513bc0b4f17f8e" + integrity sha512-xAefmSfN6jqAa7Kuq7LIJY0bwAPG3xlCj0HMEBQk1lxYiDKZscY2xJ5U/61ZTrYbmNQbXa+gc7czPkVo11tnCg== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" @@ -14193,18 +13837,13 @@ schema-utils@^1.0.0: ajv-keywords "^3.1.0" schema-utils@^2.0.0, schema-utils@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.0.1.tgz#1eec2e059556af841b7f3a83b61af13d7a3f9196" - integrity sha512-HJFKJ4JixDpRur06QHwi8uu2kZbng318ahWEKgBjc0ZklcE4FDvmm2wghb448q0IRaABxIESt8vqPFvwgMB80A== + version "2.1.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.1.0.tgz#940363b6b1ec407800a22951bdcc23363c039393" + integrity sha512-g6SViEZAfGNrToD82ZPUjq52KUPDYc+fN5+g6Euo5mLokl/9Yx14z0Cu4RR1m55HtBXejO0sBt+qw79axN+Fiw== dependencies: ajv "^6.1.0" ajv-keywords "^3.1.0" -scrollbarwidth@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/scrollbarwidth/-/scrollbarwidth-0.1.3.tgz#1b0de64e288c38c427f4a01fe00a462a04b94fdf" - integrity sha1-Gw3mTiiMOMQn9KAf4ApGKgS5T98= - section-iterator@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/section-iterator/-/section-iterator-2.0.0.tgz#bf444d7afeeb94ad43c39ad2fb26151627ccba2a" @@ -14238,21 +13877,11 @@ semver-compare@^1.0.0: integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= "semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", semver@^5.0.1, semver@^5.3.0, semver@^5.4.1, semver@^5.5, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.0: - version "5.7.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b" - integrity sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA== - -semver@5.5.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" - integrity sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA== - -semver@^6.0.0, semver@^6.1.0, semver@^6.1.1: - version "6.1.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.1.2.tgz#079960381376a3db62eb2edc8a3bfb10c7cfe318" - integrity sha512-z4PqiCpomGtWj8633oeAdXm1Kn1W++3T8epkZYnwiVgIYIJ0QHszhInYSJTYxebByQH7KVCEAn8R9duzZW2PhQ== + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -semver@^6.1.2, semver@^6.2.0: +semver@^6.0.0, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== @@ -14282,9 +13911,9 @@ send@0.17.1: statuses "~1.5.0" serialize-javascript@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.7.0.tgz#d6e0dfb2a3832a8c94468e6eb1db97e55a192a65" - integrity sha512-ke8UG8ulpFOxO8f8gRYabHQe/ZntKlcig2Mp+8+URDP1D8vJZ0KUt7LYo07q25Z/+JVSgpr/cui9PIp5H6/+nA== + version "1.8.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.8.0.tgz#9515fc687232e2321aea1ca7a529476eb34bb480" + integrity sha512-3tHgtF4OzDmeKYj6V9nSyceRS0UJ3C7VqyD2Yj28vC/z2j6jG5FmFGahOKMD9CrglxTm3tETr87jEypaYV8DUg== serve-favicon@^2.5.0: version "2.5.0" @@ -14368,12 +13997,7 @@ shallow-clone@^0.1.2: lazy-cache "^0.2.3" mixin-object "^2.0.1" -shallow-equal@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/shallow-equal/-/shallow-equal-1.1.0.tgz#cc022f030dcba0d1c198abf658a3c6c744e171ca" - integrity sha512-0SW1nWo1hnabO62SEeHsl8nmTVVEzguVWZCj5gaQrgWAxz/BaCja4OWdJBWLVPDxdtE/WU7c98uUCCXyPHSCvw== - -shallow-equal@^1.1.0: +shallow-equal@^1.0.0, shallow-equal@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shallow-equal/-/shallow-equal-1.2.0.tgz#fd828d2029ff4e19569db7e19e535e94e2d1f5cc" integrity sha512-Z21pVxR4cXsfwpMKMhCEIO1PCi5sp7KEp+CmOpBQ+E8GpHwKOw2sEzk7sgblM3d/j4z4gakoWEoPcjK0VJQogA== @@ -14434,17 +14058,17 @@ signal-exit@^3.0.0, signal-exit@^3.0.2: integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= simplebar-react@^1.0.0-alpha.6: - version "1.0.0" - resolved "https://registry.yarnpkg.com/simplebar-react/-/simplebar-react-1.0.0.tgz#8fe914d7f980dd077cc9dfd3e22ec5596f006b8d" - integrity sha512-FbM2yn7D/UzrJGCY60CKeLkZ3gOs7tYr7KmyamteUt9SKh2x4yW5KVM4IQBw86x4ofRoD6FT19MWmfMKv4Onhw== + version "1.1.0" + resolved "https://registry.yarnpkg.com/simplebar-react/-/simplebar-react-1.1.0.tgz#9241817265aee28b40abced66d6a2663e046d721" + integrity sha512-0nbUpoB5Gq3z2dbhRjPxwTLlscgFjCw8vKQRmbXIr47JMc5BeHj/WbZdVAESuKAvua7ESh6mkxbzywMNgRdbCw== dependencies: prop-types "^15.6.1" - simplebar "^4.0.0" + simplebar "^4.1.0" -simplebar@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/simplebar/-/simplebar-4.0.0.tgz#7f1b9e735ec94a58f887d4803f6b15abf401b6b5" - integrity sha512-td6vJVhqIXfa3JgNZR5OgETPLfmHNSSpt+OXIbk6WH/nOrUtX3Qcyio30+5rdxxAV/61+F5eJ4jJV4Ek7/KJYQ== +simplebar@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/simplebar/-/simplebar-4.1.0.tgz#c4b78b278dd0ce41ed70a71473bfad8132a6260f" + integrity sha512-kX+CsWbWLeufIsqJl8xg5J4WbYMyq5NONR/aTaehN8XLQxOthSgRT/uAXsqX9Yrw3iiGxD9PPwM1PmEJfWAdcg== dependencies: can-use-dom "^0.1.0" core-js "^3.0.1" @@ -14452,12 +14076,11 @@ simplebar@^4.0.0: lodash.memoize "^4.1.2" lodash.throttle "^4.1.1" resize-observer-polyfill "^1.5.1" - scrollbarwidth "^0.1.3" -sisteransi@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.0.tgz#77d9622ff909080f1c19e5f4a1df0c1b0a27b88c" - integrity sha512-N+z4pHB4AmUv0SjveWRd6q1Nj5w62m5jodv+GD8lvmbY/83T/rpbJGZOnK5T149OldDj4Db07BSv9xY4K6NTPQ== +sisteransi@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.3.tgz#98168d62b79e3a5e758e27ae63c4a053d748f4eb" + integrity sha512-SbEG75TzH8G7eVXFSN5f9EExILKfly7SUvVY5DhhYLvfhKqhDFY0OzevWa/zwak0RLRfWS5AvfMWpd9gJvr5Yg== slash@^1.0.0: version "1.0.0" @@ -14602,10 +14225,10 @@ source-map-resolve@^0.5.0: source-map-url "^0.4.0" urix "^0.1.0" -source-map-support@^0.5.3, source-map-support@^0.5.6, source-map-support@~0.5.10: - version "0.5.12" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.12.tgz#b4f3b10d51857a5af0138d3ce8003b201613d599" - integrity sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ== +source-map-support@^0.5.3, source-map-support@^0.5.6, source-map-support@~0.5.12: + version "0.5.13" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" + integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== dependencies: buffer-from "^1.0.0" source-map "^0.6.0" @@ -14657,9 +14280,9 @@ spdx-expression-parse@^3.0.0: spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.4.tgz#75ecd1a88de8c184ef015eafb51b5b48bfd11bb1" - integrity sha512-7j8LYJLeY/Yb6ACbQ7F76qy5jHkp0U6jgBfJsk97bwWlVUnUWsAgpyaCvo17h0/RQGnQ036tVDomiwoI4pDkQA== + version "3.0.5" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654" + integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q== spdy-transport@^3.0.0: version "3.0.0" @@ -14673,10 +14296,10 @@ spdy-transport@^3.0.0: readable-stream "^3.0.6" wbuf "^1.7.3" -spdy@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.0.tgz#81f222b5a743a329aa12cea6a390e60e9b613c52" - integrity sha512-ot0oEGT/PGUpzf/6uk4AWLqkq+irlqHXkrdbk51oWONh3bxQmBuljxPNl66zlRRcIJStWq0QkLUCPOPjgjvU0Q== +spdy@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.1.tgz#6f12ed1c5db7ea4f24ebb8b89ba58c87c08257f2" + integrity sha512-HeZS3PBdMA+sZSu0qwpCxl3DeALD5ASx8pAX0jZdKXSpPWbQ6SYGnlg3BBmYLx5LtiZrmkAZfErCm2oECBcioA== dependencies: debug "^4.1.0" handle-thing "^2.0.0" @@ -14749,10 +14372,10 @@ stack-utils@^1.0.1: resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8" integrity sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA== -start-server-and-test@^1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/start-server-and-test/-/start-server-and-test-1.9.1.tgz#401fcf869c2a10b7d224a6ef2cfc38e2a69954a2" - integrity sha512-vRtUxxW34Li+EvemuWtgASyR2KBE+DPoEJ/l5REe+cKxm31jadGm1PSDVBronqQVsvhncRGm4iZc53pFH+FNEA== +start-server-and-test@^1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/start-server-and-test/-/start-server-and-test-1.10.0.tgz#a7cd88932a52b42bc9de184430a498338e426c0b" + integrity sha512-wp6x++18wNUIkI0qT+EkgwVQFwoXh003u/PPUJVEEyh9lSNDONLD9CK2qleghS/kl5LxipbrIUw+FJVEFRVkGw== dependencies: bluebird "3.5.5" check-more-types "2.24.0" @@ -14760,7 +14383,7 @@ start-server-and-test@^1.9.1: execa "0.11.0" lazy-ass "1.6.0" ps-tree "1.2.0" - wait-on "3.2.0" + wait-on "3.3.0" state-toggle@^1.0.0: version "1.0.2" @@ -14786,9 +14409,9 @@ stealthy-require@^1.1.1: integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= store2@^2.7.1: - version "2.7.1" - resolved "https://registry.yarnpkg.com/store2/-/store2-2.7.1.tgz#22070b7dc04748a792fc6912a58ab99d3a21d788" - integrity sha512-zzzP5ZY6QWumnAFV6kBRbS44pUMcpZBNER5DWUe1HETlaKXqLcCQxbNu6IHaKr1pUsjuhUGBdOy8sWKmMkL6pQ== + version "2.9.0" + resolved "https://registry.yarnpkg.com/store2/-/store2-2.9.0.tgz#9987e3cf491b8163fd6197c42bab7d71c58c179b" + integrity sha512-JmK+95jLX2zAP75DVAJ1HAziQ6f+f495h4P9ez2qbmxazN6fE7doWlitqx9hj2YohH3kOi6RVksJe1UH0sJfPw== stream-browserify@^2.0.1: version "2.0.2" @@ -14908,20 +14531,20 @@ string.prototype.padstart@^3.0.0: function-bind "^1.0.2" string.prototype.trim@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz#d04de2c89e137f4d7d206f086b5ed2fae6be8cea" - integrity sha1-0E3iyJ4Tf019IG8Ia17S+ua+jOo= + version "1.2.0" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.0.tgz#75a729b10cfc1be439543dae442129459ce61e3d" + integrity sha512-9EIjYD/WdlvLpn987+ctkLf0FfvBefOCuiEr2henD8X+7jfwPnyvTdmW8OJhj5p+M0/96mBdynLWkxUr+rHlpg== dependencies: - define-properties "^1.1.2" - es-abstract "^1.5.0" - function-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.13.0" + function-bind "^1.1.1" string_decoder@^1.0.0, string_decoder@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.2.0.tgz#fe86e738b19544afe70469243b2a1ee9240eae8d" - integrity sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w== + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== dependencies: - safe-buffer "~5.1.0" + safe-buffer "~5.2.0" string_decoder@~1.1.1: version "1.1.1" @@ -14930,16 +14553,7 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -stringify-object@3.2.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.2.2.tgz#9853052e5a88fb605a44cd27445aa257ad7ffbcd" - integrity sha512-O696NF21oLiDy8PhpWu8AEqoZHw++QW6mUv0UvKZe8gWSdSvMXkiLufK7OmnP27Dro4GU5kb9U7JIO0mBuCRQg== - dependencies: - get-own-enumerable-property-symbols "^2.0.1" - is-obj "^1.0.1" - is-regexp "^1.0.0" - -stringify-object@^3.3.0: +stringify-object@3.3.0, stringify-object@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== @@ -15035,6 +14649,14 @@ style-loader@^0.23.1: loader-utils "^1.1.0" schema-utils "^1.0.0" +style-loader@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-1.0.0.tgz#1d5296f9165e8e2c85d24eee0b7caf9ec8ca1f82" + integrity sha512-B0dOCFwv7/eY31a5PCieNwMgMhVGFe9w+rh7s/Bx8kfFkrth9zfTZquoYvdw8URgiqxObQKcpW51Ugz1HjfdZw== + dependencies: + loader-utils "^1.2.3" + schema-utils "^2.0.1" + styled-components@^4.1.3: version "4.3.2" resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-4.3.2.tgz#4ca81918c812d3006f60ac5fdec7d6b64a9509cc" @@ -15083,6 +14705,11 @@ supports-color@^2.0.0: resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= +svg-parser@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.2.tgz#d134cc396fa2681dc64f518330784e98bd801ec8" + integrity sha512-1gtApepKFweigFZj3sGO8KT8LvVZK8io146EzXrpVuWCDAbISz/yMucco3hWTkpZNoPabM+dnMOpy6Swue68Zg== + svg-url-loader@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/svg-url-loader/-/svg-url-loader-3.0.0.tgz#366e5982da8fad5e4be4d405349cc58d68cd119b" @@ -15091,17 +14718,16 @@ svg-url-loader@^3.0.0: file-loader "4.0.0" loader-utils "1.2.3" -svgo@^1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.2.2.tgz#0253d34eccf2aed4ad4f283e11ee75198f9d7316" - integrity sha512-rAfulcwp2D9jjdGu+0CuqlrAUin6bBWrpoqXWwKDZZZJfXcUXQSxLJOFJCQCSA0x0pP2U0TxSlJu2ROq5Bq6qA== +svgo@^1.2.2: + version "1.3.0" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.0.tgz#bae51ba95ded9a33a36b7c46ce9c359ae9154313" + integrity sha512-MLfUA6O+qauLDbym+mMZgtXCGRfIxyQoeH6IKVcFslyODEe/ElJNwr0FohQ3xG4C6HK6bk3KYPPXwHVJk3V5NQ== dependencies: chalk "^2.4.1" coa "^2.0.2" css-select "^2.0.0" css-select-base-adapter "^0.1.1" - css-tree "1.0.0-alpha.28" - css-url-regex "^1.1.0" + css-tree "1.0.0-alpha.33" csso "^3.5.1" js-yaml "^3.13.1" mkdirp "~0.5.1" @@ -15122,9 +14748,9 @@ symbol-observable@^1.0.3, symbol-observable@^1.0.4, symbol-observable@^1.1.0, sy integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== symbol-tree@^3.2.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" - integrity sha1-rifbOPZgp64uHDt9G8KQgZuFGeY= + version "3.2.4" + resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" + integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== symbol.prototype.description@^1.0.0: version "1.0.0" @@ -15134,16 +14760,16 @@ symbol.prototype.description@^1.0.0: has-symbols "^1.0.0" table@^5.2.3: - version "5.4.0" - resolved "https://registry.yarnpkg.com/table/-/table-5.4.0.tgz#d772a3216e68829920a41a32c18eda286c95d780" - integrity sha512-nHFDrxmbrkU7JAFKqKbDJXfzrX2UBsWmrieXFTGxiI5e4ncg3VqsZeI4EzNmX0ncp4XNGVeoxIWJXfCIXwrsvw== + version "5.4.6" + resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" + integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== dependencies: - ajv "^6.9.1" - lodash "^4.17.11" + ajv "^6.10.2" + lodash "^4.17.14" slice-ansi "^2.1.0" string-width "^3.0.0" -tapable@^1.0.0, tapable@^1.1.0: +tapable@^1.0.0, tapable@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== @@ -15162,16 +14788,16 @@ tar@^4, tar@^4.4.10, tar@^4.4.8: yallist "^3.0.3" telejson@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/telejson/-/telejson-2.2.1.tgz#d9ee7e7eba0c81d9378257342fde7142a03787e2" - integrity sha512-JtFAnITek+Z9t+uQjVl4Fxur9Z3Bi3flytBLc3KZVXmMUHLXdtAxiP0g8IBkHvKn1kQIYZC57IG0jjGH1s64HQ== + version "2.2.2" + resolved "https://registry.yarnpkg.com/telejson/-/telejson-2.2.2.tgz#d61d721d21849a6e4070d547aab302a9bd22c720" + integrity sha512-YyNwnKY0ilabOwYgC/J754En1xOe5PBIUIw+C9e0+5HjVVcnQE5/gdu2yET2pmSbp5bxIDqYNjvndj2PUkIiYA== dependencies: global "^4.3.2" is-function "^1.0.1" is-regex "^1.0.4" is-symbol "^1.0.2" isobject "^3.0.1" - lodash.get "^4.4.2" + lodash "^4.17.11" memoizerific "^1.11.3" temp-dir@^1.0.0: @@ -15198,30 +14824,29 @@ term-size@^1.2.0: dependencies: execa "^0.7.0" -terser-webpack-plugin@^1.1.0, terser-webpack-plugin@^1.2.4: - version "1.3.0" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.3.0.tgz#69aa22426299f4b5b3775cbed8cb2c5d419aa1d4" - integrity sha512-W2YWmxPjjkUcOWa4pBEv4OP4er1aeQJlSo2UhtCFQCuRXEHjOFscO8VyWHj9JLlA0RzQb8Y2/Ta78XZvT54uGg== +terser-webpack-plugin@^1.2.4, terser-webpack-plugin@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz#61b18e40eaee5be97e771cdbb10ed1280888c2b4" + integrity sha512-ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg== dependencies: - cacache "^11.3.2" - find-cache-dir "^2.0.0" + cacache "^12.0.2" + find-cache-dir "^2.1.0" is-wsl "^1.1.0" - loader-utils "^1.2.3" schema-utils "^1.0.0" serialize-javascript "^1.7.0" source-map "^0.6.1" - terser "^4.0.0" - webpack-sources "^1.3.0" + terser "^4.1.2" + webpack-sources "^1.4.0" worker-farm "^1.7.0" -terser@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-4.0.0.tgz#ef356f6f359a963e2cc675517f21c1c382877374" - integrity sha512-dOapGTU0hETFl1tCo4t56FN+2jffoKyER9qBGoUFyZ6y7WLoKT0bF+lAYi6B6YsILcGF3q1C2FBh8QcKSCgkgA== +terser@^4.1.2: + version "4.2.1" + resolved "https://registry.yarnpkg.com/terser/-/terser-4.2.1.tgz#1052cfe17576c66e7bc70fcc7119f22b155bdac1" + integrity sha512-cGbc5utAcX4a9+2GGVX4DsenG6v0x3glnDi5hx8816X1McEAwPlPgRtXPJzSBsbpILxZ8MQMT0KvArLuE0HP5A== dependencies: - commander "^2.19.0" + commander "^2.20.0" source-map "~0.6.1" - source-map-support "~0.5.10" + source-map-support "~0.5.12" test-exclude@^5.2.3: version "5.2.3" @@ -15258,9 +14883,9 @@ thenify-all@^1.0.0: any-promise "^1.0.0" thread-loader@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/thread-loader/-/thread-loader-2.1.2.tgz#f585dd38e852c7f9cded5d092992108148f5eb30" - integrity sha512-7xpuc9Ifg6WU+QYw/8uUqNdRwMD+N5gjwHKMqETrs96Qn+7BHwECpt2Brzr4HFlf4IAkZsayNhmGdbkBsTJ//w== + version "2.1.3" + resolved "https://registry.yarnpkg.com/thread-loader/-/thread-loader-2.1.3.tgz#cbd2c139fc2b2de6e9d28f62286ab770c1acbdda" + integrity sha512-wNrVKH2Lcf8ZrWxDF/khdlLlsTMczdcwPA9VEK4c2exlEPynYWxi9op3nPTo5lAnDIkE0rQEB3VBP+4Zncc9Hg== dependencies: loader-runner "^2.3.1" loader-utils "^1.1.0" @@ -15307,9 +14932,9 @@ thunky@^1.0.2: integrity sha512-YwT8pjmNcAXBZqrubu22P4FYsh2D4dxRmnWBOL8Jk8bUcRUtc5326kx32tuTmFDAZtLOGEVNl8POAR8j896Iow== timers-browserify@^2.0.4: - version "2.0.10" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.10.tgz#1d28e3d2aadf1d5a5996c4e9f95601cd053480ae" - integrity sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg== + version "2.0.11" + resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.11.tgz#800b1f3eee272e5bc53ee465a04d0e804c31211f" + integrity sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ== dependencies: setimmediate "^1.0.4" @@ -15319,14 +14944,14 @@ tiny-emitter@^2.0.0: integrity sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q== tiny-invariant@^1.0.2: - version "1.0.4" - resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.0.4.tgz#346b5415fd93cb696b0c4e8a96697ff590f92463" - integrity sha512-lMhRd/djQJ3MoaHEBrw8e2/uM4rs9YMNk0iOr8rHQ0QdbM7D4l0gFl3szKdeixrlyfm9Zqi4dxHCM2qVG8ND5g== + version "1.0.6" + resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.0.6.tgz#b3f9b38835e36a41c843a3b0907a5a7b3755de73" + integrity sha512-FOyLWWVjG+aC0UqG76V53yAWdXfH8bO6FNmyZOuUrzDzK8DI3/JRY25UD7+g49JWM1LXwymsKERB+DzI0dTEQA== tiny-warning@^1.0.0, tiny-warning@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.2.tgz#1dfae771ee1a04396bdfde27a3adcebc6b648b28" - integrity sha512-rru86D9CpQRLvsFG5XFdy0KdLAvjdQDyZCsRcuu60WtzFylDM3eAWSxEVz5kzL2Gp544XiUvPbVKtOA/txLi9Q== + version "1.0.3" + resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" + integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== tinycolor2@^1.4.1: version "1.4.1" @@ -15423,13 +15048,6 @@ toidentifier@1.0.0: resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== -topo@3.x.x: - version "3.0.3" - resolved "https://registry.yarnpkg.com/topo/-/topo-3.0.3.tgz#d5a67fb2e69307ebeeb08402ec2a2a6f5f7ad95c" - integrity sha512-IgpPtvD4kjrJ7CRA3ov2FhWQADwv+Tdqbsf1ZnPUSAtCJ9e1Z44MmoSGDXGk4IppoZA7jd/QRkNddlLJWlUZsQ== - dependencies: - hoek "6.x.x" - toposort@^1.0.0: version "1.0.7" resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.7.tgz#2e68442d9f64ec720b8cc89e6443ac6caa950029" @@ -15509,7 +15127,7 @@ trough@^1.0.0: resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.4.tgz#3b52b1f13924f460c3fbfd0df69b587dbcbc762e" integrity sha512-tdzBRDGWcI1OpPVmChbdSKhvSVurznZ8X36AYURAcl+0o2ldlCY2XPzyXNNxwJwwyIU+rIglTCG4kxtNKBQH7Q== -tryer@^1.0.0: +tryer@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8" integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA== @@ -15557,9 +15175,9 @@ ts-loader@^5.3.1: semver "^5.0.1" ts-pnp@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.1.2.tgz#be8e4bfce5d00f0f58e0666a82260c34a57af552" - integrity sha512-f5Knjh7XCyRIzoC/z1Su1yLLRrPrFCgtUAh/9fCSP6NKbATwpOL1+idQVXQokK9GRFURn/jYPGPfegIctwunoA== + version "1.1.4" + resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.1.4.tgz#ae27126960ebaefb874c6d7fa4729729ab200d90" + integrity sha512-1J/vefLC+BWSo+qe8OnJQfWTYRS6ingxjwqmHMqaMxXMj7kFtKLgAaYW3JeX3mktjgUL+etlU8/B4VUAUI9QGw== tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: version "1.10.0" @@ -15567,9 +15185,9 @@ tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== tslint@^5.12.0: - version "5.18.0" - resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.18.0.tgz#f61a6ddcf372344ac5e41708095bbf043a147ac6" - integrity sha512-Q3kXkuDEijQ37nXZZLKErssQVnwCV/+23gFEMROi8IlbaBG6tXqLPQJ5Wjcyt/yHPKBC+hD5SzuGaMora+ZS6w== + version "5.19.0" + resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.19.0.tgz#a2cbd4a7699386da823f6b499b8394d6c47bb968" + integrity sha512-1LwwtBxfRJZnUvoS9c0uj8XQtAnyhWr9KlNvDIdB+oXyT+VpsOAaEhEgKi1HrZ8rq0ki/AAnbGSv4KM6/AfVZw== dependencies: "@babel/code-frame" "^7.0.0" builtin-modules "^1.1.1" @@ -15592,10 +15210,10 @@ tsutils@^2.29.0: dependencies: tslib "^1.8.1" -tsutils@^3.7.0: - version "3.14.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.14.0.tgz#bf8d5a7bae5369331fa0f2b0a5a10bd7f7396c77" - integrity sha512-SmzGbB0l+8I0QwsPgjooFRaRvHLBLNYM8SeQ0k6rtNDru5sCGeLJcZdwilNndN+GysuFjF5EIYgN8GfFG6UeUw== +tsutils@^3.14.0: + version "3.17.1" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759" + integrity sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g== dependencies: tslib "^1.8.1" @@ -15628,10 +15246,10 @@ type-fest@^0.3.0: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.3.1.tgz#63d00d204e059474fe5e1b7c011112bbd1dc29e1" integrity sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ== -type-fest@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.4.1.tgz#8bdf77743385d8a4f13ba95f610f5ccd68c728f8" - integrity sha512-IwzA/LSfD2vC1/YDYMv/zHP4rDF1usCwllsDpbolT3D4fUepIO7f9K70jjmUewU/LmGUKJcwcVtDCpnKk4BPMw== +type-fest@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== type-is@~1.6.17, type-is@~1.6.18: version "1.6.18" @@ -15641,6 +15259,11 @@ type-is@~1.6.17, type-is@~1.6.18: media-typer "0.3.0" mime-types "~2.1.24" +type@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/type/-/type-1.0.3.tgz#16f5d39f27a2d28d86e48f8981859e9d3296c179" + integrity sha512-51IMtNfVcee8+9GJvj0spSuFcZHe9vSib6Xtgsny1Km9ugyz2mbS08I3rsUIRYgJohFRFU1160sgRodYz378Hg== + typed-styles@^0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/typed-styles/-/typed-styles-0.0.7.tgz#93392a008794c4595119ff62dde6809dbc40a3d9" @@ -15682,7 +15305,7 @@ uglify-js@3.4.x: commander "~2.19.0" source-map "~0.6.1" -uglify-js@^3.1.4: +uglify-js@^3.1.4, uglify-js@^3.5.1, uglify-js@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.6.0.tgz#704681345c53a8b2079fb6cec294b05ead242ff5" integrity sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg== @@ -15690,27 +15313,19 @@ uglify-js@^3.1.4: commander "~2.20.0" source-map "~0.6.1" -uglify-js@^3.5.12: - version "3.5.15" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.5.15.tgz#fe2b5378fd0b09e116864041437bff889105ce24" - integrity sha512-fe7aYFotptIddkwcm6YuA0HmknBZ52ZzOsUxZEdhhkSsz7RfjHDX2QDxwKTiv4JQ5t5NhfmpgAK+J7LiDhKSqg== - dependencies: - commander "~2.20.0" - source-map "~0.6.1" - -uglifyjs-webpack-plugin@^2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-2.1.3.tgz#b00a18d1acda271deb755c99ba0d93568156eb76" - integrity sha512-/lRkCaFbI6pT3CxsQHDhBcqB6tocOnqba0vJqJ2DzSWFLRgOIiip8q0nVFydyXk+n8UtF7ZuS6hvWopcYH5FuA== +uglifyjs-webpack-plugin@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-2.2.0.tgz#e75bc80e7f1937f725954c9b4c5a1e967ea9d0d7" + integrity sha512-mHSkufBmBuJ+KHQhv5H0MXijtsoA1lynJt1lXOaotja8/I0pR4L9oGaPIZw+bQBOFittXZg9OC1sXSGO9D9ZYg== dependencies: - cacache "^11.3.2" + cacache "^12.0.2" find-cache-dir "^2.1.0" is-wsl "^1.1.0" schema-utils "^1.0.0" serialize-javascript "^1.7.0" source-map "^0.6.1" - uglify-js "^3.5.12" - webpack-sources "^1.3.0" + uglify-js "^3.6.0" + webpack-sources "^1.4.0" worker-farm "^1.7.0" uid-number@0.0.6: @@ -15723,6 +15338,11 @@ umask@^1.1.0: resolved "https://registry.yarnpkg.com/umask/-/umask-1.1.0.tgz#f29cebf01df517912bb58ff9c4e50fde8e33320d" integrity sha1-8pzr8B31F5ErtY/5xOUP3o4zMg0= +unfetch@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/unfetch/-/unfetch-4.1.0.tgz#6ec2dd0de887e58a4dee83a050ded80ffc4137db" + integrity sha512-crP/n3eAPUJxZXM9T80/yv0YhkTEx2K1D3h7D1AJM6fzsWZrxdyRuLN0JH/dkZh1LNH8LxCnBzoPFCPbb2iGpg== + unherit@^1.0.4: version "1.1.2" resolved "https://registry.yarnpkg.com/unherit/-/unherit-1.1.2.tgz#14f1f397253ee4ec95cec167762e77df83678449" @@ -15766,20 +15386,6 @@ unified@^6.1.5: vfile "^2.0.0" x-is-string "^0.1.0" -unified@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/unified/-/unified-7.1.0.tgz#5032f1c1ee3364bd09da12e27fdd4a7553c7be13" - integrity sha512-lbk82UOIGuCEsZhPj8rNAkXSDXd6p0QLzIuSsCdxrqnqU56St4eyOB+AlXsVgVeRmetPTYydIuvFfpDIed8mqw== - dependencies: - "@types/unist" "^2.0.0" - "@types/vfile" "^3.0.0" - bail "^1.0.0" - extend "^3.0.0" - is-plain-obj "^1.1.0" - trough "^1.0.0" - vfile "^3.0.0" - x-is-string "^0.1.0" - union-value@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" @@ -15826,13 +15432,6 @@ unist-util-stringify-position@^1.0.0, unist-util-stringify-position@^1.1.1: resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz#3f37fcf351279dcbca7480ab5889bb8a832ee1c6" integrity sha512-pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ== -unist-util-stringify-position@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-2.0.1.tgz#de2a2bc8d3febfa606652673a91455b6a36fb9f3" - integrity sha512-Zqlf6+FRI39Bah8Q6ZnNGrEHUhwJOkHde2MHVk96lLyftfJJckaPslKgzhVcviXj8KcE9UJM9F+a4JEiBUTYgA== - dependencies: - "@types/unist" "^2.0.2" - unist-util-visit-parents@1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-1.1.2.tgz#f6e3afee8bdbf961c0e6f028ea3c0480028c3d06" @@ -15852,13 +15451,6 @@ unist-util-visit@^1.1.0, unist-util-visit@^1.3.0: dependencies: unist-util-visit-parents "^2.0.0" -universal-user-agent@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-2.1.0.tgz#5abfbcc036a1ba490cb941f8fd68c46d3669e8e4" - integrity sha512-8itiX7G05Tu3mGDTdNY2fB4KJ8MgZLS54RdG6PkkfwMAavrXu1mV/lls/GABx9O3Rw4PnTtasxrvbMQoBYY92Q== - dependencies: - os-name "^3.0.0" - universal-user-agent@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-3.0.0.tgz#4cc88d68097bffd7ac42e3b7c903e7481424b4b9" @@ -15960,6 +15552,13 @@ util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= +util-promisify@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/util-promisify/-/util-promisify-2.1.0.tgz#3c2236476c4d32c5ff3c47002add7c13b9a82a53" + integrity sha1-PCI2R2xNMsX/PEcAKt18E7moKlM= + dependencies: + object.getownpropertydescriptors "^2.0.3" + util.promisify@1.0.0, util.promisify@^1.0.0, util.promisify@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" @@ -15992,16 +15591,21 @@ utils-merge@1.0.1: resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= -uuid@^3.0.1, uuid@^3.1.0, uuid@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" - integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== +uuid@^3.0.1, uuid@^3.1.0, uuid@^3.3.2, uuid@^3.3.3: + version "3.3.3" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866" + integrity sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ== -v8-compile-cache@2.0.3, v8-compile-cache@^2.0.3: +v8-compile-cache@2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz#00f7494d2ae2b688cfe2899df6ed2c54bef91dbe" integrity sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w== +v8-compile-cache@^2.0.3: + version "2.1.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz#e14de37b31a6d194f5690d67efc4e7f6fc6ab30e" + integrity sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g== + validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.3: version "3.0.4" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" @@ -16048,14 +15652,6 @@ vfile-message@^1.0.0: dependencies: unist-util-stringify-position "^1.1.1" -vfile-message@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-2.0.1.tgz#951881861c22fc1eb39f873c0b93e336a64e8f6d" - integrity sha512-KtasSV+uVU7RWhUn4Lw+wW1Zl/nW8JWx7JCPps10Y9JRRIDeDXf8wfBLoOSsJLyo27DqMyAi54C6Jf/d6Kr2Bw== - dependencies: - "@types/unist" "^2.0.2" - unist-util-stringify-position "^2.0.0" - vfile@^2.0.0: version "2.3.0" resolved "https://registry.yarnpkg.com/vfile/-/vfile-2.3.0.tgz#e62d8e72b20e83c324bc6c67278ee272488bf84a" @@ -16066,27 +15662,6 @@ vfile@^2.0.0: unist-util-stringify-position "^1.0.0" vfile-message "^1.0.0" -vfile@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/vfile/-/vfile-3.0.1.tgz#47331d2abe3282424f4a4bb6acd20a44c4121803" - integrity sha512-y7Y3gH9BsUSdD4KzHsuMaCzRjglXN0W2EcMf0gpvu6+SbsGhMje7xDc8AEoeXy6mIwCKMI6BkjMsRjzQbhMEjQ== - dependencies: - is-buffer "^2.0.0" - replace-ext "1.0.0" - unist-util-stringify-position "^1.0.0" - vfile-message "^1.0.0" - -vfile@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/vfile/-/vfile-4.0.1.tgz#fc3d43a1c71916034216bf65926d5ee3c64ed60c" - integrity sha512-lRHFCuC4SQBFr7Uq91oJDJxlnftoTLQ7eKIpMdubhYcVMho4781a8MWXLy3qZrZ0/STD1kRiKc0cQOHm4OkPeA== - dependencies: - "@types/unist" "^2.0.0" - is-buffer "^2.0.0" - replace-ext "1.0.0" - unist-util-stringify-position "^2.0.0" - vfile-message "^2.0.0" - vm-browserify@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.0.tgz#bd76d6a23323e2ca8ffa12028dc04559c75f9019" @@ -16108,18 +15683,7 @@ w3c-xmlserializer@^1.1.2: webidl-conversions "^4.0.2" xml-name-validator "^3.0.0" -wait-on@3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/wait-on/-/wait-on-3.2.0.tgz#c83924df0fc42a675c678324c49c769d378bcb85" - integrity sha512-QUGNKlKLDyY6W/qHdxaRlXUAgLPe+3mLL/tRByHpRNcHs/c7dZXbu+OnJWGNux6tU1WFh/Z8aEwvbuzSAu79Zg== - dependencies: - core-js "^2.5.7" - joi "^13.0.0" - minimist "^1.2.0" - request "^2.88.0" - rx "^4.1.0" - -wait-on@^3.3.0: +wait-on@3.3.0, wait-on@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/wait-on/-/wait-on-3.3.0.tgz#9940981d047a72a9544a97b8b5fca45b2170a082" integrity sha512-97dEuUapx4+Y12aknWZn7D25kkjMk16PbWoYzpSdA8bYpVfS6hpl2a2pOWZ3c+Tyt3/i4/pglyZctG3J4V1hWQ== @@ -16144,14 +15708,14 @@ warning@^3.0.0: dependencies: loose-envify "^1.0.0" -warning@^4.0.1, warning@^4.0.2: +warning@^4.0.1, warning@^4.0.2, warning@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w== dependencies: loose-envify "^1.0.0" -watchpack@^1.5.0: +watchpack@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00" integrity sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA== @@ -16174,11 +15738,6 @@ wcwidth@^1.0.0: dependencies: defaults "^1.0.3" -web-namespaces@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-1.1.3.tgz#9bbf5c99ff0908d2da031f1d732492a96571a83f" - integrity sha512-r8sAtNmgR0WKOKOxzuSgk09JsHlpKlB+uHi937qypOu3PZ17UxPrierFKDye/uNHjNTTEshu5PId8rojIPj/tA== - webidl-conversions@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" @@ -16203,10 +15762,10 @@ webpack-bundle-analyzer@^3.4.1: opener "^1.5.1" ws "^6.0.0" -webpack-cli@^3.3.6: - version "3.3.6" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.3.6.tgz#2c8c399a2642133f8d736a359007a052e060032c" - integrity sha512-0vEa83M7kJtxK/jUhlpZ27WHIOndz5mghWL2O53kiDoA9DIxSKnfqB92LoqEn77cT4f3H2cZm1BMEat/6AZz3A== +webpack-cli@^3.3.7: + version "3.3.7" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.3.7.tgz#77c8580dd8e92f69d635e0238eaf9d9c15759a91" + integrity sha512-OhTUCttAsr+IZSMVwGROGRHvT+QAs8H6/mHIl4SvhAwYywjiylYjpwybGx7WQ9Hkb45FhjtsymkwiRRbGJ1SZQ== dependencies: chalk "2.4.2" cross-spawn "6.0.5" @@ -16230,10 +15789,10 @@ webpack-dev-middleware@^3.7.0: range-parser "^1.2.1" webpack-log "^2.0.0" -webpack-dev-server@^3.4.1: - version "3.7.2" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.7.2.tgz#f79caa5974b7f8b63268ef5421222a8486d792f5" - integrity sha512-mjWtrKJW2T9SsjJ4/dxDC2fkFVUw8jlpemDERqV0ZJIkjjjamR2AbQlr3oz+j4JLhYCHImHnXZK5H06P2wvUew== +webpack-dev-server@^3.8.0: + version "3.8.0" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.8.0.tgz#06cc4fc2f440428508d0e9770da1fef10e5ef28d" + integrity sha512-Hs8K9yI6pyMvGkaPTeTonhD6JXVsigXDApYk9JLW4M7viVBspQvb1WdAcWxqtmttxNW4zf2UFLsLNe0y87pIGQ== dependencies: ansi-html "0.0.7" bonjour "^3.5.0" @@ -16248,23 +15807,25 @@ webpack-dev-server@^3.4.1: import-local "^2.0.0" internal-ip "^4.3.0" ip "^1.1.5" + is-absolute-url "^3.0.0" killable "^1.0.1" loglevel "^1.6.3" opn "^5.5.0" p-retry "^3.0.1" - portfinder "^1.0.20" + portfinder "^1.0.21" schema-utils "^1.0.0" selfsigned "^1.10.4" - semver "^6.1.1" + semver "^6.3.0" serve-index "^1.9.1" sockjs "0.3.19" sockjs-client "1.3.0" - spdy "^4.0.0" + spdy "^4.0.1" strip-ansi "^3.0.1" supports-color "^6.1.0" url "^0.11.0" webpack-dev-middleware "^3.7.0" webpack-log "^2.0.0" + ws "^6.2.1" yargs "12.0.5" webpack-hot-middleware@^2.25.0: @@ -16295,72 +15856,42 @@ webpack-log@^2.0.0: ansi-colors "^3.0.0" uuid "^3.3.2" -webpack-sources@^1.1.0, webpack-sources@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.3.0.tgz#2a28dcb9f1f45fe960d8f1493252b5ee6530fa85" - integrity sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA== +webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1: + version "1.4.3" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" + integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== dependencies: source-list-map "^2.0.0" source-map "~0.6.1" -webpack@^4.33.0: - version "4.35.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.35.0.tgz#ad3f0f8190876328806ccb7a36f3ce6e764b8378" - integrity sha512-M5hL3qpVvtr8d4YaJANbAQBc4uT01G33eDpl/psRTBCfjxFTihdhin1NtAKB1ruDwzeVdcsHHV3NX+QsAgOosw== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-module-context" "1.8.5" - "@webassemblyjs/wasm-edit" "1.8.5" - "@webassemblyjs/wasm-parser" "1.8.5" - acorn "^6.0.5" - acorn-dynamic-import "^4.0.0" - ajv "^6.1.0" - ajv-keywords "^3.1.0" - chrome-trace-event "^1.0.0" - enhanced-resolve "^4.1.0" - eslint-scope "^4.0.0" - json-parse-better-errors "^1.0.2" - loader-runner "^2.3.0" - loader-utils "^1.1.0" - memory-fs "~0.4.1" - micromatch "^3.1.8" - mkdirp "~0.5.0" - neo-async "^2.5.0" - node-libs-browser "^2.0.0" - schema-utils "^1.0.0" - tapable "^1.1.0" - terser-webpack-plugin "^1.1.0" - watchpack "^1.5.0" - webpack-sources "^1.3.0" - -webpack@^4.38.0: - version "4.38.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.38.0.tgz#6d77108404b08883c78f4e7e45a43c4e5c47c931" - integrity sha512-lbuFsVOq8PZY+1Ytz/mYOvYOo+d4IJ31hHk/7iyoeWtwN33V+5HYotSH+UIb9tq914ey0Hot7z6HugD+je3sWw== +webpack@^4.33.0, webpack@^4.38.0, webpack@^4.39.2: + version "4.39.3" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.39.3.tgz#a02179d1032156b713b6ec2da7e0df9d037def50" + integrity sha512-BXSI9M211JyCVc3JxHWDpze85CvjC842EvpRsVTc/d15YJGlox7GIDd38kJgWrb3ZluyvIjgenbLDMBQPDcxYQ== dependencies: "@webassemblyjs/ast" "1.8.5" "@webassemblyjs/helper-module-context" "1.8.5" "@webassemblyjs/wasm-edit" "1.8.5" "@webassemblyjs/wasm-parser" "1.8.5" - acorn "^6.2.0" - ajv "^6.1.0" - ajv-keywords "^3.1.0" - chrome-trace-event "^1.0.0" + acorn "^6.2.1" + ajv "^6.10.2" + ajv-keywords "^3.4.1" + chrome-trace-event "^1.0.2" enhanced-resolve "^4.1.0" - eslint-scope "^4.0.0" + eslint-scope "^4.0.3" json-parse-better-errors "^1.0.2" - loader-runner "^2.3.0" - loader-utils "^1.1.0" - memory-fs "~0.4.1" - micromatch "^3.1.8" - mkdirp "~0.5.0" - neo-async "^2.5.0" - node-libs-browser "^2.0.0" + loader-runner "^2.4.0" + loader-utils "^1.2.3" + memory-fs "^0.4.1" + micromatch "^3.1.10" + mkdirp "^0.5.1" + neo-async "^2.6.1" + node-libs-browser "^2.2.1" schema-utils "^1.0.0" - tapable "^1.1.0" - terser-webpack-plugin "^1.1.0" - watchpack "^1.5.0" - webpack-sources "^1.3.0" + tapable "^1.1.3" + terser-webpack-plugin "^1.4.1" + watchpack "^1.6.0" + webpack-sources "^1.4.1" websocket-driver@>=0.5.1: version "0.7.3" @@ -16567,7 +16098,7 @@ ws@^5.2.0: dependencies: async-limiter "~1.0.0" -ws@^6.0.0: +ws@^6.0.0, ws@^6.2.1: version "6.2.1" resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb" integrity sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA== @@ -16575,9 +16106,9 @@ ws@^6.0.0: async-limiter "~1.0.0" ws@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.0.0.tgz#79351cbc3f784b3c20d0821baf4b4ff809ffbf51" - integrity sha512-cknCal4k0EAOrh1SHHPPWWh4qm93g1IuGGGwBjWkXmCG7LsDtL8w9w+YVfaF+KSVwiHQKDIMsSLBVftKf9d1pg== + version "7.1.2" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.1.2.tgz#c672d1629de8bb27a9699eb599be47aeeedd8f73" + integrity sha512-gftXq3XI81cJCgkUiAVixA0raD9IVmXqsylCrjRygw4+UOOGzPoxnQ6r/CnVL9i+mDncJo94tSkyrtuuQVBmrg== dependencies: async-limiter "^1.0.0" @@ -16591,15 +16122,15 @@ xml-name-validator@^3.0.0: resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== -xmlchars@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-1.3.1.tgz#1dda035f833dbb4f86a0c28eaa6ca769214793cf" - integrity sha512-tGkGJkN8XqCod7OT+EvGYK5Z4SfDQGD30zAa58OcnAa0RRWgzUEK72tkXhsX1FZd+rgnhRxFtmO+ihkp8LHSkw== +xmlchars@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.1.1.tgz#ef1a81c05bff629c2280007f12daca21bd6f6c93" + integrity sha512-7hew1RPJ1iIuje/Y01bGD/mXokXxegAgVS+e+E0wSi2ILHQkYAH1+JXARwTjZSM4Z4Z+c73aKspEcqj+zPPL/w== xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" - integrity sha1-pcbVMr5lbiPbgg77lDofBJmNY68= + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== "y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0: version "4.0.0" @@ -16631,7 +16162,7 @@ yargs-parser@^11.1.1: camelcase "^5.0.0" decamelize "^1.2.0" -yargs-parser@^13.1.0: +yargs-parser@^13.1.0, yargs-parser@^13.1.1: version "13.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz#d26058532aa06d365fe091f6a1fc06b2f7e5eca0" integrity sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ== @@ -16639,7 +16170,7 @@ yargs-parser@^13.1.0: camelcase "^5.0.0" decamelize "^1.2.0" -yargs@12.0.5, yargs@^12.0.1, yargs@^12.0.2: +yargs@12.0.5, yargs@^12.0.1: version "12.0.5" resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw== @@ -16674,6 +16205,22 @@ yargs@13.2.4: y18n "^4.0.0" yargs-parser "^13.1.0" +yargs@^13.3.0: + version "13.3.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.0.tgz#4c657a55e07e5f2cf947f8a366567c04a0dedc83" + integrity sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA== + dependencies: + cliui "^5.0.0" + find-up "^3.0.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^3.0.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^13.1.1" + yauzl@2.10.0: version "2.10.0" resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9"