Merge branch 'develop' into feature/public-edit

# Conflicts:
#	packages/shared/components/access-right-select/AccessRightSelect.styled.ts
This commit is contained in:
Nikita Gopienko 2024-08-01 16:34:06 +03:00
commit e7d651811c
386 changed files with 2178 additions and 5725 deletions

View File

@ -1,6 +1,6 @@
{
"name": "docspace",
"version": "2.6.0",
"version": "2.6.1",
"private": true,
"workspaces": {
"packages": [

View File

@ -1,6 +1,6 @@
{
"name": "@docspace/client",
"version": "2.6.0",
"version": "2.6.1",
"private": true,
"homepage": "",
"scripts": {

View File

@ -111,7 +111,6 @@
"DownloadLog": "سجل التنزيل",
"DownloadReportBtnText": "تنزيل التقرير",
"DownloadReportDescription": "سيتم حفظ التقرير في المستندات",
"DownloadStatisticsText": "يمكنك تنزيل التقرير الخاص بالبيانات المتاحة خلال فترة التخزين المحددة لعرض الإحصائيات التفصيلية.",
"DuplicateNoun": "متكرر",
"EditColorScheme": "تحرير نظام الألوان",
"Employees": "المستخدمين",

View File

@ -111,7 +111,6 @@
"DownloadLog": "Gündəliyi endirin",
"DownloadReportBtnText": "Hesabatı yükləyin",
"DownloadReportDescription": "Hesabat Sənədlərdə saxlanacaq",
"DownloadStatisticsText": "Ətraflı statistikaya baxmaq üçün seçilmiş saxlama müddəti ərzində mövcud olan məlumat üçün hesabatı yükləyə bilərsiniz.",
"DuplicateNoun": "Dublikat edin",
"EditColorScheme": "Rəng sxemini redaktə edin",
"Employees": "istifadəçilər",

View File

@ -112,7 +112,6 @@
"DownloadLog": "Дневник на изтеглянията",
"DownloadReportBtnText": "Изтегляне на доклад",
"DownloadReportDescription": "Отчетът ще бъде записан в Документи",
"DownloadStatisticsText": "Можете да изтеглите отчета за наличните данни през избрания период на съхранение, за да видите подробната статистика.",
"DuplicateNoun": "Дублирай",
"EditColorScheme": "Редактиране на цветовата схема",
"Employees": "потребители",

View File

@ -112,7 +112,6 @@
"DownloadLog": "Stáhnout protokol",
"DownloadReportBtnText": "Stáhnout zprávu",
"DownloadReportDescription": "Zpráva se uloží do složky Dokumenty",
"DownloadStatisticsText": "Můžete si stáhnout zprávu pro data dostupná během vybraného období ukládání a zobrazit podrobné statistiky.",
"DuplicateNoun": "Duplikát",
"EditColorScheme": "Úprava barevného schématu",
"Employees": "uživatelé",

View File

@ -110,7 +110,6 @@
"DownloadLog": "Log herunterladen",
"DownloadReportBtnText": "Bericht herunterladen",
"DownloadReportDescription": "Der Bericht wird unter Dateien gespeichert",
"DownloadStatisticsText": "Sie können den Bericht für die verfügbaren Daten während des ausgewählten Speicherzeitraums herunterladen, um die detaillierten Statistiken anzuzeigen.",
"DuplicateNoun": "Duplizieren",
"EditColorScheme": "Farbschema bearbeiten",
"Employees": "Benutzer",

View File

@ -110,7 +110,6 @@
"DownloadLog": "Λήψη αρχείου καταγραφής",
"DownloadReportBtnText": "Λήψη αναφοράς",
"DownloadReportDescription": "Η έκθεση θα αποθηκευτεί στα Έγγραφά",
"DownloadStatisticsText": "Μπορείτε να κατεβάσετε την αναφορά για τα δεδομένα που ήταν διαθέσιμα κατά την επιλεγμένη περίοδο αποθήκευσης για να δείτε τα λεπτομερή στατιστικά στοιχεία.",
"DuplicateNoun": "Διπλότυπο",
"EditColorScheme": "Επεξεργασία χρωμάτων",
"Employees": "χρήστες",

View File

@ -116,7 +116,6 @@
"DownloadLog": "Download log",
"DownloadReportBtnText": "Download report",
"DownloadReportDescription": "The report will be saved to Documents",
"DownloadStatisticsText": "You can download the report for the data available during the selected storage period to view the detailed statistics.",
"DuplicateNoun": "Duplicate",
"EditColorScheme": "Edit color scheme",
"Employees": "users",

View File

@ -33,11 +33,14 @@
"RoleEditorDescription": "Operations with existing files: viewing, editing, form filling, reviewing, commenting.",
"RoleFormFiller": "Form filler",
"RoleFormFillerDescription": "Operations with existing files: viewing, form filling, reviewing, commenting.",
"RoleFormFillerFormRoomDescription": "Form fillers can fill out forms and view only their completed/started forms within the Complete and In Process folders.",
"RolePortalAdminDescription": "{{productName}} admins can access {{productName}} settings, manage and archive rooms, invite new users and assign roles below their level. All admins have access to the Personal section.",
"RolePowerUserDescription": "Power users can create and edit files in the room, but can't create rooms, manage users, or access settings.",
"RolePowerUserFormRoomDescription": "Power users can upload forms to the room and have full access to the Complete and In Process folders.",
"RoleReviewer": "Reviewer",
"RoleReviewerDescription": "Operations with existing files: viewing, reviewing, commenting.",
"RoleRoomAdminDescription": "Room admins can create and manage the assigned rooms, invite new users, and assign roles of room admin and lower. All admins have access to the Personal section.",
"RoleRoomAdminFormRoomDescription": "Room admins can create and manage rooms, invite new users and assign roles of room admin or lower. Room admins can upload forms to the room and have full access to the Complete and In Process folders.",
"RoleUserDescription": "Users can only access the rooms they are invited to by admins. They can't create own rooms, folders or files.",
"RoleViewer": "Viewer",
"RoleViewerDescription": "File viewing",

View File

@ -112,7 +112,6 @@
"DownloadLog": "Descargar registro",
"DownloadReportBtnText": "Descargar informe",
"DownloadReportDescription": "El informe se guardará en Documentos",
"DownloadStatisticsText": "Usted puede descargar el informe para los datos disponibles durante el período de almacenamiento seleccionado para ver estadísticas detalladas.",
"DuplicateNoun": "Duplicar",
"EditColorScheme": "Editar combinación de colores",
"Employees": "usuarios",

View File

@ -108,7 +108,6 @@
"DownloadLog": "Lataa loki",
"DownloadReportBtnText": "Lataa raportti",
"DownloadReportDescription": "Raportti tallennetaan Dokumentteihin",
"DownloadStatisticsText": "Voit ladata raportin valitun tallennusjakson aikana saatavilla olevista tiedoista nähdäksesi yksityiskohtaiset tilastot.",
"DuplicateNoun": "Kopioi",
"EditColorScheme": "Muokkaa värijärjestelmää",
"Employees": "Käyttäjät",

View File

@ -112,7 +112,6 @@
"DownloadLog": "Télécharger le journal",
"DownloadReportBtnText": "Télécharger le rapport",
"DownloadReportDescription": "Le rapport sera enregistré dans Documents",
"DownloadStatisticsText": "Vous pouvez télécharger un rapport des données accessibles pour la période de stockage sélectionnée pour voir les statistiques détaillées. ",
"DuplicateNoun": "Dupliquer",
"EditColorScheme": "Modifier le jeu de couleurs",
"Employees": "Utilisateurs",

View File

@ -111,7 +111,6 @@
"DownloadLog": "Ներբեռնման մատյան",
"DownloadReportBtnText": "Ներբեռնել զեկույցը",
"DownloadReportDescription": "Զեկույցը կպահվի Փաստաթղթերում",
"DownloadStatisticsText": "Դուք կարող եք ներբեռնել զեկույցը ընտրված պահպանման ժամանակահատվածում առկա տվյալների համար՝ մանրամասն վիճակագրությունը դիտելու համար:",
"DuplicateNoun": "Դուբլիկատ",
"EditColorScheme": "Խմբագրել գունավորումը",
"Employees": "Օգտվողներ",

View File

@ -112,7 +112,6 @@
"DownloadLog": "Scarica registro",
"DownloadReportBtnText": "Scarica il report",
"DownloadReportDescription": "Il report verrà salvato in Documenti",
"DownloadStatisticsText": "È possibile scaricare il report per i dati disponibili durante il periodo di archiviazione selezionato per visualizzare le statistiche dettagliate.",
"DuplicateNoun": "Duplica",
"EditColorScheme": "Modifica la combinazione di colori",
"Employees": "utenti",

View File

@ -110,7 +110,6 @@
"DownloadLog": "ダウンロードログ",
"DownloadReportBtnText": "ダウンロードのレポート",
"DownloadReportDescription": "レポートは「文書」に保存されます",
"DownloadStatisticsText": "選択した保存期間中に利用可能なデータのレポートをダウンロードして、詳細な統計情報を確認することができます。",
"DuplicateNoun": "複製",
"EditColorScheme": "カラースキームを編集する",
"Employees": "ユーザー",

View File

@ -112,7 +112,6 @@
"DownloadLog": "로그 다운로드",
"DownloadReportBtnText": "보고서 다운로드",
"DownloadReportDescription": "보고서가 문서에 저장됩니다",
"DownloadStatisticsText": "선택한 저장 기간 동안 이용 가능한 데이터에 대한 보고서를 다운로드하여 자세한 통계를 볼 수 있습니다.",
"DuplicateNoun": "복제",
"EditColorScheme": "색 구성표 편집",
"Employees": "사용자",

View File

@ -71,7 +71,6 @@
"DownloadCopy": "ດາວໂຫລດ ໄດ້ ສຳເນົາ",
"DownloadReportBtnText": "ດາວໂຫລດບົດລາຍງານ",
"DownloadReportDescription": "ບົດລາຍງານຈະຖືກບັນທຶກໄວ້ໃນເອກະສານຂອງຂ້ອຍ",
"DownloadStatisticsText": "ທ່ານສາມາດດາວໂຫລດບົດລາຍງານສໍາລັບຂໍ້ມູນທີ່ມີ ຢູ່ໃນໄລຍະເວລາການເກັບຮັກສາທີ່ເລືອກເພື່ອເບິ່ງສະຖິຕິລາຍລະອຽດ.",
"EditColorScheme": "ແກ້ໄຂຮູບແບບສີ",
"Employees": "ຜຸ້ໃຊ້",
"EmptyBackupList": "ຍັງ​ບໍ່​ມີ​ການ​ສ້າງ​ການ​ສໍາ​ຮອງ​ຂໍ້​ມູນ​ໃດໆ​ເທື່ອ. ສ້າງ​ຫນຶ່ງ​ຫຼື​ຫຼາຍ​ສໍາ​ຮອງ​ຂໍ້​ມູນ​ສໍາ​ລັບ​ການ​ໃຫ້​ເຂົາ​ເຈົ້າ​ປາ​ກົດ​ຢູ່​ໃນ​ບັນ​ຊີ​ລາຍ​ການ​ນີ້​.",

View File

@ -111,7 +111,6 @@
"DownloadLog": "Lejupielādēt žurnālu",
"DownloadReportBtnText": "Lejupielādēt pārskatu",
"DownloadReportDescription": "Atskaite tiks saglabāta mapē Dokumenti",
"DownloadStatisticsText": "Varat lejupielādēt pārskatu par datiem, kas pieejami atlasītajā uzglabāšanas periodā, lai skatītu detalizētu statistiku.",
"DuplicateNoun": "Dublicēt",
"EditColorScheme": "Rediģēt krāsu shēmu",
"Employees": "lietotāji",

View File

@ -112,7 +112,6 @@
"DownloadLog": "Download log",
"DownloadReportBtnText": "Download verslag",
"DownloadReportDescription": "Het verslag wordt opgeslagen in Documenten",
"DownloadStatisticsText": "U kunt het verslag downloaden voor de gegevens die beschikbaar zijn tijdens de geselecteerde opslagperiode om de gedetailleerde statistieken te bekijken.",
"DuplicateNoun": "Dupliceren",
"EditColorScheme": "Kleurenschema bewerken",
"Employees": "gebruikers",

View File

@ -113,7 +113,6 @@
"DownloadLog": "Rejestr pobranych plików",
"DownloadReportBtnText": "Pobierz raport",
"DownloadReportDescription": "Raport zostanie zapisany w Dokumentach",
"DownloadStatisticsText": "Możesz pobrać raport dla danych dostępnych w wybranym okresie przechowywania, aby zobaczyć szczegółowe statystyki.",
"DuplicateNoun": "Duplikat",
"EditColorScheme": "Edytuj schemat kolorów",
"Employees": "użytkownicy",

View File

@ -113,7 +113,6 @@
"DownloadLog": "Baixar registro",
"DownloadReportBtnText": "Baixar relatório",
"DownloadReportDescription": "O relatório será salvo em Documentos",
"DownloadStatisticsText": "Você pode baixar o relatório dos dados disponíveis durante o período de armazenamento selecionado para visualizar as estatísticas detalhadas.",
"DuplicateNoun": "Duplicado",
"EditColorScheme": "Editar esquema de cores",
"Employees": "Usuários",

View File

@ -113,7 +113,6 @@
"DownloadLog": "Baixar registro",
"DownloadReportBtnText": "Transferir o relatório",
"DownloadReportDescription": "O relatório será guardado nos Documentos",
"DownloadStatisticsText": "Pode descarregar o relatório com os dados disponíveis durante o período de armazenamento selecionado para ver estatísticas detalhadas.",
"DuplicateNoun": "Duplicado",
"EditColorScheme": "Editar Esquema de Cores",
"Employees": "utilizadores",

View File

@ -113,7 +113,6 @@
"DownloadLog": "Descărcare jurnal",
"DownloadReportBtnText": "Descărcare raport",
"DownloadReportDescription": "Raportul va fi salvat în Documentele",
"DownloadStatisticsText": "Puteţi descărca raportul pentru datele disponibile în perioada de stocare selectată pentru a vizualiza statisticile detaliate.",
"DuplicateNoun": "Dublare",
"EditColorScheme": "Editare schemă culori",
"Employees": "utilizatori",

View File

@ -113,7 +113,6 @@
"DownloadLog": "Скачать журнал",
"DownloadReportBtnText": "Скачать отчет",
"DownloadReportDescription": "Отчет будет сохранен в \"Документы\"",
"DownloadStatisticsText": "Для просмотра подробной статистики вы можете скачать отчет по данным, доступным в течение выбранного периода хранения.",
"DuplicateNoun": "Дубликат",
"EditColorScheme": "Редактирование цветовой схемы",
"Employees": "Пользователи",

View File

@ -106,7 +106,6 @@
"DownloadLog": "සටහන බාගන්න",
"DownloadReportBtnText": "වාර්තාව බාගන්න",
"DownloadReportDescription": "ලේඛන වෙත වාර්තාව සුරැකෙනු ඇත",
"DownloadStatisticsText": "තෝරාගත් ආචයන පරාසයක පවතින දත්ත බාගැනීමෙන් සවිස්තරාත්මක සංඛ්‍යාලේඛන වාර්තාවක් බැලීමට හැකිය.",
"DuplicateNoun": "අනුපිටපතක්",
"EditColorScheme": "වත්මන් තේමාව සංස්කරණය",
"Employees": "පරිශ්‍රීලකයින්",

View File

@ -112,7 +112,6 @@
"DownloadLog": "Stiahnuť log",
"DownloadReportBtnText": "Stiahnuť správu",
"DownloadReportDescription": "Správa sa uloží do priečinka Dokumenty",
"DownloadStatisticsText": "Ak chcete zobraziť podrobné štatistiky, môžete si stiahnuť správu o dátach dostupných pre zvolené obdobie uchovávania.",
"DuplicateNoun": "Duplikovať",
"EditColorScheme": "Upraviť farebnú schému",
"Employees": "užívatelia",

View File

@ -112,7 +112,6 @@
"DownloadLog": "Dnevnik prenosa",
"DownloadReportBtnText": "Prenesi poročilo",
"DownloadReportDescription": "Poročilo bo shranjeno v Dokumenti",
"DownloadStatisticsText": "Za ogled podrobne statistike lahko prenesete poročilo za podatke, ki so na voljo v izbranem obdobju shranjevanja.",
"DuplicateNoun": "Podvoji",
"EditColorScheme": "Uredi barvno shemo",
"Employees": "uporabniki",

View File

@ -113,7 +113,6 @@
"DownloadLog": "Преузми лог",
"DownloadReportBtnText": "Преузми извештај",
"DownloadReportDescription": "Извештај ће бити сачуван у Документи",
"DownloadStatisticsText": "Можете преузети извештај за доступне податке током изабраног периода складиштења како бисте прегледали детаљну статистику.",
"DuplicateNoun": "Дуплицирај",
"EditColorScheme": "Уреди шему боја",
"Employees": "корисници",

View File

@ -113,7 +113,6 @@
"DownloadLog": "Preuzmi log",
"DownloadReportBtnText": "Preuzmi izveštaj",
"DownloadReportDescription": "Izveštaj će biti sačuvan u Dokumenti",
"DownloadStatisticsText": "Možete preuzeti izveštaj za dostupne podatke tokom izabranog perioda skladištenja kako biste pregledali detaljnu statistiku.",
"DuplicateNoun": "Dupliciraj",
"EditColorScheme": "Uredi šemu boja",
"Employees": "korisnici",

View File

@ -112,7 +112,6 @@
"DownloadLog": "İndirme günlüğü",
"DownloadReportBtnText": "Raporu indir",
"DownloadReportDescription": "Rapor Belgeler'e kaydedilecek",
"DownloadStatisticsText": "Ayrıntılı istatistikleri görüntülemek için seçilen depolama süresi boyunca mevcut olan veriler için raporu indirebilirsiniz.",
"DuplicateNoun": "Yinelenen",
"EditColorScheme": "Renk düzenini düzenle",
"Employees": "kullanıcılar",

View File

@ -113,7 +113,6 @@
"DownloadLog": "Завантажити журнал",
"DownloadReportBtnText": "Завантажити звіт",
"DownloadReportDescription": "Звіт буде збережено в розділі «Документи»",
"DownloadStatisticsText": "Ви можете завантажити звіт із даними, доступними для вибраного періоду зберігання, щоб переглянути детальну статистику.",
"DuplicateNoun": "Дублікат",
"EditColorScheme": "Редагувати колірну схему",
"Employees": "користувачі",

View File

@ -111,7 +111,6 @@
"DownloadLog": "Tải log",
"DownloadReportBtnText": "Tải báo cáo xuống",
"DownloadReportDescription": "Báo cáo sẽ được lưu vào Tài liệu",
"DownloadStatisticsText": "Bạn có thể tải xuống báo cáo cho dữ liệu hữu dụng trong thời gian lưu trữ đã chọn để xem số liệu thống kê chi tiết.",
"DuplicateNoun": "Trùng lặp",
"EditColorScheme": "Chỉnh sửa bảng màu",
"Employees": "người dùng",

View File

@ -114,7 +114,6 @@
"DownloadLog": "下载日志",
"DownloadReportBtnText": "下载报告",
"DownloadReportDescription": "报告将被保存至“文档”",
"DownloadStatisticsText": "您可以下载所选存储期间可用数据的报告,以查看详细统计信息。",
"DuplicateNoun": "复制",
"EditColorScheme": "编辑配色方案",
"Employees": "用户",

View File

@ -23,18 +23,11 @@
// All the Product's GUI elements, including illustrations and icon sets, as well as technical writing
// content are licensed under the terms of the Creative Commons Attribution-ShareAlike 4.0
// International. See the License terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
import styled, { css } from "styled-components";
import styled from "styled-components";
import Base from "@docspace/shared/themes/base";
const StyledAccessSelector = styled.div`
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
margin-left: 16px;
`
: css`
margin-right: 16px;
`}
margin-inline-end: 16px;
`;
StyledAccessSelector.defaultProps = { theme: Base };

View File

@ -105,6 +105,17 @@ const ArticleBodyContent = (props) => {
case myFolderId:
const myFilter = FilesFilter.getDefault();
myFilter.folder = folderId;
const filterStorageItem =
userId && localStorage.getItem(`UserFilter=${userId}`);
if (filterStorageItem) {
const splitFilter = filterStorageItem.split(",");
myFilter.sortBy = splitFilter[0];
myFilter.sortOrder = splitFilter[1];
}
params = myFilter.toUrlParams();
path = getCategoryUrl(CategoryType.Personal);
@ -123,6 +134,17 @@ const ArticleBodyContent = (props) => {
case recycleBinFolderId:
const recycleBinFilter = FilesFilter.getDefault();
recycleBinFilter.folder = folderId;
const filterStorageTrash =
userId && localStorage.getItem(`UserFilterTrash=${userId}`);
if (filterStorageTrash) {
const splitFilterTrash = filterStorageTrash.split(",");
recycleBinFilter.sortBy = splitFilterTrash[0];
recycleBinFilter.sortOrder = splitFilterTrash[1];
}
params = recycleBinFilter.toUrlParams();
path = getCategoryUrl(CategoryType.Trash);

View File

@ -39,32 +39,16 @@ const StyledMainButtonMobile = styled(MainButtonMobile)`
position: fixed;
z-index: 200;
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
left: ${isMobileOnly
? "calc(16px + env(safe-area-inset-left))"
: "24px"};
`
: css`
right: ${isMobileOnly
? "calc(16px + env(safe-area-inset-right))"
: "24px"};
`}
inset-inline-end: ${({ theme }) => {
const side = theme.interfaceDirection === "rtl" ? "left" : "right";
return isMobileOnly ? `calc(16px + env(safe-area-inset-${side}))` : "24px";
}};
bottom: 24px;
@media ${mobile} {
position: absolute;
bottom: 16px;
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
left: 16px;
`
: css`
right: 16px;
`}
inset-inline-end: 16px;
bottom: 16px;
}
`;

View File

@ -67,7 +67,6 @@ import {
import styled, { css } from "styled-components";
import { resendInvitesAgain } from "@docspace/shared/api/people";
import { getCorrectFourValuesStyle } from "@docspace/shared/utils";
import { ArticleButtonLoader } from "@docspace/shared/skeletons/article";
import { isMobile, isTablet } from "react-device-detect";
@ -115,8 +114,8 @@ const StyledButton = styled(Button)`
justify-content: space-between;
vertical-align: middle;
box-sizing: border-box;
padding: ${({ theme }) =>
getCorrectFourValuesStyle("5px 14px 5px 12px", theme.interfaceDirection)};
padding-block: 5px;
padding-inline: 12px 14px;
line-height: 22px;
border-radius: 3px;

View File

@ -25,11 +25,11 @@
// International. See the License terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
import styled from "styled-components";
import { getCorrectFourValuesStyle, mobileMore } from "@docspace/shared/utils";
import { mobileMore } from "@docspace/shared/utils";
const StyledBreakpointWarning = styled.div`
padding: ${({ theme }) =>
getCorrectFourValuesStyle("24px 44px 0 24px", theme.interfaceDirection)};
padding-block: 24px 0;
padding-inline: 24px 44px;
display: flex;
flex-direction: column;
@ -62,12 +62,12 @@ const StyledBreakpointWarning = styled.div`
@media ${mobileMore} {
flex-direction: row;
padding: ${({ theme }) =>
getCorrectFourValuesStyle("65px 0 0 104px", theme.interfaceDirection)};
padding-block: 65px 0;
padding-inline: 104px 0;
.description {
padding: ${({ theme }) =>
getCorrectFourValuesStyle("0 0 0 32px", theme.interfaceDirection)};
padding-block: 0;
padding-inline: 32px 0;
}
img {

View File

@ -28,19 +28,12 @@ import { useState, useEffect } from "react";
import styled from "styled-components";
import { RectangleSkeleton } from "@docspace/shared/skeletons";
import {
getCorrectFourValuesStyle,
isMobile,
mobileMore,
} from "@docspace/shared/utils";
import { isMobile, mobileMore } from "@docspace/shared/utils";
const StyledLoader = styled.div`
padding-top: 25px;
${({ theme }) =>
theme.interfaceDirection === "rtl"
? `padding-right: 32px;`
: `padding-left: 32px;`}
padding-inline-start: 32px;
display: flex;
flex-direction: column;
@ -63,12 +56,12 @@ const StyledLoader = styled.div`
@media ${mobileMore} {
flex-direction: row;
padding: ${({ theme }) =>
getCorrectFourValuesStyle("65px 0 0 104px", theme.interfaceDirection)};
padding-block: 65px 0;
padding-inline: 104px 0;
.loader-description {
padding: ${({ theme }) =>
getCorrectFourValuesStyle("0 0 0 32px", theme.interfaceDirection)};
padding-block: 0;
padding-inline: 32px 0;
}
}
`;

View File

@ -50,14 +50,7 @@ const StyledTooltip = styled.div`
align-items: center;
}
.tooltip-moved-obj-icon {
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
margin-left: 6px;
`
: css`
margin-right: 6px;
`}
margin-inline-end: 6px;
}
.tooltip-moved-obj-extension {
color: ${(props) => props.theme.filesDragTooltip.color};

View File

@ -98,9 +98,8 @@ const EditingWrapper = styled.div`
height: 43px;
bottom: 0;
left: 0;
right: 0;
padding: 9px 8px 9px 8px;
inset-inline: 0;
padding: 9px 8px;
`}
@ -120,8 +119,7 @@ const EditingWrapper = styled.div`
font-weight: 600;
margin: 0;
font-family: ${(props) => props.theme.fontFamily};
text-align: ${({ theme }) =>
theme.interfaceDirection === "rtl" ? `right` : `left`};
text-align: start;
color: ${(props) => props.theme.filesEditingWrapper.color};
background: ${(props) =>
props.theme.filesEditingWrapper.row.itemBackground} !important;
@ -129,14 +127,7 @@ const EditingWrapper = styled.div`
${(props) =>
props.viewAs === "tile" &&
css`
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
margin-left: 2px;
`
: css`
margin-right: 2px;
`}
margin-inline-end: 2px;
border: none;
background: none;
`};
@ -144,20 +135,13 @@ const EditingWrapper = styled.div`
${(props) =>
props.isUpdatingRowItem &&
css`
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
margin-right: 0;
`
: css`
margin-left: 0;
`}
margin-inline-start: 0;
display: flex;
align-items: center;
background: none !important;
`}
${(props) => props.viewAs === "table" && `padding-left: 12px`}
${(props) => props.viewAs === "table" && `padding-inline-start: 12px`}
${(props) =>
props.viewAs === "tile" &&
@ -178,28 +162,14 @@ const EditingWrapper = styled.div`
}
.edit-button {
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
margin-right: 8px;
`
: css`
margin-left: 8px;
`}
margin-inline-start: 8px;
height: 32px;
padding: 0px 7px 0px 7px;
padding: 0px 7px;
${(props) =>
props.viewAs === "tile" &&
css`
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
margin-right: 0;
`
: css`
margin-left: 0;
`}
margin-inline-start: 0;
background: ${(props) =>
props.theme.filesEditingWrapper.tile.itemBackground};
border: ${(props) =>

View File

@ -44,7 +44,7 @@ const EmptyFolderWrapper = styled.div`
.first-button {
display: flex;
.empty-folder_container-icon {
margin-right: 8px;
margin-inline-end: 8px;
}
}
}
@ -64,14 +64,8 @@ const EmptyFolderWrapper = styled.div`
}
.empty-folder_container-icon {
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
margin: 4px 0 0 4px;
`
: css`
margin: 4px 4px 0 0;
`}
margin-block: 4px 0;
margin-inline: 0 4px;
cursor: pointer;
}

View File

@ -26,10 +26,9 @@
import React, { useMemo, useState, useCallback, useEffect } from "react";
import { useTranslation, Trans } from "react-i18next";
import { useTranslation } from "react-i18next";
import { inject, observer } from "mobx-react";
import { toastr } from "@docspace/shared/components/toast";
import {
Events,
FilesSelectorFilterTypes,
@ -78,7 +77,6 @@ import FilesSelector from "../FilesSelector";
import LeaveRoomDialog from "../dialogs/LeaveRoomDialog";
import ChangeRoomOwnerPanel from "../panels/ChangeRoomOwnerPanel";
import { CreatedPDFFormDialog } from "../dialogs/CreatedPDFFormDialog";
import { PDFFormEditingDialog } from "../dialogs/PDFFormEditingDialog";
import { SharePDFFormDialog } from "../dialogs/SharePDFFormDialog";
import { FillPDFDialog } from "../dialogs/FillPDFDialog";
@ -141,13 +139,6 @@ const Panels = (props) => {
shareCollectSelector,
} = props;
const [createPDFFormFile, setCreatePDFFormFile] = useState({
visible: false,
file: null,
localKey: "",
onClose: null,
});
const [sharePDFForm, setSharePDFForm] = useState({
visible: false,
data: null,
@ -175,41 +166,6 @@ const Panels = (props) => {
return text[selectFileFormRoomFilterParam];
}, [selectFileFormRoomFilterParam, t]);
const handleCreatePDFFormFile = useCallback(
/**
* @param {CustomEvent} event
*/
(event) => {
const { file, show, localKey } = event.detail;
if (!show) {
return toastr.success(
<Trans
ns="PDFFormDialog"
i18nKey="PDFFormIsReadyToast"
components={{ 1: <strong /> }}
values={{ filename: file.title }}
/>,
);
}
setCreatePDFFormFile({
visible: true,
file,
localKey,
onClose: () => {
setCreatePDFFormFile({
visible: false,
onClose: null,
file: null,
localKey: "",
});
},
});
},
[],
);
const handleSharePDFForm = useCallback(
/**
* @param {CustomEvent} event
@ -229,20 +185,12 @@ const Panels = (props) => {
);
useEffect(() => {
window.addEventListener(
Events.CREATE_PDF_FORM_FILE,
handleCreatePDFFormFile,
);
window.addEventListener(Events.Share_PDF_Form, handleSharePDFForm);
return () => {
window.removeEventListener(
Events.CREATE_PDF_FORM_FILE,
handleCreatePDFFormFile,
);
window.removeEventListener(Events.Share_PDF_Form, handleSharePDFForm);
};
}, [handleCreatePDFFormFile, handleSharePDFForm]);
}, [handleSharePDFForm]);
return [
settingsPluginDialogVisible && (
@ -357,12 +305,6 @@ const Panels = (props) => {
<ChangeRoomOwnerPanel key="change-room-owner" />
),
shareFolderDialogVisible && <ShareFolderDialog key="share-folder-dialog" />,
createPDFFormFile.visible && (
<CreatedPDFFormDialog
key="created-pdf-form-dialog"
{...createPDFFormFile}
/>
),
pdfFormEditVisible && <PDFFormEditingDialog key="pdf-form-edit-dialog" />,
sharePDFForm.visible && (
<SharePDFFormDialog key="share-pdf-form-dialog" {...sharePDFForm} />

View File

@ -24,12 +24,13 @@
// content are licensed under the terms of the Creative Commons Attribution-ShareAlike 4.0
// International. See the License terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
import { useState, useEffect, useCallback, useRef, memo } from "react";
import { useState, useEffect, useCallback, useRef } from "react";
import { Trans } from "react-i18next";
import { inject, observer } from "mobx-react";
import { FileAction } from "@docspace/shared/enums";
import { Events } from "@docspace/shared/enums";
import { toastr } from "@docspace/shared/components/toast";
import CreateEvent from "./CreateEvent";
import RenameEvent from "./RenameEvent";
@ -40,6 +41,8 @@ import EditGroupEvent from "./GroupEvents/EditGroupEvent";
import ChangeUserTypeEvent from "./ChangeUserTypeEvent";
import CreatePluginFile from "./CreatePluginFileEvent";
import ChangeQuotaEvent from "./ChangeQuotaEvent";
import { CreatedPDFFormDialog } from "../dialogs/CreatedPDFFormDialog";
const GlobalEvents = ({ enablePlugins, eventListenerItemsList }) => {
const [createDialogProps, setCreateDialogProps] = useState({
visible: false,
@ -98,6 +101,13 @@ const GlobalEvents = ({ enablePlugins, eventListenerItemsList }) => {
onClose: null,
});
const [createPDFFormFile, setCreatePDFFormFile] = useState({
visible: false,
file: null,
localKey: "",
onClose: null,
});
const eventHandlersList = useRef([]);
const onCreate = useCallback((e) => {
@ -236,6 +246,45 @@ const GlobalEvents = ({ enablePlugins, eventListenerItemsList }) => {
[enablePlugins],
);
const handleCreatePDFFormFile = useCallback(
/**
* @typedef {Object} DetailType
* @property {import("@docspace/shared/api/files/types").TFile} file
* @property {boolean} show
* @property {string} localKey
* @param {CustomEvent<DetailType>} event
*/
(event) => {
const { file, show, localKey } = event.detail;
if (!show) {
return toastr.success(
<Trans
ns="PDFFormDialog"
i18nKey="PDFFormIsReadyToast"
components={{ 1: <strong /> }}
values={{ filename: file.title }}
/>,
);
}
setCreatePDFFormFile({
visible: true,
file,
localKey,
onClose: () => {
setCreatePDFFormFile({
visible: false,
onClose: null,
file: null,
localKey: "",
});
},
});
},
[],
);
const onChangeQuota = useCallback((e) => {
const { payload } = e;
@ -261,6 +310,21 @@ const GlobalEvents = ({ enablePlugins, eventListenerItemsList }) => {
},
});
}, []);
useEffect(() => {
window.addEventListener(
Events.CREATE_PDF_FORM_FILE,
handleCreatePDFFormFile,
);
return () => {
window.removeEventListener(
Events.CREATE_PDF_FORM_FILE,
handleCreatePDFFormFile,
);
};
}, [handleCreatePDFFormFile]);
useEffect(() => {
window.addEventListener(Events.CREATE, onCreate);
window.addEventListener(Events.RENAME, onRename);
@ -360,6 +424,12 @@ const GlobalEvents = ({ enablePlugins, eventListenerItemsList }) => {
changeQuotaDialog.visible && (
<ChangeQuotaEvent key={Events.CHANGE_QUOTA} {...changeQuotaDialog} />
),
createPDFFormFile.visible && !createDialogProps.visible && (
<CreatedPDFFormDialog
key="created-pdf-form-dialog"
{...createPDFFormFile}
/>
),
];
};

View File

@ -41,14 +41,7 @@ export const EncryptedFileIcon = styled.div`
position: absolute;
width: 16px;
margin-top: 14px;
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
margin-right: 12px;
`
: css`
margin-left: 12px;
`}
margin-inline-start: 12px;
`;
export const StyledFavoriteIcon = styled(FavoriteIcon)`

View File

@ -41,10 +41,7 @@ const IconWrapper = styled.div`
&::before {
content: "";
position: absolute;
top: 0px;
right: 0px;
bottom: 0px;
left: 0px;
inset: 0;
/* border: ${(props) => props.theme.itemIcon.borderColor}; */
border: 1px solid transparent;
border-radius: 5px;
@ -71,14 +68,7 @@ const EncryptedFileIcon = styled.div`
position: absolute;
width: 16px;
margin-top: 14px;
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
margin-right: 12px;
`
: css`
margin-left: 12px;
`}
margin-inline-start: 12px;
`;
const ItemIcon = ({

View File

@ -42,10 +42,7 @@ const StyledContainer = styled.div`
max-width: calc(100% + 8px);
}
${({ theme }) =>
theme.interfaceDirection === "rtl"
? `margin-left: -16px;`
: `margin-right: -16px;`}
margin-inline-end: -16px;
#bar-banner {
margin-bottom: -3px;

View File

@ -41,10 +41,7 @@ const StyledIconBox = styled.div`
align-items: center;
${({ theme }) =>
theme.interfaceDirection === "rtl"
? `padding-right: 16px;`
: `padding-left: 16px;`}
padding-inline-start: 16px;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
`;

View File

@ -29,24 +29,19 @@ import PropTypes from "prop-types";
import styled, { css } from "styled-components";
import ProfileActions from "./profile-actions";
import { useTranslation } from "react-i18next";
import {
mobile,
tablet,
getCorrectFourValuesStyle,
} from "@docspace/shared/utils";
import { mobile, tablet } from "@docspace/shared/utils";
import { inject, observer } from "mobx-react";
const StyledNav = styled.nav`
display: flex;
padding: ${({ theme }) =>
getCorrectFourValuesStyle("0 20px 0 16px", theme.interfaceDirection)};
padding-block: 0;
padding-inline: 16px 20px;
align-items: center;
position: absolute;
${({ theme }) =>
theme.interfaceDirection === "rtl" ? `left: 0;` : `right: 0;`}
inset-inline-end: 0;
height: 48px;
z-index: 180 !important;
@ -57,8 +52,8 @@ const StyledNav = styled.nav`
}
@media ${tablet} {
padding: ${({ theme }) =>
getCorrectFourValuesStyle("0 0px 0 16px", theme.interfaceDirection)};
padding-block: 0;
padding-inline: 16px 0;
}
.icon-profile-menu {
cursor: pointer;

View File

@ -40,10 +40,7 @@ const StyledContainer = styled.div`
align-items: center;
justify-content: center;
${({ theme }) =>
theme.interfaceDirection === "rtl"
? `margin-left: 22px;`
: `margin-right: 22px;`}
margin-inline-end: 22px;
.navigation-item__svg {
height: 20px;
@ -70,8 +67,7 @@ const StyledContainer = styled.div`
position: absolute;
top: -8px;
${({ theme }) =>
theme.interfaceDirection === "rtl" ? `left: -8px;` : `right: -8px;`}
inset-inline-end: -8px;
width: 12px;
height: 12px;

View File

@ -38,7 +38,7 @@ import { setLanguageForUnauthorized } from "@docspace/shared/utils/common";
import i18n from "../../../i18n";
const Header = styled.header`
align-items: left;
align-items: start;
background-color: ${(props) => props.theme.header.backgroundColor};
display: flex;
width: 100vw;
@ -79,7 +79,7 @@ const Header = styled.header`
//margin: auto;
// margin-right: 8px;
position: absolute;
right: 8px;
inset-inline-end: 8px;
top: 6px;
}
`;

View File

@ -66,7 +66,7 @@ const Header = styled.header`
.header-logo-icon {
position: absolute;
right: 50%; /* Just centering. Does not require rtl mirroring */
right: 50%; /* Does not require rtl mirroring */
transform: translateX(50%);
height: 24px;
cursor: pointer;
@ -83,11 +83,7 @@ const Header = styled.header`
.header-items-wrapper {
display: flex;
${({ theme }) =>
theme.interfaceDirection === "rtl"
? `margin-right: 82px;`
: `margin-left: 82px;`}
margin-inline-start: 82px;
}
`;
@ -121,17 +117,13 @@ const StyledNavigationIconsWrapper = styled.div`
height: 20px;
position: absolute;
${({ theme }) =>
theme.interfaceDirection === "rtl"
? `right: ${isMobile ? "254px" : "275px"};`
: `left: ${isMobile ? "254px" : "275px"};`}
inset-inline-start: ${isMobile ? "254px" : "275px"};
display: ${isMobileOnly ? "none" : "flex"};
justify-content: flex-start;
align-items: center;
@media ${tablet} {
${({ theme }) =>
theme.interfaceDirection === "rtl" ? `right: 254px;` : `left: 254px;`}
inset-inline-start: 254px;
}
@media ${mobile} {

View File

@ -32,11 +32,7 @@ import styled, { css } from "styled-components";
import { Badge } from "@docspace/shared/components/badge";
import { Link } from "@docspace/shared/components/link";
import { Text } from "@docspace/shared/components/text";
import {
commonIconsStyles,
getCorrectFourValuesStyle,
tablet,
} from "@docspace/shared/utils";
import { commonIconsStyles, tablet } from "@docspace/shared/utils";
import MenuIcon from "PUBLIC_DIR/images/menu.react.svg";
import { Base } from "@docspace/shared/themes";
@ -54,8 +50,8 @@ const NavItemWrapper = styled(Link)`
min-width: 48px;
min-height: 50px;
align-items: center;
padding: ${({ theme }) =>
getCorrectFourValuesStyle("0 16px 0 20px", theme.interfaceDirection)};
padding-block: 0;
padding-inline: 20px 16px;
cursor: pointer;
position: relative;
box-sizing: border-box;
@ -93,16 +89,16 @@ const NavItemWrapper = styled(Link)`
`}
@media ${tablet} {
padding: ${({ theme }) =>
getCorrectFourValuesStyle("0 16px 0 16px", theme.interfaceDirection)};
padding-block: 0;
padding-inline: 16px;
}
`;
NavItemWrapper.defaultProps = { theme: Base };
const NavItemLabel = styled(Text)`
margin: ${({ theme }) =>
getCorrectFourValuesStyle("0 auto 0 16px", theme.interfaceDirection)};
margin-block: 0;
margin-inline: 16px auto;
display: ${(props) => (props.opened ? "block" : "none")};
color: ${(props) =>
@ -117,8 +113,8 @@ const badgeCss = css`
position: absolute;
top: 2px;
${({ theme }) =>
theme.interfaceDirection === "rtl" ? `left: 4px;` : `right: 4px;`}
inset-inline-end: 4px;
overflow: inherit;
`;
@ -136,9 +132,7 @@ const VersionBadge = styled.div`
padding: 3px 6px;
position: absolute;
top: -5px;
${({ theme }) =>
theme.interfaceDirection === "rtl" ? `right: 10px;` : `left: 10px;`}
inset-inline-start: 10px;
`;
const StyledMenuIcon = styled(MenuIcon)`

View File

@ -35,8 +35,7 @@ const StyledNav = styled.nav`
background-color: ${(props) => props.theme.nav.backgroundColor};
height: 100%;
${({ theme }) =>
theme.interfaceDirection === "rtl" ? `right: 0;` : `left: 0;`}
inset-inline-start: 0;
overflow-x: hidden;
overflow-y: auto;
position: fixed;
@ -63,8 +62,7 @@ const StyledNav = styled.nav`
bottom: 8px;
${({ theme }) =>
theme.interfaceDirection === "rtl" ? `right: 16px;` : `left: 16px;`}
inset-inline-start: 16px;
white-space: nowrap;
a:focus {

View File

@ -47,24 +47,17 @@ const StyledDropDown = styled(DropDown)`
top: ${(props) =>
props.isBannerVisible && props.withPortal ? "134px" : "54px"} !important;
${({ theme }) =>
theme.interfaceDirection === "rtl"
? `left: 20px !important;`
: `right: 20px !important;`}
inset-inline-end: 20px !important;
@media ${tablet} {
${({ theme }) =>
theme.interfaceDirection === "rtl"
? `left: 16px !important;`
: `right: 16px !important;`}
inset-inline-end: 16px !important;
}
@media ${mobile} {
position: fixed;
top: unset !important;
right: 0 !important;
left: 0 !important;
inset-inline: 0 !important;
bottom: 0 !important;
width: 100vw;
@ -79,8 +72,7 @@ const StyledControlContainer = styled.div`
height: 24px;
position: absolute;
top: -34px;
${({ theme }) =>
theme.interfaceDirection === "rtl" ? `left: 10px;` : `right: 10px;`}
inset-inline-end: 10px;
border-radius: 100px;
cursor: pointer;
display: none;

View File

@ -40,7 +40,7 @@ const StyledBody = styled.div`
.quota_checkbox {
svg {
margin-right: 8px;
margin-inline-end: 8px;
}
}

View File

@ -48,8 +48,7 @@ const StyledBody = styled.div`
}
.conversion-input {
width: 100%;
text-align: ${({ theme }) =>
theme.interfaceDirection === "rtl" ? `right` : `left`};
text-align: start;
}
`;
const SimulatePassword = memo(

View File

@ -31,7 +31,7 @@ const StyledBody = styled.div`
overflow: hidden;
width: 100%;
max-width: max-content;
margin-left: 0px !important;
margin-inline-start: 0px !important;
display: flex;
flex-wrap: nowrap;
@ -48,8 +48,7 @@ const StyledBody = styled.div`
flex: 1;
min-width: 0;
.combo-button {
padding-left: 8px;
padding-right: 0px;
padding-inline: 8px 0;
width: auto;
}
}

View File

@ -67,14 +67,7 @@ const StyledContactComponent = styled.div`
display: flex;
width: 100%;
p {
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
margin-left: 4px;
`
: css`
margin-right: 4px;
`}
margin-inline-end: 4px;
margin-bottom: 4px;
}

View File

@ -41,10 +41,7 @@ const StyledModal = styled(ModalDialogContainer)`
.cancel-btn {
display: inline-block;
${({ theme }) =>
theme.interfaceDirection === "rtl"
? `margin-right: 8px;`
: `margin-left: 8px;`}
margin-inline-start: 8px;
}
`;

View File

@ -51,10 +51,7 @@ const StyledAvatarCropper = styled.div`
position: absolute;
width: 216px;
height: 216px;
top: 0;
bottom: 0;
left: 0;
right: 0;
inset: 0;
svg {
opacity: 0.2;
path {

View File

@ -49,10 +49,7 @@ const StyledModal = styled(ModalDialogContainer)`
display: flex;
align-items: center;
${({ theme }) =>
theme.interfaceDirection === "rtl"
? `padding-right: 8px;`
: `padding-left: 8px;`}
padding-inline-start: 8px;
}
`;

View File

@ -36,10 +36,7 @@ const StyledOwnerInfo = styled.div`
margin-bottom: 24px;
.info {
${({ theme }) =>
theme.interfaceDirection === "rtl"
? `padding-right: 16px;`
: `padding-left: 16px;`}
padding-inline-start: 16px;
display: flex;
flex-direction: column;
@ -94,10 +91,7 @@ const StyledPeopleSelector = styled.div`
color: ${(props) => props.theme.dialogs.disableText};
${({ theme }) =>
theme.interfaceDirection === "rtl"
? `margin-right: 8px;`
: `margin-left: 8px;`}
margin-inline-start: 8px;
}
`;

View File

@ -32,10 +32,7 @@ const StyledComponent = styled.div`
}
.convert-password-dialog_button-accept {
${({ theme }) =>
theme.interfaceDirection === "rtl"
? `margin-left: 8px;`
: `margin-right: 8px;`}
margin-inline-end: 8px;
}
.conversation-password-wrapper {
@ -60,9 +57,7 @@ const StyledComponent = styled.div`
`
: css`
#convert-password-dialog_button-accept {
${theme.interfaceDirection === "rtl"
? `margin-left: 8px;`
: `margin-right: 8px;`}
margin-inline-end: 8px;
}
`}
`;

