@bindu-dashing/dam-solution-v2 5.8.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +53 -0
- package/build/AssetType/AddFieldProperties.d.ts +9 -0
- package/build/AssetType/AddFieldProperties.js +197 -0
- package/build/AssetType/AssetTemplatesTable.d.ts +10 -0
- package/build/AssetType/AssetTemplatesTable.js +153 -0
- package/build/AssetType/CreateAssetTemplate.d.ts +3 -0
- package/build/AssetType/CreateAssetTemplate.js +68 -0
- package/build/AssetType/CreateOrEditAssetTemplate.d.ts +1 -0
- package/build/AssetType/CreateOrEditAssetTemplate.js +77 -0
- package/build/AssetType/DraggedField.d.ts +14 -0
- package/build/AssetType/DraggedField.js +40 -0
- package/build/AssetType/EditAssetTemplate.d.ts +5 -0
- package/build/AssetType/EditAssetTemplate.js +179 -0
- package/build/AssetType/FieldsSection.d.ts +14 -0
- package/build/AssetType/FieldsSection.js +239 -0
- package/build/AssetType/assetTemplatesContainer.d.ts +2 -0
- package/build/AssetType/assetTemplatesContainer.js +71 -0
- package/build/AssetType/fieldProperties/DateField.d.ts +5 -0
- package/build/AssetType/fieldProperties/DateField.js +23 -0
- package/build/AssetType/fieldProperties/NumberField.d.ts +5 -0
- package/build/AssetType/fieldProperties/NumberField.js +91 -0
- package/build/AssetType/fieldProperties/OptionsField.d.ts +6 -0
- package/build/AssetType/fieldProperties/OptionsField.js +55 -0
- package/build/AssetType/fieldProperties/TextField.d.ts +5 -0
- package/build/AssetType/fieldProperties/TextField.js +92 -0
- package/build/AssetType/index.d.ts +11 -0
- package/build/AssetType/index.js +24 -0
- package/build/AssetType/routes.d.ts +3 -0
- package/build/AssetType/routes.js +17 -0
- package/build/BookView/ProductDescription.d.ts +4 -0
- package/build/BookView/ProductDescription.js +20 -0
- package/build/BookView/bookDetail.d.ts +4 -0
- package/build/BookView/bookDetail.js +106 -0
- package/build/BookView/bookInfo.d.ts +4 -0
- package/build/BookView/bookInfo.js +17 -0
- package/build/BookView/description.d.ts +4 -0
- package/build/BookView/description.js +5 -0
- package/build/BookView/index.d.ts +10 -0
- package/build/BookView/index.js +23 -0
- package/build/CreateClient/CreateClientBtn.d.ts +8 -0
- package/build/CreateClient/CreateClientBtn.js +12 -0
- package/build/CreateClient/CreateClientForm.d.ts +9 -0
- package/build/CreateClient/CreateClientForm.js +165 -0
- package/build/CreateClient/index.d.ts +14 -0
- package/build/CreateClient/index.js +18 -0
- package/build/ImagePicker/MetaFieldOptions.d.ts +14 -0
- package/build/ImagePicker/MetaFieldOptions.js +75 -0
- package/build/ImagePicker/TestImagePickerModal.d.ts +8 -0
- package/build/ImagePicker/TestImagePickerModal.js +61 -0
- package/build/ImagePicker/TestImgFromMetaData.d.ts +7 -0
- package/build/ImagePicker/TestImgFromMetaData.js +82 -0
- package/build/ImagePicker/imagePickerComponent.d.ts +6 -0
- package/build/ImagePicker/imagePickerComponent.js +63 -0
- package/build/ImagePicker/index.d.ts +13 -0
- package/build/ImagePicker/index.js +24 -0
- package/build/ImagePicker/routes.d.ts +6 -0
- package/build/ImagePicker/routes.js +17 -0
- package/build/ImagePickerFilters/ImagePickerFiltersComponent.d.ts +8 -0
- package/build/ImagePickerFilters/ImagePickerFiltersComponent.js +223 -0
- package/build/ImagePickerFilters/index.d.ts +12 -0
- package/build/ImagePickerFilters/index.js +19 -0
- package/build/MyDrive/ActionBar.d.ts +6 -0
- package/build/MyDrive/ActionBar.js +165 -0
- package/build/MyDrive/AddDrive.d.ts +3 -0
- package/build/MyDrive/AddDrive.js +169 -0
- package/build/MyDrive/AddFolder.d.ts +10 -0
- package/build/MyDrive/AddFolder.js +150 -0
- package/build/MyDrive/BreadCrumbList.d.ts +9 -0
- package/build/MyDrive/BreadCrumbList.js +86 -0
- package/build/MyDrive/BulkUploadModal.d.ts +2 -0
- package/build/MyDrive/BulkUploadModal.js +279 -0
- package/build/MyDrive/DriveContainer.d.ts +13 -0
- package/build/MyDrive/DriveContainer.js +276 -0
- package/build/MyDrive/FileDownloadHistory.d.ts +7 -0
- package/build/MyDrive/FileDownloadHistory.js +94 -0
- package/build/MyDrive/FileMenuOptions.d.ts +11 -0
- package/build/MyDrive/FileMenuOptions.js +397 -0
- package/build/MyDrive/FilesGridView.d.ts +9 -0
- package/build/MyDrive/FilesGridView.js +25 -0
- package/build/MyDrive/FolderGridView.d.ts +19 -0
- package/build/MyDrive/FolderGridView.js +91 -0
- package/build/MyDrive/FolderListView.d.ts +25 -0
- package/build/MyDrive/FolderListView.js +188 -0
- package/build/MyDrive/FolderMenuOptions.d.ts +5 -0
- package/build/MyDrive/FolderMenuOptions.js +350 -0
- package/build/MyDrive/FolderTree.d.ts +8 -0
- package/build/MyDrive/FolderTree.js +342 -0
- package/build/MyDrive/ImageEditor/EditImage.d.ts +6 -0
- package/build/MyDrive/ImageEditor/EditImage.js +97 -0
- package/build/MyDrive/ImageEditor/EditImageModal.d.ts +8 -0
- package/build/MyDrive/ImageEditor/EditImageModal.js +30 -0
- package/build/MyDrive/ImageEditor/TuiImageEditor.d.ts +10 -0
- package/build/MyDrive/ImageEditor/TuiImageEditor.js +99 -0
- package/build/MyDrive/ImagePickerBreadCrumbList.d.ts +8 -0
- package/build/MyDrive/ImagePickerBreadCrumbList.js +35 -0
- package/build/MyDrive/ImagePickerDrive.d.ts +1 -0
- package/build/MyDrive/ImagePickerDrive.js +41 -0
- package/build/MyDrive/MyDriveMainContainer.d.ts +1 -0
- package/build/MyDrive/MyDriveMainContainer.js +32 -0
- package/build/MyDrive/SearchFilter.d.ts +8 -0
- package/build/MyDrive/SearchFilter.js +73 -0
- package/build/MyDrive/ShareBtn.d.ts +5 -0
- package/build/MyDrive/ShareBtn.js +19 -0
- package/build/MyDrive/ToggleView.d.ts +4 -0
- package/build/MyDrive/ToggleView.js +12 -0
- package/build/MyDrive/UploadStatusModal.d.ts +12 -0
- package/build/MyDrive/UploadStatusModal.js +40 -0
- package/build/MyDrive/fileDetails/CommentEntity.d.ts +8 -0
- package/build/MyDrive/fileDetails/CommentEntity.js +102 -0
- package/build/MyDrive/fileDetails/Comments.d.ts +6 -0
- package/build/MyDrive/fileDetails/Comments.js +65 -0
- package/build/MyDrive/fileDetails/Compliance.d.ts +2 -0
- package/build/MyDrive/fileDetails/Compliance.js +18 -0
- package/build/MyDrive/fileDetails/CreateComment.d.ts +7 -0
- package/build/MyDrive/fileDetails/CreateComment.js +48 -0
- package/build/MyDrive/fileDetails/Editor.d.ts +6 -0
- package/build/MyDrive/fileDetails/Editor.js +55 -0
- package/build/MyDrive/fileDetails/EmojiPicker.d.ts +5 -0
- package/build/MyDrive/fileDetails/EmojiPicker.js +6 -0
- package/build/MyDrive/fileDetails/FileDetails.d.ts +10 -0
- package/build/MyDrive/fileDetails/FileDetails.js +78 -0
- package/build/MyDrive/fileDetails/FileHeader.d.ts +7 -0
- package/build/MyDrive/fileDetails/FileHeader.js +25 -0
- package/build/MyDrive/fileDetails/FileViewer.d.ts +10 -0
- package/build/MyDrive/fileDetails/FileViewer.js +31 -0
- package/build/MyDrive/fileDetails/ImageOptions.d.ts +2 -0
- package/build/MyDrive/fileDetails/ImageOptions.js +44 -0
- package/build/MyDrive/fileDetails/ImageViewer.d.ts +5 -0
- package/build/MyDrive/fileDetails/ImageViewer.js +16 -0
- package/build/MyDrive/fileDetails/ManageFile.d.ts +7 -0
- package/build/MyDrive/fileDetails/ManageFile.js +34 -0
- package/build/MyDrive/fileDetails/MetaForm.d.ts +15 -0
- package/build/MyDrive/fileDetails/MetaForm.js +195 -0
- package/build/MyDrive/fileDetails/Metadata.d.ts +8 -0
- package/build/MyDrive/fileDetails/Metadata.js +52 -0
- package/build/MyDrive/fileDetails/PdfOptions.d.ts +9 -0
- package/build/MyDrive/fileDetails/PdfOptions.js +35 -0
- package/build/MyDrive/fileDetails/PdfViewer.d.ts +8 -0
- package/build/MyDrive/fileDetails/PdfViewer.js +18 -0
- package/build/MyDrive/fileDetails/Previewdetails.d.ts +9 -0
- package/build/MyDrive/fileDetails/Previewdetails.js +53 -0
- package/build/MyDrive/fileDetails/VideoPlayer.d.ts +4 -0
- package/build/MyDrive/fileDetails/VideoPlayer.js +21 -0
- package/build/MyDrive/files/AssetSelectionFormItem.d.ts +7 -0
- package/build/MyDrive/files/AssetSelectionFormItem.js +14 -0
- package/build/MyDrive/files/FolderTabs.d.ts +6 -0
- package/build/MyDrive/files/FolderTabs.js +83 -0
- package/build/MyDrive/files/MapFile.d.ts +8 -0
- package/build/MyDrive/files/MapFile.js +217 -0
- package/build/MyDrive/files/MoveToAnotherFolder.d.ts +9 -0
- package/build/MyDrive/files/MoveToAnotherFolder.js +53 -0
- package/build/MyDrive/filesListView.d.ts +2 -0
- package/build/MyDrive/filesListView.js +57 -0
- package/build/MyDrive/index.d.ts +10 -0
- package/build/MyDrive/index.js +35 -0
- package/build/MyDrive/routes.d.ts +7 -0
- package/build/MyDrive/routes.js +17 -0
- package/build/PenView/PenDetails.d.ts +4 -0
- package/build/PenView/PenDetails.js +114 -0
- package/build/PenView/ProductDescription.d.ts +5 -0
- package/build/PenView/ProductDescription.js +51 -0
- package/build/PenView/index.d.ts +10 -0
- package/build/PenView/index.js +23 -0
- package/build/RefreshKey/RefreshKeyBtn.d.ts +1 -0
- package/build/RefreshKey/RefreshKeyBtn.js +42 -0
- package/build/RefreshKey/index.d.ts +9 -0
- package/build/RefreshKey/index.js +23 -0
- package/build/ShoesView/ProductDescription.d.ts +4 -0
- package/build/ShoesView/ProductDescription.js +25 -0
- package/build/ShoesView/ShoeDetails.d.ts +4 -0
- package/build/ShoesView/ShoeDetails.js +96 -0
- package/build/ShoesView/index.d.ts +10 -0
- package/build/ShoesView/index.js +23 -0
- package/build/common/Button.d.ts +2 -0
- package/build/common/Button.js +18 -0
- package/build/common/CustomElements.d.ts +98 -0
- package/build/common/CustomElements.js +77 -0
- package/build/common/LoadMoreItems.d.ts +7 -0
- package/build/common/LoadMoreItems.js +33 -0
- package/build/common/RenderFormItem.d.ts +42 -0
- package/build/common/RenderFormItem.js +98 -0
- package/build/common/RenderThumnail.d.ts +7 -0
- package/build/common/RenderThumnail.js +6 -0
- package/build/common/deleteModal.d.ts +1 -0
- package/build/common/deleteModal.js +12 -0
- package/build/common/folders/TypeAndDateFilters.d.ts +10 -0
- package/build/common/folders/TypeAndDateFilters.js +59 -0
- package/build/common/folders/getFolderOrFileIcon.d.ts +2 -0
- package/build/common/folders/getFolderOrFileIcon.js +41 -0
- package/build/common/loader/CustomLoader.d.ts +7 -0
- package/build/common/loader/CustomLoader.js +8 -0
- package/build/common/loader/loader.d.ts +1 -0
- package/build/common/loader/loader.js +6 -0
- package/build/common/notifications.d.ts +2 -0
- package/build/common/notifications.js +30 -0
- package/build/common/steps.d.ts +4 -0
- package/build/common/steps.js +7 -0
- package/build/hocs/AppProvider.d.ts +3 -0
- package/build/hocs/AppProvider.js +11 -0
- package/build/hocs/DamConfigContext.d.ts +2 -0
- package/build/hocs/DamConfigContext.js +108 -0
- package/build/hocs/ThemeContext.d.ts +15 -0
- package/build/hocs/ThemeContext.js +131 -0
- package/build/hocs/ToastProvider.d.ts +2 -0
- package/build/hocs/ToastProvider.js +6 -0
- package/build/hocs/appConstants.d.ts +124 -0
- package/build/hocs/appConstants.js +211 -0
- package/build/hocs/configureAxios.d.ts +2 -0
- package/build/hocs/configureAxios.js +65 -0
- package/build/hocs/helpers.d.ts +15 -0
- package/build/hocs/helpers.js +177 -0
- package/build/index.d.ts +11 -0
- package/build/index.js +11 -0
- package/build/react-query/hooks/brand-hooks.d.ts +3 -0
- package/build/react-query/hooks/brand-hooks.js +10 -0
- package/build/react-query/hooks/folder-hooks.d.ts +7 -0
- package/build/react-query/hooks/folder-hooks.js +119 -0
- package/build/react-query/services/brand-services.d.ts +3 -0
- package/build/react-query/services/brand-services.js +30 -0
- package/build/react-query/services/file-services.d.ts +43 -0
- package/build/react-query/services/file-services.js +69 -0
- package/build/react-query/services/folder-services.d.ts +44 -0
- package/build/react-query/services/folder-services.js +87 -0
- package/build/react-query/services/image-picker-services.d.ts +5 -0
- package/build/react-query/services/image-picker-services.js +48 -0
- package/build/settings/InviteTeamModal.d.ts +12 -0
- package/build/settings/InviteTeamModal.js +174 -0
- package/build/settings/UpdateInvitationAccessType.d.ts +9 -0
- package/build/settings/UpdateInvitationAccessType.js +96 -0
- package/build/settings/getUserAvatar.d.ts +7 -0
- package/build/settings/getUserAvatar.js +11 -0
- package/build/style.css +1 -0
- package/build/types/assetType.d.ts +8 -0
- package/build/types/assetType.js +1 -0
- package/build/ui/pageTitle.d.ts +3 -0
- package/build/ui/pageTitle.js +4 -0
- package/build/utilities/FoldersContext.d.ts +14 -0
- package/build/utilities/FoldersContext.js +10 -0
- package/build/utilities/NavigatorProvider.d.ts +2 -0
- package/build/utilities/NavigatorProvider.js +10 -0
- package/build/utilities/constants/apiUrls.d.ts +95 -0
- package/build/utilities/constants/apiUrls.js +115 -0
- package/build/utilities/constants/imageUrls.d.ts +6 -0
- package/build/utilities/constants/imageUrls.js +6 -0
- package/build/utilities/constants/interface.d.ts +371 -0
- package/build/utilities/constants/interface.js +142 -0
- package/build/utilities/constants/messages.d.ts +54 -0
- package/build/utilities/constants/messages.js +54 -0
- package/build/utilities/constants/queryKeys.d.ts +16 -0
- package/build/utilities/constants/queryKeys.js +33 -0
- package/build/utilities/constants/routes.d.ts +22 -0
- package/build/utilities/constants/routes.js +22 -0
- package/build/utilities/helpers/validators.d.ts +12 -0
- package/build/utilities/helpers/validators.js +89 -0
- package/build/utilities/useAppNavigate.d.ts +2 -0
- package/build/utilities/useAppNavigate.js +19 -0
- package/build/utilities/useAppParams.d.ts +6 -0
- package/build/utilities/useAppParams.js +27 -0
- package/package.json +93 -0
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { DEFAULT_PAGE } from "../../hocs/appConstants";
|
|
11
|
+
import { addQueryParams } from "../../hocs/helpers";
|
|
12
|
+
import { FETCH_IMAGEPICKERS_URL } from "../../utilities/constants/apiUrls";
|
|
13
|
+
import { QueryKeys } from "../../utilities/constants/queryKeys";
|
|
14
|
+
import { get } from "lodash";
|
|
15
|
+
import { useInfiniteQuery } from "react-query";
|
|
16
|
+
function fetchPickers(api, params) {
|
|
17
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
18
|
+
try {
|
|
19
|
+
console.log("fetchPickers", `${FETCH_IMAGEPICKERS_URL}?${addQueryParams(params)}`);
|
|
20
|
+
const response = yield api.get(`${FETCH_IMAGEPICKERS_URL}?${addQueryParams(params)}`);
|
|
21
|
+
return get(response, "data");
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
throw error;
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
export const useImagePickers = (headers, params, id) => {
|
|
29
|
+
return useInfiniteQuery({
|
|
30
|
+
queryKey: [QueryKeys.IMAGE_PICKERS, id],
|
|
31
|
+
queryFn: (_a) => __awaiter(void 0, [_a], void 0, function* ({ pageParam = DEFAULT_PAGE }) {
|
|
32
|
+
const updatedParams = Object.assign(Object.assign({}, params), { page: pageParam });
|
|
33
|
+
return fetchPickers(headers, updatedParams);
|
|
34
|
+
}),
|
|
35
|
+
getNextPageParam: (lastPage, allPages) => {
|
|
36
|
+
const currentPage = Number(get(lastPage, "currentPage"));
|
|
37
|
+
const totalPages = get(lastPage, "totalPages");
|
|
38
|
+
if (currentPage < totalPages) {
|
|
39
|
+
return currentPage + 1;
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
return undefined;
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
enabled: !!id && !!get(headers, "headers.Authorization"),
|
|
46
|
+
refetchOnWindowFocus: false,
|
|
47
|
+
});
|
|
48
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { FileEntity, FolderEntity } from "../utilities/constants/interface";
|
|
2
|
+
declare const InviteTeamModal: ({ open, onClose, onFetchInvitations, shareModal, fileIds, folderIds, inviteType, file, }: {
|
|
3
|
+
open: boolean;
|
|
4
|
+
onClose: () => void;
|
|
5
|
+
onFetchInvitations: () => void;
|
|
6
|
+
shareModal?: boolean;
|
|
7
|
+
fileIds?: string[];
|
|
8
|
+
folderIds?: string[];
|
|
9
|
+
inviteType: string;
|
|
10
|
+
file: FileEntity | FolderEntity | null;
|
|
11
|
+
}) => JSX.Element;
|
|
12
|
+
export default InviteTeamModal;
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
11
|
+
import { useMemo, useState } from "react";
|
|
12
|
+
import { Modal, Typography, Avatar, Select, Tooltip, } from "antd";
|
|
13
|
+
import { ArrowLeftOutlined, LinkOutlined, } from "@ant-design/icons";
|
|
14
|
+
import { isEmpty, get, map, filter, concat, first, some, join, } from "lodash";
|
|
15
|
+
import CustomButton from "../common/Button";
|
|
16
|
+
import { showNotification } from "../common/notifications";
|
|
17
|
+
import { DriveModes, NotificationStatus, ShareFileRoles, } from "../utilities/constants/interface";
|
|
18
|
+
import { SHARE_SUCCESS, SOMETHING_WENT_WRONG, } from "../utilities/constants/messages";
|
|
19
|
+
import { DEFAULT_PAGE } from "../hocs/appConstants";
|
|
20
|
+
import { SHARE_FILE_URL, } from "../utilities/constants/apiUrls";
|
|
21
|
+
import { IoIosLink } from "react-icons/io";
|
|
22
|
+
import { useQueryClient } from "react-query";
|
|
23
|
+
import PageTitle from "../ui/pageTitle";
|
|
24
|
+
import { getSelectedFiles } from "../react-query/hooks/folder-hooks";
|
|
25
|
+
import { QueryKeys } from "../utilities/constants/queryKeys";
|
|
26
|
+
import { handleCopy } from "../common/CustomElements";
|
|
27
|
+
import { FETCH_ENTITY_SCREEN } from "../utilities/constants/routes";
|
|
28
|
+
import { useDamConfig } from "../hocs/DamConfigContext";
|
|
29
|
+
import { createApiClient } from "../hocs/configureAxios";
|
|
30
|
+
import useAppParams from "../utilities/useAppParams";
|
|
31
|
+
const IoIosLinkIcon = IoIosLink;
|
|
32
|
+
const { Text } = Typography;
|
|
33
|
+
const { Option } = Select;
|
|
34
|
+
const InviteTeamModal = ({ open, onClose, onFetchInvitations, shareModal, fileIds = [], folderIds, inviteType, file, }) => {
|
|
35
|
+
const damConfig = useDamConfig();
|
|
36
|
+
const { brand, rootFolderId, user } = damConfig;
|
|
37
|
+
const externalTeams = (damConfig === null || damConfig === void 0 ? void 0 : damConfig.teams) || [];
|
|
38
|
+
const userMail = get(user, "email");
|
|
39
|
+
const brandId = get(brand, "_id");
|
|
40
|
+
const queryClient = useQueryClient();
|
|
41
|
+
const { folderId, type } = useAppParams();
|
|
42
|
+
const [selectedTeams, setSelectedTeams] = useState([]);
|
|
43
|
+
const api = useMemo(() => createApiClient(damConfig), [damConfig]);
|
|
44
|
+
const isMultiSelection = useMemo(() => get(folderIds, "length", 0) + get(fileIds, "length", 0) > DEFAULT_PAGE, [folderIds, fileIds]);
|
|
45
|
+
const files = getSelectedFiles(queryClient, folderId ? folderId : rootFolderId, QueryKeys.FOLDERS, fileIds);
|
|
46
|
+
const folders = getSelectedFiles(queryClient, folderId ? folderId : rootFolderId, QueryKeys.FOLDERS, folderIds);
|
|
47
|
+
// console.log(files, folders);
|
|
48
|
+
const fileLinks = useMemo(() => {
|
|
49
|
+
return map(fileIds, (id) => `${process.env.NEXT_PUBLIC_SITE_URL}` +
|
|
50
|
+
FETCH_ENTITY_SCREEN.replace(":type", DriveModes.FILE).replace(":id", id));
|
|
51
|
+
}, [fileIds]);
|
|
52
|
+
const folderLinks = useMemo(() => {
|
|
53
|
+
return map(folderIds, (id) => `${process.env.NEXT_PUBLIC_SITE_URL}` +
|
|
54
|
+
FETCH_ENTITY_SCREEN.replace(":type", DriveModes.FOLDERS).replace(":id", id));
|
|
55
|
+
}, [folderIds]);
|
|
56
|
+
const link = useMemo(() => {
|
|
57
|
+
if (shareModal) {
|
|
58
|
+
return get(concat(fileLinks, folderLinks), "length") > 1
|
|
59
|
+
? join(concat(fileLinks, folderLinks), ", ")
|
|
60
|
+
: first(concat(fileLinks, folderLinks));
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
return `${process.env.NEXT_PUBLIC_SITE_URL}/invite/${brandId}`;
|
|
64
|
+
}
|
|
65
|
+
}, [brandId, shareModal, fileLinks, folderLinks]);
|
|
66
|
+
const teamIds = useMemo(() => {
|
|
67
|
+
if (get(concat(files, folders), "length")) {
|
|
68
|
+
return get(concat(files, folders), "length") > 1
|
|
69
|
+
? []
|
|
70
|
+
: get(first(concat(files, folders)), "teamIds", []);
|
|
71
|
+
}
|
|
72
|
+
}, [files, brandId, queryClient, folders]);
|
|
73
|
+
const brandInvitionSettings = useMemo(() => get(brand, "invitationSettings", {}), [brand]);
|
|
74
|
+
const [state, setState] = useState({
|
|
75
|
+
emails: [],
|
|
76
|
+
inputValue: "",
|
|
77
|
+
error: "",
|
|
78
|
+
loading: false,
|
|
79
|
+
showShareScreen: false,
|
|
80
|
+
selectedRole: ShareFileRoles.EDITOR,
|
|
81
|
+
});
|
|
82
|
+
const { emails, inputValue, error, loading, showShareScreen, selectedRole } = state;
|
|
83
|
+
const handleInputChange = (e) => {
|
|
84
|
+
setState((prevState) => (Object.assign(Object.assign({}, prevState), { inputValue: e.target.value, error: "" })));
|
|
85
|
+
};
|
|
86
|
+
// const handleInputConfirm = () => {
|
|
87
|
+
// const brandUserEmails = map(users, (user) => get(user, "email"));
|
|
88
|
+
// if (!inputValue) {
|
|
89
|
+
// setState((prevState) => ({
|
|
90
|
+
// ...prevState,
|
|
91
|
+
// error: ENTITY_REQUIRED.replace(":entity", "Email"),
|
|
92
|
+
// }));
|
|
93
|
+
// return;
|
|
94
|
+
// }
|
|
95
|
+
// const validationResult = validateEmail(inputValue);
|
|
96
|
+
// if (!get(validationResult, "valid")) {
|
|
97
|
+
// setState((prevState) => ({
|
|
98
|
+
// ...prevState,
|
|
99
|
+
// error: get(validationResult, "error") || "",
|
|
100
|
+
// }));
|
|
101
|
+
// return;
|
|
102
|
+
// }
|
|
103
|
+
// if (includes(brandUserEmails, inputValue)) {
|
|
104
|
+
// setState((prevState) => ({
|
|
105
|
+
// ...prevState,
|
|
106
|
+
// error:
|
|
107
|
+
// inputValue === userMail
|
|
108
|
+
// ? SELF_INVITATION_ERROR
|
|
109
|
+
// : INVITED_USER_ALREADY_EXISTS_IN_CURRENT_BRAND,
|
|
110
|
+
// }));
|
|
111
|
+
// return;
|
|
112
|
+
// }
|
|
113
|
+
// if (!includes(emails, inputValue)) {
|
|
114
|
+
// setState((prevState) => ({
|
|
115
|
+
// ...prevState,
|
|
116
|
+
// emails: [...prevState.emails, inputValue.toLowerCase()],
|
|
117
|
+
// inputValue: "",
|
|
118
|
+
// }));
|
|
119
|
+
// }
|
|
120
|
+
// };
|
|
121
|
+
const handleTagClose = (email) => {
|
|
122
|
+
setState((prevState) => (Object.assign(Object.assign({}, prevState), { emails: filter(prevState.emails, (e) => e !== email) })));
|
|
123
|
+
};
|
|
124
|
+
const onShareFile = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
125
|
+
setState((prevState) => (Object.assign(Object.assign({}, prevState), { loading: true })));
|
|
126
|
+
const data = {
|
|
127
|
+
teamIds: selectedTeams,
|
|
128
|
+
fileIds,
|
|
129
|
+
folderIds,
|
|
130
|
+
};
|
|
131
|
+
try {
|
|
132
|
+
const response = yield api.post(SHARE_FILE_URL, data);
|
|
133
|
+
showNotification(get(response, "data.message", SHARE_SUCCESS), NotificationStatus.SUCCESS);
|
|
134
|
+
setState((prevState) => (Object.assign(Object.assign({}, prevState), { emails: [], error: "" })));
|
|
135
|
+
onClose();
|
|
136
|
+
}
|
|
137
|
+
catch (error) {
|
|
138
|
+
showNotification(get(error, "message", SOMETHING_WENT_WRONG), NotificationStatus.ERROR);
|
|
139
|
+
}
|
|
140
|
+
finally {
|
|
141
|
+
setState((prevState) => (Object.assign(Object.assign({}, prevState), { loading: false })));
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
// const userOptions = useMemo(() => {
|
|
145
|
+
// return map(
|
|
146
|
+
// filter(
|
|
147
|
+
// getCurrentBrandUsers(queryClient, brandId),
|
|
148
|
+
// (user: BrandUserEntity) =>
|
|
149
|
+
// !some(
|
|
150
|
+
// users,
|
|
151
|
+
// (fileUser) => get(fileUser, "email") === get(user, "email")
|
|
152
|
+
// )
|
|
153
|
+
// ),
|
|
154
|
+
// (user: BrandUserEntity) => getUserAvatar(user)
|
|
155
|
+
// );
|
|
156
|
+
// }, [users, brandId]);
|
|
157
|
+
const teamOptions = useMemo(() => {
|
|
158
|
+
return map(filter(externalTeams, (team) => !some(teamIds, (id) => id === get(team, "id"))), (team) => {
|
|
159
|
+
return {
|
|
160
|
+
label: get(team, "id") + " " + get(team, "name"),
|
|
161
|
+
value: get(team, "id"),
|
|
162
|
+
};
|
|
163
|
+
});
|
|
164
|
+
}, [teamIds, externalTeams]);
|
|
165
|
+
return (_jsxs(Modal, { open: open, onCancel: onClose, title: _jsx("span", { className: "md-lib-text-headingText dark:md-lib-text-darkTextColor md-lib-font-semibold md-lib-text-xl md-lib-mb-5", children: shareModal ? (_jsxs("div", { className: "md-lib-flex md-lib-gap-3 md-lib-items-center", children: [showShareScreen && (_jsx(ArrowLeftOutlined, { className: "md-lib-cursor-pointer", onClick: () => setState((prevState) => (Object.assign(Object.assign({}, prevState), { showShareScreen: false }))) })), _jsx(PageTitle, { label: inviteType === DriveModes.FOLDERS
|
|
166
|
+
? "Share folder"
|
|
167
|
+
: "Share file" })] })) : ("Invite your team") }), width: 450, footer: _jsxs("div", { className: `md-lib-flex ${showShareScreen ? "md-lib-justify-between" : "md-lib-justify-end"}`, children: [showShareScreen && (_jsx(Tooltip, { title: "Share via link", children: _jsx(CustomButton, { label: "", icon: _jsx(LinkOutlined, {}), type: "text", onClick: () => handleCopy(link) }) })), _jsxs("div", { className: "md-lib-flex md-lib-justify-end md-lib-gap-2", children: [_jsx(CustomButton, { label: "Cancel", onClick: onClose }), _jsx(CustomButton, { label: "Share", type: isEmpty(emails) ? "default" : "primary", disabled: isEmpty(selectedTeams), onClick: onShareFile, loading: loading })] })] }), children: [_jsx("p", { className: "md-lib-block md-lib-text-xs md-lib-text-secondaryTextColor dark:md-lib-text-darkSecondaryTextColor md-lib-font-medium md-lib-mb-1", children: "Add Teams" }), _jsx(Select, { options: teamOptions, placeholder: "Select teams", mode: "multiple", onChange: (val) => setSelectedTeams(val), style: { width: "100%" }, optionFilterProp: "label" }), error && _jsx("p", { className: "md-lib-text-dangerColor md-lib-block md-lib-mb-2", children: error }), !showShareScreen && !isEmpty(teamIds) && (_jsxs("div", { className: "md-lib-flex md-lib-flex-col md-lib-gap-3 md-lib-pt-4", children: [_jsx("p", { className: "md-lib-text-textColor dark:md-lib-text-darkTextColor md-lib-font-semibold md-lib-text-base", children: "Teams with access" }), _jsx("div", { className: "md-lib-space-y-4", children: map(teamIds, (id, idx) => {
|
|
168
|
+
const team = externalTeams.find((item) => item.id == id);
|
|
169
|
+
return (_jsx(_Fragment, { children: team && (_jsx("div", { className: "md-lib-flex md-lib-items-center md-lib-justify-between", children: _jsxs("div", { className: "md-lib-flex md-lib-items-center md-lib-space-x-3", children: [_jsx(Avatar, { size: 32, style: { backgroundColor: "#C0D3F9" }, children: get(team, "name", "Unknown").charAt(0) }), _jsx("div", { children: _jsx("p", { className: "md-lib-font-medium md-lib-block md-lib-text-sm md-lib-mb-1 md-lib-text-black dark:md-lib-text-white md-lib-truncate md-lib-max-w-40", title: get(team, "name", "Unknown"), children: get(team, "id", "Unknown") +
|
|
170
|
+
" " +
|
|
171
|
+
get(team, "name", "Unknown") }) })] }) }, idx)) }));
|
|
172
|
+
}) })] }))] }));
|
|
173
|
+
};
|
|
174
|
+
export default InviteTeamModal;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { FileEntity, FolderEntity, InvitationTypes } from "../utilities/constants/interface";
|
|
2
|
+
declare function UpdateInvitationAccessType({ invitationSettings, file, }: {
|
|
3
|
+
invitationSettings?: {
|
|
4
|
+
inviteType?: InvitationTypes;
|
|
5
|
+
inviteRole?: string;
|
|
6
|
+
};
|
|
7
|
+
file?: FileEntity | FolderEntity;
|
|
8
|
+
}): JSX.Element;
|
|
9
|
+
export default UpdateInvitationAccessType;
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
|
+
import { InvitationTypes, NotificationStatus, ShareFileRoles, } from "../utilities/constants/interface";
|
|
12
|
+
import { RenderCustomSelect } from "../common/CustomElements";
|
|
13
|
+
import { useQueryClient } from "react-query";
|
|
14
|
+
import { useMemo, useState } from "react";
|
|
15
|
+
import { capitalize, get, lowerCase, map } from "lodash";
|
|
16
|
+
import { BrandUserRoles, ROLES } from "../hocs/appConstants";
|
|
17
|
+
import CustomButton from "../common/Button";
|
|
18
|
+
import { EditOutlined, CloseOutlined, CheckOutlined } from "@ant-design/icons";
|
|
19
|
+
import { Tooltip } from "antd";
|
|
20
|
+
import { FETCH_BRAND_URL, UPDATE_FILE_ACCESS_URL, } from "../utilities/constants/apiUrls";
|
|
21
|
+
import { showNotification } from "../common/notifications";
|
|
22
|
+
import { SOMETHING_WENT_WRONG, UPDATE_SUCCESS, } from "../utilities/constants/messages";
|
|
23
|
+
import { generateFoldersQueryKey, invalidateData, QueryKeys, } from "../utilities/constants/queryKeys";
|
|
24
|
+
import { useDamConfig } from "../hocs/DamConfigContext";
|
|
25
|
+
import { createApiClient } from "../hocs/configureAxios";
|
|
26
|
+
import useAppParams from "../utilities/useAppParams";
|
|
27
|
+
function UpdateInvitationAccessType({ invitationSettings, file, }) {
|
|
28
|
+
const damConfig = useDamConfig();
|
|
29
|
+
const { brand, rootFolderId } = damConfig;
|
|
30
|
+
const api = useMemo(() => createApiClient(damConfig), [damConfig]);
|
|
31
|
+
const brandId = get(brand, "_id");
|
|
32
|
+
const queryClient = useQueryClient();
|
|
33
|
+
const { type, folderId } = useAppParams();
|
|
34
|
+
const [state, setState] = useState({
|
|
35
|
+
loading: false,
|
|
36
|
+
showEdit: false,
|
|
37
|
+
inviteType: !!file
|
|
38
|
+
? get(file, "accessSettings.type", InvitationTypes.RESTRICTED)
|
|
39
|
+
: get(invitationSettings, "inviteType", InvitationTypes.RESTRICTED),
|
|
40
|
+
inviteRole: !!file
|
|
41
|
+
? get(file, "accessSettings.role", ShareFileRoles.EDITOR)
|
|
42
|
+
: get(invitationSettings, "inviteRole", ROLES.BRAND_MEMBER),
|
|
43
|
+
});
|
|
44
|
+
const { loading, showEdit, inviteRole, inviteType } = state;
|
|
45
|
+
const toggleEdit = () => {
|
|
46
|
+
setState((prevState) => (Object.assign(Object.assign({}, prevState), { showEdit: !prevState.showEdit, inviteType: !!file
|
|
47
|
+
? get(file, "accessSettings.type", InvitationTypes.RESTRICTED)
|
|
48
|
+
: get(invitationSettings, "inviteType", InvitationTypes.RESTRICTED), inviteRole: !!file
|
|
49
|
+
? get(file, "accessSettings.role", ShareFileRoles.EDITOR)
|
|
50
|
+
: get(invitationSettings, "inviteRole", ROLES.BRAND_MEMBER) })));
|
|
51
|
+
};
|
|
52
|
+
const updateInviteSettings = () => __awaiter(this, void 0, void 0, function* () {
|
|
53
|
+
setState((prevState) => (Object.assign(Object.assign({}, prevState), { loading: true })));
|
|
54
|
+
try {
|
|
55
|
+
const response = yield api.put(FETCH_BRAND_URL.replace(":brandId", brandId), inviteType === InvitationTypes.ANYONE_WITH_LINK
|
|
56
|
+
? { invitationSettings: { inviteRole, inviteType } }
|
|
57
|
+
: { invitationSettings: { inviteType } });
|
|
58
|
+
setState((prevState) => (Object.assign(Object.assign({}, prevState), { showEdit: false })));
|
|
59
|
+
invalidateData(queryClient, QueryKeys.BRAND, brandId);
|
|
60
|
+
showNotification(get(response, "data.message", UPDATE_SUCCESS), NotificationStatus.SUCCESS);
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
setState((prevState) => (Object.assign(Object.assign({}, prevState), { loading: false, inviteType: get(invitationSettings, "inviteType", InvitationTypes.RESTRICTED), inviteRole: get(invitationSettings, "inviteRole", ROLES.BRAND_MEMBER) })));
|
|
64
|
+
showNotification(get(error, "message", SOMETHING_WENT_WRONG), NotificationStatus.ERROR);
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
const updateFileAccess = () => __awaiter(this, void 0, void 0, function* () {
|
|
68
|
+
setState((prevState) => (Object.assign(Object.assign({}, prevState), { loading: true })));
|
|
69
|
+
try {
|
|
70
|
+
const response = yield api.put(UPDATE_FILE_ACCESS_URL.replace(":fileId", get(file, "_id")), { type: inviteType, role: inviteRole });
|
|
71
|
+
setState((prevState) => (Object.assign(Object.assign({}, prevState), { showEdit: false })));
|
|
72
|
+
invalidateData(queryClient, generateFoldersQueryKey(type), folderId ? folderId : rootFolderId);
|
|
73
|
+
showNotification(get(response, "data.message", UPDATE_SUCCESS), NotificationStatus.SUCCESS);
|
|
74
|
+
}
|
|
75
|
+
catch (error) {
|
|
76
|
+
setState((prevState) => (Object.assign(Object.assign({}, prevState), { loading: false, inviteRole: get(file, "accessSettings.role", ShareFileRoles.EDITOR), inviteType: get(file, "accessSettings.type", InvitationTypes.RESTRICTED) })));
|
|
77
|
+
showNotification(get(error, "message", SOMETHING_WENT_WRONG), NotificationStatus.ERROR);
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
return (_jsxs("div", { className: "md-lib-flex md-lib-flex-col md-lib-gap-2", children: [_jsxs("div", { className: "md-lib-flex md-lib-items-center md-lib-gap-2", children: [_jsx(RenderCustomSelect, { value: inviteType, disabled: !showEdit, className: "md-lib-w-40 md-lib-z-1050", placeholder: "", options: [
|
|
81
|
+
{
|
|
82
|
+
label: "Restricted",
|
|
83
|
+
value: InvitationTypes.RESTRICTED,
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
label: "Anyone with the link",
|
|
87
|
+
value: InvitationTypes.ANYONE_WITH_LINK,
|
|
88
|
+
},
|
|
89
|
+
], onChange: (type) => setState((prev) => (Object.assign(Object.assign({}, prev), { inviteType: type }))) }), inviteType === InvitationTypes.ANYONE_WITH_LINK && (_jsx(RenderCustomSelect, { value: inviteRole, className: "md-lib-w-40 md-lib-z-1050", disabled: !showEdit, placeholder: "", options: map(Object.values(!!file ? ShareFileRoles : BrandUserRoles), (role) => ({
|
|
90
|
+
label: capitalize(lowerCase(role)),
|
|
91
|
+
value: role,
|
|
92
|
+
})), onChange: (role) => setState((prev) => (Object.assign(Object.assign({}, prev), { inviteRole: role }))) })), showEdit ? (_jsxs("div", { className: "md-lib-flex md-lib-items-center md-lib-gap-2", children: [_jsx(Tooltip, { title: "Close", children: _jsx(CustomButton, { label: "", icon: _jsx(CloseOutlined, {}), onClick: toggleEdit }) }), _jsx(Tooltip, { title: "Save", children: _jsx(CustomButton, { type: "primary", label: "", icon: _jsx(CheckOutlined, {}), loading: loading, onClick: !!file ? updateFileAccess : updateInviteSettings }) })] })) : (_jsx(Tooltip, { title: "Edit", children: _jsx(CustomButton, { label: "", icon: _jsx(EditOutlined, {}), onClick: toggleEdit }) }))] }), _jsx("p", { className: "md-lib-text-sm md-lib-text-textColor dark:md-lib-text-darkTextColor md-lib-pt-1", children: inviteType === InvitationTypes.ANYONE_WITH_LINK
|
|
93
|
+
? "Anyone on the internet can open the link"
|
|
94
|
+
: "Only people with access can open with the link" })] }));
|
|
95
|
+
}
|
|
96
|
+
export default UpdateInvitationAccessType;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Avatar } from "antd";
|
|
3
|
+
import { get } from "lodash";
|
|
4
|
+
export const getUserAvatar = (user) => {
|
|
5
|
+
return {
|
|
6
|
+
label: (_jsxs("div", { className: "md-lib-flex md-lib-items-center md-lib-space-x-3", children: [get(user, "profile_picture") ? (_jsx(Avatar, { size: 32, src: get(user, "profile_picture") })) : (_jsx(Avatar, { size: 32, className: "md-lib-bg-borderColor", children: get(user, "name", "Unknown").charAt(0) })), _jsxs("div", { children: [_jsx("p", { className: "md-lib-font-medium md-lib-block md-lib-text-sm md-lib-mb-1 md-lib-text-black dark:md-lib-text-white md-lib-truncate md-lib-max-w-40", title: get(user, "name", "Unknown"), children: get(user, "name", "Unknown") }), _jsx("p", { className: "md-lib-text-xs md-lib-text-secondaryTextColor dark:md-lib-text-darkSecondaryTextColor md-lib-truncate md-lib-max-w-40", title: get(user, "email", "N/A"), children: get(user, "email", "N/A") })] })] })),
|
|
7
|
+
value: get(user, "email", ""),
|
|
8
|
+
name: get(user, "name", ""),
|
|
9
|
+
key: get(user, "_id"),
|
|
10
|
+
};
|
|
11
|
+
};
|
package/build/style.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.md-lib-pointer-events-none{pointer-events:none}.md-lib-fixed{position:fixed}.md-lib-absolute{position:absolute}.md-lib-relative{position:relative}.md-lib-inset-0{inset:0}.\!-md-lib-left-full{left:-100%!important}.md-lib--top-3{top:-.75rem}.md-lib-bottom-0{bottom:0}.md-lib-bottom-10{bottom:2.5rem}.md-lib-bottom-6{bottom:1.5rem}.md-lib-left-0{left:0}.md-lib-left-1{left:.25rem}.md-lib-left-1\/2{left:50%}.md-lib-left-6{left:1.5rem}.md-lib-right-0{right:0}.md-lib-right-1{right:.25rem}.md-lib-right-3{right:.75rem}.md-lib-right-6{right:1.5rem}.md-lib-top-1{top:.25rem}.md-lib-top-1\/2{top:50%}.md-lib-top-16{top:4rem}.md-lib-z-30{z-index:30}.md-lib-z-50{z-index:50}.md-lib-z-\[1000\]{z-index:1000}.md-lib-z-\[1001\]{z-index:1001}.md-lib-order-2{order:2}.md-lib-col-span-1{grid-column:span 1/span 1}.md-lib-col-span-2{grid-column:span 2/span 2}.md-lib-col-span-3{grid-column:span 3/span 3}.md-lib-m-2{margin:.5rem}.\!md-lib-my-2{margin-bottom:.5rem!important;margin-top:.5rem!important}.md-lib-mx-2\.5{margin-left:.625rem;margin-right:.625rem}.md-lib-mx-8{margin-left:2rem;margin-right:2rem}.md-lib-mx-auto{margin-left:auto;margin-right:auto}.md-lib-my-3{margin-bottom:.75rem;margin-top:.75rem}.md-lib-my-4{margin-bottom:1rem;margin-top:1rem}.md-lib-mb-0{margin-bottom:0}.md-lib-mb-1{margin-bottom:.25rem}.md-lib-mb-2{margin-bottom:.5rem}.md-lib-mb-3{margin-bottom:.75rem}.md-lib-mb-4{margin-bottom:1rem}.md-lib-mb-5{margin-bottom:1.25rem}.md-lib-mb-6{margin-bottom:1.5rem}.md-lib-mb-8{margin-bottom:2rem}.md-lib-ml-1{margin-left:.25rem}.md-lib-ml-12{margin-left:3rem}.md-lib-ml-2{margin-left:.5rem}.md-lib-ml-4{margin-left:1rem}.md-lib-ml-auto{margin-left:auto}.md-lib-mr-2{margin-right:.5rem}.md-lib-mt-1{margin-top:.25rem}.md-lib-mt-2{margin-top:.5rem}.md-lib-mt-3{margin-top:.75rem}.md-lib-mt-4{margin-top:1rem}.md-lib-mt-8{margin-top:2rem}.md-lib-mt-\[3px\]{margin-top:3px}.md-lib-block{display:block}.md-lib-inline-block{display:inline-block}.md-lib-flex{display:flex}.md-lib-inline-table{display:inline-table}.md-lib-grid{display:grid}.md-lib-hidden{display:none}.md-lib-aspect-square{aspect-ratio:1/1}.md-lib-aspect-video{aspect-ratio:16/9}.\!md-lib-h-screen{height:100vh!important}.md-lib-h-10{height:2.5rem}.md-lib-h-11{height:2.75rem}.md-lib-h-12{height:3rem}.md-lib-h-16{height:4rem}.md-lib-h-20{height:5rem}.md-lib-h-28{height:7rem}.md-lib-h-4{height:1rem}.md-lib-h-5{height:1.25rem}.md-lib-h-52{height:13rem}.md-lib-h-8{height:2rem}.md-lib-h-\[300px\]{height:300px}.md-lib-h-\[33px\]{height:33px}.md-lib-h-\[calc\(100vh-65px\)\]{height:calc(100vh - 65px)}.md-lib-h-\[inherit\]{height:inherit}.md-lib-h-auto{height:auto}.md-lib-h-full{height:100%}.md-lib-h-screen{height:100vh}.md-lib-max-h-\[400px\]{max-height:400px}.md-lib-max-h-\[calc\(100\%-161px\)\]{max-height:calc(100% - 161px)}.md-lib-max-h-\[calc\(100\%-76px\)\]{max-height:calc(100% - 76px)}.md-lib-max-h-\[calc\(100vh-65px\)\]{max-height:calc(100vh - 65px)}.md-lib-min-h-14{min-height:3.5rem}.md-lib-min-h-36{min-height:9rem}.md-lib-min-h-\[calc\(100vh-127px\)\]{min-height:calc(100vh - 127px)}.md-lib-min-h-\[calc\(100vh-135px\)\]{min-height:calc(100vh - 135px)}.md-lib-min-h-full{min-height:100%}.\!md-lib-w-12{width:3rem!important}.md-lib-w-10{width:2.5rem}.md-lib-w-11\/12{width:91.666667%}.md-lib-w-12{width:3rem}.md-lib-w-4{width:1rem}.md-lib-w-4\/5{width:80%}.md-lib-w-40{width:10rem}.md-lib-w-5{width:1.25rem}.md-lib-w-6{width:1.5rem}.md-lib-w-8{width:2rem}.md-lib-w-80{width:20rem}.md-lib-w-96{width:24rem}.md-lib-w-\[100px\]{width:100px}.md-lib-w-\[120px\]{width:120px}.md-lib-w-\[150px\]{width:150px}.md-lib-w-\[1px\]{width:1px}.md-lib-w-\[280px\]{width:280px}.md-lib-w-\[80px\]{width:80px}.md-lib-w-\[calc\(100\%-20px\)\]{width:calc(100% - 20px)}.md-lib-w-\[calc\(100\%-24px\)\]{width:calc(100% - 24px)}.md-lib-w-\[calc\(100\%-5px\)\]{width:calc(100% - 5px)}.md-lib-w-full{width:100%}.md-lib-w-screen{width:100vw}.md-lib-min-w-\[120px\]{min-width:120px}.md-lib-min-w-\[200px\]{min-width:200px}.md-lib-min-w-\[280px\]{min-width:280px}.md-lib-min-w-\[3rem\]{min-width:3rem}.md-lib-min-w-fit{min-width:fit-content}.md-lib-max-w-28{max-width:7rem}.md-lib-max-w-2xl{max-width:42rem}.md-lib-max-w-3xl{max-width:48rem}.md-lib-max-w-40{max-width:10rem}.md-lib-max-w-4xl{max-width:56rem}.md-lib-max-w-64{max-width:16rem}.md-lib-max-w-6xl{max-width:72rem}.md-lib-max-w-7xl{max-width:80rem}.md-lib-max-w-\[180px\]{max-width:180px}.md-lib-max-w-\[200px\]{max-width:200px}.md-lib-max-w-\[240px\]{max-width:240px}.md-lib-max-w-\[calc\(100vw-180px\)\]{max-width:calc(100vw - 180px)}.md-lib-max-w-md{max-width:28rem}.md-lib-flex-1{flex:1 1 0%}.md-lib-flex-shrink-0{flex-shrink:0}.-md-lib-translate-x-1\/2{--tw-translate-x:-50%}.-md-lib-translate-x-1\/2,.-md-lib-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-md-lib-translate-y-1\/2{--tw-translate-y:-50%}.md-lib-translate-y-0{--tw-translate-y:0px}.md-lib-translate-y-0,.md-lib-translate-y-4{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.md-lib-translate-y-4{--tw-translate-y:1rem}.md-lib-transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.md-lib-cursor-default{cursor:default}.md-lib-cursor-not-allowed{cursor:not-allowed}.md-lib-cursor-pointer{cursor:pointer}.md-lib-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md-lib-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md-lib-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md-lib-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md-lib-grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md-lib-flex-col{flex-direction:column}.md-lib-flex-wrap{flex-wrap:wrap}.md-lib-items-start{align-items:flex-start}.md-lib-items-end{align-items:flex-end}.md-lib-items-center{align-items:center}.md-lib-justify-end{justify-content:flex-end}.md-lib-justify-center{justify-content:center}.md-lib-justify-between{justify-content:space-between}.md-lib-gap-1{gap:.25rem}.md-lib-gap-2{gap:.5rem}.md-lib-gap-3{gap:.75rem}.md-lib-gap-4{gap:1rem}.md-lib-gap-5{gap:1.25rem}.md-lib-gap-6{gap:1.5rem}.md-lib-gap-8{gap:2rem}.md-lib-gap-x-4{column-gap:1rem}.md-lib-gap-y-10{row-gap:2.5rem}.md-lib-space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.75rem*var(--tw-space-x-reverse))}.md-lib-space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.md-lib-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.md-lib-space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.md-lib-overflow-auto{overflow:auto}.md-lib-overflow-hidden{overflow:hidden}.md-lib-overflow-x-auto{overflow-x:auto}.md-lib-overflow-y-auto{overflow-y:auto}.md-lib-overflow-y-scroll{overflow-y:scroll}.md-lib-truncate{overflow:hidden;text-overflow:ellipsis}.md-lib-truncate,.md-lib-whitespace-nowrap{white-space:nowrap}.\!md-lib-rounded-lg{border-radius:.5rem!important}.md-lib-rounded{border-radius:.25rem}.md-lib-rounded-\[20px\]{border-radius:20px}.md-lib-rounded-full{border-radius:9999px}.md-lib-rounded-lg{border-radius:.5rem}.md-lib-rounded-md{border-radius:.375rem}.md-lib-rounded-xl{border-radius:.75rem}.md-lib-rounded-s{border-end-start-radius:.25rem;border-start-start-radius:.25rem}.md-lib-border{border-width:1px}.md-lib-border-2{border-width:2px}.md-lib-border-4{border-width:4px}.md-lib-border-b{border-bottom-width:1px}.md-lib-border-l{border-left-width:1px}.md-lib-border-r{border-right-width:1px}.md-lib-border-dashed{border-style:dashed}.md-lib-border-none{border-style:none}.md-lib-border-black{--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity,1))}.md-lib-border-borderColor{border-color:var(--color-border,#9aa8bc33)}.md-lib-border-primaryColor{border-color:var(--color-primary,#0b6d97)}.md-lib-border-secondaryBorderColor{--tw-border-opacity:1;border-color:rgb(237 242 247/var(--tw-border-opacity,1))}.md-lib-border-secondaryHoverColor{--tw-border-opacity:1;border-color:rgb(203 212 225/var(--tw-border-opacity,1))}.md-lib-border-secondaryTextColor{--tw-border-opacity:1;border-color:rgb(114 129 151/var(--tw-border-opacity,1))}.md-lib-bg-\[\#DEE4ED\]{--tw-bg-opacity:1;background-color:rgb(222 228 237/var(--tw-bg-opacity,1))}.md-lib-bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.md-lib-bg-borderColor{background-color:var(--color-border,#9aa8bc33)}.md-lib-bg-darkPrimaryBg{--tw-bg-opacity:1;background-color:rgb(22 28 85/var(--tw-bg-opacity,1))}.md-lib-bg-secondaryColor{background-color:var(--color-secondary,#eceff4)}.md-lib-bg-secondaryHoverColor{--tw-bg-opacity:1;background-color:rgb(203 212 225/var(--tw-bg-opacity,1))}.md-lib-bg-secondaryTextColor{--tw-bg-opacity:1;background-color:rgb(114 129 151/var(--tw-bg-opacity,1))}.md-lib-bg-textColorActive{background-color:var(--color-text-active,#f6f8fb)}.md-lib-bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.md-lib-bg-cover{background-size:cover}.md-lib-bg-center{background-position:50%}.md-lib-object-contain{object-fit:contain}.md-lib-object-cover{object-fit:cover}.md-lib-p-1{padding:.25rem}.md-lib-p-2{padding:.5rem}.md-lib-p-3{padding:.75rem}.md-lib-p-4{padding:1rem}.md-lib-p-5{padding:1.25rem}.md-lib-p-6{padding:1.5rem}.md-lib-p-8{padding:2rem}.\!md-lib-px-4{padding-left:1rem!important;padding-right:1rem!important}.md-lib-px-2{padding-left:.5rem;padding-right:.5rem}.md-lib-px-3{padding-left:.75rem;padding-right:.75rem}.md-lib-px-4{padding-left:1rem;padding-right:1rem}.md-lib-px-5{padding-left:1.25rem;padding-right:1.25rem}.md-lib-px-6{padding-left:1.5rem;padding-right:1.5rem}.md-lib-py-1{padding-bottom:.25rem;padding-top:.25rem}.md-lib-py-2{padding-bottom:.5rem;padding-top:.5rem}.md-lib-py-3{padding-bottom:.75rem;padding-top:.75rem}.md-lib-py-4{padding-bottom:1rem;padding-top:1rem}.md-lib-pb-2{padding-bottom:.5rem}.md-lib-pb-4{padding-bottom:1rem}.md-lib-pb-6{padding-bottom:1.5rem}.md-lib-pb-7{padding-bottom:1.75rem}.md-lib-pl-2{padding-left:.5rem}.md-lib-pl-4{padding-left:1rem}.md-lib-pr-2{padding-right:.5rem}.md-lib-pr-\[10px\]{padding-right:10px}.md-lib-pt-1{padding-top:.25rem}.md-lib-pt-2{padding-top:.5rem}.md-lib-pt-2\.5{padding-top:.625rem}.md-lib-pt-3{padding-top:.75rem}.md-lib-pt-4{padding-top:1rem}.md-lib-pt-5{padding-top:1.25rem}.md-lib-text-center{text-align:center}.md-lib-font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.md-lib-text-2xl{font-size:1.5rem;line-height:2rem}.md-lib-text-3xl{font-size:1.875rem;line-height:2.25rem}.md-lib-text-4xl{font-size:2.25rem;line-height:2.5rem}.md-lib-text-\[15px\]{font-size:15px}.md-lib-text-\[16px\]{font-size:16px}.md-lib-text-\[20px\]{font-size:20px}.md-lib-text-\[22px\]{font-size:22px}.md-lib-text-base{font-size:1rem;line-height:1.5rem}.md-lib-text-lg{font-size:1.125rem;line-height:1.75rem}.md-lib-text-sm{font-size:.875rem;line-height:1.25rem}.md-lib-text-xl{font-size:1.25rem;line-height:1.75rem}.md-lib-text-xs{font-size:.75rem;line-height:1rem}.md-lib-font-bold{font-weight:700}.md-lib-font-medium{font-weight:500}.md-lib-font-semibold{font-weight:600}.md-lib-capitalize{text-transform:capitalize}.md-lib-leading-relaxed{line-height:1.625}.md-lib-text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.md-lib-text-borderColor{color:var(--color-border,#9aa8bc33)}.md-lib-text-dangerColor{color:var(--color-danger,#e42131)}.md-lib-text-darkTextColor{--tw-text-opacity:1;color:rgb(238 238 238/var(--tw-text-opacity,1))}.md-lib-text-headingText{--tw-text-opacity:1;color:rgb(0 19 37/var(--tw-text-opacity,1))}.md-lib-text-imagesColor{--tw-text-opacity:1;color:rgb(251 137 81/var(--tw-text-opacity,1))}.md-lib-text-musicColor{--tw-text-opacity:1;color:rgb(95 140 230/var(--tw-text-opacity,1))}.md-lib-text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.md-lib-text-otherColor{--tw-text-opacity:1;color:rgb(167 139 250/var(--tw-text-opacity,1))}.md-lib-text-primaryColor{color:var(--color-primary,#0b6d97)}.md-lib-text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.md-lib-text-secondaryTextColor{--tw-text-opacity:1;color:rgb(114 129 151/var(--tw-text-opacity,1))}.md-lib-text-textColor{color:var(--color-text,#1a212b)}.md-lib-text-themeGreen{--tw-text-opacity:1;color:rgb(1 106 28/var(--tw-text-opacity,1))}.md-lib-text-videosColor{--tw-text-opacity:1;color:rgb(81 224 152/var(--tw-text-opacity,1))}.md-lib-text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.md-lib-opacity-0{opacity:0}.md-lib-opacity-100{opacity:1}.md-lib-shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.md-lib-shadow-lg,.md-lib-shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.md-lib-shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.md-lib-shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.md-lib-shadow-none,.md-lib-shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.md-lib-shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.md-lib-transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.md-lib-transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.md-lib-duration-300{transition-duration:.3s}.md-lib-ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--foreground-rgb:0,0,0;--background-start-rgb:255,255,255;--background-end-rgb:255,255,255;--icon-color:#000;--table-bgcolor:#f8f9fa;--hover-color:#efeffe;--box-shadow-small:0px 4px 8px #090b1980;--theme-primary:#0b6d97;--text-color:#fff;--text-primary:#001325eb;--theme-primary-hover:#0b6d97cc;--theme-secondary:#eceff4;--arrrow-color:#fff;--border-color:#9aa8bc33;--shadow-color:hsla(0,0%,79%,.667);--theme-danger:#e42131;--theme-danger-hover:#e42131cc;--menu-arrow:#fff;--text-disabled:#00000040;--radio-btn:#c2c2c2;--bar-bg-color:#f5f5f5}.dark{--icon-color:#d5d8df!important;--table-bgcolor:#30324e!important;--hover-color:#3f4259!important;--box-shadow-small:0px 4px 8px #090b1980;--theme-primary:#181b34!important;--text-color:#d5d8df!important;--text-primary:#e5e6ea!important;--theme-secondary:#30324e!important;--theme-primary-hover:#212642!important;--foreground-rgb:255,255,255!important;--background-start-rgb:0,0,0!important;--background-end-rgb:0,0,0!important;--arrrow-color:#30324e!important;--border-color:#4b4e69!important;--shadow-color:rgba(33,33,33,.667);--menu-arrow:#212642!important;--text-disabled:#ffffff40!important;--radio-btn:#4b4e69!important;--bar-bg-color:#30324e!important}.ant-layout-sider-children{display:flex;flex-direction:column}body{background:rgb(var(--background-start-rgb));color:rgb(var(--foreground-rgb));font-family:Inter}.ant-form-item-label label{color:#728197!important;font-size:12px!important;font-style:normal;line-height:18px}.search-input{border-radius:100px;width:320px}.page-height{height:calc(100vh - 65px)!important}.ant-btn-dangerous{background-color:var(--theme-danger)!important}.description{--tw-text-opacity:1;color:rgb(0 19 37/var(--tw-text-opacity,1));font-size:.75rem;font-style:normal;font-weight:500;line-height:1rem;line-height:18px}.grid-radio-btns label{align-items:center;display:inline-flex;justify-content:center;width:6rem}.grid-radio-btns label:first-child{border-bottom-left-radius:9999px!important;border-top-left-radius:9999px!important}.grid-radio-btns label:last-child{border-bottom-right-radius:9999px!important;border-top-right-radius:9999px!important}*{box-sizing:border-box;margin:0;padding:0}.asset-management-page{max-height:calc(100vh - 115px);overflow-y:scroll;padding:10px 20px}.asset-management-page .asset-management-table .header{align-items:center;display:flex;margin-bottom:20px;margin-top:10px}.asset-management-page .asset-management-table .header .page-title{width:300px}.asset-management-page .asset-management-table .header .right-section{display:contents;margin-left:auto}.asset-management-page .asset-management-table .header .right-section .search-bar{margin-right:20px}.asset-management-page .asset-management-table .mobile-search-bar{display:none}.page-title.ant-typography{margin:0!important}.asset-management-table{margin-top:30px}.create-asset-page .form .metadata-field-container{align-items:center;display:flex;margin-bottom:10px;width:100%}.create-asset-page .form .metadata-field{background-color:#f5f5f5;border-radius:4px;padding:20px}.create-asset-page .form .metadata-field .ant-row{margin:0!important}.assetType-table .ant-table-content{min-height:calc(100vh - 210px)}.assetType-table .ant-table-footer .assetType-pagination{display:flex;justify-content:flex-end}.row-dragging{background:var(--color,#18bfcd);border:1px solid #f0f0f0;color:#fff}.asset-management-table .ant-table-container .ant-table-cell{width:50%}.is-dragging-over .row-dragging{background:var(--color,#18bfcd)}.asset-management-table .ant-table-container .ant-typography-ellipsis-single-line{max-width:400px}@media (max-width:767px){.asset-management-page .asset-management-table .header .right-section .search-bar{display:none}.asset-management-page .asset-management-table .mobile-search-bar{display:block;margin-bottom:10px}.asset-management-page .asset-management-table .header{margin-bottom:5px}.assetType-table .ant-table-content{min-height:calc(100vh - 235px)}.asset-management-table .ant-table-container .ant-typography-ellipsis-single-line{max-width:160px}}.create-asset-page .dam-loading{align-items:center;display:flex;height:calc(100vh - 200px);justify-content:center}.ant-typography{margin-bottom:0!important}.ant-btn-color-default{box-shadow:none!important}.ant-switch .ant-switch-inner{background-color:#9aa8bc33}.ant-btn-primary{color:#fff!important}.ant-btn-color-primary{box-shadow:none!important}.ant-tree-treenode{height:34px}.ant-tree .ant-tree-node-content-wrapper .ant-tree-iconEle,.ant-tree .ant-tree-switcher .ant-tree-switcher-icon{vertical-align:-webkit-baseline-middle}.ant-tree .ant-tree-switcher{margin-inline-end:0!important}.ant-tree .ant-tree-switcher:before{height:33px!important}.ant-tree .ant-tree-node-content-wrapper{padding-left:0!important}.ant-tree .ant-tree-node-selected:hover{color:#eee!important}.tui-image-editor-header-logo{display:none!important}.ant-tree-treenode-draggable .ant-tree-draggable-icon{width:0!important}.share-link-dropdown .ant-select-selection-wrap,.share-link-dropdown .ant-select-selection-wrap .ant-select-selection-item{height:100%}.hover\:md-lib-border-black:hover{--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity,1))}.hover\:md-lib-border-primaryColor:hover{border-color:var(--color-primary,#0b6d97)}.hover\:md-lib-bg-borderColor:hover{background-color:var(--color-border,#9aa8bc33)}.hover\:md-lib-bg-secondaryColor:hover{background-color:var(--color-secondary,#eceff4)}.hover\:md-lib-bg-secondaryHoverColor:hover{--tw-bg-opacity:1;background-color:rgb(203 212 225/var(--tw-bg-opacity,1))}.focus\:md-lib-outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:md-lib-ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:md-lib-ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.dark\:md-lib-border-darkBorderColor:is(.md-lib-dark *){--tw-border-opacity:1;border-color:rgb(75 78 105/var(--tw-border-opacity,1))}.dark\:md-lib-bg-darkBorderColor:is(.md-lib-dark *){--tw-bg-opacity:1;background-color:rgb(75 78 105/var(--tw-bg-opacity,1))}.dark\:md-lib-bg-darkPrimary:is(.md-lib-dark *){--tw-bg-opacity:1;background-color:rgb(24 27 52/var(--tw-bg-opacity,1))}.dark\:md-lib-bg-darkPrimaryBg:is(.md-lib-dark *){--tw-bg-opacity:1;background-color:rgb(22 28 85/var(--tw-bg-opacity,1))}.dark\:md-lib-bg-darkPrimaryHoverColor:is(.md-lib-dark *){--tw-bg-opacity:1;background-color:rgb(33 38 66/var(--tw-bg-opacity,1))}.dark\:md-lib-bg-darkSecondaryColor:is(.md-lib-dark *){--tw-bg-opacity:1;background-color:rgb(48 50 78/var(--tw-bg-opacity,1))}.dark\:md-lib-bg-darkSecondaryTextColor:is(.md-lib-dark *){--tw-bg-opacity:1;background-color:rgb(150 153 166/var(--tw-bg-opacity,1))}.dark\:md-lib-text-darkBorderColor:is(.md-lib-dark *){--tw-text-opacity:1;color:rgb(75 78 105/var(--tw-text-opacity,1))}.dark\:md-lib-text-darkSecondaryTextColor:is(.md-lib-dark *){--tw-text-opacity:1;color:rgb(150 153 166/var(--tw-text-opacity,1))}.dark\:md-lib-text-darkTextColor:is(.md-lib-dark *){--tw-text-opacity:1;color:rgb(238 238 238/var(--tw-text-opacity,1))}.dark\:md-lib-text-white:is(.md-lib-dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:hover\:md-lib-bg-darkSecondaryColor:hover:is(.md-lib-dark *){--tw-bg-opacity:1;background-color:rgb(48 50 78/var(--tw-bg-opacity,1))}.hover\:dark\:md-lib-bg-darkPrimaryHoverColor:is(.md-lib-dark *):hover{--tw-bg-opacity:1;background-color:rgb(33 38 66/var(--tw-bg-opacity,1))}@media (min-width:640px){.sm\:md-lib-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:768px){.md\:md-lib-col-span-2{grid-column:span 2/span 2}.md\:md-lib-block{display:block}.md\:md-lib-w-\[720px\]{width:720px}.md\:md-lib-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:md-lib-grid-cols-\[auto\2c 1fr\]{grid-template-columns:auto 1fr}}@media (min-width:1024px){.lg\:md-lib-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:md-lib-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:1280px){.xl\:md-lib-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:md-lib-grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (min-width:1536px){.\32xl\:md-lib-grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
type FolderTypes = {
|
|
2
|
+
_id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
hasSubFolders?: boolean;
|
|
5
|
+
children?: FolderTypes[] | FolderTypes;
|
|
6
|
+
};
|
|
7
|
+
type FoldersContextType = {
|
|
8
|
+
folders: FolderTypes[];
|
|
9
|
+
setFolders: React.Dispatch<React.SetStateAction<FolderTypes[]>>;
|
|
10
|
+
globalSearch: string;
|
|
11
|
+
};
|
|
12
|
+
export declare const FoldersProvider: import("react").Provider<FoldersContextType | undefined>;
|
|
13
|
+
export declare function useFoldersContext(): FoldersContextType;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createContext, useContext } from "react";
|
|
2
|
+
const FoldersContext = createContext(undefined);
|
|
3
|
+
export const FoldersProvider = FoldersContext.Provider;
|
|
4
|
+
export function useFoldersContext() {
|
|
5
|
+
const ctx = useContext(FoldersContext);
|
|
6
|
+
if (!ctx) {
|
|
7
|
+
throw new Error("useFoldersContext must be used inside FoldersProvider");
|
|
8
|
+
}
|
|
9
|
+
return ctx;
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
const NavigateContext = React.createContext(() => {
|
|
4
|
+
throw new Error("useAppNavigate must be used within a Router (NavigatorContext not provided)");
|
|
5
|
+
});
|
|
6
|
+
export const NavigatorProvider = ({ history, children }) => {
|
|
7
|
+
const navigate = React.useCallback((to) => history.push(to), [history]);
|
|
8
|
+
return (_jsx(NavigateContext.Provider, { value: navigate, children: children }));
|
|
9
|
+
};
|
|
10
|
+
export const useLegacyNavigate = () => React.useContext(NavigateContext);
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
export declare const CREATE_BRAND_REQUEST_URL = "/leads";
|
|
2
|
+
export declare const RESEND_LEAD_REQUEST_OTP_URL = "/leads/resend/:leadId";
|
|
3
|
+
export declare const SIGNUP_VERIFICATION_URL = "/leads/verification/:leadId";
|
|
4
|
+
export declare const SUBMIT_LEAD_REQUEST_URL = "/leads/:leadId";
|
|
5
|
+
export declare const SUBDOMAIN_CHECK_URL = "/leads/is-brand-request-exists";
|
|
6
|
+
export declare const USER_LOGIN_URL = "/users/login";
|
|
7
|
+
export declare const USER_BRAND_LOGIN_URL = "/users/login/brand";
|
|
8
|
+
export declare const ACCESS_TOKEN_RECOVERY_URL = "/users/refresh-token";
|
|
9
|
+
export declare const GOOGLE_AUTH_URL = "/users/login/google";
|
|
10
|
+
export declare const FETCH_USER_BRANDS_URL = "/users/brands";
|
|
11
|
+
export declare const PROFILE_UPDATE_URL = "/users";
|
|
12
|
+
export declare const PROFILE_PICTURE_UPLOAD_URL = "/users/profile/upload";
|
|
13
|
+
export declare const FORGOT_PASSWORD_OTP_REQUEST_URL = "/users/forgot-password";
|
|
14
|
+
export declare const FORGOT_PASSWORD_OTP_VERIFICATION_URL = "/users/forgot-password/verification";
|
|
15
|
+
export declare const CHANGE_PASSWORD_URL = "/users/change-password";
|
|
16
|
+
export declare const FETCH_BRAND_URL = "/brands/:brandId";
|
|
17
|
+
export declare const REMOVE_USER_FROM_BRAND_URL = "/brands/:brandId/user/:userId";
|
|
18
|
+
export declare const REVOKE_USER_ACCESS_TO_BRAND_URL = "/brands/:brandId/activate/user/:userId";
|
|
19
|
+
export declare const FETCH_PENDING_INVITATIONS_URL = "/users/pending-invitations";
|
|
20
|
+
export declare const INVITE_USER_URL = "/users/invite";
|
|
21
|
+
export declare const DELETE_INVITATION_URL = "/users/delete-invitation?invitationId=:invitationId";
|
|
22
|
+
export declare const VERIFY_INVITATION_URL = "/users/verify-invitation";
|
|
23
|
+
export declare const VERIFY_INVITATION_CODE_URL = "/users/verify-invite-token";
|
|
24
|
+
export declare const UPDATE_BRAND_NOTIFICATIONS_SETTINGS_URL = "/brands/notification-settings";
|
|
25
|
+
export declare const FETCH_BRAND_STORAGE_SUMMARY_URL = "/brands/storage/summary/:brandId";
|
|
26
|
+
export declare const FETCH_BRAND_STORAGE_USING_FILES_URL = "/brands/storage/files/:brandId";
|
|
27
|
+
export declare const FETCH_ROLE_PERMISSIONS_URL = "/rolePermissions";
|
|
28
|
+
export declare const FETCH_PERMISSON_RESOURCES_URL = "/rolePermissions/resources";
|
|
29
|
+
export declare const FETCH_ROLE_URL = "/rolePermissions/:roleId";
|
|
30
|
+
export declare const SAMPLE_FILE_DOWNLOAD_URL = "/assets/:assetId/download-bulk-upload-template";
|
|
31
|
+
export declare const FETCH_ASSETS_URL = "/assets/brand/:brandId";
|
|
32
|
+
export declare const CREATE_ASSETS_URL = "/assets";
|
|
33
|
+
export declare const FETCH_ASSET_URL = "/assets/:assetId";
|
|
34
|
+
export declare const FETCH_INPUT_TYPES_URL = "/input-types";
|
|
35
|
+
export declare const DELETE_ASSET_FIELD_URL = "/assets/:assetId/metadata/:id";
|
|
36
|
+
export declare const FETCH_FOLDERS_URL = "/folders";
|
|
37
|
+
export declare const FETCH_FOLDER_URL = "/folders/:folderId";
|
|
38
|
+
export declare const ARCHIVE_FOLDERS_URL = "/folders/archive";
|
|
39
|
+
export declare const DUPLICATE_FOLDER_URL = "/folders/duplicate/:folderId";
|
|
40
|
+
export declare const FETCH_TRASH_FOLDERS_URL = "/folders/trashed";
|
|
41
|
+
export declare const DELETE_FOLDERS_URL = "/folders/remove";
|
|
42
|
+
export declare const RESTORE_TRASHED_FOLDERS_URL = "/folders/restore";
|
|
43
|
+
export declare const UNARCHIVE_FOLDERS_URL = "/folders/unarchive";
|
|
44
|
+
export declare const FETCH_STARRED_FOLDERS_URL = "/favourites";
|
|
45
|
+
export declare const FETCH_RECENT_FOLDERS_URL = "/folders/recent";
|
|
46
|
+
export declare const FETCH_SHARED_FOLDERS_URL = "/folders/files/shared";
|
|
47
|
+
export declare const VIEW_SHARED_FOLDER_URL = "/folders/shared-folder/:folderId";
|
|
48
|
+
export declare const SORT_FOLDERS_URL = "/folders/modify-sort-order";
|
|
49
|
+
export declare const FILE_UPLOAD_URL = "/files/upload";
|
|
50
|
+
export declare const CREATE_FILE_URL = "/files";
|
|
51
|
+
export declare const FETCH_FILE_URL = "/files/:fileId";
|
|
52
|
+
export declare const ARCHIVE_FILES_URL = "/files/archive";
|
|
53
|
+
export declare const UNARCHIVE_FILES_URL = "/files/unarchive";
|
|
54
|
+
export declare const RESTORE_FILES_URL = "/files/restore";
|
|
55
|
+
export declare const DOWNLOAD_FILES_URL = "/files/download";
|
|
56
|
+
export declare const DUPLICATE_FILE_URL = "/files/copy";
|
|
57
|
+
export declare const MOVE_FILES_URL = "/files/move";
|
|
58
|
+
export declare const UPDATE_FILE_ACCESS_URL = "/files/update-file-access/:fileId";
|
|
59
|
+
export declare const SHARE_FILE_URL = "/files/share-file";
|
|
60
|
+
export declare const FETCH_SHARED_FILE_URL = "/files/shared-file/:fileId";
|
|
61
|
+
export declare const VERIFY_SHARED_FILE_TOKEN_URL = "/files/share/token/verify";
|
|
62
|
+
export declare const SAVE_EDITED_FILE_URL = "/files/update";
|
|
63
|
+
export declare const SAVE_EDITED_FILE_THUMBNAIL_URL = "/files/update-thumbnail/:fileId";
|
|
64
|
+
export declare const DELETE_S3_FILE_URL = "/files/s3?path=:path";
|
|
65
|
+
export declare const GENERATE_THUMBNAILS_URL = "/files/thumbnails";
|
|
66
|
+
export declare const FETCH_COMMENTS_URL = "/comments";
|
|
67
|
+
export declare const FETCH_COMMENT_URL = "/comments/:commentId";
|
|
68
|
+
export declare const FETCH_REPLIES_URL = "/comments/replies/:commentId";
|
|
69
|
+
export declare const FETCH_DASHBOARD_USERS_SUMMARY_URL = "/dashboard/users/summary";
|
|
70
|
+
export declare const FETCH_DASHBOARD_FILE_FOLDER_ASSETS_SUMMARY_URL = "/dashboard/summary/file-folder-assets";
|
|
71
|
+
export declare const FETCH_PLANS_URL = "/subscriptions";
|
|
72
|
+
export declare const SUBSCRIPTION_CHECK_OUT_SESSION_URL = "/subscriptions/create-checkout-session";
|
|
73
|
+
export declare const UPGRADE_SUBSCRIPTION_URL = "/subscriptions/:subscriptionId";
|
|
74
|
+
export declare const FETCH_PENDING_ENTERPRISE_REQUESTS = "/enterprise-requests/organization/:brandId";
|
|
75
|
+
export declare const FETCH_ENTERPRISE_REQUEST_URL = "/enterprise-requests/:requestId";
|
|
76
|
+
export declare const CREATE_ENTERPRISE_REQUEST_URL = "/enterprise-requests";
|
|
77
|
+
export declare const VERIFY_ENTERPRISE_PAYMENT_REQUEST_URL = "/enterprise-requests/verify-payment";
|
|
78
|
+
export declare const FETCH_CARD_DETAILS_URL = "/subscriptions/card-details/:subscriptionId";
|
|
79
|
+
export declare const FETCH_CLIENT_KEYS_URL = "/keys/";
|
|
80
|
+
export declare const FETCH_CLIENT_KEY_URL = "/keys/:keyId";
|
|
81
|
+
export declare const GENERATE_CLIENT_KEY_URL = "/keys/:keyId/generate";
|
|
82
|
+
export declare const USER_LOGIN = "/users/login/keys";
|
|
83
|
+
export declare const FETCH_BRAND_USING_SUBDOMAIN = "/brands/subdomain";
|
|
84
|
+
export declare const CREATE_SUB_BRAND = "/brands/sub-brand";
|
|
85
|
+
export declare const FETCH_IMAGEPICKERS_URL = "/image-picker";
|
|
86
|
+
export declare const FETCH_IMAGEPICKER_URL = "/image-picker/:id";
|
|
87
|
+
export declare const FETCH_META_FIELD_OPTIONS_URL = "/image-picker/file-filters/:id";
|
|
88
|
+
export declare const FETCH_META_FIELD_FILES_URL = "/image-picker/files/:id";
|
|
89
|
+
export declare const UPLOAD_IMAGE_PICKER_LOCAL_FILE_URL = "/image-picker/upload";
|
|
90
|
+
export declare const FETCH_IMAGE_PCIKER_THUMBNAIL_URL = "/image-picker/thumbnail";
|
|
91
|
+
export declare const BULK_UPLOAD_URL = "/files/import";
|
|
92
|
+
export declare const REFRESH_KEY_URL = "/keys/refresh";
|
|
93
|
+
export declare const GET_BASE64_USING_PATH_URL = "/files/blob";
|
|
94
|
+
export declare const FETCH_FILE_DOWNLOAD_LOGS_URL = "/dashboard/download-summary";
|
|
95
|
+
export declare const FETCH_USER_DOWNLOAD_LOGS_URL = "/dashboard/download-summary/user";
|