-
+
{t("ConversionTitle")}
+
+
+
+
+
{t("ConversionMessage")}
+
-
- {t("ConversionMessage")}
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
);
}
diff --git a/products/ASC.Files/Client/src/components/dialogs/DeleteDialog/index.js b/products/ASC.Files/Client/src/components/dialogs/DeleteDialog/index.js
index 9a507b6182..5d3ba9f123 100644
--- a/products/ASC.Files/Client/src/components/dialogs/DeleteDialog/index.js
+++ b/products/ASC.Files/Client/src/components/dialogs/DeleteDialog/index.js
@@ -77,7 +77,10 @@ class DeleteDialogComponent extends React.Component {
}
};
- onClose = () => this.props.setDeleteDialogVisible(false);
+ onClose = () => {
+ this.props.setRemoveMediaItem(null);
+ this.props.setDeleteDialogVisible(false);
+ };
render() {
const { visible, t, isLoading } = this.props;
@@ -112,69 +115,67 @@ class DeleteDialogComponent extends React.Component {
const height = filesHeight + foldersHeight;
return (
-
-
- {title}
-
-
-
{noteText}
-
- {foldersList.length > 0 && (
-
- {t("FoldersModule")}:
-
- )}
- {foldersList.map((item, index) => (
-
- ))}
+
+ {title}
+
+
+ {noteText}
+
+ {foldersList.length > 0 && (
+
+ {t("FoldersModule")}:
+
+ )}
+ {foldersList.map((item, index) => (
+
+ ))}
- {filesList.length > 0 && (
-
- {t("FilesModule")}:
-
- )}
- {filesList.map((item, index) => (
-
- ))}
-
-
-
-
-
-
-
-
+ {filesList.length > 0 && (
+
+ {t("FilesModule")}:
+
+ )}
+ {filesList.map((item, index) => (
+
+ ))}
+
+
+
+
+
+
+
);
}
@@ -210,11 +211,13 @@ export default inject(
const {
deleteDialogVisible: visible,
setDeleteDialogVisible,
+ removeMediaItem,
+ setRemoveMediaItem,
} = dialogsStore;
return {
currentFolderId: selectedFolderStore.id,
- selection,
+ selection: removeMediaItem ? [removeMediaItem] : selection,
isLoading,
treeFolders,
isRecycleBinFolder,
@@ -229,6 +232,8 @@ export default inject(
clearSecondaryProgressData,
setDeleteDialogVisible,
deleteAction,
+
+ setRemoveMediaItem,
};
}
)(withRouter(observer(DeleteDialog)));
diff --git a/products/ASC.Files/Client/src/components/dialogs/DownloadDialog/DownloadContent.js b/products/ASC.Files/Client/src/components/dialogs/DownloadDialog/DownloadContent.js
index 54a6d91284..c748ee8b79 100644
--- a/products/ASC.Files/Client/src/components/dialogs/DownloadDialog/DownloadContent.js
+++ b/products/ASC.Files/Client/src/components/dialogs/DownloadDialog/DownloadContent.js
@@ -5,6 +5,7 @@ import RowContainer from "@appserver/components/row-container";
import Text from "@appserver/components/text";
import LinkWithDropdown from "@appserver/components/link-with-dropdown";
import styled from "styled-components";
+import { FilesFormats } from "@appserver/common/constants";
const StyledDownloadContent = styled.div`
.row_content,
@@ -19,7 +20,6 @@ const DownloadContent = (props) => {
checkedTitle,
indeterminateTitle,
items,
- formatKeys,
onSelectFormat,
onRowSelect,
getItemIcon,
@@ -35,7 +35,7 @@ const DownloadContent = (props) => {
label: t("OriginalFormat"),
onClick: onSelectFormat.bind(
this,
- formatKeys.OriginalFormat,
+ FilesFormats.OriginalFormat,
item,
"document"
),
@@ -45,7 +45,7 @@ const DownloadContent = (props) => {
label: ".txt",
onClick: onSelectFormat.bind(
this,
- formatKeys.TxtFormat,
+ FilesFormats.TxtFormat,
item,
"document"
),
@@ -55,7 +55,7 @@ const DownloadContent = (props) => {
label: ".docx",
onClick: onSelectFormat.bind(
this,
- formatKeys.DocxFormat,
+ FilesFormats.DocxFormat,
item,
"document"
),
@@ -65,7 +65,7 @@ const DownloadContent = (props) => {
label: ".odt",
onClick: onSelectFormat.bind(
this,
- formatKeys.OdtFormat,
+ FilesFormats.OdtFormat,
item,
"document"
),
@@ -75,7 +75,7 @@ const DownloadContent = (props) => {
label: ".pdf",
onClick: onSelectFormat.bind(
this,
- formatKeys.PdfFormat,
+ FilesFormats.PdfFormat,
item,
"document"
),
@@ -85,7 +85,7 @@ const DownloadContent = (props) => {
label: ".rtf",
onClick: onSelectFormat.bind(
this,
- formatKeys.RtfFormat,
+ FilesFormats.RtfFormat,
item,
"document"
),
@@ -95,7 +95,7 @@ const DownloadContent = (props) => {
label: t("CustomFormat"),
onClick: onSelectFormat.bind(
this,
- formatKeys.CustomFormat,
+ FilesFormats.CustomFormat,
item,
"document"
),
@@ -108,7 +108,7 @@ const DownloadContent = (props) => {
label: t("OriginalFormat"),
onClick: onSelectFormat.bind(
this,
- formatKeys.OriginalFormat,
+ FilesFormats.OriginalFormat,
item,
"presentation"
),
@@ -118,7 +118,7 @@ const DownloadContent = (props) => {
label: ".odp",
onClick: onSelectFormat.bind(
this,
- formatKeys.OdpFormat,
+ FilesFormats.OdpFormat,
item,
"presentation"
),
@@ -128,7 +128,7 @@ const DownloadContent = (props) => {
label: ".pdf",
onClick: onSelectFormat.bind(
this,
- formatKeys.PdfFormat,
+ FilesFormats.PdfFormat,
item,
"presentation"
),
@@ -138,7 +138,7 @@ const DownloadContent = (props) => {
label: ".pptx",
onClick: onSelectFormat.bind(
this,
- formatKeys.PptxFormat,
+ FilesFormats.PptxFormat,
item,
"presentation"
),
@@ -148,7 +148,7 @@ const DownloadContent = (props) => {
label: t("CustomFormat"),
onClick: onSelectFormat.bind(
this,
- formatKeys.CustomFormat,
+ FilesFormats.CustomFormat,
item,
"presentation"
),
@@ -161,7 +161,7 @@ const DownloadContent = (props) => {
label: t("OriginalFormat"),
onClick: onSelectFormat.bind(
this,
- formatKeys.OriginalFormat,
+ FilesFormats.OriginalFormat,
item,
"spreadsheet"
),
@@ -171,7 +171,7 @@ const DownloadContent = (props) => {
label: ".odp",
onClick: onSelectFormat.bind(
this,
- formatKeys.OdsFormat,
+ FilesFormats.OdsFormat,
item,
"spreadsheet"
),
@@ -181,7 +181,7 @@ const DownloadContent = (props) => {
label: ".pdf",
onClick: onSelectFormat.bind(
this,
- formatKeys.PdfFormat,
+ FilesFormats.PdfFormat,
item,
"spreadsheet"
),
@@ -191,7 +191,7 @@ const DownloadContent = (props) => {
label: ".xlsx",
onClick: onSelectFormat.bind(
this,
- formatKeys.XlsxFormat,
+ FilesFormats.XlsxFormat,
item,
"spreadsheet"
),
@@ -201,7 +201,7 @@ const DownloadContent = (props) => {
label: t("CustomFormat"),
onClick: onSelectFormat.bind(
this,
- formatKeys.CustomFormat,
+ FilesFormats.CustomFormat,
item,
"spreadsheet"
),
@@ -256,18 +256,22 @@ const DownloadContent = (props) => {
<>>
- {t("ConvertInto")}
+ {(checkedTitle || indeterminateTitle) && t("ConvertInto")}
-
- {documentsTitle}
-
+ {checkedTitle || indeterminateTitle ? (
+
+ {documentsTitle}
+
+ ) : (
+ <>>
+ )}
)}
@@ -297,19 +301,26 @@ const DownloadContent = (props) => {
{file.title}
<>>
-
- {file.checked && t("ConvertInto")}
-
-
- {format}
-
+ {file.checked && (
+
+ {t("ConvertInto")}
+
+ )}
+
+ {file.checked ? (
+
+ {format}
+
+ ) : (
+ <>>
+ )}
);
diff --git a/products/ASC.Files/Client/src/components/dialogs/DownloadDialog/index.js b/products/ASC.Files/Client/src/components/dialogs/DownloadDialog/index.js
index 5067872d36..ddbd76e451 100644
--- a/products/ASC.Files/Client/src/components/dialogs/DownloadDialog/index.js
+++ b/products/ASC.Files/Client/src/components/dialogs/DownloadDialog/index.js
@@ -13,20 +13,7 @@ import { downloadFormatFiles } from "@appserver/common/api/files";
import { TIMEOUT } from "../../../helpers/constants";
import DownloadContent from "./DownloadContent";
import { inject, observer } from "mobx-react";
-
-const formatKeys = Object.freeze({
- OriginalFormat: 0,
- TxtFormat: 1,
- DocxFormat: 2,
- OdtFormat: 3,
- OdsFormat: 4,
- OdpFormat: 5,
- PdfFormat: 6,
- RtfFormat: 7,
- XlsxFormat: 8,
- PptxFormat: 9,
- CustomFormat: 10,
-});
+import { FilesFormats } from "@appserver/common/constants";
class DownloadDialogComponent extends React.Component {
constructor(props) {
@@ -39,9 +26,9 @@ class DownloadDialogComponent extends React.Component {
presentations: sortedFiles.presentations,
other: sortedFiles.other,
- documentsTitleFormat: formatKeys.OriginalFormat,
- spreadsheetsTitleFormat: formatKeys.OriginalFormat,
- presentationsTitleFormat: formatKeys.OriginalFormat,
+ documentsTitleFormat: FilesFormats.OriginalFormat,
+ spreadsheetsTitleFormat: FilesFormats.OriginalFormat,
+ presentationsTitleFormat: FilesFormats.OriginalFormat,
checkedDocTitle: true,
checkedSpreadsheetTitle: true,
@@ -192,8 +179,8 @@ class DownloadDialogComponent extends React.Component {
if (!file) {
for (let file of newDocuments) {
file.format =
- format === formatKeys.CustomFormat || file.fileExst === format
- ? formatKeys.OriginalFormat
+ format === FilesFormats.CustomFormat || file.fileExst === format
+ ? FilesFormats.OriginalFormat
: format;
}
this.setState({
@@ -207,7 +194,7 @@ class DownloadDialogComponent extends React.Component {
newDoc.format = format;
this.setState({
documents: newDocuments,
- documentsTitleFormat: formatKeys.CustomFormat,
+ documentsTitleFormat: FilesFormats.CustomFormat,
});
}
}
@@ -216,8 +203,8 @@ class DownloadDialogComponent extends React.Component {
if (!file) {
for (let file of newSpreadsheets) {
file.format =
- format === formatKeys.CustomFormat || file.fileExst === format
- ? formatKeys.OriginalFormat
+ format === FilesFormats.CustomFormat || file.fileExst === format
+ ? FilesFormats.OriginalFormat
: format;
}
this.setState({
@@ -231,7 +218,7 @@ class DownloadDialogComponent extends React.Component {
newSpreadsheet.format = format;
this.setState({
spreadsheets: newSpreadsheets,
- spreadsheetsTitleFormat: formatKeys.CustomFormat,
+ spreadsheetsTitleFormat: FilesFormats.CustomFormat,
});
}
}
@@ -240,8 +227,8 @@ class DownloadDialogComponent extends React.Component {
if (!file) {
for (let file of newPresentations) {
file.format =
- format === formatKeys.CustomFormat || file.fileExst === format
- ? formatKeys.OriginalFormat
+ format === FilesFormats.CustomFormat || file.fileExst === format
+ ? FilesFormats.OriginalFormat
: format;
}
this.setState({
@@ -255,7 +242,7 @@ class DownloadDialogComponent extends React.Component {
newPresentation.format = format;
this.setState({
presentations: newPresentations,
- presentationsTitleFormat: formatKeys.CustomFormat,
+ presentationsTitleFormat: FilesFormats.CustomFormat,
});
}
}
@@ -427,6 +414,9 @@ class DownloadDialogComponent extends React.Component {
indeterminateOtherTitle,
} = this.state;
+ console.log("this.props", this.props);
+ console.log("this.state", this.state);
+
const otherLength = other.length;
const showOther = otherLength > 1;
@@ -440,140 +430,130 @@ class DownloadDialogComponent extends React.Component {
1;
return (
-
-
- {t("DownloadAs")}
-
- {t("ChooseFormatText")}
- {documents.length > 0 && (
-
- )}
+
+ {t("DownloadAs")}
+
+ {t("ChooseFormatText")}
+ {documents.length > 0 && (
+
+ )}
- {spreadsheets.length > 0 && (
-
- )}
+ {spreadsheets.length > 0 && (
+
+ )}
- {presentations.length > 0 && (
-
- )}
+ {presentations.length > 0 && (
+
+ )}
- {otherLength > 0 && (
- <>
- {showOther && (
-
-
-
- {t("Other")}
-
- <>>
-
-
- )}
-
- 0 && (
+ <>
+ {showOther && (
+
- {other.map((folder) => {
- const element = this.getItemIcon(folder);
- return (
-
-
-
- {folder.title}
-
- <>>
-
- {folder.fileExst && t("OriginalFormat")}
-
-
-
- );
- })}
-
- >
- )}
+
+
+ {t("Other")}
+
+ <>>
+
+
+ )}
- {!isSingleFile && {t("ConvertToZip")}}
- {t("ConvertMessage")}
-
-
-
-
-
-
+
+ {other.map((folder) => {
+ const element = this.getItemIcon(folder);
+ return (
+
+
+
+ {folder.title}
+
+ <>>
+
+ {folder.fileExst && t("OriginalFormat")}
+
+
+
+ );
+ })}
+
+ >
+ )}
+
+ {!isSingleFile && {t("ConvertToZip")}}
+ {t("ConvertMessage")}
+
+
+
+
+
);
}
diff --git a/products/ASC.Files/Client/src/components/dialogs/EmptyTrashDialog/index.js b/products/ASC.Files/Client/src/components/dialogs/EmptyTrashDialog/index.js
index 1d80454f6d..df71b6be39 100644
--- a/products/ASC.Files/Client/src/components/dialogs/EmptyTrashDialog/index.js
+++ b/products/ASC.Files/Client/src/components/dialogs/EmptyTrashDialog/index.js
@@ -115,31 +115,29 @@ const EmptyTrashDialogComponent = (props) => {
]);
return (
-
-
- {t("DeleteForeverTitle")}
-
- {t("DeleteForeverNote")}
-
-
-
-
-
-
+
+ {t("DeleteForeverTitle")}
+
+ {t("DeleteForeverNote")}
+
+
+
+
+
);
};
diff --git a/products/ASC.Files/Client/src/components/dialogs/ModalDialogContainer.js b/products/ASC.Files/Client/src/components/dialogs/ModalDialogContainer.js
index e084f33ddd..de9bf1d1e8 100644
--- a/products/ASC.Files/Client/src/components/dialogs/ModalDialogContainer.js
+++ b/products/ASC.Files/Client/src/components/dialogs/ModalDialogContainer.js
@@ -1,7 +1,8 @@
import styled from "styled-components";
import { tablet } from "@appserver/components/utils/device";
+import ModalDialog from "@appserver/components/modal-dialog";
-const ModalDialogContainer = styled.div`
+const ModalDialogContainer = styled(ModalDialog)`
.flex {
display: flex;
justify-content: space-between;
diff --git a/products/ASC.Files/Client/src/components/dialogs/ThirdPartyDialog/index.js b/products/ASC.Files/Client/src/components/dialogs/ThirdPartyDialog/index.js
index 5435344d51..f13f131be2 100644
--- a/products/ASC.Files/Client/src/components/dialogs/ThirdPartyDialog/index.js
+++ b/products/ASC.Files/Client/src/components/dialogs/ThirdPartyDialog/index.js
@@ -52,6 +52,7 @@ const ServiceItem = (props) => {
const dataProps = {
"data-link": capabilityLink,
"data-title": capabilityName,
+ "data-key": capabilityName,
};
return ;
@@ -222,6 +223,7 @@ const ThirdPartyDialog = (props) => {
onClick={onShowService}
className="service-item service-text"
data-title={webDavConnectItem[0]}
+ data-key={webDavConnectItem[0]}
>
{t("ConnextOtherAccount")}
diff --git a/products/ASC.Files/Client/src/components/panels/SharingPanel/SharingRow.js b/products/ASC.Files/Client/src/components/panels/SharingPanel/SharingRow.js
index 12cc31c764..f5383ae766 100644
--- a/products/ASC.Files/Client/src/components/panels/SharingPanel/SharingRow.js
+++ b/products/ASC.Files/Client/src/components/panels/SharingPanel/SharingRow.js
@@ -10,6 +10,7 @@ import AccessComboBox from "./AccessComboBox";
//import equal from "fast-deep-equal/react";
import { getAccessIcon } from "../../../helpers/files-helpers";
import { ReactSVG } from "react-svg";
+import { objectToGetParams } from "@appserver/common/utils";
class SharingRow extends React.Component {
constructor(props) {
@@ -49,19 +50,42 @@ class SharingRow extends React.Component {
const subject = t("ShareEmailSubject", { itemName });
const body = t("ShareEmailBody", { itemName, shareLink });
- window.open(`mailto:?subject=${subject}&body=${body}`);
+ const mailtoLink =
+ "mailto:" +
+ objectToGetParams({
+ subject,
+ body,
+ });
+
+ window.open(mailtoLink);
};
onShareTwitter = () => {
- const encodedLink = encodeURIComponent(this.props.item.sharedTo.shareLink);
- window.open(`https://twitter.com/intent/tweet?text=${encodedLink}`);
+ const { item } = this.props;
+ const { shareLink } = item.sharedTo;
+
+ const twitterLink =
+ "https://twitter.com/intent/tweet" +
+ objectToGetParams({
+ text: shareLink,
+ });
+
+ window.open(twitterLink);
};
- onShareFacebook = () => {
- window.open(
- `https://www.facebook.com/sharer/sharer.php?u=${this.props.item.sharedTo.shareLink}`
- );
- };
+ // onShareFacebook = () => {
+ // const { item, selection } = this.props;
+ // const { shareLink } = item.sharedTo;
+
+ // const facebookLink =
+ // "https://www.facebook.com/sharer/sharer.php" +
+ // objectToGetParams({
+ // u: shareLink,
+ // t: selection.title ? selection.title : selection[0].title,
+ // });
+
+ // window.open(facebookLink);
+ // };
render() {
//console.log("SharingRow render");
@@ -120,11 +144,11 @@ class SharingRow extends React.Component {
label: `${t("ShareVia")} e-mail`,
onClick: this.onShareEmail,
},
- {
- key: "linkItem_3",
- label: `${t("ShareVia")} Facebook`,
- onClick: this.onShareFacebook,
- },
+ // {
+ // key: "linkItem_3",
+ // label: `${t("ShareVia")} Facebook`,
+ // onClick: this.onShareFacebook,
+ // },
{
key: "linkItem_4",
label: `${t("ShareVia")} Twitter`,
diff --git a/products/ASC.Files/Client/src/components/panels/SharingPanel/index.js b/products/ASC.Files/Client/src/components/panels/SharingPanel/index.js
index 947f0eb4d7..59c89a8890 100644
--- a/products/ASC.Files/Client/src/components/panels/SharingPanel/index.js
+++ b/products/ASC.Files/Client/src/components/panels/SharingPanel/index.js
@@ -77,14 +77,10 @@ class SharingPanelComponent extends React.Component {
};
updateRowData = (newRowData) => {
- const { setFile, setFolder } = this.props;
+ const { getFileInfo, getFolderInfo } = this.props;
for (let item of newRowData) {
- if (!item.fileExst) {
- setFolder(item);
- } else {
- setFile(item);
- }
+ !item.fileExst ? getFolderInfo(item.id) : getFileInfo(item.id);
}
};
@@ -172,8 +168,8 @@ class SharingPanelComponent extends React.Component {
ownerId
)
.then((res) => {
- if (ownerId) {
- this.updateRowData(res[0]);
+ if (!ownerId) {
+ this.updateRowData(selection);
}
if (isPrivacy && isDesktop) {
if (share.length === 0) return Promise.resolve();
@@ -610,6 +606,8 @@ const SharingPanel = inject(
getShareUsers,
setShareFiles,
setIsLoading,
+ getFileInfo,
+ getFolderInfo,
isLoading,
} = filesStore;
const { isPrivacyFolder } = treeFoldersStore;
@@ -644,6 +642,8 @@ const SharingPanel = inject(
setFolder,
getShareUsers,
setShareFiles,
+ getFileInfo,
+ getFolderInfo,
};
}
)(observer(withTranslation("SharingPanel")(SharingPanelComponent)));
diff --git a/products/ASC.Files/Client/src/pages/Home/MediaViewer/index.js b/products/ASC.Files/Client/src/pages/Home/MediaViewer/index.js
index 4306b33361..c0333a1b3c 100644
--- a/products/ASC.Files/Client/src/pages/Home/MediaViewer/index.js
+++ b/products/ASC.Files/Client/src/pages/Home/MediaViewer/index.js
@@ -13,11 +13,12 @@ const FilesMediaViewer = (props) => {
playlist,
visible,
currentMediaFileId,
- deleteFileAction,
+ deleteItemAction,
setMediaViewerData,
mediaViewerMediaFormats,
mediaViewerImageFormats,
location,
+ setRemoveMediaItem,
} = props;
useEffect(() => {
@@ -60,7 +61,10 @@ const FilesMediaViewer = (props) => {
if (files.length > 0) {
let file = files.find((file) => file.id === id);
- if (file) deleteFileAction(file.id, file.folderId, translations);
+ if (file) {
+ setRemoveMediaItem(file);
+ deleteItemAction(file.id, file.folderId, translations, true);
+ }
}
};
@@ -95,7 +99,13 @@ const FilesMediaViewer = (props) => {
};
export default inject(
- ({ filesStore, mediaViewerDataStore, filesActionsStore, formatsStore }) => {
+ ({
+ filesStore,
+ mediaViewerDataStore,
+ filesActionsStore,
+ formatsStore,
+ dialogsStore,
+ }) => {
const { files } = filesStore;
const {
visible,
@@ -103,7 +113,7 @@ export default inject(
setMediaViewerData,
playlist,
} = mediaViewerDataStore;
- const { deleteFileAction } = filesActionsStore;
+ const { deleteItemAction } = filesActionsStore;
const { media, images } = formatsStore.mediaViewersFormatsStore;
return {
@@ -111,10 +121,11 @@ export default inject(
playlist,
visible: playlist.length > 0 && visible,
currentMediaFileId,
- deleteFileAction,
+ deleteItemAction,
setMediaViewerData,
mediaViewerImageFormats: images,
mediaViewerMediaFormats: media,
+ setRemoveMediaItem: dialogsStore.setRemoveMediaItem,
};
}
)(withRouter(withTranslation("Home")(observer(FilesMediaViewer))));
diff --git a/products/ASC.Files/Client/src/pages/Home/Section/Body/RowsView/SimpleFilesRow.js b/products/ASC.Files/Client/src/pages/Home/Section/Body/RowsView/SimpleFilesRow.js
index 7c9fbcbb3d..9e41f38d79 100644
--- a/products/ASC.Files/Client/src/pages/Home/Section/Body/RowsView/SimpleFilesRow.js
+++ b/products/ASC.Files/Client/src/pages/Home/Section/Body/RowsView/SimpleFilesRow.js
@@ -103,5 +103,5 @@ const SimpleFilesRow = createSelectable((props) => {
});
export default withTranslation("Home")(
- withFileActions(withContextOptions(withRouter(SimpleFilesRow)))
+ withFileActions(withRouter(withContextOptions(SimpleFilesRow)))
);
diff --git a/products/ASC.Files/Client/src/pages/Home/Section/Filter/index.js b/products/ASC.Files/Client/src/pages/Home/Section/Filter/index.js
index 4a168aed97..8726fc46c6 100644
--- a/products/ASC.Files/Client/src/pages/Home/Section/Filter/index.js
+++ b/products/ASC.Files/Client/src/pages/Home/Section/Filter/index.js
@@ -262,19 +262,11 @@ class SectionFilterContent extends React.Component {
render() {
//console.log("Filter render");
const selectedFilterData = this.getSelectedFilterData();
- const {
- t,
- firstLoad,
- sectionWidth,
- tReady,
- isAnyItems,
- filterSearch,
- viewAs,
- } = this.props;
+ const { t, sectionWidth, tReady, isFiltered, viewAs } = this.props;
const filterColumnCount =
window.innerWidth < 500 ? {} : { filterColumnCount: 3 };
- return !isAnyItems && !filterSearch ? null : !tReady ? (
+ return !isFiltered ? null : !tReady ? (
) : (
{
const {
- firstLoad,
fetchFiles,
filter,
setIsLoading,
@@ -311,24 +302,22 @@ export default inject(({ auth, filesStore, selectedFolderStore }) => {
const { user } = auth.userStore;
const { customNames, culture } = auth.settingsStore;
- const isAnyItems = !!files.length || !!folders.length;
- const filterSearch = filter.search;
+
+ const { search, filterType } = filter;
+ const isFiltered = !!files.length || !!folders.length || search || filterType;
return {
customNames,
user,
- firstLoad,
selectedFolderId: selectedFolderStore.id,
selectedItem: filter.selectedItem,
filter,
viewAs,
+ isFiltered,
setIsLoading,
fetchFiles,
setViewAs,
-
- isAnyItems,
- filterSearch,
};
})(
withRouter(
diff --git a/products/ASC.Files/Client/src/pages/Home/Section/Header/index.js b/products/ASC.Files/Client/src/pages/Home/Section/Header/index.js
index 31dddb2b53..87e3bbb045 100644
--- a/products/ASC.Files/Client/src/pages/Home/Section/Header/index.js
+++ b/products/ASC.Files/Client/src/pages/Home/Section/Header/index.js
@@ -323,6 +323,7 @@ class SectionHeaderContent extends React.Component {
isOnlyFoldersSelected,
isFavoritesFolder,
isRecentFolder,
+ isShareFolder,
} = this.props;
let menu = [
@@ -438,6 +439,10 @@ class SectionHeaderContent extends React.Component {
menu.splice(4, 1);
}
+ if (isShareFolder) {
+ menu.splice(4, 1);
+ }
+
return menu;
};
@@ -591,6 +596,7 @@ export default inject(
isPrivacyFolder,
isFavoritesFolder,
isRecentFolder,
+ isShareFolder,
} = treeFoldersStore;
const { setAction } = fileActionStore;
const {
@@ -614,6 +620,7 @@ export default inject(
isPrivacy: isPrivacyFolder,
isFavoritesFolder,
isRecentFolder,
+ isShareFolder,
filter,
canCreate,
selectionCount: selection.length,
diff --git a/products/ASC.Files/Client/src/pages/Home/index.js b/products/ASC.Files/Client/src/pages/Home/index.js
index c129074aa9..914ff427a4 100644
--- a/products/ASC.Files/Client/src/pages/Home/index.js
+++ b/products/ASC.Files/Client/src/pages/Home/index.js
@@ -30,7 +30,13 @@ import config from "../../../package.json";
class PureHome extends React.Component {
componentDidMount() {
- const { fetchFiles, homepage, setIsLoading, setFirstLoad } = this.props;
+ const {
+ fetchFiles,
+ homepage,
+ setIsLoading,
+ setFirstLoad,
+ isVisitor,
+ } = this.props;
const reg = new RegExp(`${homepage}((/?)$|/filter)`, "gm"); //TODO: Always find?
const match = window.location.pathname.match(reg);
@@ -41,6 +47,7 @@ class PureHome extends React.Component {
if (!filterObj) {
filterObj = FilesFilter.getDefault();
+ if (isVisitor) filterObj.folder = "@common";
const folderId = filterObj.folder;
setIsLoading(true);
fetchFiles(folderId, filterObj).finally(() => {
@@ -366,6 +373,7 @@ export default inject(
viewAs,
uploaded,
isRecycleBinFolder,
+ isVisitor: auth.userStore.user.isVisitor,
primaryProgressDataVisible,
primaryProgressDataPercent,
diff --git a/products/ASC.Files/Client/src/pages/Settings/Section/Body/index.js b/products/ASC.Files/Client/src/pages/Settings/Section/Body/index.js
index 9e31b08160..ad3272ebce 100644
--- a/products/ASC.Files/Client/src/pages/Settings/Section/Body/index.js
+++ b/products/ASC.Files/Client/src/pages/Settings/Section/Body/index.js
@@ -51,6 +51,7 @@ const SectionBodyContent = ({
myFolderId,
commonFolderId,
t,
+ isVisitor,
}) => {
const onChangeStoreForceSave = () => {
setStoreForceSave(!storeForceSave, "storeForceSave");
@@ -134,42 +135,51 @@ const SectionBodyContent = ({
onChange={onChangeDeleteConfirm}
isChecked={confirmDelete}
/>
- console.log(e)}
- isChecked={false}
- />
- console.log(e)}
- isChecked={false}
- />
- console.log(e)}
- isChecked={false}
- />
-
- {t("StoringFileVersion")}
-
-
-
+ {!isVisitor && (
+ <>
+ console.log(e)}
+ isChecked={false}
+ />
+
+ console.log(e)}
+ isChecked={false}
+ />
+ console.log(e)}
+ isChecked={false}
+ />
+ >
+ )}
+ {!isVisitor && (
+ <>
+
+ {t("StoringFileVersion")}
+
+
+
+ >
+ )}
);
};
@@ -240,6 +250,7 @@ export default inject(
treeFolders,
myFolderId,
commonFolderId,
+ isVisitor: auth.userStore.user.isVisitor,
setUpdateIfExist,
setStoreOriginal,
diff --git a/products/ASC.Files/Client/src/pages/VersionHistory/Section/Body/VersionRow.js b/products/ASC.Files/Client/src/pages/VersionHistory/Section/Body/VersionRow.js
index d7af931dae..5e2f221f22 100644
--- a/products/ASC.Files/Client/src/pages/VersionHistory/Section/Body/VersionRow.js
+++ b/products/ASC.Files/Client/src/pages/VersionHistory/Section/Body/VersionRow.js
@@ -13,6 +13,7 @@ import StyledVersionRow from "./StyledVersionRow";
import ExternalLinkIcon from "../../../../../public/images/external.link.react.svg";
import commonIconsStyles from "@appserver/components/utils/common-icons-style";
import { inject, observer } from "mobx-react";
+import toastr from "studio/toastr";
const StyledExternalLinkIcon = styled(ExternalLinkIcon)`
${commonIconsStyles}
diff --git a/products/ASC.Files/Client/src/store/DialogsStore.js b/products/ASC.Files/Client/src/store/DialogsStore.js
index 9b3184bd0f..ad385bdcf5 100644
--- a/products/ASC.Files/Client/src/store/DialogsStore.js
+++ b/products/ASC.Files/Client/src/store/DialogsStore.js
@@ -21,6 +21,7 @@ class DialogsStore {
newFilesIds = null;
conflictResolveDialogData = null;
conflictResolveDialogItems = null;
+ removeMediaItem = null;
constructor() {
makeAutoObservable(this);
@@ -104,6 +105,10 @@ class DialogsStore {
setConflictResolveDialogItems = (items) => {
this.conflictResolveDialogItems = items;
};
+
+ setRemoveMediaItem = (removeMediaItem) => {
+ this.removeMediaItem = removeMediaItem;
+ };
}
export default new DialogsStore();
diff --git a/products/ASC.Files/Client/src/store/FilesActionsStore.js b/products/ASC.Files/Client/src/store/FilesActionsStore.js
index 4d8270979d..ea3a4568eb 100644
--- a/products/ASC.Files/Client/src/store/FilesActionsStore.js
+++ b/products/ASC.Files/Client/src/store/FilesActionsStore.js
@@ -71,17 +71,18 @@ class FilesActionStore {
}
if (folderIds.length || fileIds.length) {
- setSecondaryProgressBarData({
- icon: "trash",
- visible: true,
- label: translations.deleteOperation,
- percent: 0,
- alert: false,
- });
-
return removeFiles(folderIds, fileIds, deleteAfter, immediately)
.then((res) => {
const id = res[0] && res[0].id ? res[0].id : null;
+ const currentProcess = res.find((x) => x.id === id);
+ setSecondaryProgressBarData({
+ icon: "trash",
+ visible: true,
+ label: translations.deleteOperation,
+ percent: currentProcess.progress,
+ alert: false,
+ });
+
this.loopDeleteOperation(id, translations);
})
.catch((err) => {
@@ -267,25 +268,41 @@ class FilesActionStore {
setSelection([item]);
};
+ deleteItemAction = (itemId, currentFolderId, translations, isFile) => {
+ const {
+ setSecondaryProgressBarData,
+ } = this.uploadDataStore.secondaryProgressDataStore;
+ if (this.settingsStore.confirmDelete) {
+ this.dialogsStore.setDeleteDialogVisible(true);
+ } else {
+ setSecondaryProgressBarData({
+ icon: "trash",
+ visible: true,
+ percent: 0,
+ label: translations.deleteOperation,
+ alert: false,
+ });
+
+ isFile
+ ? deleteFileAction(itemId, currentFolderId, translations)
+ : deleteFolderAction(itemId, currentFolderId, translations);
+ }
+ };
+
deleteFileAction = (fileId, currentFolderId, translations) => {
const {
setSecondaryProgressBarData,
clearSecondaryProgressData,
} = this.uploadDataStore.secondaryProgressDataStore;
- setSecondaryProgressBarData({
- icon: "trash",
- visible: true,
- percent: 0,
- label: translations.deleteOperation,
- alert: false,
- });
return deleteFile(fileId)
.then((res) => {
const id = res[0] && res[0].id ? res[0].id : null;
this.loopDeleteProgress(id, currentFolderId, false, translations);
})
+ .then(() => toastr.success(translations.successRemoveFile))
.catch((err) => {
+ toastr.error(err);
setSecondaryProgressBarData({
visible: true,
alert: true,
@@ -300,19 +317,14 @@ class FilesActionStore {
clearSecondaryProgressData,
} = this.uploadDataStore.secondaryProgressDataStore;
- setSecondaryProgressBarData({
- icon: "trash",
- visible: true,
- percent: 0,
- label: translations.deleteOperation,
- alert: false,
- });
return deleteFolder(folderId, currentFolderId)
.then((res) => {
const id = res[0] && res[0].id ? res[0].id : null;
this.loopDeleteProgress(id, currentFolderId, true, translations);
})
+ .then(() => toastr.success(translations.successRemoveFolder))
.catch((err) => {
+ toastr.error(err);
setSecondaryProgressBarData({
visible: true,
alert: true,
diff --git a/products/ASC.Files/Client/src/store/FilesStore.js b/products/ASC.Files/Client/src/store/FilesStore.js
index ecb81edb0f..daeb8354e9 100644
--- a/products/ASC.Files/Client/src/store/FilesStore.js
+++ b/products/ASC.Files/Client/src/store/FilesStore.js
@@ -6,6 +6,7 @@ import {
FileType,
FileAction,
AppServerConfig,
+ FilesFormats,
} from "@appserver/common/constants";
import history from "@appserver/common/history";
import { createTreeFolders } from "../helpers/files-helpers";
@@ -123,6 +124,7 @@ class FilesStore {
if (this.isInit) return;
const { isAuthenticated } = this.authStore;
+
const {
getPortalCultures,
isDesktopClient,
@@ -370,10 +372,10 @@ class FilesStore {
const isVisitor =
(this.userStore.user && this.userStore.user.isVisitor) || false;
const isFile = !!item.fileExst || item.contentLength;
- const isFavorite = item.fileStatus === 32;
+ const isFavorite = item.fileStatus === 32 || item.fileStatus === 34;
const isFullAccess = item.access < 2;
const withoutShare = false; //TODO: need this prop
- const isThirdPartyItem = item.providerKey;
+ const isThirdPartyItem = !!item.providerKey;
const hasNew = item.new > 0;
const canConvert = false; //TODO: fix of added convert check;
const isEncrypted = item.encrypted;
@@ -384,13 +386,18 @@ class FilesStore {
isRecycleBinFolder,
isPrivacyFolder,
isRecentFolder,
- isShareFolder,
- isCommonFolder,
+ isCommon,
+ isShare,
isFavoritesFolder,
- isThirdPartyFolder,
- isMyFolder,
} = this.treeFoldersStore;
+ const { isRootFolder } = this.selectedFolderStore;
+
+ const isThirdPartyFolder = item.providerKey && isRootFolder;
+
+ const isShareFolder = isShare(item.rootFolderType);
+ const isCommonFolder = isCommon(item.rootFolderType);
+
const { isDesktopClient } = this.settingsStore;
if (isFile) {
@@ -498,12 +505,7 @@ class FilesStore {
]);
}
- if (
- isCommonFolder ||
- isFavoritesFolder ||
- isPrivacyFolder ||
- isRecentFolder
- ) {
+ if (isFavoritesFolder || isPrivacyFolder || isRecentFolder) {
fileOptions = this.removeOptions(fileOptions, [
"copy",
"move-to",
@@ -547,6 +549,7 @@ class FilesStore {
"rename",
"block-unblock-version",
"copy",
+ "sharing-settings",
]);
}
@@ -575,7 +578,7 @@ class FilesStore {
]);
}
- if (isCommonFolder)
+ if (isCommonFolder) {
if (!this.userAccess) {
fileOptions = this.removeOptions(fileOptions, [
"owner-change",
@@ -587,6 +590,7 @@ class FilesStore {
fileOptions = this.removeOptions(fileOptions, ["separator2"]);
}
}
+ }
if (withoutShare) {
fileOptions = this.removeOptions(fileOptions, [
@@ -605,6 +609,10 @@ class FilesStore {
fileOptions = this.removeOptions(fileOptions, ["separator2"]);
}
+ if (isShareFolder) {
+ fileOptions = this.removeOptions(fileOptions, ["move-to", "delete"]);
+ }
+
return fileOptions;
} else {
let folderOptions = [
@@ -631,6 +639,13 @@ class FilesStore {
folderOptions = this.removeOptions(folderOptions, ["copy"]);
}
+ if (isShareFolder) {
+ folderOptions = this.removeOptions(folderOptions, [
+ "move-to",
+ "delete",
+ ]);
+ }
+
if (isRecycleBinFolder) {
folderOptions = this.removeOptions(folderOptions, [
"open",
@@ -686,6 +701,14 @@ class FilesStore {
folderOptions = this.removeOptions(folderOptions, ["unsubscribe"]);
}
+ if (isThirdPartyFolder) {
+ folderOptions = this.removeOptions(folderOptions, ["move-to"]);
+ } else {
+ folderOptions = this.removeOptions(folderOptions, [
+ "change-thirdparty-info",
+ ]);
+ }
+
if (isThirdPartyItem) {
folderOptions = this.removeOptions(folderOptions, ["owner-change"]);
@@ -700,10 +723,7 @@ class FilesStore {
]);
}
- folderOptions = this.removeOptions(folderOptions, [
- "remove",
- "move-to",
- ]);
+ folderOptions = this.removeOptions(folderOptions, ["remove"]);
if (!item) {
//For damaged items
@@ -1025,10 +1045,6 @@ class FilesStore {
} = this.formatsStore.iconFormatsStore;
const { canWebEdit } = this.formatsStore.docserviceStore;
- const formatKeys = Object.freeze({
- OriginalFormat: 0,
- });
-
let sortedFiles = {
documents: [],
spreadsheets: [],
@@ -1038,7 +1054,7 @@ class FilesStore {
for (let item of this.selection) {
item.checked = true;
- item.format = formatKeys.OriginalFormat;
+ item.format = FilesFormats.OriginalFormat;
if (item.fileExst) {
if (isSpreadsheet(item.fileExst)) {
@@ -1080,9 +1096,8 @@ class FilesStore {
get isAccessedSelected() {
return (
- (this.selection.length &&
- this.selection.every((x) => x.access === 1 || x.access === 0)) ||
- (this.authStore.isAdmin && this.selection.length)
+ this.selection.length &&
+ this.selection.every((x) => x.access === 1 || x.access === 0)
);
}
@@ -1231,6 +1246,11 @@ class FilesStore {
this.setFile(fileInfo);
};
+ getFolderInfo = async (id) => {
+ const folderInfo = await api.files.getFolderInfo(id);
+ this.setFolder(folderInfo);
+ };
+
openDocEditor = (id, providerKey = null, tab = null, url = null) => {
if (providerKey) {
tab
diff --git a/products/ASC.Files/Client/src/store/TreeFoldersStore.js b/products/ASC.Files/Client/src/store/TreeFoldersStore.js
index 97ed1699b0..b978794dca 100644
--- a/products/ASC.Files/Client/src/store/TreeFoldersStore.js
+++ b/products/ASC.Files/Client/src/store/TreeFoldersStore.js
@@ -48,6 +48,9 @@ class TreeFoldersStore {
if (rootItem) rootItem.newItems -= count;
};
+ isCommon = (commonType) => commonType === FolderType.COMMON;
+ isShare = (shareType) => shareType === FolderType.SHARE;
+
get myFolder() {
return this.treeFolders.find((x) => x.rootFolderName === "@my");
}
diff --git a/products/ASC.Files/Core/Core/Dao/TeamlabDao/FolderDao.cs b/products/ASC.Files/Core/Core/Dao/TeamlabDao/FolderDao.cs
index c9201245e1..3809b38ad0 100644
--- a/products/ASC.Files/Core/Core/Dao/TeamlabDao/FolderDao.cs
+++ b/products/ASC.Files/Core/Core/Dao/TeamlabDao/FolderDao.cs
@@ -271,7 +271,7 @@ namespace ASC.Files.Core.Data
}
}
- return (checkShare ? FromQueryWithShared(q) : FromQuery(q)).Select(ToFolder).ToList();
+ return (checkShare ? FromQueryWithShared(q) : FromQuery(q)).Select(ToFolder).Distinct().ToList();
}
public List> GetParentFolders(int folderId)
diff --git a/products/ASC.Files/Core/Core/FileStorageService.cs b/products/ASC.Files/Core/Core/FileStorageService.cs
index e02c0aa51f..476ac503f4 100644
--- a/products/ASC.Files/Core/Core/FileStorageService.cs
+++ b/products/ASC.Files/Core/Core/FileStorageService.cs
@@ -382,7 +382,7 @@ namespace ASC.Web.Files.Services.WCFService
}
}
- EntryManager.SetFileStatus(entries.OfType>().Where(r => r.ID != null).ToList());
+ EntryManager.SetFileStatus(entries);
return new ItemList(entries);
}
@@ -1225,7 +1225,7 @@ namespace ASC.Web.Files.Services.WCFService
}
catch (Exception e)
{
- throw GenerateException(e);
+ throw GenerateException(e.InnerException ?? e);
}
}
else
diff --git a/products/ASC.Files/Core/Core/Thirdparty/OneDrive/OneDriveDaoBase.cs b/products/ASC.Files/Core/Core/Thirdparty/OneDrive/OneDriveDaoBase.cs
index c2384647a1..a9f75348be 100644
--- a/products/ASC.Files/Core/Core/Thirdparty/OneDrive/OneDriveDaoBase.cs
+++ b/products/ASC.Files/Core/Core/Thirdparty/OneDrive/OneDriveDaoBase.cs
@@ -37,9 +37,8 @@ using ASC.Files.Core;
using ASC.Files.Core.EF;
using ASC.Web.Core.Files;
using ASC.Web.Files.Classes;
-using ASC.Web.Studio.Core;
-
-using Microsoft.Extensions.DependencyInjection;
+using ASC.Web.Studio.Core;
+
using Microsoft.Extensions.Options;
using Microsoft.OneDrive.Sdk;
@@ -171,7 +170,7 @@ namespace ASC.Files.Thirdparty.OneDrive
if (onedriveFile.File == null) return null;
- var file = ServiceProvider.GetService>();
+ var file = GetFile();
file.ID = MakeId(onedriveFile.Id);
file.ContentLength = onedriveFile.Size.HasValue ? (long)onedriveFile.Size : 0;
diff --git a/products/ASC.Files/Core/Core/Thirdparty/ProviderAccountDao.cs b/products/ASC.Files/Core/Core/Thirdparty/ProviderAccountDao.cs
index 25065a381e..c2423c2f26 100644
--- a/products/ASC.Files/Core/Core/Thirdparty/ProviderAccountDao.cs
+++ b/products/ASC.Files/Core/Core/Thirdparty/ProviderAccountDao.cs
@@ -367,7 +367,9 @@ namespace ASC.Files.Thirdparty
{
Id = id,
Title = customerTitle,
- Token = EncryptPassword(authData.Token),
+ Token = EncryptPassword(authData.Token),
+ Url = authData.Url,
+ UserName = authData.Login,
Password = EncryptPassword(authData.Password),
UserId = owner,
FolderType = type,
@@ -390,10 +392,11 @@ namespace ASC.Files.Thirdparty
var createOn = TenantUtil.DateTimeFromUtc(input.CreateOn);
var authData = new AuthData(input.Url, input.UserName, DecryptPassword(input.Password), token);
- if (string.IsNullOrEmpty(token)) throw new ArgumentException("Token can't be null");
-
if (key == ProviderTypes.Box)
- {
+ {
+ if (string.IsNullOrEmpty(token))
+ throw new ArgumentException("Token can't be null");
+
var box = ServiceProvider.GetService();
box.ID = id;
box.CustomerTitle = providerTitle;
@@ -406,7 +409,10 @@ namespace ASC.Files.Thirdparty
}
if (key == ProviderTypes.DropboxV2)
- {
+ {
+ if (string.IsNullOrEmpty(token))
+ throw new ArgumentException("Token can't be null");
+
var drop = ServiceProvider.GetService();
drop.ID = id;
drop.CustomerTitle = providerTitle;
@@ -436,7 +442,10 @@ namespace ASC.Files.Thirdparty
}
if (key == ProviderTypes.GoogleDrive)
- {
+ {
+ if (string.IsNullOrEmpty(token))
+ throw new ArgumentException("Token can't be null");
+
var gd = ServiceProvider.GetService();
gd.ID = id;
gd.CustomerTitle = providerTitle;
@@ -450,7 +459,10 @@ namespace ASC.Files.Thirdparty
}
if (key == ProviderTypes.OneDrive)
- {
+ {
+ if (string.IsNullOrEmpty(token))
+ throw new ArgumentException("Token can't be null");
+
var od = ServiceProvider.GetService();
od.ID = id;
od.CustomerTitle = providerTitle;
diff --git a/products/ASC.Files/Core/Services/DocumentService/Configuration.cs b/products/ASC.Files/Core/Services/DocumentService/Configuration.cs
index 55dcd5cdda..e7ef3547cf 100644
--- a/products/ASC.Files/Core/Services/DocumentService/Configuration.cs
+++ b/products/ASC.Files/Core/Services/DocumentService/Configuration.cs
@@ -485,8 +485,7 @@ namespace ASC.Web.Files.Services.DocumentService
}
var folderDao = DaoFactory.GetFolderDao();
- var fileDao = DaoFactory.GetFileDao();
- var files = entryManager.GetRecent(folderDao, fileDao, filter, false, Guid.Empty, string.Empty, false);
+ var files = entryManager.GetRecent(filter, false, Guid.Empty, string.Empty, false).Cast>();
var listRecent = from file in files
where !Equals(_configuration.Document.Info.File.ID, file.ID)
diff --git a/products/ASC.Files/Core/Services/WCFService/FileOperations/FileOperation.cs b/products/ASC.Files/Core/Services/WCFService/FileOperations/FileOperation.cs
index 4c1f095a0d..9d6cde8229 100644
--- a/products/ASC.Files/Core/Services/WCFService/FileOperations/FileOperation.cs
+++ b/products/ASC.Files/Core/Services/WCFService/FileOperations/FileOperation.cs
@@ -358,9 +358,9 @@ namespace ASC.Web.Files.Services.WCFService.FileOperations
protected void ProgressStep(TId folderId = default, TId fileId = default)
{
- if (folderId.Equals(default(TId)) && fileId.Equals(default(TId))
- || !folderId.Equals(default(TId)) && Folders.Contains(folderId)
- || !fileId.Equals(default(TId)) && Files.Contains(fileId))
+ if (Equals(folderId, default(TId)) && Equals(fileId, default(TId))
+ || !Equals(folderId, default(TId)) && Folders.Contains(folderId)
+ || !Equals(fileId, default(TId)) && Files.Contains(fileId))
{
processed++;
PublishTaskInfo();
diff --git a/products/ASC.Files/Core/Utils/EntryManager.cs b/products/ASC.Files/Core/Utils/EntryManager.cs
index dcb8179d2d..23e2556c19 100644
--- a/products/ASC.Files/Core/Utils/EntryManager.cs
+++ b/products/ASC.Files/Core/Utils/EntryManager.cs
@@ -384,9 +384,7 @@ namespace ASC.Web.Files.Utils
}
else if (parent.FolderType == FolderType.Recent)
{
- var folderDao = DaoFactory.GetFolderDao();
- var fileDao = DaoFactory.GetFileDao();
- var files = GetRecent(folderDao, fileDao, filter, subjectGroup, subjectId, searchText, searchInContent);
+ var files = GetRecent(filter, subjectGroup, subjectId, searchText, searchInContent);
entries = entries.Concat(files);
CalculateTotal();
@@ -396,7 +394,7 @@ namespace ASC.Web.Files.Utils
var fileDao = DaoFactory.GetFileDao();
var folderDao = DaoFactory.GetFolderDao();
- GetFavorites(folderDao, fileDao, filter, subjectGroup, subjectId, searchText, searchInContent, out var folders, out var files);
+ var (files, folders) = GetFavorites(filter, subjectGroup, subjectId, searchText, searchInContent);
entries = entries.Concat(folders);
entries = entries.Concat(files);
@@ -473,7 +471,7 @@ namespace ASC.Web.Files.Utils
if (0 < count) entries = entries.Take(count);
}
- SetFileStatus(entries.OfType>().Where(r => r != null && r.ID != null && r.FileEntryType == FileEntryType.File).ToList());
+ SetFileStatus(entries.Where(r => r != null && r.FileEntryType == FileEntryType.File).ToList());
return entries;
void CalculateTotal()
@@ -545,53 +543,101 @@ namespace ASC.Web.Files.Utils
return folderList;
}
- public IEnumerable> GetRecent(IFolderDao folderDao, IFileDao fileDao, FilterType filter, bool subjectGroup, Guid subjectId, string searchText, bool searchInContent)
+ public IEnumerable GetRecent(FilterType filter, bool subjectGroup, Guid subjectId, string searchText, bool searchInContent)
{
- var tagDao = DaoFactory.GetTagDao();
+ var tagDao = DaoFactory.GetTagDao();
var tags = tagDao.GetTags(AuthContext.CurrentAccount.ID, TagType.Recent).ToList();
- var fileIds = tags.Where(tag => tag.EntryType == FileEntryType.File).Select(tag => (T)Convert.ChangeType(tag.EntryId, typeof(T))).ToArray();
- var files = fileDao.GetFilesFiltered(fileIds, filter, subjectGroup, subjectId, searchText, searchInContent);
- files = files.Where(file => file.RootFolderType != FolderType.TRASH).ToList();
+ var fileIds = tags.Where(tag => tag.EntryType == FileEntryType.File).ToList();
- files = FileSecurity.FilterRead(files).ToList();
+ List files = GetRecentByIds(fileIds.Where(r => r.EntryId is int).Select(r=> (int)r.EntryId), filter, subjectGroup, subjectId, searchText, searchInContent).ToList();
+ files.AddRange(GetRecentByIds(fileIds.Where(r => r.EntryId is string).Select(r => (string)r.EntryId), filter, subjectGroup, subjectId, searchText, searchInContent));
- CheckFolderId(folderDao, files);
+ var listFileIds = fileIds.Select(tag => tag.EntryId).ToList();
- var listFileIds = fileIds.ToList();
- files = files.OrderBy(file => listFileIds.IndexOf(file.ID)).ToList();
+ files = files.OrderBy(file =>
+ {
+ var fileId = "";
+ if (file is File fileInt)
+ {
+ fileId = fileInt.ID.ToString();
+ }
+ else if (file is File fileString)
+ {
+ fileId = fileString.ID;
+ }
+
+ return listFileIds.IndexOf(fileId);
+ }).ToList();
return files;
- }
- public void GetFavorites(IFolderDao folderDao, IFileDao fileDao, FilterType filter, bool subjectGroup, Guid subjectId, string searchText, bool searchInContent, out IEnumerable> folders, out IEnumerable> files)
- {
- folders = new List>();
- files = new List>();
- var fileSecurity = FileSecurity;
- var tagDao = DaoFactory.GetTagDao();
- var tags = tagDao.GetTags(AuthContext.CurrentAccount.ID, TagType.Favorite);
-
- if (filter == FilterType.None || filter == FilterType.FoldersOnly)
+ IEnumerable GetRecentByIds(IEnumerable fileIds, FilterType filter, bool subjectGroup, Guid subjectId, string searchText, bool searchInContent)
{
- var folderIds = tags.Where(tag => tag.EntryType == FileEntryType.Folder).Select(tag => (T)Convert.ChangeType(tag.EntryId, typeof(T))).ToList();
- folders = folderDao.GetFolders(folderIds, filter, subjectGroup, subjectId, searchText, false, false);
- folders = folders.Where(folder => folder.RootFolderType != FolderType.TRASH).ToList();
-
- folders = fileSecurity.FilterRead(folders).ToList();
-
- CheckFolderId(folderDao, folders);
- }
-
- if (filter != FilterType.FoldersOnly)
- {
- var fileIds = tags.Where(tag => tag.EntryType == FileEntryType.File).Select(tag => (T)Convert.ChangeType(tag.EntryId, typeof(T))).ToArray();
- files = fileDao.GetFilesFiltered(fileIds, filter, subjectGroup, subjectId, searchText, searchInContent);
+ var folderDao = DaoFactory.GetFolderDao();
+ var fileDao = DaoFactory.GetFileDao();
+ var files = fileDao.GetFilesFiltered(fileIds, filter, subjectGroup, subjectId, searchText, searchInContent);
files = files.Where(file => file.RootFolderType != FolderType.TRASH).ToList();
- files = fileSecurity.FilterRead(files).ToList();
+ files = FileSecurity.FilterRead(files).ToList();
- CheckFolderId(folderDao, folders);
+ CheckFolderId(folderDao, files);
+
+ return files;
+ }
+ }
+
+ public (IEnumerable, IEnumerable) GetFavorites(FilterType filter, bool subjectGroup, Guid subjectId, string searchText, bool searchInContent)
+ {
+ var fileSecurity = FileSecurity;
+ var tagDao = DaoFactory.GetTagDao();
+ var tags = tagDao.GetTags(AuthContext.CurrentAccount.ID, TagType.Favorite);
+
+ var fileIds = tags.Where(tag => tag.EntryType == FileEntryType.File).ToList();
+ var folderIds = tags.Where(tag => tag.EntryType == FileEntryType.Folder).ToList();
+
+ var (filesInt, foldersInt) = GetFavoritesById(fileIds.Where(r => r.EntryId is int).Select(r => (int)r.EntryId), folderIds.Where(r => r.EntryId is int).Select(r => (int)r.EntryId), filter, subjectGroup, subjectId, searchText, searchInContent);
+ var (filesString, foldersString) = GetFavoritesById(fileIds.Where(r => r.EntryId is string).Select(r => (string)r.EntryId), folderIds.Where(r => r.EntryId is string).Select(r => (string)r.EntryId), filter, subjectGroup, subjectId, searchText, searchInContent);
+
+ var files = new List();
+ files.AddRange(filesInt);
+ files.AddRange(filesString);
+
+ var folders = new List();
+ folders.AddRange(foldersInt);
+ folders.AddRange(foldersString);
+
+ return (files, folders);
+
+ (IEnumerable, IEnumerable) GetFavoritesById(IEnumerable fileIds, IEnumerable folderIds, FilterType filter, bool subjectGroup, Guid subjectId, string searchText, bool searchInContent)
+ {
+ var folderDao = DaoFactory.GetFolderDao();
+ var fileDao = DaoFactory.GetFileDao();
+ var folders = new List>();
+ var files = new List>();
+ var fileSecurity = FileSecurity;
+
+ if (filter == FilterType.None || filter == FilterType.FoldersOnly)
+ {
+ folders = folderDao.GetFolders(folderIds, filter, subjectGroup, subjectId, searchText, false, false);
+ folders = folders.Where(folder => folder.RootFolderType != FolderType.TRASH).ToList();
+
+ folders = fileSecurity.FilterRead(folders).ToList();
+
+ CheckFolderId(folderDao, folders);
+ }
+
+ if (filter != FilterType.FoldersOnly)
+ {
+ files = fileDao.GetFilesFiltered(fileIds, filter, subjectGroup, subjectId, searchText, searchInContent);
+ files = files.Where(file => file.RootFolderType != FolderType.TRASH).ToList();
+
+ files = fileSecurity.FilterRead(files).ToList();
+
+ CheckFolderId(folderDao, folders);
+ }
+
+ return (files, folders);
}
}
@@ -778,6 +824,12 @@ namespace ASC.Web.Files.Utils
SetFileStatus(new List>(1) { file });
}
+ public void SetFileStatus(IEnumerable files)
+ {
+ SetFileStatus(files.OfType>().Where(r=> r.ID != 0));
+ SetFileStatus(files.OfType>().Where(r=> !string.IsNullOrEmpty(r.ID)));
+ }
+
public void SetFileStatus(IEnumerable> files)
{
var tagDao = DaoFactory.GetTagDao();
diff --git a/products/ASC.Files/Server/ASC.Files.csproj b/products/ASC.Files/Server/ASC.Files.csproj
index 800e64b831..f6efe51f4d 100644
--- a/products/ASC.Files/Server/ASC.Files.csproj
+++ b/products/ASC.Files/Server/ASC.Files.csproj
@@ -29,6 +29,8 @@
all
runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
diff --git a/products/ASC.Files/Server/Controllers/FilesController.cs b/products/ASC.Files/Server/Controllers/FilesController.cs
index 6094dcfe23..2560d51cd6 100644
--- a/products/ASC.Files/Server/Controllers/FilesController.cs
+++ b/products/ASC.Files/Server/Controllers/FilesController.cs
@@ -165,8 +165,15 @@ namespace ASC.Api.Documents
public IEnumerable> GetRootFolders(Guid userIdOrGroupId, FilterType filterType, bool withsubfolders, bool withoutTrash, bool withoutAdditionalFolder)
{
var IsVisitor = UserManager.GetUsers(SecurityContext.CurrentAccount.ID).IsVisitor(UserManager);
+ var IsOutsider = UserManager.GetUsers(SecurityContext.CurrentAccount.ID).IsOutsider(UserManager);
var result = new SortedSet();
+ if (IsOutsider)
+ {
+ withoutTrash = true;
+ withoutAdditionalFolder = true;
+ }
+
if (!IsVisitor)
{
result.Add(GlobalFolderHelper.FolderMy);
@@ -208,8 +215,7 @@ namespace ASC.Api.Documents
result.Add(GlobalFolderHelper.FolderTemplates);
}
- if (!IsVisitor
- && !withoutTrash)
+ if (!withoutTrash)
{
result.Add((int)GlobalFolderHelper.FolderTrash);
}
@@ -473,13 +479,13 @@ namespace ASC.Api.Documents
/// If True, upload documents in original formats as well
/// Keep status conversation after finishing
/// Uploaded file
- [Create("{folderId}/upload", DisableFormat = true)]
+ [Create("{folderId}/upload")]
public List> UploadFileFromBody(string folderId, [FromBody]UploadModel uploadModel)
{
return FilesControllerHelperString.UploadFile(folderId, uploadModel);
}
- [Create("{folderId}/upload", DisableFormat = true)]
+ [Create("{folderId}/upload")]
[Consumes("application/x-www-form-urlencoded")]
public List> UploadFileFromForm(string folderId, [FromForm]UploadModel uploadModel)
{
@@ -540,7 +546,7 @@ namespace ASC.Api.Documents
/// Keep status conversation after finishing
/// Uploads
///
- [Create("{folderId}/insert", order: int.MaxValue, DisableFormat = true)]
+ [Create("{folderId}/insert", order: int.MaxValue)]
public FileWrapper InsertFile(string folderId, [FromForm] InsertFileModel model)
{
return FilesControllerHelperString.InsertFile(folderId, model.File.OpenReadStream(), model.Title, model.CreateNewIfExist, model.KeepConvertStatus);
@@ -566,7 +572,7 @@ namespace ASC.Api.Documents
///
/// false
- [Update("{fileId}/update", DisableFormat = true)]
+ [Update("{fileId}/update")]
public FileWrapper UpdateFileStreamFromForm(string fileId, [FromForm]FileStreamModel model)
{
return FilesControllerHelperString.UpdateFileStream(model.File.OpenReadStream(), fileId, model.Encrypted, model.Forcesave);
@@ -590,7 +596,7 @@ namespace ASC.Api.Documents
///
/// Files
///
- [Update("file/{fileId}/saveediting", DisableFormat = true)]
+ [Update("file/{fileId}/saveediting")]
public FileWrapper SaveEditingFromForm(string fileId, [FromForm]SaveEditingModel model)
{
using var stream = model.Stream.OpenReadStream();
@@ -612,13 +618,13 @@ namespace ASC.Api.Documents
///
/// Files
///
- [Create("file/{fileId}/startedit", DisableFormat = true)]
+ [Create("file/{fileId}/startedit")]
public object StartEditFromBody(string fileId, [FromBody]StartEditModel model)
{
return FilesControllerHelperString.StartEdit(fileId, model.EditingAlone, model.Doc);
}
- [Create("file/{fileId}/startedit", DisableFormat = true)]
+ [Create("file/{fileId}/startedit")]
[Consumes("application/x-www-form-urlencoded")]
public object StartEditFromForm(string fileId, [FromForm]StartEditModel model)
{
@@ -648,7 +654,7 @@ namespace ASC.Api.Documents
///
/// Files
///
- [Read("file/{fileId}/trackeditfile", DisableFormat = true)]
+ [Read("file/{fileId}/trackeditfile")]
public KeyValuePair TrackEditFile(string fileId, Guid tabId, string docKeyForTrack, string doc, bool isFinish)
{
return FilesControllerHelperString.TrackEditFile(fileId, tabId, docKeyForTrack, doc, isFinish);
@@ -669,7 +675,7 @@ namespace ASC.Api.Documents
/// Files
///
[AllowAnonymous]
- [Read("file/{fileId}/openedit", DisableFormat = true)]
+ [Read("file/{fileId}/openedit")]
public Configuration OpenEdit(string fileId, int version, string doc)
{
return FilesControllerHelperString.OpenEdit(fileId, version, doc);
@@ -715,13 +721,13 @@ namespace ASC.Api.Documents
///
/// ]]>
///
- [Create("{folderId}/upload/create_session", DisableFormat = true)]
+ [Create("{folderId}/upload/create_session")]
public object CreateUploadSessionFromBody(string folderId, [FromBody]SessionModel sessionModel)
{
return FilesControllerHelperString.CreateUploadSession(folderId, sessionModel.FileName, sessionModel.FileSize, sessionModel.RelativePath, sessionModel.Encrypted);
}
- [Create("{folderId}/upload/create_session", DisableFormat = true)]
+ [Create("{folderId}/upload/create_session")]
[Consumes("application/x-www-form-urlencoded")]
public object CreateUploadSessionFromForm(string folderId, [FromForm]SessionModel sessionModel)
{
@@ -792,13 +798,13 @@ namespace ASC.Api.Documents
/// File title
/// File contents
/// Folder contents
- [Create("{folderId}/text", DisableFormat = true)]
+ [Create("{folderId}/text")]
public FileWrapper CreateTextFileFromBody(string folderId, [FromBody]CreateTextOrHtmlFileModel model)
{
return CreateTextFile(folderId, model);
}
- [Create("{folderId}/text", DisableFormat = true)]
+ [Create("{folderId}/text")]
[Consumes("application/x-www-form-urlencoded")]
public FileWrapper CreateTextFileFromForm(string folderId, [FromForm]CreateTextOrHtmlFileModel model)
{
@@ -837,13 +843,13 @@ namespace ASC.Api.Documents
/// File title
/// File contents
/// Folder contents
- [Create("{folderId}/html", DisableFormat = true)]
+ [Create("{folderId}/html")]
public FileWrapper CreateHtmlFileFromBody(string folderId, [FromBody]CreateTextOrHtmlFileModel model)
{
return CreateHtmlFile(folderId, model);
}
- [Create("{folderId}/html", DisableFormat = true)]
+ [Create("{folderId}/html")]
[Consumes("application/x-www-form-urlencoded")]
public FileWrapper CreateHtmlFileFromForm(string folderId, [FromForm]CreateTextOrHtmlFileModel model)
{
@@ -981,13 +987,13 @@ namespace ASC.Api.Documents
/// File title
/// In case the extension for the file title differs from DOCX/XLSX/PPTX and belongs to one of the known text, spreadsheet or presentation formats, it will be changed to DOCX/XLSX/PPTX accordingly. If the file extension is not set or is unknown, the DOCX extension will be added to the file title.
/// New file info
- [Create("{folderId}/file", DisableFormat = true)]
+ [Create("{folderId}/file")]
public FileWrapper CreateFileFromBody(string folderId, [FromBody]CreateFileModel model)
{
return FilesControllerHelperString.CreateFile(folderId, model.Title, model.TemplateId, model.EnableExternalExt);
}
- [Create("{folderId}/file", DisableFormat = true)]
+ [Create("{folderId}/file")]
[Consumes("application/x-www-form-urlencoded")]
public FileWrapper CreateFileFromForm(string folderId, [FromForm]CreateFileModel model)
{
@@ -1088,7 +1094,7 @@ namespace ASC.Api.Documents
///
/// Folders
/// Parent folders
- [Read("folder/{folderId}/path", DisableFormat = true)]
+ [Read("folder/{folderId}/path")]
public IEnumerable GetFolderPath(string folderId)
{
return FilesControllerHelperString.GetFolderPath(folderId);
@@ -1112,7 +1118,7 @@ namespace ASC.Api.Documents
return FilesControllerHelperString.GetFileInfo(fileId, version);
}
- [Read("file/{fileId:int}", DisableFormat = true)]
+ [Read("file/{fileId:int}")]
public FileWrapper GetFileInfo(int fileId, int version = -1)
{
return FilesControllerHelperInt.GetFileInfo(fileId, version);
@@ -1181,7 +1187,7 @@ namespace ASC.Api.Documents
/// File operations
///
/// Operation result
- [Update("file/{fileId}/checkconversion", DisableFormat = true)]
+ [Update("file/{fileId}/checkconversion")]
public IEnumerable> StartConversion(string fileId)
{
return FilesControllerHelperString.StartConversion(fileId);
@@ -1201,7 +1207,7 @@ namespace ASC.Api.Documents
///
///
/// Operation result
- [Read("file/{fileId}/checkconversion", DisableFormat = true)]
+ [Read("file/{fileId}/checkconversion")]
public IEnumerable> CheckConversion(string fileId, bool start)
{
return FilesControllerHelperString.CheckConversion(fileId, start);
@@ -1413,7 +1419,7 @@ namespace ASC.Api.Documents
/// Files
/// File ID
/// File information
- [Read("file/{fileId}/history", DisableFormat = true)]
+ [Read("file/{fileId}/history")]
public IEnumerable> GetFileVersionInfo(string fileId)
{
return FilesControllerHelperString.GetFileVersionInfo(fileId);
@@ -1433,13 +1439,13 @@ namespace ASC.Api.Documents
/// Mark as version or revision
/// Files
///
- [Update("file/{fileId}/history", DisableFormat = true)]
+ [Update("file/{fileId}/history")]
public IEnumerable> ChangeHistoryFromBody(string fileId, [FromBody]ChangeHistoryModel model)
{
return FilesControllerHelperString.ChangeHistory(fileId, model.Version, model.ContinueVersion);
}
- [Update("file/{fileId}/history", DisableFormat = true)]
+ [Update("file/{fileId}/history")]
[Consumes("application/x-www-form-urlencoded")]
public IEnumerable> ChangeHistoryFromForm(string fileId, [FromForm]ChangeHistoryModel model)
{
@@ -1459,13 +1465,13 @@ namespace ASC.Api.Documents
return FilesControllerHelperInt.ChangeHistory(fileId, model.Version, model.ContinueVersion);
}
- [Update("file/{fileId}/lock", DisableFormat = true)]
+ [Update("file/{fileId}/lock")]
public FileWrapper LockFileFromBody(string fileId, [FromBody]LockFileModel model)
{
return FilesControllerHelperString.LockFile(fileId, model.LockFile);
}
- [Update("file/{fileId}/lock", DisableFormat = true)]
+ [Update("file/{fileId}/lock")]
[Consumes("application/x-www-form-urlencoded")]
public FileWrapper LockFileFromForm(string fileId, [FromForm]LockFileModel model)
{
@@ -1485,13 +1491,13 @@ namespace ASC.Api.Documents
return FilesControllerHelperInt.LockFile(fileId, model.LockFile);
}
- [Update("file/{fileId}/comment", DisableFormat = true)]
+ [Update("file/{fileId}/comment")]
public object UpdateCommentFromBody(string fileId, [FromBody]UpdateCommentModel model)
{
return FilesControllerHelperString.UpdateComment(fileId, model.Version, model.Comment);
}
- [Update("file/{fileId}/comment", DisableFormat = true)]
+ [Update("file/{fileId}/comment")]
[Consumes("application/x-www-form-urlencoded")]
public object UpdateCommentFromForm(string fileId, [FromForm]UpdateCommentModel model)
{
@@ -1518,7 +1524,7 @@ namespace ASC.Api.Documents
/// Sharing
/// File ID
/// Shared file information
- [Read("file/{fileId}/share", DisableFormat = true)]
+ [Read("file/{fileId}/share")]
public IEnumerable GetFileSecurityInfo(string fileId)
{
return FilesControllerHelperString.GetFileSecurityInfo(fileId);
@@ -1537,7 +1543,7 @@ namespace ASC.Api.Documents
/// Folder ID
/// Sharing
/// Shared folder information
- [Read("folder/{folderId}/share", DisableFormat = true)]
+ [Read("folder/{folderId}/share")]
public IEnumerable GetFolderSecurityInfo(string folderId)
{
return FilesControllerHelperString.GetFolderSecurityInfo(folderId);
@@ -1581,13 +1587,13 @@ namespace ASC.Api.Documents
/// Each of the FileShareParams must contain two parameters: 'ShareTo' - ID of the user with whom we want to share and 'Access' - access type which we want to grant to the user (Read, ReadWrite, etc)
///
/// Shared file information
- [Update("file/{fileId}/share", DisableFormat = true)]
+ [Update("file/{fileId}/share")]
public IEnumerable SetFileSecurityInfoFromBody(string fileId, [FromBody]SecurityInfoModel model)
{
return FilesControllerHelperString.SetFileSecurityInfo(fileId, model.Share, model.Notify, model.SharingMessage);
}
- [Update("file/{fileId}/share", DisableFormat = true)]
+ [Update("file/{fileId}/share")]
[Consumes("application/x-www-form-urlencoded")]
public IEnumerable SetFileSecurityInfoFromForm(string fileId, [FromForm]SecurityInfoModel model)
{
@@ -1641,13 +1647,13 @@ namespace ASC.Api.Documents
///
/// Sharing
/// Shared folder information
- [Update("folder/{folderId}/share", DisableFormat = true)]
+ [Update("folder/{folderId}/share")]
public IEnumerable SetFolderSecurityInfoFromBody(string folderId, [FromBody]SecurityInfoModel model)
{
return FilesControllerHelperString.SetFolderSecurityInfo(folderId, model.Share, model.Notify, model.SharingMessage);
}
- [Update("folder/{folderId}/share", DisableFormat = true)]
+ [Update("folder/{folderId}/share")]
[Consumes("application/x-www-form-urlencoded")]
public IEnumerable SetFolderSecurityInfoFromForm(string folderId, [FromForm]SecurityInfoModel model)
{
@@ -1693,13 +1699,13 @@ namespace ASC.Api.Documents
/// Access right
/// Files
/// Shared file link
- [Update("{fileId}/sharedlink", DisableFormat = true)]
+ [Update("{fileId}/sharedlink")]
public object GenerateSharedLinkFromBody(string fileId, [FromBody]GenerateSharedLinkModel model)
{
return FilesControllerHelperString.GenerateSharedLink(fileId, model.Share);
}
- [Update("{fileId}/sharedlink", DisableFormat = true)]
+ [Update("{fileId}/sharedlink")]
[Consumes("application/x-www-form-urlencoded")]
public object GenerateSharedLinkFromForm(string fileId, [FromForm]GenerateSharedLinkModel model)
{
diff --git a/products/ASC.Files/Server/Program.cs b/products/ASC.Files/Server/Program.cs
index a6972128fc..f77229ebc7 100644
--- a/products/ASC.Files/Server/Program.cs
+++ b/products/ASC.Files/Server/Program.cs
@@ -1,5 +1,8 @@
+using System;
using System.Collections.Generic;
using System.IO;
+using System.Runtime.InteropServices;
+using System.Threading.Tasks;
using ASC.Common.Utils;
@@ -13,18 +16,40 @@ namespace ASC.Files
{
public class Program
{
- public static void Main(string[] args)
+ public async static Task Main(string[] args)
{
- CreateHostBuilder(args).Build().Run();
+ var host = CreateHostBuilder(args).Build();
+
+ await host.RunAsync();
}
- public static IHostBuilder CreateHostBuilder(string[] args)
- {
- return Host.CreateDefaultBuilder(args)
+ public static IHostBuilder CreateHostBuilder(string[] args) =>
+ Host.CreateDefaultBuilder(args)
+ .UseSystemd()
+ .UseWindowsService()
.UseServiceProviderFactory(new AutofacServiceProviderFactory())
.ConfigureWebHostDefaults(webBuilder =>
{
- webBuilder.UseStartup();
+ var builder = webBuilder.UseStartup();
+
+ builder.ConfigureKestrel((hostingContext, serverOptions) =>
+ {
+ var kestrelConfig = hostingContext.Configuration.GetSection("Kestrel");
+
+ if (!kestrelConfig.Exists()) return;
+
+ var unixSocket = kestrelConfig.GetValue("ListenUnixSocket");
+
+ if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
+ {
+ if (!String.IsNullOrWhiteSpace(unixSocket))
+ {
+ unixSocket = String.Format(unixSocket, hostingContext.HostingEnvironment.ApplicationName.Replace("ASC.", "").Replace(".", ""));
+
+ serverOptions.ListenUnixSocket(unixSocket);
+ }
+ }
+ });
})
.ConfigureAppConfiguration((hostingContext, config) =>
{
@@ -49,6 +74,5 @@ namespace ASC.Files
{"pathToConf", path}
});
});
- }
}
}
diff --git a/products/ASC.Files/Service/ASC.Files.Service.csproj b/products/ASC.Files/Service/ASC.Files.Service.csproj
index 87023872f5..9a906ef46a 100644
--- a/products/ASC.Files/Service/ASC.Files.Service.csproj
+++ b/products/ASC.Files/Service/ASC.Files.Service.csproj
@@ -9,6 +9,11 @@
none
false
+
+
+
+
+
diff --git a/products/ASC.Files/Service/Program.cs b/products/ASC.Files/Service/Program.cs
index 93094ed7f3..be0b9f6e00 100644
--- a/products/ASC.Files/Service/Program.cs
+++ b/products/ASC.Files/Service/Program.cs
@@ -22,9 +22,17 @@ namespace ASC.Files.Service
{
public class Program
{
- public static async Task Main(string[] args)
+ public async static Task Main(string[] args)
{
- var host = Host.CreateDefaultBuilder(args)
+ var host = CreateHostBuilder(args).Build();
+
+ await host.RunAsync();
+ }
+
+ public static IHostBuilder CreateHostBuilder(string[] args) =>
+ Host.CreateDefaultBuilder(args)
+ .UseSystemd()
+ .UseWindowsService()
.UseServiceProviderFactory(new AutofacServiceProviderFactory())
.ConfigureAppConfiguration((hostContext, config) =>
{
@@ -74,19 +82,7 @@ namespace ASC.Files.Service
})
.ConfigureContainer((context, builder) =>
{
- builder.Register(context.Configuration, true, false, "search.json", "feed.json");
- })
- .UseConsoleLifetime()
- .Build();
-
- using (host)
- {
- // Start the host
- await host.StartAsync();
-
- // Wait for the host to shutdown
- await host.WaitForShutdownAsync();
- }
- }
+ builder.Register(context.Configuration, true, false, "search.json", "feed.json");
+ });
}
}
diff --git a/products/ASC.Mail/Client/package.json b/products/ASC.Mail/Client/package.json
index 7334d2e1e4..a701569d5c 100644
--- a/products/ASC.Mail/Client/package.json
+++ b/products/ASC.Mail/Client/package.json
@@ -1,7 +1,6 @@
{
"name": "@appserver/mail",
- "version": "0.1.3",
- "private": "true",
+ "version": "0.1.9",
"homepage": "/products/mail",
"id": "2a923037-8b2d-487b-9a22-5ac0918acf3f",
"title": "ONLYOFFICE",
@@ -9,8 +8,9 @@
"start": "webpack-cli serve",
"start-prod": "webpack --mode production && serve dist -p 5016",
"build": "webpack --mode production",
+ "deploy": "mkdirp ../../../build/deploy/products/ASC.Mail/client && cp -r -u dist/* ../../../build/deploy/products/ASC.Mail/client",
"serve": "serve dist -p 5016",
- "clean": "rm -rf dist"
+ "clean": "rimraf dist"
},
"devDependencies": {
"@babel/core": "^7.12.10",
@@ -26,9 +26,12 @@
"css-loader": "^3.6.0",
"html-webpack-plugin": "4.5.0",
"json-loader": "^0.5.7",
+ "mkdirp": "^1.0.4",
+ "rimraf": "^3.0.2",
"serve": "11.3.2",
"source-map-loader": "^1.1.2",
"style-loader": "1.2.1",
+ "terser-webpack-plugin": "^5.1.1",
"webpack": "5.14.0",
"webpack-cli": "4.5.0",
"webpack-dev-server": "3.11.2",
@@ -38,14 +41,14 @@
"@babel/runtime": "^7.12.5",
"attr-accept": "^2.2.2",
"axios": "^0.21.0",
+ "copy-to-clipboard": "^3.2.0",
"email-addresses": "^3.1.0",
+ "fast-deep-equal": "^3.1.3",
"i18next": "^19.8.4",
"i18next-http-backend": "^1.1.0",
"mobx": "^6.1.1",
"mobx-react": "^7.1.0",
"moment": "^2.29.1",
- "copy-to-clipboard": "^3.2.0",
- "fast-deep-equal": "^3.1.3",
"prop-types": "^15.7.2",
"rc-tree": "^2.1.4",
"re-resizable": "^6.9.0",
@@ -56,8 +59,8 @@
"react-device-detect": "^1.14.0",
"react-dom": "^17.0.1",
"react-dropzone": "^11.2.4",
- "react-i18next": "^11.7.3",
"react-hammerjs": "^1.0.1",
+ "react-i18next": "^11.7.3",
"react-onclickoutside": "^6.9.0",
"react-player": "^1.15.3",
"react-resize-detector": "^5.2.0",
@@ -75,8 +78,8 @@
"resize-image": "^0.1.0",
"sass": "^1.29.0",
"sass-loader": "^10.1.0",
- "sjcl": "^1.0.8",
"screenfull": "^5.1.0",
+ "sjcl": "^1.0.8",
"styled-components": "^5.2.1",
"workbox-window": "^6.1.1"
}
diff --git a/products/ASC.Mail/Client/src/pages/Home/index.js b/products/ASC.Mail/Client/src/pages/Home/index.js
index 111f615fc7..aaa0e58a4a 100644
--- a/products/ASC.Mail/Client/src/pages/Home/index.js
+++ b/products/ASC.Mail/Client/src/pages/Home/index.js
@@ -19,7 +19,7 @@ import { setDocumentTitle } from "../../helpers/utils";
import { inject } from "mobx-react";
import i18n from "../../i18n";
import { I18nextProvider } from "react-i18next";
-import { combineUrl, deleteCookie } from "@appserver/common/utils";
+import { deleteCookie, toCommunityHostname } from "@appserver/common/utils";
const commonStyles = `
.link-box {
@@ -121,12 +121,10 @@ const Body = ({ modules, match, isLoaded, setCurrentProductId, t, tReady }) => {
const { error } = match.params;
const { pathname, protocol, hostname } = window.location;
const currentModule = modules.find((m) => m.link === pathname);
- const { id, title, imageUrl, link, originUrl, helpUrl } = currentModule;
- const url = originUrl ? originUrl : link;
- const webLink = combineUrl(
- protocol + "//" + hostname,
- `${url}?desktop_view=true`
- );
+ const { id, title, imageUrl, /*link, originUrl,*/ helpUrl } = currentModule;
+ //const url = originUrl ? originUrl : link;
+ const communityHostname = toCommunityHostname(hostname);
+ const webLink = `${protocol}//${communityHostname}/addons/mail/?desktop_view=true`;
const appLink = isIOS
? id === "2A923037-8B2D-487b-9A22-5AC0918ACF3F"
? "message:"
diff --git a/products/ASC.Mail/Server/ASC.Mail.csproj b/products/ASC.Mail/Server/ASC.Mail.csproj
index 09c228d1dc..3a859f6e63 100644
--- a/products/ASC.Mail/Server/ASC.Mail.csproj
+++ b/products/ASC.Mail/Server/ASC.Mail.csproj
@@ -5,6 +5,8 @@
+
+
diff --git a/products/ASC.Mail/Server/Program.cs b/products/ASC.Mail/Server/Program.cs
index d8707387b0..c28b41b694 100644
--- a/products/ASC.Mail/Server/Program.cs
+++ b/products/ASC.Mail/Server/Program.cs
@@ -1,6 +1,7 @@
using System.Collections.Generic;
using System.IO;
+using System.Threading.Tasks;
using Autofac.Extensions.DependencyInjection;
@@ -12,13 +13,17 @@ namespace ASC.Mail
{
public class Program
{
- public static void Main(string[] args)
+ public async static Task Main(string[] args)
{
- CreateHostBuilder(args).Build().Run();
+ var host = CreateHostBuilder(args).Build();
+
+ await host.RunAsync();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
+ .UseSystemd()
+ .UseWindowsService()
.UseServiceProviderFactory(new AutofacServiceProviderFactory())
.ConfigureWebHostDefaults(webBuilder =>
{
diff --git a/products/ASC.Mail/Server/Properties/launchSettings.json b/products/ASC.Mail/Server/Properties/launchSettings.json
index 87ed2daba7..9709fdd598 100644
--- a/products/ASC.Mail/Server/Properties/launchSettings.json
+++ b/products/ASC.Mail/Server/Properties/launchSettings.json
@@ -1,31 +1,29 @@
{
- "iisSettings": {
- "windowsAuthentication": false,
- "anonymousAuthentication": true,
- "iisExpress": {
- "applicationUrl": "http://localhost:5022",
- "sslPort": 0
- }
- },
"profiles": {
- "IIS Express": {
- "commandName": "IISExpress",
+ "Kestrel WebServer": {
+ "commandName": "Project",
+ "launchBrowser": false,
+ "launchUrl": "http://localhost:5022/api/2.0/mail/info",
"environmentVariables": {
"$STORAGE_ROOT": "../../../Data",
"log__dir": "../../../Logs",
"log__name": "mail",
+ "ASPNETCORE_URLS": "http://localhost:5022",
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
- "ASC.Mail": {
- "commandName": "Project",
+ "WSL 2 : Ubuntu 20.04": {
+ "commandName": "WSL2",
+ "launchBrowser": false,
+ "launchUrl": "http://localhost:5022/api/2.0/mail/info",
"environmentVariables": {
"$STORAGE_ROOT": "../../../Data",
"log__dir": "../../../Logs",
"log__name": "mail",
+ "ASPNETCORE_URLS": "http://localhost:5022",
"ASPNETCORE_ENVIRONMENT": "Development"
},
- "applicationUrl": "http://localhost:5022"
+ "distributionName": "Ubuntu-20.04"
}
}
}
\ No newline at end of file
diff --git a/products/ASC.People/Client/package.json b/products/ASC.People/Client/package.json
index fd604a25f1..22a3a859a4 100644
--- a/products/ASC.People/Client/package.json
+++ b/products/ASC.People/Client/package.json
@@ -1,7 +1,6 @@
{
"name": "@appserver/people",
- "version": "0.1.7",
- "private": "true",
+ "version": "0.1.9",
"homepage": "/products/people",
"id": "f4d98afd-d336-4332-8778-3c6945c81ea0",
"title": "ONLYOFFICE",
@@ -9,8 +8,9 @@
"start": "webpack-cli serve",
"start-prod": "webpack --mode production && serve dist -p 5002",
"build": "webpack --mode production",
+ "deploy": "mkdirp ../../../build/deploy/products/ASC.People/client && cp -r -u dist/* ../../../build/deploy/products/ASC.People/client",
"serve": "serve dist -p 5002",
- "clean": "rm -rf dist"
+ "clean": "rimraf dist"
},
"devDependencies": {
"@babel/core": "^7.12.10",
@@ -26,9 +26,12 @@
"css-loader": "^3.6.0",
"html-webpack-plugin": "4.5.0",
"json-loader": "^0.5.7",
+ "mkdirp": "^1.0.4",
+ "rimraf": "^3.0.2",
"serve": "11.3.2",
"source-map-loader": "^1.1.2",
"style-loader": "1.2.1",
+ "terser-webpack-plugin": "^5.1.1",
"webpack": "5.14.0",
"webpack-cli": "4.5.0",
"webpack-dev-server": "3.11.2",
@@ -38,14 +41,14 @@
"@babel/runtime": "^7.12.5",
"attr-accept": "^2.2.2",
"axios": "^0.21.0",
+ "copy-to-clipboard": "^3.2.0",
"email-addresses": "^3.1.0",
+ "fast-deep-equal": "^3.1.3",
"i18next": "^19.8.4",
"i18next-http-backend": "^1.1.0",
"mobx": "^6.1.1",
"mobx-react": "^7.1.0",
"moment": "^2.29.1",
- "copy-to-clipboard": "^3.2.0",
- "fast-deep-equal": "^3.1.3",
"prop-types": "^15.7.2",
"rc-tree": "^2.1.4",
"re-resizable": "^6.9.0",
@@ -56,8 +59,8 @@
"react-device-detect": "^1.14.0",
"react-dom": "^17.0.1",
"react-dropzone": "^11.2.4",
- "react-i18next": "^11.7.3",
"react-hammerjs": "^1.0.1",
+ "react-i18next": "^11.7.3",
"react-onclickoutside": "^6.9.0",
"react-player": "^1.15.3",
"react-resize-detector": "^5.2.0",
@@ -75,8 +78,8 @@
"resize-image": "^0.1.0",
"sass": "^1.29.0",
"sass-loader": "^10.1.0",
- "sjcl": "^1.0.8",
"screenfull": "^5.1.0",
+ "sjcl": "^1.0.8",
"styled-components": "^5.2.1",
"workbox-window": "^6.1.1"
}
diff --git a/products/ASC.People/Client/src/components/dialogs/ChangeEmailDialog/index.js b/products/ASC.People/Client/src/components/dialogs/ChangeEmailDialog/index.js
index 6b4bd6df4d..689d685f67 100644
--- a/products/ASC.People/Client/src/components/dialogs/ChangeEmailDialog/index.js
+++ b/products/ASC.People/Client/src/components/dialogs/ChangeEmailDialog/index.js
@@ -102,42 +102,38 @@ class ChangeEmailDialogComponent extends React.Component {
const { isRequestRunning, email, errorMessage, hasError } = this.state;
return (
-
-
- {t("EmailChangeTitle")}
-
-
+ {t("EmailChangeTitle")}
+
+
+
-
-
-
- {t("EmailActivationDescription")}
-
-
-
-
-
-
+
+ {t("EmailActivationDescription")}
+
+
+
+
);
}
diff --git a/products/ASC.People/Client/src/components/dialogs/ChangeUserStatusDialog/index.js b/products/ASC.People/Client/src/components/dialogs/ChangeUserStatusDialog/index.js
index fb28c01ac9..9cd2f3d3e2 100644
--- a/products/ASC.People/Client/src/components/dialogs/ChangeUserStatusDialog/index.js
+++ b/products/ASC.People/Client/src/components/dialogs/ChangeUserStatusDialog/index.js
@@ -118,46 +118,44 @@ class ChangeUserStatusDialogComponent extends React.Component {
userStatus === 1 ? t("DisabledEmployeeTitle") : t("ActiveEmployeeTitle");
return (
-
-
-
- {t("ChangeUserStatusDialogHeader")}
-
-
-
- {t("ChangeUserStatusDialog", {
- status: statusTranslation,
- userStatus: userStatusTranslation,
- })}
-
- {t("ChangeUserStatusDialogMessage")}
-
-
-
-
-
-
-
-
-
+
+
+ {t("ChangeUserStatusDialogHeader")}
+
+
+
+ {t("ChangeUserStatusDialog", {
+ status: statusTranslation,
+ userStatus: userStatusTranslation,
+ })}
+
+ {t("ChangeUserStatusDialogMessage")}
+
+
+
+
+
+
+
+
);
}
diff --git a/products/ASC.People/Client/src/components/dialogs/ChangeUserTypeDialog/index.js b/products/ASC.People/Client/src/components/dialogs/ChangeUserTypeDialog/index.js
index 4642036a7b..01b12ad955 100644
--- a/products/ASC.People/Client/src/components/dialogs/ChangeUserTypeDialog/index.js
+++ b/products/ASC.People/Client/src/components/dialogs/ChangeUserTypeDialog/index.js
@@ -114,45 +114,43 @@ class ChangeUserTypeDialogComponent extends React.Component {
const firstType = userType === 1 ? t("GuestCaption") : t("UserCol");
const secondType = userType === 1 ? t("UserCol") : t("GuestCaption");
return (
-
-
- {t("ChangeUserTypeHeader")}
-
-
- {t("ChangeUserTypeMessage", {
- firstType: firstType,
- secondType: secondType,
- })}
-
- {t("ChangeUserTypeMessageWarning")}
+
+ {t("ChangeUserTypeHeader")}
+
+
+ {t("ChangeUserTypeMessage", {
+ firstType: firstType,
+ secondType: secondType,
+ })}
+
+ {t("ChangeUserTypeMessageWarning")}
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
);
}
diff --git a/products/ASC.People/Client/src/components/dialogs/DataLossWarningDialog/index.js b/products/ASC.People/Client/src/components/dialogs/DataLossWarningDialog/index.js
index ef32edafeb..041a2cddc1 100644
--- a/products/ASC.People/Client/src/components/dialogs/DataLossWarningDialog/index.js
+++ b/products/ASC.People/Client/src/components/dialogs/DataLossWarningDialog/index.js
@@ -36,29 +36,30 @@ class DataLossWarningDialogComponent extends React.Component {
const { t, isVisibleDataLossDialog } = this.props;
return (
-
-
- {t("DataLossWarningHeader")}
-
- {t("DataLossWarningBody")}
-
-
-
-
-
-
+
+ {t("DataLossWarningHeader")}
+
+ {t("DataLossWarningBody")}
+
+
+
+
+
);
}
diff --git a/products/ASC.People/Client/src/components/dialogs/DeleteProfileEverDialog/index.js b/products/ASC.People/Client/src/components/dialogs/DeleteProfileEverDialog/index.js
index 9fd3c1d468..51c2cfa762 100644
--- a/products/ASC.People/Client/src/components/dialogs/DeleteProfileEverDialog/index.js
+++ b/products/ASC.People/Client/src/components/dialogs/DeleteProfileEverDialog/index.js
@@ -57,36 +57,35 @@ class DeleteProfileEverDialogComponent extends React.Component {
const { isRequestRunning } = this.state;
return (
-
-
- {t("Confirmation")}
-
-
-
- {{ userCaption }} {{ user: user.displayName }}{" "}
- will be deleted.
-
-
- {t("NotBeUndone")}
- {/*
+
+ {t("Confirmation")}
+
+
+
+ {{ userCaption }} {{ user: user.displayName }}{" "}
+ will be deleted.
+
+
+ {t("NotBeUndone")}
+ {/*
{t("Warning")}
{t("DeleteUserDataConfirmation")} */}
-
-
-
- {/*
+
);
}
diff --git a/products/ASC.People/Client/src/components/dialogs/DeleteSelfProfileDialog/index.js b/products/ASC.People/Client/src/components/dialogs/DeleteSelfProfileDialog/index.js
index 770d6c26aa..2e03178ddf 100644
--- a/products/ASC.People/Client/src/components/dialogs/DeleteSelfProfileDialog/index.js
+++ b/products/ASC.People/Client/src/components/dialogs/DeleteSelfProfileDialog/index.js
@@ -39,42 +39,40 @@ class DeleteSelfProfileDialogComponent extends React.Component {
const { isRequestRunning } = this.state;
return (
-
-
- {t("DeleteProfileTitle")}
-
-
- {t("DeleteProfileInfo")}{" "}
-
- {email}
-
-
-
-
-
-
-
-
+
+ {t("DeleteProfileTitle")}
+
+
+ {t("DeleteProfileInfo")}{" "}
+
+ {email}
+
+
+
+
+
+
+
);
}
diff --git a/products/ASC.People/Client/src/components/dialogs/DeleteUsersDialog/index.js b/products/ASC.People/Client/src/components/dialogs/DeleteUsersDialog/index.js
index 4a299f2616..a390b27c03 100644
--- a/products/ASC.People/Client/src/components/dialogs/DeleteUsersDialog/index.js
+++ b/products/ASC.People/Client/src/components/dialogs/DeleteUsersDialog/index.js
@@ -109,47 +109,45 @@ class DeleteGroupUsersDialogComponent extends React.Component {
//console.log("DeleteGroupUsersDialog render");
return (
-
-
-
- {t("DeleteGroupUsersMessageHeader")}
-
-
- {t("DeleteGroupUsersMessage")}
- {t("NotBeUndone")}
-
-
- {t("Warning")}
-
-
- {t("DeleteUserDataConfirmation")}
-
-
-
-
-
-
-
-
-
+
+
+ {t("DeleteGroupUsersMessageHeader")}
+
+
+ {t("DeleteGroupUsersMessage")}
+ {t("NotBeUndone")}
+
+
+ {t("Warning")}
+
+
+ {t("DeleteUserDataConfirmation")}
+
+
+
+
+
+
+
+
);
}
diff --git a/products/ASC.People/Client/src/components/dialogs/InviteDialog/index.js b/products/ASC.People/Client/src/components/dialogs/InviteDialog/index.js
index 198ca9d4de..ec82faf977 100644
--- a/products/ASC.People/Client/src/components/dialogs/InviteDialog/index.js
+++ b/products/ASC.People/Client/src/components/dialogs/InviteDialog/index.js
@@ -121,71 +121,70 @@ class InviteDialogComponent extends React.Component {
return (
this.state.visible && (
-
-
- {t("InviteLinkTitle")}
-
- {t("HelpAnswerLinkInviteSettings")}
-
- {t("InviteLinkValidInterval", { count: 7 })}
-
-
+
+ {t("InviteLinkTitle")}
+
+ {t("HelpAnswerLinkInviteSettings")}
+
+ {t("InviteLinkValidInterval", { count: 7 })}
+
+
+
+ {LinkCopySuccess ? t("LinkCopySuccess") : t("CopyToClipboard")}
+
+ {hasShortenService && !this.state.isLinkShort && (
- {LinkCopySuccess
- ? t("LinkCopySuccess")
- : t("CopyToClipboard")}
+ {t("GetShortenLink")}
- {hasShortenService && !this.state.isLinkShort && (
-
- {t("GetShortenLink")}
-
- )}
-
-
-
-
-
-
-
-
+
+
+
+
+
+
)
);
diff --git a/products/ASC.People/Client/src/components/dialogs/ModalDialogContainer.js b/products/ASC.People/Client/src/components/dialogs/ModalDialogContainer.js
index ac80dcb5b4..b3c61b02ab 100644
--- a/products/ASC.People/Client/src/components/dialogs/ModalDialogContainer.js
+++ b/products/ASC.People/Client/src/components/dialogs/ModalDialogContainer.js
@@ -1,7 +1,8 @@
import styled from "styled-components";
import { tablet } from "@appserver/components/utils/device";
+import ModalDialog from "@appserver/components/modal-dialog";
-const ModalDialogContainer = styled.div`
+const ModalDialogContainer = styled(ModalDialog)`
.invite-link-dialog-wrapper {
display: flex;
diff --git a/products/ASC.People/Client/src/components/dialogs/SendInviteDialog/index.js b/products/ASC.People/Client/src/components/dialogs/SendInviteDialog/index.js
index db7cf92fca..04c3c4c09a 100644
--- a/products/ASC.People/Client/src/components/dialogs/SendInviteDialog/index.js
+++ b/products/ASC.People/Client/src/components/dialogs/SendInviteDialog/index.js
@@ -112,39 +112,37 @@ class SendInviteDialogComponent extends React.Component {
//console.log("SendInviteDialog render");
return (
-
-
- {t("SendInviteAgain")}
-
- {t("SendInviteAgainDialog")}
- {t("SendInviteAgainDialogMessage")}
-
-
-
-
-
-
-
-
-
+
+ {t("SendInviteAgain")}
+
+ {t("SendInviteAgainDialog")}
+ {t("SendInviteAgainDialogMessage")}
+
+
+
+
+
+
+
+
);
}
diff --git a/products/ASC.People/Client/src/pages/GroupAction/index.js b/products/ASC.People/Client/src/pages/GroupAction/index.js
index 4266ff82fb..7e466b664f 100644
--- a/products/ASC.People/Client/src/pages/GroupAction/index.js
+++ b/products/ASC.People/Client/src/pages/GroupAction/index.js
@@ -40,7 +40,7 @@ class GroupAction extends React.Component {
render() {
console.log("GroupAction render");
- const { group, match } = this.props;
+ const { group, match, tReady } = this.props;
return (
<>
@@ -63,7 +63,7 @@ class GroupAction extends React.Component {
-
+
) : (
diff --git a/products/ASC.People/Server/ASC.People.csproj b/products/ASC.People/Server/ASC.People.csproj
index 37404ff39a..7f39c0e52f 100644
--- a/products/ASC.People/Server/ASC.People.csproj
+++ b/products/ASC.People/Server/ASC.People.csproj
@@ -22,6 +22,11 @@
false
1701;1702;NU1701
+
+
+
+
+
diff --git a/products/ASC.People/Server/Controllers/PeopleController.cs b/products/ASC.People/Server/Controllers/PeopleController.cs
index f96df70fee..67b299cc4b 100644
--- a/products/ASC.People/Server/Controllers/PeopleController.cs
+++ b/products/ASC.People/Server/Controllers/PeopleController.cs
@@ -420,14 +420,14 @@ namespace ASC.Employee.Core.Controllers
}
[Create]
- [Authorize(AuthenticationSchemes = "confirm", Roles = "LinkInvite,Administrators")]
+ [Authorize(AuthenticationSchemes = "confirm", Roles = "LinkInvite,Everyone")]
public EmployeeWraperFull AddMemberFromBody([FromBody]MemberModel memberModel)
{
return AddMember(memberModel);
}
[Create]
- [Authorize(AuthenticationSchemes = "confirm", Roles = "LinkInvite,Administrators")]
+ [Authorize(AuthenticationSchemes = "confirm", Roles = "LinkInvite,Everyone")]
[Consumes("application/x-www-form-urlencoded")]
public EmployeeWraperFull AddMemberFromForm([FromForm]MemberModel memberModel)
{
@@ -1104,14 +1104,14 @@ namespace ASC.Employee.Core.Controllers
}
[Update("{userid}/password")]
- [Authorize(AuthenticationSchemes = "confirm", Roles = "PasswordChange,EmailChange,Activation,EmailActivation,Administrators")]
+ [Authorize(AuthenticationSchemes = "confirm", Roles = "PasswordChange,EmailChange,Activation,EmailActivation,Everyone")]
public EmployeeWraperFull ChangeUserPasswordFromBody(Guid userid, [FromBody]MemberModel memberModel)
{
return ChangeUserPassword(userid, memberModel);
}
[Update("{userid}/password")]
- [Authorize(AuthenticationSchemes = "confirm", Roles = "PasswordChange,EmailChange,Activation,EmailActivation,Administrators")]
+ [Authorize(AuthenticationSchemes = "confirm", Roles = "PasswordChange,EmailChange,Activation,EmailActivation,Everyone")]
[Consumes("application/x-www-form-urlencoded")]
public EmployeeWraperFull ChangeUserPasswordFromForm(Guid userid, [FromForm] MemberModel memberModel)
{
@@ -1242,14 +1242,14 @@ namespace ASC.Employee.Core.Controllers
}
[Update("activationstatus/{activationstatus}")]
- [Authorize(AuthenticationSchemes = "confirm", Roles = "Activation,Administrators")]
+ [Authorize(AuthenticationSchemes = "confirm", Roles = "Activation,Everyone")]
public IEnumerable UpdateEmployeeActivationStatusFromBody(EmployeeActivationStatus activationstatus, [FromBody]UpdateMembersModel model)
{
return UpdateEmployeeActivationStatus(activationstatus, model);
}
[Update("activationstatus/{activationstatus}")]
- [Authorize(AuthenticationSchemes = "confirm", Roles = "Activation,Administrators")]
+ [Authorize(AuthenticationSchemes = "confirm", Roles = "Activation,Everyone")]
[Consumes("application/x-www-form-urlencoded")]
public IEnumerable UpdateEmployeeActivationStatusFromForm(EmployeeActivationStatus activationstatus, [FromForm] UpdateMembersModel model)
{
diff --git a/products/ASC.People/Server/Program.cs b/products/ASC.People/Server/Program.cs
index e7f28e6c59..ad38283077 100644
--- a/products/ASC.People/Server/Program.cs
+++ b/products/ASC.People/Server/Program.cs
@@ -1,5 +1,8 @@
+using System;
using System.Collections.Generic;
using System.IO;
+using System.Runtime.InteropServices;
+using System.Threading.Tasks;
using ASC.Common.Utils;
@@ -13,18 +16,41 @@ namespace ASC.People
{
public class Program
{
- public static void Main(string[] args)
+ public async static Task Main(string[] args)
{
- CreateHostBuilder(args).Build().Run();
+ var host = CreateHostBuilder(args).Build();
+
+ await host.RunAsync();
}
public static IHostBuilder CreateHostBuilder(string[] args)
{
return Host.CreateDefaultBuilder(args)
+ .UseSystemd()
+ .UseWindowsService()
.UseServiceProviderFactory(new AutofacServiceProviderFactory())
.ConfigureWebHostDefaults(webBuilder =>
{
- webBuilder.UseStartup();
+ var builder = webBuilder.UseStartup();
+
+ builder.ConfigureKestrel((hostingContext, serverOptions) =>
+ {
+ var kestrelConfig = hostingContext.Configuration.GetSection("Kestrel");
+
+ if (!kestrelConfig.Exists()) return;
+
+ var unixSocket = kestrelConfig.GetValue("ListenUnixSocket");
+
+ if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
+ {
+ if (!String.IsNullOrWhiteSpace(unixSocket))
+ {
+ unixSocket = String.Format(unixSocket, hostingContext.HostingEnvironment.ApplicationName.Replace("ASC.", "").Replace(".", ""));
+
+ serverOptions.ListenUnixSocket(unixSocket);
+ }
+ }
+ });
})
.ConfigureAppConfiguration((hostingContext, config) =>
{
diff --git a/products/ASC.Projects/Client/package.json b/products/ASC.Projects/Client/package.json
index 150ea56018..08fa59131a 100644
--- a/products/ASC.Projects/Client/package.json
+++ b/products/ASC.Projects/Client/package.json
@@ -1,7 +1,6 @@
{
"name": "@appserver/projects",
- "version": "0.1.7",
- "private": "true",
+ "version": "0.1.9",
"homepage": "/products/projects",
"id": "1e044602-43b5-4d79-82f3-fd6208a11960",
"title": "ONLYOFFICE",
@@ -9,8 +8,9 @@
"start": "webpack-cli serve",
"start-prod": "webpack --mode production && serve dist -p 5015",
"build": "webpack --mode production",
+ "deploy": "mkdirp ../../../build/deploy/products/ASC.Projects/client && cp -r -u dist/* ../../../build/deploy/products/ASC.Projects/client",
"serve": "serve dist -p 5015",
- "clean": "rm -rf dist"
+ "clean": "rimraf dist"
},
"devDependencies": {
"@babel/core": "^7.12.10",
@@ -26,9 +26,12 @@
"css-loader": "^3.6.0",
"html-webpack-plugin": "4.5.0",
"json-loader": "^0.5.7",
+ "mkdirp": "^1.0.4",
+ "rimraf": "^3.0.2",
"serve": "11.3.2",
"source-map-loader": "^1.1.2",
"style-loader": "1.2.1",
+ "terser-webpack-plugin": "^5.1.1",
"webpack": "5.14.0",
"webpack-cli": "4.5.0",
"webpack-dev-server": "3.11.2",
@@ -38,14 +41,14 @@
"@babel/runtime": "^7.12.5",
"attr-accept": "^2.2.2",
"axios": "^0.21.0",
+ "copy-to-clipboard": "^3.2.0",
"email-addresses": "^3.1.0",
+ "fast-deep-equal": "^3.1.3",
"i18next": "^19.8.4",
"i18next-http-backend": "^1.1.0",
"mobx": "^6.1.1",
"mobx-react": "^7.1.0",
"moment": "^2.29.1",
- "copy-to-clipboard": "^3.2.0",
- "fast-deep-equal": "^3.1.3",
"prop-types": "^15.7.2",
"rc-tree": "^2.1.4",
"re-resizable": "^6.9.0",
@@ -56,8 +59,8 @@
"react-device-detect": "^1.14.0",
"react-dom": "^17.0.1",
"react-dropzone": "^11.2.4",
- "react-i18next": "^11.7.3",
"react-hammerjs": "^1.0.1",
+ "react-i18next": "^11.7.3",
"react-onclickoutside": "^6.9.0",
"react-player": "^1.15.3",
"react-resize-detector": "^5.2.0",
@@ -75,8 +78,8 @@
"resize-image": "^0.1.0",
"sass": "^1.29.0",
"sass-loader": "^10.1.0",
- "sjcl": "^1.0.8",
"screenfull": "^5.1.0",
+ "sjcl": "^1.0.8",
"styled-components": "^5.2.1",
"workbox-window": "^6.1.1"
}
diff --git a/products/ASC.Projects/Client/src/pages/Home/index.js b/products/ASC.Projects/Client/src/pages/Home/index.js
index 111f615fc7..7b05068718 100644
--- a/products/ASC.Projects/Client/src/pages/Home/index.js
+++ b/products/ASC.Projects/Client/src/pages/Home/index.js
@@ -19,7 +19,7 @@ import { setDocumentTitle } from "../../helpers/utils";
import { inject } from "mobx-react";
import i18n from "../../i18n";
import { I18nextProvider } from "react-i18next";
-import { combineUrl, deleteCookie } from "@appserver/common/utils";
+import { toCommunityHostname, deleteCookie } from "@appserver/common/utils";
const commonStyles = `
.link-box {
@@ -121,12 +121,12 @@ const Body = ({ modules, match, isLoaded, setCurrentProductId, t, tReady }) => {
const { error } = match.params;
const { pathname, protocol, hostname } = window.location;
const currentModule = modules.find((m) => m.link === pathname);
- const { id, title, imageUrl, link, originUrl, helpUrl } = currentModule;
- const url = originUrl ? originUrl : link;
- const webLink = combineUrl(
- protocol + "//" + hostname,
- `${url}?desktop_view=true`
- );
+ const { id, title, imageUrl, /*link, originUrl,*/ helpUrl } = currentModule;
+
+ //const url = originUrl ? originUrl : link;
+ const communityHostname = toCommunityHostname(hostname);
+ const webLink = `${protocol}//${communityHostname}/Products/Projects/?desktop_view=true`;
+
const appLink = isIOS
? id === "2A923037-8B2D-487b-9A22-5AC0918ACF3F"
? "message:"
diff --git a/products/ASC.Projects/Server/ASC.Projects.csproj b/products/ASC.Projects/Server/ASC.Projects.csproj
index 4dadc00ae8..b98d7ec7ca 100644
--- a/products/ASC.Projects/Server/ASC.Projects.csproj
+++ b/products/ASC.Projects/Server/ASC.Projects.csproj
@@ -1,10 +1,12 @@
-
+
net5.0
+
+
diff --git a/products/ASC.Projects/Server/Program.cs b/products/ASC.Projects/Server/Program.cs
index 1849a83f7c..03825b906a 100644
--- a/products/ASC.Projects/Server/Program.cs
+++ b/products/ASC.Projects/Server/Program.cs
@@ -1,6 +1,9 @@
+using System;
using System.Collections.Generic;
using System.IO;
+using System.Runtime.InteropServices;
+using System.Threading.Tasks;
using ASC.Common.Utils;
@@ -14,17 +17,40 @@ namespace ASC.Projects
{
public class Program
{
- public static void Main(string[] args)
+ public async static Task Main(string[] args)
{
- CreateHostBuilder(args).Build().Run();
+ var host = CreateHostBuilder(args).Build();
+
+ await host.RunAsync();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
+ .UseSystemd()
+ .UseWindowsService()
.UseServiceProviderFactory(new AutofacServiceProviderFactory())
.ConfigureWebHostDefaults(webBuilder =>
{
- webBuilder.UseStartup();
+ var builder = webBuilder.UseStartup();
+
+ builder.ConfigureKestrel((hostingContext, serverOptions) =>
+ {
+ var kestrelConfig = hostingContext.Configuration.GetSection("Kestrel");
+
+ if (!kestrelConfig.Exists()) return;
+
+ var unixSocket = kestrelConfig.GetValue("ListenUnixSocket");
+
+ if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
+ {
+ if (!String.IsNullOrWhiteSpace(unixSocket))
+ {
+ unixSocket = String.Format(unixSocket, hostingContext.HostingEnvironment.ApplicationName.Replace("ASC.", "").Replace(".", ""));
+
+ serverOptions.ListenUnixSocket(unixSocket);
+ }
+ }
+ });
})
.ConfigureAppConfiguration((hostingContext, config) =>
{
diff --git a/web/ASC.Web.Api/ASC.Web.Api.csproj b/web/ASC.Web.Api/ASC.Web.Api.csproj
index 9eeb2cad4a..d883fc7cc6 100644
--- a/web/ASC.Web.Api/ASC.Web.Api.csproj
+++ b/web/ASC.Web.Api/ASC.Web.Api.csproj
@@ -24,6 +24,8 @@
+
+
diff --git a/web/ASC.Web.Api/Controllers/SettingsController.cs b/web/ASC.Web.Api/Controllers/SettingsController.cs
index 3b218ff60e..20a80129b2 100644
--- a/web/ASC.Web.Api/Controllers/SettingsController.cs
+++ b/web/ASC.Web.Api/Controllers/SettingsController.cs
@@ -323,6 +323,12 @@ namespace ASC.Api.Settings
Tenant.TrustedDomains.Count > 0) ||
Tenant.TrustedDomainsType == TenantTrustedDomainsType.All;
+ if (settings.EnabledJoin.GetValueOrDefault(false))
+ {
+ settings.TrustedDomainsType = Tenant.TrustedDomainsType;
+ settings.TrustedDomains = Tenant.TrustedDomains;
+ }
+
var studioAdminMessageSettings = SettingsManager.Load();
settings.EnableAdmMess = studioAdminMessageSettings.Enable || TenantExtra.IsNotPaid();
diff --git a/web/ASC.Web.Api/Program.cs b/web/ASC.Web.Api/Program.cs
index 3590902c39..6d45dda336 100644
--- a/web/ASC.Web.Api/Program.cs
+++ b/web/ASC.Web.Api/Program.cs
@@ -1,5 +1,8 @@
+using System;
using System.Collections.Generic;
using System.IO;
+using System.Runtime.InteropServices;
+using System.Threading.Tasks;
using ASC.Common.Utils;
@@ -13,19 +16,41 @@ using Microsoft.Extensions.Hosting;
namespace ASC.Web.Api
{
public class Program
- {
- public static void Main(string[] args)
- {
- CreateHostBuilder(args).Build().Run();
+ {
+ public async static Task Main(string[] args)
+ {
+ var host = CreateHostBuilder(args).Build();
+
+ await host.RunAsync();
}
- public static IHostBuilder CreateHostBuilder(string[] args)
- {
- return Host.CreateDefaultBuilder(args)
+ public static IHostBuilder CreateHostBuilder(string[] args) =>
+ Host.CreateDefaultBuilder(args)
+ .UseSystemd()
+ .UseWindowsService()
.UseServiceProviderFactory(new AutofacServiceProviderFactory())
.ConfigureWebHostDefaults(webBuilder =>
{
- webBuilder.UseStartup();
+ var builder = webBuilder.UseStartup();
+
+ builder.ConfigureKestrel((hostingContext, serverOptions) =>
+ {
+ var kestrelConfig = hostingContext.Configuration.GetSection("Kestrel");
+
+ if (!kestrelConfig.Exists()) return;
+
+ var unixSocket = kestrelConfig.GetValue("ListenUnixSocket");
+
+ if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
+ {
+ if (!String.IsNullOrWhiteSpace(unixSocket))
+ {
+ unixSocket = String.Format(unixSocket, hostingContext.HostingEnvironment.ApplicationName.Replace("ASC.", "").Replace(".", ""));
+
+ serverOptions.ListenUnixSocket(unixSocket);
+ }
+ }
+ });
})
.ConfigureAppConfiguration((hostingContext, config) =>
{
@@ -51,6 +76,5 @@ namespace ASC.Web.Api
}
);
});
- }
}
}
diff --git a/web/ASC.Web.Client/package.json b/web/ASC.Web.Client/package.json
index 230a941280..5e8fd8e89b 100644
--- a/web/ASC.Web.Client/package.json
+++ b/web/ASC.Web.Client/package.json
@@ -1,15 +1,15 @@
{
"name": "@appserver/studio",
- "version": "0.1.7",
- "private": "true",
+ "version": "0.1.9",
"homepage": "",
"title": "ONLYOFFICE",
"scripts": {
"start": "webpack-cli serve",
"start-prod": "webpack --mode production && serve dist -p 5001",
"build": "webpack --mode production",
+ "deploy": "mkdirp ../../build/deploy/studio/client && cp -r -u dist/* ../../build/deploy/studio/client",
"serve": "serve dist -p 5001",
- "clean": "rm -rf dist"
+ "clean": "rimraf dist"
},
"devDependencies": {
"@babel/core": "^7.12.10",
@@ -25,9 +25,12 @@
"css-loader": "^3.6.0",
"html-webpack-plugin": "4.5.0",
"json-loader": "^0.5.7",
+ "mkdirp": "^1.0.4",
+ "rimraf": "^3.0.2",
"serve": "11.3.2",
"source-map-loader": "^1.1.2",
"style-loader": "1.2.1",
+ "terser-webpack-plugin": "^5.1.1",
"webpack": "5.14.0",
"webpack-cli": "4.5.0",
"webpack-dev-server": "3.11.2",
diff --git a/web/ASC.Web.Client/src/Shell.jsx b/web/ASC.Web.Client/src/Shell.jsx
index 10ec8c7ceb..6586575b01 100644
--- a/web/ASC.Web.Client/src/Shell.jsx
+++ b/web/ASC.Web.Client/src/Shell.jsx
@@ -3,7 +3,6 @@ import { Router, Switch, Route } from "react-router-dom";
import { inject, observer } from "mobx-react";
import NavMenu from "./components/NavMenu";
import Main from "./components/Main";
-import Box from "@appserver/components/box";
import PrivateRoute from "@appserver/common/components/PrivateRoute";
import PublicRoute from "@appserver/common/components/PublicRoute";
import ErrorBoundary from "@appserver/common/components/ErrorBoundary";
@@ -143,7 +142,7 @@ const ComingSoonRoute = (props) => (
);
const Shell = ({ items = [], page = "home", ...rest }) => {
- const { isLoaded, loadBaseInfo, modules } = rest;
+ const { isLoaded, loadBaseInfo, modules, isDesktop } = rest;
useEffect(() => {
try {
@@ -224,7 +223,7 @@ const Shell = ({ items = [], page = "home", ...rest }) => {
<>
{isEditor ? <>> : }
-
+
@@ -254,18 +253,20 @@ const Shell = ({ items = [], page = "home", ...rest }) => {
const ShellWrapper = inject(({ auth }) => {
const { init, isLoaded } = auth;
- const pathname = window.location.pathname.toLowerCase();
- //const isThirdPartyResponse = pathname.indexOf("thirdparty") !== -1;
return {
loadBaseInfo: () => {
init();
auth.settingsStore.setModuleInfo(config.homepage, "home");
auth.setProductVersion(config.version);
+
+ if (auth.settingsStore.isDesktopClient) {
+ document.body.classList.add("desktop");
+ }
},
- //isThirdPartyResponse,
isLoaded,
modules: auth.moduleStore.modules,
+ isDesktop: auth.settingsStore.isDesktopClient,
};
})(observer(Shell));
diff --git a/web/ASC.Web.Client/src/components/NavMenu/sub-components/nav-logo-item.js b/web/ASC.Web.Client/src/components/NavMenu/sub-components/nav-logo-item.js
index 6f5a608e5e..04c56f4e9c 100644
--- a/web/ASC.Web.Client/src/components/NavMenu/sub-components/nav-logo-item.js
+++ b/web/ASC.Web.Client/src/components/NavMenu/sub-components/nav-logo-item.js
@@ -1,5 +1,5 @@
import React from "react";
-import { Link } from 'react-router-dom';
+import { Link } from "react-router-dom";
import PropTypes from "prop-types";
import styled from "styled-components";
import { inject, observer } from "mobx-react";
@@ -25,7 +25,7 @@ const NavLogoItem = (props) => {
//console.log("NavLogoItem render");
return (
-
+
diff --git a/web/ASC.Web.Client/src/components/NavMenu/sub-components/recover-access-modal-dialog.js b/web/ASC.Web.Client/src/components/NavMenu/sub-components/recover-access-modal-dialog.js
index 4882fb951b..96965d8ebe 100644
--- a/web/ASC.Web.Client/src/components/NavMenu/sub-components/recover-access-modal-dialog.js
+++ b/web/ASC.Web.Client/src/components/NavMenu/sub-components/recover-access-modal-dialog.js
@@ -9,7 +9,7 @@ import ModalDialog from "@appserver/components/modal-dialog";
import Textarea from "@appserver/components/textarea";
import FieldContainer from "@appserver/components/field-container";
-const ModalDialogContainer = styled.div`
+const ModalDialogContainer = styled(ModalDialog)`
.modal-dialog-aside-footer {
@media (max-width: 1024px) {
width: 90%;
@@ -47,82 +47,78 @@ const RecoverAccessModalDialog = ({
}, []);
return (
-
-
-
-
- {t("RecoverTitle")}
-
-
-
-
- {t("RecoverTextBody")}
-
-
+
+
+ {t("RecoverTitle")}
+
+
+
+
+ {t("RecoverTextBody")}
+
+
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
);
};
diff --git a/web/ASC.Web.Client/src/components/pages/About/index.js b/web/ASC.Web.Client/src/components/pages/About/index.js
index 01e3462297..5865863acc 100644
--- a/web/ASC.Web.Client/src/components/pages/About/index.js
+++ b/web/ASC.Web.Client/src/components/pages/About/index.js
@@ -8,6 +8,8 @@ import styled from "styled-components";
import { isMobile } from "react-device-detect";
import { setDocumentTitle } from "../../../helpers/utils";
import i18n from "./i18n";
+import config from "../../../../package.json";
+import { inject } from "mobx-react";
const BodyStyle = styled.div`
margin-top: ${isMobile ? "80px" : "24px"};
@@ -191,14 +193,24 @@ const Body = () => {
);
};
-const About = ({ language }) => (
-
-
-
-
-
-
-
-);
+const About = ({ language, setModuleInfo }) => {
+ useEffect(() => {
+ setModuleInfo(config.homepage, "home");
+ }, []);
-export default About;
+ return (
+
+
+
+
+
+
+
+ );
+};
+
+export default inject(({ auth }) => {
+ return {
+ setModuleInfo: auth.settingsStore.setModuleInfo,
+ };
+})(About);
diff --git a/web/ASC.Web.Client/src/components/pages/Confirm/index.js b/web/ASC.Web.Client/src/components/pages/Confirm/index.js
index e5b55f39d0..0ba9e020dc 100644
--- a/web/ASC.Web.Client/src/components/pages/Confirm/index.js
+++ b/web/ASC.Web.Client/src/components/pages/Confirm/index.js
@@ -1,5 +1,5 @@
import React, { lazy } from "react";
-import { Route, Switch } from "react-router-dom";
+import { Switch } from "react-router-dom";
import ConfirmRoute from "../../../helpers/confirmRoute";
const ActivateUserForm = lazy(() => import("./sub-components/activateUser"));
@@ -37,7 +37,7 @@ const Confirm = ({ match }) => {
path={`${match.path}/EmailChange`}
component={ChangeEmailForm}
/>
- {
path={`${match.path}/ProfileRemove`}
component={ProfileRemoveForm}
/>
- {
path={`${match.path}/PortalOwnerChange`}
component={ChangeOwnerForm}
/>
- {/* */}
);
};
diff --git a/web/ASC.Web.Client/src/components/pages/Confirm/sub-components/createUser.js b/web/ASC.Web.Client/src/components/pages/Confirm/sub-components/createUser.js
index b4c8755c1e..c38141800e 100644
--- a/web/ASC.Web.Client/src/components/pages/Confirm/sub-components/createUser.js
+++ b/web/ASC.Web.Client/src/components/pages/Confirm/sub-components/createUser.js
@@ -21,6 +21,7 @@ import PageLayout from "@appserver/common/components/PageLayout";
import { combineUrl, createPasswordHash } from "@appserver/common/utils";
import { AppServerConfig, providersData } from "@appserver/common/constants";
import { isMobile } from "react-device-detect";
+import { desktop } from "@appserver/components/utils/device";
const inputWidth = "400px";
@@ -49,6 +50,10 @@ const ConfirmContainer = styled.div`
.start-basis {
align-items: flex-start;
${isMobile && `margin-top: 56px;`}
+
+ @media ${desktop} {
+ min-width: 604px;
+ }
}
.margin-left {
@@ -385,10 +390,12 @@ class Confirm extends React.PureComponent {
};
render() {
- const { settings, t, greetingTitle, providers } = this.props;
-
//console.log("createUser render");
+ const { settings, t, greetingTitle, providers } = this.props;
+ const { email, password } = this.state;
+ const showCopyLink = !!email.trim() || !!password.trim();
+
return !settings ? (
) : (
@@ -495,6 +502,7 @@ class Confirm extends React.PureComponent {
passwordSettings={settings}
isDisabled={this.state.isLoading}
onKeyDown={this.onKeyPress}
+ showCopyLink={showCopyLink}
/>
{
return cultures.map((culture) => {
@@ -176,7 +177,13 @@ class LanguageAndTimeZone extends React.Component {
timezoneDefault,
languageDefault,
} = this.state;
- const { i18n, language, nameSchemaId, getCurrentCustomSchema } = this.props;
+ const {
+ i18n,
+ language,
+ nameSchemaId,
+ getCurrentCustomSchema,
+ t,
+ } = this.props;
if (timezones.length && languages.length && !prevState.isLoadedData) {
this.setState({ isLoadedData: true });
@@ -229,12 +236,20 @@ class LanguageAndTimeZone extends React.Component {
};
onSaveLngTZSettings = () => {
- const { t, setLanguageAndTime, i18n } = this.props;
+ const { t, setLanguageAndTime, user, language: lng } = this.props;
const { language, timezone } = this.state;
+
this.setState({ isLoading: true }, function () {
setLanguageAndTime(language.key, timezone.key)
- .then(() => i18n.changeLanguage(language.key))
+ .then(
+ () =>
+ !user.cultureName &&
+ localStorage.setItem(LANGUAGE, language.key || "en-US")
+ )
.then(() => toastr.success(t("SuccessfullySaveSettingsMessage")))
+ .then(
+ () => !user.cultureName && lng !== language.key && location.reload()
+ )
.catch((error) => toastr.error(error))
.finally(() => this.setState({ isLoading: false }));
});
@@ -403,9 +418,12 @@ export default inject(({ auth, setup }) => {
getCurrentCustomSchema,
} = auth.settingsStore;
+ const { user } = auth.userStore;
+
const { setLanguageAndTime } = setup;
return {
+ user,
portalLanguage: culture,
portalTimeZoneId: timezone,
language: culture,
diff --git a/web/ASC.Web.Client/src/components/pages/Settings/categories/integration/sub-components/consumerModalDialog.js b/web/ASC.Web.Client/src/components/pages/Settings/categories/integration/sub-components/consumerModalDialog.js
index 865783b3e4..ddd0f7a9e6 100644
--- a/web/ASC.Web.Client/src/components/pages/Settings/categories/integration/sub-components/consumerModalDialog.js
+++ b/web/ASC.Web.Client/src/components/pages/Settings/categories/integration/sub-components/consumerModalDialog.js
@@ -149,58 +149,56 @@ class ConsumerModalDialog extends React.Component {
} = this;
return (
-
-
- {selectedConsumer.title}
-
- {consumerInstruction}
- {bodyDescription}
-
- {selectedConsumer.props.map((prop, i) => (
-
-
-
- {prop.title}:
-
-
-
-
+
+ {selectedConsumer.title}
+
+ {consumerInstruction}
+ {bodyDescription}
+
+ {selectedConsumer.props.map((prop, i) => (
+
+
+
+ {prop.title}:
-
- ))}
-
- {bottomDescription}
-
-
-
-
-
+
+
+
+
+
+ ))}
+
+ {bottomDescription}
+
+
+
+
);
}
diff --git a/web/ASC.Web.Client/src/components/pages/Settings/categories/integration/sub-components/modalDialogContainer.js b/web/ASC.Web.Client/src/components/pages/Settings/categories/integration/sub-components/modalDialogContainer.js
index e9265f4a69..f4bd7016a5 100644
--- a/web/ASC.Web.Client/src/components/pages/Settings/categories/integration/sub-components/modalDialogContainer.js
+++ b/web/ASC.Web.Client/src/components/pages/Settings/categories/integration/sub-components/modalDialogContainer.js
@@ -1,7 +1,8 @@
import styled from "styled-components";
import { tablet } from "@appserver/components/utils/device";
+import ModalDialog from "@appserver/components/modal-dialog";
-const ModalDialogContainer = styled.div`
+const ModalDialogContainer = styled(ModalDialog)`
.modal-dialog-aside-footer {
@media ${tablet} {
width: 90%;
diff --git a/web/ASC.Web.Client/src/custom.scss b/web/ASC.Web.Client/src/custom.scss
index cbde4e195a..84bb0c7753 100644
--- a/web/ASC.Web.Client/src/custom.scss
+++ b/web/ASC.Web.Client/src/custom.scss
@@ -23,3 +23,12 @@ body {
body.loading * {
cursor: wait !important;
}
+
+body.desktop {
+ user-select: none;
+ -moz-user-select: none;
+ -khtml-user-select: none;
+ -webkit-user-select: none;
+ -o-user-select: none;
+ mozuserselect: none;
+}
diff --git a/web/ASC.Web.Client/webpack.config.js b/web/ASC.Web.Client/webpack.config.js
index 66b6d16438..fcffb9be02 100644
--- a/web/ASC.Web.Client/webpack.config.js
+++ b/web/ASC.Web.Client/webpack.config.js
@@ -166,6 +166,9 @@ const config = {
singleton: true,
requiredVersion: deps["react-dom"],
},
+ "./src/store": {
+ singleton: true,
+ },
},
}),
new HtmlWebpackPlugin({
@@ -195,7 +198,11 @@ module.exports = (env, argv) => {
config.optimization = {
splitChunks: { chunks: "all" },
minimize: true,
- minimizer: [new TerserPlugin()],
+ minimizer: [
+ new TerserPlugin({
+ include: "./src/store",
+ }),
+ ],
};
config.plugins.push(
diff --git a/web/ASC.Web.Core/ASC.Web.Core.csproj b/web/ASC.Web.Core/ASC.Web.Core.csproj
index 812ae6a8fa..9eaf1b56ef 100644
--- a/web/ASC.Web.Core/ASC.Web.Core.csproj
+++ b/web/ASC.Web.Core/ASC.Web.Core.csproj
@@ -1,10 +1,7 @@
-
+
net5.0
-
- Library
-
diff --git a/web/ASC.Web.Core/PublicResources/Resource.Designer.cs b/web/ASC.Web.Core/PublicResources/Resource.Designer.cs
index c3cb8c1481..a6ff2dd9ca 100644
--- a/web/ASC.Web.Core/PublicResources/Resource.Designer.cs
+++ b/web/ASC.Web.Core/PublicResources/Resource.Designer.cs
@@ -19,7 +19,7 @@ namespace ASC.Web.Core.PublicResources {
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
public class Resource {
@@ -1950,6 +1950,15 @@ namespace ASC.Web.Core.PublicResources {
}
}
+ ///
+ /// Looks up a localized string similar to Profile has been removed.
+ ///
+ public static string ProfileRemoved {
+ get {
+ return ResourceManager.GetString("ProfileRemoved", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to Data reassign process for {0} is not complete..
///
diff --git a/web/ASC.Web.Core/PublicResources/Resource.de.resx b/web/ASC.Web.Core/PublicResources/Resource.de.resx
index 5b51f25a42..9ebf002865 100644
--- a/web/ASC.Web.Core/PublicResources/Resource.de.resx
+++ b/web/ASC.Web.Core/PublicResources/Resource.de.resx
@@ -1,5 +1,64 @@
+
@@ -53,10 +112,10 @@
2.0
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=5.0.5.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=5.0.5.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Das Feld mit dem Prüfcode darf nicht leer sein
@@ -752,4 +811,7 @@
Neues
+
+ Das Profil wurde gelöscht
+
\ No newline at end of file
diff --git a/web/ASC.Web.Core/PublicResources/Resource.es.resx b/web/ASC.Web.Core/PublicResources/Resource.es.resx
index 6733c1d541..e3da70fee8 100644
--- a/web/ASC.Web.Core/PublicResources/Resource.es.resx
+++ b/web/ASC.Web.Core/PublicResources/Resource.es.resx
@@ -1,5 +1,64 @@
+
@@ -53,10 +112,10 @@
2.0
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=5.0.5.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=5.0.5.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Campo de código de validación no puede estar vacío
@@ -715,4 +774,7 @@
Qué hay de nuevo
+
+ Perfil ha sido eliminado
+
\ No newline at end of file
diff --git a/web/ASC.Web.Core/PublicResources/Resource.fr.resx b/web/ASC.Web.Core/PublicResources/Resource.fr.resx
index da2e892699..93639c3960 100644
--- a/web/ASC.Web.Core/PublicResources/Resource.fr.resx
+++ b/web/ASC.Web.Core/PublicResources/Resource.fr.resx
@@ -1,5 +1,64 @@
+
@@ -53,10 +112,10 @@
2.0
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=5.0.5.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=5.0.5.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Le champ du code de validation ne peut pas être vide
@@ -750,4 +809,7 @@
Quoi de neuf
+
+ Le profil a été supprimé
+
\ No newline at end of file
diff --git a/web/ASC.Web.Core/PublicResources/Resource.it.resx b/web/ASC.Web.Core/PublicResources/Resource.it.resx
index c051cfded0..1356131a6a 100644
--- a/web/ASC.Web.Core/PublicResources/Resource.it.resx
+++ b/web/ASC.Web.Core/PublicResources/Resource.it.resx
@@ -1,5 +1,64 @@
+
@@ -53,10 +112,10 @@
2.0
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=5.0.5.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=5.0.5.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Il campo Valida codice non può essere vuoto
@@ -707,4 +766,7 @@
Cosa c'è di nuovo
+
+ Il profilo è stato eliminato
+
\ No newline at end of file
diff --git a/web/ASC.Web.Core/PublicResources/Resource.resx b/web/ASC.Web.Core/PublicResources/Resource.resx
index bf9175aa54..18604633bc 100644
--- a/web/ASC.Web.Core/PublicResources/Resource.resx
+++ b/web/ASC.Web.Core/PublicResources/Resource.resx
@@ -53,10 +53,10 @@
2.0
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=5.0.5.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=5.0.5.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Validation code field cannot be empty
@@ -748,4 +748,7 @@
What's New
+
+ Profile has been removed
+
\ No newline at end of file
diff --git a/web/ASC.Web.Core/PublicResources/Resource.ru.resx b/web/ASC.Web.Core/PublicResources/Resource.ru.resx
index c7722cb4ee..8ccfc9971d 100644
--- a/web/ASC.Web.Core/PublicResources/Resource.ru.resx
+++ b/web/ASC.Web.Core/PublicResources/Resource.ru.resx
@@ -1,5 +1,64 @@
+
@@ -53,10 +112,10 @@
2.0
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=5.0.5.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=5.0.5.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Поле кода подтверждения не может быть пустым
@@ -748,4 +807,7 @@
Новенькое
+
+ Профиль удален
+
\ No newline at end of file
diff --git a/web/ASC.Web.Editor/package.json b/web/ASC.Web.Editor/package.json
index c333845f93..9919afc3ea 100644
--- a/web/ASC.Web.Editor/package.json
+++ b/web/ASC.Web.Editor/package.json
@@ -1,15 +1,15 @@
{
"name": "@appserver/editor",
- "version": "0.1.7",
- "private": "true",
+ "version": "0.1.9",
"homepage": "/products/files/doceditor",
"title": "ONLYOFFICE",
"scripts": {
"start": "webpack-cli serve",
"start-prod": "webpack --mode production && serve dist -p 5013",
"build": "webpack --mode production",
+ "deploy": "mkdirp ../../build/deploy/products/ASC.Files/editor && cp -r -u dist/* ../../build/deploy/products/ASC.Files/editor",
"serve": "serve dist -p 5013",
- "clean": "rm -rf dist"
+ "clean": "rimraf dist"
},
"devDependencies": {
"@babel/core": "^7.12.10",
@@ -25,9 +25,12 @@
"css-loader": "^3.6.0",
"html-webpack-plugin": "4.5.0",
"json-loader": "^0.5.7",
+ "mkdirp": "^1.0.4",
+ "rimraf": "^3.0.2",
"serve": "11.3.2",
"source-map-loader": "^1.1.3",
"style-loader": "1.2.1",
+ "terser-webpack-plugin": "^5.1.1",
"webpack": "5.14.0",
"webpack-cli": "4.5.0",
"webpack-dev-server": "3.11.2",
diff --git a/web/ASC.Web.Editor/src/Editor.jsx b/web/ASC.Web.Editor/src/Editor.jsx
index 8b2317f3ce..1912a9378a 100644
--- a/web/ASC.Web.Editor/src/Editor.jsx
+++ b/web/ASC.Web.Editor/src/Editor.jsx
@@ -12,7 +12,6 @@ import {
getObjectByLocation,
//showLoader,
//hideLoader,
- tryRedirectTo,
} from "@appserver/common/utils";
import {
getDocServiceUrl,
@@ -93,17 +92,27 @@ const Editor = () => {
//showLoader();
const docApiUrl = await getDocServiceUrl();
+ const success = await checkIsAuthenticated();
- if (!doc) {
- const success = await checkIsAuthenticated();
-
- if (!success) {
- return tryRedirectTo(combineUrl(AppServerConfig.proxyURL, "/login"));
- } else {
- setIsAuthenticated(success);
- }
+ if (!doc && !success) {
+ window.open(
+ combineUrl(AppServerConfig.proxyURL, "/login"),
+ "_self",
+ "",
+ true
+ );
+ return;
+ }
+
+ if (success) {
+ try {
+ fileInfo = await getFileInfo(fileId);
+ } catch (err) {
+ console.error(err);
+ }
+
+ setIsAuthenticated(success);
}
- fileInfo = await getFileInfo(fileId);
config = await openEdit(fileId, version, doc);
@@ -145,7 +154,8 @@ const Editor = () => {
if (
config &&
config.document.permissions.edit &&
- config.document.permissions.modifyFilter
+ config.document.permissions.modifyFilter &&
+ fileInfo
) {
const sharingSettings = await SharingDialog.getSharingSettings(fileId);
config.document.info = {
@@ -249,20 +259,36 @@ const Editor = () => {
config.type = "mobile";
}
- const filterObj = FilesFilter.getDefault();
- filterObj.folder = fileInfo.folderId;
- const urlFilter = filterObj.toUrlParams();
+ let goback;
- config.editorConfig.customization = {
- ...config.editorConfig.customization,
- goback: {
+ if (fileInfo) {
+ const filterObj = FilesFilter.getDefault();
+ filterObj.folder = fileInfo.folderId;
+ const urlFilter = filterObj.toUrlParams();
+
+ goback = {
blank: true,
requestClose: false,
text: i18n.t("FileLocation"),
url: `${combineUrl(filesUrl, `/filter?${urlFilter}`)}`,
- },
+ };
+ }
+
+ config.editorConfig.customization = {
+ ...config.editorConfig.customization,
+ goback,
};
+ let onRequestSharingSettings;
+
+ if (
+ fileInfo &&
+ config.document.permissions.edit &&
+ config.document.permissions.modifyFilter
+ ) {
+ onRequestSharingSettings = onSDKRequestSharingSettings;
+ }
+
const events = {
events: {
onAppReady: onSDKAppReady,
@@ -272,10 +298,7 @@ const Editor = () => {
onInfo: onSDKInfo,
onWarning: onSDKWarning,
onError: onSDKError,
- ...(config.document.permissions.edit &&
- config.document.permissions.modifyFilter && {
- onRequestSharingSettings: onSDKRequestSharingSettings,
- }),
+ onRequestSharingSettings,
},
};
@@ -357,13 +380,14 @@ const Editor = () => {
{!isLoading ? (
<>
-
-
+ {fileInfo && (
+
+ )}
>
) : (
diff --git a/web/ASC.Web.Editor/src/i18n.js b/web/ASC.Web.Editor/src/i18n.js
index 718074bda1..da2b14c491 100644
--- a/web/ASC.Web.Editor/src/i18n.js
+++ b/web/ASC.Web.Editor/src/i18n.js
@@ -15,7 +15,7 @@ newInstance
lng: lng,
fallbackLng: "en",
load: "languageOnly",
- debug: true,
+ //debug: true,
interpolation: {
escapeValue: false, // not needed for react as it escapes by default
diff --git a/web/ASC.Web.Editor/webpack.config.js b/web/ASC.Web.Editor/webpack.config.js
index 9abfa2d270..5532be957d 100644
--- a/web/ASC.Web.Editor/webpack.config.js
+++ b/web/ASC.Web.Editor/webpack.config.js
@@ -7,6 +7,7 @@ const TerserPlugin = require("terser-webpack-plugin");
const { InjectManifest } = require("workbox-webpack-plugin");
const combineUrl = require("@appserver/common/utils/combineUrl");
const AppServerConfig = require("@appserver/common/constants/AppServerConfig");
+const { proxyURL } = AppServerConfig;
const path = require("path");
const pkg = require("./package.json");
@@ -134,12 +135,9 @@ const config = {
name: "editor",
filename: "remoteEntry.js",
remotes: {
- studio: `studio@${combineUrl(
- AppServerConfig.proxyURL,
- "/remoteEntry.js"
- )}`,
+ studio: `studio@${combineUrl(proxyURL, "/remoteEntry.js")}`,
files: `files@${combineUrl(
- AppServerConfig.proxyURL,
+ proxyURL,
"/products/files/remoteEntry.js"
)}`,
},
diff --git a/web/ASC.Web.Login/package.json b/web/ASC.Web.Login/package.json
index f1a2d608d5..3609231eca 100644
--- a/web/ASC.Web.Login/package.json
+++ b/web/ASC.Web.Login/package.json
@@ -1,15 +1,15 @@
{
"name": "@appserver/login",
- "version": "0.1.7",
- "private": "true",
+ "version": "0.1.9",
"homepage": "/login",
"title": "ONLYOFFICE",
"scripts": {
"start": "webpack-cli serve",
"start-prod": "webpack --mode production && serve dist -p 5011",
"build": "webpack --mode production",
+ "deploy": "mkdirp ../../build/deploy/studio/login && cp -r -u dist/* ../../build/deploy/studio/login",
"serve": "serve dist -p 5011",
- "clean": "rm -rf dist"
+ "clean": "rimraf dist"
},
"devDependencies": {
"@babel/core": "^7.12.10",
@@ -26,9 +26,12 @@
"css-loader": "^3.6.0",
"html-webpack-plugin": "4.5.0",
"json-loader": "^0.5.7",
+ "mkdirp": "^1.0.4",
+ "rimraf": "^3.0.2",
"serve": "11.3.2",
"source-map-loader": "^1.1.2",
"style-loader": "1.2.1",
+ "terser-webpack-plugin": "^5.1.1",
"webpack": "5.14.0",
"webpack-cli": "4.5.0",
"webpack-dev-server": "3.11.2",
diff --git a/web/ASC.Web.Login/public/index.html b/web/ASC.Web.Login/public/index.html
index 233846fb8f..9fb410b356 100644
--- a/web/ASC.Web.Login/public/index.html
+++ b/web/ASC.Web.Login/public/index.html
@@ -11,14 +11,14 @@
manifest.json provides metadata used when your web app is added to the
homescreen on Android. See https://developers.google.com/web/fundamentals/engage-and-retain/web-app-manifest/
-->
-
+
-
+
-
+
{
};
return (
-
-
-
-
- {t("PasswordRecoveryTitle")}
-
-
-
-
- {t("MessageSendPasswordRecoveryInstructionsOnEmail")}
-
+
+
+
+ {t("PasswordRecoveryTitle")}
+
+
+
+
+ {t("MessageSendPasswordRecoveryInstructionsOnEmail")}
+
-
+
-
-
-
-
-
-
-
+
+
+
+
+
);
};
diff --git a/web/ASC.Web.Login/src/sub-components/modal-dialog-container.js b/web/ASC.Web.Login/src/sub-components/modal-dialog-container.js
index a7aa266f60..1e72f0645a 100644
--- a/web/ASC.Web.Login/src/sub-components/modal-dialog-container.js
+++ b/web/ASC.Web.Login/src/sub-components/modal-dialog-container.js
@@ -1,6 +1,7 @@
import styled from "styled-components";
+import ModalDialog from "@appserver/components/modal-dialog";
-const ModalDialogContainer = styled.div`
+const ModalDialogContainer = styled(ModalDialog)`
.modal-dialog-aside-footer {
@media (max-width: 1024px) {
width: 90%;
diff --git a/web/ASC.Web.Login/src/sub-components/register-container.js b/web/ASC.Web.Login/src/sub-components/register-container.js
index db474f768d..65330f29a2 100644
--- a/web/ASC.Web.Login/src/sub-components/register-container.js
+++ b/web/ASC.Web.Login/src/sub-components/register-container.js
@@ -27,7 +27,12 @@ const StyledRegister = styled(Box)`
`;
const Register = (props) => {
- const { enabledJoin, isAuthenticated } = props;
+ const {
+ enabledJoin,
+ isAuthenticated,
+ trustedDomainsType,
+ trustedDomains,
+ } = props;
const [visible, setVisible] = useState(false);
const [loading, setLoading] = useState(false);
@@ -78,6 +83,8 @@ const Register = (props) => {
loading={loading}
email={email}
emailErr={emailErr}
+ trustedDomainsType={trustedDomainsType}
+ trustedDomains={trustedDomains}
t={t}
onChangeEmail={onChangeEmail}
onRegisterModalClose={onRegisterModalClose}
@@ -98,9 +105,11 @@ Register.propTypes = {
export default inject(({ auth }) => {
const { settingsStore, isAuthenticated, language } = auth;
- const { enabledJoin } = settingsStore;
+ const { enabledJoin, trustedDomainsType, trustedDomains } = settingsStore;
return {
enabledJoin,
+ trustedDomainsType,
+ trustedDomains,
isAuthenticated,
language,
};
diff --git a/web/ASC.Web.Login/src/sub-components/register-modal-dialog.js b/web/ASC.Web.Login/src/sub-components/register-modal-dialog.js
index af6cc5b2bd..49ddd05b73 100644
--- a/web/ASC.Web.Login/src/sub-components/register-modal-dialog.js
+++ b/web/ASC.Web.Login/src/sub-components/register-modal-dialog.js
@@ -8,16 +8,7 @@ import ModalDialog from "@appserver/components/modal-dialog";
import FieldContainer from "@appserver/components/field-container";
import ModalDialogContainer from "./modal-dialog-container";
-
-const domains = ["mail.ru", "gmail.com", "yandex.ru"];
-const domainList = domains.map((domain, i) => (
-
-
- {domain}
- {i === domains.length - 1 ? "." : ", "}
-
-
-));
+import { TenantTrustedDomainsType } from "@appserver/common/constants";
const RegisterModalDialog = ({
visible,
@@ -28,65 +19,86 @@ const RegisterModalDialog = ({
onChangeEmail,
onRegisterModalClose,
onSendRegisterRequest,
+ trustedDomainsType,
+ trustedDomains,
}) => {
- return (
-
-
-
-
- {t("RegisterTitle")}
-
-
-
-
- {t("RegisterTextBodyBeforeDomainsList")} {domainList}{" "}
- {t("RegisterTextBodyAfterDomainsList")}
-
+ const getDomains = () => {
+ return trustedDomains.map((domain, i) => (
+
+
+ {domain}
+ {i === trustedDomains.length - 1 ? "." : ", "}
+
+
+ ));
+ };
- {
+ return trustedDomainsType === TenantTrustedDomainsType.Custom ? (
+ <>
+ {t("RegisterTextBodyBeforeDomainsList")} {getDomains()}{" "}
+ >
+ ) : (
+ <>>
+ );
+ };
+
+ return (
+
+
+
+ {t("RegisterTitle")}
+
+
+
+
+ {getDomainsBlock()}
+ {t("RegisterTextBodyAfterDomainsList")}
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
);
};
@@ -100,6 +112,8 @@ RegisterModalDialog.propTypes = {
onChangeEmail: PropTypes.func.isRequired,
onSendRegisterRequest: PropTypes.func.isRequired,
onRegisterModalClose: PropTypes.func.isRequired,
+ trustedDomainsType: PropTypes.number,
+ trustedDomains: PropTypes.array,
};
export default RegisterModalDialog;
diff --git a/web/ASC.Web.Login/webpack.config.js b/web/ASC.Web.Login/webpack.config.js
index 3b2b43e06c..d67d554242 100644
--- a/web/ASC.Web.Login/webpack.config.js
+++ b/web/ASC.Web.Login/webpack.config.js
@@ -16,8 +16,9 @@ const homepage = pkg.homepage; // combineUrl(proxyURL, pkg.homepage);
const title = pkg.title;
var config = {
- mode: "development",
entry: "./src/index",
+ target: "web",
+ mode: "development",
devServer: {
publicPath: homepage,
@@ -151,9 +152,9 @@ var config = {
template: "./public/index.html",
publicPath: homepage,
title: title,
- templateParameters: {
- proxyURL: proxyURL,
- },
+ // templateParameters: {
+ // proxyURL: proxyURL,
+ // },
base: `${homepage}/`,
}),
new CopyPlugin({
@@ -163,7 +164,7 @@ var config = {
globOptions: {
dot: true,
gitignore: true,
- ignore: ["**/index.ejs"],
+ ignore: ["**/index.html"],
},
},
],
diff --git a/web/ASC.Web.Studio/ASC.Web.Studio.csproj b/web/ASC.Web.Studio/ASC.Web.Studio.csproj
index f552b97467..452353b683 100644
--- a/web/ASC.Web.Studio/ASC.Web.Studio.csproj
+++ b/web/ASC.Web.Studio/ASC.Web.Studio.csproj
@@ -19,6 +19,8 @@
all
runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
diff --git a/web/ASC.Web.Studio/Program.cs b/web/ASC.Web.Studio/Program.cs
index 0d6cace028..c80746edd5 100644
--- a/web/ASC.Web.Studio/Program.cs
+++ b/web/ASC.Web.Studio/Program.cs
@@ -1,5 +1,8 @@
+using System;
using System.Collections.Generic;
using System.IO;
+using System.Runtime.InteropServices;
+using System.Threading.Tasks;
using ASC.Common.Utils;
@@ -13,18 +16,41 @@ namespace ASC.Web.Studio
{
public class Program
{
- public static void Main(string[] args)
- {
- CreateWebHostBuilder(args).Build().Run();
+ public async static Task Main(string[] args)
+ {
+ var host = CreateHostBuilder(args).Build();
+
+ await host.RunAsync();
}
- public static IHostBuilder CreateWebHostBuilder(string[] args)
- {
- return Host.CreateDefaultBuilder(args)
+ public static IHostBuilder CreateHostBuilder(string[] args) =>
+ Host.CreateDefaultBuilder(args)
+ .UseSystemd()
+ .UseWindowsService()
.UseServiceProviderFactory(new AutofacServiceProviderFactory())
- .ConfigureWebHostDefaults(w =>
+ .ConfigureWebHostDefaults(webBuilder =>
{
- w.UseStartup();
+ var builder = webBuilder.UseStartup();
+
+ builder.ConfigureKestrel((hostingContext, serverOptions) =>
+ {
+ var kestrelConfig = hostingContext.Configuration.GetSection("Kestrel");
+
+ if (!kestrelConfig.Exists()) return;
+
+ var unixSocket = kestrelConfig.GetValue("ListenUnixSocket");
+
+ if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
+ {
+ if (!String.IsNullOrWhiteSpace(unixSocket))
+ {
+ unixSocket = String.Format(unixSocket, hostingContext.HostingEnvironment.ApplicationName.Replace("ASC.", "").Replace(".", ""));
+
+ serverOptions.ListenUnixSocket(unixSocket);
+ }
+ }
+ });
+
})
.ConfigureAppConfiguration((hostingContext, config) =>
{
@@ -48,7 +74,7 @@ namespace ASC.Web.Studio
{"pathToConf", path }
}
);
+
});
- }
}
}
diff --git a/yarn.lock b/yarn.lock
index eb3eb21582..b1e0d67a72 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -11,15 +11,14 @@
warning "^4.0.3"
"@babel/cli@^7.12.10":
- version "7.13.14"
- resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.13.14.tgz#c395bc89ec4760c91f2027fa8b26f8b2bf42238f"
- integrity sha512-zmEFV8WBRsW+mPQumO1/4b34QNALBVReaiHJOkxhUsdo/AvYM62c+SKSuLi2aZ42t3ocK6OI0uwUXRvrIbREZw==
+ version "7.13.16"
+ resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.13.16.tgz#9d372e943ced0cc291f068204a9b010fd9cfadbc"
+ integrity sha512-cL9tllhqvsQ6r1+d9Invf7nNXg/3BlfL1vvvL/AdH9fZ2l5j0CeBcoq6UjsqHpvyN1v5nXSZgqJZoGeK+ZOAbw==
dependencies:
commander "^4.0.1"
convert-source-map "^1.1.0"
fs-readdir-recursive "^1.1.0"
glob "^7.0.0"
- lodash "^4.17.19"
make-dir "^2.1.0"
slash "^2.0.0"
source-map "^0.5.0"
@@ -41,10 +40,10 @@
dependencies:
"@babel/highlight" "^7.12.13"
-"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.13.12", "@babel/compat-data@^7.13.15", "@babel/compat-data@^7.13.8", "@babel/compat-data@^7.9.0":
- version "7.13.15"
- resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.13.15.tgz#7e8eea42d0b64fda2b375b22d06c605222e848f4"
- integrity sha512-ltnibHKR1VnrU4ymHyQ/CXtNXI6yZC0oJThyW78Hft8XndANwi+9H+UIklBDraIjFEJzw8wmcM427oDd9KS5wA==
+"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.13.15", "@babel/compat-data@^7.13.8", "@babel/compat-data@^7.14.0", "@babel/compat-data@^7.9.0":
+ version "7.14.0"
+ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.14.0.tgz#a901128bce2ad02565df95e6ecbf195cf9465919"
+ integrity sha512-vu9V3uMM/1o5Hl5OekMUowo3FqXLJSw+s+66nt0fSWVWTtmosdzn45JHOB3cPtZoe6CTBDzvSw0RdOY85Q37+Q==
"@babel/core@7.12.9":
version "7.12.9"
@@ -91,19 +90,19 @@
source-map "^0.5.0"
"@babel/core@^7.1.0", "@babel/core@^7.11.1", "@babel/core@^7.12.10", "@babel/core@^7.12.3", "@babel/core@^7.7.5":
- version "7.13.15"
- resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.13.15.tgz#a6d40917df027487b54312202a06812c4f7792d0"
- integrity sha512-6GXmNYeNjS2Uz+uls5jalOemgIhnTMeaXo+yBUA72kC2uX/8VW6XyhVIo2L8/q0goKQA3EVKx0KOQpVKSeWadQ==
+ version "7.14.0"
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.14.0.tgz#47299ff3ec8d111b493f1a9d04bf88c04e728d88"
+ integrity sha512-8YqpRig5NmIHlMLw09zMlPTvUVMILjqCOtVgu+TVNWEBvy9b5I3RRyhqnrV4hjgEK7n8P9OqvkWJAFmEL6Wwfw==
dependencies:
"@babel/code-frame" "^7.12.13"
- "@babel/generator" "^7.13.9"
- "@babel/helper-compilation-targets" "^7.13.13"
- "@babel/helper-module-transforms" "^7.13.14"
- "@babel/helpers" "^7.13.10"
- "@babel/parser" "^7.13.15"
+ "@babel/generator" "^7.14.0"
+ "@babel/helper-compilation-targets" "^7.13.16"
+ "@babel/helper-module-transforms" "^7.14.0"
+ "@babel/helpers" "^7.14.0"
+ "@babel/parser" "^7.14.0"
"@babel/template" "^7.12.13"
- "@babel/traverse" "^7.13.15"
- "@babel/types" "^7.13.14"
+ "@babel/traverse" "^7.14.0"
+ "@babel/types" "^7.14.0"
convert-source-map "^1.7.0"
debug "^4.1.0"
gensync "^1.0.0-beta.2"
@@ -111,12 +110,12 @@
semver "^6.3.0"
source-map "^0.5.0"
-"@babel/generator@^7.12.11", "@babel/generator@^7.12.5", "@babel/generator@^7.13.9", "@babel/generator@^7.4.0", "@babel/generator@^7.9.0":
- version "7.13.9"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.13.9.tgz#3a7aa96f9efb8e2be42d38d80e2ceb4c64d8de39"
- integrity sha512-mHOOmY0Axl/JCTkxTU6Lf5sWOg/v8nUa+Xkt4zMTftX0wqmb6Sh7J8gvcehBw7q0AhrhAR+FDacKjCZ2X8K+Sw==
+"@babel/generator@^7.12.11", "@babel/generator@^7.12.5", "@babel/generator@^7.14.0", "@babel/generator@^7.4.0", "@babel/generator@^7.9.0":
+ version "7.14.1"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.14.1.tgz#1f99331babd65700183628da186f36f63d615c93"
+ integrity sha512-TMGhsXMXCP/O1WtQmZjpEYDhCYC9vFhayWZPJSZCGkPJgUqX0rF0wwtrYvnzVxIjcF80tkUertXVk5cwqi5cAQ==
dependencies:
- "@babel/types" "^7.13.0"
+ "@babel/types" "^7.14.1"
jsesc "^2.5.1"
source-map "^0.5.0"
@@ -135,25 +134,26 @@
"@babel/helper-explode-assignable-expression" "^7.12.13"
"@babel/types" "^7.12.13"
-"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.13.13", "@babel/helper-compilation-targets@^7.13.8", "@babel/helper-compilation-targets@^7.8.7":
- version "7.13.13"
- resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.13.tgz#2b2972a0926474853f41e4adbc69338f520600e5"
- integrity sha512-q1kcdHNZehBwD9jYPh3WyXcsFERi39X4I59I3NadciWtNDyZ6x+GboOxncFK0kXlKIv6BJm5acncehXWUjWQMQ==
+"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.13.16", "@babel/helper-compilation-targets@^7.13.8", "@babel/helper-compilation-targets@^7.8.7":
+ version "7.13.16"
+ resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.16.tgz#6e91dccf15e3f43e5556dffe32d860109887563c"
+ integrity sha512-3gmkYIrpqsLlieFwjkGgLaSHmhnvlAYzZLlYVjlW+QwI+1zE17kGxuJGmIqDQdYp56XdmGeD+Bswx0UTyG18xA==
dependencies:
- "@babel/compat-data" "^7.13.12"
+ "@babel/compat-data" "^7.13.15"
"@babel/helper-validator-option" "^7.12.17"
browserslist "^4.14.5"
semver "^6.3.0"
-"@babel/helper-create-class-features-plugin@^7.13.0", "@babel/helper-create-class-features-plugin@^7.13.11", "@babel/helper-create-class-features-plugin@^7.8.3":
- version "7.13.11"
- resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.13.11.tgz#30d30a005bca2c953f5653fc25091a492177f4f6"
- integrity sha512-ays0I7XYq9xbjCSvT+EvysLgfc3tOkwCULHjrnscGT3A9qD4sk3wXnJ3of0MAWsWGjdinFvajHU2smYuqXKMrw==
+"@babel/helper-create-class-features-plugin@^7.13.0", "@babel/helper-create-class-features-plugin@^7.13.11", "@babel/helper-create-class-features-plugin@^7.14.0", "@babel/helper-create-class-features-plugin@^7.8.3":
+ version "7.14.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.1.tgz#1fe11b376f3c41650ad9fedc665b0068722ea76c"
+ integrity sha512-r8rsUahG4ywm0QpGcCrLaUSOuNAISR3IZCg4Fx05Ozq31aCUrQsTLH6KPxy0N5ULoQ4Sn9qjNdGNtbPWAC6hYg==
dependencies:
+ "@babel/helper-annotate-as-pure" "^7.12.13"
"@babel/helper-function-name" "^7.12.13"
- "@babel/helper-member-expression-to-functions" "^7.13.0"
+ "@babel/helper-member-expression-to-functions" "^7.13.12"
"@babel/helper-optimise-call-expression" "^7.12.13"
- "@babel/helper-replace-supers" "^7.13.0"
+ "@babel/helper-replace-supers" "^7.13.12"
"@babel/helper-split-export-declaration" "^7.12.13"
"@babel/helper-create-regexp-features-plugin@^7.12.13":
@@ -216,14 +216,14 @@
"@babel/types" "^7.12.13"
"@babel/helper-hoist-variables@^7.13.0":
- version "7.13.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.13.0.tgz#5d5882e855b5c5eda91e0cadc26c6e7a2c8593d8"
- integrity sha512-0kBzvXiIKfsCA0y6cFEIJf4OdzfpRuNk4+YTeHZpGGc666SATFKTz6sRncwFnQk7/ugJ4dSrCj6iJuvW4Qwr2g==
+ version "7.13.16"
+ resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.13.16.tgz#1b1651249e94b51f8f0d33439843e33e39775b30"
+ integrity sha512-1eMtTrXtrwscjcAeO4BVK+vvkxaLJSPFz1w1KLawz6HLNi9bPFGBNwwDyVfiu1Tv/vRRFYfoGaKhmAQPGPn5Wg==
dependencies:
- "@babel/traverse" "^7.13.0"
- "@babel/types" "^7.13.0"
+ "@babel/traverse" "^7.13.15"
+ "@babel/types" "^7.13.16"
-"@babel/helper-member-expression-to-functions@^7.13.0", "@babel/helper-member-expression-to-functions@^7.13.12":
+"@babel/helper-member-expression-to-functions@^7.13.12":
version "7.13.12"
resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.12.tgz#dfe368f26d426a07299d8d6513821768216e6d72"
integrity sha512-48ql1CLL59aKbU94Y88Xgb2VFy7a95ykGRbJJaaVv+LX5U8wFpLfiGXJJGUozsmA1oEh/o5Bp60Voq7ACyA/Sw==
@@ -237,19 +237,19 @@
dependencies:
"@babel/types" "^7.13.12"
-"@babel/helper-module-transforms@^7.12.1", "@babel/helper-module-transforms@^7.13.0", "@babel/helper-module-transforms@^7.13.14", "@babel/helper-module-transforms@^7.9.0":
- version "7.13.14"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.13.14.tgz#e600652ba48ccb1641775413cb32cfa4e8b495ef"
- integrity sha512-QuU/OJ0iAOSIatyVZmfqB0lbkVP0kDRiKj34xy+QNsnVZi/PA6BoSoreeqnxxa9EHFAIL0R9XOaAR/G9WlIy5g==
+"@babel/helper-module-transforms@^7.12.1", "@babel/helper-module-transforms@^7.13.0", "@babel/helper-module-transforms@^7.14.0", "@babel/helper-module-transforms@^7.9.0":
+ version "7.14.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.14.0.tgz#8fcf78be220156f22633ee204ea81f73f826a8ad"
+ integrity sha512-L40t9bxIuGOfpIGA3HNkJhU9qYrf4y5A5LUSw7rGMSn+pcG8dfJ0g6Zval6YJGd2nEjI7oP00fRdnhLKndx6bw==
dependencies:
"@babel/helper-module-imports" "^7.13.12"
"@babel/helper-replace-supers" "^7.13.12"
"@babel/helper-simple-access" "^7.13.12"
"@babel/helper-split-export-declaration" "^7.12.13"
- "@babel/helper-validator-identifier" "^7.12.11"
+ "@babel/helper-validator-identifier" "^7.14.0"
"@babel/template" "^7.12.13"
- "@babel/traverse" "^7.13.13"
- "@babel/types" "^7.13.14"
+ "@babel/traverse" "^7.14.0"
+ "@babel/types" "^7.14.0"
"@babel/helper-optimise-call-expression@^7.12.13":
version "7.12.13"
@@ -287,7 +287,7 @@
"@babel/traverse" "^7.13.0"
"@babel/types" "^7.13.12"
-"@babel/helper-simple-access@^7.12.13", "@babel/helper-simple-access@^7.13.12":
+"@babel/helper-simple-access@^7.13.12":
version "7.13.12"
resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.13.12.tgz#dd6c538afb61819d205a012c31792a39c7a5eaf6"
integrity sha512-7FEjbrx5SL9cWvXioDbnlYTppcZGuCY6ow3/D5vMggb2Ywgu4dMrpTJX0JdQAIcRRUElOIxF3yEooa9gUb9ZbA==
@@ -308,10 +308,10 @@
dependencies:
"@babel/types" "^7.12.13"
-"@babel/helper-validator-identifier@^7.12.11":
- version "7.12.11"
- resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed"
- integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==
+"@babel/helper-validator-identifier@^7.12.11", "@babel/helper-validator-identifier@^7.14.0":
+ version "7.14.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz#d26cad8a47c65286b15df1547319a5d0bcf27288"
+ integrity sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==
"@babel/helper-validator-option@^7.12.17":
version "7.12.17"
@@ -328,28 +328,28 @@
"@babel/traverse" "^7.13.0"
"@babel/types" "^7.13.0"
-"@babel/helpers@^7.12.5", "@babel/helpers@^7.13.10", "@babel/helpers@^7.9.0":
- version "7.13.10"
- resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.13.10.tgz#fd8e2ba7488533cdeac45cc158e9ebca5e3c7df8"
- integrity sha512-4VO883+MWPDUVRF3PhiLBUFHoX/bsLTGFpFK/HqvvfBZz2D57u9XzPVNFVBTc0PW/CWR9BXTOKt8NF4DInUHcQ==
+"@babel/helpers@^7.12.5", "@babel/helpers@^7.14.0", "@babel/helpers@^7.9.0":
+ version "7.14.0"
+ resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.14.0.tgz#ea9b6be9478a13d6f961dbb5f36bf75e2f3b8f62"
+ integrity sha512-+ufuXprtQ1D1iZTO/K9+EBRn+qPWMJjZSw/S0KlFrxCw4tkrzv9grgpDHkY9MeQTjTY8i2sp7Jep8DfU6tN9Mg==
dependencies:
"@babel/template" "^7.12.13"
- "@babel/traverse" "^7.13.0"
- "@babel/types" "^7.13.0"
+ "@babel/traverse" "^7.14.0"
+ "@babel/types" "^7.14.0"
"@babel/highlight@^7.10.4", "@babel/highlight@^7.12.13":
- version "7.13.10"
- resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.13.10.tgz#a8b2a66148f5b27d666b15d81774347a731d52d1"
- integrity sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==
+ version "7.14.0"
+ resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.0.tgz#3197e375711ef6bf834e67d0daec88e4f46113cf"
+ integrity sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg==
dependencies:
- "@babel/helper-validator-identifier" "^7.12.11"
+ "@babel/helper-validator-identifier" "^7.14.0"
chalk "^2.0.0"
js-tokens "^4.0.0"
-"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.12.11", "@babel/parser@^7.12.13", "@babel/parser@^7.12.7", "@babel/parser@^7.13.15", "@babel/parser@^7.4.3", "@babel/parser@^7.7.0", "@babel/parser@^7.9.0":
- version "7.13.15"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.13.15.tgz#8e66775fb523599acb6a289e12929fa5ab0954d8"
- integrity sha512-b9COtcAlVEQljy/9fbcMHpG+UIW9ReF+gpaxDHTlZd0c6/UU9ng8zdySAW9sRTzpvcdCHn6bUcbuYUgGzLAWVQ==
+"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.12.11", "@babel/parser@^7.12.13", "@babel/parser@^7.12.7", "@babel/parser@^7.14.0", "@babel/parser@^7.4.3", "@babel/parser@^7.7.0", "@babel/parser@^7.9.0":
+ version "7.14.1"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.14.1.tgz#1bd644b5db3f5797c4479d89ec1817fe02b84c47"
+ integrity sha512-muUGEKu8E/ftMTPlNp+mc6zL3E9zKWmF5sDHZ5MSsoTP9Wyz64AhEf9kD08xYJ7w6Hdcu8H550ircnPyWSIF0Q==
"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.13.12":
version "7.13.12"
@@ -385,6 +385,14 @@
"@babel/helper-create-class-features-plugin" "^7.13.0"
"@babel/helper-plugin-utils" "^7.13.0"
+"@babel/plugin-proposal-class-static-block@^7.13.11":
+ version "7.13.11"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.13.11.tgz#6fcbba4a962702c17e5371a0c7b39afde186d703"
+ integrity sha512-fJTdFI4bfnMjvxJyNuaf8i9mVcZ0UhetaGEUHaHV9KEnibLugJkZAtXikR8KcYj+NYmI4DZMS8yQAyg+hvfSqg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/plugin-syntax-class-static-block" "^7.12.13"
+
"@babel/plugin-proposal-decorators@7.8.3":
version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.8.3.tgz#2156860ab65c5abf068c3f67042184041066543e"
@@ -528,6 +536,16 @@
"@babel/helper-create-class-features-plugin" "^7.13.0"
"@babel/helper-plugin-utils" "^7.13.0"
+"@babel/plugin-proposal-private-property-in-object@^7.14.0":
+ version "7.14.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.14.0.tgz#b1a1f2030586b9d3489cc26179d2eb5883277636"
+ integrity sha512-59ANdmEwwRUkLjB7CRtwJxxwtjESw+X2IePItA+RGQh+oy5RmpCh/EvVVvh5XQc3yxsm5gtv0+i9oBZhaDNVTg==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.12.13"
+ "@babel/helper-create-class-features-plugin" "^7.14.0"
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/plugin-syntax-private-property-in-object" "^7.14.0"
+
"@babel/plugin-proposal-unicode-property-regex@^7.12.13", "@babel/plugin-proposal-unicode-property-regex@^7.4.4", "@babel/plugin-proposal-unicode-property-regex@^7.8.3":
version "7.12.13"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.13.tgz#bebde51339be829c17aaaaced18641deb62b39ba"
@@ -550,6 +568,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.12.13"
+"@babel/plugin-syntax-class-static-block@^7.12.13":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.12.13.tgz#8e3d674b0613e67975ceac2776c97b60cafc5c9c"
+ integrity sha512-ZmKQ0ZXR0nYpHZIIuj9zE7oIqCx2hw9TKi+lIo73NNrMPAZGHfS92/VRV0ZmPj6H2ffBgyFHXvJ5NYsNeEaP2A==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.12.13"
+
"@babel/plugin-syntax-decorators@^7.12.13", "@babel/plugin-syntax-decorators@^7.8.3":
version "7.12.13"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.12.13.tgz#fac829bf3c7ef4a1bc916257b403e58c6bdaf648"
@@ -648,6 +673,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.8.0"
+"@babel/plugin-syntax-private-property-in-object@^7.14.0":
+ version "7.14.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.0.tgz#762a4babec61176fec6c88480dec40372b140c0b"
+ integrity sha512-bda3xF8wGl5/5btF794utNOL0Jw+9jE5C1sLZcoK7c4uonE/y3iQiyG+KbkF3WBV/paX58VCpjhxLPkdj5Fe4w==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.13.0"
+
"@babel/plugin-syntax-top-level-await@^7.12.13", "@babel/plugin-syntax-top-level-await@^7.8.3":
version "7.12.13"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz#c5f0fa6e249f5b739727f923540cf7a806130178"
@@ -685,12 +717,12 @@
dependencies:
"@babel/helper-plugin-utils" "^7.12.13"
-"@babel/plugin-transform-block-scoping@^7.12.12", "@babel/plugin-transform-block-scoping@^7.12.13", "@babel/plugin-transform-block-scoping@^7.8.3":
- version "7.12.13"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.13.tgz#f36e55076d06f41dfd78557ea039c1b581642e61"
- integrity sha512-Pxwe0iqWJX4fOOM2kEZeUuAxHMWb9nK+9oh5d11bsLoB0xMg+mkDpt0eYuDZB7ETrY9bbcVlKUGTOGWy7BHsMQ==
+"@babel/plugin-transform-block-scoping@^7.12.12", "@babel/plugin-transform-block-scoping@^7.14.1", "@babel/plugin-transform-block-scoping@^7.8.3":
+ version "7.14.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.14.1.tgz#ac1b3a8e3d8cbb31efc6b9be2f74eb9823b74ab2"
+ integrity sha512-2mQXd0zBrwfp0O1moWIhPpEeTKDvxyHcnma3JATVP1l+CctWBuot6OJG8LQ4DnBj4ZZPSmlb/fm4mu47EOAnVA==
dependencies:
- "@babel/helper-plugin-utils" "^7.12.13"
+ "@babel/helper-plugin-utils" "^7.13.0"
"@babel/plugin-transform-classes@^7.12.1", "@babel/plugin-transform-classes@^7.13.0", "@babel/plugin-transform-classes@^7.9.0":
version "7.13.0"
@@ -712,10 +744,10 @@
dependencies:
"@babel/helper-plugin-utils" "^7.13.0"
-"@babel/plugin-transform-destructuring@^7.12.1", "@babel/plugin-transform-destructuring@^7.13.0", "@babel/plugin-transform-destructuring@^7.8.3":
- version "7.13.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.13.0.tgz#c5dce270014d4e1ebb1d806116694c12b7028963"
- integrity sha512-zym5em7tePoNT9s964c0/KU3JPPnuq7VhIxPRefJ4/s82cD+q1mgKfuGRDMCPL0HTyKz4dISuQlCusfgCJ86HA==
+"@babel/plugin-transform-destructuring@^7.12.1", "@babel/plugin-transform-destructuring@^7.13.17", "@babel/plugin-transform-destructuring@^7.8.3":
+ version "7.13.17"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.13.17.tgz#678d96576638c19d5b36b332504d3fd6e06dea27"
+ integrity sha512-UAUqiLv+uRLO+xuBKKMEpC+t7YRNVRqBsWWq1yKXbBZBje/t3IXCiSinZhjn/DC3qzBfICeYd2EFGEbHsh5RLA==
dependencies:
"@babel/helper-plugin-utils" "^7.13.0"
@@ -787,23 +819,23 @@
dependencies:
"@babel/helper-plugin-utils" "^7.12.13"
-"@babel/plugin-transform-modules-amd@^7.13.0", "@babel/plugin-transform-modules-amd@^7.9.0":
- version "7.13.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.13.0.tgz#19f511d60e3d8753cc5a6d4e775d3a5184866cc3"
- integrity sha512-EKy/E2NHhY/6Vw5d1k3rgoobftcNUmp9fGjb9XZwQLtTctsRBOTRO7RHHxfIky1ogMN5BxN7p9uMA3SzPfotMQ==
+"@babel/plugin-transform-modules-amd@^7.14.0", "@babel/plugin-transform-modules-amd@^7.9.0":
+ version "7.14.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.0.tgz#589494b5b290ff76cf7f59c798011f6d77026553"
+ integrity sha512-CF4c5LX4LQ03LebQxJ5JZes2OYjzBuk1TdiF7cG7d5dK4lAdw9NZmaxq5K/mouUdNeqwz3TNjnW6v01UqUNgpQ==
dependencies:
- "@babel/helper-module-transforms" "^7.13.0"
+ "@babel/helper-module-transforms" "^7.14.0"
"@babel/helper-plugin-utils" "^7.13.0"
babel-plugin-dynamic-import-node "^2.3.3"
-"@babel/plugin-transform-modules-commonjs@^7.13.8", "@babel/plugin-transform-modules-commonjs@^7.9.0":
- version "7.13.8"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.13.8.tgz#7b01ad7c2dcf2275b06fa1781e00d13d420b3e1b"
- integrity sha512-9QiOx4MEGglfYZ4XOnU79OHr6vIWUakIj9b4mioN8eQIoEh+pf5p/zEB36JpDFWA12nNMiRf7bfoRvl9Rn79Bw==
+"@babel/plugin-transform-modules-commonjs@^7.14.0", "@babel/plugin-transform-modules-commonjs@^7.9.0":
+ version "7.14.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.14.0.tgz#52bc199cb581e0992edba0f0f80356467587f161"
+ integrity sha512-EX4QePlsTaRZQmw9BsoPeyh5OCtRGIhwfLquhxGp5e32w+dyL8htOcDwamlitmNFK6xBZYlygjdye9dbd9rUlQ==
dependencies:
- "@babel/helper-module-transforms" "^7.13.0"
+ "@babel/helper-module-transforms" "^7.14.0"
"@babel/helper-plugin-utils" "^7.13.0"
- "@babel/helper-simple-access" "^7.12.13"
+ "@babel/helper-simple-access" "^7.13.12"
babel-plugin-dynamic-import-node "^2.3.3"
"@babel/plugin-transform-modules-systemjs@^7.13.8", "@babel/plugin-transform-modules-systemjs@^7.9.0":
@@ -817,12 +849,12 @@
"@babel/helper-validator-identifier" "^7.12.11"
babel-plugin-dynamic-import-node "^2.3.3"
-"@babel/plugin-transform-modules-umd@^7.13.0", "@babel/plugin-transform-modules-umd@^7.9.0":
- version "7.13.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.13.0.tgz#8a3d96a97d199705b9fd021580082af81c06e70b"
- integrity sha512-D/ILzAh6uyvkWjKKyFE/W0FzWwasv6vPTSqPcjxFqn6QpX3u8DjRVliq4F2BamO2Wee/om06Vyy+vPkNrd4wxw==
+"@babel/plugin-transform-modules-umd@^7.14.0", "@babel/plugin-transform-modules-umd@^7.9.0":
+ version "7.14.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.0.tgz#2f8179d1bbc9263665ce4a65f305526b2ea8ac34"
+ integrity sha512-nPZdnWtXXeY7I87UZr9VlsWme3Y0cfFFE41Wbxz4bbaexAjNMInXPFUpRRUJ8NoMm0Cw+zxbqjdPmLhcjfazMw==
dependencies:
- "@babel/helper-module-transforms" "^7.13.0"
+ "@babel/helper-module-transforms" "^7.14.0"
"@babel/helper-plugin-utils" "^7.13.0"
"@babel/plugin-transform-named-capturing-groups-regex@^7.12.13", "@babel/plugin-transform-named-capturing-groups-regex@^7.8.3":
@@ -1085,17 +1117,18 @@
semver "^5.5.0"
"@babel/preset-env@^7.11.0", "@babel/preset-env@^7.12.1", "@babel/preset-env@^7.12.11", "@babel/preset-env@^7.12.7", "@babel/preset-env@^7.13.9":
- version "7.13.15"
- resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.13.15.tgz#c8a6eb584f96ecba183d3d414a83553a599f478f"
- integrity sha512-D4JAPMXcxk69PKe81jRJ21/fP/uYdcTZ3hJDF5QX2HSI9bBxxYw/dumdR6dGumhjxlprHPE4XWoPaqzZUVy2MA==
+ version "7.14.1"
+ resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.14.1.tgz#b55914e2e68885ea03f69600b2d3537e54574a93"
+ integrity sha512-0M4yL1l7V4l+j/UHvxcdvNfLB9pPtIooHTbEhgD/6UGyh8Hy3Bm1Mj0buzjDXATCSz3JFibVdnoJZCrlUCanrQ==
dependencies:
- "@babel/compat-data" "^7.13.15"
- "@babel/helper-compilation-targets" "^7.13.13"
+ "@babel/compat-data" "^7.14.0"
+ "@babel/helper-compilation-targets" "^7.13.16"
"@babel/helper-plugin-utils" "^7.13.0"
"@babel/helper-validator-option" "^7.12.17"
"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.13.12"
"@babel/plugin-proposal-async-generator-functions" "^7.13.15"
"@babel/plugin-proposal-class-properties" "^7.13.0"
+ "@babel/plugin-proposal-class-static-block" "^7.13.11"
"@babel/plugin-proposal-dynamic-import" "^7.13.8"
"@babel/plugin-proposal-export-namespace-from" "^7.12.13"
"@babel/plugin-proposal-json-strings" "^7.13.8"
@@ -1106,9 +1139,11 @@
"@babel/plugin-proposal-optional-catch-binding" "^7.13.8"
"@babel/plugin-proposal-optional-chaining" "^7.13.12"
"@babel/plugin-proposal-private-methods" "^7.13.0"
+ "@babel/plugin-proposal-private-property-in-object" "^7.14.0"
"@babel/plugin-proposal-unicode-property-regex" "^7.12.13"
"@babel/plugin-syntax-async-generators" "^7.8.4"
"@babel/plugin-syntax-class-properties" "^7.12.13"
+ "@babel/plugin-syntax-class-static-block" "^7.12.13"
"@babel/plugin-syntax-dynamic-import" "^7.8.3"
"@babel/plugin-syntax-export-namespace-from" "^7.8.3"
"@babel/plugin-syntax-json-strings" "^7.8.3"
@@ -1118,14 +1153,15 @@
"@babel/plugin-syntax-object-rest-spread" "^7.8.3"
"@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
"@babel/plugin-syntax-optional-chaining" "^7.8.3"
+ "@babel/plugin-syntax-private-property-in-object" "^7.14.0"
"@babel/plugin-syntax-top-level-await" "^7.12.13"
"@babel/plugin-transform-arrow-functions" "^7.13.0"
"@babel/plugin-transform-async-to-generator" "^7.13.0"
"@babel/plugin-transform-block-scoped-functions" "^7.12.13"
- "@babel/plugin-transform-block-scoping" "^7.12.13"
+ "@babel/plugin-transform-block-scoping" "^7.14.1"
"@babel/plugin-transform-classes" "^7.13.0"
"@babel/plugin-transform-computed-properties" "^7.13.0"
- "@babel/plugin-transform-destructuring" "^7.13.0"
+ "@babel/plugin-transform-destructuring" "^7.13.17"
"@babel/plugin-transform-dotall-regex" "^7.12.13"
"@babel/plugin-transform-duplicate-keys" "^7.12.13"
"@babel/plugin-transform-exponentiation-operator" "^7.12.13"
@@ -1133,10 +1169,10 @@
"@babel/plugin-transform-function-name" "^7.12.13"
"@babel/plugin-transform-literals" "^7.12.13"
"@babel/plugin-transform-member-expression-literals" "^7.12.13"
- "@babel/plugin-transform-modules-amd" "^7.13.0"
- "@babel/plugin-transform-modules-commonjs" "^7.13.8"
+ "@babel/plugin-transform-modules-amd" "^7.14.0"
+ "@babel/plugin-transform-modules-commonjs" "^7.14.0"
"@babel/plugin-transform-modules-systemjs" "^7.13.8"
- "@babel/plugin-transform-modules-umd" "^7.13.0"
+ "@babel/plugin-transform-modules-umd" "^7.14.0"
"@babel/plugin-transform-named-capturing-groups-regex" "^7.12.13"
"@babel/plugin-transform-new-target" "^7.12.13"
"@babel/plugin-transform-object-super" "^7.12.13"
@@ -1152,7 +1188,7 @@
"@babel/plugin-transform-unicode-escapes" "^7.12.13"
"@babel/plugin-transform-unicode-regex" "^7.12.13"
"@babel/preset-modules" "^0.1.4"
- "@babel/types" "^7.13.14"
+ "@babel/types" "^7.14.1"
babel-plugin-polyfill-corejs2 "^0.2.0"
babel-plugin-polyfill-corejs3 "^0.2.0"
babel-plugin-polyfill-regenerator "^0.2.0"
@@ -1221,20 +1257,20 @@
"@babel/plugin-transform-typescript" "^7.13.0"
"@babel/register@^7.12.1":
- version "7.13.14"
- resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.13.14.tgz#bbfa8f4f027c2ebc432e8e69e078b632605f2d9b"
- integrity sha512-iyw0hUwjh/fzN8qklVqZodbyWjEBOG0KdDnBOpv3zzIgK3NmuRXBmIXH39ZBdspkn8LTHvSboN+oYb4MT43+9Q==
+ version "7.13.16"
+ resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.13.16.tgz#ae3ab0b55c8ec28763877383c454f01521d9a53d"
+ integrity sha512-dh2t11ysujTwByQjXNgJ48QZ2zcXKQVdV8s0TbeMI0flmtGWCdTwK9tJiACHXPLmncm5+ktNn/diojA45JE4jg==
dependencies:
+ clone-deep "^4.0.1"
find-cache-dir "^2.0.0"
- lodash "^4.17.19"
make-dir "^2.1.0"
pirates "^4.0.0"
source-map-support "^0.5.16"
"@babel/runtime-corejs3@^7.10.2":
- version "7.13.10"
- resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.13.10.tgz#14c3f4c85de22ba88e8e86685d13e8861a82fe86"
- integrity sha512-x/XYVQ1h684pp1mJwOV4CyvqZXqbc8CMsMGUnAbuc82ZCdv1U63w5RSUzgDSXQHG5Rps/kiksH6g2D5BuaKyXg==
+ version "7.14.0"
+ resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.14.0.tgz#6bf5fbc0b961f8e3202888cb2cd0fb7a0a9a3f66"
+ integrity sha512-0R0HTZWHLk6G8jIk0FtoX+AatCtKnswS98VhXwGImFc759PJRp4Tru0PQYZofyijTFUr+gT8Mu7sgXVJLQ0ceg==
dependencies:
core-js-pure "^3.0.0"
regenerator-runtime "^0.13.4"
@@ -1246,10 +1282,10 @@
dependencies:
regenerator-runtime "^0.13.4"
-"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.18", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.13.6", "@babel/runtime@^7.13.9", "@babel/runtime@^7.3.1", "@babel/runtime@^7.4.2", "@babel/runtime@^7.5.0", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2":
- version "7.13.10"
- resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.13.10.tgz#47d42a57b6095f4468da440388fdbad8bebf0d7d"
- integrity sha512-4QPkjJq6Ns3V/RgpEahRk+AGfL0eO6RHHtTWoNNr5mO49G6B5+X6d6THgWEAvTrznU5xYpbAlVKRYcsCgh/Akw==
+"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.18", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.13.17", "@babel/runtime@^7.13.6", "@babel/runtime@^7.13.9", "@babel/runtime@^7.3.1", "@babel/runtime@^7.4.2", "@babel/runtime@^7.5.0", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2":
+ version "7.14.0"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.14.0.tgz#46794bc20b612c5f75e62dd071e24dfd95f1cbe6"
+ integrity sha512-JELkvo/DlpNdJ7dlyw/eY7E0suy5i5GQH+Vlxaq1nsNJ+H7f4Vtv3jMeCEgRhZZQFXTjldYfQgv2qmM6M1v5wA==
dependencies:
regenerator-runtime "^0.13.4"
@@ -1262,27 +1298,26 @@
"@babel/parser" "^7.12.13"
"@babel/types" "^7.12.13"
-"@babel/traverse@^7.1.0", "@babel/traverse@^7.12.9", "@babel/traverse@^7.13.0", "@babel/traverse@^7.13.13", "@babel/traverse@^7.13.15", "@babel/traverse@^7.4.3", "@babel/traverse@^7.4.5", "@babel/traverse@^7.7.0", "@babel/traverse@^7.9.0":
- version "7.13.15"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.13.15.tgz#c38bf7679334ddd4028e8e1f7b3aa5019f0dada7"
- integrity sha512-/mpZMNvj6bce59Qzl09fHEs8Bt8NnpEDQYleHUPZQ3wXUMvXi+HJPLars68oAbmp839fGoOkv2pSL2z9ajCIaQ==
+"@babel/traverse@^7.1.0", "@babel/traverse@^7.12.9", "@babel/traverse@^7.13.0", "@babel/traverse@^7.13.15", "@babel/traverse@^7.14.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.4.5", "@babel/traverse@^7.7.0", "@babel/traverse@^7.9.0":
+ version "7.14.0"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.14.0.tgz#cea0dc8ae7e2b1dec65f512f39f3483e8cc95aef"
+ integrity sha512-dZ/a371EE5XNhTHomvtuLTUyx6UEoJmYX+DT5zBCQN3McHemsuIaKKYqsc/fs26BEkHs/lBZy0J571LP5z9kQA==
dependencies:
"@babel/code-frame" "^7.12.13"
- "@babel/generator" "^7.13.9"
+ "@babel/generator" "^7.14.0"
"@babel/helper-function-name" "^7.12.13"
"@babel/helper-split-export-declaration" "^7.12.13"
- "@babel/parser" "^7.13.15"
- "@babel/types" "^7.13.14"
+ "@babel/parser" "^7.14.0"
+ "@babel/types" "^7.14.0"
debug "^4.1.0"
globals "^11.1.0"
-"@babel/types@^7.0.0", "@babel/types@^7.12.1", "@babel/types@^7.12.13", "@babel/types@^7.12.6", "@babel/types@^7.12.7", "@babel/types@^7.13.0", "@babel/types@^7.13.12", "@babel/types@^7.13.14", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.7.0", "@babel/types@^7.9.0":
- version "7.13.14"
- resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.13.14.tgz#c35a4abb15c7cd45a2746d78ab328e362cbace0d"
- integrity sha512-A2aa3QTkWoyqsZZFl56MLUsfmh7O0gN41IPvXAE/++8ojpbz12SszD7JEGYVdn4f9Kt4amIei07swF1h4AqmmQ==
+"@babel/types@^7.0.0", "@babel/types@^7.12.1", "@babel/types@^7.12.13", "@babel/types@^7.12.6", "@babel/types@^7.12.7", "@babel/types@^7.13.0", "@babel/types@^7.13.12", "@babel/types@^7.13.16", "@babel/types@^7.14.0", "@babel/types@^7.14.1", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.7.0", "@babel/types@^7.9.0":
+ version "7.14.1"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.14.1.tgz#095bd12f1c08ab63eff6e8f7745fa7c9cc15a9db"
+ integrity sha512-S13Qe85fzLs3gYRUnrpyeIrBJIMYv33qSTg1qoBwiG6nPKwUWAD9odSzWhEedpwOIzSEI6gbdQIWEMiCI42iBA==
dependencies:
- "@babel/helper-validator-identifier" "^7.12.11"
- lodash "^4.17.19"
+ "@babel/helper-validator-identifier" "^7.14.0"
to-fast-properties "^2.0.0"
"@base2/pretty-print-object@1.0.0":
@@ -2553,10 +2588,10 @@
is-plain-object "^5.0.0"
universal-user-agent "^6.0.0"
-"@octokit/openapi-types@^6.0.0":
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-6.0.0.tgz#7da8d7d5a72d3282c1a3ff9f951c8133a707480d"
- integrity sha512-CnDdK7ivHkBtJYzWzZm7gEkanA7gKH6a09Eguz7flHw//GacPJLmkHA3f3N++MJmlxD1Fl+mB7B32EEpSCwztQ==
+"@octokit/openapi-types@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-7.0.0.tgz#0f6992db9854af15eca77d71ab0ec7fad2f20411"
+ integrity sha512-gV/8DJhAL/04zjTI95a7FhQwS6jlEE0W/7xeYAzuArD0KVAVWDLP2f3vi98hs3HLTczxXdRK/mF0tRoQPpolEw==
"@octokit/plugin-enterprise-rest@^6.0.1":
version "6.0.1"
@@ -2643,11 +2678,11 @@
"@types/node" ">= 8"
"@octokit/types@^6.0.3", "@octokit/types@^6.7.1":
- version "6.13.0"
- resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.13.0.tgz#779e5b7566c8dde68f2f6273861dd2f0409480d0"
- integrity sha512-W2J9qlVIU11jMwKHUp5/rbVUeErqelCsO5vW5PKNb7wAXQVUz87Rc+imjlEvpvbH8yUb+KHmv8NEjVZdsdpyxA==
+ version "6.14.2"
+ resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.14.2.tgz#64c9457f38fb8522bdbba3c8cc814590a2d61bf5"
+ integrity sha512-wiQtW9ZSy4OvgQ09iQOdyXYNN60GqjCL/UdMsepDr1Gr0QzpW6irIKbH3REuAHXAhxkEk9/F2a3Gcs1P6kW5jA==
dependencies:
- "@octokit/openapi-types" "^6.0.0"
+ "@octokit/openapi-types" "^7.0.0"
"@pmmmwh/react-refresh-webpack-plugin@^0.4.3":
version "0.4.3"
@@ -2718,17 +2753,17 @@
resolved "https://registry.yarnpkg.com/@sheerun/mutationobserver-shim/-/mutationobserver-shim-0.3.3.tgz#5405ee8e444ed212db44e79351f0c70a582aae25"
integrity sha512-DetpxZw1fzPD5xUBrIAoplLChO2VB8DlL5Gg+I1IR9b2wPqYIca2WSUxL5g1vLeR4MsQq1NeWriXAVffV+U1Fw==
-"@storybook/addon-actions@6.2.8", "@storybook/addon-actions@^6.1.20":
- version "6.2.8"
- resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-6.2.8.tgz#e11d01a35e4685e692015a5051c583a0931ecd4a"
- integrity sha512-bQE9rmVGThniXWxz57Py5bqC4my7DLCK3gT4U4cXv31zH+NMlJqSNHHfHf/Ob43fTdoCyLcB3vlWsPLra7WOCg==
+"@storybook/addon-actions@6.2.9", "@storybook/addon-actions@^6.1.20":
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-6.2.9.tgz#688413ac77410690755a5da3c277bfa0ff1a10b0"
+ integrity sha512-CkUYSMt+fvuHfWvtDzlhhaeQBCWlUo99xdL88JTsTml05P43bIHZNIRv2QJ8DwhHuxdIPeHKLmz9y/ymOagOnw==
dependencies:
- "@storybook/addons" "6.2.8"
- "@storybook/api" "6.2.8"
- "@storybook/client-api" "6.2.8"
- "@storybook/components" "6.2.8"
- "@storybook/core-events" "6.2.8"
- "@storybook/theming" "6.2.8"
+ "@storybook/addons" "6.2.9"
+ "@storybook/api" "6.2.9"
+ "@storybook/client-api" "6.2.9"
+ "@storybook/components" "6.2.9"
+ "@storybook/core-events" "6.2.9"
+ "@storybook/theming" "6.2.9"
core-js "^3.8.2"
fast-deep-equal "^3.1.3"
global "^4.4.0"
@@ -2741,17 +2776,17 @@
util-deprecate "^1.0.2"
uuid-browser "^3.1.0"
-"@storybook/addon-backgrounds@6.2.8":
- version "6.2.8"
- resolved "https://registry.yarnpkg.com/@storybook/addon-backgrounds/-/addon-backgrounds-6.2.8.tgz#9fb199c283c346335503e8a6cd18b0839aea9b8e"
- integrity sha512-nsKpoDIYsiYLWe+NCIMWkdUhQIUw0wcfAtSS/+Lm9WXlJ4ateB0guxdZn+676nt1FbO9wR22QQYwLHvUED4v5A==
+"@storybook/addon-backgrounds@6.2.9":
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/addon-backgrounds/-/addon-backgrounds-6.2.9.tgz#4f75aa58b262f461d9f8713d65d11407f4e53537"
+ integrity sha512-oPSdeoUuvaXshY5sQRagbYXpr6ZEVUuLhGYBnZTlvm19QMeNCXQE+rdlgzcgyafq4mc1FI/udE2MpJ1dhfS6pQ==
dependencies:
- "@storybook/addons" "6.2.8"
- "@storybook/api" "6.2.8"
- "@storybook/client-logger" "6.2.8"
- "@storybook/components" "6.2.8"
- "@storybook/core-events" "6.2.8"
- "@storybook/theming" "6.2.8"
+ "@storybook/addons" "6.2.9"
+ "@storybook/api" "6.2.9"
+ "@storybook/client-logger" "6.2.9"
+ "@storybook/components" "6.2.9"
+ "@storybook/core-events" "6.2.9"
+ "@storybook/theming" "6.2.9"
core-js "^3.8.2"
global "^4.4.0"
memoizerific "^1.11.3"
@@ -2772,24 +2807,24 @@
global "^4.3.2"
qs "^6.6.0"
-"@storybook/addon-controls@6.2.8", "@storybook/addon-controls@^6.1.20":
- version "6.2.8"
- resolved "https://registry.yarnpkg.com/@storybook/addon-controls/-/addon-controls-6.2.8.tgz#15c79b6c1daae218dcabf240bc0013e2c68bf208"
- integrity sha512-VpMo5qPlRVWr1GALWOCRDuompYZm+7z0FRc3x71AkT3sCIZdiPjHHMt7IkG14ranEumusNtBZ2ez8NgKX0mDdQ==
+"@storybook/addon-controls@6.2.9", "@storybook/addon-controls@^6.1.20":
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/addon-controls/-/addon-controls-6.2.9.tgz#eeec14b2946f1fb5326115f2205ed72c7f44ccea"
+ integrity sha512-NvXAJ7I5U4CLxv4wL3/Ne9rehJlgnSmQlLIG/z6dg5zm7JIb48LT4IY6GzjlUP5LkjmO9KJ8gJC249uRt2iPBQ==
dependencies:
- "@storybook/addons" "6.2.8"
- "@storybook/api" "6.2.8"
- "@storybook/client-api" "6.2.8"
- "@storybook/components" "6.2.8"
- "@storybook/node-logger" "6.2.8"
- "@storybook/theming" "6.2.8"
+ "@storybook/addons" "6.2.9"
+ "@storybook/api" "6.2.9"
+ "@storybook/client-api" "6.2.9"
+ "@storybook/components" "6.2.9"
+ "@storybook/node-logger" "6.2.9"
+ "@storybook/theming" "6.2.9"
core-js "^3.8.2"
ts-dedent "^2.0.0"
-"@storybook/addon-docs@6.2.8", "@storybook/addon-docs@^6.1.20":
- version "6.2.8"
- resolved "https://registry.yarnpkg.com/@storybook/addon-docs/-/addon-docs-6.2.8.tgz#b5d039ad04805eceb99dbbb60a45c6d49096f0c3"
- integrity sha512-IWnb10ImrzRMT2qw9785p3wYEI6U9gjsg6H2zKcRJQP5dEboqeX3OFjUKfXkaIWii4nz8MtJjBg5t4BdEYqLdw==
+"@storybook/addon-docs@6.2.9", "@storybook/addon-docs@^6.1.20":
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/addon-docs/-/addon-docs-6.2.9.tgz#61271e54ff4ea490409e4873ed022e62577366c1"
+ integrity sha512-qOtwgiqI3LMqT0eXYNV6ykp7qSu0LQGeXxy3wOBGuDDqAizfgnAjomYEWGFcyKp5ahV7HCRCjxbixAklFPUmyw==
dependencies:
"@babel/core" "^7.12.10"
"@babel/generator" "^7.12.11"
@@ -2800,19 +2835,19 @@
"@mdx-js/loader" "^1.6.22"
"@mdx-js/mdx" "^1.6.22"
"@mdx-js/react" "^1.6.22"
- "@storybook/addons" "6.2.8"
- "@storybook/api" "6.2.8"
- "@storybook/builder-webpack4" "6.2.8"
- "@storybook/client-api" "6.2.8"
- "@storybook/client-logger" "6.2.8"
- "@storybook/components" "6.2.8"
- "@storybook/core" "6.2.8"
- "@storybook/core-events" "6.2.8"
+ "@storybook/addons" "6.2.9"
+ "@storybook/api" "6.2.9"
+ "@storybook/builder-webpack4" "6.2.9"
+ "@storybook/client-api" "6.2.9"
+ "@storybook/client-logger" "6.2.9"
+ "@storybook/components" "6.2.9"
+ "@storybook/core" "6.2.9"
+ "@storybook/core-events" "6.2.9"
"@storybook/csf" "0.0.1"
- "@storybook/node-logger" "6.2.8"
- "@storybook/postinstall" "6.2.8"
- "@storybook/source-loader" "6.2.8"
- "@storybook/theming" "6.2.8"
+ "@storybook/node-logger" "6.2.9"
+ "@storybook/postinstall" "6.2.9"
+ "@storybook/source-loader" "6.2.9"
+ "@storybook/theming" "6.2.9"
acorn "^7.4.1"
acorn-jsx "^5.3.1"
acorn-walk "^7.2.0"
@@ -2835,33 +2870,33 @@
util-deprecate "^1.0.2"
"@storybook/addon-essentials@^6.1.20":
- version "6.2.8"
- resolved "https://registry.yarnpkg.com/@storybook/addon-essentials/-/addon-essentials-6.2.8.tgz#0a2551d73362f8e7d9758049b7ff3ddbf1f79e10"
- integrity sha512-co2+/AYCWqQiokKJbVfJyQvcj0juMGXjLv57kZfJM0L0gP9i4rGtyTjy5VlmB8BmSs650ZuaKgShioC//gUr+g==
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/addon-essentials/-/addon-essentials-6.2.9.tgz#cd946b024804c4d9bfec4e232b74ffdf936b25ef"
+ integrity sha512-zXsV4e1TCkHyDwi7hew4h9eJfDW++f2BNKzTif+DAcjPUVFDp7yC17gLjS5IhOjcQk+db0UUlFSx/OrTxhy7Xw==
dependencies:
- "@storybook/addon-actions" "6.2.8"
- "@storybook/addon-backgrounds" "6.2.8"
- "@storybook/addon-controls" "6.2.8"
- "@storybook/addon-docs" "6.2.8"
- "@storybook/addon-toolbars" "6.2.8"
- "@storybook/addon-viewport" "6.2.8"
- "@storybook/addons" "6.2.8"
- "@storybook/api" "6.2.8"
- "@storybook/node-logger" "6.2.8"
+ "@storybook/addon-actions" "6.2.9"
+ "@storybook/addon-backgrounds" "6.2.9"
+ "@storybook/addon-controls" "6.2.9"
+ "@storybook/addon-docs" "6.2.9"
+ "@storybook/addon-toolbars" "6.2.9"
+ "@storybook/addon-viewport" "6.2.9"
+ "@storybook/addons" "6.2.9"
+ "@storybook/api" "6.2.9"
+ "@storybook/node-logger" "6.2.9"
core-js "^3.8.2"
regenerator-runtime "^0.13.7"
ts-dedent "^2.0.0"
"@storybook/addon-links@^6.1.20":
- version "6.2.8"
- resolved "https://registry.yarnpkg.com/@storybook/addon-links/-/addon-links-6.2.8.tgz#5b9a31d84d6ba93d4d05c6e4779ec99151612252"
- integrity sha512-r64VQDvWaUaBunY2mBPHYh2oEVYNycB/EH4WvXK1it3hXs1XGCIWLap4lKvIcT894XhykS8Jxx/s8SUGIvRzBA==
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/addon-links/-/addon-links-6.2.9.tgz#3399d14b0fc587bccdaa602f6294bc8b249c09f0"
+ integrity sha512-pBiL6EUZI3c9qtCqnGx3RXF46kAxGMdo4xDC2y3mM132W//DzxkzLZRe4ZhxxGwaLzTNlNrypZ6Li6WyIaPZ/w==
dependencies:
- "@storybook/addons" "6.2.8"
- "@storybook/client-logger" "6.2.8"
- "@storybook/core-events" "6.2.8"
+ "@storybook/addons" "6.2.9"
+ "@storybook/client-logger" "6.2.9"
+ "@storybook/core-events" "6.2.9"
"@storybook/csf" "0.0.1"
- "@storybook/router" "6.2.8"
+ "@storybook/router" "6.2.9"
"@types/qs" "^6.9.5"
core-js "^3.8.2"
global "^4.4.0"
@@ -2870,28 +2905,28 @@
regenerator-runtime "^0.13.7"
ts-dedent "^2.0.0"
-"@storybook/addon-toolbars@6.2.8":
- version "6.2.8"
- resolved "https://registry.yarnpkg.com/@storybook/addon-toolbars/-/addon-toolbars-6.2.8.tgz#ab6dd7e080feed25d562d468316ac8e47b745ee4"
- integrity sha512-BInsquQhEN/AD/any2tRZwreRQVueGrHg9bu1FnJzigpoUJv8VuDwOSIY1Fr1ZfMljhwVxwM5wGmHdVtG+SwDQ==
+"@storybook/addon-toolbars@6.2.9":
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/addon-toolbars/-/addon-toolbars-6.2.9.tgz#29f2f4cba0bfbcff9424958eb573e537f7e2d5af"
+ integrity sha512-4WjIofN5npBPNZ8v1UhzPeATB9RnAWRH/y1AVS1HB+zl6Ku92o7aOMqVxs8zR1oSSmtkHh/rcUcpATFKjuofdw==
dependencies:
- "@storybook/addons" "6.2.8"
- "@storybook/api" "6.2.8"
- "@storybook/client-api" "6.2.8"
- "@storybook/components" "6.2.8"
+ "@storybook/addons" "6.2.9"
+ "@storybook/api" "6.2.9"
+ "@storybook/client-api" "6.2.9"
+ "@storybook/components" "6.2.9"
core-js "^3.8.2"
-"@storybook/addon-viewport@6.2.8", "@storybook/addon-viewport@^6.1.21":
- version "6.2.8"
- resolved "https://registry.yarnpkg.com/@storybook/addon-viewport/-/addon-viewport-6.2.8.tgz#65e6d028c757d18a3bb889e23bb80985d59b685b"
- integrity sha512-SQvVQ59yGIH1BoBSZNssVeaHAUxCiORDzXzOLK7B6AjKx2hiIgP7+qQlqs2IzWvzdGzTOAZw3JP8+DiOnN1ehg==
+"@storybook/addon-viewport@6.2.9", "@storybook/addon-viewport@^6.1.21":
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/addon-viewport/-/addon-viewport-6.2.9.tgz#e380de567cea6c24c4e933efa009e80428d5b49e"
+ integrity sha512-IK2mu5njmfcAT967SJtBOY2B6NPMikySZga9QuaLdSpQxPd3vXKNMVG1CjnduMLeDaAoUlvlJISeEPbYGuE+1A==
dependencies:
- "@storybook/addons" "6.2.8"
- "@storybook/api" "6.2.8"
- "@storybook/client-logger" "6.2.8"
- "@storybook/components" "6.2.8"
- "@storybook/core-events" "6.2.8"
- "@storybook/theming" "6.2.8"
+ "@storybook/addons" "6.2.9"
+ "@storybook/api" "6.2.9"
+ "@storybook/client-logger" "6.2.9"
+ "@storybook/components" "6.2.9"
+ "@storybook/core-events" "6.2.9"
+ "@storybook/theming" "6.2.9"
core-js "^3.8.2"
global "^4.4.0"
memoizerific "^1.11.3"
@@ -2911,17 +2946,17 @@
global "^4.3.2"
util-deprecate "^1.0.2"
-"@storybook/addons@6.2.8":
- version "6.2.8"
- resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-6.2.8.tgz#31d9bbd2e8b212490065a25e587621dab83ae392"
- integrity sha512-zbavtYi66HAtgAROw5h4mR3mD9239ocCaYiasRanM+qyprguIvADPMGzgOA7COVfNI9MiIkxSA+E9oZ1y5PKfQ==
+"@storybook/addons@6.2.9":
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-6.2.9.tgz#b7ba2b9f0e15b852c7d6b57d04fb0a493c57477c"
+ integrity sha512-GnmEKbJwiN1jncN9NSA8CuR1i2XAlasPcl/Zn0jkfV9WitQeczVcJCPw86SGH84AD+tTBCyF2i9UC0KaOV1YBQ==
dependencies:
- "@storybook/api" "6.2.8"
- "@storybook/channels" "6.2.8"
- "@storybook/client-logger" "6.2.8"
- "@storybook/core-events" "6.2.8"
- "@storybook/router" "6.2.8"
- "@storybook/theming" "6.2.8"
+ "@storybook/api" "6.2.9"
+ "@storybook/channels" "6.2.9"
+ "@storybook/client-logger" "6.2.9"
+ "@storybook/core-events" "6.2.9"
+ "@storybook/router" "6.2.9"
+ "@storybook/theming" "6.2.9"
core-js "^3.8.2"
global "^4.4.0"
regenerator-runtime "^0.13.7"
@@ -2952,19 +2987,19 @@
telejson "^3.2.0"
util-deprecate "^1.0.2"
-"@storybook/api@6.2.8":
- version "6.2.8"
- resolved "https://registry.yarnpkg.com/@storybook/api/-/api-6.2.8.tgz#9165b25f8b71e08c4af5a30805407b025fbb5b1f"
- integrity sha512-jaYT/IzFBUQTx/PqOIBty4HzZnRuk36vsGnBs/CWr8p3JCcnmLRaULsO0Q61rwFj2e4nMFMHEsZXEqRUXk4riw==
+"@storybook/api@6.2.9":
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/api/-/api-6.2.9.tgz#a9b46569192ad5d8da6435c9d63dc4b0c8463b51"
+ integrity sha512-okkA3HAScE9tGnYBrjTOcgzT+L1lRHNoEh3ZfGgh1u/XNEyHGNkj4grvkd6nX7BzRcYQ/l2VkcKCqmOjUnSkVQ==
dependencies:
"@reach/router" "^1.3.4"
- "@storybook/channels" "6.2.8"
- "@storybook/client-logger" "6.2.8"
- "@storybook/core-events" "6.2.8"
+ "@storybook/channels" "6.2.9"
+ "@storybook/client-logger" "6.2.9"
+ "@storybook/core-events" "6.2.9"
"@storybook/csf" "0.0.1"
- "@storybook/router" "6.2.8"
+ "@storybook/router" "6.2.9"
"@storybook/semver" "^7.3.2"
- "@storybook/theming" "6.2.8"
+ "@storybook/theming" "6.2.9"
"@types/reach__router" "^1.3.7"
core-js "^3.8.2"
fast-deep-equal "^3.1.3"
@@ -2978,10 +3013,10 @@
ts-dedent "^2.0.0"
util-deprecate "^1.0.2"
-"@storybook/builder-webpack4@6.2.8":
- version "6.2.8"
- resolved "https://registry.yarnpkg.com/@storybook/builder-webpack4/-/builder-webpack4-6.2.8.tgz#af7b7d72617c38b917b2dfc910d268e022090fcd"
- integrity sha512-7fQ9WQVbL/1SHiu853bTwwN8+CprbXycGd6VjN1PeSRXu8LkVOQWsNhWV3lwykOpDpieYSuZU3aS2ThRtWonGA==
+"@storybook/builder-webpack4@6.2.9":
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/builder-webpack4/-/builder-webpack4-6.2.9.tgz#dddff0b1b4590a7ba088ce13e7cc42e482f6455d"
+ integrity sha512-swECic1huVdj+B+iRJIQ8ds59HuPVE4fmhI+j/nhw0CQCsgAEKqDlOQVYEimW6nZX8GO4WxNm6tiiRzxixejbw==
dependencies:
"@babel/core" "^7.12.10"
"@babel/plugin-proposal-class-properties" "^7.12.1"
@@ -3004,20 +3039,20 @@
"@babel/preset-env" "^7.12.11"
"@babel/preset-react" "^7.12.10"
"@babel/preset-typescript" "^7.12.7"
- "@storybook/addons" "6.2.8"
- "@storybook/api" "6.2.8"
- "@storybook/channel-postmessage" "6.2.8"
- "@storybook/channels" "6.2.8"
- "@storybook/client-api" "6.2.8"
- "@storybook/client-logger" "6.2.8"
- "@storybook/components" "6.2.8"
- "@storybook/core-common" "6.2.8"
- "@storybook/core-events" "6.2.8"
- "@storybook/node-logger" "6.2.8"
- "@storybook/router" "6.2.8"
+ "@storybook/addons" "6.2.9"
+ "@storybook/api" "6.2.9"
+ "@storybook/channel-postmessage" "6.2.9"
+ "@storybook/channels" "6.2.9"
+ "@storybook/client-api" "6.2.9"
+ "@storybook/client-logger" "6.2.9"
+ "@storybook/components" "6.2.9"
+ "@storybook/core-common" "6.2.9"
+ "@storybook/core-events" "6.2.9"
+ "@storybook/node-logger" "6.2.9"
+ "@storybook/router" "6.2.9"
"@storybook/semver" "^7.3.2"
- "@storybook/theming" "6.2.8"
- "@storybook/ui" "6.2.8"
+ "@storybook/theming" "6.2.9"
+ "@storybook/ui" "6.2.9"
"@types/node" "^14.0.10"
"@types/webpack" "^4.41.26"
autoprefixer "^9.8.6"
@@ -3054,14 +3089,14 @@
webpack-hot-middleware "^2.25.0"
webpack-virtual-modules "^0.2.2"
-"@storybook/channel-postmessage@6.2.8":
- version "6.2.8"
- resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-6.2.8.tgz#8624d8da25cd7bb9ff42bd9a46cd4b105d63d3ec"
- integrity sha512-SWBpZopkMDstxuhC0qzhzZoJUbLpGkNFjy+f8BAXLikOWcEISk5e74dZm3Q20yV10KSRUoIGfPqhHG3QmkLwBA==
+"@storybook/channel-postmessage@6.2.9":
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-6.2.9.tgz#ad85573e0a5d6f0cde3504f168d87a73cb0b6269"
+ integrity sha512-OqV+gLeeCHR0KExsIz0B7gD17Cjd9D+I75qnBsLWM9inWO5kc/WZ5svw8Bvjlcm6snWpvxUaT8L+svuqcPSmww==
dependencies:
- "@storybook/channels" "6.2.8"
- "@storybook/client-logger" "6.2.8"
- "@storybook/core-events" "6.2.8"
+ "@storybook/channels" "6.2.9"
+ "@storybook/client-logger" "6.2.9"
+ "@storybook/core-events" "6.2.9"
core-js "^3.8.2"
global "^4.4.0"
qs "^6.10.0"
@@ -3074,25 +3109,25 @@
dependencies:
core-js "^3.0.1"
-"@storybook/channels@6.2.8":
- version "6.2.8"
- resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-6.2.8.tgz#81ec350291adfe479eea69e47f670d64ce0fe8a2"
- integrity sha512-wn4I1kljyhEYhdJV98SrzQutbeigBwtTtisCdICJrUoENpLBWjZYWg5s+Wam1Q65375ajgIzeL7IZH7/TjxeKg==
+"@storybook/channels@6.2.9":
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-6.2.9.tgz#a9fd7f25102cbec15fb56f76abf891b7b214e9de"
+ integrity sha512-6dC8Fb2ipNyOQXnUZMDeEUaJGH5DMLzyHlGLhVyDtrO5WR6bO8mQdkzf4+5dSKXgCBNX0BSkssXth4pDjn18rg==
dependencies:
core-js "^3.8.2"
ts-dedent "^2.0.0"
util-deprecate "^1.0.2"
-"@storybook/client-api@6.2.8":
- version "6.2.8"
- resolved "https://registry.yarnpkg.com/@storybook/client-api/-/client-api-6.2.8.tgz#69b02085fcc4f00798d04ac03e6af514d6c87975"
- integrity sha512-CZL+ANDUZ2uAdIQ/fe+qLLk7Cba7iT04mwiFIgL4zsG/51RQ8MXksh75RkW1VCLMRiJEuBt3P+Hqe0xs0yLoUw==
+"@storybook/client-api@6.2.9":
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/client-api/-/client-api-6.2.9.tgz#f0bb44e9b2692adfbf30d7ff751c6dd44bcfe1ce"
+ integrity sha512-aLvEUVkbvv6Qo/2mF4rFCecdqi2CGOUDdsV1a6EFIVS/9gXFdpirsOwKHo9qNjacGdWPlBYGCUcbrw+DvNaSFA==
dependencies:
- "@storybook/addons" "6.2.8"
- "@storybook/channel-postmessage" "6.2.8"
- "@storybook/channels" "6.2.8"
- "@storybook/client-logger" "6.2.8"
- "@storybook/core-events" "6.2.8"
+ "@storybook/addons" "6.2.9"
+ "@storybook/channel-postmessage" "6.2.9"
+ "@storybook/channels" "6.2.9"
+ "@storybook/client-logger" "6.2.9"
+ "@storybook/core-events" "6.2.9"
"@storybook/csf" "0.0.1"
"@types/qs" "^6.9.5"
"@types/webpack-env" "^1.16.0"
@@ -3114,10 +3149,10 @@
dependencies:
core-js "^3.0.1"
-"@storybook/client-logger@6.2.8":
- version "6.2.8"
- resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-6.2.8.tgz#2e32cc9f0b73e29fb386383ab9e927ab6d3668fc"
- integrity sha512-O1pmTmKUwR8KW1Bv4o2z3LII/g5PQqykIvUMEoDLjL4ogS7aDaxXZSlONSPpCyGYcH9pVdHiRex37R7U9N8r3A==
+"@storybook/client-logger@6.2.9":
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-6.2.9.tgz#77c1ea39684ad2a2cf6836051b381fc5b354e132"
+ integrity sha512-IfOQZuvpjh66qBInQCJOb9S0dTGpzZ/Cxlcvokp+PYt95KztaWN3mPm+HaDQCeRsrWNe0Bpm1zuickcJ6dBOXg==
dependencies:
core-js "^3.8.2"
global "^4.4.0"
@@ -3149,15 +3184,15 @@
simplebar-react "^1.0.0-alpha.6"
ts-dedent "^1.1.0"
-"@storybook/components@6.2.8":
- version "6.2.8"
- resolved "https://registry.yarnpkg.com/@storybook/components/-/components-6.2.8.tgz#303150977965f9750e7528e58fc5d1c0a1220bd2"
- integrity sha512-fd0ivsOhHDLISEScWzDIVM4X93gR5Vw0LsxaMW/2qKJZGVHG6cxti5j+LhO41aaGmB7mWcDtgloOWNwTv47YAA==
+"@storybook/components@6.2.9":
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/components/-/components-6.2.9.tgz#7189f9715b05720fe083ae8ad014849f14e98e73"
+ integrity sha512-hnV1MI2aB2g1sJ7NJphpxi7TwrMZQ/tpCJeHnkjmzyC6ez1MXqcBXGrEEdSXzRfAxjQTOEpu6H1mnns0xMP0Ag==
dependencies:
"@popperjs/core" "^2.6.0"
- "@storybook/client-logger" "6.2.8"
+ "@storybook/client-logger" "6.2.9"
"@storybook/csf" "0.0.1"
- "@storybook/theming" "6.2.8"
+ "@storybook/theming" "6.2.9"
"@types/color-convert" "^2.0.0"
"@types/overlayscrollbars" "^1.12.0"
"@types/react-syntax-highlighter" "11.0.5"
@@ -3179,18 +3214,18 @@
ts-dedent "^2.0.0"
util-deprecate "^1.0.2"
-"@storybook/core-client@6.2.8":
- version "6.2.8"
- resolved "https://registry.yarnpkg.com/@storybook/core-client/-/core-client-6.2.8.tgz#0a103d8fb6c2e56a9565b7af36f11f4ed9620fe8"
- integrity sha512-U26SMRCf2DEd1bHJR/g+jO6ujlEyBK1VudPQvsNjGdWedmtRc0FTQS13k0eQgawDBRC+hKTtTs/IRW5E0dn2KA==
+"@storybook/core-client@6.2.9":
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/core-client/-/core-client-6.2.9.tgz#3f611947e64dee0a297e512ff974087bc52c1877"
+ integrity sha512-jW841J5lCe1Ub5ZMtzYPgCy/OUddFxxVYeHLZyuNxlH5RoiQQxbDpuFlzuZMYGuIzD6eZw+ANE4w5vW/y5oBfA==
dependencies:
- "@storybook/addons" "6.2.8"
- "@storybook/channel-postmessage" "6.2.8"
- "@storybook/client-api" "6.2.8"
- "@storybook/client-logger" "6.2.8"
- "@storybook/core-events" "6.2.8"
+ "@storybook/addons" "6.2.9"
+ "@storybook/channel-postmessage" "6.2.9"
+ "@storybook/client-api" "6.2.9"
+ "@storybook/client-logger" "6.2.9"
+ "@storybook/core-events" "6.2.9"
"@storybook/csf" "0.0.1"
- "@storybook/ui" "6.2.8"
+ "@storybook/ui" "6.2.9"
ansi-to-html "^0.6.11"
core-js "^3.8.2"
global "^4.4.0"
@@ -3201,10 +3236,10 @@
unfetch "^4.2.0"
util-deprecate "^1.0.2"
-"@storybook/core-common@6.2.8":
- version "6.2.8"
- resolved "https://registry.yarnpkg.com/@storybook/core-common/-/core-common-6.2.8.tgz#2dac023450196b3cb2bce3c5fdb04d01741ade20"
- integrity sha512-fPSsThcVxmYy/LYPxYiUXVIbAnZ2YAPD6210GaYbM/z+MZePkQ02V/RRyxVNJ2AS5o649TkW13lc7nMWdvzv3A==
+"@storybook/core-common@6.2.9":
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/core-common/-/core-common-6.2.9.tgz#54f8e005733d39c4cb90eec7c17f9ca4dcbeec5f"
+ integrity sha512-ve0Qb4EMit8jGibfZBprmaU2i4LtpB4vSMIzD9nB1YeBmw2cGhHubtmayZ0TwcV3fPQhtYH9wwRWuWyzzHyQyw==
dependencies:
"@babel/core" "^7.12.10"
"@babel/plugin-proposal-class-properties" "^7.12.1"
@@ -3227,7 +3262,7 @@
"@babel/preset-react" "^7.12.10"
"@babel/preset-typescript" "^7.12.7"
"@babel/register" "^7.12.1"
- "@storybook/node-logger" "6.2.8"
+ "@storybook/node-logger" "6.2.9"
"@storybook/semver" "^7.3.2"
"@types/glob-base" "^0.3.0"
"@types/micromatch" "^4.0.1"
@@ -3262,29 +3297,29 @@
dependencies:
core-js "^3.0.1"
-"@storybook/core-events@6.2.8":
- version "6.2.8"
- resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-6.2.8.tgz#e33427f7b4b2bd141c788189d50dc92337dd4e81"
- integrity sha512-1TVzA5/FEwtgxor2q6tsBBMTmhyJubNWlP3akznume8F7kqoCl+k/ss0PQ0ywlzc9PjWQXS7HGmSVzx0r8gdHQ==
+"@storybook/core-events@6.2.9":
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-6.2.9.tgz#4f12947cd15d1eb3c4109923657c012feef521cd"
+ integrity sha512-xQmbX/oYQK1QsAGN8hriXX5SUKOoTUe3L4dVaVHxJqy7MReRWJpprJmCpbAPJzWS6WCbDFfCM5kVEexHLOzJlQ==
dependencies:
core-js "^3.8.2"
-"@storybook/core-server@6.2.8":
- version "6.2.8"
- resolved "https://registry.yarnpkg.com/@storybook/core-server/-/core-server-6.2.8.tgz#83bd8e229225b3d7e5b11d91850b7b15bdab7525"
- integrity sha512-2kNgnsf8eX5QWPQmzP0SIViSKysMDOxSS0doOHd0KJBkcPwj1FUoNithu7RllQPSsphsifLua6OtTjt4UP/ycg==
+"@storybook/core-server@6.2.9":
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/core-server/-/core-server-6.2.9.tgz#da8b7f043ff59ee6cd2e8631ba8d0f954fdc265a"
+ integrity sha512-DzihO73pj1Ro0Y4tq9hjw2mLMUYeSRPrx7CndCOBxcTHCKQ8Kd7Dee3wJ49t5/19V7TW1+4lYR59GAy73FeOAQ==
dependencies:
"@babel/core" "^7.12.10"
"@babel/plugin-transform-template-literals" "^7.12.1"
"@babel/preset-react" "^7.12.10"
- "@storybook/addons" "6.2.8"
- "@storybook/builder-webpack4" "6.2.8"
- "@storybook/core-client" "6.2.8"
- "@storybook/core-common" "6.2.8"
- "@storybook/node-logger" "6.2.8"
+ "@storybook/addons" "6.2.9"
+ "@storybook/builder-webpack4" "6.2.9"
+ "@storybook/core-client" "6.2.9"
+ "@storybook/core-common" "6.2.9"
+ "@storybook/node-logger" "6.2.9"
"@storybook/semver" "^7.3.2"
- "@storybook/theming" "6.2.8"
- "@storybook/ui" "6.2.8"
+ "@storybook/theming" "6.2.9"
+ "@storybook/ui" "6.2.9"
"@types/node" "^14.0.10"
"@types/node-fetch" "^2.5.7"
"@types/pretty-hrtime" "^1.0.0"
@@ -3328,13 +3363,13 @@
webpack-dev-middleware "^3.7.3"
webpack-virtual-modules "^0.2.2"
-"@storybook/core@6.2.8":
- version "6.2.8"
- resolved "https://registry.yarnpkg.com/@storybook/core/-/core-6.2.8.tgz#f157574ad23eebd656c4b47fd3d10caf021adab7"
- integrity sha512-9gD/tti/+ZmzEihnrv+FF1+AgjIdCQ6VMFT76UXUEX44WZSqM8O9KA+8Llx2AD4wU928KDWLruP+5UiHkDAJKw==
+"@storybook/core@6.2.9":
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/core/-/core-6.2.9.tgz#e32e72b3bdb44384f5f0ff93ad1a483acd033b4b"
+ integrity sha512-pzbyjWvj0t8m0kR2pC9GQne4sZn7Y/zfcbm6/31CL+yhzOQjfJEj3n4ZFUlxikXqQJPg1aWfypfyaeaLL0QyuA==
dependencies:
- "@storybook/core-client" "6.2.8"
- "@storybook/core-server" "6.2.8"
+ "@storybook/core-client" "6.2.9"
+ "@storybook/core-server" "6.2.9"
"@storybook/csf@0.0.1":
version "0.0.1"
@@ -3343,10 +3378,10 @@
dependencies:
lodash "^4.17.15"
-"@storybook/node-logger@6.2.8":
- version "6.2.8"
- resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-6.2.8.tgz#a5cb21e397a3e4945375b73803f901c93513a56c"
- integrity sha512-mSbHF1yneRScviISaDQmtRcOBwjHbmdc8p791X4Myl87luqENnt0s8mnTG0H8uH/LGKvtZ2AGST89MqusQ6xUw==
+"@storybook/node-logger@6.2.9":
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-6.2.9.tgz#c67d8d7684514b8d00207502e8a9adda0ee750e5"
+ integrity sha512-ryRBChWZf1A5hOVONErJZosS25IdMweoMVFAUAcj91iC0ynoSA6YL2jmoE71jQchxEXEgkDeRkX9lR/GlqFGZQ==
dependencies:
"@types/npmlog" "^4.1.2"
chalk "^4.1.0"
@@ -3354,25 +3389,25 @@
npmlog "^4.1.2"
pretty-hrtime "^1.0.3"
-"@storybook/postinstall@6.2.8":
- version "6.2.8"
- resolved "https://registry.yarnpkg.com/@storybook/postinstall/-/postinstall-6.2.8.tgz#abf0f1b26f8273b49c10360207d20d3f23eafbb6"
- integrity sha512-VaFQ622qSSpBqZpx+BGFGY52VKk4gnlpFs9r6+TgqaoFv9DpRWnj95fhkdtYuumzVhMiJLerdYdKgR/NsM+hJg==
+"@storybook/postinstall@6.2.9":
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/postinstall/-/postinstall-6.2.9.tgz#3573ca86a27e9628defdd3a2c64721ee9db359ce"
+ integrity sha512-HjAjXZV+WItonC7lVrfrUsQuRFZNz1g1lE0GgsEK2LdC5rAcD/JwJxjiWREwY+RGxKL9rpWgqyxVQajpIJRjhA==
dependencies:
core-js "^3.8.2"
"@storybook/react@^6.1.20":
- version "6.2.8"
- resolved "https://registry.yarnpkg.com/@storybook/react/-/react-6.2.8.tgz#7b3fb79f30a696856e8bb98b2dc6a2b3a48cbdba"
- integrity sha512-n8nQmuclm+KvwOKWpZfTFeeUWISZuEUcHQc6MGoi0fzXDnJDPSk4KI6kvIMlr1kSDh41+iZfbbBTil+XWORaRA==
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/react/-/react-6.2.9.tgz#84f42b3d9a5c8de814f71ae186886076ba377d2c"
+ integrity sha512-glvw+o/Vek2oapYIXCYDK6gm3cuSnx0XdOpiJVcXk3KLb8JfLbdzGYYp6dcWUbyOBqGcGFRpXIgMmkcwgn+fvQ==
dependencies:
"@babel/preset-flow" "^7.12.1"
"@babel/preset-react" "^7.12.10"
"@pmmmwh/react-refresh-webpack-plugin" "^0.4.3"
- "@storybook/addons" "6.2.8"
- "@storybook/core" "6.2.8"
- "@storybook/core-common" "6.2.8"
- "@storybook/node-logger" "6.2.8"
+ "@storybook/addons" "6.2.9"
+ "@storybook/core" "6.2.9"
+ "@storybook/core-common" "6.2.9"
+ "@storybook/node-logger" "6.2.9"
"@storybook/semver" "^7.3.2"
"@types/webpack-env" "^1.16.0"
babel-plugin-add-react-displayname "^0.0.5"
@@ -3405,13 +3440,13 @@
qs "^6.6.0"
util-deprecate "^1.0.2"
-"@storybook/router@6.2.8":
- version "6.2.8"
- resolved "https://registry.yarnpkg.com/@storybook/router/-/router-6.2.8.tgz#70d95e66619ebdeb4da61e2fce930bcc53d45bd1"
- integrity sha512-SDoSa5gp/tzv7GIYauDyrKAiqDOg2bZ+JBIjLbAh29U5fJ/wkHbTeHCMhw9B5RE8O/e4dK2NOaYcuJJx+mFbGA==
+"@storybook/router@6.2.9":
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/router/-/router-6.2.9.tgz#547543031dd8330870bb6b473dcf7e51982e841c"
+ integrity sha512-7Bn1OFoItCl8whXRT8N1qp1Lky7kzXJ3aslWp5E8HcM8rxh4OYXfbaeiyJEJxBTGC5zxgY+tAEXHFjsAviFROg==
dependencies:
"@reach/router" "^1.3.4"
- "@storybook/client-logger" "6.2.8"
+ "@storybook/client-logger" "6.2.9"
"@types/reach__router" "^1.3.7"
core-js "^3.8.2"
fast-deep-equal "^3.1.3"
@@ -3429,13 +3464,13 @@
core-js "^3.6.5"
find-up "^4.1.0"
-"@storybook/source-loader@6.2.8":
- version "6.2.8"
- resolved "https://registry.yarnpkg.com/@storybook/source-loader/-/source-loader-6.2.8.tgz#2dfa0563cbac911685eb6cd575daa55a36a79049"
- integrity sha512-e5rOLRPN39mTeRNv5FfIxR7XMb8bhx6kk0SS2ciojkcTg9aLLnguZSfm9E/OBLp/be8//TX4y5m3PwNQSXUrLg==
+"@storybook/source-loader@6.2.9":
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/source-loader/-/source-loader-6.2.9.tgz#ac6b314e48044acad5318d237275b24e684edb9f"
+ integrity sha512-cx499g7BG2oeXvRFx45r0W0p2gKEy/e88WsUFnqqfMKZBJ8K0R/lx5DI0l1hq+TzSrE6uGe0/uPlaLkJNIro7g==
dependencies:
- "@storybook/addons" "6.2.8"
- "@storybook/client-logger" "6.2.8"
+ "@storybook/addons" "6.2.9"
+ "@storybook/client-logger" "6.2.9"
"@storybook/csf" "0.0.1"
core-js "^3.8.2"
estraverse "^5.2.0"
@@ -3463,15 +3498,15 @@
resolve-from "^5.0.0"
ts-dedent "^1.1.0"
-"@storybook/theming@6.2.8":
- version "6.2.8"
- resolved "https://registry.yarnpkg.com/@storybook/theming/-/theming-6.2.8.tgz#1cb4eeaccdb73924186a06630b4fed3201ee6714"
- integrity sha512-aQ+VCvzbfaAsq99g0ZsP1/rZFwXqbsTYLaRV/uZ8DA+wLF7uzlAl+FA5HyneStSj9ysyvdyARGxT2SBAT+azyQ==
+"@storybook/theming@6.2.9":
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/theming/-/theming-6.2.9.tgz#16bf40180861f222c7ed1d80abd5d1e3cb315660"
+ integrity sha512-183oJW7AD7Fhqg5NT4ct3GJntwteAb9jZnQ6yhf9JSdY+fk8OhxRbPf7ov0au2gYACcGrWDd9K5pYQsvWlP5gA==
dependencies:
"@emotion/core" "^10.1.1"
"@emotion/is-prop-valid" "^0.8.6"
"@emotion/styled" "^10.0.27"
- "@storybook/client-logger" "6.2.8"
+ "@storybook/client-logger" "6.2.9"
core-js "^3.8.2"
deep-object-diff "^1.1.0"
emotion-theming "^10.0.27"
@@ -3481,21 +3516,21 @@
resolve-from "^5.0.0"
ts-dedent "^2.0.0"
-"@storybook/ui@6.2.8":
- version "6.2.8"
- resolved "https://registry.yarnpkg.com/@storybook/ui/-/ui-6.2.8.tgz#331f8f5bb8e6feaf15a3a91b23eba48509882650"
- integrity sha512-lPRa6z3ArHEewuIAAtHFdF7VwK7chMGza/PV1gAQT2ywUDibJoTen/qtUP4TKhLSJTOUsZK8q4X7yiN1KJBu5w==
+"@storybook/ui@6.2.9":
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/ui/-/ui-6.2.9.tgz#25cdf7ae2ef38ab337570c2377fda1da999792e7"
+ integrity sha512-jq2xmw3reIqik/6ibUSbNKGR+Xvr9wkAEwexiOl+5WQ5BeYJpw4dmDmsFQf+SQuWaSEUUPolbzkakRQM778Kdg==
dependencies:
"@emotion/core" "^10.1.1"
- "@storybook/addons" "6.2.8"
- "@storybook/api" "6.2.8"
- "@storybook/channels" "6.2.8"
- "@storybook/client-logger" "6.2.8"
- "@storybook/components" "6.2.8"
- "@storybook/core-events" "6.2.8"
- "@storybook/router" "6.2.8"
+ "@storybook/addons" "6.2.9"
+ "@storybook/api" "6.2.9"
+ "@storybook/channels" "6.2.9"
+ "@storybook/client-logger" "6.2.9"
+ "@storybook/components" "6.2.9"
+ "@storybook/core-events" "6.2.9"
+ "@storybook/router" "6.2.9"
"@storybook/semver" "^7.3.2"
- "@storybook/theming" "6.2.8"
+ "@storybook/theming" "6.2.9"
"@types/markdown-to-jsx" "^6.11.3"
copy-to-clipboard "^3.3.1"
core-js "^3.8.2"
@@ -3651,9 +3686,9 @@
tslib "^2.1.0"
"@testing-library/dom@*":
- version "7.30.3"
- resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-7.30.3.tgz#779ea9bbb92d63302461800a388a5a890ac22519"
- integrity sha512-7JhIg2MW6WPwyikH2iL3o7z+FTVgSOd2jqCwTAHqK7Qal2gRRYiUQyURAxtbK9VXm/UTyG9bRihv8C5Tznr2zw==
+ version "7.30.4"
+ resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-7.30.4.tgz#c6a4a91557e92035fd565246bbbfb8107aa4634d"
+ integrity sha512-GObDVMaI4ARrZEXaRy4moolNAxWPKvEYNV/fa6Uc2eAzR/t4otS6A7EhrntPBIQLeehL9DbVhscvvv7gd6hWqA==
dependencies:
"@babel/code-frame" "^7.10.4"
"@babel/runtime" "^7.12.5"
@@ -3899,10 +3934,15 @@
"@types/node" "*"
form-data "^3.0.0"
-"@types/node@*", "@types/node@>= 8", "@types/node@^14.0.10":
- version "14.14.39"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.39.tgz#9ef394d4eb52953d2890e4839393c309aa25d2d1"
- integrity sha512-Qipn7rfTxGEDqZiezH+wxqWYR8vcXq5LRpZrETD19Gs4o8LbklbmqotSUsMU+s5G3PJwMRDfNEYoxrcBwIxOuw==
+"@types/node@*", "@types/node@>= 8":
+ version "15.0.2"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-15.0.2.tgz#51e9c0920d1b45936ea04341aa3e2e58d339fb67"
+ integrity sha512-p68+a+KoxpoB47015IeYZYRrdqMUcpbK8re/zpFB8Ld46LHC1lPEbp3EXgkEhAYEcPvjJF6ZO+869SQ0aH1dcA==
+
+"@types/node@^14.0.10":
+ version "14.14.44"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.44.tgz#df7503e6002847b834371c004b372529f3f85215"
+ integrity sha512-+gaugz6Oce6ZInfI/tK4Pq5wIIkJMEJUu92RB3Eu93mtj4wjjjz9EB5mLp5s1pSsLXdC/CPut/xF20ZzAQJbTA==
"@types/normalize-package-data@^2.4.0":
version "2.4.0"
@@ -3985,9 +4025,9 @@
"@types/react" "*"
"@types/react@*":
- version "17.0.3"
- resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.3.tgz#ba6e215368501ac3826951eef2904574c262cc79"
- integrity sha512-wYOUxIgs2HZZ0ACNiIayItyluADNbONl7kt8lkLjVK8IitMH5QMyAh75Fwhmo37r1m7L2JaFj03sIfxBVDvRAg==
+ version "17.0.5"
+ resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.5.tgz#3d887570c4489011f75a3fc8f965bf87d09a1bea"
+ integrity sha512-bj4biDB9ZJmGAYTWSKJly6bMr4BLUiBrx9ujiJEoP9XIDY9CTaPGxE5QWN/1WjpPLzYF7/jRNnV2nNxNe970sw==
dependencies:
"@types/prop-types" "*"
"@types/scheduler" "*"
@@ -4070,9 +4110,9 @@
source-map "^0.7.3"
"@types/webpack@^4.4.31", "@types/webpack@^4.41.26", "@types/webpack@^4.41.8":
- version "4.41.27"
- resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.27.tgz#f47da488c8037e7f1b2dbf2714fbbacb61ec0ffc"
- integrity sha512-wK/oi5gcHi72VMTbOaQ70VcDxSQ1uX8S2tukBK9ARuGXrYM/+u4ou73roc7trXDNmCxCoerE8zruQqX/wuHszA==
+ version "4.41.28"
+ resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.28.tgz#0069a2159b7ad4d83d0b5801942c17d54133897b"
+ integrity sha512-Nn84RAiJjKRfPFFCVR8LC4ueTtTdfWAMZ03THIzZWRJB+rX24BD3LqPSFnbMscWauEsT4segAsylPDIaZyZyLQ==
dependencies:
"@types/anymatch" "*"
"@types/node" "*"
@@ -4367,21 +4407,21 @@
"@xtuc/long" "4.2.2"
"@webpack-cli/configtest@^1.0.1":
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.0.2.tgz#2a20812bfb3a2ebb0b27ee26a52eeb3e3f000836"
- integrity sha512-3OBzV2fBGZ5TBfdW50cha1lHDVf9vlvRXnjpVbJBa20pSZQaSkMJZiwA8V2vD9ogyeXn8nU5s5A6mHyf5jhMzA==
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.0.3.tgz#204bcff87cda3ea4810881f7ea96e5f5321b87b9"
+ integrity sha512-WQs0ep98FXX2XBAfQpRbY0Ma6ADw8JR6xoIkaIiJIzClGOMqVRvPCWqndTxf28DgFopWan0EKtHtg/5W1h0Zkw==
"@webpack-cli/info@^1.2.2":
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.2.3.tgz#ef819d10ace2976b6d134c7c823a3e79ee31a92c"
- integrity sha512-lLek3/T7u40lTqzCGpC6CAbY6+vXhdhmwFRxZLMnRm6/sIF/7qMpT8MocXCRQfz0JAh63wpbXLMnsQ5162WS7Q==
+ version "1.2.4"
+ resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.2.4.tgz#7381fd41c9577b2d8f6c2594fad397ef49ad5573"
+ integrity sha512-ogE2T4+pLhTTPS/8MM3IjHn0IYplKM4HbVNMCWA9N4NrdPzunwenpCsqKEXyejMfRu6K8mhauIPYf8ZxWG5O6g==
dependencies:
envinfo "^7.7.3"
"@webpack-cli/serve@^1.3.0":
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.3.1.tgz#911d1b3ff4a843304b9c3bacf67bb34672418441"
- integrity sha512-0qXvpeYO6vaNoRBI52/UsbcaBydJCggoBBnIo/ovQQdn6fug0BgwsjorV1hVS7fMqGVTZGcVxv8334gjmbj5hw==
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.4.0.tgz#f84fd07bcacefe56ce762925798871092f0f228e"
+ integrity sha512-xgT/HqJ+uLWGX+Mzufusl3cgjAcnqYYskaB7o0vRcwOEfuu6hMzSILQpnIzFMGsTaeaX4Nnekl+6fadLbl1/Vg==
"@welldone-software/why-did-you-render@^4.2.5":
version "4.3.2"
@@ -4494,9 +4534,9 @@ acorn@^7.1.1, acorn@^7.4.1:
integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
acorn@^8.0.4:
- version "8.1.1"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.1.1.tgz#fb0026885b9ac9f48bac1e185e4af472971149ff"
- integrity sha512-xYiIVjNuqtKXMxlRMDc6mZUhXehod4a3gbZ1qRlM7icK4EbxUFNLhWoPblCvFtB2Y9CIqHP3CF/rdxLItaQv8g==
+ version "8.2.4"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.2.4.tgz#caba24b08185c3b56e3168e97d15ed17f4d31fd0"
+ integrity sha512-Ibt84YwBDDA890eDiDCEqcbwvHlBvzzDkU2cGBBDDI1QWT12jTiXIOn2CIw5KK4i6N5Z2HUxwYjzriDyqaqqZg==
add-dom-event-listener@^1.1.0:
version "1.1.0"
@@ -5155,9 +5195,9 @@ babel-plugin-macros@2.8.0, babel-plugin-macros@^2.0.0, babel-plugin-macros@^2.8.
resolve "^1.12.0"
babel-plugin-macros@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.0.1.tgz#0d412d68f5b3d1b64358f24ab099bd148724e2a9"
- integrity sha512-CKt4+Oy9k2wiN+hT1uZzOw7d8zb1anbQpf7KLwaaXRCi/4pzKdFKHf7v5mvoPmjkmxshh7eKZQuRop06r5WP4w==
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1"
+ integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==
dependencies:
"@babel/runtime" "^7.12.5"
cosmiconfig "^7.0.0"
@@ -5551,14 +5591,14 @@ browserslist@4.14.2:
escalade "^3.0.2"
node-releases "^1.1.61"
-browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.16.3, browserslist@^4.9.1:
- version "4.16.4"
- resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.4.tgz#7ebf913487f40caf4637b892b268069951c35d58"
- integrity sha512-d7rCxYV8I9kj41RH8UKYnvDYCRENUlHRgyXy/Rhr/1BaeLGfiCptEdFE8MIrvGfWbBFNjVYx76SQWvNX1j+/cQ==
+browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.16.6, browserslist@^4.9.1:
+ version "4.16.6"
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.6.tgz#d7901277a5a88e554ed305b183ec9b0c08f66fa2"
+ integrity sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==
dependencies:
- caniuse-lite "^1.0.30001208"
+ caniuse-lite "^1.0.30001219"
colorette "^1.2.2"
- electron-to-chromium "^1.3.712"
+ electron-to-chromium "^1.3.723"
escalade "^3.1.1"
node-releases "^1.1.71"
@@ -5798,10 +5838,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.30001109, caniuse-lite@^1.0.30001125, caniuse-lite@^1.0.30001208:
- version "1.0.30001208"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001208.tgz#a999014a35cebd4f98c405930a057a0d75352eb9"
- integrity sha512-OE5UE4+nBOro8Dyvv0lfx+SRtfVIOM9uhKqFmJeUbGriqhhStgp1A0OyBpgy3OUF8AhYCT+PVwPC1gMl2ZcQMA==
+caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001125, caniuse-lite@^1.0.30001219:
+ version "1.0.30001223"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001223.tgz#39b49ff0bfb3ee3587000d2f66c47addc6e14443"
+ integrity sha512-k/RYs6zc/fjbxTjaWZemeSmOjO0JJV+KguOBA3NwPup8uzxM1cMhR2BD9XmO86GuqaqTCO8CgkgH9Rz//vdDiA==
capture-exit@^2.0.0:
version "2.0.0"
@@ -5863,9 +5903,9 @@ chalk@^3.0.0:
supports-color "^7.1.0"
chalk@^4.0.0, chalk@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a"
- integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.1.tgz#c80b3fab28bf6371e6863325eee67e618b77e6ad"
+ integrity sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==
dependencies:
ansi-styles "^4.1.0"
supports-color "^7.1.0"
@@ -5890,30 +5930,31 @@ chardet@^0.7.0:
resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==
-cheerio-select@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/cheerio-select/-/cheerio-select-1.3.0.tgz#26a50968260b7e4281238c1e7da7ed2766652f3b"
- integrity sha512-mLgqdHxVOQyhOIkG5QnRkDg7h817Dkf0dAvlCio2TJMmR72cJKH0bF28SHXvLkVrGcGOiub0/Bs/CMnPeQO7qw==
+cheerio-select@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/cheerio-select/-/cheerio-select-1.4.0.tgz#3a16f21e37a2ef0f211d6d1aa4eff054bb22cdc9"
+ integrity sha512-sobR3Yqz27L553Qa7cK6rtJlMDbiKPdNywtR95Sj/YgfpLfy0u6CGJuaBKe5YE/vTc23SCRKxWSdlon/w6I/Ew==
dependencies:
- css-select "^4.0.0"
+ css-select "^4.1.2"
css-what "^5.0.0"
domelementtype "^2.2.0"
- domhandler "^4.1.0"
- domutils "^2.5.2"
+ domhandler "^4.2.0"
+ domutils "^2.6.0"
cheerio@^1.0.0-rc.3:
- version "1.0.0-rc.6"
- resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.6.tgz#a5ae81ab483aeefa1280c325543c601145506240"
- integrity sha512-hjx1XE1M/D5pAtMgvWwE21QClmAEeGHOIDfycgmndisdNgI6PE1cGRQkMGBcsbUbmEQyWu5PJLUcAOjtQS8DWw==
+ version "1.0.0-rc.9"
+ resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.9.tgz#a3ae6b7ce7af80675302ff836f628e7cb786a67f"
+ integrity sha512-QF6XVdrLONO6DXRF5iaolY+odmhj2CLj+xzNod7INPWMi/x9X4SOylH0S/vaPpX+AUU6t04s34SQNh7DbkuCng==
dependencies:
- cheerio-select "^1.3.0"
+ cheerio-select "^1.4.0"
dom-serializer "^1.3.1"
- domhandler "^4.1.0"
+ domhandler "^4.2.0"
htmlparser2 "^6.1.0"
parse5 "^6.0.1"
parse5-htmlparser2-tree-adapter "^6.0.1"
+ tslib "^2.2.0"
-"chokidar@>=2.0.0 <4.0.0", chokidar@^3.4.0, chokidar@^3.4.1, chokidar@^3.4.2:
+"chokidar@>=3.0.0 <4.0.0", chokidar@^3.4.0, chokidar@^3.4.1, chokidar@^3.4.2:
version "3.5.1"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a"
integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==
@@ -6556,17 +6597,17 @@ copy-webpack-plugin@^7.0.0:
serialize-javascript "^5.0.1"
core-js-compat@^3.6.2, core-js-compat@^3.8.1, core-js-compat@^3.9.0, core-js-compat@^3.9.1:
- version "3.10.1"
- resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.10.1.tgz#62183a3a77ceeffcc420d907a3e6fc67d9b27f1c"
- integrity sha512-ZHQTdTPkqvw2CeHiZC970NNJcnwzT6YIueDMASKt+p3WbZsLXOcoD392SkcWhkC0wBBHhlfhqGKKsNCQUozYtg==
+ version "3.12.0"
+ resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.12.0.tgz#a031e51fe411085e33cb629bfee2acaa53bc309a"
+ integrity sha512-vvaN8EOvYBEjrr+MN3vCKrMNc/xdYZI+Rt/uPMROi4T5Hj8Fz6TiPQm2mrB9aZoQVW1lCFHYmMrv99aUct9mkg==
dependencies:
- browserslist "^4.16.3"
+ browserslist "^4.16.6"
semver "7.0.0"
core-js-pure@^3.0.0, core-js-pure@^3.8.2:
- version "3.10.1"
- resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.10.1.tgz#28642697dfcf02e0fd9f4d9891bd03a22df28ecf"
- integrity sha512-PeyJH2SE0KuxY5eCGNWA+W+CeDpB6M1PN3S7Am7jSv/Ttuxz2SnWbIiVQOn/TDaGaGtxo8CRWHkXwJscbUHtVw==
+ version "3.12.0"
+ resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.12.0.tgz#c59d45954a6569232f0704d085916a5e8c3b272f"
+ integrity sha512-j2y084taJU4VMUpwuC93l19tsPbTAtOpg6/do3UOwX4eUJbsFdhEaGRQfTYthn5rDubsB88YITtei0Kw46vEQQ==
core-js@^2.4.0:
version "2.6.12"
@@ -6574,9 +6615,9 @@ core-js@^2.4.0:
integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==
core-js@^3.0.1, core-js@^3.0.4, core-js@^3.6.5, core-js@^3.8.2:
- version "3.10.1"
- resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.10.1.tgz#e683963978b6806dcc6c0a4a8bd4ab0bdaf3f21a"
- integrity sha512-pwCxEXnj27XG47mu7SXAwhLP3L5CrlvCB91ANUkIz40P27kUcvNfSdvyZJ9CLHiVoKSp+TTChMQMSKQEH/IQxA==
+ version "3.12.0"
+ resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.12.0.tgz#62bac86f7d7f087d40dba3e90a211c2c3c8559ea"
+ integrity sha512-SaMnchL//WwU2Ot1hhkPflE8gzo7uq1FGvUJ8GKmi3TOU7rGTHIU+eir1WGf6qOtTyxdfdcp10yPdGZ59sQ3hw==
core-util-is@1.0.2, core-util-is@~1.0.0:
version "1.0.2"
@@ -6784,15 +6825,15 @@ css-select@^2.0.0, css-select@^2.0.2:
domutils "^1.7.0"
nth-check "^1.0.2"
-css-select@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.0.0.tgz#9b7b53bd82e4b348a6e0924ce37645e5db43af8e"
- integrity sha512-I7favumBlDP/nuHBKLfL5RqvlvRdn/W29evvWJ+TaoGPm7QD+xSIN5eY2dyGjtkUmemh02TZrqJb4B8DWo6PoQ==
+css-select@^4.1.2:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.1.2.tgz#8b52b6714ed3a80d8221ec971c543f3b12653286"
+ integrity sha512-nu5ye2Hg/4ISq4XqdLY2bEatAcLIdt3OYGFc9Tm9n7VSlFBcfRv0gBNksHRgSdUDQGtN3XrZ94ztW+NfzkFSUw==
dependencies:
boolbase "^1.0.0"
css-what "^5.0.0"
- domhandler "^4.1.0"
- domutils "^2.5.1"
+ domhandler "^4.2.0"
+ domutils "^2.6.0"
nth-check "^2.0.0"
css-to-react-native@^3.0.0:
@@ -6873,14 +6914,14 @@ cssstyle@^1.0.0:
cssom "0.3.x"
csstype@^2.5.7:
- version "2.6.16"
- resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.16.tgz#544d69f547013b85a40d15bff75db38f34fe9c39"
- integrity sha512-61FBWoDHp/gRtsoDkq/B1nWrCUG/ok1E3tUrcNbZjsE9Cxd9yzUirjS3+nAATB8U4cTtaQmAHbNndoFz5L6C9Q==
+ version "2.6.17"
+ resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.17.tgz#4cf30eb87e1d1a005d8b6510f95292413f6a1c0e"
+ integrity sha512-u1wmTI1jJGzCJzWndZo8mk4wnPTZd1eOIYTYvuEyOQGfmDl3TrabCCfKnOC86FZwW/9djqTl933UF/cS425i9A==
csstype@^3.0.2:
- version "3.0.7"
- resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.7.tgz#2a5fb75e1015e84dd15692f71e89a1450290950b"
- integrity sha512-KxnUB0ZMlnUWCsx2Z8MUsr6qV6ja1w9ArPErJaJaF8a5SOWoHLIszeCTKGRGRgtLgYrs1E8CHkNSP1VZTTPc9g==
+ version "3.0.8"
+ resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.8.tgz#d2266a792729fb227cd216fb572f43728e1ad340"
+ integrity sha512-jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw==
currently-unhandled@^0.4.1:
version "0.4.1"
@@ -6918,9 +6959,9 @@ data-urls@^1.0.0:
whatwg-url "^7.0.0"
date-fns@^2.0.1:
- version "2.21.1"
- resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.21.1.tgz#679a4ccaa584c0706ea70b3fa92262ac3009d2b0"
- integrity sha512-m1WR0xGiC6j6jNFAyW4Nvh4WxAi4JF4w9jRJwSI8nBmNcyZXPcP9VUQG+6gHQXAmqaGEKDKhOqAtENDC941UkA==
+ version "2.21.2"
+ resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.21.2.tgz#9db92305cf00626e9122e56c72195b17725594aa"
+ integrity sha512-FMkG7pIPx64mGIpS2LOb3Wp3O606H/hatoiz7G0oiYWai1izdM4tF1dd7QABv2NogkIDI4wxsfLLFQSuVvDHgA==
dateformat@^3.0.0:
version "3.0.3"
@@ -7262,9 +7303,9 @@ dom-css@^2.0.0:
to-camel-case "1.0.0"
dom-helpers@^5.0.1:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.0.tgz#57fd054c5f8f34c52a3eeffdb7e7e93cd357d95b"
- integrity sha512-Ru5o9+V8CpunKnz5LGgWXkmrH/20cGKwcHwS4m73zIvs54CN9epEmT/HLqFJW3kXpakAFkEdzgy1hzlJe3E4OQ==
+ version "5.2.1"
+ resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902"
+ integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==
dependencies:
"@babel/runtime" "^7.8.7"
csstype "^3.0.2"
@@ -7327,10 +7368,10 @@ domhandler@^3.3.0:
dependencies:
domelementtype "^2.0.1"
-domhandler@^4.0.0, domhandler@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.1.0.tgz#c1d8d494d5ec6db22de99e46a149c2a4d23ddd43"
- integrity sha512-/6/kmsGlMY4Tup/nGVutdrK9yQi4YjWVcVeoQmixpzjOUK1U7pQkvAPHBJeUxOgxF0J8f8lwCJSlCfD0V4CMGQ==
+domhandler@^4.0.0, domhandler@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.2.0.tgz#f9768a5f034be60a89a27c2e4d0f74eba0d8b059"
+ integrity sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==
dependencies:
domelementtype "^2.2.0"
@@ -7342,14 +7383,14 @@ domutils@^1.5.1, domutils@^1.7.0:
dom-serializer "0"
domelementtype "1"
-domutils@^2.4.2, domutils@^2.5.1, domutils@^2.5.2:
- version "2.5.2"
- resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.5.2.tgz#37ef8ba087dff1a17175e7092e8a042e4b050e6c"
- integrity sha512-MHTthCb1zj8f1GVfRpeZUbohQf/HdBos0oX5gZcQFepOZPLLRyj6Wn7XS7EMnY7CVpwv8863u2vyE83Hfu28HQ==
+domutils@^2.4.2, domutils@^2.5.2, domutils@^2.6.0:
+ version "2.6.0"
+ resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.6.0.tgz#2e15c04185d43fb16ae7057cb76433c6edb938b7"
+ integrity sha512-y0BezHuy4MDYxh6OvolXYsH+1EMGmFbwv5FKW7ovwMG6zTPWqNPq3WF9ayZssFq+UlKdffGLbOEaghNdaOm1WA==
dependencies:
dom-serializer "^1.0.1"
domelementtype "^2.2.0"
- domhandler "^4.1.0"
+ domhandler "^4.2.0"
dot-case@^3.0.4:
version "3.0.4"
@@ -7398,14 +7439,14 @@ dotenv@^6.2.0:
integrity sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w==
dotenv@^8.0.0:
- version "8.2.0"
- resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a"
- integrity sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==
+ version "8.6.0"
+ resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.6.0.tgz#061af664d19f7f4d8fc6e4ff9b584ce237adcb8b"
+ integrity sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==
downshift@^6.0.15:
- version "6.1.2"
- resolved "https://registry.yarnpkg.com/downshift/-/downshift-6.1.2.tgz#99d9a03d4da4bf369df766effc3b70f7e789950e"
- integrity sha512-WnPoQ6miic4+uEzPEfqgeen0t5YREOUabMopU/Juo/UYDMZl0ZACkO6ykWCRg48dlEUmEt6zfaJlj1x7kEy78g==
+ version "6.1.3"
+ resolved "https://registry.yarnpkg.com/downshift/-/downshift-6.1.3.tgz#e794b7805d24810968f21e81ad6bdd9f3fdc40da"
+ integrity sha512-RA1MuaNcTbt0j+sVLhSs8R2oZbBXYAtdQP/V+uHhT3DoDteZzJPjlC+LQVm9T07Wpvo84QXaZtUCePLDTDwGXg==
dependencies:
"@babel/runtime" "^7.13.10"
compute-scroll-into-view "^1.0.17"
@@ -7445,10 +7486,10 @@ ejs@^2.6.1:
resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.7.4.tgz#48661287573dcc53e366c7a1ae52c3a120eec9ba"
integrity sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==
-electron-to-chromium@^1.3.564, electron-to-chromium@^1.3.712:
- version "1.3.717"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.717.tgz#78d4c857070755fb58ab64bcc173db1d51cbc25f"
- integrity sha512-OfzVPIqD1MkJ7fX+yTl2nKyOE4FReeVfMCzzxQS+Kp43hZYwHwThlGP+EGIZRXJsxCM7dqo8Y65NOX/HP12iXQ==
+electron-to-chromium@^1.3.564, electron-to-chromium@^1.3.723:
+ version "1.3.727"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.727.tgz#857e310ca00f0b75da4e1db6ff0e073cc4a91ddf"
+ integrity sha512-Mfz4FIB4FSvEwBpDfdipRIrwd6uo8gUDoRDF4QEYb4h4tSuI3ov594OrjU6on042UlFHouIJpClDODGkPcBSbg==
element-resize-detector@^1.2.2:
version "1.2.2"
@@ -7542,9 +7583,9 @@ enhanced-resolve@^4.5.0:
tapable "^1.0.0"
enhanced-resolve@^5.7.0:
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.7.0.tgz#525c5d856680fbd5052de453ac83e32049958b5c"
- integrity sha512-6njwt/NsZFUKhM6j9U8hzVyD4E4r0x7NQzhTCbcWOJ0IQjNSAoalWmb0AE51Wn+fwan5qVESWi7t2ToBxs9vrw==
+ version "5.8.0"
+ resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.8.0.tgz#d9deae58f9d3773b6a111a5a46831da5be5c9ac0"
+ integrity sha512-Sl3KRpJA8OpprrtaIswVki3cWPiPKxXuFxJXBp+zNb6s6VwNWwFRUdtmzd2ReUut8n+sCPx7QCtQ7w5wfJhSgQ==
dependencies:
graceful-fs "^4.2.4"
tapable "^2.2.0"
@@ -8429,9 +8470,9 @@ focus-lock@^0.8.1:
tslib "^1.9.3"
follow-redirects@^1.0.0, follow-redirects@^1.10.0:
- version "1.13.3"
- resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.3.tgz#e5598ad50174c1bc4e872301e82ac2cd97f90267"
- integrity sha512-DUgl6+HDzB0iEptNQEXLx/KhTmDb8tZUHSeLqpnjpknR70H0nC2t9N73BK6fN4hOvJ84pKlIQVQ4k5FFlBedKA==
+ version "1.14.0"
+ resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.0.tgz#f5d260f95c5f8c105894491feee5dc8993b402fe"
+ integrity sha512-0vRwd7RKQBTt+mgu87mtYeofLFZpTas2S9zY+jIeuLJMNvudIgF52nr19q40HOwH5RrhWIPuj9puybzSJiRrVg==
for-each@^0.3.3:
version "0.3.3"
@@ -8464,9 +8505,9 @@ fork-ts-checker-webpack-plugin@4.1.6, fork-ts-checker-webpack-plugin@^4.1.6:
worker-rpc "^0.1.0"
fork-ts-checker-webpack-plugin@^6.0.4:
- version "6.2.1"
- resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.2.1.tgz#e3a7e64c90e5490a75d43d86d47f02e538c0a13e"
- integrity sha512-Pyhn2kav/Y2g6I7aInABgcph/B78jjdXc4kGHzaAUBL4UVthknxM6aMH47JwpnuTJmdOuf6p5vMbIahsBHuWGg==
+ version "6.2.6"
+ resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.2.6.tgz#cd105c9064d05ad9b518fc3cc9906389daa1a7ec"
+ integrity sha512-f/oF2BFFPKEWQ3wgfq4bWALSDm7+f21shVONplo1xHKs1IdMfdmDa/aREgEurkIyrsyMFed42W7NVp4mh4DXzg==
dependencies:
"@babel/code-frame" "^7.8.3"
"@types/json-schema" "^7.0.5"
@@ -8475,6 +8516,7 @@ fork-ts-checker-webpack-plugin@^6.0.4:
cosmiconfig "^6.0.0"
deepmerge "^4.2.2"
fs-extra "^9.0.0"
+ glob "^7.1.6"
memfs "^3.1.2"
minimatch "^3.0.4"
schema-utils "2.7.0"
@@ -8843,9 +8885,9 @@ glob-to-regexp@^0.4.1:
integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==
glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6:
- version "7.1.6"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
- integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
+ version "7.1.7"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90"
+ integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==
dependencies:
fs.realpath "^1.0.0"
inflight "^1.0.4"
@@ -9291,10 +9333,10 @@ html-minifier-terser@^5.0.1:
relateurl "^0.2.7"
terser "^4.6.3"
-html-parse-stringify@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/html-parse-stringify/-/html-parse-stringify-3.0.0.tgz#28f10753e190af211d2c3c9a1191a4502e112c96"
- integrity sha512-TrTKp/U0tACrpqalte/VhxepqMLii2mOfC8iuOt4+VA7Zdi6BUKKqNJvEsO17Cr3T3E7PpqLe3NdLII6bcYJgg==
+html-parse-stringify@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz#dfc1017347ce9f77c8141a507f233040c59c55d2"
+ integrity sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==
dependencies:
void-elements "3.1.0"
@@ -9489,9 +9531,9 @@ humanize-ms@^1.2.1:
ms "^2.0.0"
i18next-http-backend@^1.1.0, i18next-http-backend@^1.1.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/i18next-http-backend/-/i18next-http-backend-1.2.1.tgz#50ced1a147c37c851daf64d230b3832fb7a20527"
- integrity sha512-9L2sa+wybqi57/+VsrJPo5DCI7WLoudaK12xz0okYSmsi3Izyj7sCgrYL52WHy/O3BFY9HGORBwSwlD1WYuH6Q==
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/i18next-http-backend/-/i18next-http-backend-1.2.2.tgz#e63491b235bdf2d05525e15856e2194b28230018"
+ integrity sha512-L7YhDjUAoPyy1TgsW1Tk3jWJ7AbFecJDLkwvmat82Lb4Lck6VNJv/UQTUYiHpldLhb8IXx1ModzLjPbhyrgBkw==
dependencies:
node-fetch "2.6.1"
@@ -9534,9 +9576,9 @@ iferr@^0.1.5:
integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE=
ignore-walk@^3.0.1:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.3.tgz#017e2447184bfeade7c238e4aefdd1e8f95b1e37"
- integrity sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.4.tgz#c9a09f69b7c7b479a5d74ac1a3c0d4236d2a6335"
+ integrity sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==
dependencies:
minimatch "^3.0.4"
@@ -9609,11 +9651,6 @@ indent-string@^4.0.0:
resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251"
integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==
-indexes-of@^1.0.1:
- version "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.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467"
@@ -9800,9 +9837,9 @@ is-arrayish@^0.2.1:
integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
is-bigint@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.1.tgz#6923051dfcbc764278540b9ce0e6b3213aa5ebc2"
- integrity sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg==
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.2.tgz#ffb381442503235ad245ea89e45b3dbff040ee5a"
+ integrity sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==
is-binary-path@^1.0.0:
version "1.0.1"
@@ -9848,9 +9885,9 @@ is-ci@^2.0.0:
ci-info "^2.0.0"
is-core-module@^2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a"
- integrity sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.3.0.tgz#d341652e3408bca69c4671b79a0954a3d349f887"
+ integrity sha512-xSphU2KG9867tsYdLD4RWQ1VqdFl4HTO9Thf3I/3dLEfr0dbPTWKsuCKrgqMljg4nPE+Gq0VCnzT3gr0CyBmsw==
dependencies:
has "^1.0.3"
@@ -9869,9 +9906,9 @@ is-data-descriptor@^1.0.0:
kind-of "^6.0.0"
is-date-object@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e"
- integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.3.tgz#4c0802ae9c8097939ea8001eaae3c502f3dbe72f"
+ integrity sha512-tDpEUInNcy2Yw3lNSepK3Wdw1RnXLcIVienz6Ou631Acl15cJyRWK4dgA1vCmOEgIbtOV0W7MHg+AR2Gdg1NXQ==
is-decimal@^1.0.0:
version "1.0.4"
@@ -10665,9 +10702,9 @@ jest-snapshot@^24.9.0:
semver "^6.2.0"
jest-styled-components@^7.0.3:
- version "7.0.3"
- resolved "https://registry.yarnpkg.com/jest-styled-components/-/jest-styled-components-7.0.3.tgz#cc0b031f910484e68f175568682f3969ff774b2c"
- integrity sha512-jj9sWyshehUnB0P9WFUaq9Bkh6RKYO8aD8lf3gUrXRwg/MRddTFk7U9D9pC4IAI3v9fbz4vmrMxwaecTpG8NKA==
+ version "7.0.4"
+ resolved "https://registry.yarnpkg.com/jest-styled-components/-/jest-styled-components-7.0.4.tgz#ee6294baf382a89059ee9b8eca9bd43def849a58"
+ integrity sha512-411C8kdPcht+fUflZt94nbOUqCATa6wO9DSUU8G188vNFtWZImOZN3fNdXxf64fIoXKOf+7NBB0bzdz720jW8g==
dependencies:
css "^2.2.4"
@@ -11142,11 +11179,6 @@ locate-path@^6.0.0:
dependencies:
p-locate "^5.0.0"
-lodash-es@4.17.15:
- version "4.17.15"
- resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.15.tgz#21bd96839354412f23d7a10340e5eac6ee455d78"
- integrity sha512-rlrc3yU3+JNOpZ9zj5pQtxnx2THmvRykwL4Xlxoa8I9lHBlVbbyPhgyPMioxVZ4NqyxaVVtaJnzsyOidQIhyyQ==
-
lodash._baseisequal@^3.0.0:
version "3.0.7"
resolved "https://registry.yarnpkg.com/lodash._baseisequal/-/lodash._baseisequal-3.0.7.tgz#d8025f76339d29342767dcc887ce5cb95a5b51f1"
@@ -11288,12 +11320,7 @@ lodash.uniq@4.5.0, lodash.uniq@^4.5.0:
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=
-lodash@4.17.19:
- version "4.17.19"
- resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b"
- integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==
-
-lodash@^4, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.2.1:
+lodash@4.17.21, lodash@^4, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.2.1:
version "4.17.21"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
@@ -11546,9 +11573,9 @@ memfs@^3.1.2:
fs-monkey "1.0.3"
"memoize-one@>=3.1.1 <6":
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.1.1.tgz#047b6e3199b508eaec03504de71229b8eb1d75c0"
- integrity sha512-HKeeBpWvqiVJD57ZUAsJNm71eHTykffzcLZVYWiVfQeI1rJtuEaS7hQiEpWfVVk18donPwJEcFKIkCmPJNOhHA==
+ version "5.2.1"
+ resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.2.1.tgz#8337aa3c4335581839ec01c3d594090cebe8f00e"
+ integrity sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==
memoizerific@^1.11.3:
version "1.11.3"
@@ -11746,9 +11773,9 @@ mini-create-react-context@^0.4.0:
tiny-warning "^1.0.3"
mini-css-extract-plugin@^1.3.9:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-1.4.1.tgz#975e27c1d0bd8e052972415f47c79cea5ed37548"
- integrity sha512-COAGbpAsU0ioFzj+/RRfO5Qv177L1Z/XAx2EmCF33b8GDDqKygMffBTws2lit8iaPdrbKEY5P+zsseBUCREZWQ==
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-1.6.0.tgz#b4db2525af2624899ed64a23b0016e0036411893"
+ integrity sha512-nPFKI7NSy6uONUo9yn2hIfb9vyYvkFu95qki0e21DQ9uaqNKDP15DGpK0KnV6wDroWxPHtExrdEwx/yDQ8nVRw==
dependencies:
loader-utils "^2.0.0"
schema-utils "^3.0.0"
@@ -11900,9 +11927,9 @@ mobx-react@^7.1.0:
mobx-react-lite "^3.2.0"
mobx@^6.1.1:
- version "6.2.0"
- resolved "https://registry.yarnpkg.com/mobx/-/mobx-6.2.0.tgz#9a5afe3525a0302691c7805d0df6ef60834d79e5"
- integrity sha512-j5f16JIq2v4flvYCqaAB9tMtJt/y5efR2OO5Xy+w4/MBMeQ1WeGR0T8BtiNgmxM/OQzPFUKb5DTex9Y8a/yk+g==
+ version "6.3.0"
+ resolved "https://registry.yarnpkg.com/mobx/-/mobx-6.3.0.tgz#a8fb693c3047bdfcb1eaff9aa48e36a7eb084f96"
+ integrity sha512-Aa1+VXsg4WxqJMTQfWoYuJi5UD10VZhiobSmcs5kcmI3BIT0aVtn7DysvCeDADCzl7dnbX+0BTHUj/v7gLlZpQ==
modify-values@^1.0.0:
version "1.0.1"
@@ -12214,9 +12241,9 @@ normalize-url@^3.3.0:
integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==
npm-bundled@^1.0.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.1.tgz#1edd570865a94cdb1bc8220775e29466c9fb234b"
- integrity sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.2.tgz#944c78789bd739035b70baa2ca5cc32b8d860bc1"
+ integrity sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==
dependencies:
npm-normalize-package-bin "^1.0.1"
@@ -12340,9 +12367,9 @@ object-copy@^0.1.0:
kind-of "^3.0.3"
object-inspect@^1.7.0, object-inspect@^1.9.0:
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.9.0.tgz#c90521d74e1127b67266ded3394ad6116986533a"
- integrity sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==
+ version "1.10.2"
+ resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.10.2.tgz#b6385a3e2b7cae0b5eafcf90cddf85d128767f30"
+ integrity sha512-gz58rdPpadwztRrPjZE9DZLOABUpTGdcANUgOwBFO1C+HZZhePoP83M65WGDmbpwFYJSWqavbl4SgDn4k8RYTA==
object-is@^1.0.1, object-is@^1.0.2, object-is@^1.1.2:
version "1.1.5"
@@ -13036,11 +13063,11 @@ polished@^3.3.1:
"@babel/runtime" "^7.12.5"
polished@^4.0.5:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/polished/-/polished-4.1.1.tgz#40442cc973348e466f2918cdf647531bb6c29bfb"
- integrity sha512-4MZTrfPMPRLD7ac8b+2JZxei58zw6N1hFkdBDERif5Tlj19y3vPoPusrLG+mJIlPTGnUlKw3+yWz0BazvMx1vg==
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/polished/-/polished-4.1.2.tgz#c04fcc203e287e2d866e9cfcaf102dae1c01a816"
+ integrity sha512-jq4t3PJUpVRcveC53nnbEX35VyQI05x3tniwp26WFdm1dwaNUBHAi5awa/roBlwQxx1uRhwNSYeAi/aMbfiJCQ==
dependencies:
- "@babel/runtime" "^7.12.5"
+ "@babel/runtime" "^7.13.17"
popper.js@^1.14.4, popper.js@^1.14.7:
version "1.16.1"
@@ -13113,13 +13140,11 @@ postcss-modules-values@^3.0.0:
postcss "^7.0.6"
postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2:
- version "6.0.4"
- resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz#56075a1380a04604c38b063ea7767a129af5c2b3"
- integrity sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==
+ version "6.0.5"
+ resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.5.tgz#042d74e137db83e6f294712096cb413f5aa612c4"
+ integrity sha512-aFYPoYmXbZ1V6HZaSvat08M97A8HqO6Pjz+PiNpw/DhuRrC72XWAdp3hL6wusDCN31sSmcZyMGa2hZEuX+Xfhg==
dependencies:
cssesc "^3.0.0"
- indexes-of "^1.0.1"
- uniq "^1.0.1"
util-deprecate "^1.0.2"
postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0:
@@ -13623,9 +13648,9 @@ react-clientside-effect@^1.2.2:
"@babel/runtime" "^7.12.13"
react-colorful@^5.0.1:
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/react-colorful/-/react-colorful-5.1.2.tgz#5cb1506b8f9104b88d02d34984a36c2d1e477e9e"
- integrity sha512-FRt9jz6xjiPqQ6bIAQ26kd0oJhHbGBwsA4BDz/F8FDCFuQJDiEl0wVUARNiqRyvQjwfKuhM42P/bMYI0l92hRw==
+ version "5.1.4"
+ resolved "https://registry.yarnpkg.com/react-colorful/-/react-colorful-5.1.4.tgz#7391568db7c0a4163436bfb076e5da8ef394e87c"
+ integrity sha512-WOEpRNz8Oo2SEU4eYQ279jEKFSjpFPa9Vi2U/K0DGwP9wOQ8wYkJcNSd5Qbv1L8OFvyKDCbWekjftXaU5mbmtg==
react-content-loader@^5.1.4:
version "5.1.4"
@@ -13793,17 +13818,17 @@ react-helmet-async@^1.0.2, react-helmet-async@^1.0.7:
shallowequal "^1.1.0"
react-i18next@^11.7.3, react-i18next@^11.8.8:
- version "11.8.13"
- resolved "https://registry.yarnpkg.com/react-i18next/-/react-i18next-11.8.13.tgz#9560376f8655b9aaa04f685da8eca0b032034ff9"
- integrity sha512-KTNuLYnEwI9y54nSEal4yBxXBnfCCfh7t/0p/UHfhlGNcIMu+V4x/y5zGKzbOEK4noQrUzZ+J47RPYH7rMs2ZQ==
+ version "11.8.15"
+ resolved "https://registry.yarnpkg.com/react-i18next/-/react-i18next-11.8.15.tgz#89450d585298f18d4a8eb1628b0868863f3a4767"
+ integrity sha512-ZbKcbYYKukgDL0MiUWKJTEsEftjSTNVZv67/V+SjPqTRwuF/aL4NbUtuEcb4WjHk0HyZ1M+2wGd07Fp0RUNHKA==
dependencies:
"@babel/runtime" "^7.13.6"
- html-parse-stringify "^3.0.0"
+ html-parse-stringify "^3.0.1"
react-inspector@^5.1.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/react-inspector/-/react-inspector-5.1.0.tgz#45a325e15f33e595be5356ca2d3ceffb7d6b8c3a"
- integrity sha512-JAwswiengIcxi4X/Ssb8nf6suOuQsyit8Fxo04+iPKTnPNY3XIOuagjMZSzpJDDKkYcc/ARlySOYZZv626WUvA==
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/react-inspector/-/react-inspector-5.1.1.tgz#58476c78fde05d5055646ed8ec02030af42953c8"
+ integrity sha512-GURDaYzoLbW8pMGXwYPDBIv6nqei4kK7LPRZ9q9HCZF54wqXz/dnylBp/kfE9XmekBhHvLDdcYeyIwSrvtOiWg==
dependencies:
"@babel/runtime" "^7.0.0"
is-dom "^1.0.0"
@@ -14047,9 +14072,9 @@ react-tooltip@^3.11.6:
prop-types "^15.6.0"
react-tooltip@^4.2.11:
- version "4.2.17"
- resolved "https://registry.yarnpkg.com/react-tooltip/-/react-tooltip-4.2.17.tgz#4884ce253ab298ee395950b24b752282efa8ac5d"
- integrity sha512-LzwUbQYzeRyrjbuuCbYUB0dlJpFPGPwigWS052umr1QulcF5N4czabDiWJ+Y585Q7ijvMFuBbeOvnI/azoTusw==
+ version "4.2.19"
+ resolved "https://registry.yarnpkg.com/react-tooltip/-/react-tooltip-4.2.19.tgz#a865fffdb62154c6079bcb273e238de6b3c57366"
+ integrity sha512-wF6h0a2nqX3UHw9aSoj77Tv/+/KIjRdb107otHtX+1wISad1QoLD+j5chrBDx7mjY1T4WKfrV2DN+iFCimdZOw==
dependencies:
prop-types "^15.7.2"
uuid "^7.0.3"
@@ -14735,9 +14760,9 @@ rollup-pluginutils@^2.8.2:
estree-walker "^0.6.1"
rollup@^2.43.1:
- version "2.45.2"
- resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.45.2.tgz#8fb85917c9f35605720e92328f3ccbfba6f78b48"
- integrity sha512-kRRU7wXzFHUzBIv0GfoFFIN3m9oteY4uAsKllIpQDId5cfnkWF2J130l+27dzDju0E6MScKiV0ZM5Bw8m4blYQ==
+ version "2.47.0"
+ resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.47.0.tgz#9d958aeb2c0f6a383cacc0401dff02b6e252664d"
+ integrity sha512-rqBjgq9hQfW0vRmz+0S062ORRNJXvwRpzxhFXORvar/maZqY6za3rgQ/p1Glg+j1hnc1GtYyQCPiAei95uTElg==
optionalDependencies:
fsevents "~2.3.1"
@@ -14834,11 +14859,11 @@ sass-loader@^10.1.0:
semver "^7.3.2"
sass@^1.29.0:
- version "1.32.8"
- resolved "https://registry.yarnpkg.com/sass/-/sass-1.32.8.tgz#f16a9abd8dc530add8834e506878a2808c037bdc"
- integrity sha512-Sl6mIeGpzjIUZqvKnKETfMf0iDAswD9TNlv13A7aAF3XZlRPMq4VvJWBC2N2DXbp94MQVdNSFG6LfF/iOXrPHQ==
+ version "1.32.12"
+ resolved "https://registry.yarnpkg.com/sass/-/sass-1.32.12.tgz#a2a47ad0f1c168222db5206444a30c12457abb9f"
+ integrity sha512-zmXn03k3hN0KaiVTjohgkg98C3UowhL1/VSGdj4/VAAiMKGQOE80PFPxFP2Kyq0OUskPKcY5lImkhBKEHlypJA==
dependencies:
- chokidar ">=2.0.0 <4.0.0"
+ chokidar ">=3.0.0 <4.0.0"
sax@^1.2.4, sax@~1.2.1, sax@~1.2.4:
version "1.2.4"
@@ -14913,9 +14938,9 @@ select@^1.1.2:
integrity sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=
selfsigned@^1.10.8:
- version "1.10.8"
- resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.8.tgz#0d17208b7d12c33f8eac85c41835f27fc3d81a30"
- integrity sha512-2P4PtieJeEwVgTU9QEcwIRDQ/mXJLX8/+I3ur+Pg16nS8oNbrGxEso9NyYWy8NAmXiNl4dlAp5MwoNeCWzON4w==
+ version "1.10.11"
+ resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.11.tgz#24929cd906fe0f44b6d01fb23999a739537acbe9"
+ integrity sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA==
dependencies:
node-forge "^0.10.0"
@@ -15793,9 +15818,9 @@ style-to-object@0.3.0, style-to-object@^0.3.0:
inline-style-parser "0.1.1"
styled-components@^5.2.1:
- version "5.2.3"
- resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-5.2.3.tgz#752669fd694aac10de814d96efc287dde0d11385"
- integrity sha512-BlR+KrLW3NL1yhvEB+9Nu9Dt51CuOnHoxd+Hj+rYPdtyR8X11uIW9rvhpy3Dk4dXXBsiW1u5U78f00Lf/afGoA==
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-5.3.0.tgz#e47c3d3e9ddfff539f118a3dd0fd4f8f4fb25727"
+ integrity sha512-bPJKwZCHjJPf/hwTJl6TbkSZg/3evha+XPEizrZUGb535jLImwDUdjTNxXqjjaASt2M4qO4AVfoHJNe3XB/tpQ==
dependencies:
"@babel/helper-module-imports" "^7.0.0"
"@babel/traverse" "^7.4.5"
@@ -16064,9 +16089,9 @@ terser@^4.1.2, terser@^4.6.3, terser@^4.8.0:
source-map-support "~0.5.12"
terser@^5.0.0, terser@^5.5.1:
- version "5.6.1"
- resolved "https://registry.yarnpkg.com/terser/-/terser-5.6.1.tgz#a48eeac5300c0a09b36854bf90d9c26fb201973c"
- integrity sha512-yv9YLFQQ+3ZqgWCUk+pvNJwgUTdlIxUk1WTN+RnaFJe2L7ipG2csPT0ra2XRm7Cs8cxN7QXmK1rFzEwYEQkzXw==
+ version "5.7.0"
+ resolved "https://registry.yarnpkg.com/terser/-/terser-5.7.0.tgz#a761eeec206bc87b605ab13029876ead938ae693"
+ integrity sha512-HP5/9hp2UaZt5fYkuhNBR8YyRcT8juw8+uFbAme53iN9hblvKnLUTKkmwJG6ocWpIKf8UK4DoeWG4ty0J6S6/g==
dependencies:
commander "^2.20.0"
source-map "~0.7.2"
@@ -16343,7 +16368,7 @@ tslib@^1.9.0, tslib@^1.9.3:
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
-tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0:
+tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.2.0.tgz#fb2c475977e35e241311ede2693cee1ec6698f5c"
integrity sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==
@@ -16433,9 +16458,9 @@ ua-parser-js@^0.7.24:
integrity sha512-6Gurc1n//gjp9eQNXjD9O3M/sMwVtN5S8Lv9bvOYBfKfDNiIIhqiyi01vMBO45u4zkDE420w/e0se7Vs+sIg+g==
uglify-js@^3.1.4:
- version "3.13.4"
- resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.13.4.tgz#592588bb9f47ae03b24916e2471218d914955574"
- integrity sha512-kv7fCkIXyQIilD5/yQy8O+uagsYIOt5cZvs890W40/e/rvjMSzJw81o9Bg0tkURxzZBROtDQhW2LFjOGoK3RZw==
+ version "3.13.5"
+ resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.13.5.tgz#5d71d6dbba64cf441f32929b1efce7365bb4f113"
+ integrity sha512-xtB8yEqIkn7zmOyS2zUNBsYCBRhDkvlNxMMY2smuJ/qA8NCHeQvKCF3i9Z4k8FJH4+PJvZRtMrPynfZ75+CSZw==
uid-number@0.0.6:
version "0.0.6"
@@ -16515,11 +16540,6 @@ union-value@^1.0.0:
is-extendable "^0.1.1"
set-value "^2.0.1"
-uniq@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff"
- integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=
-
unique-filename@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230"