View File

@ -31,7 +31,7 @@ export const GroupNameParam = styled.div`
flex-direction: column;
gap: 4px;
max-height: 54px;
margin: 4px 0 20px 0;
margin: 4px 0 20px;
.input-label {
cursor: pointer;

View File

@ -28,7 +28,7 @@ import styled from "styled-components";
export const Header = styled.div`
width: 100%;
padding: 8px 0 12px 0;
padding: 8px 0 12px;
color: #a3a9ae;
font-size: 14px;

View File

@ -28,7 +28,7 @@ import styled from "styled-components";
export const Header = styled.div`
width: 100%;
padding: 8px 0 12px 0;
padding: 8px 0 12px;
color: #a3a9ae;
font-size: 14px;

View File

@ -52,10 +52,7 @@ const StyledIconCropper = styled.div`
position: absolute;
width: 216px;
height: 216px;
top: 0;
bottom: 0;
left: 0;
right: 0;
inset: 0;
svg {
opacity: 0.2;
path {

View File

@ -88,10 +88,7 @@ const StyledPermanentSetting = styled.div`
}
.permanent_setting-help_button {
${({ theme }) =>
theme.interfaceDirection === "rtl"
? `margin-right: auto;`
: `margin-left: auto;`}
margin-inline-start: auto;
white-space: pre-line;
}

View File

@ -48,8 +48,7 @@ const StyledDropdownDesktop = styled.div`
z-index: 400;
top: 0;
${({ theme }) =>
theme.interfaceDirection === "rtl" ? `right: 0;` : `left: 0;`}
inset-inline-start: 0;
box-sizing: border-box;
width: 100%;
position: absolute;

View File

@ -42,10 +42,7 @@ const StyledTagList = styled.div`
margin: 0;
.tag-icon {
${({ theme }) =>
theme.interfaceDirection === "rtl"
? `margin-right: 10px;`
: `margin-left: 10px;`}
margin-inline-start: 10px;
svg {
width: 10px;
height: 10px;

View File

@ -69,17 +69,14 @@ const StyledFolderInput = styled.div`
.root_label,
.path,
.room_title {
padding: 5px 0px 5px 0px;
padding: 5px 0px;
font-weight: 400;
font-size: 13px;
line-height: 20px;
}
.root_label {
${({ theme }) =>
theme.interfaceDirection === "rtl"
? `padding-right: 8px;`
: `padding-left: 8px;`}
padding-inline-start: 8px;
/* background-color: ${(props) =>
props.theme.createEditRoomDialog.thirdpartyStorage.folderInput
.background}; */
@ -95,20 +92,14 @@ const StyledFolderInput = styled.div`
}
.room_title {
${({ theme }) =>
theme.interfaceDirection === "rtl"
? `padding-left: 8px;`
: `padding-right: 8px;`}
padding-inline-end: 8px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.icon-wrapper {
${({ theme }) =>
theme.interfaceDirection === "rtl"
? `margin-right: auto;`
: `margin-left: auto;`}
margin-inline-start: auto;
background-color: ${(props) =>
props.theme.createEditRoomDialog.thirdpartyStorage.folderInput
.background};
@ -122,10 +113,7 @@ const StyledFolderInput = styled.div`
transition: all 0.2s ease;
border-top: none !important;
border-bottom: none !important;
${({ theme }) =>
theme.interfaceDirection === "rtl"
? `border-left: none !important;`
: `border-right: none !important;`}
border-inline-end: none !important;
&:hover {
path {

View File

@ -50,7 +50,7 @@ const StyledStorageLocation = styled.div`
}
.combo-button {
padding-left: 8px;
padding-inline-start: 8px;
}
}

View File

@ -38,7 +38,7 @@ const StyledCatalogSpamIcon = styled(CatalogSpamIcon)`
path {
fill: #f21c0e;
}
padding-left: 8px;
padding-inline-start: 8px;
`;
const AccountInfo = ({ user }) => {

View File

@ -101,7 +101,7 @@ const StyledProgress = styled.div`
}
.status-pending {
padding-left: 24px;
padding-inline-start: 24px;
height: 20px;
}

View File

@ -27,7 +27,7 @@
import { ModalDialog } from "@docspace/shared/components/modal-dialog";
import styled from "styled-components";
import { getCorrectFourValuesStyle, tablet } from "@docspace/shared/utils";
import { tablet } from "@docspace/shared/utils";
const StyledDeleteDialog = styled(ModalDialog)`
/* .scroll-body {
@ -40,10 +40,10 @@ const StyledDeleteDialog = styled(ModalDialog)`
}
.modal-dialog-aside-header {
margin: ${({ theme }) =>
getCorrectFourValuesStyle("0 -24px 0 -16px", theme.interfaceDirection)};
padding: ${({ theme }) =>
getCorrectFourValuesStyle("0 0 0 16px", theme.interfaceDirection)};
margin-block: 0;
margin-inline: -16px -24px;
padding-block: 0;
padding-inline: 16px 0;
}
.delete_dialog-header-text {
@ -70,10 +70,7 @@ const StyledDeleteDialog = styled(ModalDialog)`
@media ${tablet} {
width: 100%;
${({ theme }) =>
theme.interfaceDirection === "rtl"
? `padding-left: 32px;`
: `padding-right: 32px;`}
padding-inline-end: 32px;
display: flex;
}
}

View File

@ -25,7 +25,7 @@
// International. See the License terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
import { ModalDialog } from "@docspace/shared/components/modal-dialog";
import { tablet, getCorrectFourValuesStyle } from "@docspace/shared/utils";
import { tablet } from "@docspace/shared/utils";
import styled from "styled-components";
const StyledDeleteLinkDialog = styled(ModalDialog)`
@ -39,10 +39,10 @@ const StyledDeleteLinkDialog = styled(ModalDialog)`
}
.modal-dialog-aside-header {
margin: ${({ theme }) =>
getCorrectFourValuesStyle("0 -24px 0 -16px", theme.interfaceDirection)};
padding: ${({ theme }) =>
getCorrectFourValuesStyle("0 0 0 16px", theme.interfaceDirection)};
margin-block: 0;
margin-inline: -16px -24px;
padding-block: 0;
padding-inline: 16px 0;
}
.delete_dialog-header-text {
@ -68,10 +68,7 @@ const StyledDeleteLinkDialog = styled(ModalDialog)`
.modal-dialog-aside-footer {
@media ${tablet} {
width: 100%;
${({ theme }) =>
theme.interfaceDirection === "rtl"
? `padding-left: 32px;`
: `padding-right: 32px;`}
padding-inline-end: 32px;
display: flex;
}
}

View File

@ -118,10 +118,7 @@ const StyledDownloadContent = styled.div`
.download-dialog-link {
width: max-content;
a {
${({ theme }) =>
theme.interfaceDirection === "rtl"
? `padding-left: 0;`
: `padding-right: 0;`}
padding-inline-end: 0;
text-underline-offset: 1px;
}
}

View File

@ -50,8 +50,7 @@ export const GroupMember = styled.div<{ isExpect: boolean }>`
.name {
font-weight: 600;
font-size: 14px;
line-height: ${({ theme }) =>
theme.interfaceDirection === "rtl" ? `20px` : `16px`};
line-height: 16px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
@ -62,8 +61,7 @@ export const GroupMember = styled.div<{ isExpect: boolean }>`
.me-label {
font-weight: 600;
font-size: 14px;
line-height: ${({ theme }) =>
theme.interfaceDirection === "rtl" ? `20px` : `16px`};
line-height: 16px;
color: ${(props) => props.theme.infoPanel.members.meLabelColor};
padding-inline-start: 8px;
margin-inline-start: -8px;

View File

@ -39,10 +39,7 @@ const StyledModal = styled(ModalDialogContainer)`
.cancel-btn {
display: inline-block;
${({ theme }) =>
theme.interfaceDirection === "rtl"
? `margin-right: 8px;`
: `margin-left: 8px;`}
margin-inline-start: 8px;
}
`;

View File

@ -30,4 +30,5 @@ export const Container = styled.div`
flex-direction: column;
gap: 16px;
margin-top: 16px;
`;

View File

@ -68,10 +68,7 @@ const ModalDialogContainer = styled(ModalDialog)`
}
.link-dialog {
${({ theme }) =>
theme.interfaceDirection === "rtl"
? `margin-left: 12px;`
: `margin-right: 12px;`}
margin-inline-end: 12px;
}
.error-label {
@ -117,10 +114,7 @@ const ModalDialogContainer = styled(ModalDialog)`
}
.convert_dialog-content {
${({ theme }) =>
theme.interfaceDirection === "rtl"
? `padding-right: 16px;`
: `padding-left: 16px;`}
padding-inline-start: 16px;
@media ${tablet} {
padding: 0;

View File

@ -25,7 +25,7 @@
// International. See the License terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
import { ModalDialog } from "@docspace/shared/components/modal-dialog";
import { tablet, getCorrectFourValuesStyle } from "@docspace/shared/utils";
import { tablet } from "@docspace/shared/utils";
import styled from "styled-components";
const StyledMoveToPublicRoomDialog = styled(ModalDialog)`
@ -39,25 +39,16 @@ const StyledMoveToPublicRoomDialog = styled(ModalDialog)`
}
.modal-dialog-aside-header {
margin: ${({ theme }) =>
getCorrectFourValuesStyle(
"0 -24px 0 -16px",
theme.interfaceDirection === "rtl",
)};
padding: ${({ theme }) =>
getCorrectFourValuesStyle(
"0 0 0 16px",
theme.interfaceDirection === "rtl",
)};
margin-block: 0;
margin-inline: -16px -24px;
padding-block: 0;
padding-inline: 16px 0;
}
.modal-dialog-aside-footer {
@media ${tablet} {
width: 100%;
${({ theme }) =>
theme.interfaceDirection === "rtl"
? `padding-left: 32px;`
: `padding-right: 32px;`}
padding-inline-end: 32px;
display: flex;
}
}

View File

@ -39,6 +39,7 @@ import { messageActions } from "SRC_DIR/helpers/plugins/utils";
const StyledFullScreen = styled.div`
position: fixed;
top: 0;
// doesn't require mirroring for RTL
left: 0;
z-index: 500;
background: ${(props) => props.theme.backgroundColor};

View File

@ -40,10 +40,7 @@ const StyledModal = styled(ModalDialogContainer)`
.cancel-btn {
display: inline-block;
${({ theme }) =>
theme.interfaceDirection === "rtl"
? `margin-right: 8px;`
: `margin-left: 8px;`}
margin-inline-start: 8px;
}
`;

View File

@ -40,10 +40,7 @@ const StyledModal = styled(ModalDialogContainer)`
.cancel-btn {
display: inline-block;
${({ theme }) =>
theme.interfaceDirection === "rtl"
? `margin-right: 8px;`
: `margin-left: 8px;`}
margin-inline-start: 8px;
}
`;

View File

@ -32,14 +32,7 @@ import { ModalDialog } from "@docspace/shared/components/modal-dialog";
const StyledEditLinkPanel = styled(ModalDialog)`
.edit-link-panel {
.scroll-body {
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
padding-left: 0 !important;
`
: css`
padding-right: 0 !important;
`}
padding-inline-end: 0 !important;
}
}
@ -55,7 +48,7 @@ const StyledEditLinkPanel = styled(ModalDialog)`
padding: 4px 0px 0px;
.edit-link_link-block {
padding: 16px 16px 20px 16px;
padding: 16px 16px 20px;
.edit-link-text {
display: inline-flex;
@ -64,14 +57,7 @@ const StyledEditLinkPanel = styled(ModalDialog)`
.edit-link_required-icon {
display: inline-flex;
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
margin-right: 2px;
`
: css`
margin-left: 2px;
`}
margin-inline-start: 2px;
}
.edit-link_link-input {
@ -81,15 +67,7 @@ const StyledEditLinkPanel = styled(ModalDialog)`
}
.edit-link-toggle-block {
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
padding: 0 20px 16px;
`
: css`
padding: 0 16px 20px;
`}
padding: 0 16px 20px;
border-top: ${(props) => props.theme.filesPanels.sharing.borderBottom};
.edit-link-toggle-header {
@ -99,16 +77,7 @@ const StyledEditLinkPanel = styled(ModalDialog)`
gap: 8px;
.edit-link-toggle {
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
margin-right: auto;
margin-left: 28px;
`
: css`
margin-left: auto;
margin-right: 28px;
`}
margin-inline: auto 28px;
}
}
.edit-link_password-block {
@ -137,14 +106,8 @@ const StyledEditLinkPanel = styled(ModalDialog)`
}
.edit-link_generate-icon {
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
margin: 16px 8px 0px 0px;
`
: css`
margin: 16px 0px 0px 8px;
`}
margin-block: 16px 0;
margin-inline: 8px 0;
}
}
}

View File

@ -103,19 +103,12 @@ const StyledBody = styled.div`
.embedding-panel_size-block {
display: flex;
align-items: center;
gap: 8px;
height: 32px;
}
}
.embedding-panel_input {
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
margin-left: 8px;
`
: css`
margin-right: 8px;
`}
width: 94px;
}
}
@ -127,21 +120,14 @@ const StyledBody = styled.div`
}
.embedding-panel_text {
padding: 0px 0 4px 0;
padding: 0px 0 4px;
}
.embedding-panel_copy-icon {
position: absolute;
z-index: 1;
margin: 8px;
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
left: 32px;
`
: css`
right: 32px;
`}
inset-inline-end: 32px;
}
.embedding-panel_preview-button {

View File

@ -32,14 +32,7 @@ import { tablet, mobile } from "@docspace/shared/utils";
const StyledHotkeysPanel = styled.div`
.hotkeys-panel {
.scroll-body {
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
padding-left: 0 !important;
`
: css`
padding-right: 0 !important;
`}
padding-inline-end: 0 !important;
}
}
@ -56,15 +49,8 @@ const StyledHotkeysPanel = styled.div`
.hotkeys_sub-header {
font-weight: 700;
font-size: 16px;
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
padding-right: 16px;
`
: css`
padding-left: 16px;
`}
margin: 20px 0 6px 0;
padding-inline-start: 16px;
margin: 20px 0 6px;
}
.hotkeys_row {
@ -75,7 +61,7 @@ const StyledHotkeysPanel = styled.div`
border-bottom: none;
.row_content {
margin: 12px 0 12px 0px;
margin: 12px 0 12px;
@media ${tablet} {
height: unset;
@ -99,24 +85,11 @@ const StyledHotkeysPanel = styled.div`
}
.hotkeys-key {
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
margin: 0 0 0 auto;
`
: css`
margin: 0 auto 0 0;
`}
margin-block: 0;
margin-inline: 0 auto;
@media ${mobile} {
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
margin: 0 auto 0 0;
`
: css`
margin: 0 0 0 auto;
`}
margin-inline: auto 0;
width: fit-content;
}
}

View File

@ -59,18 +59,13 @@ const StyledInvitePanel = styled.div`
backdrop-filter: blur(3px);
z-index: 309;
position: fixed;
top: 0;
bottom: 0;
left: 0;
right: 0;
inset: 0;
.invite_panel {
background-color: ${(props) => props.theme.infoPanel.backgroundColor};
border-left: ${(props) =>
`1px solid ${props.theme.infoPanel.borderColor}`};
position: absolute;
border: none;
right: 0;
inset-inline-end: 0;
bottom: 0;
height: calc(100% - 64px);
width: 100vw;
@ -82,32 +77,13 @@ const StyledInvitePanel = styled.div`
height: calc(100% - 55px - 73px);
.scroll-body {
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
padding-left: 0px !important;
`
: css`
padding-right: 0px !important;
`}
padding-inline-end: 0 !important;
@media ${desktop} {
width: 480px;
min-width: auto !important;
}
}
${(props) =>
!props.addUsersPanelVisible &&
isMobile() &&
props.theme.interfaceDirection !== "rtl" &&
css`
.trackYVisible {
.scroller {
margin-right: -20px !important;
}
}
`}
}
`;
@ -146,9 +122,8 @@ const StyledHeading = styled(Heading)`
const StyledSubHeader = styled(Heading)`
font-weight: 700;
font-size: 16px;
padding-left: 16px;
padding-right: 16px;
margin: 16px 0 8px 0;
padding-inline: 16px;
margin: 16px 0 8px;
${(props) =>
props.inline &&
@ -160,8 +135,7 @@ const StyledSubHeader = styled(Heading)`
`;
const StyledDescription = styled(Text)`
padding-left: 16px;
padding-right: 16px;
padding-inline: 16px;
color: ${(props) =>
props.theme.createEditRoomDialog.commonParam.descriptionColor};
margin-bottom: 16px;
@ -213,19 +187,11 @@ const StyledRow = styled.div`
const StyledInviteInput = styled.div`
${fillAvailableWidth}
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
margin-right: 16px;
margin-left: ${(props) => (props.hideSelector ? "16px" : "8px")};
`
: css`
margin-left: 16px;
margin-right: ${(props) => (props.hideSelector ? "16px" : "8px")};
`}
margin-inline-start: 16px;
margin-inline-end: ${(props) => (props.hideSelector ? "16px" : "8px")};
.input-link {
.input-link {
height: 32px;
border: 0px;
@ -279,17 +245,10 @@ const StyledEditInput = styled(TextInput)`
`;
const StyledComboBox = styled(ComboBox)`
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
margin-right: auto;
`
: css`
margin-left: auto;
`}
margin-inline-start: auto;
.combo-button-label,
.combo-button-label:hover {
.combo-button-label:hover {
text-decoration: none;
}
@ -298,14 +257,7 @@ const StyledComboBox = styled(ComboBox)`
justify-content: center;
.combo-buttons_arrow-icon {
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
margin-right: 2px;
`
: css`
margin-left: 2px;
`}
margin-inline-start: 2px;
}
padding: 0px;
@ -393,8 +345,7 @@ const StyledDropDown = styled(DropDown)`
`;
const SearchItemText = styled(Text)`
line-height: ${({ theme }) =>
theme.interfaceDirection === "rtl" ? `20px` : `16px`};
line-height: 16px;
text-overflow: ellipsis;
overflow: hidden;
@ -441,14 +392,7 @@ StyledCrossIcon.defaultProps = { theme: Base };
const StyledDeleteIcon = styled(DeleteIcon)`
cursor: pointer;
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
margin-right: auto;
`
: css`
margin-left: auto;
`}
margin-inline-start: auto;
${iconStyles}
`;
@ -473,13 +417,11 @@ const StyledButtons = styled(Box)`
`;
const StyledLink = styled(Link)`
float: ${({ theme }) =>
theme.interfaceDirection === "rtl" ? `left` : `right`};
float: inline-end;
`;
const ResetLink = styled(Link)`
float: ${({ theme }) =>
theme.interfaceDirection === "rtl" ? `right` : `left`};
float: inline-start;
padding: 0 16px;
margin-bottom: 16px;
font-size: 13px;
@ -491,14 +433,7 @@ const ResetLink = styled(Link)`
StyledButtons.defaultProps = { theme: Base };
const StyledToggleButton = styled(ToggleButton)`
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
left: 8px;
`
: css`
right: 8px;
`}
inset-inline-end: 8px;
margin-top: -4px;
`;
@ -517,13 +452,11 @@ const StyledControlContainer = styled.div`
display: flex;
top: -27px;
right: 10px;
left: unset;
inset-inline: unset 10px;
}
`;
const StyledInviteLanguage = styled.div`
padding-left: 16px;
padding-right: 16px;
padding-inline: 16px;
margin-top: -12px;
display: flex;
align-items: center;
@ -537,7 +470,7 @@ const StyledInviteLanguage = styled.div`
font-weight: 600;
line-height: 20px;
.list-link {
margin-left: 4px;
margin-inline-start: 4px;
color: ${(props) => props.theme.createEditRoomDialog.commonParam.textColor};
}
@ -547,12 +480,11 @@ const StyledInviteLanguage = styled.div`
}
.language-combo-box {
.combo-button {
padding-left: 6px;
padding-right: 6px;
padding-inline: 6px;
}
.combo-buttons_arrow-icon {
margin-left: 0px;
margin-inline-start: 0;
}
.combo-button_closed:not(:hover) .combo-button-label {

View File

@ -34,7 +34,7 @@ import React, {
import { observer, inject } from "mobx-react";
import { withTranslation } from "react-i18next";
import { DeviceType } from "@docspace/shared/enums";
import { DeviceType, EmployeeType } from "@docspace/shared/enums";
import { LOADER_TIMEOUT } from "@docspace/shared/constants";
import { Backdrop } from "@docspace/shared/components/backdrop";
@ -72,11 +72,6 @@ const InvitePanel = ({
visible,
setRoomSecurity,
getRoomSecurityInfo,
getPortalInviteLinks,
userLink,
guestLink,
adminLink,
collaboratorLink,
defaultAccess,
inviteUsers,
setInfoPanelIsMobileHidden,
@ -88,9 +83,7 @@ const InvitePanel = ({
currentDeviceType,
}) => {
const [invitePanelIsLoding, setInvitePanelIsLoading] = useState(
() =>
((!userLink || !guestLink || !collaboratorLink) && !adminLink) ||
roomId !== -1,
roomId !== -1,
);
const [selectedRoom, setSelectedRoom] = useState(null);
const [hasErrors, setHasErrors] = useState(false);
@ -117,6 +110,33 @@ const InvitePanel = ({
setExternalLinksVisible(visible);
};
const accessModel = [
{
id: "user",
title: "User",
shareLink: "",
access: EmployeeType.User,
},
{
id: "guest",
title: "Guest",
shareLink: "",
access: EmployeeType.Guest,
},
{
id: "admin",
title: "Admin",
shareLink: "",
access: EmployeeType.Admin,
},
{
id: "collaborator",
title: "Collaborator",
shareLink: "",
access: EmployeeType.Collaborator,
},
];
const selectRoom = () => {
const room = folders.find((folder) => folder.id === roomId);
@ -167,40 +187,7 @@ const InvitePanel = ({
useEffect(() => {
if (roomId === -1) {
if ((!userLink || !guestLink || !collaboratorLink) && !adminLink) {
setInvitePanelIsLoading(true);
getPortalInviteLinks().finally(() => {
disableInvitePanelLoader();
});
}
setShareLinks([
{
id: "user",
title: "User",
shareLink: userLink,
access: 1,
},
{
id: "guest",
title: "Guest",
shareLink: guestLink,
access: 2,
},
{
id: "admin",
title: "Admin",
shareLink: adminLink,
access: 3,
},
{
id: "collaborator",
title: "Collaborator",
shareLink: collaboratorLink,
access: 4,
},
]);
setShareLinks(accessModel);
return;
}
@ -208,7 +195,7 @@ const InvitePanel = ({
Promise.all([selectRoom(), getInfo()]).finally(() => {
disableInvitePanelLoader(false);
});
}, [roomId, userLink, guestLink, adminLink, collaboratorLink]);
}, [roomId]);
useEffect(() => {
const hasErrors = inviteItems.some((item) => !!item.errors?.length);
@ -487,14 +474,6 @@ export default inject(
isRoomMembersPanelOpen,
} = infoPanelStore;
const {
getPortalInviteLinks,
userLink,
guestLink,
adminLink,
collaboratorLink,
} = peopleStore.inviteLinksStore;
const {
inviteItems,
invitePanelOptions,
@ -520,11 +499,6 @@ export default inject(
visible: invitePanelOptions.visible,
defaultAccess: invitePanelOptions.defaultAccess,
getFolderInfo,
getPortalInviteLinks,
userLink,
guestLink,
adminLink,
collaboratorLink,
inviteUsers,
setInfoPanelIsMobileHidden,
updateInfoPanelMembers,

View File

@ -64,20 +64,26 @@ const ExternalLinks = ({
setActiveLink,
activeLink,
isMobileView,
getPortalInviteLink,
}) => {
const [actionLinksVisible, setActionLinksVisible] = useState(false);
const inputsRef = useRef();
const toggleLinks = () => {
const toggleLinks = async (e) => {
if (roomId === -1) {
const link = shareLinks.find((l) => l.access === +defaultAccess);
if (e?.target?.checked) {
const link = shareLinks.find((l) => l.access === defaultAccess);
setActiveLink(link);
copyLink(link.shareLink);
link.shareLink = await getPortalInviteLink(defaultAccess);
setActiveLink(link);
copyLink(link.shareLink);
}
} else {
!externalLinksVisible ? editLink() : disableLink();
}
onChangeExternalLinksVisible(!externalLinksVisible);
};
@ -106,11 +112,13 @@ const ExternalLinks = ({
setActiveLink(activeLink);
};
const onSelectAccess = (access) => {
const onSelectAccess = async (access) => {
let link = null;
if (roomId === -1) {
link = shareLinks.find((l) => l.access === access.access);
link.shareLink = await getPortalInviteLink(access.access);
setActiveLink(link);
} else {
setInvitationLinks(roomId, "Invite", +access.access, shareLinks[0].id);
@ -254,17 +262,21 @@ const ExternalLinks = ({
);
};
export default inject(({ userStore, dialogsStore, filesStore }) => {
const { isOwner } = userStore.user;
const { invitePanelOptions } = dialogsStore;
const { setInvitationLinks } = filesStore;
const { roomId, hideSelector, defaultAccess } = invitePanelOptions;
export default inject(
({ userStore, dialogsStore, filesStore, peopleStore }) => {
const { isOwner } = userStore.user;
const { invitePanelOptions } = dialogsStore;
const { setInvitationLinks } = filesStore;
const { roomId, hideSelector, defaultAccess } = invitePanelOptions;
const { getPortalInviteLink } = peopleStore.inviteLinksStore;
return {
setInvitationLinks,
roomId,
hideSelector,
defaultAccess,
isOwner,
};
})(observer(ExternalLinks));
return {
setInvitationLinks,
roomId,
hideSelector,
defaultAccess,
isOwner,
getPortalInviteLink,
};
},
)(observer(ExternalLinks));

View File

@ -69,7 +69,8 @@ const StyledInfoBar = styled.div`
font-weight: 400;
}
.close-icon {
margin: 3px 1px 0px 0px;
margin-block: 3px 0;
margin-inline: 0 1px;
path {
fill: ${({ theme }) => theme.iconButton.color};
}

View File

@ -31,6 +31,50 @@ import {
} from "@docspace/shared/enums";
import { checkIfAccessPaid } from "SRC_DIR/helpers";
/**
* @param {RoomsType} roomType
* @param {(key: string) => string} t
* @returns {string}
*/
const getRoomAdminDescription = (roomType, t) => {
switch (roomType) {
case RoomsType.FormRoom:
return t("Translations:RoleRoomAdminFormRoomDescription");
default:
return t("Translations:RoleRoomAdminDescription");
}
};
/**
* @param {RoomsType} roomType
* @param {(key: string)=> string} t
* @returns {string}
*/
const getPowerUserDescription = (roomType, t) => {
switch (roomType) {
case RoomsType.FormRoom:
return t("Translations:RolePowerUserFormRoomDescription");
default:
return t("Translations:RolePowerUserDescription");
}
};
/**
* @param {RoomsType} roomType
* @param {(key: string)=> string} t
* @returns {string}
*/
const getFormFillerDescription = (roomType, t) => {
switch (roomType) {
case RoomsType.FormRoom:
return t("Translations:RoleFormFillerFormRoomDescription");
default:
return t("Translations:RoleFormFillerDescription");
}
};
export const getAccessOptions = (
t,
roomType = RoomsType.CustomRoom,
@ -56,7 +100,7 @@ export const getAccessOptions = (
roomAdmin: {
key: "roomAdmin",
label: t("Common:RoomAdmin"),
description: t("Translations:RoleRoomAdminDescription"),
description: getRoomAdminDescription(roomType, t),
...(!standalone && { quota: t("Common:Paid") }),
color: "#EDC409",
access:
@ -66,7 +110,7 @@ export const getAccessOptions = (
collaborator: {
key: "collaborator",
label: t("Common:PowerUser"),
description: t("Translations:RolePowerUserDescription"),
description: getPowerUserDescription(roomType, t),
...(!standalone && { quota: t("Common:Paid") }),
color: "#EDC409",
access:
@ -92,7 +136,7 @@ export const getAccessOptions = (
formFiller: {
key: "formFiller",
label: t("Translations:RoleFormFiller"),
description: t("Translations:RoleFormFillerDescription"),
description: getFormFillerDescription(roomType, t),
access: ShareAccessRights.FormFilling,
type: "user",
},

View File

@ -33,24 +33,10 @@ import { Base } from "@docspace/shared/themes";
const PanelStyles = css`
.panel_combo-box {
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
margin-right: 10px;
`
: css`
margin-left: 10px;
`}
margin-inline-start: 10px;
.optionalBlock {
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
margin-left: 4px;
`
: css`
margin-right: 4px;
`}
margin-inline-end: 4px;
display: flex;
}
@ -68,8 +54,7 @@ const PanelStyles = css`
padding: 16px;
width: 100%;
margin: auto;
left: 0;
right: 0;
inset-inline: 0;
}
`;
@ -80,14 +65,7 @@ const StyledAsidePanel = styled.div`
width: 100%;
font-weight: 700;
margin: 14px 0;
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
padding-left: 10px;
`
: css`
padding-right: 10px;
`}
padding-inline-end: 10px;
}
.modal-dialog-aside {
@ -118,14 +96,7 @@ const StyledVersionHistoryPanel = styled.div`
.version-history-panel-header {
height: 53px;
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
margin-right: 0px;
`
: css`
margin-left: 0px;
`}
margin-inline-start: 0;
.version-history-panel-heading {
font-weight: 700;
margin-bottom: 13px;
@ -135,38 +106,17 @@ const StyledVersionHistoryPanel = styled.div`
.version-history-panel-body {
padding-bottom: ${(props) => (props.isLoading ? "0px" : null)};
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
margin-right: 16px;
`
: css`
margin-left: 16px;
`}
margin-inline-start: 16px;
height: calc(100% - 53px);
box-sizing: border-box;
.version-comment-wrapper {
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
margin-right: 85px;
`
: css`
margin-left: 85px;
`}
margin-inline-start: 85px;
}
.version_edit-comment {
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
padding-right: 7px;
`
: css`
padding-left: 7px;
`}
padding-inline-start: 7px;
}
}
`;
@ -186,14 +136,7 @@ const StyledContent = styled.div`
props.theme.filesPanels.content.backgroundColor};
.header_aside-panel-plus-icon {
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
margin-right: auto;
`
: css`
margin-left: auto;
`}
margin-inline-start: auto;
}
.sharing-access-combo-box-icon {
@ -215,37 +158,16 @@ const StyledContent = styled.div`
.panel-loader-wrapper {
margin-top: 8px;
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
padding-right: 32px;
`
: css`
padding-left: 32px;
`}
padding-inline-start: 32px;
}
.panel-loader {
display: inline;
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
margin-left: 10px;
`
: css`
margin-right: 10px;
`}
margin-inline-end: 10px;
}
.layout-progress-bar {
position: fixed;
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
left: 15px;
`
: css`
right: 15px;
`}
inset-inline-end: 15px;
bottom: 21px;
@media ${tablet} {
@ -260,15 +182,7 @@ const StyledHeaderContent = styled.div`
display: flex;
align-items: center;
padding: 0 16px;
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
margin-left: -16px;
`
: css`
margin-right: -16px;
`}
margin-inline-end: -16px;
border-bottom: ${(props) => props.theme.filesPanels.sharing.borderBottom};
@ -291,27 +205,14 @@ StyledHeaderContent.defaultProps = { theme: Base };
const StyledBody = styled.div`
&.files-operations-body {
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
padding: 0 16px 0 0;
`
: css`
padding: 0 0 0 16px;
`}
padding-block: 0;
padding-inline: 16px 0;
box-sizing: border-box;
width: 100%;
height: calc(100vh - 125px);
.styled-element {
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
margin-right: -2px;
`
: css`
margin-left: -2px;
`}
margin-inline-start: -2px;
}
}
@ -386,8 +287,7 @@ const StyledFooter = styled.div`
padding: 16px;
width: 100%;
margin: auto;
left: 0;
right: 0;
inset-inline: 0;
background-color: ${(props) =>
props.theme.filesPanels.footer.backgroundColor};
border-top: ${(props) => props.theme.filesPanels.footer.borderTop};
@ -400,37 +300,16 @@ const StyledFooter = styled.div`
}
.checkbox {
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
margin-left: 6px;
`
: css`
margin-right: 6px;
`}
margin-inline-end: 6px;
}
}
.sharing_panel-button {
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
margin-right: auto;
`
: css`
margin-left: auto;
`}
margin-inline-start: auto;
}
.new_file_panel-first-button {
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
margin-left: 8px;
`
: css`
margin-right: 8px;
`}
margin-inline-end: 8px;
}
.new_files_panel-button {
width: 100%;
@ -455,14 +334,7 @@ const StyledFooter = styled.div`
StyledFooter.defaultProps = { theme: Base };
const StyledLinkRow = styled.div`
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
margin-left: -16px;
`
: css`
margin-right: -16px;
`}
margin-inline-end: -16px;
padding: 0 16px;
box-sizing: border-box;
background-color: ${(props) =>
@ -543,14 +415,7 @@ const StyledModalRowContainer = styled.div`
}
.panel_combo-box {
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
margin-right: 0px;
`
: css`
margin-left: 0px;
`}
margin-inline-start: 0;
.combo-button {
height: 30px;
@ -560,15 +425,7 @@ const StyledModalRowContainer = styled.div`
}
.optionalBlock {
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
margin-left: 4px;
`
: css`
margin-right: 4px;
`}
margin-inline-end: 4px;
display: flex;
}
@ -606,28 +463,14 @@ const StyledModalRowContainer = styled.div`
position: absolute;
z-index: 1;
margin: 8px;
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
left: 0px;
`
: css`
right: 0px;
`}
inset-inline-end: 0;
}
.embedding-panel_links-container {
display: flex;
.embedding-panel_link {
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
margin-left: 8px;
`
: css`
margin-right: 8px;
`}
margin-inline-end: 8px;
border: 1px solid #eceef1;
border-radius: 16px;
@ -640,14 +483,7 @@ const StyledModalRowContainer = styled.div`
display: flex;
.embedding-panel_input {
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
margin-left: 8px;
`
: css`
margin-right: 8px;
`}
margin-inline-end: 8px;
width: 94px;
}
}
@ -664,37 +500,16 @@ const StyledModalRowContainer = styled.div`
position: absolute;
z-index: 1;
margin: 8px;
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
left: 0;
`
: css`
right: 0;
`}
inset-inline-end: 0;
}
.panel-loader-wrapper {
margin-top: 8px;
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
padding-right: 32px;
`
: css`
padding-left: 32px;
`}
padding-inline-start: 32px;
}
.panel-loader {
display: inline;
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
margin-left: 10px;
`
: css`
margin-right: 10px;
`}
margin-inline-end: 10px;
}
@media ${tablet} {

View File

@ -69,14 +69,7 @@ const StyledFileRow = styled(Row)`
}
.styled-element {
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
margin-left: 8px !important;
`
: css`
margin-right: 8px !important;
`}
margin-inline-end: 8px !important;
}
.upload-panel_file-name {
@ -96,23 +89,14 @@ const StyledFileRow = styled(Row)`
.password-input {
position: absolute;
top: 48px;
left: 0px;
right: 0px;
inset-inline: 0;
max-width: 470px;
width: calc(100% - 16px);
display: flex;
}
#conversion-button {
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
margin-right: 8px;
`
: css`
margin-left: 8px;
`}
margin-inline-start: 8px;
width: 100%;
max-width: 78px;
}
@ -123,16 +107,8 @@ const StyledFileRow = styled(Row)`
}
.upload_panel-icon {
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
margin-right: auto;
padding-right: 16px;
`
: css`
margin-left: auto;
padding-left: 16px;
`}
margin-inline-start: auto;
padding-inline-start: 16px;
line-height: 24px;
display: flex;
@ -145,15 +121,7 @@ const StyledFileRow = styled(Row)`
}
.enter-password {
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
margin-left: 8px;
`
: css`
margin-right: 8px;
`}
margin-inline-end: 8px;
text-decoration: underline dashed;
cursor: pointer;
}
@ -164,14 +132,7 @@ const StyledFileRow = styled(Row)`
}
.convert_icon {
${(props) =>
props.theme.interfaceDirection === "rtl"
? css`
padding-left: 12px;
`
: css`
padding-right: 12px;
`}
padding-inline-end: 12px;
}
.upload-panel_file-row-link {

View File

@ -24,7 +24,7 @@
// content are licensed under the terms of the Creative Commons Attribution-ShareAlike 4.0
// International. See the License terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
import ClearActiveReactSvgUrl from "PUBLIC_DIR/images/clear.active.react.svg?url";
import ClearReactSvgUrl from "PUBLIC_DIR/images/clear.react.svg?url";
import ButtonCancelReactSvgUrl from "PUBLIC_DIR/images/button.cancel.react.svg?url";
import React from "react";
@ -136,8 +136,8 @@ class UploadPanelComponent extends React.Component {
<div>
{uploaded && converted ? (
<IconButton
size="20"
iconName={ClearActiveReactSvgUrl}
size={17}
iconName={ClearReactSvgUrl}
isClickable
onClick={this.clearUploadPanel}
/>

View File

@ -40,22 +40,12 @@ const HeaderContainer = styled.div`
max-width: calc(100vw - 32px);
.arrow-button {
${({ theme }) =>
theme.interfaceDirection === "rtl"
? `margin-left: 12px;`
: `margin-right: 12px;`}
margin-inline-end: 12px;
@media ${tablet} {
${({ theme }) =>
theme.interfaceDirection === "rtl"
? css`
padding: 8px 8px 8px 0;
margin-right: -8px;
`
: css`
padding: 8px 0 8px 8px;
margin-left: -8px;
`}
padding-block: 8px;
padding-inline: 8px 0;
margin-inline-start: -8px;
}
svg {

View File

@ -58,10 +58,7 @@ const ModalDialogContainer = styled(ModalDialog)`
.link-dialog {
transition: opacity 0.2s;
${({ theme }) =>
theme.interfaceDirection === "rtl"
? `margin-left: 12px;`
: `margin-right: 12px;`}
margin-inline-end: 12px;
opacity: ${(props) => (props.ChangeTextAnim ? 0 : 1)};
}

Some files were not shown because too many files have changed in this diff Show More