From 96c459e59ef8deed80765da33ac139a1c45015f0 Mon Sep 17 00:00:00 2001 From: CD Cabrera Date: Wed, 24 Jun 2020 14:47:51 -0400 Subject: [PATCH] fix(build): issues/296 npm updates for platform (#326) * build, platform specific npm resources * chartArea, fix resize method, relates to left nav * pageHeader, revert title to platform version * redux, middleware, reducer, types, update notifications import * styles, move css files to src/index.js to avoid breaking sass --- package.json | 6 +- src/components/app.js | 2 +- .../__snapshots__/authentication.test.js.snap | 24 +++-- src/components/c3GraphCard/c3GraphCard.js | 2 +- src/components/chartArea/chartArea.js | 52 +++++++--- src/components/graphCard/graphCard.js | 2 +- .../__snapshots__/pageHeader.test.js.snap | 56 ++++++++--- .../__snapshots__/pageLayout.test.js.snap | 24 +++-- src/components/pageLayout/pageHeader.js | 14 +-- src/components/pageLayout/pageSection.js | 2 +- src/components/pageLayout/pageToolbar.js | 2 +- src/index.js | 2 + src/redux/middleware/index.js | 2 +- src/redux/reducers/index.js | 2 +- src/redux/types/platformTypes.js | 2 +- src/styles/index.scss | 9 +- yarn.lock | 97 ++++++++++++++++--- 17 files changed, 218 insertions(+), 82 deletions(-) diff --git a/package.json b/package.json index 6d0b27c49..eb4e1df71 100644 --- a/package.json +++ b/package.json @@ -82,9 +82,9 @@ "@patternfly/react-icons": "4.4.2", "@patternfly/react-styles": "4.4.2", "@patternfly/react-tokens": "4.5.2", - "@redhat-cloud-services/frontend-components": "1.0.29", - "@redhat-cloud-services/frontend-components-notifications": "1.0.4", - "@redhat-cloud-services/frontend-components-utilities": "1.0.4", + "@redhat-cloud-services/frontend-components": "2.1.1", + "@redhat-cloud-services/frontend-components-notifications": "2.1.0", + "@redhat-cloud-services/frontend-components-utilities": "2.1.0", "axios": "^0.19.2", "c3": "^0.7.15", "classnames": "^2.2.6", diff --git a/src/components/app.js b/src/components/app.js index b6e1af3cd..d6545b480 100644 --- a/src/components/app.js +++ b/src/components/app.js @@ -1,6 +1,6 @@ import React from 'react'; import PropTypes from 'prop-types'; -import { NotificationsPortal } from '@redhat-cloud-services/frontend-components-notifications'; +import { NotificationsPortal } from '@redhat-cloud-services/frontend-components-notifications/cjs'; import { connectRouter, reduxActions } from '../redux'; import { helpers } from '../common/helpers'; import { I18n } from './i18n/i18n'; diff --git a/src/components/authentication/__tests__/__snapshots__/authentication.test.js.snap b/src/components/authentication/__tests__/__snapshots__/authentication.test.js.snap index 636c767f5..1dc0a1f0a 100644 --- a/src/components/authentication/__tests__/__snapshots__/authentication.test.js.snap +++ b/src/components/authentication/__tests__/__snapshots__/authentication.test.js.snap @@ -73,15 +73,25 @@ exports[`Authentication Component should render a non-connected component error: className="pf-l-page-header pf-c-page-header pf-l-page__main-section pf-c-page__main-section pf-m-light" widget-type="InsightsPageHeader" > - - <h1 - className="pf-c-title pf-m-2xl" + <Title + className="" + headingLevel="h1" + size="2xl" + widget-type="InsightsPageHeaderTitle" > - Subscription Watch - </h1> - +

+ + Subscription Watch + +

+ + diff --git a/src/components/c3GraphCard/c3GraphCard.js b/src/components/c3GraphCard/c3GraphCard.js index 42f31a1d0..62e813d61 100644 --- a/src/components/c3GraphCard/c3GraphCard.js +++ b/src/components/c3GraphCard/c3GraphCard.js @@ -1,7 +1,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import { Card, CardTitle, CardHeader, CardActions, CardBody } from '@patternfly/react-core'; -import { Skeleton, SkeletonSize } from '@redhat-cloud-services/frontend-components/components/Skeleton'; +import { Skeleton, SkeletonSize } from '@redhat-cloud-services/frontend-components/components/cjs/Skeleton'; import _isEqual from 'lodash/isEqual'; import { Select } from '../form/select'; import { connectTranslate, reduxActions, reduxSelectors, reduxTypes, store } from '../../redux'; diff --git a/src/components/chartArea/chartArea.js b/src/components/chartArea/chartArea.js index ec69f225b..614c63873 100644 --- a/src/components/chartArea/chartArea.js +++ b/src/components/chartArea/chartArea.js @@ -27,32 +27,20 @@ class ChartArea extends React.Component { dataSetsToggle = {}; + resizeObserver = helpers.noop; + containerRef = React.createRef(); tooltipRef = React.createRef(); componentDidMount() { - this.onResizeContainer(); - window.addEventListener('resize', this.onResizeContainer); + this.setResizeObserve(); } componentWillUnmount() { - window.removeEventListener('resize', this.onResizeContainer); + this.resizeObserver(); } - /** - * On window resize adjust graph display. - * - * @event onResizeContainer - */ - onResizeContainer = () => { - const containerElement = this.containerRef.current; - - if (containerElement && containerElement.clientWidth) { - this.setState({ chartWidth: containerElement.clientWidth }); - } - }; - /** * Consumer exposed, hides chart layer. * @@ -89,6 +77,20 @@ class ChartArea extends React.Component { return updatedToggle; }; + /** + * On resize adjust graph display. + * + * @event onResizeContainer + */ + onResizeContainer = () => { + const { chartWidth } = this.state; + const { clientWidth = 0 } = this.containerRef.current || {}; + + if (clientWidth !== chartWidth) { + this.setState({ chartWidth: clientWidth }); + } + }; + /** * Consumer exposed, determine if chart layer on/off. * Note: Using "setState" as related to this exposed check gives the appearance of a race condition. @@ -99,6 +101,24 @@ class ChartArea extends React.Component { */ getIsToggled = id => this.dataSetsToggle[id] || false; + /** + * Set ResizeObserver for scenarios where the window.resize event doesn't fire. + */ + setResizeObserve() { + const containerElement = this.containerRef.current; + const { ResizeObserver } = window; + + if (containerElement && ResizeObserver) { + const resizeObserver = new ResizeObserver(this.onResizeContainer); + resizeObserver.observe(containerElement); + this.resizeObserver = () => resizeObserver.unobserve(containerElement); + } else { + this.onResizeContainer(); + window.addEventListener('resize', this.onResizeContainer); + this.resizeObserver = () => window.removeEventListener('resize', this.onResizeContainer); + } + } + /** * Apply props, set x and y axis chart increments/ticks formatting. * diff --git a/src/components/graphCard/graphCard.js b/src/components/graphCard/graphCard.js index bdd0a845b..f4a9dcaad 100644 --- a/src/components/graphCard/graphCard.js +++ b/src/components/graphCard/graphCard.js @@ -2,7 +2,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import { Card, CardTitle, CardHeader, CardActions, CardBody } from '@patternfly/react-core'; import { chart_color_green_300 as chartColorGreenDark } from '@patternfly/react-tokens'; -import { Skeleton, SkeletonSize } from '@redhat-cloud-services/frontend-components/components/Skeleton'; +import { Skeleton, SkeletonSize } from '@redhat-cloud-services/frontend-components/components/cjs/Skeleton'; import _isEqual from 'lodash/isEqual'; import { Select } from '../form/select'; import { connectTranslate, reduxActions, reduxSelectors, reduxTypes, store } from '../../redux'; diff --git a/src/components/pageLayout/__tests__/__snapshots__/pageHeader.test.js.snap b/src/components/pageLayout/__tests__/__snapshots__/pageHeader.test.js.snap index 697cb2c32..f92f83c1c 100644 --- a/src/components/pageLayout/__tests__/__snapshots__/pageHeader.test.js.snap +++ b/src/components/pageLayout/__tests__/__snapshots__/pageHeader.test.js.snap @@ -7,19 +7,35 @@ exports[`PageHeader Component should render a basic component: basic 1`] = ` className="pf-l-page-header pf-c-page-header pf-l-page__main-section pf-c-page__main-section pf-m-light" widget-type="InsightsPageHeader" > - - <h1 - className="pf-c-title pf-m-2xl" - > + <PageHeaderTitle + title={ <span className="test" > lorem </span> - </h1> - + } + > + + <h1 + className="pf-c-title pf-m-2xl" + widget-type="InsightsPageHeaderTitle" + > + + <span + className="test" + > + lorem + </span> + + </h1> + + @@ -32,15 +48,25 @@ exports[`PageHeader Component should render string node types: string 1`] = ` className="pf-l-page-header pf-c-page-header pf-l-page__main-section pf-c-page__main-section pf-m-light" widget-type="InsightsPageHeader" > - - <h1 - className="pf-c-title pf-m-2xl" + <Title + className="" + headingLevel="h1" + size="2xl" + widget-type="InsightsPageHeaderTitle" > - dolor sit - </h1> - +

+ + dolor sit + +

+ + diff --git a/src/components/pageLayout/__tests__/__snapshots__/pageLayout.test.js.snap b/src/components/pageLayout/__tests__/__snapshots__/pageLayout.test.js.snap index 24bdc5a3b..9c08891f8 100644 --- a/src/components/pageLayout/__tests__/__snapshots__/pageLayout.test.js.snap +++ b/src/components/pageLayout/__tests__/__snapshots__/pageLayout.test.js.snap @@ -29,15 +29,25 @@ exports[`PageLayout Component should render header and section children: multipl className="pf-l-page-header pf-c-page-header pf-l-page__main-section pf-c-page__main-section pf-m-light" widget-type="InsightsPageHeader" > - - <h1 - className="pf-c-title pf-m-2xl" + <Title + className="" + headingLevel="h1" + size="2xl" + widget-type="InsightsPageHeaderTitle" > - lorem - </h1> - +

+ + lorem + +

+ + diff --git a/src/components/pageLayout/pageHeader.js b/src/components/pageLayout/pageHeader.js index f3f0dfc63..2ba54567c 100644 --- a/src/components/pageLayout/pageHeader.js +++ b/src/components/pageLayout/pageHeader.js @@ -1,7 +1,9 @@ import React from 'react'; import PropTypes from 'prop-types'; -import { Title } from '@patternfly/react-core'; -import { PageHeader as RcsPageHeader } from '@redhat-cloud-services/frontend-components/components/PageHeader'; +import { + PageHeader as RcsPageHeader, + PageHeaderTitle +} from '@redhat-cloud-services/frontend-components/components/cjs/PageHeader'; /** * Render a platform page header. @@ -12,7 +14,7 @@ import { PageHeader as RcsPageHeader } from '@redhat-cloud-services/frontend-com */ const PageHeader = ({ children }) => ( - {children} + ); @@ -22,14 +24,12 @@ const PageHeader = ({ children }) => ( * @type {{children: Node}} */ PageHeader.propTypes = { - children: PropTypes.any + children: PropTypes.node.isRequired }; /** * Default props. */ -PageHeader.defaultProps = { - children: null -}; +PageHeader.defaultProps = {}; export { PageHeader as default, PageHeader }; diff --git a/src/components/pageLayout/pageSection.js b/src/components/pageLayout/pageSection.js index 4b1e1d057..48de1b045 100644 --- a/src/components/pageLayout/pageSection.js +++ b/src/components/pageLayout/pageSection.js @@ -1,6 +1,6 @@ import React from 'react'; import PropTypes from 'prop-types'; -import { Section } from '@redhat-cloud-services/frontend-components/components/Section'; +import { Section } from '@redhat-cloud-services/frontend-components/components/cjs/Section'; /** * Render a platform page section. diff --git a/src/components/pageLayout/pageToolbar.js b/src/components/pageLayout/pageToolbar.js index 6087b0b69..ae866d201 100644 --- a/src/components/pageLayout/pageToolbar.js +++ b/src/components/pageLayout/pageToolbar.js @@ -1,6 +1,6 @@ import React from 'react'; import PropTypes from 'prop-types'; -import { Section } from '@redhat-cloud-services/frontend-components/components/Section'; +import { Section } from '@redhat-cloud-services/frontend-components/components/cjs/Section'; /** * Render a platform toolbar section. diff --git a/src/index.js b/src/index.js index 5635271c2..f83f438a5 100644 --- a/src/index.js +++ b/src/index.js @@ -5,6 +5,8 @@ import { BrowserRouter } from 'react-router-dom'; import { baseName } from './components/router/routerHelpers'; import { store } from './redux'; import App from './components/app'; +import '@redhat-cloud-services/frontend-components/index.css'; +import '@redhat-cloud-services/frontend-components-notifications/index.css'; import './styles/index.scss'; render( diff --git a/src/redux/middleware/index.js b/src/redux/middleware/index.js index 221e2f8c3..87394e045 100644 --- a/src/redux/middleware/index.js +++ b/src/redux/middleware/index.js @@ -1,7 +1,7 @@ import { createLogger } from 'redux-logger'; import promiseMiddleware from 'redux-promise-middleware'; import thunkMiddleware from 'redux-thunk'; -import { notificationsMiddleware } from '@redhat-cloud-services/frontend-components-notifications'; +import { notificationsMiddleware } from '@redhat-cloud-services/frontend-components-notifications/cjs'; import { statusMiddleware } from './statusMiddleware'; import { reduxHelpers } from '../common/reduxHelpers'; diff --git a/src/redux/reducers/index.js b/src/redux/reducers/index.js index 1d00febe7..01ac46f51 100644 --- a/src/redux/reducers/index.js +++ b/src/redux/reducers/index.js @@ -1,5 +1,5 @@ import { combineReducers } from 'redux'; -import { notifications } from '@redhat-cloud-services/frontend-components-notifications'; +import { notifications } from '@redhat-cloud-services/frontend-components-notifications/cjs'; import graphReducer from './graphReducer'; import inventoryReducer from './inventoryReducer'; import viewReducer from './viewReducer'; diff --git a/src/redux/types/platformTypes.js b/src/redux/types/platformTypes.js index 314d50e05..22a606d85 100644 --- a/src/redux/types/platformTypes.js +++ b/src/redux/types/platformTypes.js @@ -2,7 +2,7 @@ import { ADD_NOTIFICATION, REMOVE_NOTIFICATION, CLEAR_NOTIFICATIONS -} from '@redhat-cloud-services/frontend-components-notifications'; +} from '@redhat-cloud-services/frontend-components-notifications/cjs'; const PLATFORM_ADD_NOTIFICATION = ADD_NOTIFICATION; const PLATFORM_REMOVE_NOTIFICATION = REMOVE_NOTIFICATION; diff --git a/src/styles/index.scss b/src/styles/index.scss index f4afbea25..c492494aa 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -1,8 +1,11 @@ // Framework @import '~@redhat-cloud-services/frontend-components-utilities/files/Utilities/_all'; -@import '~@redhat-cloud-services/frontend-components/index.css'; -@import '~@redhat-cloud-services/frontend-components-notifications/index.css'; -@import '~@patternfly/patternfly/sass-utilities/all'; +/** + * FixMe: Variables break Sass compiler + * Sass compiler throws an error when coming across the following syntax in + * --BackgroundUrl:url("d... + * Workaround is to move the CSS files to ./src/index.js + */ // App @import 'app'; diff --git a/yarn.lock b/yarn.lock index 60077d932..8830604b8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1556,12 +1556,12 @@ resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.4.2.tgz#7c6dc4ecef16149fd7a736710baa1b811017fdca" integrity sha512-JlGTGRYHC2QK+DDbePyXdBdooxFq2+noLfWpRqJtkxcb/oYWzOF0kcbfvvbWrwevCC1l6hLUg1wHYT+ona5BWQ== -"@redhat-cloud-services/frontend-components-notifications@1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@redhat-cloud-services/frontend-components-notifications/-/frontend-components-notifications-1.0.4.tgz#dc2558157423fbe9280ddae0321e46b59bafe390" - integrity sha512-2/VduHYcpoNuSJlSht76ECfDiXCHa0WDC7XuWLFd0hv5U9xtnyqcZePubuJ1Oga0Xvv+DhEMv9ri6mayGcF8Uw== +"@redhat-cloud-services/frontend-components-notifications@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@redhat-cloud-services/frontend-components-notifications/-/frontend-components-notifications-2.1.0.tgz#440d6da5983f92306eb504bb559a8799211e3caa" + integrity sha512-MNZ8edZnRLb+0S8xBhk3DmAr3vdYRXY73QcuFrQdUojY6vGSN8Q6RqwMXlzYBn5AJVCSYeIuqsKxT36WTdFo+A== dependencies: - "@redhat-cloud-services/frontend-components-utilities" "*" + "@redhat-cloud-services/frontend-components-utilities" "2.1.0-beta" "@redhat-cloud-services/frontend-components-utilities@*": version "1.0.0" @@ -1574,23 +1574,35 @@ commander "^2.20.0" react-content-loader "^3.4.1" -"@redhat-cloud-services/frontend-components-utilities@1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@redhat-cloud-services/frontend-components-utilities/-/frontend-components-utilities-1.0.4.tgz#3ef2ac281092706d9617bb03495e2abd2b9e01fd" - integrity sha512-BrYSvQmJq6Y2kqwAKiLVdQm65/h5MvC/Yuj1nqs2Gdi7iG45fdfHGnCrTr1Q+lPP+q/qlCD8WRshuQukiVsYbA== +"@redhat-cloud-services/frontend-components-utilities@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@redhat-cloud-services/frontend-components-utilities/-/frontend-components-utilities-2.1.0.tgz#578f2732b124a45fca6cfd0156e96b71ff8353b8" + integrity sha512-CeEaT/LA9icJDEZZBfodTOwg7jsLpzivL0htCUJBw5YCsCMLQ141FDOQaSgFAv7R5ZTo+bqlo0RpvkC9G2Bl0w== dependencies: "@sentry/browser" "^5.4.0" awesome-debounce-promise "^2.1.0" axios "^0.19.0" - commander "^2.20.0" - react-content-loader "^3.4.1" + commander ">=2.20.0" + react-content-loader ">=3.4.1" -"@redhat-cloud-services/frontend-components@1.0.29": - version "1.0.29" - resolved "https://registry.yarnpkg.com/@redhat-cloud-services/frontend-components/-/frontend-components-1.0.29.tgz#2b36de323cbc18e9b022f06adb730ff4002fdd61" - integrity sha512-BDxhalvdxB5M1yXSr1m33GDYyCh9LNLGQTWBdVHUnvMP2aIDOduh6+Hu2bNdikvSYll3BHAUhzKD5SrXZcXTbg== +"@redhat-cloud-services/frontend-components-utilities@2.1.0-beta": + version "2.1.0-beta" + resolved "https://registry.yarnpkg.com/@redhat-cloud-services/frontend-components-utilities/-/frontend-components-utilities-2.1.0-beta.tgz#ab8c7b0f34dfd24668c36acb2f3196676595d2f7" + integrity sha512-4qF+ElZaBRXnWtdpIY/VF2TA4sGTkHbHUQVy3gV6Uu1h2YHpuxhKuiJhB/Gq/BgPmkU7yVV2Dpm//iCe6ObOUg== + dependencies: + "@sentry/browser" "^5.4.0" + awesome-debounce-promise "^2.1.0" + axios "^0.19.0" + commander ">=2.20.0" + react-content-loader ">=3.4.1" + +"@redhat-cloud-services/frontend-components@2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@redhat-cloud-services/frontend-components/-/frontend-components-2.1.1.tgz#9f066e2d5163b655129c79a1e5c8a730db822e09" + integrity sha512-e2MTCBcmGhmLthky28gkgspUQprluFn/XI5UNnFqqEbE0HaX9O4BLxRoiH5qV2fDsl3FnA9gmeUpJjwO/hbBaw== dependencies: "@redhat-cloud-services/frontend-components-utilities" "*" + sanitize-html "^1.25.0" "@sentry/browser@^5.4.0": version "5.12.5" @@ -3503,6 +3515,11 @@ commander@2, commander@^2.11.0, commander@^2.19.0, commander@^2.20.0, commander@ resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== +commander@>=2.20.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" + integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== + commander@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" @@ -4762,7 +4779,7 @@ dom-converter@^0.2: dependencies: utila "~0.4" -dom-serializer@0: +dom-serializer@0, dom-serializer@^0.2.1: version "0.2.2" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== @@ -4807,6 +4824,13 @@ domhandler@^2.3.0: dependencies: domelementtype "1" +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" @@ -4823,6 +4847,15 @@ domutils@^1.5.1, domutils@^1.7.0: dom-serializer "0" domelementtype "1" +domutils@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.1.0.tgz#7ade3201af43703fde154952e3a868eb4b635f16" + integrity sha512-CD9M0Dm1iaHfQ1R/TI+z3/JWp/pgub0j4jIQKH89ARR4ATAV2nbaOQS5XxU9maJP5jHaPdDDQSEHuE2UmpUTKg== + dependencies: + dom-serializer "^0.2.1" + domelementtype "^2.0.1" + domhandler "^3.0.0" + dot-case@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.3.tgz#21d3b52efaaba2ea5fda875bb1aa8124521cf4aa" @@ -6539,6 +6572,16 @@ htmlparser2@^3.3.0, htmlparser2@^3.9.1: inherits "^2.0.1" readable-stream "^3.1.1" +htmlparser2@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-4.1.0.tgz#9a4ef161f2e4625ebf7dfbe6c0a2f52d18a59e78" + integrity sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q== + dependencies: + domelementtype "^2.0.1" + domhandler "^3.0.0" + domutils "^2.0.0" + entities "^2.0.0" + http-deceiver@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" @@ -10553,6 +10596,11 @@ react-app-polyfill@^1.0.6: regenerator-runtime "^0.13.3" whatwg-fetch "^3.0.0" +react-content-loader@>=3.4.1: + version "5.1.0" + resolved "https://registry.yarnpkg.com/react-content-loader/-/react-content-loader-5.1.0.tgz#7da2b75aefcdb2571df88ddc61a6f76a413ff616" + integrity sha512-80t5SYxLCXDvpaRRH/p4tV8RGGPBM7YAWwA+mARCJWRj4IkcEnJxkPGboBENgkBmyG4xsMAsa/dgy93DXoQ1dA== + react-content-loader@^3.4.1: version "3.4.2" resolved "https://registry.yarnpkg.com/react-content-loader/-/react-content-loader-3.4.2.tgz#187fbec2aa389635e4613faa046713f196173f40" @@ -11373,6 +11421,18 @@ sane@^4.0.3: minimist "^1.1.1" walker "~1.0.5" +sanitize-html@^1.25.0: + version "1.27.0" + resolved "https://registry.yarnpkg.com/sanitize-html/-/sanitize-html-1.27.0.tgz#42104a2d59f1a48b616b5165ad5349824861e580" + integrity sha512-U1btucGeYVpg0GoK43jPpe/bDCV4cBOGuxzv5NBd0bOjyZdMKY0n98S/vNlO1wVwre0VCj8H3hbzE7gD2+RjKA== + dependencies: + chalk "^2.4.1" + htmlparser2 "^4.1.0" + lodash "^4.17.15" + postcss "^7.0.27" + srcset "^2.0.1" + xtend "^4.0.1" + sanitize.css@^10.0.0: version "10.0.0" resolved "https://registry.yarnpkg.com/sanitize.css/-/sanitize.css-10.0.0.tgz#b5cb2547e96d8629a60947544665243b1dc3657a" @@ -11868,6 +11928,11 @@ sprintf-js@~1.0.2: resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= +srcset@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/srcset/-/srcset-2.0.1.tgz#8f842d357487eb797f413d9c309de7a5149df5ac" + integrity sha512-00kZI87TdRKwt+P8jj8UZxbfp7mK2ufxcIMWvhAOZNJTRROimpHeruWrGvCZneiuVDLqdyHefVp748ECTnyUBQ== + sshpk@^1.7.0: version "1.16.1" resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877"