diff --git a/cypress/e2e/item/create/createDocument.cy.ts b/cypress/e2e/item/create/createDocument.cy.ts
index e9f1db848..8392dd970 100644
--- a/cypress/e2e/item/create/createDocument.cy.ts
+++ b/cypress/e2e/item/create/createDocument.cy.ts
@@ -1,4 +1,10 @@
-import { ITEM_FORM_CONFIRM_BUTTON_ID } from '@/config/selectors';
+import {
+ CREATE_ITEM_BUTTON_ID,
+ CREATE_ITEM_DOCUMENT_ID,
+ ITEM_FORM_CONFIRM_BUTTON_ID,
+ ITEM_FORM_DISPLAY_NAME_INPUT_ID,
+ ITEM_FORM_NAME_INPUT_ID,
+} from '@/config/selectors';
import { HOME_PATH, buildItemPath } from '../../../../src/config/paths';
import ItemLayoutMode from '../../../../src/enums/itemLayoutMode';
@@ -56,4 +62,19 @@ describe('Create Document', () => {
true,
);
});
+
+ it('autoComplete document displayName', () => {
+ cy.setUpApi();
+ cy.visit(HOME_PATH);
+
+ cy.switchMode(ItemLayoutMode.List);
+
+ cy.get(`#${CREATE_ITEM_BUTTON_ID}`).click();
+ cy.get(`#${CREATE_ITEM_DOCUMENT_ID}`).click();
+ cy.get(`#${ITEM_FORM_NAME_INPUT_ID}`).type('Test Name');
+ cy.get(`#${ITEM_FORM_DISPLAY_NAME_INPUT_ID}`).should(
+ 'have.value',
+ 'Test Name',
+ );
+ });
});
diff --git a/cypress/support/editUtils.ts b/cypress/support/editUtils.ts
index 039e05728..a39e94514 100644
--- a/cypress/support/editUtils.ts
+++ b/cypress/support/editUtils.ts
@@ -18,6 +18,7 @@ export const editItem = (
id: string;
type: DiscriminatedItem['type'] | string;
name: string;
+ displayName: string;
description: string;
},
mode = DEFAULT_ITEM_LAYOUT_MODE,
diff --git a/cypress/support/index.ts b/cypress/support/index.ts
index b0b2573f3..98fe00a1e 100644
--- a/cypress/support/index.ts
+++ b/cypress/support/index.ts
@@ -55,7 +55,11 @@ declare global {
options?: { confirm?: boolean },
): void;
fillDocumentModal(
- payload: { name: string; extra?: DocumentItemExtra },
+ payload: {
+ name: string;
+ displayName: string;
+ extra?: DocumentItemExtra;
+ },
options?: { confirm?: boolean },
): void;
fillAppModal(
diff --git a/package.json b/package.json
index 3e71acdeb..264e10a09 100644
--- a/package.json
+++ b/package.json
@@ -21,10 +21,10 @@
"@emotion/styled": "11.11.0",
"@graasp/chatbox": "3.1.0",
"@graasp/map": "1.5.0",
- "@graasp/query-client": "3.2.0",
- "@graasp/sdk": "4.3.1",
+ "@graasp/query-client": "3.3.0",
+ "@graasp/sdk": "4.6.0",
"@graasp/translations": "1.25.3",
- "@graasp/ui": "4.14.0",
+ "@graasp/ui": "4.14.1",
"@mui/icons-material": "5.15.11",
"@mui/lab": "5.0.0-alpha.166",
"@mui/material": "5.15.11",
diff --git a/src/components/Root.tsx b/src/components/Root.tsx
index 7b8b3f6ae..5f856fce3 100644
--- a/src/components/Root.tsx
+++ b/src/components/Root.tsx
@@ -1,3 +1,4 @@
+import './styles.css';
import '@ag-grid-community/styles/ag-grid.min.css';
import '@ag-grid-community/styles/ag-theme-material.min.css';
import '@uppy/core/dist/style.css';
diff --git a/src/components/file/FileDashboardUploader.tsx b/src/components/file/FileDashboardUploader.tsx
index a75274865..45e64b8ab 100644
--- a/src/components/file/FileDashboardUploader.tsx
+++ b/src/components/file/FileDashboardUploader.tsx
@@ -40,9 +40,6 @@ const FileDashboardUploader = ({ onComplete }: Props): JSX.Element => {
return (
<>
-
- {translateBuilder(BUILDER.UPLOAD_FILE_TITLE)}
-
{translateBuilder(BUILDER.UPLOAD_FILE_INFORMATIONS)}
diff --git a/src/components/item/form/AppForm.tsx b/src/components/item/form/AppForm.tsx
index 3751a768e..8839a4c76 100644
--- a/src/components/item/form/AppForm.tsx
+++ b/src/components/item/form/AppForm.tsx
@@ -113,7 +113,10 @@ const AppForm = ({ onChange, updatedProperties = {} }: Props): JSX.Element => {
// there is no new value to use
if (!newValue) {
// unset the name and the url in the extra
- onChange({ name: undefined, extra: undefined });
+ onChange({
+ name: undefined,
+ extra: undefined,
+ });
}
};
@@ -127,78 +130,77 @@ const AppForm = ({ onChange, updatedProperties = {} }: Props): JSX.Element => {
handleAppSelection(null);
};
+ if (isCustomApp) {
+ return (
+
+ }
+ variant="text"
+ onClick={() => {
+ setIsCustomApp(false);
+ handleAppSelection(null);
+ }}
+ >
+ {translateBuilder(BUILDER.CREATE_NEW_APP_BACK_TO_APP_LIST_BUTTON)}
+
+
+ {translateBuilder(BUILDER.CREATE_CUSTOM_APP_HELPER_TEXT)}
+
+
+ // todo: use better type here (partial of discriminated item is not a good type)
+
+ onChange({ extra: buildAppExtra({ url: e.target.value }) })
+ }
+ value={currentUrl}
+ />
+
+
+ );
+ }
return (
-
-
- {translateBuilder(BUILDER.CREATE_NEW_ITEM_APP_TITLE)}
-
-
- {isCustomApp ? (
-
- }
- variant="text"
- onClick={() => {
- setIsCustomApp(false);
- handleAppSelection(null);
- }}
- >
- {translateBuilder(BUILDER.CREATE_NEW_APP_BACK_TO_APP_LIST_BUTTON)}
-
-
- {translateBuilder(BUILDER.CREATE_CUSTOM_APP_HELPER_TEXT)}
-
-
- // todo: use better type here (partial of discriminated item is not a good type)
-
- onChange({ extra: buildAppExtra({ url: e.target.value }) })
- }
- value={currentUrl}
+
+
+
+
+
-
- ) : (
- <>
-
-
-
-
-
-
-
- >
- )}
+
+
(
- <>
+
- >
+
);
export default BaseItemForm;
diff --git a/src/components/item/form/DisplayNameForm.tsx b/src/components/item/form/DisplayNameForm.tsx
new file mode 100644
index 000000000..7a2ad8e53
--- /dev/null
+++ b/src/components/item/form/DisplayNameForm.tsx
@@ -0,0 +1,80 @@
+import { ChangeEvent } from 'react';
+
+import ClearIcon from '@mui/icons-material/Clear';
+import InfoIcon from '@mui/icons-material/Info';
+import {
+ IconButton,
+ Stack,
+ TextField,
+ Tooltip,
+ useMediaQuery,
+ useTheme,
+} from '@mui/material';
+
+import { useBuilderTranslation } from '../../../config/i18n';
+import { ITEM_FORM_DISPLAY_NAME_INPUT_ID } from '../../../config/selectors';
+import { BUILDER } from '../../../langs/constants';
+import type { EditModalContentPropType } from './EditModalWrapper';
+
+export type DisplayNameFormProps = EditModalContentPropType;
+
+const DisplayNameForm = ({
+ updatedProperties,
+ setChanges,
+}: DisplayNameFormProps): JSX.Element => {
+ const { t: translateBuilder } = useBuilderTranslation();
+ const theme = useTheme();
+ // when the screen is large, use only half of the width for the input.
+ const largeScreen = useMediaQuery(theme.breakpoints.up('sm'));
+
+ const handleDisplayNameInput = (event: ChangeEvent<{ value: string }>) => {
+ setChanges({ displayName: event.target.value });
+ };
+
+ const handleClearClick = () => {
+ setChanges({ displayName: '' });
+ };
+
+ return (
+
+ {translateBuilder(BUILDER.CREATE_NEW_ITEM_DISPLAY_NAME_LABEL)}
+
+
+
+
+
+
+ }
+ value={updatedProperties?.displayName}
+ onChange={handleDisplayNameInput}
+ // always shrink because setting name from defined app does not shrink automatically
+ InputLabelProps={{ shrink: true }}
+ // add a clear icon button
+ InputProps={{
+ endAdornment: (
+
+
+
+ ),
+ }}
+ // only take full width when on small screen size
+ fullWidth={!largeScreen}
+ sx={{ my: 1, width: largeScreen ? '50%' : undefined }}
+ />
+ );
+};
+
+export default DisplayNameForm;
diff --git a/src/components/item/form/DocumentForm.tsx b/src/components/item/form/DocumentForm.tsx
index cb3fe0fa2..7c86682ed 100644
--- a/src/components/item/form/DocumentForm.tsx
+++ b/src/components/item/form/DocumentForm.tsx
@@ -1,5 +1,9 @@
import { useEffect, useState } from 'react';
+import CheckCircleOutlineOutlinedIcon from '@mui/icons-material/CheckCircleOutlineOutlined';
+import ErrorOutlineOutlinedIcon from '@mui/icons-material/ErrorOutlineOutlined';
+import InfoOutlinedIcon from '@mui/icons-material/InfoOutlined';
+import ReportProblemOutlinedIcon from '@mui/icons-material/ReportProblemOutlined';
import { TabContext, TabList, TabPanel } from '@mui/lab';
import {
Box,
@@ -8,8 +12,12 @@ import {
MenuItem,
Select,
Stack,
+ SxProps,
Tab,
TextField,
+ Typography,
+ lighten,
+ useTheme,
} from '@mui/material';
import {
@@ -28,6 +36,7 @@ import {
ITEM_FORM_DOCUMENT_TEXT_ID,
} from '../../../config/selectors';
import { BUILDER } from '../../../langs/constants';
+import DisplayNameForm from './DisplayNameForm';
import type { EditModalContentPropType } from './EditModalWrapper';
import NameForm from './NameForm';
@@ -36,6 +45,38 @@ enum EditorMode {
Raw,
}
+const getIcon = (flavor: DocumentItemExtraFlavor) => {
+ switch (flavor) {
+ case DocumentItemExtraFlavor.Info:
+ return ;
+ case DocumentItemExtraFlavor.Success:
+ return (
+
+ );
+ case DocumentItemExtraFlavor.Warning:
+ return ;
+ case DocumentItemExtraFlavor.Error:
+ return ;
+ default:
+ return null;
+ }
+};
+
+const DocumentFlavorListElement = ({
+ sx,
+ flavor,
+ name,
+}: {
+ flavor: DocumentItemExtraFlavor;
+ name: string;
+ sx?: SxProps;
+}) => (
+
+ {getIcon(flavor as DocumentItemExtraFlavor)}
+ {name}
+
+);
+
export const DocumentExtraForm = ({
documentItemId,
extra,
@@ -62,22 +103,42 @@ export const DocumentExtraForm = ({
f,
t(
BUILDER[
- `DOCUMENT_FLAVOR_${f.toUpperCase() as Uppercase<`${DocumentItemExtraFlavor}`>}`
+ `DOCUMENT_FLAVOR_${
+ f.toUpperCase() as Uppercase<`${DocumentItemExtraFlavor}`>
+ }`
],
),
],
- );
+ ) as [DocumentItemExtraFlavor, string][];
+ const theme = useTheme();
+
+ const getFlavorColor = (flavor: DocumentItemExtraFlavor) => {
+ switch (flavor) {
+ case DocumentItemExtraFlavor.Info:
+ return lighten(theme.palette.info.light, 0.9);
+ case DocumentItemExtraFlavor.Error:
+ return lighten(theme.palette.error.light, 0.9);
+ case DocumentItemExtraFlavor.Success:
+ return lighten(theme.palette.success.light, 0.9);
+ case DocumentItemExtraFlavor.Warning:
+ return lighten(theme.palette.warning.light, 0.9);
+ default:
+ return 'transparent';
+ }
+ };
const handleChangeEditorMode = (mode: string) => {
// send editor mode change
onEditorChange?.(mode === EditorMode.Raw.toString());
setEditorMode(mode);
};
+ const flavorValue: string = extra.flavor || `${DocumentItemExtraFlavor.None}`;
+
return (
-
+
-
+
{t(BUILDER.DOCUMENT_FLAVOR_SELECT_LABEL)}
@@ -85,14 +146,56 @@ export const DocumentExtraForm = ({
id={FLAVOR_SELECT_ID}
variant="standard"
label="flavor"
- value={extra.flavor ?? ''}
+ value={flavorValue}
onChange={({ target: { value } }) => {
onFlavorChange?.(value as `${DocumentItemExtraFlavor}`);
}}
+ renderValue={(selected) => (
+ flavor === selected,
+ )?.[1] ?? t(BUILDER.DOCUMENT_FLAVOR_INFO)
+ }
+ flavor={selected as DocumentItemExtraFlavor}
+ />
+ )}
+ disableUnderline
>
{flavorsTranslations.map(([f, name]) => (
-
@@ -187,13 +297,20 @@ const DocumentForm = ({
}, [content, flavor, isRaw]);
return (
-
-
+
+
+
+
+
-
- {translateBuilder(BUILDER.CREATE_NEW_ITEM_ETHERPAD_TITLE)}
-
{translateBuilder(BUILDER.CREATE_NEW_ITEM_ETHERPAD_INFORMATIONS)}
diff --git a/src/components/item/form/LinkForm.tsx b/src/components/item/form/LinkForm.tsx
index 0e217a947..87ede1fb4 100644
--- a/src/components/item/form/LinkForm.tsx
+++ b/src/components/item/form/LinkForm.tsx
@@ -1,4 +1,4 @@
-import { TextField, TextFieldProps, Typography } from '@mui/material';
+import { TextField, TextFieldProps } from '@mui/material';
import { LinkItemType, buildLinkExtra, getLinkExtra } from '@graasp/sdk';
@@ -39,25 +39,20 @@ const LinkForm = ({ onChange, item }: Props): JSX.Element => {
const isLinkInvalid = Boolean(url?.length) && !isUrlValid(url);
return (
- <>
-
- {translateBuilder(BUILDER.CREATE_ITEM_LINK_TITLE)}
-
-
- >
+
);
};
diff --git a/src/components/item/form/NameForm.tsx b/src/components/item/form/NameForm.tsx
index 4084db7ef..bf17d95eb 100644
--- a/src/components/item/form/NameForm.tsx
+++ b/src/components/item/form/NameForm.tsx
@@ -1,6 +1,14 @@
import { ChangeEvent } from 'react';
-import { TextField, useMediaQuery, useTheme } from '@mui/material';
+import ClearIcon from '@mui/icons-material/Clear';
+import InfoIcon from '@mui/icons-material/Info';
+import {
+ IconButton,
+ TextField,
+ Tooltip,
+ useMediaQuery,
+ useTheme,
+} from '@mui/material';
import { useBuilderTranslation } from '../../../config/i18n';
import { ITEM_FORM_NAME_INPUT_ID } from '../../../config/selectors';
@@ -24,20 +32,46 @@ const NameForm = ({
// when the screen is large, us only half of the width for the input.
const largeScreen = useMediaQuery(theme.breakpoints.up('sm'));
const handleNameInput = (event: ChangeEvent<{ value: string }>) => {
- setChanges({ name: event.target.value });
+ setChanges({ name: event.target.value, displayName: event.target.value });
+ };
+
+ const handleClearClick = () => {
+ setChanges({ name: '' });
};
return (
+ {translateBuilder(BUILDER.CREATE_NEW_ITEM_NAME_LABEL)}
+ {required && *}
+
+
+
+
+
+
+ }
value={updatedProperties?.name ?? item?.name ?? ''}
onChange={handleNameInput}
// always shrink because setting name from defined app does not shrink automatically
InputLabelProps={{ shrink: true }}
+ // add a clear icon button
+ InputProps={{
+ endAdornment: (
+
+
+
+ ),
+ }}
// only take full width when on small screen size
fullWidth={!largeScreen}
sx={{ my: 1, width: largeScreen ? '50%' : undefined }}
diff --git a/src/components/main/ImportH5P.jsx b/src/components/main/ImportH5P.jsx
index 2548254f2..4e23a2990 100644
--- a/src/components/main/ImportH5P.jsx
+++ b/src/components/main/ImportH5P.jsx
@@ -3,7 +3,7 @@ import '@uppy/dashboard/dist/style.css';
import { useEffect, useState } from 'react';
import { useParams } from 'react-router-dom';
-import { Typography } from '@mui/material';
+import { Box, Typography } from '@mui/material';
import { routines } from '@graasp/query-client';
import { MAX_ZIP_FILE_SIZE } from '@graasp/sdk';
@@ -67,10 +67,7 @@ const ImportH5P = () => {
}
return (
- <>
-
- {translateBuilder(BUILDER.IMPORT_H5P_TITLE)}
-
+
{translateBuilder(BUILDER.IMPORT_H5P_INFORMATIONS)}
@@ -90,7 +87,7 @@ const ImportH5P = () => {
proudlyDisplayPoweredByUppy={false}
/>
- >
+
);
};
diff --git a/src/components/main/ImportZip.jsx b/src/components/main/ImportZip.jsx
index 3a5b6c551..d3b20dedf 100644
--- a/src/components/main/ImportZip.jsx
+++ b/src/components/main/ImportZip.jsx
@@ -3,7 +3,7 @@ import '@uppy/dashboard/dist/style.css';
import { useEffect, useState } from 'react';
import { useParams } from 'react-router-dom';
-import { Typography } from '@mui/material';
+import { Box, Typography } from '@mui/material';
import { routines } from '@graasp/query-client';
import { MAX_ZIP_FILE_SIZE } from '@graasp/sdk';
@@ -68,10 +68,7 @@ const ImportZip = () => {
}
return (
- <>
-
- {translateBuilder(BUILDER.IMPORT_ZIP_TITLE)}
-
+
{translateBuilder(BUILDER.IMPORT_ZIP_INFORMATION)}
@@ -91,7 +88,7 @@ const ImportZip = () => {
proudlyDisplayPoweredByUppy={false}
/>
- >
+
);
};
diff --git a/src/components/main/NewItemModal.tsx b/src/components/main/NewItemModal.tsx
index 43d03719c..671a4e92c 100644
--- a/src/components/main/NewItemModal.tsx
+++ b/src/components/main/NewItemModal.tsx
@@ -2,10 +2,10 @@ import { useState } from 'react';
import { useParams } from 'react-router';
import {
- Box,
Dialog,
DialogActions,
DialogContent,
+ Stack,
Typography,
styled,
} from '@mui/material';
@@ -152,7 +152,7 @@ const NewItemModal = ({ open, handleClose }: Props): JSX.Element => {
case ItemType.FOLDER:
return (
<>
-
+
{translateBuilder(BUILDER.CREATE_ITEM_NEW_FOLDER_TITLE)}
{
);
case ItemType.S3_FILE:
case ItemType.LOCAL_FILE:
- return ;
+ return (
+ <>
+
+ {translateBuilder(BUILDER.UPLOAD_FILE_TITLE)}
+
+
+ >
+ );
case InternalItemType.ZIP:
- return ;
+ return (
+ <>
+
+ {translateBuilder(BUILDER.IMPORT_ZIP_TITLE)}
+
+
+ >
+ );
case ItemType.H5P:
- return ;
+ return (
+ <>
+
+ {translateBuilder(BUILDER.IMPORT_H5P_TITLE)}
+
+
+ >
+ );
case ItemType.ETHERPAD:
- return ;
+ return (
+ <>
+
+ {translateBuilder(BUILDER.CREATE_NEW_ITEM_ETHERPAD_TITLE)}
+
+
+ >
+ );
case ItemType.APP:
return (
-
+ <>
+
+ {translateBuilder(BUILDER.CREATE_NEW_ITEM_APP_TITLE)}
+
+
+ >
);
case ItemType.LINK:
- return ;
+ return (
+ <>
+
+ {translateBuilder(BUILDER.CREATE_ITEM_LINK_TITLE)}
+
+
+ >
+ );
case ItemType.DOCUMENT:
return (
<>
-
+
{translateBuilder(BUILDER.CREATE_NEW_ITEM_DOCUMENT_TITLE)}
{
onTypeChange={setSelectedItemType}
initialValue={selectedItemType}
/>
-
+
{renderContent()}
-
+
{renderActions()}
diff --git a/src/components/styles.css b/src/components/styles.css
new file mode 100644
index 000000000..58998c9f0
--- /dev/null
+++ b/src/components/styles.css
@@ -0,0 +1,3 @@
+.ag-theme-material {
+ --ag-font-family: Nunito, Roboto, sans-serif !important;
+}
diff --git a/src/config/selectors.ts b/src/config/selectors.ts
index 067bc4866..8b2f1fa16 100644
--- a/src/config/selectors.ts
+++ b/src/config/selectors.ts
@@ -14,6 +14,7 @@ export const CONFIRM_DELETE_BUTTON_ID = 'confirmDeleteButton';
export const buildItemCard = (id: string): string => `itemCard-${id}`;
export const CREATE_ITEM_BUTTON_ID = 'createItemButton';
export const ITEM_FORM_NAME_INPUT_ID = 'newItemNameInput';
+export const ITEM_FORM_DISPLAY_NAME_INPUT_ID = 'newItemDisplayNameInput';
export const ITEM_FORM_CONFIRM_BUTTON_ID = 'newItemConfirmButton';
export const ITEM_SCREEN_ERROR_ALERT_ID = 'itemScreenErrorAlert';
export const buildItemLink = (id: string): string => `itemLink-${id}`;
diff --git a/src/langs/constants.ts b/src/langs/constants.ts
index 6b9f354de..28411faf2 100644
--- a/src/langs/constants.ts
+++ b/src/langs/constants.ts
@@ -28,6 +28,10 @@ export const BUILDER = {
CREATE_NEW_ITEM_ETHERPAD_LABEL: 'CREATE_NEW_ITEM_ETHERPAD_LABEL',
CREATE_NEW_ITEM_ETHERPAD_TITLE: 'CREATE_NEW_ITEM_ETHERPAD_TITLE',
CREATE_NEW_ITEM_NAME_LABEL: 'CREATE_NEW_ITEM_NAME_LABEL',
+ CREATE_NEW_ITEM_NAME_HELPER_TEXT: 'CREATE_NEW_ITEM_NAME_HELPER_TEXT',
+ CREATE_NEW_ITEM_DISPLAY_NAME_LABEL: 'CREATE_NEW_ITEM_DISPLAY_NAME_LABEL',
+ CREATE_NEW_ITEM_DISPLAY_NAME_HELPER_TEXT:
+ 'CREATE_NEW_ITEM_DISPLAY_NAME_HELPER_TEXT',
CREATE_SHORTCUT_BUTTON: 'CREATE_SHORTCUT_BUTTON',
CREATE_SHORTCUT_DEFAULT_NAME: 'CREATE_SHORTCUT_DEFAULT_NAME',
CREATE_SHORTCUT_MODAL_TITLE: 'CREATE_SHORTCUT_MODAL_TITLE',
diff --git a/src/langs/en.json b/src/langs/en.json
index 3d033ff01..ae06893ee 100644
--- a/src/langs/en.json
+++ b/src/langs/en.json
@@ -22,11 +22,14 @@
"CREATE_ITEM_NEW_FOLDER_TITLE": "Create a Folder",
"CREATE_NEW_ITEM_APP_TITLE": "Create an App",
"CREATE_NEW_ITEM_APP_URL_LABEL": "App URL",
- "CREATE_NEW_ITEM_DOCUMENT_TITLE": "Create a Document",
+ "CREATE_NEW_ITEM_DOCUMENT_TITLE": "Add Text",
"CREATE_NEW_ITEM_ETHERPAD_INFORMATIONS": "Etherpad is a collaborative real-time text editor",
"CREATE_NEW_ITEM_ETHERPAD_LABEL": "Name",
"CREATE_NEW_ITEM_ETHERPAD_TITLE": "Create an Etherpad",
"CREATE_NEW_ITEM_NAME_LABEL": "Name",
+ "CREATE_NEW_ITEM_NAME_HELPER_TEXT": "Show in Graasp builder",
+ "CREATE_NEW_ITEM_DISPLAY_NAME_LABEL": "Display Name",
+ "CREATE_NEW_ITEM_DISPLAY_NAME_HELPER_TEXT": "Show in Graasp player. Defaults to the 'Name' field. Customize it to your needs.",
"CREATE_SHORTCUT_BUTTON": "Create shortcut",
"CREATE_SHORTCUT_BUTTON_zero": "Create shortcut",
"CREATE_SHORTCUT_BUTTON_one": "Create shortcut to {{name}}",
@@ -42,13 +45,13 @@
"DELETE_ITEM_MODAL_CONTENT_one": "This item will be deleted permanently.",
"DELETE_ITEM_MODAL_CONTENT_other": "These items will be deleted permanently.",
"DELETE_ITEM_MODAL_TITLE": "Confirm deletion",
- "DOCUMENT_FLAVOR_SELECT_LABEL": "Flavor",
+ "DOCUMENT_FLAVOR_SELECT_LABEL": "Type",
"DOCUMENT_FLAVOR_ERROR": "Error",
"DOCUMENT_FLAVOR_INFO": "Information",
"DOCUMENT_FLAVOR_NAME": "Style",
"DOCUMENT_FLAVOR_SUCCESS": "Success",
"DOCUMENT_FLAVOR_WARNING": "Warning",
- "DOCUMENT_FLAVOR_NONE": "None",
+ "DOCUMENT_FLAVOR_NONE": "Standard",
"DOCUMENT_EDITOR_MODE_RICH_TEXT": "Rich Text",
"DOCUMENT_EDITOR_MODE_RAW": "HTML",
"DOCUMENT_EDITOR_MODE_ARIA_LABEL": "Switch document editor mode",
@@ -198,7 +201,7 @@
"NEW_ITEM_APP_TAB_TEXT": "Application",
"NEW_ITEM_BUTTON_TOOLTIP": "Create new item",
"NEW_ITEM_BUTTON": "New Item",
- "NEW_ITEM_DOCUMENT_TAB_TEXT": "Write Document",
+ "NEW_ITEM_DOCUMENT_TAB_TEXT": "Add Text",
"NEW_ITEM_ETHERPAD_TAB_TEXT": "Create Etherpad",
"NEW_ITEM_FILE_TAB_TEXT": "Import File",
"NEW_ITEM_FOLDER_TAB_TEXT": "Folder",
diff --git a/yarn.lock b/yarn.lock
index b7e5ef381..afc8146c4 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -82,6 +82,13 @@ __metadata:
languageName: node
linkType: hard
+"@babel/compat-data@npm:^7.22.9":
+ version: 7.23.2
+ resolution: "@babel/compat-data@npm:7.23.2"
+ checksum: 10/c18eccd13975c1434a65d04f721075e30d03ba1608f4872d84e8538c16552b878aaac804ff31243d8c2c0e91524f3bc98de6305e117ba1a55c9956871973b4dc
+ languageName: node
+ linkType: hard
+
"@babel/compat-data@npm:^7.23.5":
version: 7.24.1
resolution: "@babel/compat-data@npm:7.24.1"
@@ -89,7 +96,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/core@npm:^7.18.9, @babel/core@npm:^7.20.12, @babel/core@npm:^7.23.5, @babel/core@npm:^7.23.9, @babel/core@npm:^7.7.5":
+"@babel/core@npm:^7.18.9, @babel/core@npm:^7.20.12, @babel/core@npm:^7.23.9":
version: 7.24.3
resolution: "@babel/core@npm:7.24.3"
dependencies:
@@ -112,6 +119,52 @@ __metadata:
languageName: node
linkType: hard
+"@babel/core@npm:^7.23.5":
+ version: 7.24.0
+ resolution: "@babel/core@npm:7.24.0"
+ dependencies:
+ "@ampproject/remapping": "npm:^2.2.0"
+ "@babel/code-frame": "npm:^7.23.5"
+ "@babel/generator": "npm:^7.23.6"
+ "@babel/helper-compilation-targets": "npm:^7.23.6"
+ "@babel/helper-module-transforms": "npm:^7.23.3"
+ "@babel/helpers": "npm:^7.24.0"
+ "@babel/parser": "npm:^7.24.0"
+ "@babel/template": "npm:^7.24.0"
+ "@babel/traverse": "npm:^7.24.0"
+ "@babel/types": "npm:^7.24.0"
+ convert-source-map: "npm:^2.0.0"
+ debug: "npm:^4.1.0"
+ gensync: "npm:^1.0.0-beta.2"
+ json5: "npm:^2.2.3"
+ semver: "npm:^6.3.1"
+ checksum: 10/1e22215cc89e061e0cbfed72f265ad24d363f3e9b24b51e9c4cf3ccb9222260a29a1c1e62edb439cb7e2229a3fce924edd43300500416613236c13fc8d62a947
+ languageName: node
+ linkType: hard
+
+"@babel/core@npm:^7.7.5":
+ version: 7.23.2
+ resolution: "@babel/core@npm:7.23.2"
+ dependencies:
+ "@ampproject/remapping": "npm:^2.2.0"
+ "@babel/code-frame": "npm:^7.22.13"
+ "@babel/generator": "npm:^7.23.0"
+ "@babel/helper-compilation-targets": "npm:^7.22.15"
+ "@babel/helper-module-transforms": "npm:^7.23.0"
+ "@babel/helpers": "npm:^7.23.2"
+ "@babel/parser": "npm:^7.23.0"
+ "@babel/template": "npm:^7.22.15"
+ "@babel/traverse": "npm:^7.23.2"
+ "@babel/types": "npm:^7.23.0"
+ convert-source-map: "npm:^2.0.0"
+ debug: "npm:^4.1.0"
+ gensync: "npm:^1.0.0-beta.2"
+ json5: "npm:^2.2.3"
+ semver: "npm:^6.3.1"
+ checksum: 10/b69d7008695b2ac7a3a2db83c5c712fbb79f7031c4480f6351cde327930e38873003d1d021059b729a1d0cb48093f1d384c64269b78f6189f50051fe4f64dc2d
+ languageName: node
+ linkType: hard
+
"@babel/generator@npm:7.17.7":
version: 7.17.7
resolution: "@babel/generator@npm:7.17.7"
@@ -135,6 +188,31 @@ __metadata:
languageName: node
linkType: hard
+"@babel/generator@npm:^7.23.6":
+ version: 7.23.6
+ resolution: "@babel/generator@npm:7.23.6"
+ dependencies:
+ "@babel/types": "npm:^7.23.6"
+ "@jridgewell/gen-mapping": "npm:^0.3.2"
+ "@jridgewell/trace-mapping": "npm:^0.3.17"
+ jsesc: "npm:^2.5.1"
+ checksum: 10/864090d5122c0aa3074471fd7b79d8a880c1468480cbd28925020a3dcc7eb6e98bedcdb38983df299c12b44b166e30915b8085a7bc126e68fa7e2aadc7bd1ac5
+ languageName: node
+ linkType: hard
+
+"@babel/helper-compilation-targets@npm:^7.22.15":
+ version: 7.22.15
+ resolution: "@babel/helper-compilation-targets@npm:7.22.15"
+ dependencies:
+ "@babel/compat-data": "npm:^7.22.9"
+ "@babel/helper-validator-option": "npm:^7.22.15"
+ browserslist: "npm:^4.21.9"
+ lru-cache: "npm:^5.1.1"
+ semver: "npm:^6.3.1"
+ checksum: 10/9706decaa1591cf44511b6f3447eb9653b50ca3538215fe2e5387a8598c258c062f4622da5b95e61f0415706534deee619bbf53a2889f9bd967949b8f6024e0e
+ languageName: node
+ linkType: hard
+
"@babel/helper-compilation-targets@npm:^7.23.6":
version: 7.23.6
resolution: "@babel/helper-compilation-targets@npm:7.23.6"
@@ -183,6 +261,21 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-module-transforms@npm:^7.23.0":
+ version: 7.23.0
+ resolution: "@babel/helper-module-transforms@npm:7.23.0"
+ dependencies:
+ "@babel/helper-environment-visitor": "npm:^7.22.20"
+ "@babel/helper-module-imports": "npm:^7.22.15"
+ "@babel/helper-simple-access": "npm:^7.22.5"
+ "@babel/helper-split-export-declaration": "npm:^7.22.6"
+ "@babel/helper-validator-identifier": "npm:^7.22.20"
+ peerDependencies:
+ "@babel/core": ^7.0.0
+ checksum: 10/d72fe444f7b6c5aadaac8f393298d603eedd48e5dead67273a48e5c83a677cbccbd8a12a06c5bf5d97924666083279158a4bd0e799d28b86cbbfacba9e41f598
+ languageName: node
+ linkType: hard
+
"@babel/helper-module-transforms@npm:^7.23.3":
version: 7.23.3
resolution: "@babel/helper-module-transforms@npm:7.23.3"
@@ -223,6 +316,13 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-string-parser@npm:^7.22.5":
+ version: 7.22.5
+ resolution: "@babel/helper-string-parser@npm:7.22.5"
+ checksum: 10/7f275a7f1a9504da06afc33441e219796352a4a3d0288a961bc14d1e30e06833a71621b33c3e60ee3ac1ff3c502d55e392bcbc0665f6f9d2629809696fab7cdd
+ languageName: node
+ linkType: hard
+
"@babel/helper-string-parser@npm:^7.23.4":
version: 7.24.1
resolution: "@babel/helper-string-parser@npm:7.24.1"
@@ -237,6 +337,13 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-validator-option@npm:^7.22.15":
+ version: 7.22.15
+ resolution: "@babel/helper-validator-option@npm:7.22.15"
+ checksum: 10/68da52b1e10002a543161494c4bc0f4d0398c8fdf361d5f7f4272e95c45d5b32d974896d44f6a0ea7378c9204988879d73613ca683e13bd1304e46d25ff67a8d
+ languageName: node
+ linkType: hard
+
"@babel/helper-validator-option@npm:^7.23.5":
version: 7.23.5
resolution: "@babel/helper-validator-option@npm:7.23.5"
@@ -244,6 +351,28 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helpers@npm:^7.23.2":
+ version: 7.23.2
+ resolution: "@babel/helpers@npm:7.23.2"
+ dependencies:
+ "@babel/template": "npm:^7.22.15"
+ "@babel/traverse": "npm:^7.23.2"
+ "@babel/types": "npm:^7.23.0"
+ checksum: 10/d66d949d41513f19e62e43a9426e283d46bc9a3c72f1e3dd136568542382edd411047403458aaa0ae3adf7c14d23e0e9a1126092bb56e72ba796a6dd7e4c082a
+ languageName: node
+ linkType: hard
+
+"@babel/helpers@npm:^7.24.0":
+ version: 7.24.0
+ resolution: "@babel/helpers@npm:7.24.0"
+ dependencies:
+ "@babel/template": "npm:^7.24.0"
+ "@babel/traverse": "npm:^7.24.0"
+ "@babel/types": "npm:^7.24.0"
+ checksum: 10/cc82012161b30185c2698da359c7311cf019f0932f8fcb805e985fec9e0053c354f0534dc9961f3170eee579df6724eecd34b0f5ffaa155cdd456af59fbff86e
+ languageName: node
+ linkType: hard
+
"@babel/helpers@npm:^7.24.1":
version: 7.24.1
resolution: "@babel/helpers@npm:7.24.1"
@@ -267,7 +396,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.20.5, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.0, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.24.0, @babel/parser@npm:^7.24.1":
+"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.20.5, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.0, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.24.1":
version: 7.24.1
resolution: "@babel/parser@npm:7.24.1"
bin:
@@ -276,6 +405,15 @@ __metadata:
languageName: node
linkType: hard
+"@babel/parser@npm:^7.24.0":
+ version: 7.24.0
+ resolution: "@babel/parser@npm:7.24.0"
+ bin:
+ parser: ./bin/babel-parser.js
+ checksum: 10/3e5ebb903a6f71629a9d0226743e37fe3d961e79911d2698b243637f66c4df7e3e0a42c07838bc0e7cc9fcd585d9be8f4134a145b9459ee4a459420fb0d1360b
+ languageName: node
+ linkType: hard
+
"@babel/plugin-transform-react-jsx-self@npm:^7.18.6, @babel/plugin-transform-react-jsx-self@npm:^7.23.3":
version: 7.24.1
resolution: "@babel/plugin-transform-react-jsx-self@npm:7.24.1"
@@ -307,7 +445,16 @@ __metadata:
languageName: node
linkType: hard
-"@babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.15.4, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.21.0, @babel/runtime@npm:^7.23.2, @babel/runtime@npm:^7.23.8, @babel/runtime@npm:^7.23.9, @babel/runtime@npm:^7.3.4, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.6.2, @babel/runtime@npm:^7.7.2, @babel/runtime@npm:^7.8.7, @babel/runtime@npm:^7.9.2":
+"@babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.15.4, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.21.0, @babel/runtime@npm:^7.23.2, @babel/runtime@npm:^7.23.9, @babel/runtime@npm:^7.3.4, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.6.2, @babel/runtime@npm:^7.7.2, @babel/runtime@npm:^7.8.7, @babel/runtime@npm:^7.9.2":
+ version: 7.23.9
+ resolution: "@babel/runtime@npm:7.23.9"
+ dependencies:
+ regenerator-runtime: "npm:^0.14.0"
+ checksum: 10/9a520fe1bf72249f7dd60ff726434251858de15cccfca7aa831bd19d0d3fb17702e116ead82724659b8da3844977e5e13de2bae01eb8a798f2823a669f122be6
+ languageName: node
+ linkType: hard
+
+"@babel/runtime@npm:^7.23.8":
version: 7.24.1
resolution: "@babel/runtime@npm:7.24.1"
dependencies:
@@ -363,6 +510,24 @@ __metadata:
languageName: node
linkType: hard
+"@babel/traverse@npm:^7.24.0":
+ version: 7.24.0
+ resolution: "@babel/traverse@npm:7.24.0"
+ dependencies:
+ "@babel/code-frame": "npm:^7.23.5"
+ "@babel/generator": "npm:^7.23.6"
+ "@babel/helper-environment-visitor": "npm:^7.22.20"
+ "@babel/helper-function-name": "npm:^7.23.0"
+ "@babel/helper-hoist-variables": "npm:^7.22.5"
+ "@babel/helper-split-export-declaration": "npm:^7.22.6"
+ "@babel/parser": "npm:^7.24.0"
+ "@babel/types": "npm:^7.24.0"
+ debug: "npm:^4.3.1"
+ globals: "npm:^11.1.0"
+ checksum: 10/5cc482248ebb79adcbcf021aab4e0e95bafe2a1736ee4b46abe6f88b59848ad73e15e219db8f06c9a33a14c64257e5b47e53876601e998a8c596accb1b7f4996
+ languageName: node
+ linkType: hard
+
"@babel/types@npm:7.17.0":
version: 7.17.0
resolution: "@babel/types@npm:7.17.0"
@@ -373,7 +538,40 @@ __metadata:
languageName: node
linkType: hard
-"@babel/types@npm:^7.0.0, @babel/types@npm:^7.17.0, @babel/types@npm:^7.18.9, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.24.0, @babel/types@npm:^7.8.3":
+"@babel/types@npm:^7.0.0, @babel/types@npm:^7.17.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.8.3":
+ version: 7.23.0
+ resolution: "@babel/types@npm:7.23.0"
+ dependencies:
+ "@babel/helper-string-parser": "npm:^7.22.5"
+ "@babel/helper-validator-identifier": "npm:^7.22.20"
+ to-fast-properties: "npm:^2.0.0"
+ checksum: 10/ca5b896a26c91c5672254725c4c892a35567d2122afc47bd5331d1611a7f9230c19fc9ef591a5a6f80bf0d80737e104a9ac205c96447c74bee01d4319db58001
+ languageName: node
+ linkType: hard
+
+"@babel/types@npm:^7.18.9":
+ version: 7.23.9
+ resolution: "@babel/types@npm:7.23.9"
+ dependencies:
+ "@babel/helper-string-parser": "npm:^7.23.4"
+ "@babel/helper-validator-identifier": "npm:^7.22.20"
+ to-fast-properties: "npm:^2.0.0"
+ checksum: 10/bed9634e5fd0f9dc63c84cfa83316c4cb617192db9fedfea464fca743affe93736d7bf2ebf418ee8358751a9d388e303af87a0c050cb5d87d5870c1b0154f6cb
+ languageName: node
+ linkType: hard
+
+"@babel/types@npm:^7.23.6":
+ version: 7.23.6
+ resolution: "@babel/types@npm:7.23.6"
+ dependencies:
+ "@babel/helper-string-parser": "npm:^7.23.4"
+ "@babel/helper-validator-identifier": "npm:^7.22.20"
+ to-fast-properties: "npm:^2.0.0"
+ checksum: 10/07e70bb94d30b0231396b5e9a7726e6d9227a0a62e0a6830c0bd3232f33b024092e3d5a7d1b096a65bbf2bb43a9ab4c721bf618e115bfbb87b454fa060f88cbf
+ languageName: node
+ linkType: hard
+
+"@babel/types@npm:^7.24.0":
version: 7.24.0
resolution: "@babel/types@npm:7.24.0"
dependencies:
@@ -1291,9 +1489,9 @@ __metadata:
languageName: node
linkType: hard
-"@graasp/query-client@npm:3.2.0":
- version: 3.2.0
- resolution: "@graasp/query-client@npm:3.2.0"
+"@graasp/query-client@npm:3.3.0":
+ version: 3.3.0
+ resolution: "@graasp/query-client@npm:3.3.0"
dependencies:
"@tanstack/react-query": "npm:4.36.1"
"@tanstack/react-query-devtools": "npm:4.36.1"
@@ -1304,7 +1502,7 @@ __metadata:
"@graasp/sdk": ^4.0.0
"@graasp/translations": ^1.23.0
react: ^18.0.0
- checksum: 10/58a27034f5c7fb4cd2530f3d15d5a22259e28f9d8fa028e2e3a93a10bbf7f5916b3f126d5b85a7a1c256103d9f26802751112ee74ba1cff4484676ad55940797
+ checksum: 10/eb50320e97bd80ce061593f6cf2c26c0651adb9225d5526db4e6c531ab9e69820939433c6dff21a42a6a30bafdadcb7c5fdd99f4f3c3b0ee3ba3a0945f618ff4
languageName: node
linkType: hard
@@ -1322,9 +1520,9 @@ __metadata:
languageName: node
linkType: hard
-"@graasp/sdk@npm:4.3.1":
- version: 4.3.1
- resolution: "@graasp/sdk@npm:4.3.1"
+"@graasp/sdk@npm:4.6.0":
+ version: 4.6.0
+ resolution: "@graasp/sdk@npm:4.6.0"
dependencies:
"@faker-js/faker": "npm:8.4.1"
js-cookie: "npm:3.0.5"
@@ -1332,7 +1530,7 @@ __metadata:
peerDependencies:
date-fns: ^3
uuid: ^9
- checksum: 10/d2715dde95901fbe67eb788f324d212f556c9ea607cb2041e6d7f9a12e41dc21d25a867ca92add5cd3cf8407daf2efa7e5c1f08f2e95f8db956018ff44275a33
+ checksum: 10/85456a68c8498375b298c7677db1aa221deb9c73406204b84bf15da6a699cee4f992600c0fd2b2280b71aff442c2afe7c5bfa92dbea2e4863e6edca70e49e9e3
languageName: node
linkType: hard
@@ -1354,9 +1552,9 @@ __metadata:
languageName: node
linkType: hard
-"@graasp/ui@npm:4.14.0":
- version: 4.14.0
- resolution: "@graasp/ui@npm:4.14.0"
+"@graasp/ui@npm:4.14.1":
+ version: 4.14.1
+ resolution: "@graasp/ui@npm:4.14.1"
dependencies:
"@ag-grid-community/client-side-row-model": "npm:31.1.1"
"@ag-grid-community/react": "npm:^31.1.1"
@@ -1388,7 +1586,7 @@ __metadata:
react-router-dom: ^6.11.0
stylis: ^4.1.3
stylis-plugin-rtl: ^2.1.1
- checksum: 10/ae57c39dff322e2ba9063d8a30c7509e7bed8ddd068a1e878f85dbf2e855bf2296c0b862047b3b8baea562aa77dd1f2c7156ebc4e32a796c282f30859e2a0c7c
+ checksum: 10/835eb3f62dbcfa818b28758eca1d05c9792bc7c0099c2dabe7754e8cc21cadda9ac9fbed77bb06c7a46592328331976fd8423a32100284d1954c829b7fa3fd0f
languageName: node
linkType: hard
@@ -1539,6 +1737,17 @@ __metadata:
languageName: node
linkType: hard
+"@jridgewell/gen-mapping@npm:^0.3.2":
+ version: 0.3.3
+ resolution: "@jridgewell/gen-mapping@npm:0.3.3"
+ dependencies:
+ "@jridgewell/set-array": "npm:^1.0.1"
+ "@jridgewell/sourcemap-codec": "npm:^1.4.10"
+ "@jridgewell/trace-mapping": "npm:^0.3.9"
+ checksum: 10/072ace159c39ab85944bdabe017c3de15c5e046a4a4a772045b00ff05e2ebdcfa3840b88ae27e897d473eb4d4845b37be3c78e28910c779f5aeeeae2fb7f0cc2
+ languageName: node
+ linkType: hard
+
"@jridgewell/gen-mapping@npm:^0.3.5":
version: 0.3.5
resolution: "@jridgewell/gen-mapping@npm:0.3.5"
@@ -1557,6 +1766,13 @@ __metadata:
languageName: node
linkType: hard
+"@jridgewell/set-array@npm:^1.0.1":
+ version: 1.1.2
+ resolution: "@jridgewell/set-array@npm:1.1.2"
+ checksum: 10/69a84d5980385f396ff60a175f7177af0b8da4ddb81824cb7016a9ef914eee9806c72b6b65942003c63f7983d4f39a5c6c27185bbca88eb4690b62075602e28e
+ languageName: node
+ linkType: hard
+
"@jridgewell/set-array@npm:^1.2.1":
version: 1.2.1
resolution: "@jridgewell/set-array@npm:1.2.1"
@@ -1571,6 +1787,16 @@ __metadata:
languageName: node
linkType: hard
+"@jridgewell/trace-mapping@npm:^0.3.17, @jridgewell/trace-mapping@npm:^0.3.9":
+ version: 0.3.21
+ resolution: "@jridgewell/trace-mapping@npm:0.3.21"
+ dependencies:
+ "@jridgewell/resolve-uri": "npm:^3.1.0"
+ "@jridgewell/sourcemap-codec": "npm:^1.4.14"
+ checksum: 10/925dda0620887e5a24f11b5a3a106f4e8b1a66155b49be6ceee61432174df33a17c243d8a89b2cd79ccebd281d817878759236a2fc42c47325ae9f73dfbfb90d
+ languageName: node
+ linkType: hard
+
"@jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25":
version: 0.3.25
resolution: "@jridgewell/trace-mapping@npm:0.3.25"
@@ -3573,7 +3799,7 @@ __metadata:
languageName: node
linkType: hard
-"@uppy/utils@npm:^5.3.0, @uppy/utils@npm:^5.7.3, @uppy/utils@npm:^5.7.4, @uppy/utils@npm:^5.7.5":
+"@uppy/utils@npm:^5.3.0, @uppy/utils@npm:^5.7.5":
version: 5.7.5
resolution: "@uppy/utils@npm:5.7.5"
dependencies:
@@ -3583,6 +3809,16 @@ __metadata:
languageName: node
linkType: hard
+"@uppy/utils@npm:^5.7.3, @uppy/utils@npm:^5.7.4":
+ version: 5.7.4
+ resolution: "@uppy/utils@npm:5.7.4"
+ dependencies:
+ lodash: "npm:^4.17.21"
+ preact: "npm:^10.5.13"
+ checksum: 10/122c27a6224f232f9fe480a1ea3f6acd910f98751584cb43de648c910bc01c4644129562f0eb7ae1ef38f7735df41d130b94412ff010847d0d2505e7be5bbf6b
+ languageName: node
+ linkType: hard
+
"@uppy/xhr-upload@npm:3.6.4":
version: 3.6.4
resolution: "@uppy/xhr-upload@npm:3.6.4"
@@ -4194,6 +4430,15 @@ __metadata:
languageName: node
linkType: hard
+"asynciterator.prototype@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "asynciterator.prototype@npm:1.0.0"
+ dependencies:
+ has-symbols: "npm:^1.0.3"
+ checksum: 10/e8ebfd9493ac651cf9b4165e9d64030b3da1d17181bb1963627b59e240cdaf021d9b59d44b827dc1dde4e22387ec04c2d0f8720cf58a1c282e34e40cc12721b3
+ languageName: node
+ linkType: hard
+
"asynckit@npm:^0.4.0":
version: 0.4.0
resolution: "asynckit@npm:0.4.0"
@@ -4208,6 +4453,13 @@ __metadata:
languageName: node
linkType: hard
+"available-typed-arrays@npm:^1.0.6":
+ version: 1.0.6
+ resolution: "available-typed-arrays@npm:1.0.6"
+ checksum: 10/c1e2e3d3a694f21bf60e0a048d8275fa7358131a0b8e6b57714318d618b59522416db67fb9f56973af0ce596f4333ef1336ca12c37a41d5a72ef79885373a7fd
+ languageName: node
+ linkType: hard
+
"available-typed-arrays@npm:^1.0.7":
version: 1.0.7
resolution: "available-typed-arrays@npm:1.0.7"
@@ -4405,6 +4657,20 @@ __metadata:
languageName: node
linkType: hard
+"browserslist@npm:^4.21.9":
+ version: 4.22.1
+ resolution: "browserslist@npm:4.22.1"
+ dependencies:
+ caniuse-lite: "npm:^1.0.30001541"
+ electron-to-chromium: "npm:^1.4.535"
+ node-releases: "npm:^2.0.13"
+ update-browserslist-db: "npm:^1.0.13"
+ bin:
+ browserslist: cli.js
+ checksum: 10/4a515168e0589c7b1ccbf13a93116ce0418cc5e65d228ec036022cf0e08773fdfb732e2abbf1e1188b96d19ecd4dd707504e75b6d393cba2782fc7d6a7fdefe8
+ languageName: node
+ linkType: hard
+
"browserslist@npm:^4.22.2":
version: 4.23.0
resolution: "browserslist@npm:4.23.0"
@@ -4523,6 +4789,13 @@ __metadata:
languageName: node
linkType: hard
+"caniuse-lite@npm:^1.0.30001541":
+ version: 1.0.30001553
+ resolution: "caniuse-lite@npm:1.0.30001553"
+ checksum: 10/b14b512307aeaeccd4798439ae8665c9c215778132d4a87194552edbbd11965c1a8b3bee593e43a511332e5c4282962e12006ffb75bd3d938c080af7cfc89096
+ languageName: node
+ linkType: hard
+
"caniuse-lite@npm:^1.0.30001587":
version: 1.0.30001600
resolution: "caniuse-lite@npm:1.0.30001600"
@@ -5512,6 +5785,13 @@ __metadata:
languageName: node
linkType: hard
+"electron-to-chromium@npm:^1.4.535":
+ version: 1.4.565
+ resolution: "electron-to-chromium@npm:1.4.565"
+ checksum: 10/caee9af984e0387ab8bb852c544b0f606c3f20ce26636fb863d121b98be00ad70d86e9f5d8281bc895e0bce8d8243784d276ca1c22041b010ae3df0c9bddf6a7
+ languageName: node
+ linkType: hard
+
"electron-to-chromium@npm:^1.4.668":
version: 1.4.717
resolution: "electron-to-chromium@npm:1.4.717"
@@ -5613,7 +5893,7 @@ __metadata:
languageName: node
linkType: hard
-"es-abstract@npm:^1.22.1, es-abstract@npm:^1.22.3, es-abstract@npm:^1.23.0, es-abstract@npm:^1.23.1, es-abstract@npm:^1.23.2":
+"es-abstract@npm:^1.22.1, es-abstract@npm:^1.23.0, es-abstract@npm:^1.23.1, es-abstract@npm:^1.23.2":
version: 1.23.2
resolution: "es-abstract@npm:1.23.2"
dependencies:
@@ -5667,6 +5947,55 @@ __metadata:
languageName: node
linkType: hard
+"es-abstract@npm:^1.22.3, es-abstract@npm:^1.22.4":
+ version: 1.22.5
+ resolution: "es-abstract@npm:1.22.5"
+ dependencies:
+ array-buffer-byte-length: "npm:^1.0.1"
+ arraybuffer.prototype.slice: "npm:^1.0.3"
+ available-typed-arrays: "npm:^1.0.7"
+ call-bind: "npm:^1.0.7"
+ es-define-property: "npm:^1.0.0"
+ es-errors: "npm:^1.3.0"
+ es-set-tostringtag: "npm:^2.0.3"
+ es-to-primitive: "npm:^1.2.1"
+ function.prototype.name: "npm:^1.1.6"
+ get-intrinsic: "npm:^1.2.4"
+ get-symbol-description: "npm:^1.0.2"
+ globalthis: "npm:^1.0.3"
+ gopd: "npm:^1.0.1"
+ has-property-descriptors: "npm:^1.0.2"
+ has-proto: "npm:^1.0.3"
+ has-symbols: "npm:^1.0.3"
+ hasown: "npm:^2.0.1"
+ internal-slot: "npm:^1.0.7"
+ is-array-buffer: "npm:^3.0.4"
+ is-callable: "npm:^1.2.7"
+ is-negative-zero: "npm:^2.0.3"
+ is-regex: "npm:^1.1.4"
+ is-shared-array-buffer: "npm:^1.0.3"
+ is-string: "npm:^1.0.7"
+ is-typed-array: "npm:^1.1.13"
+ is-weakref: "npm:^1.0.2"
+ object-inspect: "npm:^1.13.1"
+ object-keys: "npm:^1.1.1"
+ object.assign: "npm:^4.1.5"
+ regexp.prototype.flags: "npm:^1.5.2"
+ safe-array-concat: "npm:^1.1.0"
+ safe-regex-test: "npm:^1.0.3"
+ string.prototype.trim: "npm:^1.2.8"
+ string.prototype.trimend: "npm:^1.0.7"
+ string.prototype.trimstart: "npm:^1.0.7"
+ typed-array-buffer: "npm:^1.0.2"
+ typed-array-byte-length: "npm:^1.0.1"
+ typed-array-byte-offset: "npm:^1.0.2"
+ typed-array-length: "npm:^1.0.5"
+ unbox-primitive: "npm:^1.0.2"
+ which-typed-array: "npm:^1.1.14"
+ checksum: 10/33bba7be636a6c56d836bb7d8860d2082deb02903c906cf31a93840302ac42c731b6d4f6393c1d112fa46c8778b2c1282e7833d206fe5e88e803dab1c8afefed
+ languageName: node
+ linkType: hard
+
"es-define-property@npm:^1.0.0":
version: 1.0.0
resolution: "es-define-property@npm:1.0.0"
@@ -5700,7 +6029,7 @@ __metadata:
languageName: node
linkType: hard
-"es-iterator-helpers@npm:^1.0.15, es-iterator-helpers@npm:^1.0.17":
+"es-iterator-helpers@npm:^1.0.15":
version: 1.0.18
resolution: "es-iterator-helpers@npm:1.0.18"
dependencies:
@@ -5722,6 +6051,29 @@ __metadata:
languageName: node
linkType: hard
+"es-iterator-helpers@npm:^1.0.17":
+ version: 1.0.17
+ resolution: "es-iterator-helpers@npm:1.0.17"
+ dependencies:
+ asynciterator.prototype: "npm:^1.0.0"
+ call-bind: "npm:^1.0.7"
+ define-properties: "npm:^1.2.1"
+ es-abstract: "npm:^1.22.4"
+ es-errors: "npm:^1.3.0"
+ es-set-tostringtag: "npm:^2.0.2"
+ function-bind: "npm:^1.1.2"
+ get-intrinsic: "npm:^1.2.4"
+ globalthis: "npm:^1.0.3"
+ has-property-descriptors: "npm:^1.0.2"
+ has-proto: "npm:^1.0.1"
+ has-symbols: "npm:^1.0.3"
+ internal-slot: "npm:^1.0.7"
+ iterator.prototype: "npm:^1.1.2"
+ safe-array-concat: "npm:^1.1.0"
+ checksum: 10/42c6eb65368d34b556dac1cc8d34ba753eb526bc7d4594be3b77799440be78d31fddfd60717af2d9ce6d021de8346e7a573141d789821e38836e60441f93ccfd
+ languageName: node
+ linkType: hard
+
"es-module-lexer@npm:^0.9.3":
version: 0.9.3
resolution: "es-module-lexer@npm:0.9.3"
@@ -5738,7 +6090,7 @@ __metadata:
languageName: node
linkType: hard
-"es-set-tostringtag@npm:^2.0.3":
+"es-set-tostringtag@npm:^2.0.2, es-set-tostringtag@npm:^2.0.3":
version: 2.0.3
resolution: "es-set-tostringtag@npm:2.0.3"
dependencies:
@@ -7143,10 +7495,10 @@ __metadata:
"@emotion/styled": "npm:11.11.0"
"@graasp/chatbox": "npm:3.1.0"
"@graasp/map": "npm:1.5.0"
- "@graasp/query-client": "npm:3.2.0"
- "@graasp/sdk": "npm:4.3.1"
+ "@graasp/query-client": "npm:3.3.0"
+ "@graasp/sdk": "npm:4.6.0"
"@graasp/translations": "npm:1.25.3"
- "@graasp/ui": "npm:4.14.0"
+ "@graasp/ui": "npm:4.14.1"
"@mui/icons-material": "npm:5.15.11"
"@mui/lab": "npm:5.0.0-alpha.166"
"@mui/material": "npm:5.15.11"
@@ -7310,7 +7662,7 @@ __metadata:
languageName: node
linkType: hard
-"has-tostringtag@npm:^1.0.0, has-tostringtag@npm:^1.0.2":
+"has-tostringtag@npm:^1.0.0, has-tostringtag@npm:^1.0.1, has-tostringtag@npm:^1.0.2":
version: 1.0.2
resolution: "has-tostringtag@npm:1.0.2"
dependencies:
@@ -7329,7 +7681,7 @@ __metadata:
languageName: node
linkType: hard
-"hasown@npm:^2.0.0, hasown@npm:^2.0.1, hasown@npm:^2.0.2":
+"hasown@npm:^2.0.0, hasown@npm:^2.0.2":
version: 2.0.2
resolution: "hasown@npm:2.0.2"
dependencies:
@@ -7338,6 +7690,15 @@ __metadata:
languageName: node
linkType: hard
+"hasown@npm:^2.0.1":
+ version: 2.0.1
+ resolution: "hasown@npm:2.0.1"
+ dependencies:
+ function-bind: "npm:^1.1.2"
+ checksum: 10/b7f9107387ee68abed88e965c2b99e868b5e0e9d289db1ddd080706ffafb69533b4f538b0e6362585bae8d6cbd080249f65e79702f74c225990f66d6106be3f6
+ languageName: node
+ linkType: hard
+
"hast-util-to-jsx-runtime@npm:^2.0.0":
version: 2.3.0
resolution: "hast-util-to-jsx-runtime@npm:2.3.0"
@@ -8899,7 +9260,7 @@ __metadata:
languageName: node
linkType: hard
-"lru-cache@npm:^10.0.1, lru-cache@npm:^9.1.1 || ^10.0.0":
+"lru-cache@npm:^10.0.1":
version: 10.2.0
resolution: "lru-cache@npm:10.2.0"
checksum: 10/502ec42c3309c0eae1ce41afca471f831c278566d45a5273a0c51102dee31e0e250a62fa9029c3370988df33a14188a38e682c16143b794de78668de3643e302
@@ -8924,6 +9285,13 @@ __metadata:
languageName: node
linkType: hard
+"lru-cache@npm:^9.1.1 || ^10.0.0":
+ version: 10.0.1
+ resolution: "lru-cache@npm:10.0.1"
+ checksum: 10/5bb91a97a342a41fd049c3494b44d9e21a7d4843f9284d0a0b26f00bb0e436f1f627d0641c78f88be16b86b4231546c5ee4f284733fb530c7960f0bcd7579026
+ languageName: node
+ linkType: hard
+
"lz-string@npm:^1.5.0":
version: 1.5.0
resolution: "lz-string@npm:1.5.0"
@@ -9947,6 +10315,13 @@ __metadata:
languageName: node
linkType: hard
+"node-releases@npm:^2.0.13":
+ version: 2.0.13
+ resolution: "node-releases@npm:2.0.13"
+ checksum: 10/c9bb813aab2717ff8b3015ecd4c7c5670a5546e9577699a7c84e8d69230cd3b1ce8f863f8e9b50f18b19a5ffa4b9c1a706bbbfe4c378de955fedbab04488a338
+ languageName: node
+ linkType: hard
+
"node-releases@npm:^2.0.14":
version: 2.0.14
resolution: "node-releases@npm:2.0.14"
@@ -10744,7 +11119,7 @@ __metadata:
languageName: node
linkType: hard
-"qs@npm:6.12.0, qs@npm:^6.10.0":
+"qs@npm:6.12.0":
version: 6.12.0
resolution: "qs@npm:6.12.0"
dependencies:
@@ -10753,6 +11128,15 @@ __metadata:
languageName: node
linkType: hard
+"qs@npm:^6.10.0":
+ version: 6.11.2
+ resolution: "qs@npm:6.11.2"
+ dependencies:
+ side-channel: "npm:^1.0.4"
+ checksum: 10/f2321d0796664d0f94e92447ccd3bdfd6b6f3a50b6b762aa79d7f5b1ea3a7a9f94063ba896b82bc2a877ed6a7426d4081e4f16568fdb04f0ee188cca9d8505b4
+ languageName: node
+ linkType: hard
+
"querystringify@npm:^2.1.1":
version: 2.2.0
resolution: "querystringify@npm:2.2.0"
@@ -11655,6 +12039,18 @@ __metadata:
languageName: node
linkType: hard
+"safe-array-concat@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "safe-array-concat@npm:1.1.0"
+ dependencies:
+ call-bind: "npm:^1.0.5"
+ get-intrinsic: "npm:^1.2.2"
+ has-symbols: "npm:^1.0.3"
+ isarray: "npm:^2.0.5"
+ checksum: 10/41ac35ce46c44e2e8637b1805b0697d5269507779e3082b7afb92c01605fd73ab813bbc799510c56e300cfc941b1447fd98a338205db52db7fd1322ab32d7c9f
+ languageName: node
+ linkType: hard
+
"safe-array-concat@npm:^1.1.2":
version: 1.1.2
resolution: "safe-array-concat@npm:1.1.2"
@@ -12105,6 +12501,17 @@ __metadata:
languageName: node
linkType: hard
+"string.prototype.trim@npm:^1.2.8":
+ version: 1.2.8
+ resolution: "string.prototype.trim@npm:1.2.8"
+ dependencies:
+ call-bind: "npm:^1.0.2"
+ define-properties: "npm:^1.2.0"
+ es-abstract: "npm:^1.22.1"
+ checksum: 10/9301f6cb2b6c44f069adde1b50f4048915985170a20a1d64cf7cb2dc53c5cd6b9525b92431f1257f894f94892d6c4ae19b5aa7f577c3589e7e51772dffc9d5a4
+ languageName: node
+ linkType: hard
+
"string.prototype.trim@npm:^1.2.9":
version: 1.2.9
resolution: "string.prototype.trim@npm:1.2.9"
@@ -12117,6 +12524,17 @@ __metadata:
languageName: node
linkType: hard
+"string.prototype.trimend@npm:^1.0.7":
+ version: 1.0.7
+ resolution: "string.prototype.trimend@npm:1.0.7"
+ dependencies:
+ call-bind: "npm:^1.0.2"
+ define-properties: "npm:^1.2.0"
+ es-abstract: "npm:^1.22.1"
+ checksum: 10/3f0d3397ab9bd95cd98ae2fe0943bd3e7b63d333c2ab88f1875cf2e7c958c75dc3355f6fe19ee7c8fca28de6f39f2475e955e103821feb41299a2764a7463ffa
+ languageName: node
+ linkType: hard
+
"string.prototype.trimend@npm:^1.0.8":
version: 1.0.8
resolution: "string.prototype.trimend@npm:1.0.8"
@@ -13453,7 +13871,20 @@ __metadata:
languageName: node
linkType: hard
-"which-typed-array@npm:^1.1.13, which-typed-array@npm:^1.1.14, which-typed-array@npm:^1.1.15, which-typed-array@npm:^1.1.2, which-typed-array@npm:^1.1.9":
+"which-typed-array@npm:^1.1.13, which-typed-array@npm:^1.1.14, which-typed-array@npm:^1.1.2, which-typed-array@npm:^1.1.9":
+ version: 1.1.14
+ resolution: "which-typed-array@npm:1.1.14"
+ dependencies:
+ available-typed-arrays: "npm:^1.0.6"
+ call-bind: "npm:^1.0.5"
+ for-each: "npm:^0.3.3"
+ gopd: "npm:^1.0.1"
+ has-tostringtag: "npm:^1.0.1"
+ checksum: 10/56253d2c9d6b41b8a4af96d8c2751bac5508906bd500cdcd0dc5301fb082de0391a4311ab21258bc8d2609ed593f422c1a66f0020fcb3a1e97f719bc928b9018
+ languageName: node
+ linkType: hard
+
+"which-typed-array@npm:^1.1.15":
version: 1.1.15
resolution: "which-typed-array@npm:1.1.15"
dependencies: