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 ( + + + + {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 ? ( - - - - {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]) => ( - - {name} + + `2px solid ${palette.primary.main}`, + backgroundColor: `${getFlavorColor( + f as DocumentItemExtraFlavor, + )} !important`, + }, + '&:hover': { + outline: ({ palette }) => + f !== DocumentItemExtraFlavor.None + ? `1px solid ${palette[f].main}` + : '1px solid gray', + backgroundColor: `${getFlavorColor( + f as DocumentItemExtraFlavor, + )} !important`, + }, + }} + > + ))} @@ -103,6 +206,8 @@ export const DocumentExtraForm = ({ handleChangeEditorMode(value)} aria-label={t(BUILDER.DOCUMENT_EDITOR_MODE_ARIA_LABEL)} + centered + variant="fullWidth" > - onContentChange?.(value)} - /> + {withFlavor({ + content: ( + onContentChange?.(value)} + /> + ), + flavor: extra.flavor, + })} @@ -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: