@civicactions/cmsds-open-data-components 1.9.1 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,10 @@
1
1
  @import './components';
2
2
  @import './templates';
3
3
 
4
+ main {
5
+ padding-bottom: 100px;
6
+ }
7
+
4
8
  .dc-c-word-break--all {
5
9
  word-break: break-all;
6
10
  }
@@ -2,7 +2,6 @@
2
2
 
3
3
  .dc-c-footer {
4
4
  background-color: white;
5
- padding-top: 100px;
6
5
  ul {
7
6
  margin: 0;
8
7
  padding: 0;
@@ -1,69 +1,22 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.frequencyMap = void 0;
7
- var frequencyMap = {
8
- 'R/P10Y': {
9
- name: 'Decennial'
10
- },
11
- 'R/P4Y': {
12
- name: 'Quadrennial'
13
- },
14
- 'R/P1Y': {
15
- name: 'Annual'
16
- },
17
- 'R/P2M': {
18
- name: 'Bimonthly'
19
- },
20
- 'R/P3.5D': {
21
- name: 'Semiweekly'
22
- },
23
- 'R/P1D': {
24
- name: 'Daily'
25
- },
26
- 'R/P2W': {
27
- name: 'Biweekly'
28
- },
29
- 'R/P6M': {
30
- name: 'Semiannual'
31
- },
32
- 'R/P2Y': {
33
- name: 'Biennial'
34
- },
35
- 'R/P3Y': {
36
- name: 'Triennial'
37
- },
38
- 'R/P0.33W': {
39
- name: 'Three times a week'
40
- },
41
- 'R/P0.33M': {
42
- name: 'Three times a month'
43
- },
44
- 'R/PT1S': {
45
- name: 'Continuously updated'
46
- },
47
- 'R/P1M': {
48
- name: 'Monthly'
49
- },
50
- 'R/P3M': {
51
- name: 'Quarterly'
52
- },
53
- 'R/P0.5M': {
54
- name: 'Semimonthly'
55
- },
56
- 'R/P4M': {
57
- name: 'Three times a year'
58
- },
59
- 'R/P1W': {
60
- name: 'Weekly'
61
- },
62
- 'R/PT1H': {
63
- name: 'Hourly'
64
- },
65
- irregular: {
66
- name: 'Irregular'
67
- }
1
+ export const frequencyMap = {
2
+ 'R/P10Y': { name: 'Decennial' },
3
+ 'R/P4Y': { name: 'Quadrennial' },
4
+ 'R/P1Y': { name: 'Annual' },
5
+ 'R/P2M': { name: 'Bimonthly' },
6
+ 'R/P3.5D': { name: 'Semiweekly' },
7
+ 'R/P1D': { name: 'Daily' },
8
+ 'R/P2W': { name: 'Biweekly' },
9
+ 'R/P6M': { name: 'Semiannual' },
10
+ 'R/P2Y': { name: 'Biennial' },
11
+ 'R/P3Y': { name: 'Triennial' },
12
+ 'R/P0.33W': { name: 'Three times a week' },
13
+ 'R/P0.33M': { name: 'Three times a month' },
14
+ 'R/PT1S': { name: 'Continuously updated' },
15
+ 'R/P1M': { name: 'Monthly' },
16
+ 'R/P3M': { name: 'Quarterly' },
17
+ 'R/P0.5M': { name: 'Semimonthly' },
18
+ 'R/P4M': { name: 'Three times a year' },
19
+ 'R/P1W': { name: 'Weekly' },
20
+ 'R/PT1H': { name: 'Hourly' },
21
+ irregular: { name: 'Irregular' },
68
22
  };
69
- exports.frequencyMap = frequencyMap;
@@ -9,7 +9,7 @@ exports.defaultMetadataMapping = void 0;
9
9
 
10
10
  var _react = _interopRequireDefault(require("react"));
11
11
 
12
- var _router = require("@reach/router");
12
+ var _reactRouterDom = require("react-router-dom");
13
13
 
14
14
  var _TransformedDate = _interopRequireDefault(require("../components/TransformedDate"));
15
15
 
@@ -93,7 +93,7 @@ var defaultMetadataMapping = {
93
93
  return [{
94
94
  label: 'Category',
95
95
  value: data.map(function (theme) {
96
- return /*#__PURE__*/_react["default"].createElement(_router.Link, {
96
+ return /*#__PURE__*/_react["default"].createElement(_reactRouterDom.Link, {
97
97
  key: theme.data,
98
98
  to: "/datasets?theme[]=".concat(theme.data)
99
99
  }, theme.data);
@@ -106,7 +106,7 @@ var defaultMetadataMapping = {
106
106
  return [{
107
107
  label: 'Tags',
108
108
  value: data.map(function (keyword) {
109
- return /*#__PURE__*/_react["default"].createElement(_router.Link, {
109
+ return /*#__PURE__*/_react["default"].createElement(_reactRouterDom.Link, {
110
110
  key: keyword.data,
111
111
  to: "/datasets?keyword[]=".concat(keyword.data)
112
112
  }, keyword.data);
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { Link } from '@reach/router';
2
+ import { Link } from 'react-router-dom';
3
3
  import TransformedDate from '../components/TransformedDate';
4
4
  import { frequencyMap } from './frequencyMap';
5
5
 
@@ -11,7 +11,7 @@ var _react = _interopRequireDefault(require("react"));
11
11
 
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
 
14
- var _router = require("@reach/router");
14
+ var _reactRouterDom = require("react-router-dom");
15
15
 
16
16
  var Breadcrumb = function Breadcrumb(_ref) {
17
17
  var currentPage = _ref.currentPage,
@@ -20,7 +20,7 @@ var Breadcrumb = function Breadcrumb(_ref) {
20
20
  var pageTrailContent = pageTrail.map(function (page) {
21
21
  return /*#__PURE__*/_react["default"].createElement("li", {
22
22
  "class": "dc-c-breadcrumb__list-item"
23
- }, /*#__PURE__*/_react["default"].createElement(_router.Link, {
23
+ }, /*#__PURE__*/_react["default"].createElement(_reactRouterDom.Link, {
24
24
  to: page.path,
25
25
  "class": "dc-c-breadcrumb__link"
26
26
  }, /*#__PURE__*/_react["default"].createElement("span", null, page.title)));
@@ -16,12 +16,8 @@ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers
16
16
 
17
17
  var _react = _interopRequireWildcard(require("react"));
18
18
 
19
- var _router = require("@reach/router");
20
-
21
19
  var _designSystem = require("@cmsgov/design-system");
22
20
 
23
- var _TransformedDate = _interopRequireDefault(require("../TransformedDate"));
24
-
25
21
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
26
22
 
27
23
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -21,7 +21,8 @@ var DatasetDownloads = function DatasetDownloads(_ref) {
21
21
  }, "Downloads"), /*#__PURE__*/_react["default"].createElement("p", {
22
22
  className: "ds-u-margin-bottom--1 ds-u-color--gray"
23
23
  }, "Resource"), /*#__PURE__*/_react["default"].createElement("a", {
24
- href: downloadURL
24
+ href: downloadURL,
25
+ className: "ds-u-word-break"
25
26
  }, "Download this resource (", type, ")"));
26
27
  };
27
28
 
@@ -9,7 +9,7 @@ exports["default"] = void 0;
9
9
 
10
10
  var _react = _interopRequireDefault(require("react"));
11
11
 
12
- var _router = require("@reach/router");
12
+ var _reactRouterDom = require("react-router-dom");
13
13
 
14
14
  var _reactTextTruncate = _interopRequireDefault(require("react-text-truncate"));
15
15
 
@@ -68,7 +68,7 @@ var DatasetSearchListItem = function DatasetSearchListItem(_ref2) {
68
68
  date: modified
69
69
  }))), /*#__PURE__*/_react["default"].createElement("h2", {
70
70
  className: "ds-u-margin-y--1 ds-text-heading--xl"
71
- }, /*#__PURE__*/_react["default"].createElement(_router.Link, {
71
+ }, /*#__PURE__*/_react["default"].createElement(_reactRouterDom.Link, {
72
72
  className: "ds-u-color--base",
73
73
  to: "/dataset/".concat(identifier)
74
74
  }, title)), truncatedDescription, /*#__PURE__*/_react["default"].createElement("div", null, keyword && /*#__PURE__*/_react["default"].createElement("ul", {
@@ -11,7 +11,7 @@ var _react = _interopRequireDefault(require("react"));
11
11
 
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
 
14
- var _router = require("@reach/router");
14
+ var _reactRouterDom = require("react-router-dom");
15
15
 
16
16
  var DatasetTags = function DatasetTags(_ref) {
17
17
  var keywords = _ref.keywords;
@@ -20,7 +20,7 @@ var DatasetTags = function DatasetTags(_ref) {
20
20
  }, /*#__PURE__*/_react["default"].createElement("h2", {
21
21
  className: "ds-u-color--primary ds-u-font-size--h3 ds-u-margin-top--0 ds-u-margin-bottom--2"
22
22
  }, "Tags"), keywords && keywords.map(function (k) {
23
- return /*#__PURE__*/_react["default"].createElement(_router.Link, {
23
+ return /*#__PURE__*/_react["default"].createElement(_reactRouterDom.Link, {
24
24
  key: k.identifier,
25
25
  to: "/datasets?keyword[]=".concat(k.data),
26
26
  className: "dc-c-dataset-tags--tag ds-u-color--base ds-u-font-size--small ds-u-text-decoration--none ds-u-margin-right--1 ds-u-margin-bottom--1 ds-u-padding-x--2 ds-u-padding-y--1 ds-u-radius"
@@ -11,7 +11,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
11
11
 
12
12
  var _react = _interopRequireDefault(require("react"));
13
13
 
14
- var _router = require("@reach/router");
14
+ var _reactRouterDom = require("react-router-dom");
15
15
 
16
16
  var _designSystem = require("@cmsgov/design-system");
17
17
 
@@ -22,6 +22,7 @@ var Hero = function Hero(_ref) {
22
22
  searchKey = _ref.searchKey,
23
23
  textfieldLabel = _ref.textfieldLabel,
24
24
  searchButtonText = _ref.searchButtonText;
25
+ var navigate = (0, _reactRouterDom.useNavigate)();
25
26
 
26
27
  var _React$useState = _react["default"].useState(''),
27
28
  _React$useState2 = (0, _slicedToArray2["default"])(_React$useState, 2),
@@ -30,7 +31,7 @@ var Hero = function Hero(_ref) {
30
31
 
31
32
  function submitHero(e) {
32
33
  e.preventDefault();
33
- (0, _router.navigate)("/".concat(searchUrl, "?").concat(searchKey, "=").concat(searchValue));
34
+ navigate("/".concat(searchUrl, "?").concat(searchKey, "=").concat(searchValue));
34
35
  }
35
36
 
36
37
  return /*#__PURE__*/_react["default"].createElement("section", {
@@ -11,13 +11,13 @@ var _react = _interopRequireDefault(require("react"));
11
11
 
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
 
14
- var _router = require("@reach/router");
14
+ var _reactRouterDom = require("react-router-dom");
15
15
 
16
16
  var _validator = _interopRequireDefault(require("validator"));
17
17
 
18
18
  var NavLink = function NavLink(_ref) {
19
19
  var link = _ref.link,
20
- className = _ref.className,
20
+ _className = _ref.className,
21
21
  wrapLabel = _ref.wrapLabel;
22
22
  var innerHtml = wrapLabel ? /*#__PURE__*/_react["default"].createElement("span", null, link.label) : link.label;
23
23
 
@@ -25,12 +25,15 @@ var NavLink = function NavLink(_ref) {
25
25
  require_protocol: true
26
26
  })) {
27
27
  return /*#__PURE__*/_react["default"].createElement("a", {
28
- className: className,
28
+ className: _className,
29
29
  href: link.url
30
30
  }, innerHtml);
31
31
  } else {
32
- return /*#__PURE__*/_react["default"].createElement(_router.Link, {
33
- className: className,
32
+ return /*#__PURE__*/_react["default"].createElement(_reactRouterDom.NavLink, {
33
+ className: function className(_ref2) {
34
+ var isActive = _ref2.isActive;
35
+ return isActive ? "dc-c-active-link ".concat(_className) : "".concat(_className);
36
+ },
34
37
  to: link.url
35
38
  }, innerHtml);
36
39
  }
@@ -9,7 +9,7 @@ exports["default"] = void 0;
9
9
 
10
10
  var _react = _interopRequireDefault(require("react"));
11
11
 
12
- var _router = require("@reach/router");
12
+ var _reactRouterDom = require("react-router-dom");
13
13
 
14
14
  var _dataCatalogComponents = require("@civicactions/data-catalog-components");
15
15
 
@@ -37,7 +37,7 @@ var ResourceHeader = function ResourceHeader(_ref) {
37
37
  className: "ds-l-row"
38
38
  }, /*#__PURE__*/_react["default"].createElement("div", {
39
39
  className: "ds-l-col--12"
40
- }, includeFiltered && /*#__PURE__*/_react["default"].createElement(_router.Link, {
40
+ }, includeFiltered && /*#__PURE__*/_react["default"].createElement(_reactRouterDom.Link, {
41
41
  className: "ds-c-button ds-c-button--primary",
42
42
  to: "/dataset/".concat(id, "/data")
43
43
  }, "View and filter data")), includeDensity && /*#__PURE__*/_react["default"].createElement("div", {
@@ -13,7 +13,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
13
13
 
14
14
  var _react = _interopRequireWildcard(require("react"));
15
15
 
16
- var _router = require("@reach/router");
16
+ var _reactRouterDom = require("react-router-dom");
17
17
 
18
18
  var _reactResponsive = require("react-responsive");
19
19
 
@@ -30,6 +30,7 @@ var SearchModal = function SearchModal(_ref) {
30
30
  buttonSize = _ref.buttonSize,
31
31
  inversedModalButton = _ref.inversedModalButton,
32
32
  inversedSearchButton = _ref.inversedSearchButton;
33
+ var navigate = (0, _reactRouterDom.useNavigate)();
33
34
 
34
35
  var _useState = (0, _react.useState)(''),
35
36
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
@@ -51,7 +52,7 @@ var SearchModal = function SearchModal(_ref) {
51
52
 
52
53
  if (window) {
53
54
  if (window.location.pathname !== '/datasets') {
54
- (0, _router.navigate)("/datasets?fulltext=".concat(modalSearchTerm));
55
+ navigate("/datasets?fulltext=".concat(modalSearchTerm));
55
56
  } else {
56
57
  window.location.search = "fulltext=".concat(modalSearchTerm);
57
58
  setModalSearch(false);
@@ -103,7 +104,7 @@ var SearchModal = function SearchModal(_ref) {
103
104
 
104
105
  SearchModal.defaultProps = {
105
106
  appNodeId: 'App',
106
- buttonSize: '',
107
+ buttonSize: null,
107
108
  inversedModalButton: true,
108
109
  inversedSearchButton: true
109
110
  };
@@ -17,7 +17,7 @@ var _react = _interopRequireWildcard(require("react"));
17
17
 
18
18
  var _qs = _interopRequireDefault(require("qs"));
19
19
 
20
- var _router = require("@reach/router");
20
+ var _reactRouterDom = require("react-router-dom");
21
21
 
22
22
  var _swaggerUiReact = _interopRequireDefault(require("swagger-ui-react"));
23
23
 
@@ -54,6 +54,7 @@ var FilteredResourceBody = function FilteredResourceBody(_ref) {
54
54
  columnSettings = _ref.columnSettings,
55
55
  columnWidths = _ref.columnWidths,
56
56
  customTitle = _ref.customTitle;
57
+ var navigate = (0, _reactRouterDom.useNavigate)();
57
58
 
58
59
  var _React$useState = _react["default"].useState('ds-u-padding-y--1'),
59
60
  _React$useState2 = (0, _slicedToArray2["default"])(_React$useState, 2),
@@ -100,7 +101,7 @@ var FilteredResourceBody = function FilteredResourceBody(_ref) {
100
101
  var pageTitle = distribution.data.title ? distribution.data.title : dataset.title;
101
102
  return /*#__PURE__*/_react["default"].createElement("section", {
102
103
  className: "ds-l-container ds-u-padding-bottom--3 ds-u-margin-bottom--2"
103
- }, Object.keys(distribution).length && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_router.Link, {
104
+ }, Object.keys(distribution).length && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_reactRouterDom.Link, {
104
105
  to: "/dataset/".concat(id),
105
106
  className: "ds-u-padding-y--3 ds-u-display--block"
106
107
  }, "Back to ", dataset.title), /*#__PURE__*/_react["default"].createElement("h1", {
@@ -163,7 +164,7 @@ var FilteredResourceBody = function FilteredResourceBody(_ref) {
163
164
  variation: "transparent",
164
165
  className: "ds-u-text-align--left ds-u-font-weight--normal",
165
166
  onClick: function onClick() {
166
- return (0, _router.navigate)(apiDocPage);
167
+ return navigate(apiDocPage);
167
168
  }
168
169
  }, "View API documentation")))), resource.columns && Object.keys(resource.schema).length ? /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_ResourceHeader["default"], {
169
170
  includeDensity: true,
@@ -11,7 +11,7 @@ var _react = _interopRequireDefault(require("react"));
11
11
 
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
 
14
- var _router = require("@reach/router");
14
+ var _reactRouterDom = require("react-router-dom");
15
15
 
16
16
  var _NavBar = _interopRequireDefault(require("../../components/NavBar"));
17
17
 
@@ -66,7 +66,7 @@ var Header = function Header(_ref) {
66
66
  className: "ds-l-row ds-u-align-items--center"
67
67
  }, /*#__PURE__*/_react["default"].createElement("div", {
68
68
  className: "ds-u-margin-right--5 ds-u-padding-y--3 dc-c-site-title"
69
- }, /*#__PURE__*/_react["default"].createElement(_router.Link, {
69
+ }, /*#__PURE__*/_react["default"].createElement(_reactRouterDom.NavLink, {
70
70
  to: "/"
71
71
  }, /*#__PURE__*/_react["default"].createElement("span", {
72
72
  className: "ds-h1"
@@ -99,7 +99,7 @@ Header.defaultProps = {
99
99
  linkClasses: 'ds-u-xl-margin-right--4 ds-u-margin-right--3 ds-u-padding-y--3'
100
100
  };
101
101
  Header.propTypes = {
102
- siteName: _propTypes["default"].string.isRequired,
102
+ siteName: _propTypes["default"].node.isRequired,
103
103
  includeTopNav: _propTypes["default"].bool,
104
104
  linkClasses: _propTypes["default"].string
105
105
  };
@@ -17,7 +17,7 @@ var _reactResponsive = require("react-responsive");
17
17
 
18
18
  var _designSystem = require("@cmsgov/design-system");
19
19
 
20
- var _router = require("@reach/router");
20
+ var _reactRouterDom = require("react-router-dom");
21
21
 
22
22
  var _SearchModal = _interopRequireDefault(require("../../components/SearchModal"));
23
23
 
@@ -128,7 +128,7 @@ var MobileHeader = function MobileHeader(_ref) {
128
128
  className: "ds-u-visibility--screen-reader"
129
129
  }, "Menu") : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, "Menu")), /*#__PURE__*/_react["default"].createElement("div", {
130
130
  className: "ds-u-padding-y--3 dc-c-site-title"
131
- }, /*#__PURE__*/_react["default"].createElement(_router.Link, {
131
+ }, /*#__PURE__*/_react["default"].createElement(_reactRouterDom.Link, {
132
132
  to: "/"
133
133
  }, /*#__PURE__*/_react["default"].createElement("span", {
134
134
  className: "ds-h1"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@civicactions/cmsds-open-data-components",
3
- "version": "1.9.1",
3
+ "version": "1.10.0",
4
4
  "description": "Components for the open data catalog frontend using CMS Design System",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -20,17 +20,14 @@
20
20
  "license": "GPL-3.0",
21
21
  "dependencies": {
22
22
  "@civicactions/data-catalog-components": "2.0.0-beta.4",
23
- "@civicactions/data-catalog-services": "1.3.0",
23
+ "@civicactions/data-catalog-services": "1.4.0",
24
24
  "@cmsgov/design-system": "~2.6.1",
25
- "@reach/router": "^1.3.3",
26
- "enzyme": "^3.10.0",
27
- "enzyme-adapter-react-16": "^1.14.0",
28
25
  "prop-types": "^15.7.2",
29
26
  "qs": "^6.10.1",
30
27
  "react-datepicker": "^4.2.1",
28
+ "react-router-dom": "^6.2.2",
31
29
  "react-table": "^7.6.2",
32
- "react-text-truncate": "^0.16.0",
33
- "react-truncate": "^2.4.0",
30
+ "react-text-truncate": "^0.18.0",
34
31
  "swagger-ui-react": "^4.1.3"
35
32
  },
36
33
  "devDependencies": {
@@ -63,8 +60,8 @@
63
60
  "@testing-library/react": "^10.2.1",
64
61
  "@testing-library/react-hooks": "^3.3.0",
65
62
  "babel-eslint": "^10.0.3",
66
- "babel-jest": "^24.9.0",
67
- "babel-loader": "^8.0.6",
63
+ "babel-jest": "^26.6.0",
64
+ "babel-loader": "8.1.0",
68
65
  "babel-plugin-styled-components": "^1.10.6",
69
66
  "babel-polyfill": "^6.26.0",
70
67
  "babel-preset-es2015": "^6.24.1",
@@ -72,17 +69,14 @@
72
69
  "babel-preset-stage-0": "^6.24.1",
73
70
  "core-js": "^2.6.5",
74
71
  "css-loader": "^2.1.0",
75
- "docz": "^2.3.1",
76
72
  "eslint": "^6.2.1",
77
73
  "eslint-config-airbnb": "^18.0.1",
78
74
  "eslint-plugin-import": "^2.18.2",
79
75
  "eslint-plugin-jsx-a11y": "^6.2.3",
80
76
  "eslint-plugin-react": "^7.14.3",
81
77
  "eslint-plugin-react-hooks": "^1.7.0",
82
- "extract-text-webpack-plugin": "^3.0.2",
83
- "jest": "^24.9.0",
78
+ "jest": "26.6.0",
84
79
  "jest-axe": "^4.1.0",
85
- "node-sass": "^4.13.1",
86
80
  "prettier": "^2.5.1",
87
81
  "react-test-renderer": "^17.0.2",
88
82
  "sass-loader": "^7.1.0",