diff --git a/packages/strapi-admin/admin/src/components/Notification/index.js b/packages/strapi-admin/admin/src/components/Notification/index.js
index 0ddbecdf42..b472d9faf9 100644
--- a/packages/strapi-admin/admin/src/components/Notification/index.js
+++ b/packages/strapi-admin/admin/src/components/Notification/index.js
@@ -41,18 +41,13 @@ class Notification extends React.Component {
};
render() {
- const options =
- this.options[this.props.notification.status] || this.options.info;
+ const options = this.options[this.props.notification.status] || this.options.info;
const {
notification: { message },
} = this.props;
const content =
isObject(message) && message.id ? (
-
+
) : (
);
diff --git a/packages/strapi-admin/admin/src/components/StaticLinks/index.js b/packages/strapi-admin/admin/src/components/StaticLinks/index.js
index 46281721fd..01312fc085 100644
--- a/packages/strapi-admin/admin/src/components/StaticLinks/index.js
+++ b/packages/strapi-admin/admin/src/components/StaticLinks/index.js
@@ -31,11 +31,7 @@ function StaticLinks() {
return (
-
+
diff --git a/packages/strapi-admin/admin/src/containers/Webhooks/EditView/tests/__snapshots__/index.test.js.snap b/packages/strapi-admin/admin/src/containers/Webhooks/EditView/tests/__snapshots__/index.test.js.snap
index e4bddc3c58..bdfdc6ba52 100644
--- a/packages/strapi-admin/admin/src/containers/Webhooks/EditView/tests/__snapshots__/index.test.js.snap
+++ b/packages/strapi-admin/admin/src/containers/Webhooks/EditView/tests/__snapshots__/index.test.js.snap
@@ -402,7 +402,6 @@ exports[`Admin | containers | EditView should match the snapshot 1`] = `
font-size: 2.4rem;
line-height: normal;
font-weight: 600;
- text-transform: capitalize;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
diff --git a/packages/strapi-admin/admin/src/containers/Webhooks/ListView/tests/__snapshots__/index.test.js.snap b/packages/strapi-admin/admin/src/containers/Webhooks/ListView/tests/__snapshots__/index.test.js.snap
index d2a3ad0846..226c5b3786 100644
--- a/packages/strapi-admin/admin/src/containers/Webhooks/ListView/tests/__snapshots__/index.test.js.snap
+++ b/packages/strapi-admin/admin/src/containers/Webhooks/ListView/tests/__snapshots__/index.test.js.snap
@@ -151,7 +151,6 @@ exports[`Admin | containers | ListView should match the snapshot 1`] = `
font-size: 2.4rem;
line-height: normal;
font-weight: 600;
- text-transform: capitalize;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
diff --git a/packages/strapi-admin/package.json b/packages/strapi-admin/package.json
index c74cf6387e..f644765853 100644
--- a/packages/strapi-admin/package.json
+++ b/packages/strapi-admin/package.json
@@ -22,12 +22,12 @@
"@babel/preset-env": "^7.9.5",
"@babel/preset-react": "^7.9.4",
"@babel/runtime": "^7.9.2",
- "@buffetjs/core": "3.1.0-next.2",
- "@buffetjs/custom": "3.1.0-next.2",
- "@buffetjs/hooks": "3.0.6",
- "@buffetjs/icons": "3.1.0-next.2",
- "@buffetjs/styles": "3.1.0-next.2",
- "@buffetjs/utils": "3.0.6",
+ "@buffetjs/core": "3.1.0-next.3",
+ "@buffetjs/custom": "3.1.0-next.3",
+ "@buffetjs/hooks": "3.1.0-next.3",
+ "@buffetjs/icons": "3.1.0-next.3",
+ "@buffetjs/styles": "3.1.0-next.3",
+ "@buffetjs/utils": "3.1.0-next.3",
"@fortawesome/fontawesome-free": "^5.11.2",
"@fortawesome/fontawesome-svg-core": "^1.2.25",
"@fortawesome/free-brands-svg-icons": "^5.11.2",
diff --git a/packages/strapi-plugin-upload/admin/src/containers/HomePage/HomePageContent/HomePageList.js b/packages/strapi-plugin-upload/admin/src/containers/HomePage/HomePageContent/HomePageList.js
new file mode 100644
index 0000000000..499e55aac8
--- /dev/null
+++ b/packages/strapi-plugin-upload/admin/src/containers/HomePage/HomePageContent/HomePageList.js
@@ -0,0 +1,88 @@
+import React from 'react';
+import PropTypes from 'prop-types';
+import { PageFooter, useQuery } from 'strapi-helper-plugin';
+import { generatePageFromStart, generateStartFromPage } from '../../../utils';
+
+import List from '../../../components/List';
+import ListEmpty from '../../../components/ListEmpty';
+import Padded from '../../../components/Padded';
+
+const HomePageList = ({
+ areResultsEmptyWithSettings,
+ data,
+ dataCount,
+ dataToDelete,
+ onCardCheck,
+ onCardClick,
+ onChange,
+ onClick,
+}) => {
+ const query = useQuery();
+
+ const limit = parseInt(query.get('_limit'), 10) || 10;
+ const start = parseInt(query.get('_start'), 10) || 0;
+
+ const params = {
+ _limit: limit,
+ _page: generatePageFromStart(start, limit),
+ };
+
+ const handleChangeListParams = ({ target: { name, value } }) => {
+ if (name.includes('_page')) {
+ onChange({
+ target: { name: '_start', value: generateStartFromPage(value, limit) },
+ });
+ } else {
+ onChange({ target: { name: '_limit', value } });
+ }
+ };
+
+ if (dataCount > 0 && !areResultsEmptyWithSettings) {
+ return (
+ <>
+
+
+
+ {} }}
+ count={dataCount}
+ onChangeParams={handleChangeListParams}
+ params={params}
+ />
+
+
+ >
+ );
+ }
+
+ return ;
+};
+
+HomePageList.defaultProps = {
+ areResultsEmptyWithSettings: false,
+ data: [],
+ dataCount: 0,
+ dataToDelete: [],
+ onCardCheck: () => {},
+ onCardClick: () => {},
+ onChange: () => {},
+ onClick: () => {},
+};
+
+HomePageList.propTypes = {
+ areResultsEmptyWithSettings: PropTypes.bool,
+ data: PropTypes.array,
+ dataCount: PropTypes.number,
+ dataToDelete: PropTypes.array,
+ onCardCheck: PropTypes.func,
+ onCardClick: PropTypes.func,
+ onChange: PropTypes.func,
+ onClick: PropTypes.func,
+};
+
+export default HomePageList;
diff --git a/packages/strapi-plugin-upload/admin/src/containers/HomePage/HomePageContent/HomePageSettings.js b/packages/strapi-plugin-upload/admin/src/containers/HomePage/HomePageContent/HomePageSettings.js
new file mode 100644
index 0000000000..83ac8d5d97
--- /dev/null
+++ b/packages/strapi-plugin-upload/admin/src/containers/HomePage/HomePageContent/HomePageSettings.js
@@ -0,0 +1,85 @@
+import React, { useEffect, useState } from 'react';
+import PropTypes from 'prop-types';
+import { useDebounce } from '@buffetjs/hooks';
+import { HeaderSearch, useGlobalContext, useQuery } from 'strapi-helper-plugin';
+import { getTrad, getFileModelTimestamps } from '../../../utils';
+
+import ControlsWrapper from '../../../components/ControlsWrapper';
+import Filters from '../../../components/Filters';
+import Padded from '../../../components/Padded';
+import SelectAll from '../../../components/SelectAll';
+import SortPicker from '../../../components/SortPicker';
+
+const HomePageSettings = ({
+ areAllCheckboxesSelected,
+ filters,
+ hasSomeCheckboxSelected,
+ onChange,
+ onFilterDelete,
+ onSelectAll,
+}) => {
+ const { formatMessage, plugins } = useGlobalContext();
+ const [, updated_at] = getFileModelTimestamps(plugins);
+ const query = useQuery();
+ const [searchValue, setSearchValue] = useState(query.get('_q') || '');
+ const debouncedSearch = useDebounce(searchValue, 300);
+ const pluginName = formatMessage({ id: getTrad('plugin.name') });
+
+ useEffect(() => {
+ onChange({ target: { name: '_q', value: debouncedSearch } });
+
+ // eslint-disable-next-line react-hooks/exhaustive-deps
+ }, [debouncedSearch]);
+
+ const handleChangeSearchValue = ({ target: { value } }) => {
+ setSearchValue(value);
+ };
+
+ const handleClearSearch = () => {
+ setSearchValue('');
+ };
+
+ return (
+ <>
+
+
+
+
+
+
+
+
+ >
+ );
+};
+
+HomePageSettings.defaultProps = {
+ areAllCheckboxesSelected: false,
+ filters: [],
+ hasSomeCheckboxSelected: false,
+ onChange: () => {},
+ onFilterDelete: () => {},
+ onSelectAll: () => {},
+};
+
+HomePageSettings.propTypes = {
+ areAllCheckboxesSelected: PropTypes.bool,
+ filters: PropTypes.array,
+ hasSomeCheckboxSelected: PropTypes.bool,
+ onChange: PropTypes.func,
+ onFilterDelete: PropTypes.func,
+ onSelectAll: PropTypes.func,
+};
+
+export default HomePageSettings;
diff --git a/packages/strapi-plugin-upload/admin/src/containers/HomePage/HomePageContent/index.js b/packages/strapi-plugin-upload/admin/src/containers/HomePage/HomePageContent/index.js
new file mode 100644
index 0000000000..ba82b01eb4
--- /dev/null
+++ b/packages/strapi-plugin-upload/admin/src/containers/HomePage/HomePageContent/index.js
@@ -0,0 +1,86 @@
+import React from 'react';
+import PropTypes from 'prop-types';
+import { isEmpty } from 'lodash';
+import { useLocation } from 'react-router-dom';
+import { generateFiltersFromSearch, useQuery } from 'strapi-helper-plugin';
+
+import HomePageSettings from './HomePageSettings';
+import HomePageList from './HomePageList';
+
+const HomePageContent = ({
+ data,
+ dataCount,
+ dataToDelete,
+ onCardCheck,
+ onCardClick,
+ onClick,
+ onFilterDelete,
+ onParamsChange,
+ onSelectAll,
+}) => {
+ const query = useQuery();
+ const { search } = useLocation();
+ const filters = generateFiltersFromSearch(search);
+
+ const hasSomeCheckboxSelected = data.some(item =>
+ dataToDelete.find(itemToDelete => item.id.toString() === itemToDelete.id.toString())
+ );
+
+ const areAllCheckboxesSelected =
+ data.every(item =>
+ dataToDelete.find(itemToDelete => item.id.toString() === itemToDelete.id.toString())
+ ) && hasSomeCheckboxSelected;
+
+ const hasFilters = !isEmpty(filters);
+ const hasSearch = !isEmpty(query.get('_q'));
+ const areResultsEmptyWithSearchOrFilters = isEmpty(data) && (hasSearch || hasFilters);
+
+ return (
+ <>
+
+
+ >
+ );
+};
+
+HomePageContent.defaultProps = {
+ data: [],
+ dataCount: 0,
+ dataToDelete: [],
+ onCardCheck: () => {},
+ onCardClick: () => {},
+ onClick: () => {},
+ onFilterDelete: () => {},
+ onParamsChange: () => {},
+ onSelectAll: () => {},
+};
+
+HomePageContent.propTypes = {
+ data: PropTypes.array,
+ dataCount: PropTypes.number,
+ dataToDelete: PropTypes.array,
+ onCardCheck: PropTypes.func,
+ onCardClick: PropTypes.func,
+ onClick: PropTypes.func,
+ onFilterDelete: PropTypes.func,
+ onParamsChange: PropTypes.func,
+ onSelectAll: PropTypes.func,
+};
+
+export default HomePageContent;
diff --git a/packages/strapi-plugin-upload/admin/src/containers/HomePage/index.js b/packages/strapi-plugin-upload/admin/src/containers/HomePage/index.js
index 991118bbae..129bb4363f 100644
--- a/packages/strapi-plugin-upload/admin/src/containers/HomePage/index.js
+++ b/packages/strapi-plugin-upload/admin/src/containers/HomePage/index.js
@@ -1,35 +1,20 @@
-import React, { useReducer, useState, useRef, useEffect } from 'react';
-import { includes, isEmpty, toString, isEqual, intersectionWith } from 'lodash';
+import React, { useReducer, useRef, useState, useEffect } from 'react';
+import { includes, toString, isEqual, intersectionWith } from 'lodash';
import { useHistory, useLocation } from 'react-router-dom';
import { Header } from '@buffetjs/custom';
-import { useDebounce } from '@buffetjs/hooks';
import {
- HeaderSearch,
- PageFooter,
PopUpWarning,
- LoadingIndicatorPage,
+ LoadingIndicator,
useGlobalContext,
generateFiltersFromSearch,
generateSearchFromFilters,
request,
useQuery,
} from 'strapi-helper-plugin';
-import {
- formatFileForEditing,
- getRequestUrl,
- getTrad,
- generatePageFromStart,
- generateStartFromPage,
- getFileModelTimestamps,
-} from '../../utils';
+import { formatFileForEditing, getRequestUrl, getTrad, getFileModelTimestamps } from '../../utils';
import Container from '../../components/Container';
-import ControlsWrapper from '../../components/ControlsWrapper';
+import HomePageContent from './HomePageContent';
import Padded from '../../components/Padded';
-import SelectAll from '../../components/SelectAll';
-import SortPicker from '../../components/SortPicker';
-import Filters from '../../components/Filters';
-import List from '../../components/List';
-import ListEmpty from '../../components/ListEmpty';
import ModalStepper from '../ModalStepper';
import { generateStringFromParams, getHeaderLabel } from './utils';
import init from './init';
@@ -45,25 +30,17 @@ const HomePage = () => {
const [fileToEdit, setFileToEdit] = useState(null);
const [shouldRefetch, setShouldRefetch] = useState(false);
const [modalInitialStep, setModalInitialStep] = useState('browse');
- const [searchValue, setSearchValue] = useState(query.get('_q') || '');
const { push } = useHistory();
const { search } = useLocation();
const isMounted = useRef(true);
const { data, dataCount, dataToDelete, isLoading } = reducerState.toJS();
const pluginName = formatMessage({ id: getTrad('plugin.name') });
const paramsKeys = ['_limit', '_start', '_q', '_sort'];
- const debouncedSearch = useDebounce(searchValue, 300);
useEffect(() => {
return () => (isMounted.current = false);
}, []);
- useEffect(() => {
- handleChangeParams({ target: { name: '_q', value: debouncedSearch } });
-
- // eslint-disable-next-line react-hooks/exhaustive-deps
- }, [debouncedSearch]);
-
useEffect(() => {
fetchListData();
@@ -84,20 +61,6 @@ const HomePage = () => {
}
};
- const fetchListData = async () => {
- dispatch({ type: 'GET_DATA' });
-
- const [data, count] = await Promise.all([fetchData(), fetchDataCount()]);
-
- if (isMounted.current) {
- dispatch({
- type: 'GET_DATA_SUCCEEDED',
- data,
- count,
- });
- }
- };
-
const fetchData = async () => {
const dataRequestURL = getRequestUrl('files');
const params = generateStringFromParams(query);
@@ -142,6 +105,28 @@ const HomePage = () => {
return null;
};
+ const fetchListData = async () => {
+ dispatch({ type: 'GET_DATA' });
+
+ const [data, count] = await Promise.all([fetchData(), fetchDataCount()]);
+
+ if (isMounted.current) {
+ dispatch({
+ type: 'GET_DATA_SUCCEEDED',
+ data,
+ count,
+ });
+ }
+ };
+
+ const generateNewSearch = (updatedParams = {}) => {
+ return {
+ ...getSearchParams(),
+ filters: generateFiltersFromSearch(search),
+ ...updatedParams,
+ };
+ };
+
const getSearchParams = () => {
const params = {};
@@ -154,14 +139,6 @@ const HomePage = () => {
return params;
};
- const generateNewSearch = (updatedParams = {}) => {
- return {
- ...getSearchParams(),
- filters: generateFiltersFromSearch(search),
- ...updatedParams,
- };
- };
-
const handleChangeCheck = ({ target: { name } }) => {
dispatch({
type: 'ON_CHANGE_DATA_TO_DELETE',
@@ -169,16 +146,6 @@ const HomePage = () => {
});
};
- const handleChangeListParams = ({ target: { name, value } }) => {
- if (name.includes('_page')) {
- handleChangeParams({
- target: { name: '_start', value: generateStartFromPage(value, limit) },
- });
- } else {
- handleChangeParams({ target: { name: '_limit', value } });
- }
- };
-
const handleChangeParams = ({ target: { name, value } }) => {
let updatedQueryParams = generateNewSearch({ [name]: value });
@@ -203,10 +170,6 @@ const HomePage = () => {
push({ search: encodeURI(newSearch) });
};
- const handleChangeSearchValue = ({ target: { value } }) => {
- setSearchValue(value);
- };
-
const handleClickEditFile = id => {
const file = formatFileForEditing(data.find(file => toString(file.id) === toString(id)));
@@ -215,10 +178,6 @@ const HomePage = () => {
handleClickToggleModal();
};
- const handleClearSearch = () => {
- setSearchValue('');
- };
-
const handleClickToggleModal = (refetch = false) => {
setIsModalOpen(prev => !prev);
setShouldRefetch(refetch);
@@ -316,7 +275,7 @@ const HomePage = () => {
},
content: formatMessage(
{
- id: getTrad(getHeaderLabel(data)),
+ id: getTrad(getHeaderLabel(dataCount)),
},
{ number: dataCount }
),
@@ -339,80 +298,25 @@ const HomePage = () => {
],
};
- const limit = parseInt(query.get('_limit'), 10) || 10;
- const start = parseInt(query.get('_start'), 10) || 0;
-
- const params = {
- _limit: limit,
- _page: generatePageFromStart(start, limit),
- };
-
- const hasSomeCheckboxSelected = data.some(item =>
- dataToDelete.find(itemToDelete => item.id.toString() === itemToDelete.id.toString())
- );
-
- const areAllCheckboxesSelected =
- data.every(item =>
- dataToDelete.find(itemToDelete => item.id.toString() === itemToDelete.id.toString())
- ) && hasSomeCheckboxSelected;
-
- if (isLoading) {
- return ;
- }
-
- const filters = generateFiltersFromSearch(search);
- const hasFilters = !isEmpty(filters);
- const hasSearch = !isEmpty(searchValue);
- const areResultsEmptyWithSearchOrFilters = isEmpty(data) && (hasSearch || hasFilters);
-
return (
-
-
-
-
-
-
-
-
-
- {dataCount > 0 && !areResultsEmptyWithSearchOrFilters ? (
+
+ {isLoading ? (
<>
-
-
-
- {} }}
- count={dataCount}
- onChangeParams={handleChangeListParams}
- params={params}
- />
-
-
+
+
>
) : (
-
)}
{
return state.removeIn(['dataToDelete', index]);
}
+ case 'ON_DELETE_MEDIA_SUCCEEDED':
+ return state
+ .update('data', list => list.filter(item => item.get('id') !== action.mediaId))
+ .update('dataCount', count => count - 1);
case 'TOGGLE_SELECT_ALL': {
const isSelected = state.get('data').every(item => state.get('dataToDelete').includes(item));
@@ -57,10 +61,6 @@ const reducer = (state, action) => {
return dataToDelete.concat(newItems);
});
}
- case 'ON_DELETE_MEDIA_SUCCEEDED':
- return state
- .update('data', list => list.filter(item => item.get('id') !== action.mediaId))
- .update('dataCount', count => count - 1);
default:
return state;
}
diff --git a/packages/strapi-plugin-upload/admin/src/containers/HomePage/utils/getHeaderLabel.js b/packages/strapi-plugin-upload/admin/src/containers/HomePage/utils/getHeaderLabel.js
index 7c7a254c8e..dd226e604c 100644
--- a/packages/strapi-plugin-upload/admin/src/containers/HomePage/utils/getHeaderLabel.js
+++ b/packages/strapi-plugin-upload/admin/src/containers/HomePage/utils/getHeaderLabel.js
@@ -1,9 +1,9 @@
-const getHeaderLabel = array => {
+const getHeaderLabel = count => {
let headerLabel = 'header.content.assets-single';
- if (array.length === 0) {
+ if (count === 0) {
headerLabel = 'header.content.assets-empty';
- } else if (array.length > 1) {
+ } else if (count > 1) {
headerLabel = 'header.content.assets-multiple';
}
diff --git a/packages/strapi-plugin-upload/admin/src/containers/HomePage/utils/tests/getHeaderLabel.test.js b/packages/strapi-plugin-upload/admin/src/containers/HomePage/utils/tests/getHeaderLabel.test.js
index cecce00418..7a9c73067d 100644
--- a/packages/strapi-plugin-upload/admin/src/containers/HomePage/utils/tests/getHeaderLabel.test.js
+++ b/packages/strapi-plugin-upload/admin/src/containers/HomePage/utils/tests/getHeaderLabel.test.js
@@ -2,25 +2,25 @@ import getHeaderLabel from '../getHeaderLabel';
describe('MEDIA LIBRARY | containers | HomePage | utils', () => {
describe('getHeaderLabel', () => {
- it('should return the header translation with this empty suffix if there is no data', () => {
- const data = [];
+ it('should return the header translation with this empty suffix if count is 0', () => {
+ const count = 0;
const expected = 'header.content.assets-empty';
- expect(getHeaderLabel(data)).toEqual(expected);
+ expect(getHeaderLabel(count)).toEqual(expected);
});
- it('should return the header translation with this single suffix if there is 1 element', () => {
- const data = ['test'];
+ it('should return the header translation with this single suffix if count is 1', () => {
+ const count = 1;
const expected = 'header.content.assets-single';
- expect(getHeaderLabel(data)).toEqual(expected);
+ expect(getHeaderLabel(count)).toEqual(expected);
});
- it('should return the header translation with this multiple suffix if there is more than 1 element', () => {
- const data = ['test', 'test2'];
+ it('should return the header translation with this multiple suffix if count is greater than 1', () => {
+ const count = 2;
const expected = 'header.content.assets-multiple';
- expect(getHeaderLabel(data)).toEqual(expected);
+ expect(getHeaderLabel(count)).toEqual(expected);
});
});
});
diff --git a/yarn.lock b/yarn.lock
index 3b0e2d92e2..1b24b9f1e6 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -992,15 +992,15 @@
lodash "^4.17.13"
to-fast-properties "^2.0.0"
-"@buffetjs/core@3.1.0-next.2":
- version "3.1.0-next.2"
- resolved "https://registry.yarnpkg.com/@buffetjs/core/-/core-3.1.0-next.2.tgz#4c18ce545badf8803fea47080a274c932bcd0c87"
- integrity sha512-TaCat7SN+NZPvTh2ly+mo/7Xbub1Q5ASqgmeFkLzZxWliONwy1YV4zIFELXSXug3Tw7b5VI/a1v1Qrrm7qwzSg==
+"@buffetjs/core@3.1.0-next.3":
+ version "3.1.0-next.3"
+ resolved "https://registry.yarnpkg.com/@buffetjs/core/-/core-3.1.0-next.3.tgz#307276cae9616be940cc005a9fd4046037e45a15"
+ integrity sha512-KPIgtqfb4RwYG+VYHgHVgYv/a7IQT0PTNxyvLwlOflEGlsIULE8Bx5VfFamaPDkcpQBlGvfXrPYDIHP1tizZ1g==
dependencies:
- "@buffetjs/hooks" "3.0.6"
- "@buffetjs/icons" "3.1.0-next.2"
- "@buffetjs/styles" "3.1.0-next.2"
- "@buffetjs/utils" "3.0.6"
+ "@buffetjs/hooks" "3.1.0-next.3"
+ "@buffetjs/icons" "3.1.0-next.3"
+ "@buffetjs/styles" "3.1.0-next.3"
+ "@buffetjs/utils" "3.1.0-next.3"
"@fortawesome/fontawesome-svg-core" "^1.2.25"
"@fortawesome/free-regular-svg-icons" "^5.11.2"
"@fortawesome/free-solid-svg-icons" "^5.11.2"
@@ -1011,31 +1011,31 @@
react-dates "^21.5.1"
react-moment-proptypes "^1.7.0"
-"@buffetjs/custom@3.1.0-next.2":
- version "3.1.0-next.2"
- resolved "https://registry.yarnpkg.com/@buffetjs/custom/-/custom-3.1.0-next.2.tgz#41d83cdd2fbdb64119062b3250b2d587970d87dd"
- integrity sha512-UmY6FN0CrlQw4LaOLVHjfyb6v7Q9keHAcCNePyQtmA1S2rGm0USwG0DDRNFnFbHKcnysnISfSRMoyHW5VS1v5g==
+"@buffetjs/custom@3.1.0-next.3":
+ version "3.1.0-next.3"
+ resolved "https://registry.yarnpkg.com/@buffetjs/custom/-/custom-3.1.0-next.3.tgz#d3f1a593653812746efe0c3b084b40a08b963fa9"
+ integrity sha512-Pn8mQPRYFDEKONOpJ1Oai1WnHq8V/O9dtWYZKmNJBCBxUIQPHNO0qJGWMPXY1udJvT2OQFn0XWp/EeuE36pkhg==
dependencies:
- "@buffetjs/core" "3.1.0-next.2"
- "@buffetjs/styles" "3.1.0-next.2"
- "@buffetjs/utils" "3.0.6"
+ "@buffetjs/core" "3.1.0-next.3"
+ "@buffetjs/styles" "3.1.0-next.3"
+ "@buffetjs/utils" "3.1.0-next.3"
moment "^2.24.0"
react-moment-proptypes "^1.7.0"
-"@buffetjs/hooks@3.0.6":
- version "3.0.6"
- resolved "https://registry.yarnpkg.com/@buffetjs/hooks/-/hooks-3.0.6.tgz#98b3780fa005193a06f32af2b23e0782358ce5a6"
- integrity sha512-boxLYVT/4RauTQmgLkdZWrwdMPS624/91rk4TqWARRmnXeP4+99MErHwqz5z3Bk8aBa3yNWpayu1p25fdoti6A==
+"@buffetjs/hooks@3.1.0-next.3":
+ version "3.1.0-next.3"
+ resolved "https://registry.yarnpkg.com/@buffetjs/hooks/-/hooks-3.1.0-next.3.tgz#5550c7416aefb56322c56ca3b627836a5ae86b48"
+ integrity sha512-VnsapTdY1c5dTgoTrHYfoz+hpqZ4C2Ihx+Gp+CJr+J1in3wnkf9TC+vWSIo+jDr+VloSQSNq+ISEu9cEVdPIIw==
-"@buffetjs/icons@3.1.0-next.2":
- version "3.1.0-next.2"
- resolved "https://registry.yarnpkg.com/@buffetjs/icons/-/icons-3.1.0-next.2.tgz#08134a31aa367f7bef454fda4e5a88a7064319f1"
- integrity sha512-C3kHl4dRo5vYjcJZlKxiEMVe/gPRyJJEiGQESqpq6oACaiz1TBz3o0GNAIi17dOJuOEqYadVXCogz2u2Ef64+g==
+"@buffetjs/icons@3.1.0-next.3":
+ version "3.1.0-next.3"
+ resolved "https://registry.yarnpkg.com/@buffetjs/icons/-/icons-3.1.0-next.3.tgz#b745038be6f3214f9136088776b8da07b61d9f26"
+ integrity sha512-zEA+9iocFlmP0lEDcv12o7AlXJdhEHheRpDXwZFunIMtl/JvCsY58BVUAwCamiX884oGjjv4XvOc6g4FJQO5ew==
-"@buffetjs/styles@3.1.0-next.2":
- version "3.1.0-next.2"
- resolved "https://registry.yarnpkg.com/@buffetjs/styles/-/styles-3.1.0-next.2.tgz#d1e9f7b1b69b6987f3baa9791b5ef0541e8a5435"
- integrity sha512-r4+cLqAmvIlN2rBw2imEcxAlWkO3DNTZ8RWPzmsufBhoImsN1ebuL1zcYVSGAttZnI4G80uyDxNywe9Di9iHcw==
+"@buffetjs/styles@3.1.0-next.3":
+ version "3.1.0-next.3"
+ resolved "https://registry.yarnpkg.com/@buffetjs/styles/-/styles-3.1.0-next.3.tgz#2646a976c3fb5250ad0e8fe0156a508fa3938c68"
+ integrity sha512-IDmzrU9YQPi/dK/aocNsVvc9hrMxKdFmDgUbHxq84++2rppOIqOUNkGdOoAzcNq9B6e9f7Alu0JQ1AIFTthUXg==
dependencies:
"@fortawesome/fontawesome-free" "^5.12.0"
"@fortawesome/fontawesome-svg-core" "^1.2.22"
@@ -1044,10 +1044,10 @@
"@fortawesome/react-fontawesome" "^0.1.4"
react-dates "^21.1.0"
-"@buffetjs/utils@3.0.6":
- version "3.0.6"
- resolved "https://registry.yarnpkg.com/@buffetjs/utils/-/utils-3.0.6.tgz#87f7e0822d907397ae62b4764edcddc516e3ad27"
- integrity sha512-DfYrHtmta2KXTc8iy892uGzbs1ygZ37hiXLAYmSWZfJNNk8pamAqnRLcfjVDA/SgTQIVO8unmaPxi3141xfe/Q==
+"@buffetjs/utils@3.1.0-next.3":
+ version "3.1.0-next.3"
+ resolved "https://registry.yarnpkg.com/@buffetjs/utils/-/utils-3.1.0-next.3.tgz#968f6fd992d477024de86443c67bd0faa246ab15"
+ integrity sha512-JCJ2wKsjSP3uhVn/xjq5AYenw3ZtWhNSAc8QDK0cJoblntMjsf0MAJKTfVCc1s7SNbkHvIQnLJXOniywOAWxlA==
dependencies:
yup "^0.27.0"