From 8d63c9cfe0a554391563fa4ef18eabf7b244713e Mon Sep 17 00:00:00 2001 From: ransome1 Date: Thu, 8 Feb 2024 20:23:16 +0100 Subject: [PATCH] Refactored the groups in renderer. Fixed bug in markdown parser. --- flatpak/com.github.ransome1.sleek.appdata.xml | 2 +- package.json | 2 +- release/app/package.json | 2 +- snap/snapcraft.yaml | 2 +- src/__tests__/__mock__/recurrence.txt | 28 +- src/__tests__/main/CreateTodoObjects.tsx | 4 + src/__tests__/main/ProcessTodoObjects.tsx | 18 +- src/main/modules/Attributes.tsx | 1 + src/main/modules/IpcMain.tsx | 10 +- .../ProcessDataRequest/CreateTodoObjects.tsx | 1 + .../ProcessDataRequest/ProcessDataRequest.tsx | 7 +- .../ProcessDataRequest/ProcessTodoObjects.tsx | 62 ++-- src/renderer/App.tsx | 1 + src/renderer/Grid/Grid.tsx | 54 ++- src/renderer/Grid/Group.tsx | 5 - src/renderer/Grid/Renderer.tsx | 68 ++-- src/renderer/Grid/Row.tsx | 29 +- src/renderer/Header/FileTabs.scss | 2 +- src/renderer/Header/Search/Input.scss | 8 + src/renderer/Header/Search/Input.tsx | 12 +- src/renderer/SplashScreen.tsx | 2 + src/types.tsx | 3 +- yarn.lock | 342 +++++++++--------- 23 files changed, 350 insertions(+), 315 deletions(-) diff --git a/flatpak/com.github.ransome1.sleek.appdata.xml b/flatpak/com.github.ransome1.sleek.appdata.xml index 618b29cf..11c6961c 100755 --- a/flatpak/com.github.ransome1.sleek.appdata.xml +++ b/flatpak/com.github.ransome1.sleek.appdata.xml @@ -9,7 +9,7 @@ Robin Ahle - + https://github.com/ransome1/sleek https://github.com/ransome1/sleek/issues diff --git a/package.json b/package.json index 67981703..47bf83de 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "sleek", - "version": "2.0.9-rc.1", + "version": "2.0.9-rc.2", "main": "./src/main/main.tsx", "scripts": { "build": "concurrently \"yarn run peggy\" \"yarn run build:main\" \"yarn run build:renderer\"", diff --git a/release/app/package.json b/release/app/package.json index 2f62d441..945eb429 100644 --- a/release/app/package.json +++ b/release/app/package.json @@ -1,6 +1,6 @@ { "name": "sleek", - "version": "2.0.9-rc.1", + "version": "2.0.9-rc.2", "description": "todo.txt manager for Linux, Windows and MacOS, free and open-source (FOSS)", "synopsis": "todo.txt manager for Linux, Windows and MacOS, free and open-source (FOSS)", "keywords": [ diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 98102b38..e285e47c 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -1,6 +1,6 @@ name: sleek base: core20 -version: "2.0.9-rc.1" +version: "2.0.9-rc.2" summary: todo.txt manager for Linux, free and open-source (FOSS) description: | sleek is an open-source (FOSS) todo manager based on the todo.txt syntax. Stripped down to only the most necessary features, and with a clean and simple interface, sleek aims to help you focus on getting things done. diff --git a/src/__tests__/__mock__/recurrence.txt b/src/__tests__/__mock__/recurrence.txt index beb16b84..4b25573d 100644 --- a/src/__tests__/__mock__/recurrence.txt +++ b/src/__tests__/__mock__/recurrence.txt @@ -1,15 +1,15 @@ -2024-02-03 Line 1 rec:1d due:2024-02-04 -2024-02-03 Line 1 rec:w due:2024-02-10 -2024-02-03 Line 1 rec:2m due:2024-04-03 -2024-02-03 Line 1 rec:+1d due:2024-02-05 -2024-02-03 Line 1 rec:7w due:2024-03-23 -2024-02-03 Line 1 due:2023-07-24 rec:+1b -2024-02-03 taxes are due in one year t:2022-03-30 due:2022-04-30 rec:+1y -2024-02-03 Water plants @home +quick due:2024-02-10 t:2024-01-31 rec:1w -2024-02-03 Line 1 rec:+1d t:2023-09-20 -2024-02-03 Line 1 rec:1d pri:A due:2024-02-04 -2024-02-03 (A) Do something rec:d t:2024-02-04 @SomeContext -2024-02-03 Do something rec:0d -2024-02-03 Do something rec:0d due:2024-02-03 -2024-02-03 Do something rec:0d due:2024-02-03 t:2024-02-03 \ No newline at end of file +2024-02-08 Line 1 rec:1d due:2024-02-09 +2024-02-08 Line 1 rec:w due:2024-02-15 +2024-02-08 Line 1 rec:2m due:2024-04-08 +2024-02-08 Line 1 rec:+1d due:2024-02-10 +2024-02-08 Line 1 rec:7w due:2024-03-28 +2024-02-08 Line 1 due:2023-07-24 rec:+1b +2024-02-08 taxes are due in one year t:2022-03-30 due:2022-04-30 rec:+1y +2024-02-08 Water plants @home +quick due:2024-02-15 t:2024-02-05 rec:1w +2024-02-08 Line 1 rec:+1d t:2023-09-20 +2024-02-08 Line 1 rec:1d pri:A due:2024-02-09 +2024-02-08 (A) Do something rec:d t:2024-02-09 @SomeContext +2024-02-08 Do something rec:0d +2024-02-08 Do something rec:0d due:2024-02-08 +2024-02-08 Do something rec:0d due:2024-02-08 t:2024-02-08 \ No newline at end of file diff --git a/src/__tests__/main/CreateTodoObjects.tsx b/src/__tests__/main/CreateTodoObjects.tsx index b67abfce..8b72a024 100644 --- a/src/__tests__/main/CreateTodoObjects.tsx +++ b/src/__tests__/main/CreateTodoObjects.tsx @@ -45,6 +45,7 @@ describe('Create todo objects', () => { pm: "4", string: '(B) Test +project @context todo 1 due:2023-12-31 t:2024-03-24 h:1 test @anotherContext pm:4 and a strict rec:+2w', notify: false, + visible: true, }); }); @@ -68,6 +69,7 @@ describe('Create todo objects', () => { pm: null, string: 'x 2023-07-23 2023-07-21 Test todo 2', notify: false, + visible: true, }); }); @@ -91,6 +93,7 @@ describe('Create todo objects', () => { pm: null, string: 'Test todo 3 due:end of the year', notify: false, + visible: true, }); }); @@ -114,6 +117,7 @@ describe('Create todo objects', () => { pm: null, string: 'Test todo 4 t:first day of next year', notify: false, + visible: true, }); }); }); diff --git a/src/__tests__/main/ProcessTodoObjects.tsx b/src/__tests__/main/ProcessTodoObjects.tsx index 4c9e6800..0eab630d 100644 --- a/src/__tests__/main/ProcessTodoObjects.tsx +++ b/src/__tests__/main/ProcessTodoObjects.tsx @@ -70,6 +70,8 @@ const todoObjects: any = hidden: false, pm: null, string: '(C) 2025-12-09 +testProject5 test0 @testContext due:2023-01-02', + notify: false, + visible: true, }, { id: 1, @@ -86,6 +88,8 @@ const todoObjects: any = hidden: false, pm: null, string: '(B) 2023-12-01 test1 +testProject7 @testContext7 t:2023-12-15', + notify: false, + visible: true, }, { id: 2, @@ -102,6 +106,8 @@ const todoObjects: any = hidden: false, pm: null, string: 'x (C) 2025-12-08 2023-12-01 test2 +testProject1 @testContext due:2023-01-01', + notify: false, + visible: true, }, { id: 3, @@ -118,6 +124,8 @@ const todoObjects: any = hidden: false, pm: null, string: '(A) 2023-06-24 test3 +testProject6 @testContext6 due:2023-12-03', + notify: false, + visible: true, }, { id: 4, @@ -134,6 +142,8 @@ const todoObjects: any = hidden: false, pm: null, string: '(C) 2025-12-06 test3 +testProject3 @testContext due:2023-01-03', + notify: false, + visible: true, }, { id: 5, @@ -150,6 +160,8 @@ const todoObjects: any = hidden: false, pm: null, string: '(C) 2025-12-05 test3 +testProject2 @testContext due:2023-01-05', + notify: false, + visible: true, }, { id: 6, @@ -165,7 +177,9 @@ const todoObjects: any = rec: null, hidden: false, pm: null, - string: '(C) 2025-12-07 test3 +testProject4 @testContext due:2023-01-04' + string: '(C) 2025-12-07 test3 +testProject4 @testContext due:2023-01-04', + notify: false, + visible: true, } ]; @@ -176,7 +190,7 @@ describe('Process todo.txt objects', () => { }); test('Objects are counted correctly', () => { - const count: number = countTodoObjects(todoObjects, true); + const count: number = countTodoObjects(todoObjects, true, false); expect(count).toEqual(1); }); diff --git a/src/main/modules/Attributes.tsx b/src/main/modules/Attributes.tsx index 5773fc52..e4716a2e 100644 --- a/src/main/modules/Attributes.tsx +++ b/src/main/modules/Attributes.tsx @@ -26,6 +26,7 @@ function updateAttributes(todoObjects: TodoObject[], sorting: Sorting[], reset: (reset) ? attributes[key] = {} : attributes[key][attributeKey].count = 0 }); todoObjects.forEach((todoObject: TodoObject) => { + if(!todoObject.visible) return; const value = todoObject[key as keyof TodoObject]; const notify: boolean = (key === 'due') ? !!todoObject?.notify : false; diff --git a/src/main/modules/IpcMain.tsx b/src/main/modules/IpcMain.tsx index 4df89078..80e64c3e 100644 --- a/src/main/modules/IpcMain.tsx +++ b/src/main/modules/IpcMain.tsx @@ -197,11 +197,9 @@ function handleSaveToClipboard(event: IpcMainEvent, string: string): void { } } -function handleOpenInBrowser(event: IpcMainEvent, url: string): void { +async function handleOpenInBrowser(event: IpcMainEvent, url: string): Promise { try { - if(url) { - shell?.openExternal(url); - } + await shell?.openExternal(url); } catch (error: any) { console.error(error); event.reply('responseFromMainProcess', error); @@ -212,9 +210,7 @@ function removeEventListeners(): void { ipcMain.off('storeGetConfig', handleStoreGetConfig); ipcMain.off('storeSetConfig', handleStoreSetConfig); ipcMain.off('storeSetFilters', handleStoreSetFilters); - ipcMain.off('storeGetFilters', handleStoreGetFilters); - ipcMain.off('storeSetNotifiedTodoObjects', handleStoreSetNotifiedTodoObjects); ipcMain.off('setFile', handleSetFile); ipcMain.off('removeFile', handleRemoveFile); @@ -239,9 +235,7 @@ app.on('before-quit', () => removeEventListeners); ipcMain.on('storeGetConfig', handleStoreGetConfig); ipcMain.on('storeSetConfig', handleStoreSetConfig); ipcMain.on('storeSetFilters', handleStoreSetFilters); - ipcMain.on('storeGetFilters', handleStoreGetFilters); - ipcMain.on('storeSetNotifiedTodoObjects', handleStoreSetNotifiedTodoObjects); ipcMain.on('setFile', handleSetFile); ipcMain.on('removeFile', handleRemoveFile); diff --git a/src/main/modules/ProcessDataRequest/CreateTodoObjects.tsx b/src/main/modules/ProcessDataRequest/CreateTodoObjects.tsx index de4d2a7f..a7db744c 100644 --- a/src/main/modules/ProcessDataRequest/CreateTodoObjects.tsx +++ b/src/main/modules/ProcessDataRequest/CreateTodoObjects.tsx @@ -59,6 +59,7 @@ function createTodoObject(index: number, string: string, attributeType?: string, rec, hidden, pm, + visible: true, string: content, }; } diff --git a/src/main/modules/ProcessDataRequest/ProcessDataRequest.tsx b/src/main/modules/ProcessDataRequest/ProcessDataRequest.tsx index 3961f1e9..28186ce2 100644 --- a/src/main/modules/ProcessDataRequest/ProcessDataRequest.tsx +++ b/src/main/modules/ProcessDataRequest/ProcessDataRequest.tsx @@ -29,10 +29,7 @@ async function processDataRequest(search?: string): Promise { const fileContent = await readFileContent(activeFile.todoFilePath, activeFile.todoFileBookmark); let todoObjects: TodoObject[] | [] = await createTodoObjects(fileContent); - todoObjects = handleTodoObjectsDates(todoObjects); - headers.availableObjects = countTodoObjects(todoObjects, false); - headers.completedTodoObjects = countTodoObjects(todoObjects, true); todoObjects = handleCompletedTodoObjects(todoObjects); updateAttributes(todoObjects, sorting, true); @@ -41,7 +38,9 @@ async function processDataRequest(search?: string): Promise { if(filters) todoObjects = applyFilters(todoObjects, filters); if(searchString) todoObjects = applySearchString(searchString, todoObjects); - headers.visibleObjects = countTodoObjects(todoObjects, false); + headers.visibleObjects = countTodoObjects(todoObjects, false, true); + headers.availableObjects = countTodoObjects(todoObjects, false); + headers.completedTodoObjects = countTodoObjects(todoObjects, true); updateAttributes(todoObjects, sorting, false); diff --git a/src/main/modules/ProcessDataRequest/ProcessTodoObjects.tsx b/src/main/modules/ProcessDataRequest/ProcessTodoObjects.tsx index 61565de9..abd1e9ca 100644 --- a/src/main/modules/ProcessDataRequest/ProcessTodoObjects.tsx +++ b/src/main/modules/ProcessDataRequest/ProcessTodoObjects.tsx @@ -4,10 +4,12 @@ import { runQuery } from '../Filters/FilterQuery'; import { createTodoObject } from './CreateTodoObjects'; import { config } from '../../config'; -function countTodoObjects(todoObjects: TodoObject[], completed: boolean): number { +function countTodoObjects(todoObjects: TodoObject[], completed: boolean, visible?: boolean): number { const filteredTodoObjects: TodoObject[] = todoObjects.filter((todoObject: TodoObject) => { if(completed) { return todoObject.complete; + } else if(visible) { + return todoObject.visible; } else { return todoObject; } @@ -28,45 +30,59 @@ function checkForSearchMatches(todoString: string, searchString: string) { function applySearchString(searchString: string, todoObjects: TodoObject[]): TodoObject[] { try { const query = FilterLang.parse(searchString); - return todoObjects.filter(todoObject => runQuery(todoObject, query)); + return todoObjects.map(todoObject => { + if(!todoObject.visible) return todoObject; + todoObject.visible = runQuery(todoObject, query); + return todoObject; + }); } catch (error) { const lowerSearchString = searchString.toLowerCase(); return Object.values(todoObjects) .flat() - .filter(todoObject => todoObject?.string?.toLowerCase().includes(lowerSearchString)) as TodoObject[]; + .map(todoObject => { + if(!todoObject.visible) return todoObject; + todoObject.visible = todoObject?.string?.toLowerCase().includes(lowerSearchString) || false; + return todoObject; + }) as TodoObject[]; } } function handleCompletedTodoObjects(todoObjects: TodoObject[]): TodoObject[] { const showCompleted: boolean = config.get('showCompleted'); - return todoObjects.filter((todoObject: TodoObject) => { - if(showCompleted) { - return true; - } else { - return !todoObject.complete; + return todoObjects.map((todoObject: TodoObject) => { + if(todoObject.complete && !showCompleted) { + todoObject.visible = false; } + return todoObject; }); } function handleHiddenTodoObjects(todoObjects: TodoObject[]): TodoObject[] { - return Object.values(todoObjects) - .flat() - .filter((object: TodoObject | null) => - object && !object.hidden - ); + return todoObjects.map((todoObject: TodoObject) => { + if(!todoObject.visible) return todoObject; + todoObject.visible = todoObject.visible && !todoObject.hidden; + return todoObject; + }); } function handleTodoObjectsDates(todoObjects: TodoObject[]): TodoObject[] { const thresholdDateInTheFuture: boolean = config.get('thresholdDateInTheFuture'); const dueDateInTheFuture: boolean = config.get('dueDateInTheFuture'); - return todoObjects.flat().filter((todoObject) => { - const tDate = dayjs(todoObject?.t); + return todoObjects.map((todoObject: TodoObject) => { + + if(!todoObject.visible) return todoObject; + + const thresholdDate = dayjs(todoObject?.t); const dueDate = dayjs(todoObject?.due); - if(!dueDateInTheFuture && dueDate && dueDate.isAfter(dayjs())) { - return false; + + if(thresholdDate && thresholdDate.isAfter(dayjs()) && !thresholdDateInTheFuture) { + todoObject.visible = false; + } else if(dueDate && dueDate.isAfter(dayjs()) && !dueDateInTheFuture) { + todoObject.visible = false; } - return !(!thresholdDateInTheFuture && tDate && tDate.isAfter(dayjs())); + + return todoObject; }); } @@ -125,8 +141,8 @@ function sortAndGroupTodoObjects(todoObjects: TodoObject[], sorting: Sorting[]): return sortAndGroupObjects(sortedTodoObjects, 0, sorting); } -function flattenTodoObjects(todoObjects: TodoObject[], topLevelGroup: string): any { - const flattenedObjects = []; +function flattenTodoObjects(todoObjects: TodoObject[], topLevelGroup: string): TodoObject[] { + const flattenedObjects: TodoObject[] = []; const flatten = (todoObject: any, sortingKey: string) => { if(typeof todoObject === 'object' && todoObject !== null) { if('id' in todoObject) { @@ -140,12 +156,6 @@ function flattenTodoObjects(todoObjects: TodoObject[], topLevelGroup: string): a } } for (const key in todoObjects) { - if(topLevelGroup) { - flattenedObjects.push({ - group: topLevelGroup, - value: key, - }); - } flatten(todoObjects[key], topLevelGroup); } return flattenedObjects; diff --git a/src/renderer/App.tsx b/src/renderer/App.tsx index 28c432f6..dc6f261b 100644 --- a/src/renderer/App.tsx +++ b/src/renderer/App.tsx @@ -172,6 +172,7 @@ const App = () => { setSearchString={setSearchString} headers={headers} settings={settings} + todoObjects={todoObjects} /> diff --git a/src/renderer/Grid/Grid.tsx b/src/renderer/Grid/Grid.tsx index 3486b3b5..811011ae 100644 --- a/src/renderer/Grid/Grid.tsx +++ b/src/renderer/Grid/Grid.tsx @@ -1,6 +1,8 @@ import React, { KeyboardEvent, memo } from 'react'; import List from '@mui/material/List'; import Row from './Row'; +import Group from './Group'; +import { handleFilterSelect } from '../Shared'; import './Grid.scss'; interface GridComponentProps { @@ -33,6 +35,11 @@ const GridComponent: React.FC = memo(({ const list = document.getElementById('grid'); const totalRowCount = todoObjects?.length || 0; + const groups = new Array; + + const handleButtonClick = (key: string, value: string) => { + handleFilterSelect(key, value, filters, false); + }; const handleKeyUp = (event: KeyboardEvent) => { if(event.key === 'ArrowDown') { @@ -80,24 +87,45 @@ const GridComponent: React.FC = memo(({ } }; - const visibleTodoObjects = todoObjects?.slice(0, visibleRowCount); + const visibleTodoObjects = todoObjects?.filter(todoObject => todoObject.visible !== false); + + if(visibleTodoObjects.length === 0) return null; return ( - {visibleTodoObjects?.map((row, index) => ( - - ))} + {visibleTodoObjects?.map((row, index) => { + let renderGroup = false; + const groupValue = row[settings.sorting[0].value]?.toString() || null, + if (groups.length === 0 || !groups.includes(groupValue)) { + groups.push(groupValue); + renderGroup = true; + } + return ( + + {renderGroup && ( + + )} + + + ); + })} ); + }); export default GridComponent; diff --git a/src/renderer/Grid/Group.tsx b/src/renderer/Grid/Group.tsx index cf02ee4d..86203cab 100644 --- a/src/renderer/Grid/Group.tsx +++ b/src/renderer/Grid/Group.tsx @@ -2,14 +2,12 @@ import React, { memo } from 'react'; import ListItem from '@mui/material/ListItem'; import Button from '@mui/material/Button'; import Divider from '@mui/material/Divider'; - interface GroupProps { value: string; group: string; filters: Filters | null; onClick: Function; } - const Group: React.FC = memo(({ value, group, @@ -17,18 +15,15 @@ const Group: React.FC = memo(({ onClick }) => { const values = value?.split(',') || []; - return ( {values.map((value, index) => { if(!value) { return ; } - const selected: boolean = filters && (filters[group as keyof Filters] || []).some( (filter: Filter) => filter && filter.value === value.trim() ); - return (
{ + p: ({children}) => { + const modifiedChildren = React.Children.map(children, (child) => { - if(children.length > 0) { + if(typeof child === 'object') return child; - let modifiedChild = children; + let modifiedChild = child.split(/(\S+\s*)/).filter(Boolean); - expressions.forEach(({ pattern, type, key }) => { - modifiedChild = reactStringReplace(modifiedChild, pattern, (match, i) => { - const selected = filters && type !== null && (filters[type as keyof Filters] || []).some( - (filter: Filter) => filter.value === match - ); - return ( - - {replacements[type](match, type)} - - ); - }); - }); - - return modifiedChild; + expressions.forEach(({ pattern, type }) => { - } else { - return children; - } - }, - a: ({ children, href }) => { - const match = /([a-zA-Z]+:\/\/\S+)/g.exec(children); - if (match) { - return ( - handleLinkClick(event, match[0])}> - {match[1]} - - ); - } - return handleLinkClick(event, href)}>{children}; - }, + modifiedChild = reactStringReplace(modifiedChild, pattern, (match, i) => { + + const selected = filters && type !== null && (filters[type as keyof Filters] || []).some((filter: Filter) => filter.value === match); + return ( + + {replacements[type](match, type)} + + ); + }); + }); + return modifiedChild; + }); + return modifiedChildren; + }, + a: ({ children, href }) => { + const match = /([a-zA-Z]+:\/\/\S+)/g.exec(children); + if (match) { + return ( + handleLinkClick(event, children)}> + {children} + + ); + } + return handleLinkClick(event, href)}>{children}; + }, }; return {todoObject.body}; diff --git a/src/renderer/Grid/Row.tsx b/src/renderer/Grid/Row.tsx index 18b08c8d..86a68900 100644 --- a/src/renderer/Grid/Row.tsx +++ b/src/renderer/Grid/Row.tsx @@ -8,9 +8,7 @@ import CircleUnchecked from '@mui/icons-material/RadioButtonUnchecked'; import VisibilityOffIcon from '@mui/icons-material/VisibilityOff'; import OpenInNewIcon from '@mui/icons-material/OpenInNew'; import { withTranslation, WithTranslation } from 'react-i18next'; -import Group from './Group'; import Elements from './Elements'; -import { handleFilterSelect } from '../Shared'; import RendererComponent from './Renderer'; import './Row.scss'; import { i18n } from '../Settings/LanguageSelector'; @@ -25,6 +23,7 @@ interface Props extends WithTranslation { setContextMenu: React.Dispatch>; setPromptItem: React.Dispatch>; settings: Settings, + handleButtonClick: Function; t: typeof i18n.t; } @@ -36,12 +35,9 @@ const Row: React.FC = memo(({ setContextMenu, setPromptItem, settings, + handleButtonClick, t, }) => { - - const handleButtonClick = (key: string, value: string) => { - handleFilterSelect(key, value, filters, false); - }; const handleConfirmDelete = () => { if(todoObject) ipcRenderer.send('removeLineFromFile', todoObject?.id); @@ -114,17 +110,6 @@ const Row: React.FC = memo(({ } }; - if(todoObject.group) { - return ( - - ); - } - return ( <> = memo(({ {todoObject.hidden && } - {/*{}*/} - = memo(({ handleButtonClick={handleButtonClick} /> - {/*{ marked.parseInline(todoObject.body) }*/} - - {/**/} ); diff --git a/src/renderer/Header/FileTabs.scss b/src/renderer/Header/FileTabs.scss index 5980140b..bdc850ca 100644 --- a/src/renderer/Header/FileTabs.scss +++ b/src/renderer/Header/FileTabs.scss @@ -7,7 +7,7 @@ button[role=tab] { min-width: 8.5em; min-height: auto; - padding: 0.85em 2em; + padding: 0.85em 1em; text-transform: lowercase; display: flex; flex-direction: row; diff --git a/src/renderer/Header/Search/Input.scss b/src/renderer/Header/Search/Input.scss index 2d7c0a52..498a96c5 100644 --- a/src/renderer/Header/Search/Input.scss +++ b/src/renderer/Header/Search/Input.scss @@ -1,13 +1,21 @@ +@import "../../Variables.scss"; + .MuiAutocomplete-root { .MuiInputBase-root { padding-right: 0.5em!important; } .MuiButtonBase-root { + border: none; svg.invert { transform: rotate(180deg); } &.addAsTodo { margin-right: 0.5em; } + &.Mui-focusVisible { + svg { + color: $blue; + } + } } } \ No newline at end of file diff --git a/src/renderer/Header/Search/Input.tsx b/src/renderer/Header/Search/Input.tsx index 886dd512..965829f6 100644 --- a/src/renderer/Header/Search/Input.tsx +++ b/src/renderer/Header/Search/Input.tsx @@ -4,7 +4,6 @@ import IconButton from '@mui/material/IconButton'; import InputAdornment from '@mui/material/InputAdornment'; import ExpandMoreIcon from '@mui/icons-material/ExpandMore'; import Button from '@mui/material/Button'; -import AddIcon from '@mui/icons-material/Add'; import ClearIcon from '@mui/icons-material/Clear'; import HelpOutlineIcon from '@mui/icons-material/HelpOutline'; import { WithTranslation, withTranslation } from 'react-i18next'; @@ -99,7 +98,7 @@ const InputComponent: React.FC = memo(({ ), endAdornment: ( - {searchString && searchString.length > 0 && ( + {searchString && searchString.length > 0 && !searchFilters.some(filter => filter.label === searchString) && ( )} ipcRenderer.send('openInBrowser', 'https://github.com/ransome1/sleek/wiki/Filter-Expressions-for-Advanced-Search')} data-testid="header-search-clear-icon"> - setSearchString('')} data-testid="header-search-clear-icon"> - - + {searchString && searchString.length > 0 && ( + setSearchString('')} data-testid="header-search-clear-icon"> + + + )} ), }} diff --git a/src/renderer/SplashScreen.tsx b/src/renderer/SplashScreen.tsx index eccd489d..1485d414 100644 --- a/src/renderer/SplashScreen.tsx +++ b/src/renderer/SplashScreen.tsx @@ -12,6 +12,7 @@ interface SplashScreenProps extends WithTranslation { setDialogOpen: React.Dispatch>; headers: HeadersObject | null; settings: Settings; + todoObjects: TodoObject[]; t: typeof i18n.t; } @@ -22,6 +23,7 @@ const SplashScreen: FC = memo(({ setDialogOpen, headers, settings, + todoObjects, t, }) => { const handleCreateTodo = () => { diff --git a/src/types.tsx b/src/types.tsx index 5e8f7b86..ffba1664 100644 --- a/src/types.tsx +++ b/src/types.tsx @@ -109,9 +109,8 @@ declare global { hidden: boolean; pm: number | string | null; string: string | null; - group?: string; - value?: string; notify?: boolean; + visible: boolean; } interface TranslatedAttributes { diff --git a/yarn.lock b/yarn.lock index 9b38d898..c9bca49a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -262,7 +262,7 @@ chalk "^2.4.2" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.0", "@babel/parser@^7.23.6", "@babel/parser@^7.23.9": +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.0", "@babel/parser@^7.23.9": version "7.23.9" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.9.tgz#7b903b6149b0f8fa7ad564af646c4c38a77fc44b" integrity sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA== @@ -1005,7 +1005,7 @@ resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== -"@babel/runtime@^7.12.5", "@babel/runtime@^7.15.4", "@babel/runtime@^7.18.3", "@babel/runtime@^7.20.6", "@babel/runtime@^7.21.0", "@babel/runtime@^7.22.5", "@babel/runtime@^7.23.2", "@babel/runtime@^7.23.9", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": +"@babel/runtime@^7.12.5", "@babel/runtime@^7.15.4", "@babel/runtime@^7.18.3", "@babel/runtime@^7.20.6", "@babel/runtime@^7.21.0", "@babel/runtime@^7.23.2", "@babel/runtime@^7.23.9", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": version "7.23.9" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.9.tgz#47791a15e4603bb5f905bc0753801cf21d6345f7" integrity sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw== @@ -1709,80 +1709,80 @@ lodash "^4.17.15" tmp-promise "^3.0.2" -"@mui/base@5.0.0-beta.34", "@mui/base@^5.0.0-beta.22": - version "5.0.0-beta.34" - resolved "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-beta.34.tgz#44b0f203250a6e3b2d810f37c9720d114182abd0" - integrity sha512-e2mbTGTtReD/y5RFwnhkl1Tgl3XwgJhY040IlfkTVaU9f5LWrVhEnpRsYXu3B1CtLrwiWs4cu7aMHV9yRd4jpw== +"@mui/base@5.0.0-beta.36", "@mui/base@^5.0.0-beta.22": + version "5.0.0-beta.36" + resolved "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-beta.36.tgz#29ca2de9d387f6d3943b6f18a84415c43e5f206c" + integrity sha512-6A8fYiXgjqTO6pgj31Hc8wm1M3rFYCxDRh09dBVk0L0W4cb2lnurRJa3cAyic6hHY+we1S58OdGYRbKmOsDpGQ== dependencies: "@babel/runtime" "^7.23.9" "@floating-ui/react-dom" "^2.0.8" "@mui/types" "^7.2.13" - "@mui/utils" "^5.15.7" + "@mui/utils" "^5.15.9" "@popperjs/core" "^2.11.8" clsx "^2.1.0" prop-types "^15.8.1" -"@mui/core-downloads-tracker@^5.15.7": - version "5.15.7" - resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.15.7.tgz#78a0e98ecbd84906bf7339f780e8f41c5d505754" - integrity sha512-AuF+Wo2Mp/edaO6vJnWjg+gj4tzEz5ChMZnAQpc22DXpSvM8ddgGcZvM7D7F99pIBoSv8ub+Iz0viL+yuGVmhg== +"@mui/core-downloads-tracker@^5.15.9": + version "5.15.9" + resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.15.9.tgz#c29138c70cc0fb49cd909c29beef3fb0647e5af7" + integrity sha512-CSDpVevGaxsvMkiYBZ8ztki1z/eT0mM2MqUT21eCRiMz3DU4zQw5rXG5ML/yTuJF9Z2Wv9SliIeaRAuSR/9Nig== "@mui/icons-material@^5.15.7": - version "5.15.7" - resolved "https://registry.yarnpkg.com/@mui/icons-material/-/icons-material-5.15.7.tgz#6b1cc370894f505b756fa1aa1cbd25b5890d54d5" - integrity sha512-EDAc8TVJGIA/imAvR3u4nANl2W5h3QeHieu2gK7Ypez/nIA55p08tHjf8UrMXEpxCAvfZO6piY9S9uaxETdicA== + version "5.15.9" + resolved "https://registry.yarnpkg.com/@mui/icons-material/-/icons-material-5.15.9.tgz#8d11839d35cf3cfd62df40934d8e9485f66be620" + integrity sha512-6tLQoM6RylQuDnHR6qQay0G0pJgKmrhn5MIm0IfrwtmSO8eV5iUFR+nNUTXsWa24gt7ZbIKnJ962UlYaeXa4bg== dependencies: "@babel/runtime" "^7.23.9" "@mui/material@^5.0.0", "@mui/material@^5.15.7": - version "5.15.7" - resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.15.7.tgz#8496d8a2b9f0409a0f82b93f819a48f6f82bc12f" - integrity sha512-l6+AiKZH3iOJmZCnlpel8ghYQe9Lq0BEuKP8fGj3g5xz4arO9GydqYAtLPMvuHKtArj8lJGNuT2yHYxmejincA== + version "5.15.9" + resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.15.9.tgz#4d6a4aee002c6a2d0e174e08c6d23245c18dd828" + integrity sha512-kbHTZDcFmN8GHKzRpImUEl9AJfFWI/0Kl+DsYVT3kHzQWUuHiKm3uHXR1RCOqr7H8IgHFPdbxItmCSQ/mj7zgg== dependencies: "@babel/runtime" "^7.23.9" - "@mui/base" "5.0.0-beta.34" - "@mui/core-downloads-tracker" "^5.15.7" - "@mui/system" "^5.15.7" + "@mui/base" "5.0.0-beta.36" + "@mui/core-downloads-tracker" "^5.15.9" + "@mui/system" "^5.15.9" "@mui/types" "^7.2.13" - "@mui/utils" "^5.15.7" + "@mui/utils" "^5.15.9" "@types/react-transition-group" "^4.4.10" clsx "^2.1.0" - csstype "^3.1.2" + csstype "^3.1.3" prop-types "^15.8.1" react-is "^18.2.0" react-transition-group "^4.4.5" -"@mui/private-theming@^5.15.7": - version "5.15.7" - resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.15.7.tgz#a1b2aeac22ac2b71cd18f7ac61bb10dd6adfe173" - integrity sha512-bcEeeXm7GyQCQvN9dwo8htGv8/6tP05p0i02Z7GXm5EoDPlBcqTNGugsjNLoGq6B0SsdyanjJGw0Jw00o1yAOA== +"@mui/private-theming@^5.15.9": + version "5.15.9" + resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.15.9.tgz#3ea3514ed2f6bf68541dbe9206665a82cd89cb01" + integrity sha512-/aMJlDOxOTAXyp4F2rIukW1O0anodAMCkv1DfBh/z9vaKHY3bd5fFf42wmP+0GRmwMinC5aWPpNfHXOED1fEtg== dependencies: "@babel/runtime" "^7.23.9" - "@mui/utils" "^5.15.7" + "@mui/utils" "^5.15.9" prop-types "^15.8.1" -"@mui/styled-engine@^5.15.7": - version "5.15.7" - resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.15.7.tgz#011fd98d57af927b1a744efc0186089bd0add57b" - integrity sha512-ixSdslOjK1kzdGcxqj7O3d14By/LPQ7EWknsViQ8RaeT863EAQemS+zvUJDTcOpkfJh6q6gPnYMIb2TJCs9eWA== +"@mui/styled-engine@^5.15.9": + version "5.15.9" + resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.15.9.tgz#444605039ec3fe456bdd5d5cb94330183be62b91" + integrity sha512-NRKtYkL5PZDH7dEmaLEIiipd3mxNnQSO+Yo8rFNBNptY8wzQnQ+VjayTq39qH7Sast5cwHKYFusUrQyD+SS4Og== dependencies: "@babel/runtime" "^7.23.9" "@emotion/cache" "^11.11.0" - csstype "^3.1.2" + csstype "^3.1.3" prop-types "^15.8.1" -"@mui/system@^5.15.7": - version "5.15.7" - resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.15.7.tgz#5ded95c14c78e0a2b5cb9a8643c6fc05c621be7f" - integrity sha512-9alZ4/dLxsTwUOdqakgzxiL5YW6ntqj0CfzWImgWnBMTZhgGcPsbYpBLniNkkk7/jptma4/bykWXHwju/ls/pg== +"@mui/system@^5.15.7", "@mui/system@^5.15.9": + version "5.15.9" + resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.15.9.tgz#8a34ac0ab133af2550cc7ab980a35174142fd265" + integrity sha512-SxkaaZ8jsnIJ77bBXttfG//LUf6nTfOcaOuIgItqfHv60ZCQy/Hu7moaob35kBb+guxVJnoSZ+7vQJrA/E7pKg== dependencies: "@babel/runtime" "^7.23.9" - "@mui/private-theming" "^5.15.7" - "@mui/styled-engine" "^5.15.7" + "@mui/private-theming" "^5.15.9" + "@mui/styled-engine" "^5.15.9" "@mui/types" "^7.2.13" - "@mui/utils" "^5.15.7" + "@mui/utils" "^5.15.9" clsx "^2.1.0" - csstype "^3.1.2" + csstype "^3.1.3" prop-types "^15.8.1" "@mui/types@^7.2.13": @@ -1790,10 +1790,10 @@ resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.13.tgz#d1584912942f9dc042441ecc2d1452be39c666b8" integrity sha512-qP9OgacN62s+l8rdDhSFRe05HWtLLJ5TGclC9I1+tQngbssu0m2dmFZs+Px53AcOs9fD7TbYd4gc9AXzVqO/+g== -"@mui/utils@^5.14.16", "@mui/utils@^5.15.7": - version "5.15.7" - resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.15.7.tgz#a71e08c4a2f5ba9c8a07106083ebf1b4c864ebb1" - integrity sha512-8qhsxQRNV6aEOjjSk6YQIYJxkF5klhj8oG1FEEU4z6HV78TjNqRxMP08QGcdsibEbez+nihAaz6vu83b4XqbAg== +"@mui/utils@^5.14.16", "@mui/utils@^5.15.9": + version "5.15.9" + resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.15.9.tgz#2bdf925e274d87cbe90c14eb52d0835318205e86" + integrity sha512-yDYfr61bCYUz1QtwvpqYy/3687Z8/nS4zv7lv/ih/6ZFGMl1iolEvxRmR84v2lOYxlds+kq1IVYbXxDKh8Z9sg== dependencies: "@babel/runtime" "^7.23.9" "@types/prop-types" "^15.7.11" @@ -2022,9 +2022,9 @@ pretty-format "^27.0.2" "@testing-library/jest-dom@^6.4.1": - version "6.4.1" - resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-6.4.1.tgz#1b0cc222c3a59f9cba2cc7947dc5fadc01210a37" - integrity sha512-Z7qMM3J2Zw5H/nC2/5CYx5YcuaD56JmDFKNIozZ89VIo6o6Y9FMhssics4e2madEKYDNEpZz3+glPGz0yWMOag== + version "6.4.2" + resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-6.4.2.tgz#38949f6b63722900e2d75ba3c6d9bf8cffb3300e" + integrity sha512-CzqH0AFymEMG48CpzXFriYYkOjk6ZGPCLMhW9e9jg3KMCn5OfJecF8GtGW7yGfR/IgCe3SX8BSwjdzI6BBbZLw== dependencies: "@adobe/css-tools" "^4.3.2" "@babel/runtime" "^7.9.2" @@ -2188,9 +2188,9 @@ integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== "@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.33": - version "4.17.42" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.42.tgz#2a276952acc73d1b8dc63fd4210647abbc553a71" - integrity sha512-ckM3jm2bf/MfB3+spLPWYPUH573plBFwpOhqQ2WottxYV85j1HQFlxmnTq57X1yHY9awZPig06hL/cLMgNWHIQ== + version "4.17.43" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.43.tgz#10d8444be560cb789c4735aea5eac6e5af45df54" + integrity sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg== dependencies: "@types/node" "*" "@types/qs" "*" @@ -2397,9 +2397,9 @@ "@types/react" "*" "@types/react-dom@^18.0.0", "@types/react-dom@^18.2.4": - version "18.2.18" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.18.tgz#16946e6cd43971256d874bc3d0a72074bb8571dd" - integrity sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw== + version "18.2.19" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.19.tgz#b84b7c30c635a6c26c6a6dfbb599b2da9788be58" + integrity sha512-aZvQL6uUbIJpjZk4U8JZGbau9KDeAwMfmhyWorxgBkqDIEf6ROjRozcmPIicqsUwPUjbkDfHKgGee1Lq65APcA== dependencies: "@types/react" "*" @@ -2428,9 +2428,9 @@ "@types/react" "*" "@types/react@*", "@types/react@^18.2.52": - version "18.2.52" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.52.tgz#83ca0c62bd1ff31464dac4cf1937e55c78f77aa2" - integrity sha512-E/YjWh3tH+qsLKaUzgpZb5AY0ChVa+ZJzF7ogehVILrFpdQk6nC/WXOv0bfFEABbXbgNxLBGU7IIZByPKb6eBw== + version "18.2.55" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.55.tgz#38141821b7084404b5013742bc4ae08e44da7a67" + integrity sha512-Y2Tz5P4yz23brwm2d7jNon39qoAtMMmalOQv6+fEFt1mT+FcM3D841wDpoUvFXhaYenuROCy3FZYqdTjM7qVyA== dependencies: "@types/prop-types" "*" "@types/scheduler" "*" @@ -2510,9 +2510,9 @@ integrity sha512-MLx9Z+9lGzwEuW16ubGeNkpBDE84RpB/NyGgg6z2BTpWzKkGU451cAY3UkUzZEp72RHF585oJ3V8JVNqIplcAQ== "@types/webpack-bundle-analyzer@^4.6.0": - version "4.6.3" - resolved "https://registry.yarnpkg.com/@types/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.6.3.tgz#53c26f21134ca2e5049fd2af4f2ffbf8dfe87b4f" - integrity sha512-XYU3m7oRb1tlE8YhwkKLi1xba2buNB9V4VkQtOVTfJuUm/413pE/UCMVcPDFFBwpzGkr9y1WbSEvdPjKVPt0gw== + version "4.7.0" + resolved "https://registry.yarnpkg.com/@types/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.7.0.tgz#fe199e724ce3d38705f6f1ba4d62429b7c360541" + integrity sha512-c5i2ThslSNSG8W891BRvOd/RoCjI2zwph8maD22b1adtSns20j+0azDDMCK06DiVrzTgnwiDl5Ntmu1YRJw8Sg== dependencies: "@types/node" "*" tapable "^2.2.0" @@ -2549,52 +2549,52 @@ resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== -"@vue/compiler-core@3.4.15": - version "3.4.15" - resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.4.15.tgz#be20d1bbe19626052500b48969302cb6f396d36e" - integrity sha512-XcJQVOaxTKCnth1vCxEChteGuwG6wqnUHxAm1DO3gCz0+uXKaJNx8/digSz4dLALCy8n2lKq24jSUs8segoqIw== +"@vue/compiler-core@3.4.16": + version "3.4.16" + resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.4.16.tgz#366805bb40d23ec82d4c352b78227a3d58293a30" + integrity sha512-HXgyy7gen4FNJS8Hz2q/NNBEdzD3QInhDTWaP2/mS0TlmV9CnjmXip7TZ0ROYiQM4FgXZCCJvh74yDikFkPpkQ== dependencies: - "@babel/parser" "^7.23.6" - "@vue/shared" "3.4.15" + "@babel/parser" "^7.23.9" + "@vue/shared" "3.4.16" entities "^4.5.0" estree-walker "^2.0.2" source-map-js "^1.0.2" -"@vue/compiler-dom@3.4.15": - version "3.4.15" - resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.4.15.tgz#753f5ed55f78d33dff04701fad4d76ff0cf81ee5" - integrity sha512-wox0aasVV74zoXyblarOM3AZQz/Z+OunYcIHe1OsGclCHt8RsRm04DObjefaI82u6XDzv+qGWZ24tIsRAIi5MQ== +"@vue/compiler-dom@3.4.16": + version "3.4.16" + resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.4.16.tgz#f3c0d8062a5cbc3bba9a83c16237483622a2c998" + integrity sha512-lvs9ankPzLEuIC5aB72ntLUcwVGmgY7ASkXDRvo9+lUMWOOCqnAmM/64AZPeVAZ4EnjocCE40OUN+ZboNe4ygA== dependencies: - "@vue/compiler-core" "3.4.15" - "@vue/shared" "3.4.15" + "@vue/compiler-core" "3.4.16" + "@vue/shared" "3.4.16" "@vue/compiler-sfc@^3.3.4": - version "3.4.15" - resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.4.15.tgz#4e5811e681955fcec886cebbec483f6ae463a64b" - integrity sha512-LCn5M6QpkpFsh3GQvs2mJUOAlBQcCco8D60Bcqmf3O3w5a+KWS5GvYbrrJBkgvL1BDnTp+e8q0lXCLgHhKguBA== - dependencies: - "@babel/parser" "^7.23.6" - "@vue/compiler-core" "3.4.15" - "@vue/compiler-dom" "3.4.15" - "@vue/compiler-ssr" "3.4.15" - "@vue/shared" "3.4.15" + version "3.4.16" + resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.4.16.tgz#77d23ecebff67c3bef58f04b6b7a9ba11605e9fa" + integrity sha512-zVYC42Q/NmbB4nigGcQeIvsLpBlq6K9wJP5jTFCqfpXWnkodxfLFQHDu2GntZ7yKOgwAjxuvLwrPx+I6LPL2vg== + dependencies: + "@babel/parser" "^7.23.9" + "@vue/compiler-core" "3.4.16" + "@vue/compiler-dom" "3.4.16" + "@vue/compiler-ssr" "3.4.16" + "@vue/shared" "3.4.16" estree-walker "^2.0.2" - magic-string "^0.30.5" + magic-string "^0.30.6" postcss "^8.4.33" source-map-js "^1.0.2" -"@vue/compiler-ssr@3.4.15": - version "3.4.15" - resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.4.15.tgz#a910a5b89ba4f0a776e40b63d69bdae2f50616cf" - integrity sha512-1jdeQyiGznr8gjFDadVmOJqZiLNSsMa5ZgqavkPZ8O2wjHv0tVuAEsw5hTdUoUW4232vpBbL/wJhzVW/JwY1Uw== +"@vue/compiler-ssr@3.4.16": + version "3.4.16" + resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.4.16.tgz#f1ffcfb6ce2d5d7dc18ed686909489c944657fda" + integrity sha512-1kNF+fHdEB+5aTcPZ0hh/gzi9Ezq5IBO4bl/hV4Dg4fub6t12W6VGlsERtvdUaEowL35M3pojv0hOvLaq0FbdQ== dependencies: - "@vue/compiler-dom" "3.4.15" - "@vue/shared" "3.4.15" + "@vue/compiler-dom" "3.4.16" + "@vue/shared" "3.4.16" -"@vue/shared@3.4.15": - version "3.4.15" - resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.4.15.tgz#e7d2ea050c667480cb5e1a6df2ac13bcd03a8f30" - integrity sha512-KzfPTxVaWfB+eGcGdbSf4CWdaXcGDqckoeXUh7SB3fZdEtzPCK2Vq9B/lRRL3yutax/LWITz+SwvgyOxz5V75g== +"@vue/shared@3.4.16": + version "3.4.16" + resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.4.16.tgz#003eb5e759adea5aa1d5d51625ab10d7be437b26" + integrity sha512-HKCjeaxR+R95dCw1BDaytcHdlzZj9lxj7RlFnxWtcKq670t8oSeMsbPlkzkNc2V6IUzHaMtUxdBcdREAhb+7NA== "@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5": version "1.11.6" @@ -2992,12 +2992,12 @@ aria-query@^5.0.0: dequal "^2.0.3" array-buffer-byte-length@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead" - integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== + version "1.0.1" + resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz#1e5583ec16763540a27ae52eed99ff899223568f" + integrity sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg== dependencies: - call-bind "^1.0.2" - is-array-buffer "^3.0.1" + call-bind "^1.0.5" + is-array-buffer "^3.0.4" array-differ@^3.0.0: version "3.0.0" @@ -3390,14 +3390,15 @@ cacheable-request@^7.0.2: normalize-url "^6.0.1" responselike "^2.0.0" -call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.5.tgz#6fa2b7845ce0ea49bf4d8b9ef64727a2c2e2e513" - integrity sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ== +call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.6.tgz#6c46675fc7a5e9de82d75a233d586c8b7ac0d931" + integrity sha512-Mj50FLHtlsoVfRfnHaZvyrooHcrlceNZdL/QBvJJVd9Ta55qCQK0gs4ss2oZDeV9zFCs6ewzYgVE5yfVmfFpVg== dependencies: + es-errors "^1.3.0" function-bind "^1.1.2" - get-intrinsic "^1.2.1" - set-function-length "^1.1.1" + get-intrinsic "^1.2.3" + set-function-length "^1.2.0" callsite@^1.0.0: version "1.0.0" @@ -3438,9 +3439,9 @@ caniuse-api@^3.0.0: lodash.uniq "^4.5.0" caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001580: - version "1.0.30001583" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001583.tgz#abb2970cc370801dc7e27bf290509dc132cfa390" - integrity sha512-acWTYaha8xfhA/Du/z4sNZjHUWjkiuoAi2LM+T/aL+kemKQgPT1xBb/YKjlQ0Qo8gvbHsGNplrEJ+9G3gL7i4Q== + version "1.0.30001585" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001585.tgz#0b4e848d84919c783b2a41c13f7de8ce96744401" + integrity sha512-yr2BWR1yLXQ8fMpdS/4ZZXpseBgE7o4g41x3a6AJOqZuOi+iE/WdJYAuZ6Y95i4Ohd2Y+9MzIWRR+uGABH4s3Q== ccount@^2.0.0: version "2.0.1" @@ -3498,9 +3499,9 @@ character-reference-invalid@^2.0.0: integrity sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw== "chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.3: - version "3.5.3" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" - integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + version "3.6.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" + integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== dependencies: anymatch "~3.1.2" braces "~3.0.2" @@ -4067,7 +4068,7 @@ cssstyle@^2.3.0: dependencies: cssom "~0.3.6" -csstype@^3.0.2, csstype@^3.1.2: +csstype@^3.0.2, csstype@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== @@ -4191,14 +4192,15 @@ defer-to-connect@^2.0.0: resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== -define-data-property@^1.0.1, define-data-property@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.1.tgz#c35f7cd0ab09883480d12ac5cb213715587800b3" - integrity sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ== +define-data-property@^1.0.1, define-data-property@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.2.tgz#f3c33b4f0102360cd7c0f5f28700f5678510b63a" + integrity sha512-SRtsSqsDbgpJBbW3pABMCOt6rQyeM8s8RiyeSN8jYG8sYmt/kGJejbydttUsnDs1tadr19tvhT4ShwMyoqAm4g== dependencies: - get-intrinsic "^1.2.1" + es-errors "^1.3.0" + get-intrinsic "^1.2.2" gopd "^1.0.1" - has-property-descriptors "^1.0.0" + has-property-descriptors "^1.0.1" define-lazy-prop@^2.0.0: version "2.0.0" @@ -4549,14 +4551,14 @@ electron-store@^8.1.0: type-fest "^2.17.0" electron-to-chromium@^1.4.648: - version "1.4.656" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.656.tgz#b374fb7cab9b782a5bc967c0ce0e19826186b9c9" - integrity sha512-9AQB5eFTHyR3Gvt2t/NwR0le2jBSUNwCnMbUCejFWHD+so4tH40/dRLgoE+jxlPeWS43XJewyvCv+I8LPMl49Q== + version "1.4.661" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.661.tgz#b28d63468b06e75610ed2b0f8e5f5f669a57bd91" + integrity sha512-AFg4wDHSOk5F+zA8aR+SVIOabu7m0e7BiJnigCvPXzIGy731XENw/lmNxTySpVFtkFEy+eyt4oHhh5FF3NjQNw== electron@^28.2.1: - version "28.2.1" - resolved "https://registry.yarnpkg.com/electron/-/electron-28.2.1.tgz#8edf2be24d97160b7eb52b7ce9a2424cf14c0791" - integrity sha512-wlzXf+OvOiVlBf9dcSeMMf7Q+N6DG+wtgFbMK0sA/JpIJcdosRbLMQwLg/LTwNVKIbmayqFLDp4FmmFkEMhbYA== + version "28.2.2" + resolved "https://registry.yarnpkg.com/electron/-/electron-28.2.2.tgz#d5aa4a33c00927d83ca893f8726f7c62aad98c41" + integrity sha512-8UcvIGFcjplHdjPFNAHVFg5bS0atDyT3Zx21WwuE4iLfxcAMsyMEOgrQX3im5LibA8srwsUZs7Cx0JAUfcQRpw== dependencies: "@electron/get" "^2.0.0" "@types/node" "^18.11.18" @@ -4658,6 +4660,11 @@ error-stack-parser@^2.0.6: dependencies: stackframe "^1.3.4" +es-errors@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" + integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== + es-get-iterator@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.3.tgz#3ef87523c5d464d41084b2c3c9c214f1199763d6" @@ -4725,9 +4732,9 @@ esbuild@^0.20.0: "@esbuild/win32-x64" "0.20.0" escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + version "3.1.2" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" + integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== escape-html@~1.0.3: version "1.0.3" @@ -5163,11 +5170,12 @@ get-caller-file@^2.0.5: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.2.tgz#281b7622971123e1ef4b3c90fd7539306da93f3b" - integrity sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA== +get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" + integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== dependencies: + es-errors "^1.3.0" function-bind "^1.1.2" has-proto "^1.0.1" has-symbols "^1.0.3" @@ -5713,11 +5721,11 @@ inline-style-parser@0.2.2: integrity sha512-EcKzdTHVe8wFVOGEYXiW9WmJXPjqi1T+234YpJr98RiFYKHV3cdy1+3mkTE+KHTHxFFLH51SfaGOoUdW+v7ViQ== internal-slot@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.6.tgz#37e756098c4911c5e912b8edbf71ed3aa116f930" - integrity sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg== + version "1.0.7" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.7.tgz#c06dcca3ed874249881007b0a5523b172a190802" + integrity sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g== dependencies: - get-intrinsic "^1.2.2" + es-errors "^1.3.0" hasown "^2.0.0" side-channel "^1.0.4" @@ -5762,7 +5770,7 @@ is-arguments@^1.1.1: call-bind "^1.0.2" has-tostringtag "^1.0.0" -is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: +is-array-buffer@^3.0.2, is-array-buffer@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.4.tgz#7a1f92b3d61edd2bc65d24f130530ea93d7fae98" integrity sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw== @@ -6789,10 +6797,10 @@ lz-string@^1.5.0: resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.5.0.tgz#c1ab50f77887b712621201ba9fd4e3a6ed099941" integrity sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ== -magic-string@^0.30.5: - version "0.30.6" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.6.tgz#996e21b42f944e45591a68f0905d6a740a12506c" - integrity sha512-n62qCLbPjNjyo+owKtveQxZFZTBm+Ms6YoGD23Wew6Vw337PElFNifQpknPruVRQV57kVShPnLGo9vWxVhpPvA== +magic-string@^0.30.6: + version "0.30.7" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.7.tgz#0cecd0527d473298679da95a2d7aeb8c64048505" + integrity sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA== dependencies: "@jridgewell/sourcemap-codec" "^1.4.15" @@ -7712,7 +7720,7 @@ object-assign@^4.1.1: resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== -object-inspect@^1.9.0: +object-inspect@^1.13.1: version "1.13.1" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== @@ -8273,18 +8281,18 @@ postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== postcss@^8.4.33: - version "8.4.33" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.33.tgz#1378e859c9f69bf6f638b990a0212f43e2aaa742" - integrity sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg== + version "8.4.35" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.35.tgz#60997775689ce09011edf083a549cea44aabe2f7" + integrity sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA== dependencies: nanoid "^3.3.7" picocolors "^1.0.0" source-map-js "^1.0.2" prettier@*, prettier@^3.1.1: - version "3.2.4" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.2.4.tgz#4723cadeac2ce7c9227de758e5ff9b14e075f283" - integrity sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ== + version "3.2.5" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.2.5.tgz#e52bc3090586e824964a8813b09aba6233b28368" + integrity sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A== pretty-error@^4.0.0: version "4.0.0" @@ -8465,11 +8473,11 @@ react-dom@^18.2.0: scheduler "^0.23.0" react-i18next@^14.0.0: - version "14.0.1" - resolved "https://registry.yarnpkg.com/react-i18next/-/react-i18next-14.0.1.tgz#75351b25be076ad7391360b5a111b59ca87e0b63" - integrity sha512-TMV8hFismBmpMdIehoFHin/okfvgjFhp723RYgIqB4XyhDobVMyukyM3Z8wtTRmajyFMZrBl/OaaXF2P6WjUAw== + version "14.0.5" + resolved "https://registry.yarnpkg.com/react-i18next/-/react-i18next-14.0.5.tgz#5df7b88a3ac8afbef8089ed0d0c27e12b9a1acac" + integrity sha512-5+bQSeEtgJrMBABBL5lO7jPdSNAbeAZ+MlFWDw//7FnVacuVu3l9EeWFzBQvZsKy+cihkbThWOAThEdH8YjGEw== dependencies: - "@babel/runtime" "^7.22.5" + "@babel/runtime" "^7.23.9" html-parse-stringify "^3.0.1" "react-is@^16.12.0 || ^17.0.0 || ^18.0.0", react-is@^18.0.0, react-is@^18.2.0: @@ -8992,9 +9000,9 @@ semver@^6.2.0, semver@^6.3.0, semver@^6.3.1: integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.8, semver@^7.5.3, semver@^7.5.4: - version "7.5.4" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" - integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== + version "7.6.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d" + integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== dependencies: lru-cache "^6.0.0" @@ -9059,14 +9067,15 @@ set-blocking@^2.0.0: resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== -set-function-length@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.0.tgz#2f81dc6c16c7059bda5ab7c82c11f03a515ed8e1" - integrity sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w== +set-function-length@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.1.tgz#47cc5945f2c771e2cf261c6737cf9684a2a5e425" + integrity sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g== dependencies: - define-data-property "^1.1.1" + define-data-property "^1.1.2" + es-errors "^1.3.0" function-bind "^1.1.2" - get-intrinsic "^1.2.2" + get-intrinsic "^1.2.3" gopd "^1.0.1" has-property-descriptors "^1.0.1" @@ -9124,13 +9133,14 @@ shell-quote@^1.8.1: integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + version "1.0.5" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.5.tgz#9a84546599b48909fb6af1211708d23b1946221b" + integrity sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ== dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" + call-bind "^1.0.6" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" + object-inspect "^1.13.1" signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: version "3.0.7" @@ -9657,9 +9667,9 @@ trim-lines@^3.0.0: integrity sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg== trough@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/trough/-/trough-2.1.0.tgz#0f7b511a4fde65a46f18477ab38849b22c554876" - integrity sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g== + version "2.2.0" + resolved "https://registry.yarnpkg.com/trough/-/trough-2.2.0.tgz#94a60bd6bd375c152c1df911a4b11d5b0256f50f" + integrity sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw== truncate-utf8-bytes@^1.0.0: version "1.0.2"