diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index f7a8f5dbb..7106810e7 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,6 +1,8 @@ -PR Checklist: +## Related Issues -- [ ] Link to related issues: #number +closes #number + +## Checklist - [ ] Add changelog entry linking to issue, describe API changes -- [ ] Add tests (optional) -- [ ] (If new feature) add to description / readme +- [ ] Add or update tests if needed +- [ ] Update docs if needed diff --git a/.vscode/settings.json b/.vscode/settings.json index 9a83dfac5..ad03af588 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -21,7 +21,6 @@ "eslint.alwaysShowStatus": true, "eslint.format.enable": true, "eslint.lintTask.enable": true, - "eslint.packageManager": "pnpm", "eslint.quiet": true, "editor.codeActionsOnSave": { "source.fixAll.eslint": "explicit" @@ -32,6 +31,9 @@ "eslint.workingDirectories": [ "./data-browser", "./react", - "./lib" - ] + "./lib", + "./cli", + "./svelte" + ], + "typescript.preferences.preferTypeOnlyAutoImports": true, } diff --git a/browser/CHANGELOG.md b/browser/CHANGELOG.md index 3237aaa78..5d15ee1c2 100644 --- a/browser/CHANGELOG.md +++ b/browser/CHANGELOG.md @@ -12,6 +12,7 @@ This changelog covers all five packages, as they are (for now) updated as a whol - [#842](https://github.com/atomicdata-dev/atomic-server/issues/842) Add media picker for properties with classtype file. - [#850](https://github.com/atomicdata-dev/atomic-server/issues/850) Add drag & drop sorting to ResourceArray inputs. - [#757](https://github.com/atomicdata-dev/atomic-server/issues/757) Add drag & drop sorting to sidebar. +- [#873](https://github.com/atomicdata-dev/atomic-server/issues/873) Add option to allow multiple resources in relation columns (Tables). ### @tomic/lib diff --git a/browser/cli/package.json b/browser/cli/package.json index 740427d7a..f691ad7ea 100644 --- a/browser/cli/package.json +++ b/browser/cli/package.json @@ -7,7 +7,7 @@ "prettier": "3.0.3" }, "devDependencies": { - "typescript": "^4.8" + "typescript": "^5.4.5" }, "description": "", "license": "MIT", diff --git a/browser/data-browser/jest.config.cjs b/browser/data-browser/jest.config.cjs index e5772b151..4d028f454 100644 --- a/browser/data-browser/jest.config.cjs +++ b/browser/data-browser/jest.config.cjs @@ -1,3 +1,4 @@ +/** @type {import('ts-jest').JestConfigWithTsJest} */ module.exports = { roots: ['/src'], testMatch: [ diff --git a/browser/data-browser/package.json b/browser/data-browser/package.json index 0c567c487..48163063b 100644 --- a/browser/data-browser/package.json +++ b/browser/data-browser/package.json @@ -33,7 +33,7 @@ "react-intersection-observer": "^9.4.1", "react-is": "^18", "react-markdown": "^8.0.3", - "react-pdf": "^6.2.2", + "react-pdf": "^8.0.2", "react-router": "^6.9.0", "react-router-dom": "^6.9.0", "react-virtualized-auto-sizer": "^1.0.7", @@ -45,6 +45,7 @@ "yamde": "^1.7.1" }, "devDependencies": { + "vite": "^5.2.10", "@swc/plugin-styled-components": "^1.5.110", "@types/react-pdf": "^6.2.0", "@types/react-window": "^1.8.7", @@ -55,8 +56,10 @@ "types-wm": "^1.1.0", "vite-plugin-pwa": "^0.17.0", "vite-plugin-webfont-dl": "^3.9.1", - "workbox-cli": "^6.4.1" + "workbox-cli": "^6.4.1", + "typescript": "^5.4.5" }, + "type": "module", "homepage": "https://atomicdata.dev/", "husky": { "hooks": { diff --git a/browser/data-browser/src/components/ButtonGroup.tsx b/browser/data-browser/src/components/ButtonGroup.tsx index b442a6766..a8d3f9ecd 100644 --- a/browser/data-browser/src/components/ButtonGroup.tsx +++ b/browser/data-browser/src/components/ButtonGroup.tsx @@ -108,7 +108,9 @@ const Label = styled.label` color: ${p => p.theme.colors.textLight}; cursor: pointer; - transition: background-color 0.1s ease-in-out, color 0.1s ease-in-out; + transition: + background-color 0.1s ease-in-out, + color 0.1s ease-in-out; input:checked + & { background-color: ${p => p.theme.colors.bg1}; diff --git a/browser/data-browser/src/components/Details.tsx b/browser/data-browser/src/components/Details.tsx index bacc9ab0c..46ed6c84a 100644 --- a/browser/data-browser/src/components/Details.tsx +++ b/browser/data-browser/src/components/Details.tsx @@ -95,7 +95,8 @@ const IconButton = styled.button` align-items: center; padding: 0.2rem; visibility: ${props => (props.hide ? 'hidden' : 'visible')}; - transition: transform var(--speed) ease-in-out, + transition: + transform var(--speed) ease-in-out, background-color var(--speed) ease; transform: rotate(${props => (props.turn ? '90deg' : '0deg')}); background-color: transparent; diff --git a/browser/data-browser/src/components/Dialog/index.tsx b/browser/data-browser/src/components/Dialog/index.tsx index f5a35917c..579d980d3 100644 --- a/browser/data-browser/src/components/Dialog/index.tsx +++ b/browser/data-browser/src/components/Dialog/index.tsx @@ -282,13 +282,15 @@ const StyledDialog = styled.dialog<{ $width?: CSS.Property.Width }>` opacity: 0; transform: translateY(5rem); // Use a transition when animating out (for some reason keyframe animations don't work on outgoing dialog). - transition: opacity ${ANIM_SPEED} ease-in-out, + transition: + opacity ${ANIM_SPEED} ease-in-out, transform ${ANIM_SPEED} ease-in-out; &::backdrop { background-color: rgba(0, 0, 0, 0); backdrop-filter: blur(0px); - transition: background-color ${ANIM_SPEED} ease-out, + transition: + background-color ${ANIM_SPEED} ease-out, backdrop-filter ${ANIM_SPEED} ease-out; // Make sure the browser paints the backdrop on another layer so the animation is less expensive. will-change: background-color, backdrop-filter; diff --git a/browser/data-browser/src/components/ExternalLink.tsx b/browser/data-browser/src/components/ExternalLink.tsx index 04f71b6a0..0cb187cbb 100644 --- a/browser/data-browser/src/components/ExternalLink.tsx +++ b/browser/data-browser/src/components/ExternalLink.tsx @@ -54,7 +54,11 @@ const ExternalLinkButton = styled.a` justify-content: center; color: ${props => props.theme.colors.main}; white-space: nowrap; - transition: 0.1s transform, 0.1s background-color, 0.1s box-shadow, 0.1s color; + transition: + 0.1s transform, + 0.1s background-color, + 0.1s box-shadow, + 0.1s color; &:hover, &:focus-within { diff --git a/browser/data-browser/src/components/IconButton/IconButton.tsx b/browser/data-browser/src/components/IconButton/IconButton.tsx index 6ef2aa452..7b1079229 100644 --- a/browser/data-browser/src/components/IconButton/IconButton.tsx +++ b/browser/data-browser/src/components/IconButton/IconButton.tsx @@ -137,7 +137,8 @@ const OutlineIconButton = styled(IconButtonBase)` &:hover, &:focus-visible { color: ${p => p.theme.colors.main}; - box-shadow: 0px 0px 0px 1.5px ${p => p.theme.colors.main}, + box-shadow: + 0px 0px 0px 1.5px ${p => p.theme.colors.main}, ${p => p.theme.boxShadowSoft}; } } diff --git a/browser/data-browser/src/components/InlineFormattedResourceList.tsx b/browser/data-browser/src/components/InlineFormattedResourceList.tsx index fabb5542f..fb6d5a700 100644 --- a/browser/data-browser/src/components/InlineFormattedResourceList.tsx +++ b/browser/data-browser/src/components/InlineFormattedResourceList.tsx @@ -2,6 +2,8 @@ import { ResourceInline } from '../views/ResourceInline'; interface InlineFormattedResourceListProps { subjects: string[]; + /** Optional component to render items instead of an inline resource */ + RenderComp?: React.FC<{ subject: string }>; } const formatter = new Intl.ListFormat('en-GB', { @@ -11,6 +13,7 @@ const formatter = new Intl.ListFormat('en-GB', { export function InlineFormattedResourceList({ subjects, + RenderComp, }: InlineFormattedResourceListProps): JSX.Element { // There are rare cases where a resource array can locally have an undefined value, we filter these out to prevent the formatter from throwing an error. const filteredSubjects = subjects.filter(subject => subject !== undefined); @@ -22,6 +25,10 @@ export function InlineFormattedResourceList({ return value; } + if (RenderComp) { + return ; + } + return ; })} diff --git a/browser/data-browser/src/components/NewCard.tsx b/browser/data-browser/src/components/NewCard.tsx index e15543de3..b3ffbdd43 100644 --- a/browser/data-browser/src/components/NewCard.tsx +++ b/browser/data-browser/src/components/NewCard.tsx @@ -24,7 +24,9 @@ const Thing = styled(GridCard)` width: 100%; font-size: 3rem; color: ${p => p.theme.colors.textLight}; - transition: color 0.1s ease-in-out, font-size 0.1s ease-out, + transition: + color 0.1s ease-in-out, + font-size 0.1s ease-out, border-color 0.1s ease-in-out; &:hover, &:focus { diff --git a/browser/data-browser/src/components/Popover.tsx b/browser/data-browser/src/components/Popover.tsx index e43e4b8c5..93981b245 100644 --- a/browser/data-browser/src/components/Popover.tsx +++ b/browser/data-browser/src/components/Popover.tsx @@ -112,9 +112,8 @@ const Arrow = styled(RadixPopover.Arrow)` fill: ${p => p.theme.colors.bg2}; `; -const PopoverContainerContext = createContext>( - createRef(), -); +const PopoverContainerContext = + createContext>(createRef()); export const PopoverContainer: FC = ({ children }) => { const popoverContainerRef = useRef(null); diff --git a/browser/data-browser/src/components/SideBar/index.tsx b/browser/data-browser/src/components/SideBar/index.tsx index 6cbdf87d3..cd4e7b471 100644 --- a/browser/data-browser/src/components/SideBar/index.tsx +++ b/browser/data-browser/src/components/SideBar/index.tsx @@ -125,7 +125,9 @@ const SideBarStyled = styled.nav.attrs(p => ({ z-index: ${p => p.theme.zIndex.sidebar}; box-sizing: border-box; background: ${p => p.theme.colors.bg}; - transition: opacity 0.3s, left 0.3s; + transition: + opacity 0.3s, + left 0.3s; left: ${p => (p.exposed ? '0' : `calc(var(--width) * -1 + 0.5rem)`)}; /* When the user is hovering, show half opacity */ opacity: ${p => (p.exposed ? 1 : 0)}; diff --git a/browser/data-browser/src/components/TableEditor/ActiveCellIndicator.tsx b/browser/data-browser/src/components/TableEditor/ActiveCellIndicator.tsx index c40039def..59679a100 100644 --- a/browser/data-browser/src/components/TableEditor/ActiveCellIndicator.tsx +++ b/browser/data-browser/src/components/TableEditor/ActiveCellIndicator.tsx @@ -210,7 +210,9 @@ const Indicator = styled.div.attrs(p => ({ border: 2px solid ${p => p.theme.colors.main}; pointer-events: none; will-change: transform, width; - transition: transform var(--speed) ease-out, width var(--speed) ease-out, + transition: + transform var(--speed) ease-out, + width var(--speed) ease-out, height var(--speed) ease-out; z-index: 1; background-color: ${p => diff --git a/browser/data-browser/src/components/TableEditor/Cell.tsx b/browser/data-browser/src/components/TableEditor/Cell.tsx index 6f2239e33..3f1568470 100644 --- a/browser/data-browser/src/components/TableEditor/Cell.tsx +++ b/browser/data-browser/src/components/TableEditor/Cell.tsx @@ -136,7 +136,14 @@ export function Cell({ setCursorMode(CursorMode.Visual); setActiveCell(rowIndex, columnIndex); }, - [setActiveCell, columnIndex, shouldEnterEditMode, cursorMode, isActive], + [ + setActiveCell, + columnIndex, + shouldEnterEditMode, + cursorMode, + isActive, + disabledKeyboardInteractions, + ], ); const handleClick = useCallback(() => { diff --git a/browser/data-browser/src/components/forms/FilePicker/FilePickerDialog.tsx b/browser/data-browser/src/components/forms/FilePicker/FilePickerDialog.tsx index 3f7952a67..49abb37c6 100644 --- a/browser/data-browser/src/components/forms/FilePicker/FilePickerDialog.tsx +++ b/browser/data-browser/src/components/forms/FilePicker/FilePickerDialog.tsx @@ -10,7 +10,7 @@ import { InputStyled, InputWrapper } from '../InputStyles'; import { FaPlus, FaSearch } from 'react-icons/fa'; import { core, server, useServerSearch } from '@tomic/react'; import { styled } from 'styled-components'; -import { FilePickerItem } from './FIlePickerItem'; +import { FilePickerItem } from './FilePickerItem'; import { Button } from '../../Button'; import { Row } from '../../Row'; import { useSettings } from '../../../helpers/AppSettings'; diff --git a/browser/data-browser/src/components/forms/FilePicker/FIlePickerItem.tsx b/browser/data-browser/src/components/forms/FilePicker/FilePickerItem.tsx similarity index 96% rename from browser/data-browser/src/components/forms/FilePicker/FIlePickerItem.tsx rename to browser/data-browser/src/components/forms/FilePicker/FilePickerItem.tsx index 0c47bb7f9..aff2b148a 100644 --- a/browser/data-browser/src/components/forms/FilePicker/FIlePickerItem.tsx +++ b/browser/data-browser/src/components/forms/FilePicker/FilePickerItem.tsx @@ -41,7 +41,9 @@ const ItemCard = styled.div` touch-action: none; pointer-events: none; user-select: none; - transition: border 0.1s ease-in-out, box-shadow 0.1s ease-in-out; + transition: + border 0.1s ease-in-out, + box-shadow 0.1s ease-in-out; `; const ItemWrapper = styled.button` diff --git a/browser/data-browser/src/components/forms/NewForm/CustomCreateActions/CustomForms/NewDriveDialog.tsx b/browser/data-browser/src/components/forms/NewForm/CustomCreateActions/CustomForms/NewDriveDialog.tsx index 5fd049811..32a83aef9 100644 --- a/browser/data-browser/src/components/forms/NewForm/CustomCreateActions/CustomForms/NewDriveDialog.tsx +++ b/browser/data-browser/src/components/forms/NewForm/CustomCreateActions/CustomForms/NewDriveDialog.tsx @@ -63,8 +63,8 @@ export const NewDriveDialog: FC = ({ parent: resource.subject, propVals: { [core.properties.shortname]: ontologyName, - [core.properties - .description]: `Default ontology for the ${name} drive`, + [core.properties.description]: + `Default ontology for the ${name} drive`, [core.properties.classes]: [], [core.properties.properties]: [], [core.properties.instances]: [], diff --git a/browser/data-browser/src/components/forms/NewForm/CustomCreateActions/CustomForms/NewTableDialog.tsx b/browser/data-browser/src/components/forms/NewForm/CustomCreateActions/CustomForms/NewTableDialog.tsx index 03d70258f..7503981e7 100644 --- a/browser/data-browser/src/components/forms/NewForm/CustomCreateActions/CustomForms/NewTableDialog.tsx +++ b/browser/data-browser/src/components/forms/NewForm/CustomCreateActions/CustomForms/NewTableDialog.tsx @@ -29,9 +29,8 @@ export const NewTableDialog: FC = ({ onClose, }) => { const store = useStore(); - const [useExistingClass, setUseExistingClass] = useState( - !!initialExistingClass, - ); + const [useExistingClass, setUseExistingClass] = + useState(!!initialExistingClass); const [existingClass, setExistingClass] = useState( initialExistingClass, ); @@ -52,8 +51,8 @@ export const NewTableDialog: FC = ({ isA: core.classes.class, propVals: { [core.properties.shortname]: stringToSlug(name), - [core.properties - .description]: `Represents a row in the ${name} table`, + [core.properties.description]: + `Represents a row in the ${name} table`, [core.properties.recommends]: [core.properties.name], }, }); diff --git a/browser/data-browser/src/components/forms/SearchBox/SearchBox.tsx b/browser/data-browser/src/components/forms/SearchBox/SearchBox.tsx index c3c90d3c8..4a75a19ff 100644 --- a/browser/data-browser/src/components/forms/SearchBox/SearchBox.tsx +++ b/browser/data-browser/src/components/forms/SearchBox/SearchBox.tsx @@ -129,16 +129,17 @@ export function SearchBox({ const openLink = !value || selectedResource.error ? '#' - : constructOpenURL(selectedResource.getSubject()); + : constructOpenURL(selectedResource.subject); - const navigateToSelectedResource: MouseEventHandler = - e => { - e.preventDefault(); - navigate(openLink); - }; + const navigateToSelectedResource: MouseEventHandler< + HTMLAnchorElement + > = e => { + e.preventDefault(); + navigate(openLink); + }; const title = selectedResource.error - ? selectedResource.getSubject() + ? selectedResource.subject : selectedResource.title; return ( diff --git a/browser/data-browser/src/views/Card/ResourceCardTitle.tsx b/browser/data-browser/src/views/Card/ResourceCardTitle.tsx index e812c3732..25cf4fc0e 100644 --- a/browser/data-browser/src/views/Card/ResourceCardTitle.tsx +++ b/browser/data-browser/src/views/Card/ResourceCardTitle.tsx @@ -11,21 +11,22 @@ interface ResourceCardTitleProps { resource: Resource; } -export const ResourceCardTitle: FC> = - ({ resource, children }) => { - const [isA] = useArray(resource, core.properties.isA); - const Icon = getIconForClass(isA[0]); +export const ResourceCardTitle: FC< + PropsWithChildren +> = ({ resource, children }) => { + const [isA] = useArray(resource, core.properties.isA); + const Icon = getIconForClass(isA[0]); - return ( - - - - {resource.title} - - {children} - - ); - }; + return ( + + + + {resource.title} + + {children} + + ); +}; const Title = styled.h2` font-size: 1.4rem; diff --git a/browser/data-browser/src/views/ClassPage.tsx b/browser/data-browser/src/views/ClassPage.tsx index 74ef9839d..450258bc5 100644 --- a/browser/data-browser/src/views/ClassPage.tsx +++ b/browser/data-browser/src/views/ClassPage.tsx @@ -1,13 +1,6 @@ -import { - classToTypescriptDefinition, - properties, - useStore, -} from '@tomic/react'; -import { useState } from 'react'; +import { core } from '@tomic/react'; import AllProps from '../components/AllProps'; -import { Button } from '../components/Button'; import { ClassDetail } from '../components/ClassDetail'; -import { CodeBlock } from '../components/CodeBlock'; import { ContainerNarrow } from '../components/Containers'; import { ValueForm } from '../components/forms/ValueForm'; import { NewInstanceButton } from '../components/NewInstanceButton'; @@ -21,14 +14,14 @@ import { defaultHiddenProps } from './ResourcePageDefault'; * definition export. */ export function ClassPage({ resource }: ResourcePageProps) { - const [tsDef, setTSdef] = useState(undefined); - const store = useStore(); - return ( - + <ClassDetail resource={resource} /> - <ValueForm resource={resource} propertyURL={properties.description} /> + <ValueForm + resource={resource} + propertyURL={core.properties.description} + /> <Column> <AllProps resource={resource} @@ -37,18 +30,9 @@ export function ClassPage({ resource }: ResourcePageProps) { columns /> <Row> - <NewInstanceButton icon={true} klass={resource.getSubject()} /> - <Button - subtle - onClick={async () => - setTSdef(await classToTypescriptDefinition(resource, store)) - } - > - typescript interface - </Button> + <NewInstanceButton icon={true} klass={resource.subject} /> </Row> </Column> - {tsDef && <CodeBlock content={tsDef} />} </ContainerNarrow> ); } diff --git a/browser/data-browser/src/views/FolderPage/GridItem/components.tsx b/browser/data-browser/src/views/FolderPage/GridItem/components.tsx index ff4ee03ed..39867569a 100644 --- a/browser/data-browser/src/views/FolderPage/GridItem/components.tsx +++ b/browser/data-browser/src/views/FolderPage/GridItem/components.tsx @@ -11,7 +11,9 @@ export const GridCard = styled.div.attrs<ViewTransitionProps>(p => ({ overflow: hidden; box-shadow: var(--shadow), var(--interaction-shadow); border: 1px solid ${p => p.theme.colors.bg2}; - transition: border 0.1s ease-in-out, box-shadow 0.1s ease-in-out; + transition: + border 0.1s ease-in-out, + box-shadow 0.1s ease-in-out; `; export const GridItemWrapper = styled.a` diff --git a/browser/data-browser/src/views/FolderPage/GridView.tsx b/browser/data-browser/src/views/FolderPage/GridView.tsx index b69d9a954..3f26924c8 100644 --- a/browser/data-browser/src/views/FolderPage/GridView.tsx +++ b/browser/data-browser/src/views/FolderPage/GridView.tsx @@ -49,7 +49,9 @@ const NewCard = styled(GridCard)` place-items: center; font-size: 3rem; color: ${p => p.theme.colors.textLight}; - transition: color 0.1s ease-in-out, font-size 0.1s ease-out, + transition: + color 0.1s ease-in-out, + font-size 0.1s ease-out, box-shadow 0.1s ease-in-out; ${GridItemWrapper}:hover &, ${GridItemWrapper}:focus & { diff --git a/browser/data-browser/src/views/TablePage/EditorCells/AtomicURLCell.tsx b/browser/data-browser/src/views/TablePage/EditorCells/AtomicURLCell.tsx index fa32c35f6..cd34847ae 100644 --- a/browser/data-browser/src/views/TablePage/EditorCells/AtomicURLCell.tsx +++ b/browser/data-browser/src/views/TablePage/EditorCells/AtomicURLCell.tsx @@ -5,36 +5,25 @@ import { core, server, unknownSubject, - urls, useArray, useResource, useString, useTitle, } from '@tomic/react'; import { useCallback, useEffect, useMemo, useRef, useState } from 'react'; -import { FaEdit, FaTimes } from 'react-icons/fa'; -import * as RadixPopover from '@radix-ui/react-popover'; +import { FaEdit } from 'react-icons/fa'; import { styled } from 'styled-components'; import { FileDropzoneInput } from '../../../components/forms/FileDropzone/FileDropzoneInput'; import { InputStyled, InputWrapper, } from '../../../components/forms/InputStyles'; -import { Popover } from '../../../components/Popover'; import { CursorMode, useTableEditorContext, } from '../../../components/TableEditor/TableEditorContext'; import { getIconForClass } from '../../FolderPage/iconMap'; -import { AgentCell } from './ResourceCells/AgentCell'; -import { FileCell } from './ResourceCells/FileCell'; -import { SimpleResourceLink } from './ResourceCells/SimpleResourceLink'; -import { - CellContainer, - DisplayCellProps, - EditCellProps, - ResourceCellProps, -} from './Type'; +import { CellContainer, DisplayCellProps, EditCellProps } from './Type'; import { useResourceSearch } from './useResourceSearch'; import { IconButton } from '../../../components/IconButton/IconButton'; import { AtomicLink } from '../../../components/AtomicLink'; @@ -42,12 +31,19 @@ import { KeyboardInteraction, useCellOptions, } from '../../../components/TableEditor'; +import { ResourceCell } from './ResourceCells/ResourceCell'; +import { + PopoverTrigger, + SearchPopover, + SearchResultWrapper, +} from './CellComponents'; +import { FaXmark } from 'react-icons/fa6'; const useClassType = (subject: string) => { const property = useResource<Core.Property>(subject); const classType = useResource<Core.Class>(property.props.classtype); - const hasClassType = classType?.getSubject() !== unknownSubject; + const hasClassType = classType?.subject !== unknownSubject; return { classType, @@ -111,28 +107,11 @@ function AtomicURLCellEdit({ const { results, selectedIndex, handleKeyDown } = useResourceSearch( searchValue, - hasClassType ? classType.getSubject() : undefined, + hasClassType ? classType.subject : undefined, + setOpen, handleResultClick, ); - const modifiedHandleKeyDown = useCallback( - (e: React.KeyboardEvent<HTMLInputElement>) => { - if (e.key === 'Escape') { - e.preventDefault(); - setOpen(false); - - return; - } - - if (e.key === 'Tab') { - return; - } - - handleKeyDown(e); - }, - [handleKeyDown], - ); - const handleFilesUploaded = useCallback( (files: string[]) => { const file = files[0]; @@ -149,7 +128,7 @@ function AtomicURLCellEdit({ return ( <PopoverTrigger> <FaEdit />{' '} - {cell.getSubject() === unknownSubject + {cell.subject === unknownSubject ? `select ${hasClassType ? classType.title : 'resource'}` : title} </PopoverTrigger> @@ -158,16 +137,16 @@ function AtomicURLCellEdit({ useEffect(() => { if (selectedElement.current) { - selectedElement.current.scrollIntoView(false); + selectedElement.current.scrollIntoView({ block: 'nearest' }); } }, [selectedIndex]); const placehoder = hasClassType ? `Search ${classType.title}` : 'Search...'; const showFileDropzone = - results.length === 0 && classType.getSubject() === urls.classes.file; + results.length === 0 && classType.subject === server.classes.file; const showNoResults = - results.length === 0 && classType.getSubject() !== urls.classes.file; + results.length === 0 && classType.subject !== server.classes.file; return ( <SearchPopover @@ -182,10 +161,10 @@ function AtomicURLCellEdit({ value={searchValue} placeholder={placehoder} onChange={handleChange} - onKeyDown={modifiedHandleKeyDown} + onKeyDown={handleKeyDown} /> </InputWrapper> - <ResultWrapper> + <SearchResultWrapper> {results.length > 0 && ( <ol> {results.map((result, index) => ( @@ -208,7 +187,7 @@ function AtomicURLCellEdit({ onFilesUploaded={handleFilesUploaded} /> )} - </ResultWrapper> + </SearchResultWrapper> </SearchPopover> ); } @@ -216,27 +195,11 @@ function AtomicURLCellEdit({ function AtomicURLCellDisplay({ value, }: DisplayCellProps<JSONValue>): JSX.Element { - const resource = useResource(value as string); - if (!value) { return <></>; } - const Comp = resource.matchClass( - { - [core.classes.agent]: AgentCell, - [server.classes.file]: FileCell, - }, - BasicCell, - ); - - return <Comp resource={resource} />; -} - -function BasicCell({ resource }: ResourceCellProps) { - const [title] = useTitle(resource); - - return <SimpleResourceLink resource={resource}>{title}</SimpleResourceLink>; + return <ResourceCell subject={value as string} />; } interface ResultProps { @@ -247,7 +210,7 @@ interface ResultProps { function Result({ subject, onClick }: ResultProps) { const resource = useResource(subject); const [title] = useTitle(resource); - const [[classType]] = useArray(resource, urls.properties.isA); + const [[classType]] = useArray(resource, core.properties.isA); const Icon = getIconForClass(classType); @@ -276,13 +239,10 @@ function FileUploadContainer({ row, onChange, }: FileUploadContainerProps): JSX.Element { - const [mimeType] = useString(cellResource, urls.properties.file.mimetype); - const [downloadUrl] = useString( - cellResource, - urls.properties.file.downloadUrl, - ); - const [filename] = useString(cellResource, urls.properties.file.filename); - const [description] = useString(cellResource, urls.properties.description); + const [mimeType] = useString(cellResource, server.properties.mimetype); + const [downloadUrl] = useString(cellResource, server.properties.downloadUrl); + const [filename] = useString(cellResource, server.properties.filename); + const [description] = useString(cellResource, core.properties.description); const isImage = mimeType?.startsWith('image/'); @@ -301,10 +261,10 @@ function FileUploadContainer({ <PreviewImg src={downloadUrl ?? ''} alt={description ?? ''} /> )} {!isImage ? ( - <AtomicLink subject={cellResource.getSubject()}>{filename}</AtomicLink> + <AtomicLink subject={cellResource.subject}>{filename}</AtomicLink> ) : null} <ClearFileButton title='Clear' onClick={() => onChange(undefined)}> - <FaTimes /> + <FaXmark /> </ClearFileButton> </ViewerWrapper> ); @@ -340,53 +300,10 @@ const ResultButton = styled.button` } `; -const SearchPopover = styled(Popover)` - padding: 1rem; - border: 1px solid ${p => p.theme.colors.bg2}; - display: flex; - flex-direction: column; - gap: 1rem; -`; - -const ResultWrapper = styled.div` - height: min(90vh, 20rem); - width: min(90vw, 35rem); - overflow-x: hidden; - overflow-y: auto; - - ol { - padding: 0; - margin: 0; - } - - li { - list-style: none; - &[data-selected='true'] button { - background: ${p => p.theme.colors.main}; - color: white; - - svg { - color: white; - } - } - } -`; - const StyledFileDropzoneInput = styled(FileDropzoneInput)` height: 100%; `; -const PopoverTrigger = styled(RadixPopover.Trigger)` - border: none; - background: none; - color: ${p => p.theme.colors.main}; - display: inline-flex; - gap: 1ch; - align-items: center; - user-select: none; - cursor: pointer; -`; - const ViewerWrapper = styled.div` display: flex; justify-content: center; diff --git a/browser/data-browser/src/views/TablePage/EditorCells/CellComponents.tsx b/browser/data-browser/src/views/TablePage/EditorCells/CellComponents.tsx new file mode 100644 index 000000000..f5a0a70c0 --- /dev/null +++ b/browser/data-browser/src/views/TablePage/EditorCells/CellComponents.tsx @@ -0,0 +1,63 @@ +import { styled } from 'styled-components'; +import * as RadixPopover from '@radix-ui/react-popover'; +import { Popover } from '../../../components/Popover'; + +export const AbsoluteCell = styled.div` + position: absolute; + display: flex; + align-items: center; + z-index: 10; + left: 0; + top: 0; + background-color: ${p => p.theme.colors.bg}; + box-shadow: ${p => p.theme.boxShadowSoft}; + border: 2px solid ${p => p.theme.colors.main}; + height: fit-content; + width: 100%; + padding-inline: var(--table-inner-padding); + padding-block: 3px; + min-height: 40px; +`; + +export const SearchPopover = styled(Popover)` + padding: 1rem; + border: 1px solid ${p => p.theme.colors.bg2}; + display: flex; + flex-direction: column; + gap: 1rem; +`; + +export const SearchResultWrapper = styled.div` + height: min(90vh, 20rem); + width: min(90vw, 35rem); + overflow-x: hidden; + overflow-y: auto; + + ol { + padding: 0; + margin: 0; + } + + li { + list-style: none; + &[data-selected='true'] button { + background: ${p => p.theme.colors.main}; + color: white; + + svg { + color: white; + } + } + } +`; + +export const PopoverTrigger = styled(RadixPopover.Trigger)` + border: none; + background: none; + color: ${p => p.theme.colors.main}; + display: inline-flex; + gap: 1ch; + align-items: center; + user-select: none; + cursor: pointer; +`; diff --git a/browser/data-browser/src/views/TablePage/EditorCells/MultiRelationCell.tsx b/browser/data-browser/src/views/TablePage/EditorCells/MultiRelationCell.tsx new file mode 100644 index 000000000..95945099e --- /dev/null +++ b/browser/data-browser/src/views/TablePage/EditorCells/MultiRelationCell.tsx @@ -0,0 +1,300 @@ +import { + Core, + JSONValue, + unknownSubject, + urls, + useArray, + useResource, + useTitle, +} from '@tomic/react'; +import { useCallback, useEffect, useMemo, useRef, useState } from 'react'; +import { styled } from 'styled-components'; +import { + InputStyled, + InputWrapper, +} from '../../../components/forms/InputStyles'; +import { useTableEditorContext } from '../../../components/TableEditor/TableEditorContext'; +import { getIconForClass } from '../../FolderPage/iconMap'; +import { CellContainer, DisplayCellProps, EditCellProps } from './Type'; +import { useResourceSearch } from './useResourceSearch'; +import { IconButton } from '../../../components/IconButton/IconButton'; +import { + KeyboardInteraction, + useCellOptions, +} from '../../../components/TableEditor'; +import { InlineFormattedResourceList } from '../../../components/InlineFormattedResourceList'; +import { FaPlus, FaXmark } from 'react-icons/fa6'; +import { + AbsoluteCell, + PopoverTrigger, + SearchPopover, + SearchResultWrapper, +} from './CellComponents'; +import { Row } from '../../../components/Row'; +import { CellOptions } from '../../../components/TableEditor/hooks/useCellOptions'; +import { Checkbox } from '../../../components/forms/Checkbox'; +import { ResourceCell } from './ResourceCells/ResourceCell'; +import { AtomicLink } from '../../../components/AtomicLink'; + +const useClassType = (subject: string) => { + const property = useResource<Core.Property>(subject); + + const classType = useResource<Core.Class>(property.props.classtype); + const hasClassType = classType?.subject !== unknownSubject; + + return { + classType, + hasClassType, + }; +}; + +function MultiRelationCellEdit({ + value, + onChange, + property, +}: EditCellProps<JSONValue>): JSX.Element { + const val = Array.isArray(value) ? value : []; + + const { classType, hasClassType } = useClassType(property); + const [open, setOpen] = useState(true); + const { setCursorMode, activeCellRef } = useTableEditorContext(); + const selectedElement = useRef<HTMLLIElement>(null); + + const [searchValue, setSearchValue] = useState(''); + + const cellOptions = useMemo((): CellOptions => { + const disabledKeyboardInteractions = new Set<KeyboardInteraction>([ + KeyboardInteraction.EditNextRow, + ]); + + if (open) { + disabledKeyboardInteractions.add(KeyboardInteraction.ExitEditMode); + } + + return { + disabledKeyboardInteractions, + hideActiveIndicator: true, + }; + }, [val, open]); + + useCellOptions(cellOptions); + + const handleChange = useCallback((e: React.ChangeEvent<HTMLInputElement>) => { + e.preventDefault(); + e.stopPropagation(); + setSearchValue(e.target.value); + }, []); + + const handleResultClick = useCallback( + (result: string) => { + if (!result) return; + + if (val.includes(result)) { + onChange(val.filter(v => v !== result)); + } else { + onChange([...val, result]); + } + }, + [onChange, val], + ); + + const handleRemoveItem = (subject: string) => { + onChange(val.filter(v => v !== subject)); + }; + + const handleOpenChange = useCallback( + (state: boolean) => { + setOpen(state); + }, + [setCursorMode], + ); + + const { results, selectedIndex, handleKeyDown } = useResourceSearch( + searchValue, + hasClassType ? classType.subject : undefined, + setOpen, + handleResultClick, + ); + + const Trigger = useMemo(() => { + return ( + <PopoverTrigger> + <IconButton title={'Add resource'}> + <FaPlus /> + </IconButton> + </PopoverTrigger> + ); + }, []); + + useEffect(() => { + if (!open) { + activeCellRef.current?.focus(); + } + }, [open]); + + useEffect(() => { + if (selectedElement.current) { + selectedElement.current.scrollIntoView({ block: 'nearest' }); + } + }, [selectedIndex]); + + const placehoder = hasClassType ? `Search ${classType.title}` : 'Search...'; + + const showNoResults = + results.length === 0 && classType.subject !== urls.classes.file; + + return ( + <AbsoluteCell> + <Row wrapItems gap='1ch'> + {(value as string[])?.map(subject => ( + <ResourceItemButton + subject={subject} + key={subject} + onRemove={handleRemoveItem} + /> + ))} + <SearchPopover + Trigger={Trigger} + open={open} + onOpenChange={handleOpenChange} + noLock + > + <InputWrapper> + <InputStyled + type='search' + value={searchValue} + placeholder={placehoder} + onChange={handleChange} + onKeyDown={handleKeyDown} + /> + </InputWrapper> + <SearchResultWrapper> + {results.length > 0 && ( + <ol> + {results.map((result, index) => ( + <li + key={result} + data-selected={index === selectedIndex} + ref={index === selectedIndex ? selectedElement : null} + > + <Result + subject={result} + onClick={handleResultClick} + selected={val.includes(result)} + /> + </li> + ))} + </ol> + )} + {showNoResults && 'No results'} + </SearchResultWrapper> + </SearchPopover> + </Row> + </AbsoluteCell> + ); +} + +interface ResourceItemButtonProps { + subject: string; + onRemove: (subject: string) => void; +} + +function ResourceItemButton({ + subject, + onRemove, +}: ResourceItemButtonProps): JSX.Element { + const resource = useResource(subject); + + return ( + <ResourceItemButtonWrapper> + <AtomicLink clean subject={resource.subject}> + {resource.title} + </AtomicLink> + <IconButton + title={`remove ${resource.title}`} + onClick={() => onRemove(subject)} + > + <FaXmark /> + </IconButton> + </ResourceItemButtonWrapper> + ); +} + +function MultiRelationCellDisplay({ + value, +}: DisplayCellProps<JSONValue>): JSX.Element { + if (!value || !Array.isArray(value)) { + return <></>; + } + + return ( + <div> + <InlineFormattedResourceList + subjects={value as string[]} + RenderComp={ResourceCell} + /> + </div> + ); +} + +interface ResultProps { + subject: string; + onClick: (subject: string) => void; + selected: boolean; +} + +function Result({ subject, onClick, selected }: ResultProps) { + const resource = useResource(subject); + const [title] = useTitle(resource); + const [[classType]] = useArray(resource, urls.properties.isA); + + const Icon = getIconForClass(classType); + + return ( + <ResultButton onClick={() => onClick(subject)} tabIndex={-1}> + <Checkbox checked={selected} onChange={() => undefined}></Checkbox> + <Icon /> + {title} + </ResultButton> + ); +} + +export const MultiRelationCell: CellContainer<JSONValue> = { + Edit: MultiRelationCellEdit, + Display: MultiRelationCellDisplay, +}; + +const ResourceItemButtonWrapper = styled.span` + display: inline-flex; + padding-inline: 1ch; + align-items: center; + border: 1px solid ${p => p.theme.colors.main}; + color: ${p => p.theme.colors.mainDark}; + + border-radius: ${p => p.theme.radius}; +`; + +const ResultButton = styled.button` + display: flex; + width: 100%; + align-items: center; + gap: 0.5rem; + background: none; + border: none; + color: currentColor; + cursor: pointer; + padding: 0.3rem; + border-radius: ${p => p.theme.radius}; + &:hover { + background: ${p => p.theme.colors.main}; + color: white; + + svg { + color: white; + } + } + + svg { + color: ${p => p.theme.colors.textLight}; + } +`; diff --git a/browser/data-browser/src/views/TablePage/EditorCells/ResourceArrayCell.tsx b/browser/data-browser/src/views/TablePage/EditorCells/ResourceArrayCell.tsx index 658760569..c1b9b6d21 100644 --- a/browser/data-browser/src/views/TablePage/EditorCells/ResourceArrayCell.tsx +++ b/browser/data-browser/src/views/TablePage/EditorCells/ResourceArrayCell.tsx @@ -1,271 +1,30 @@ -import { - core, - JSONValue, - Store, - useArray, - useResource, - useStore, -} from '@tomic/react'; -import { useCallback, useEffect, useMemo, useState } from 'react'; -import { FaPlus, FaTimes } from 'react-icons/fa'; -import * as RadixPopover from '@radix-ui/react-popover'; -import { styled } from 'styled-components'; -import { IconButton } from '../../../components/IconButton/IconButton'; -import { Popover } from '../../../components/Popover'; -import { SelectableTag, Tag } from '../../../components/Tag'; +import { JSONValue, useResource } from '@tomic/react'; import { CellContainer, DisplayCellProps, EditCellProps } from './Type'; -import { - InputStyled, - InputWrapper, -} from '../../../components/forms/InputStyles'; -import { Row } from '../../../components/Row'; -import { stringToSlug } from '../../../helpers/stringToSlug'; -import { loopingIndex } from '../../../helpers/loopingIndex'; -import { fadeIn } from '../../../helpers/commonAnimations'; -import { - KeyboardInteraction, - useCellOptions, -} from '../../../components/TableEditor'; -import { useTableEditorContext } from '../../../components/TableEditor/TableEditorContext'; -import { CellOptions } from '../../../components/TableEditor/hooks/useCellOptions'; +import { getCategoryFromResource } from '../PropertyForm/categories'; +import { SelectCell } from './SelectCell'; +import { MultiRelationCell } from './MultiRelationCell'; -const TAG_SPACING = '0.5rem'; +function ResourceArrayCellEdit(props: EditCellProps<JSONValue>): JSX.Element { + const propResource = useResource(props.property); -const emptyArray: string[] = []; - -function buildListWithTitles( - store: Store, - subjects: string[], - ignore: string[], -): { subject: string; title: string }[] { - return subjects - .filter(v => !ignore.includes(v)) - .map(subject => { - const resource = store.getResourceLoading(subject); - const title = resource?.get(core.properties.shortname) ?? subject; - - return { subject, title: title as string }; - }); -} - -function ResourceArrayCellEdit({ - value, - property, - onChange, -}: EditCellProps<JSONValue>): JSX.Element { - const val = (value as string[]) ?? emptyArray; - - const store = useStore(); - const propertyResource = useResource(property); - const [allowsOnly] = useArray(propertyResource, core.properties.allowsOnly); - const [query, setQuery] = useState(''); - const filteredTags = useMemo(() => { - const listWithTitles = buildListWithTitles(store, allowsOnly, val); - - return listWithTitles - .filter(v => v.title.includes(query)) - .map(ft => ft.subject); - }, [store, allowsOnly, val, query]); - const [open, setOpen] = useState(true); - const [selectedIndex, setSelectedIndex] = useState(0); - - const { activeCellRef } = useTableEditorContext(); - - const cellOptions = useMemo((): CellOptions => { - const disabledKeyboardInteractions = new Set<KeyboardInteraction>([ - KeyboardInteraction.EditNextRow, - ]); - - if (open) { - disabledKeyboardInteractions.add(KeyboardInteraction.ExitEditMode); - } - - return { - disabledKeyboardInteractions, - hideActiveIndicator: true, - }; - }, [val, open]); - - useCellOptions(cellOptions); - - // const listWithTitles = useMemo( - // () => buildListWithTitles(store, allowsOnly, val), - // [allowsOnly, val], - // ); - - const handleSearch = useCallback((e: React.ChangeEvent<HTMLInputElement>) => { - setQuery(stringToSlug(e.target.value)); - setSelectedIndex(0); - }, []); - - const handleAddTag = useCallback( - (subject: string) => { - onChange(Array.from(new Set([...val, subject]))); - }, - [val, onChange], - ); - - const handleRemoveTag = useCallback( - (subject: string) => { - onChange(val.filter(tagSubject => tagSubject !== subject)); - }, - [val, onChange], - ); - - const changeSelection = useCallback( - (mod: number) => { - setSelectedIndex(prev => loopingIndex(prev + mod, filteredTags.length)); - }, - [filteredTags], - ); - - useEffect(() => { - if (!open) { - activeCellRef.current?.focus(); - } - }, [open]); - - const handleKeyDown = useCallback( - (e: React.KeyboardEvent<HTMLDivElement>) => { - switch (e.key) { - case 'ArrowUp': - e.preventDefault(); - changeSelection(-1); - break; - case 'ArrowDown': - e.preventDefault(); - changeSelection(1); - break; - case 'Enter': - e.preventDefault(); - handleAddTag(filteredTags[selectedIndex]); - break; - case 'Escape': - e.preventDefault(); - - setOpen(false); - break; - } - }, - [changeSelection, filteredTags, selectedIndex, open], - ); - - return ( - <AbsoluteCell> - <Row gap={TAG_SPACING} center wrapItems> - {val.map(v => ( - <Tag subject={v} key={v}> - <TagIconButton - title='remove tag' - onClick={() => handleRemoveTag(v)} - > - <FaTimes /> - </TagIconButton> - </Tag> - ))} - <Popover - defaultOpen - noLock - open={open} - onOpenChange={setOpen} - Trigger={ - <IconButton title='Add tag' as={RadixPopover.Trigger}> - <StyledIcon /> - </IconButton> - } - > - <Content onKeyDown={handleKeyDown}> - <SearchInputWrapper> - <InputStyled - placeholder='Filter tags...' - onChange={handleSearch} - /> - </SearchInputWrapper> - <ResultWrapper> - <Row wrapItems gap={TAG_SPACING}> - {filteredTags.map((v, i) => ( - <SelectableTag - key={v} - subject={v} - onClick={handleAddTag} - selected={i === selectedIndex} - /> - ))} - </Row> - </ResultWrapper> - </Content> - </Popover> - </Row> - </AbsoluteCell> - ); -} - -function ResourceArrayCellDisplay({ - value, -}: DisplayCellProps<JSONValue>): JSX.Element { - if (!value) { - return <></>; + if (getCategoryFromResource(propResource) === 'select') { + return <SelectCell.Edit {...props} />; + } else { + return <MultiRelationCell.Edit {...props} />; } - - return ( - <Row gap={TAG_SPACING}> - {(value as string[]).map(v => ( - <Tag subject={v} key={v} /> - ))} - </Row> - ); } -const StyledIcon = styled(FaPlus)` - animation: ${fadeIn} 0.1s ease-in-out; - color: ${p => p.theme.colors.textLight}; -`; +function ResourceArrayCellDisplay( + props: DisplayCellProps<JSONValue>, +): JSX.Element { + const property = useResource(props.property); -const TagIconButton = styled(IconButton)` - height: unset; - width: unset; - padding: unset; - - color: var(--tag-dark-color); - background-blend-mode: lighten; - - &:not([disabled]):hover, - &:not([disabled]):focus { - transform: scale(1.2); - background-color: unset; + if (getCategoryFromResource(property) === 'select') { + return <SelectCell.Display {...props} />; + } else { + return <MultiRelationCell.Display {...props} />; } -`; - -const AbsoluteCell = styled.div` - position: absolute; - display: flex; - align-items: center; - z-index: 10; - left: 0; - top: 0; - background-color: ${p => p.theme.colors.bg}; - box-shadow: ${p => p.theme.boxShadowSoft}; - border: 2px solid ${p => p.theme.colors.main}; - height: fit-content; - width: 100%; - padding-inline: var(--table-inner-padding); - padding-block: 3px; - min-height: 40px; -`; - -const Content = styled.div` - width: min(40ch, 90vh); - border-radius: ${p => p.theme.radius}; -`; - -const ResultWrapper = styled.div` - padding: ${p => p.theme.margin}rem; -`; - -const SearchInputWrapper = styled(InputWrapper)` - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; -`; +} export const ResourceArrayCell: CellContainer<JSONValue> = { Edit: ResourceArrayCellEdit, diff --git a/browser/data-browser/src/views/TablePage/EditorCells/ResourceCells/AgentCell.tsx b/browser/data-browser/src/views/TablePage/EditorCells/ResourceCells/AgentCell.tsx index aefdcfab6..529632b53 100644 --- a/browser/data-browser/src/views/TablePage/EditorCells/ResourceCells/AgentCell.tsx +++ b/browser/data-browser/src/views/TablePage/EditorCells/ResourceCells/AgentCell.tsx @@ -1,11 +1,12 @@ -import { useTitle } from '@tomic/react'; +import { useResource, useTitle } from '@tomic/react'; import { complement, setLightness } from 'polished'; import { styled } from 'styled-components'; import { ResourceCellProps } from '../Type'; import { SimpleResourceLink } from './SimpleResourceLink'; -export function AgentCell({ resource }: ResourceCellProps) { +export function AgentCell({ subject }: ResourceCellProps) { + const resource = useResource(subject); const [title] = useTitle(resource); return ( diff --git a/browser/data-browser/src/views/TablePage/EditorCells/ResourceCells/FileCell.tsx b/browser/data-browser/src/views/TablePage/EditorCells/ResourceCells/FileCell.tsx index 430df7961..075afd7a2 100644 --- a/browser/data-browser/src/views/TablePage/EditorCells/ResourceCells/FileCell.tsx +++ b/browser/data-browser/src/views/TablePage/EditorCells/ResourceCells/FileCell.tsx @@ -1,11 +1,12 @@ -import { properties, useString, useTitle } from '@tomic/react'; +import { properties, useResource, useString, useTitle } from '@tomic/react'; import { styled } from 'styled-components'; import { getFileIcon, imageMimeTypes } from '../../../../helpers/filetypes'; import { ResourceCellProps } from '../Type'; import { SimpleResourceLink } from './SimpleResourceLink'; -export function FileCell({ resource }: ResourceCellProps) { +export function FileCell({ subject }: ResourceCellProps) { + const resource = useResource(subject); const [title] = useTitle(resource); const [mimeType] = useString(resource, properties.file.mimetype); const [downloadUrl] = useString(resource, properties.file.downloadUrl); diff --git a/browser/data-browser/src/views/TablePage/EditorCells/ResourceCells/ResourceCell.tsx b/browser/data-browser/src/views/TablePage/EditorCells/ResourceCells/ResourceCell.tsx new file mode 100644 index 000000000..586945625 --- /dev/null +++ b/browser/data-browser/src/views/TablePage/EditorCells/ResourceCells/ResourceCell.tsx @@ -0,0 +1,26 @@ +import { useResource, core, server, useTitle } from '@tomic/react'; +import { ResourceCellProps } from '../Type'; +import { AgentCell } from './AgentCell'; +import { FileCell } from './FileCell'; +import { SimpleResourceLink } from './SimpleResourceLink'; + +export function ResourceCell({ subject }: ResourceCellProps) { + const resource = useResource(subject); + + const Comp = resource.matchClass( + { + [core.classes.agent]: AgentCell, + [server.classes.file]: FileCell, + }, + BasicCell, + ); + + return <Comp subject={subject} />; +} + +function BasicCell({ subject }: ResourceCellProps) { + const resource = useResource(subject); + const [title] = useTitle(resource); + + return <SimpleResourceLink resource={resource}>{title}</SimpleResourceLink>; +} diff --git a/browser/data-browser/src/views/TablePage/EditorCells/SelectCell.tsx b/browser/data-browser/src/views/TablePage/EditorCells/SelectCell.tsx new file mode 100644 index 000000000..1fa904b2d --- /dev/null +++ b/browser/data-browser/src/views/TablePage/EditorCells/SelectCell.tsx @@ -0,0 +1,253 @@ +import { + core, + JSONValue, + Store, + useArray, + useResource, + useStore, +} from '@tomic/react'; +import { useCallback, useEffect, useMemo, useState } from 'react'; +import { FaPlus } from 'react-icons/fa'; +import * as RadixPopover from '@radix-ui/react-popover'; +import { styled } from 'styled-components'; +import { IconButton } from '../../../components/IconButton/IconButton'; +import { Popover } from '../../../components/Popover'; +import { SelectableTag, Tag } from '../../../components/Tag'; +import { CellContainer, DisplayCellProps, EditCellProps } from './Type'; +import { + InputStyled, + InputWrapper, +} from '../../../components/forms/InputStyles'; +import { Row } from '../../../components/Row'; +import { stringToSlug } from '../../../helpers/stringToSlug'; +import { loopingIndex } from '../../../helpers/loopingIndex'; +import { fadeIn } from '../../../helpers/commonAnimations'; +import { + KeyboardInteraction, + useCellOptions, +} from '../../../components/TableEditor'; +import { useTableEditorContext } from '../../../components/TableEditor/TableEditorContext'; +import { CellOptions } from '../../../components/TableEditor/hooks/useCellOptions'; +import { AbsoluteCell } from './CellComponents'; +import { FaXmark } from 'react-icons/fa6'; + +const TAG_SPACING = '0.5rem'; + +const emptyArray: string[] = []; + +function buildListWithTitles( + store: Store, + subjects: string[], + ignore: string[], +): { subject: string; title: string }[] { + return subjects + .filter(v => !ignore.includes(v)) + .map(subject => { + const resource = store.getResourceLoading(subject); + const title = resource?.get(core.properties.shortname) ?? subject; + + return { subject, title: title as string }; + }); +} + +function SelectCellEdit({ + value, + property, + onChange, +}: EditCellProps<JSONValue>): JSX.Element { + const val = (value as string[]) ?? emptyArray; + + const store = useStore(); + const propertyResource = useResource(property); + const [allowsOnly] = useArray(propertyResource, core.properties.allowsOnly); + const [query, setQuery] = useState(''); + const filteredTags = useMemo(() => { + const listWithTitles = buildListWithTitles(store, allowsOnly, val); + + return listWithTitles + .filter(v => v.title.includes(query)) + .map(ft => ft.subject); + }, [store, allowsOnly, val, query]); + const [open, setOpen] = useState(true); + const [selectedIndex, setSelectedIndex] = useState(0); + + const { activeCellRef } = useTableEditorContext(); + + const cellOptions = useMemo((): CellOptions => { + const disabledKeyboardInteractions = new Set<KeyboardInteraction>([ + KeyboardInteraction.EditNextRow, + ]); + + if (open) { + disabledKeyboardInteractions.add(KeyboardInteraction.ExitEditMode); + } + + return { + disabledKeyboardInteractions, + hideActiveIndicator: true, + }; + }, [val, open]); + + useCellOptions(cellOptions); + + const handleSearch = useCallback((e: React.ChangeEvent<HTMLInputElement>) => { + setQuery(stringToSlug(e.target.value)); + setSelectedIndex(0); + }, []); + + const handleAddTag = useCallback( + (subject: string) => { + onChange(Array.from(new Set([...val, subject]))); + }, + [val, onChange], + ); + + const handleRemoveTag = useCallback( + (subject: string) => { + onChange(val.filter(tagSubject => tagSubject !== subject)); + }, + [val, onChange], + ); + + const changeSelection = useCallback( + (mod: number) => { + setSelectedIndex(prev => loopingIndex(prev + mod, filteredTags.length)); + }, + [filteredTags], + ); + + useEffect(() => { + if (!open) { + activeCellRef.current?.focus(); + } + }, [open]); + + const handleKeyDown = useCallback( + (e: React.KeyboardEvent<HTMLDivElement>) => { + switch (e.key) { + case 'ArrowUp': + e.preventDefault(); + changeSelection(-1); + break; + case 'ArrowDown': + e.preventDefault(); + changeSelection(1); + break; + case 'Enter': + e.preventDefault(); + handleAddTag(filteredTags[selectedIndex]); + break; + case 'Escape': + e.preventDefault(); + + setOpen(false); + break; + } + }, + [changeSelection, filteredTags, selectedIndex, open], + ); + + return ( + <AbsoluteCell> + <Row gap={TAG_SPACING} center wrapItems> + {val.map(v => ( + <Tag subject={v} key={v}> + <TagIconButton + title='remove tag' + onClick={() => handleRemoveTag(v)} + > + <FaXmark /> + </TagIconButton> + </Tag> + ))} + <Popover + defaultOpen + noLock + open={open} + onOpenChange={setOpen} + Trigger={ + <IconButton title='Add tag' as={RadixPopover.Trigger}> + <StyledIcon /> + </IconButton> + } + > + <Content onKeyDown={handleKeyDown}> + <SearchInputWrapper> + <InputStyled + placeholder='Filter tags...' + onChange={handleSearch} + /> + </SearchInputWrapper> + <ResultWrapper> + <Row wrapItems gap={TAG_SPACING}> + {filteredTags.map((v, i) => ( + <SelectableTag + key={v} + subject={v} + onClick={handleAddTag} + selected={i === selectedIndex} + /> + ))} + </Row> + </ResultWrapper> + </Content> + </Popover> + </Row> + </AbsoluteCell> + ); +} + +function SelectCellDisplay({ + value, +}: DisplayCellProps<JSONValue>): JSX.Element { + if (!value) { + return <></>; + } + + return ( + <Row gap={TAG_SPACING}> + {(value as string[]).map(v => ( + <Tag subject={v} key={v} /> + ))} + </Row> + ); +} + +const StyledIcon = styled(FaPlus)` + animation: ${fadeIn} 0.1s ease-in-out; + color: ${p => p.theme.colors.textLight}; +`; + +const TagIconButton = styled(IconButton)` + height: unset; + width: unset; + padding: unset; + + color: var(--tag-dark-color); + background-blend-mode: lighten; + + &:not([disabled]):hover, + &:not([disabled]):focus { + transform: scale(1.2); + background-color: unset; + } +`; + +const Content = styled.div` + width: min(40ch, 90vh); + border-radius: ${p => p.theme.radius}; +`; + +const ResultWrapper = styled.div` + padding: ${p => p.theme.margin}rem; +`; + +const SearchInputWrapper = styled(InputWrapper)` + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; +`; + +export const SelectCell: CellContainer<JSONValue> = { + Edit: SelectCellEdit, + Display: SelectCellDisplay, +}; diff --git a/browser/data-browser/src/views/TablePage/EditorCells/Type.ts b/browser/data-browser/src/views/TablePage/EditorCells/Type.ts index 1a2511ca0..714a409ab 100644 --- a/browser/data-browser/src/views/TablePage/EditorCells/Type.ts +++ b/browser/data-browser/src/views/TablePage/EditorCells/Type.ts @@ -19,5 +19,5 @@ export type CellContainer<T extends JSONValue> = { }; export interface ResourceCellProps { - resource: Resource; + subject: string; } diff --git a/browser/data-browser/src/views/TablePage/EditorCells/useResourceSearch.ts b/browser/data-browser/src/views/TablePage/EditorCells/useResourceSearch.ts index 90ebe736c..e628eec18 100644 --- a/browser/data-browser/src/views/TablePage/EditorCells/useResourceSearch.ts +++ b/browser/data-browser/src/views/TablePage/EditorCells/useResourceSearch.ts @@ -5,6 +5,7 @@ import { useSettings } from '../../../helpers/AppSettings'; export function useResourceSearch( searchValue: string, classType: string | undefined, + setOpen: (state: boolean) => void, onResultPick: (result: string) => void, ) { const [selectedIndex, setSelectedIndex] = useState(0); @@ -21,6 +22,17 @@ export function useResourceSearch( const handleKeyDown = useCallback( (e: React.KeyboardEvent<HTMLInputElement>) => { + if (e.key === 'Escape') { + e.preventDefault(); + setOpen(false); + + return; + } + + if (e.key === 'Tab') { + return; + } + e.stopPropagation(); if (e.key === 'ArrowUp') { diff --git a/browser/data-browser/src/views/TablePage/PropertyForm/EditPropertyDialog.tsx b/browser/data-browser/src/views/TablePage/PropertyForm/EditPropertyDialog.tsx index 069e1cf00..1b47c3f9d 100644 --- a/browser/data-browser/src/views/TablePage/PropertyForm/EditPropertyDialog.tsx +++ b/browser/data-browser/src/views/TablePage/PropertyForm/EditPropertyDialog.tsx @@ -1,6 +1,6 @@ -import { Resource, core, useString } from '@tomic/react'; +import { Resource } from '@tomic/react'; import { useCallback, useEffect, useState } from 'react'; -import { PropertyForm, getCategoryFromDatatype } from './PropertyForm'; +import { PropertyForm } from './PropertyForm'; import { FormValidationContextProvider } from '../../../components/forms/formValidation/FormValidationContextProvider'; import { Dialog, @@ -10,6 +10,7 @@ import { useDialog, } from '../../../components/Dialog'; import { Button } from '../../../components/Button'; +import { getCategoryFromResource } from './categories'; interface EditPropertyDialogProps { resource: Resource; @@ -24,9 +25,7 @@ export function EditPropertyDialog({ }: EditPropertyDialogProps): JSX.Element { const [valid, setValid] = useState(true); - const [datatype] = useString(resource, core.properties.datatype); - - const category = getCategoryFromDatatype(datatype); + const category = getCategoryFromResource(resource); const onSuccess = useCallback(() => { resource.save(); @@ -54,6 +53,7 @@ export function EditPropertyDialog({ </DialogTitle> <DialogContent> <PropertyForm + existingProperty resource={resource} category={category} onSubmit={handleSaveClick} diff --git a/browser/data-browser/src/views/TablePage/PropertyForm/NewPropertyDialog.tsx b/browser/data-browser/src/views/TablePage/PropertyForm/NewPropertyDialog.tsx index a2f1d61ba..b00bbe3f2 100644 --- a/browser/data-browser/src/views/TablePage/PropertyForm/NewPropertyDialog.tsx +++ b/browser/data-browser/src/views/TablePage/PropertyForm/NewPropertyDialog.tsx @@ -19,7 +19,8 @@ import { } from '../../../components/Dialog'; import { FormValidationContextProvider } from '../../../components/forms/formValidation/FormValidationContextProvider'; import { randomString } from '../../../helpers/randomString'; -import { PropertyForm, PropertyFormCategory } from './PropertyForm'; +import { PropertyForm } from './PropertyForm'; +import { PropertyFormCategory } from './categories'; interface NewPropertyDialogProps { showDialog: boolean; diff --git a/browser/data-browser/src/views/TablePage/PropertyForm/PropertyCategoryFormProps.ts b/browser/data-browser/src/views/TablePage/PropertyForm/PropertyCategoryFormProps.ts index 8bb7c9ca5..008c55271 100644 --- a/browser/data-browser/src/views/TablePage/PropertyForm/PropertyCategoryFormProps.ts +++ b/browser/data-browser/src/views/TablePage/PropertyForm/PropertyCategoryFormProps.ts @@ -1,5 +1,5 @@ -import { Resource } from '@tomic/react'; +import { Core, Resource } from '@tomic/react'; export interface PropertyCategoryFormProps { - resource: Resource; + resource: Resource<Core.Property>; } diff --git a/browser/data-browser/src/views/TablePage/PropertyForm/PropertyForm.tsx b/browser/data-browser/src/views/TablePage/PropertyForm/PropertyForm.tsx index c8f977076..723fcc7e8 100644 --- a/browser/data-browser/src/views/TablePage/PropertyForm/PropertyForm.tsx +++ b/browser/data-browser/src/views/TablePage/PropertyForm/PropertyForm.tsx @@ -1,4 +1,4 @@ -import { Resource, urls, useString } from '@tomic/react'; +import { core, Resource, useString } from '@tomic/react'; import { useCallback, useEffect, useMemo } from 'react'; import { styled } from 'styled-components'; import { ErrorChip } from '../../../components/forms/ErrorChip'; @@ -7,76 +7,20 @@ import { InputStyled, InputWrapper, } from '../../../components/forms/InputStyles'; -import { buildComponentFactory } from '../../../helpers/buildComponentFactory'; import { stringToSlug } from '../../../helpers/stringToSlug'; -import { CheckboxPropertyForm } from './CheckboxPropertyForm'; -import { DatePropertyForm } from './DatePropertyForm'; -import { FilePropertyForm } from './FilePropertyForm'; -import { NumberPropertyForm } from './NumberPropertyForm'; -import { RelationPropertyForm } from './RelationPropertyForm'; -import { SelectPropertyForm } from './SelectPropertyForm'; -import { TextPropertyForm } from './TextPropertyForm'; - -export type PropertyFormCategory = - | 'text' - | 'number' - | 'date' - | 'checkbox' - | 'file' - | 'select' - | 'relation'; +import { categoryFormFactory, PropertyFormCategory } from './categories'; interface PropertyFormProps { onSubmit: () => void; resource: Resource; category?: PropertyFormCategory; + existingProperty?: boolean; } -export const getCategoryFromDatatype = ( - datatype: string | undefined, -): PropertyFormCategory => { - switch (datatype) { - case urls.datatypes.string: - case urls.datatypes.markdown: - case urls.datatypes.slug: - return 'text'; - case urls.datatypes.integer: - case urls.datatypes.float: - return 'number'; - case urls.datatypes.boolean: - return 'checkbox'; - case urls.datatypes.date: - case urls.datatypes.timestamp: - return 'date'; - case urls.datatypes.resourceArray: - return 'select'; - case urls.datatypes.atomicUrl: - return 'relation'; - } - - throw new Error(`Unknown datatype: ${datatype}`); -}; - -const NoCategorySelected = () => { - return <span>No Type selected</span>; -}; - -const categoryFormFactory = buildComponentFactory( - new Map([ - ['text', TextPropertyForm], - ['number', NumberPropertyForm], - ['checkbox', CheckboxPropertyForm], - ['select', SelectPropertyForm], - ['date', DatePropertyForm], - ['file', FilePropertyForm], - ['relation', RelationPropertyForm], - ]), - NoCategorySelected, -); - export function PropertyForm({ resource, onSubmit, + existingProperty, category, }: PropertyFormProps): JSX.Element { const [nameError, setNameError, onNameBlur] = useValidation('Required'); @@ -95,12 +39,12 @@ export function PropertyForm({ const [name, setName] = useString( resource, - urls.properties.name, + core.properties.name, valueOptions, ); - const [_, setShortName] = useString( + const [shortname, setShortName] = useString( resource, - urls.properties.shortname, + core.properties.shortname, valueOptions, ); @@ -125,6 +69,11 @@ export function PropertyForm({ // If name was already set remove the error. useEffect(() => { + if (existingProperty && !name && shortname) { + setName(shortname); + setNameError(undefined); + } + if (name) { setNameError(undefined); } diff --git a/browser/data-browser/src/views/TablePage/PropertyForm/RelationPropertyForm.tsx b/browser/data-browser/src/views/TablePage/PropertyForm/RelationPropertyForm.tsx index a5cfe610e..e0bf9ab62 100644 --- a/browser/data-browser/src/views/TablePage/PropertyForm/RelationPropertyForm.tsx +++ b/browser/data-browser/src/views/TablePage/PropertyForm/RelationPropertyForm.tsx @@ -3,9 +3,15 @@ import { useEffect } from 'react'; import { styled } from 'styled-components'; import { ResourceSelector } from '../../../components/forms/ResourceSelector'; import { PropertyCategoryFormProps } from './PropertyCategoryFormProps'; +import { Checkbox, CheckboxLabel } from '../../../components/forms/Checkbox'; const valueOpts = { commit: false }; +const RELATION_TYPES = new Set<string>([ + Datatype.RESOURCEARRAY, + Datatype.ATOMIC_URL, +]); + export function RelationPropertyForm({ resource, }: PropertyCategoryFormProps): JSX.Element { @@ -15,9 +21,21 @@ export function RelationPropertyForm({ valueOpts, ); + const [datatype, setDatatype] = useString(resource, core.properties.datatype); + + const handleAllowMultiple = (checked: boolean) => { + if (checked) { + setDatatype(Datatype.RESOURCEARRAY); + } else { + setDatatype(Datatype.ATOMIC_URL); + } + }; + useEffect(() => { - resource.set(core.properties.datatype, Datatype.ATOMIC_URL); - }, []); + if (!RELATION_TYPES.has(resource.props.datatype)) { + setDatatype(Datatype.ATOMIC_URL); + } + }, [setDatatype]); return ( <> @@ -29,6 +47,13 @@ export function RelationPropertyForm({ setSubject={setClassType} /> </Label> + <CheckboxLabel> + <Checkbox + onChange={handleAllowMultiple} + checked={datatype === Datatype.RESOURCEARRAY} + /> + Allow multiple values + </CheckboxLabel> </> ); } diff --git a/browser/data-browser/src/views/TablePage/PropertyForm/SelectPropertyForm.tsx b/browser/data-browser/src/views/TablePage/PropertyForm/SelectPropertyForm.tsx index ab4e4652d..0c82462f2 100644 --- a/browser/data-browser/src/views/TablePage/PropertyForm/SelectPropertyForm.tsx +++ b/browser/data-browser/src/views/TablePage/PropertyForm/SelectPropertyForm.tsx @@ -31,20 +31,13 @@ export function SelectPropertyForm({ valueOpts, ); - const [subResources, setSubResources] = useArray( - resource, - dataBrowser.properties.subResources, - valueOpts, - ); - const handleNewTag = useCallback( async (tag: Resource) => { await setAllowOnly([...allowOnly, tag.subject]); - await setSubResources([...subResources, tag.subject]); await tag.save(); }, - [allowOnly, setAllowOnly, subResources, setSubResources], + [allowOnly, setAllowOnly], ); const handleDeleteTag = useCallback( @@ -53,15 +46,15 @@ export function SelectPropertyForm({ tag.destroy(); await setAllowOnly(removeFromArray(allowOnly, subject)); - await setSubResources(removeFromArray(subResources, subject)); }, - [store, setAllowOnly, setSubResources, allowOnly, subResources], + [store, setAllowOnly, allowOnly], ); useEffect(() => { resource.addClasses(dataBrowser.classes.selectProperty); resource.set(core.properties.datatype, Datatype.RESOURCEARRAY); + resource.set(core.properties.classtype, dataBrowser.classes.tag); }, []); return ( diff --git a/browser/data-browser/src/views/TablePage/PropertyForm/categories.tsx b/browser/data-browser/src/views/TablePage/PropertyForm/categories.tsx new file mode 100644 index 000000000..baf096b0d --- /dev/null +++ b/browser/data-browser/src/views/TablePage/PropertyForm/categories.tsx @@ -0,0 +1,82 @@ +import { Core, dataBrowser, Datatype, Resource, urls } from '@tomic/react'; +import { CheckboxPropertyForm } from './CheckboxPropertyForm'; +import { DatePropertyForm } from './DatePropertyForm'; +import { FilePropertyForm } from './FilePropertyForm'; +import { NumberPropertyForm } from './NumberPropertyForm'; +import { RelationPropertyForm } from './RelationPropertyForm'; +import { SelectPropertyForm } from './SelectPropertyForm'; +import { TextPropertyForm } from './TextPropertyForm'; +import { buildComponentFactory } from '../../../helpers/buildComponentFactory'; + +export type PropertyFormCategory = + | 'text' + | 'number' + | 'date' + | 'checkbox' + | 'file' + | 'select' + | 'relation'; + +const TEXT_TYPES = new Set<string>([ + Datatype.STRING, + Datatype.MARKDOWN, + Datatype.SLUG, +]); +const NUMBER_TYPES = new Set<string>([Datatype.INTEGER, Datatype.FLOAT]); +const DATE_TYPES = new Set<string>([Datatype.DATE, Datatype.TIMESTAMP]); + +export const getCategoryFromResource = ( + resource: Resource<Core.Property>, +): PropertyFormCategory => { + const datatype = resource.props.datatype; + + if (TEXT_TYPES.has(datatype)) { + return 'text'; + } + + if (NUMBER_TYPES.has(datatype)) { + return 'number'; + } + + if (datatype === Datatype.BOOLEAN) { + return 'checkbox'; + } + + if (DATE_TYPES.has(datatype)) { + return 'date'; + } + + if (datatype === Datatype.RESOURCEARRAY) { + if ( + resource.props.classtype === dataBrowser.classes.tag || + resource.hasClasses(urls.classes.constraintProperties.selectProperty) + ) { + return 'select'; + } + + return 'relation'; + } + + if (datatype === Datatype.ATOMIC_URL) { + return 'relation'; + } + + throw new Error(`Unknown datatype: ${datatype}`); +}; + +const NoCategorySelected = () => { + return <span>No Type selected</span>; +}; + +export const categoryFormFactory = buildComponentFactory( + new Map([ + ['text', TextPropertyForm], + ['number', NumberPropertyForm], + ['checkbox', CheckboxPropertyForm], + ['select', SelectPropertyForm], + ['date', DatePropertyForm], + ['file', FilePropertyForm], + ['relation', RelationPropertyForm], + ]), + NoCategorySelected, +); diff --git a/browser/lib/jest.config.cjs b/browser/lib/jest.config.cjs deleted file mode 100644 index e5772b151..000000000 --- a/browser/lib/jest.config.cjs +++ /dev/null @@ -1,15 +0,0 @@ -module.exports = { - roots: ['<rootDir>/src'], - testMatch: [ - '**/__tests__/**/*.+(ts|tsx|js)', - '**/?(*.)+(spec|test).+(ts|tsx|js)', - ], - transform: { - '^.+\\.(ts|tsx)$': ['ts-jest', { useESM: true }], - }, - testEnvironment: 'node', - moduleNameMapper: { - '(.+)\\.js': '$1' - }, - extensionsToTreatAsEsm: ['.ts'] -}; diff --git a/browser/lib/package.json b/browser/lib/package.json index 07f19dca9..25655cdb3 100644 --- a/browser/lib/package.json +++ b/browser/lib/package.json @@ -13,8 +13,11 @@ "devDependencies": { "@tomic/cli": "workspace:*", "@types/fast-json-stable-stringify": "^2.1.0", - "chai": "^4.3.4", - "typescript": "^4.8", + "tslib": "^2.4.1", + "typescript": "^5.4.5", + "vite": "^5.2.10", + "vite-plugin-dts": "^3.9.0", + "vitest": "^0.34.6", "whatwg-fetch": "^3.6.2" }, "files": [ @@ -22,23 +25,24 @@ ], "gitHead": "2172c73d8df4e5f273e6386676abc91b6c5b2707", "license": "MIT", - "main": "dist/src/index.js", + "main": "dist/index.js", "main-dev": "src/index.ts", "name": "@tomic/lib", "publishConfig": { "access": "public" }, "scripts": { - "build": "tsc", + "build": "pnpm exec vite build", "generate-ontologies": "ad-generate ontologies", "lint": "eslint ./src --ext .js,.jsx,.ts,.tsx", "lint-fix": "eslint ./src --ext .js,.jsx,.ts,.tsx --fix", "prepublishOnly": "pnpm run build && pnpm run lint-fix", "start": "pnpm watch", - "test": "NODE_OPTIONS='--experimental-vm-modules' ../node_modules/jest/bin/jest.js", + "coverage": "vitest run --coverage", + "test": "vitest run", "tsc": "tsc --build", "typecheck": "pnpm exec tsc --noEmit", - "watch": "tsc --build --watch" + "watch": "pnpm exec vite build --watch" }, "source": "src/index.ts", "type": "module", diff --git a/browser/lib/src/EventManager.test.ts b/browser/lib/src/EventManager.test.ts index 40c3089d5..cb5f22f4f 100644 --- a/browser/lib/src/EventManager.test.ts +++ b/browser/lib/src/EventManager.test.ts @@ -1,4 +1,4 @@ -import { jest } from '@jest/globals'; +import { afterEach, describe, it, vi } from 'vitest'; import { EventManager } from './EventManager.js'; enum Events { Click = 'click', @@ -11,10 +11,14 @@ type EventHandlers = { }; describe('EventManager', () => { - it('registers events', () => { + afterEach(() => { + vi.clearAllMocks(); + }); + + it('registers events', ({ expect }) => { const eventManager = new EventManager<Events, EventHandlers>(); - const cb = jest.fn(); + const cb = vi.fn(); eventManager.register(Events.Click, cb); eventManager.emit(Events.Click, 'Hello'); @@ -22,10 +26,10 @@ describe('EventManager', () => { expect(cb).toHaveBeenCalledWith('Hello'); }); - it('calls the correct handlers', () => { + it('calls the correct handlers', ({ expect }) => { const eventManager = new EventManager<Events, EventHandlers>(); - const cb = jest.fn(); + const cb = vi.fn(); eventManager.register(Events.Click, cb); eventManager.emit(Events.Click, 'Hello'); @@ -34,10 +38,10 @@ describe('EventManager', () => { expect(cb).toHaveBeenCalledTimes(1); }); - it('unsubscribes', () => { + it('unsubscribes', ({ expect }) => { const eventManager = new EventManager<Events, EventHandlers>(); - const cb = jest.fn(); + const cb = vi.fn(); const unsub = eventManager.register(Events.Click, cb); eventManager.emit(Events.Click, 'Hello'); diff --git a/browser/lib/src/agent.test.ts b/browser/lib/src/agent.test.ts index b06cebfdd..77614b929 100644 --- a/browser/lib/src/agent.test.ts +++ b/browser/lib/src/agent.test.ts @@ -1,8 +1,8 @@ -import { expect } from 'chai'; -import { Agent } from './index.js'; +import { describe, it } from 'vitest'; +import { Agent } from './agent.js'; describe('Agent', () => { - it('Constructs valid ', async () => { + it('Constructs valid ', async ({ expect }) => { const validPrivateKey = 'CapMWIhFUT+w7ANv9oCPqrHrwZpkP2JhzF9JnyT6WcI='; const validSubject = 'https://atomicdata.dev/agents/PLwTOXVvQdHYpaLEq5IozLNeUBdXMVchKjFwFfamBlo='; diff --git a/browser/lib/src/agent.ts b/browser/lib/src/agent.ts index df838d575..ee5ef85f7 100644 --- a/browser/lib/src/agent.ts +++ b/browser/lib/src/agent.ts @@ -1,9 +1,7 @@ -import { - AtomicError, - Client, - generatePublicKeyFromPrivate, - properties, -} from './index.js'; +import { Client } from './client.js'; +import { generatePublicKeyFromPrivate } from './commit.js'; +import { AtomicError } from './error.js'; +import { core } from './ontologies/core.js'; /** * An Agent is a user or machine that can write data to an Atomic Server. An @@ -77,7 +75,7 @@ export class Agent implements AgentInterface { ); } - const fetchedPubKey = resource.get(properties.agent.publicKey)?.toString(); + const fetchedPubKey = resource.get(core.properties.publicKey)?.toString(); if (fetchedPubKey !== (await this.getPublicKey())) { throw new Error( diff --git a/browser/lib/src/authentication.ts b/browser/lib/src/authentication.ts index 3474acdde..fcda6adca 100644 --- a/browser/lib/src/authentication.ts +++ b/browser/lib/src/authentication.ts @@ -1,9 +1,6 @@ -import { - Agent, - getTimestampNow, - HeadersObject, - signToBase64, -} from './index.js'; +import type { Agent } from './agent.js'; +import type { HeadersObject } from './client.js'; +import { getTimestampNow, signToBase64 } from './commit.js'; /** Returns a JSON-AD resource of an Authentication */ export async function createAuthentication(subject: string, agent: Agent) { diff --git a/browser/lib/src/class.ts b/browser/lib/src/class.ts deleted file mode 100644 index e73924760..000000000 --- a/browser/lib/src/class.ts +++ /dev/null @@ -1,70 +0,0 @@ -/** Helper function related the Atomic Classes */ - -import { - Datatype, - JSONValue, - properties, - Property, - Resource, - Store, -} from './index.js'; - -/** Returns the Typescript interface string based on the Class */ -export async function classToTypescriptDefinition( - klass: Resource, - store: Store, -): Promise<string> { - function renderProperty(property: Property, required: boolean) { - const description = `/** ${property.description}*/`; - const shortname = `"${property.shortname}"${required ? '' : '?'}`; - const datatype = dataTypeToJSONType(property.datatype); - - return ` ${description}\n ${shortname}: ${datatype};\n`; - } - - const requires = await Promise.all( - klass.getSubjects(properties.requires).map(s => store.getProperty(s)), - ); - const recommends = await Promise.all( - klass.getSubjects(properties.recommends).map(s => store.getProperty(s)), - ); - const className = klass.get(properties.shortname); - let returnString = `interface ${className} {\n`; - requires.forEach(prop => { - returnString = returnString.concat(renderProperty(prop, true)); - }); - recommends.forEach(prop => { - returnString = returnString.concat(renderProperty(prop, false)); - }); - returnString = returnString.concat('}'); - - return returnString; -} - -/** Returns the typescript type string for a Datatype */ -function dataTypeToJSONType(datatype: Datatype): JSONValue { - switch (datatype) { - case Datatype.ATOMIC_URL: - return 'string | Resource'; - case Datatype.BOOLEAN: - return 'boolean'; - case Datatype.DATE: - return 'string'; - case Datatype.FLOAT: - return 'number'; - case Datatype.INTEGER: - return 'number'; - case Datatype.MARKDOWN: - return 'string'; - case Datatype.RESOURCEARRAY: - return 'string[] | Resource[]'; - case Datatype.SLUG: - return 'string'; - case Datatype.STRING: - return 'string'; - case Datatype.TIMESTAMP: - return 'number'; - case Datatype.UNKNOWN: - return 'unknown'; - } -} diff --git a/browser/lib/src/client.ts b/browser/lib/src/client.ts index c4e2881e2..df783e893 100644 --- a/browser/lib/src/client.ts +++ b/browser/lib/src/client.ts @@ -1,23 +1,24 @@ // Provides functionality to interact with an Atomic Server. // Send requests to the server and receive responses. +// Works both in node and the browser +import fetch from 'cross-fetch'; + import { hasBrowserAPI } from './hasBrowserAPI.js'; import { - Agent, - AtomicError, checkAuthenticationCookie, - Commit, - ErrorType, - JSONADParser, - parseCommitJSON, - Resource, - serializeDeterministically, setCookieAuthentication, signRequest, +} from './authentication.js'; +import { AtomicError, ErrorType } from './error.js'; +import { + type Agent, + type Commit, + serializeDeterministically, + parseCommitJSON, } from './index.js'; - -// Works both in node and the browser -import fetch from 'cross-fetch'; +import { JSONADParser } from './parse.js'; +import { Resource } from './resource.js'; /** * One key-value pair per HTTP Header. Since we need to support both browsers diff --git a/browser/lib/src/commit.test.ts b/browser/lib/src/commit.test.ts index 22fc5a9e6..3dfa585a6 100644 --- a/browser/lib/src/commit.test.ts +++ b/browser/lib/src/commit.test.ts @@ -1,12 +1,12 @@ -import { expect } from 'chai'; -import { CommitBuilder } from './commit.js'; +import { describe, it } from 'vitest'; import { + CommitBuilder, generatePublicKeyFromPrivate, parseAndApplyCommit, serializeDeterministically, signToBase64, - Store, -} from './index.js'; +} from './commit.js'; +import { Store } from './store.js'; // These are disabled for now, as they require TextEncoder to be available // https://github.com/facebook/jest/issues/9983 @@ -18,13 +18,12 @@ describe('Commit signing and keys', () => { 'http://localhost/agents/7LsjMW5gOfDdJzK/atgjQ1t20J/rw8MjVg6xwqm+h8U='; const subject = 'https://localhost/new_thing'; - it('creates the right public key', async () => { + it('creates the right public key', async ({ expect }) => { const generatedPublickey = await generatePublicKeyFromPrivate(privateKey); expect(generatedPublickey).to.equal(publicKey); }); - it('signs a commit with the right signature', async () => { - // eslint-disable-next-line @typescript-eslint/no-unused-vars + it('signs a commit with the right signature', async ({ expect }) => { const signatureCorrect = 'kLh+mxy/lgFD6WkbIbhJANgRhyu39USL9up1zCmqU8Jmc+4rlvLZwxSlfxKTISP2BiXLSiz/5NJZrN5XpXJ/Cg=='; const serializedCommitRust = @@ -49,7 +48,7 @@ describe('Commit signing and keys', () => { expect(sig).to.equal(signatureCorrect); }); - it('signs any string correctly', async () => { + it('signs any string correctly', async ({ expect }) => { const input = 'val'; const correct_signature_rust = 'YtDR/xo0272LHNBQtDer4LekzdkfUANFTI0eHxZhITXnbC3j0LCqDWhr6itNvo4tFnep6DCbev5OKAHH89+TDA=='; @@ -74,9 +73,9 @@ describe('Commit parse and apply', () => { "https://atomicdata.dev/properties/signer": "https://atomicdata.dev/agents/8S2U/viqkaAQVzUisaolrpX6hx/G/L3e2MTjWA83Rxk=", "https://atomicdata.dev/properties/subject": "https://atomicdata.dev/element/cn6ymb8s8mc" }`; - it('parses and applies a Commit correctly', async () => { + it('parses and applies a Commit correctly', async ({ expect }) => { parseAndApplyCommit(exampleCommit, store); - const resource = await store.getResourceAsync( + const resource = await store.getResource( 'https://atomicdata.dev/element/cn6ymb8s8mc', ); const description = resource diff --git a/browser/lib/src/commit.ts b/browser/lib/src/commit.ts index 416501822..ae1a5c385 100644 --- a/browser/lib/src/commit.ts +++ b/browser/lib/src/commit.ts @@ -1,22 +1,18 @@ import { sign, getPublicKey, utils } from '@noble/ed25519'; import stringify from 'fast-json-stable-stringify'; import { decode as decodeB64, encode as encodeB64 } from 'base64-arraybuffer'; - // https://github.com/paulmillr/noble-ed25519/issues/38 import { sha512 } from '@noble/hashes/sha512'; -utils.sha512 = msg => Promise.resolve(sha512(msg)); -import { - isArray, - JSONArray, - JSONValue, - Resource, - properties, - urls, - Store, - Client, - JSONADParser, -} from './index.js'; +import { Client } from './client.js'; +import { isArray } from './datatypes.js'; +import { JSONADParser } from './parse.js'; +import { Resource } from './resource.js'; +import type { Store } from './store.js'; +import { urls, properties } from './urls.js'; +import type { JSONValue, JSONArray } from './value.js'; + +utils.sha512 = msg => Promise.resolve(sha512(msg)); /** A {@link Commit} without its signature, signer and timestamp */ export interface CommitBuilderI { diff --git a/browser/lib/src/datatypes.test.ts b/browser/lib/src/datatypes.test.ts index 6e4862edd..778b3e588 100644 --- a/browser/lib/src/datatypes.test.ts +++ b/browser/lib/src/datatypes.test.ts @@ -1,8 +1,9 @@ -import { expect } from 'chai'; +import { describe, it } from 'vitest'; + import { Datatype, urls, validateDatatype } from './index.js'; describe('Datatypes', () => { - it('throws errors when datatypes dont match values', async () => { + it('throws errors when datatypes dont match values', async ({ expect }) => { const string = 'valid string'; const int = 5; const float = 1.13; diff --git a/browser/lib/src/datatypes.ts b/browser/lib/src/datatypes.ts index f78c1c376..3ca807a31 100644 --- a/browser/lib/src/datatypes.ts +++ b/browser/lib/src/datatypes.ts @@ -1,6 +1,8 @@ -import { Client, JSONValue, urls } from './index.js'; - /** Each possible Atomic Datatype. See https://atomicdata.dev/collections/datatype */ + +import { Client } from './index.js'; +import type { JSONValue } from './value.js'; + // TODO: use strings from `./urls`, requires TS fix: https://github.com/microsoft/TypeScript/issues/40793 export enum Datatype { /** A Resource - either a URL string or a Nested Resource */ @@ -24,53 +26,15 @@ export enum Datatype { UNKNOWN = 'unknown-datatype', } +const validDatatypes = new Set<string>(Object.values(Datatype)); + /** Convert a URL to a Datatype */ export const datatypeFromUrl = (url: string): Datatype => { - switch (url) { - case urls.datatypes.atomicUrl: { - return Datatype.ATOMIC_URL; - } - - case urls.datatypes.boolean: { - return Datatype.BOOLEAN; - } - - case urls.datatypes.date: { - return Datatype.DATE; - } - - case urls.datatypes.float: { - return Datatype.FLOAT; - } - - case urls.datatypes.integer: { - return Datatype.INTEGER; - } - - case urls.datatypes.markdown: { - return Datatype.MARKDOWN; - } - - case urls.datatypes.resourceArray: { - return Datatype.RESOURCEARRAY; - } - - case urls.datatypes.slug: { - return Datatype.SLUG; - } - - case urls.datatypes.string: { - return Datatype.STRING; - } - - case urls.datatypes.timestamp: { - return Datatype.TIMESTAMP; - } - - default: { - return Datatype.UNKNOWN; - } + if (validDatatypes.has(url)) { + return url as Datatype; } + + return Datatype.UNKNOWN; }; const slug_regex = /^[a-z0-9]+(?:-[a-z0-9]+)*$/; diff --git a/browser/lib/src/endpoints.ts b/browser/lib/src/endpoints.ts index 01dfaec9e..8456d9c61 100644 --- a/browser/lib/src/endpoints.ts +++ b/browser/lib/src/endpoints.ts @@ -1,6 +1,9 @@ -import { Resource, Store, urls } from './index.js'; /** Endpoints are Resources that can respond to query parameters or POST bodies */ +import { Resource } from './resource.js'; +import type { Store } from './store.js'; +import { urls } from './urls.js'; + type ImportOpts = { /** Where the resources will be imported to */ parent: string; diff --git a/browser/lib/src/error.ts b/browser/lib/src/error.ts index a907b4421..f439626e5 100644 --- a/browser/lib/src/error.ts +++ b/browser/lib/src/error.ts @@ -1,4 +1,5 @@ -import { Resource, properties } from './index.js'; +import { core } from './ontologies/core.js'; +import type { Resource } from './resource.js'; export enum ErrorType { Unauthorized = 'Unauthorized', @@ -42,7 +43,7 @@ export class AtomicError extends Error { // The server should send Atomic Data Errors, which are JSON-AD resources with a Description. try { const parsed = JSON.parse(message); - const description = parsed[properties.description]; + const description = parsed[core.properties.description]; if (description) { this.message = description; @@ -57,7 +58,7 @@ export class AtomicError extends Error { } public static fromResource(r: Resource): AtomicError { - const err = new AtomicError(r.get(properties.description)!.toString()); + const err = new AtomicError(r.get(core.properties.description)!.toString()); return err; } diff --git a/browser/lib/src/index.ts b/browser/lib/src/index.ts index a262aa29c..d1cc28f7d 100644 --- a/browser/lib/src/index.ts +++ b/browser/lib/src/index.ts @@ -33,8 +33,6 @@ import { initOntologies } from './ontologies/index.js'; initOntologies(); -const __INTERNAL_KNOWN_SUBJECTS = new Set<string>(); - export * from './ontologies/core.js'; export * from './ontologies/collections.js'; export * from './ontologies/commits.js'; @@ -42,7 +40,6 @@ export * from './ontologies/dataBrowser.js'; export * from './ontologies/server.js'; export * from './agent.js'; export * from './authentication.js'; -export * from './class.js'; export * from './client.js'; export * from './commit.js'; export * from './error.js'; diff --git a/browser/lib/src/ontology.ts b/browser/lib/src/ontology.ts index 868fed525..07a69ddee 100644 --- a/browser/lib/src/ontology.ts +++ b/browser/lib/src/ontology.ts @@ -43,12 +43,10 @@ type PropsOfClass<C extends keyof Classes> = { */ export type InferTypeOfValueInTriple< Class extends keyof Classes | never = never, - Prop extends string = string, + Prop = string, Returns = Prop extends keyof PropTypeMapping ? Prop extends Requires<Class> ? PropTypeMapping[Prop] - : Prop extends Recommends<Class> - ? PropTypeMapping[Prop] | undefined : PropTypeMapping[Prop] | undefined : JSONValue, > = Returns; diff --git a/browser/lib/src/parse.test.ts b/browser/lib/src/parse.test.ts index fdb142f2f..2359939de 100644 --- a/browser/lib/src/parse.test.ts +++ b/browser/lib/src/parse.test.ts @@ -1,3 +1,4 @@ +import { describe, it } from 'vitest'; import { JSONADParser } from './parse.js'; const EXAMPLE_SUBJECT = 'http://example.com/1'; @@ -10,7 +11,7 @@ const NUMBER_PROPERTY = 'http://some-number-property'; const BOOLEAN_PROPERTY = 'http://some-boolean-property'; const NESTED_RESOURCE_PROPERTY = 'http://some-nested-resource-property'; describe('parse.ts', () => { - it('parses a JSON-AD object and returns it as a resource', () => { + it('parses a JSON-AD object and returns it as a resource', ({ expect }) => { const jsonObject = { '@id': EXAMPLE_SUBJECT, [STRING_PROPERTY]: 'Hoi', @@ -26,7 +27,7 @@ describe('parse.ts', () => { expect(resource.get(BOOLEAN_PROPERTY)).toBe(true); }); - it('parses a JSON-AD object with a nested resource', () => { + it('parses a JSON-AD object with a nested resource', ({ expect }) => { const jsonObjectWithID = { '@id': EXAMPLE_SUBJECT, [NESTED_RESOURCE_PROPERTY]: { @@ -85,7 +86,7 @@ describe('parse.ts', () => { expect(parsedResources3).toHaveLength(2); }); - it('parses an array of jsonObjects', () => { + it('parses an array of jsonObjects', ({ expect }) => { const array = [ { '@id': EXAMPLE_SUBJECT, @@ -112,7 +113,7 @@ describe('parse.ts', () => { expect(parsedResources).toHaveLength(4); }); - it('Handles resources without an ID', () => { + it('Handles resources without an ID', ({ expect }) => { const jsonObject = { [STRING_PROPERTY]: 'Hoi', }; @@ -121,6 +122,6 @@ describe('parse.ts', () => { const [resource] = parser.parseObject(jsonObject, 'my-new-id'); expect(resource.get(STRING_PROPERTY)).toBe('Hoi'); - expect(resource.getSubject()).toBe('my-new-id'); + expect(resource.subject).toBe('my-new-id'); }); }); diff --git a/browser/lib/src/parse.ts b/browser/lib/src/parse.ts index a9ef82cc6..12fcba06f 100644 --- a/browser/lib/src/parse.ts +++ b/browser/lib/src/parse.ts @@ -1,12 +1,8 @@ -import { - AtomicError, - urls, - isArray, - JSONValue, - JSONObject, - Resource, - unknownSubject, -} from './index.js'; +import { AtomicError } from './error.js'; +import { isArray } from './index.js'; +import { server } from './ontologies/server.js'; +import { Resource, unknownSubject } from './resource.js'; +import type { JSONObject, JSONValue } from './value.js'; /** Resources in JSON-AD can be referenced by their URL (string), * be entire (nested) resources, in which case they are JSONObjects */ @@ -69,12 +65,12 @@ export class JSONADParser { } if ( - resource.getSubject() !== 'undefined' && - resource.getSubject() !== unknownSubject && - value !== resource.getSubject() + resource.subject !== 'undefined' && + resource.subject !== unknownSubject && + value !== resource.subject ) { throw new Error( - `Resource has wrong subject in @id. Received subject was ${value}, expected ${resource.getSubject()}.`, + `Resource has wrong subject in @id. Received subject was ${value}, expected ${resource.subject}.`, ); } @@ -100,7 +96,7 @@ export class JSONADParser { resource.setUnsafe(key, subject); } } catch (e) { - const baseMsg = `Failed creating value ${value} for key ${key} in resource ${resource.getSubject()}`; + const baseMsg = `Failed creating value ${value} for key ${key} in resource ${resource.subject}`; const errorMsg = `${baseMsg}. ${e.message}`; throw new Error(errorMsg); } @@ -108,7 +104,7 @@ export class JSONADParser { resource.loading = false; - if (resource.hasClasses(urls.classes.error)) { + if (resource.hasClasses(server.classes.error)) { resource.error = AtomicError.fromResource(resource); } } catch (e) { diff --git a/browser/lib/src/resource.test.ts b/browser/lib/src/resource.test.ts index b5f35efca..9862befee 100644 --- a/browser/lib/src/resource.test.ts +++ b/browser/lib/src/resource.test.ts @@ -1,8 +1,9 @@ +import { describe, it } from 'vitest'; import { Resource } from './resource.js'; import { urls } from './urls.js'; describe('resource.ts', () => { - it('push propvals', () => { + it('push propvals', ({ expect }) => { const resource = new Resource('test'); const testsubject = 'https://example.com/testsubject'; resource.push(urls.properties.subResources, [testsubject], true); diff --git a/browser/lib/src/resource.ts b/browser/lib/src/resource.ts index 400a6a33d..15074aa4a 100644 --- a/browser/lib/src/resource.ts +++ b/browser/lib/src/resource.ts @@ -1,28 +1,27 @@ +import type { Agent } from './agent.js'; +import { Client } from './client.js'; +import type { Collection } from './collection.js'; +import { CollectionBuilder } from './collectionBuilder.js'; import { - Agent, CommitBuilder, - isUnauthorized, - JSONValue, - properties, - Store, - validateDatatype, - valToArray, - instances, - JSONArray, - Client, - urls, - applyCommitToResource, Commit, + applyCommitToResource, parseCommitResource, - InferTypeOfValueInTriple, - QuickAccesPropType, +} from './commit.js'; +import { validateDatatype } from './datatypes.js'; +import { isUnauthorized } from './error.js'; +import { core } from './ontologies/core.js'; +import { server } from './ontologies/server.js'; + +import { getKnownNameBySubject, - OptionalClass, - core, - server, - Collection, - CollectionBuilder, -} from './index.js'; + type InferTypeOfValueInTriple, + type OptionalClass, + type QuickAccesPropType, +} from './ontology.js'; +import type { Store } from './store.js'; +import { properties, instances, urls } from './urls.js'; +import { valToArray, type JSONValue, type JSONArray } from './value.js'; /** Contains the PropertyURL / Value combinations */ export type PropVals = Map<string, JSONValue>; diff --git a/browser/lib/src/search.test.ts b/browser/lib/src/search.test.ts index fde9b625c..05cf3daac 100644 --- a/browser/lib/src/search.test.ts +++ b/browser/lib/src/search.test.ts @@ -1,3 +1,4 @@ +import { describe, it } from 'vitest'; import { escapeTantivyKey } from './search.js'; const testTuples = [ @@ -6,7 +7,7 @@ const testTuples = [ ]; describe('search.ts', () => { - it('Handles resources without an ID', () => { + it('Handles resources without an ID', ({ expect }) => { for (const [input, output] of testTuples) { expect(escapeTantivyKey(input)).toBe(output); } diff --git a/browser/lib/src/search.ts b/browser/lib/src/search.ts index fb127a8d0..2576913ff 100644 --- a/browser/lib/src/search.ts +++ b/browser/lib/src/search.ts @@ -1,4 +1,4 @@ -import { Store } from './index.js'; +import { Store } from './store.js'; export interface SearchOpts { /** Fetch full resources instead of subjects */ @@ -95,10 +95,10 @@ export function removeCachedSearchResults(store: Store) { // Get all resources that start with the search URL but aren't the search endpoint itself. const searchResources = store.clientSideQuery( - r => r.getSubject() !== url && r.getSubject().startsWith(url), + r => r.subject !== url && r.subject.startsWith(url), ); for (const resource of searchResources) { - store.removeResource(resource.getSubject()); + store.removeResource(resource.subject); } } diff --git a/browser/lib/src/store.test.ts b/browser/lib/src/store.test.ts index 6bb3e0f75..5e02c44f0 100644 --- a/browser/lib/src/store.test.ts +++ b/browser/lib/src/store.test.ts @@ -1,25 +1,28 @@ -import { expect } from 'chai'; -import { jest } from '@jest/globals'; -import { Resource, urls, Store, core, Core } from './index.js'; +import { describe, it, vi, afterEach } from 'vitest'; +import { Resource, Store, core, Core, Datatype } from './index.js'; describe('Store', () => { - it('renders the populate value', async () => { + afterEach(() => { + vi.clearAllMocks(); + }); + + it('renders the populate value', async ({ expect }) => { const store = new Store(); const subject = 'https://atomicdata.dev/test'; const testval = 'Hi world'; const newResource = new Resource(subject); - newResource.setUnsafe(urls.properties.description, testval); + newResource.setUnsafe(core.properties.description, testval); store.addResources(newResource); const gotResource = store.getResourceLoading(subject); const atomString = gotResource! - .get(urls.properties.description)! + .get(core.properties.description)! .toString(); expect(atomString).to.equal(testval); }); - it('fetches a resource', async () => { + it('fetches a resource', async ({ expect }) => { const store = new Store({ serverUrl: 'https://atomicdata.dev' }); - const resource = await store.getResourceAsync( + const resource = await store.getResource( 'https://atomicdata.dev/properties/createdAt', ); @@ -27,14 +30,14 @@ describe('Store', () => { throw resource.error; } - const atomString = resource.get(urls.properties.shortname)!.toString(); - expect(atomString).to.equal('created-at'); + const atomString = resource.get(core.properties.shortname)!.toString(); + expect(atomString).toBe('created-at'); }); - it('accepts a custom fetch implementation', async () => { + it('accepts a custom fetch implementation', async ({ expect }) => { const testResourceSubject = 'https://atomicdata.dev'; - const customFetch = jest.fn( + const customFetch = vi.fn( async (url: RequestInfo | URL, options: RequestInit | undefined) => { return fetch(url, options); }, @@ -46,7 +49,7 @@ describe('Store', () => { noWebSocket: true, }); - expect(customFetch.mock.calls).to.have.length(0); + expect(customFetch.mock.calls).toHaveLength(0); store.injectFetch(customFetch); @@ -54,10 +57,10 @@ describe('Store', () => { noWebSocket: true, }); - expect(customFetch.mock.calls).to.have.length(1); + expect(customFetch.mock.calls).toHaveLength(1); }); - it('creates new resources using store.newResource()', async () => { + it('creates new resources using store.newResource()', async ({ expect }) => { const store = new Store({ serverUrl: 'https://myserver.dev' }); const resource1 = await store.newResource<Core.Property>({ @@ -65,19 +68,19 @@ describe('Store', () => { parent: 'https://myserver.dev/properties', isA: core.classes.property, propVals: { - [core.properties.datatype]: urls.datatypes.slug, + [core.properties.datatype]: Datatype.SLUG, [core.properties.shortname]: 'testthing', }, }); - expect(resource1.props.parent).to.equal('https://myserver.dev/properties'); - expect(resource1.props.datatype).to.equal(urls.datatypes.slug); - expect(resource1.props.shortname).to.equal('testthing'); - expect(resource1.hasClasses(core.classes.property)).to.equal(true); + expect(resource1.props.parent).toBe('https://myserver.dev/properties'); + expect(resource1.props.datatype).toBe(Datatype.SLUG); + expect(resource1.props.shortname).toBe('testthing'); + expect(resource1.hasClasses(core.classes.property)).toBe(true); const resource2 = await store.newResource(); - expect(resource2.props.parent).to.equal(store.getServerUrl()); - expect(resource2.get(core.properties.isA)).to.equal(undefined); + expect(resource2.props.parent).toBe(store.getServerUrl()); + expect(resource2.get(core.properties.isA)).toBe(undefined); }); }); diff --git a/browser/lib/src/store.ts b/browser/lib/src/store.ts index 0ec1d43ee..bdfda1a0d 100644 --- a/browser/lib/src/store.ts +++ b/browser/lib/src/store.ts @@ -1,33 +1,25 @@ import { ulid } from 'ulid'; + +import type { Agent } from './agent.js'; import { removeCookieAuthentication, setCookieAuthentication, } from './authentication.js'; +import { Client, type FileOrFileLike } from './client.js'; +import type { Commit } from './commit.js'; +import { datatypeFromUrl, type Datatype } from './datatypes.js'; import { EventManager } from './EventManager.js'; import { hasBrowserAPI } from './hasBrowserAPI.js'; -import { - Agent, - Datatype, - datatypeFromUrl, - Client, - Resource, - unknownSubject, - urls, - Commit, - JSONADParser, - FileOrFileLike, - OptionalClass, - UnknownClass, - Server, - core, - commits, - collections, - JSONValue, - SearchOpts, - buildSearchSubject, - server, -} from './index.js'; +import { collections } from './ontologies/collections.js'; +import { commits } from './ontologies/commits.js'; +import { core } from './ontologies/core.js'; +import { server, type Server } from './ontologies/server.js'; +import type { OptionalClass, UnknownClass } from './ontology.js'; +import { JSONADParser } from './parse.js'; +import { Resource, unknownSubject } from './resource.js'; +import { type SearchOpts, buildSearchSubject } from './search.js'; import { stringToSlug } from './stringToSlug.js'; +import type { JSONValue } from './value.js'; import { authenticate, fetchWebSocket, startWebsocket } from './websockets.js'; /** Function called when a resource is updated or removed */ @@ -180,7 +172,7 @@ export class Store { resource.setStore(this); // Incomplete resources may miss some properties - if (resource.get(urls.properties.incomplete)) { + if (resource.get(core.properties.incomplete)) { // If there is a resource with the same subject, we won't overwrite it with an incomplete one const existing = this.resources.get(resource.subject); @@ -444,7 +436,7 @@ export class Store { } else if (!opts.allowIncomplete && resource.loading === false) { // In many cases, a user will always need a complete resource. // This checks if the resource is incomplete and fetches it if it is. - if (resource.get(urls.properties.incomplete)) { + if (resource.get(core.properties.incomplete)) { resource.loading = true; this.addResources(resource); this.fetchResourceFromServer(subject, opts); @@ -861,14 +853,14 @@ export class Store { public async getResourceAncestry(resource: Resource): Promise<string[]> { const ancestry: string[] = [resource.subject]; - let lastAncestor: string = resource.get(urls.properties.parent) as string; + let lastAncestor: string = resource.get(core.properties.parent) as string; lastAncestor && ancestry.push(lastAncestor); while (lastAncestor) { - const lastResource = await this.getResourceAsync(lastAncestor); + const lastResource = await this.getResource(lastAncestor); if (lastResource) { - lastAncestor = lastResource.get(urls.properties.parent) as string; + lastAncestor = lastResource.get(core.properties.parent) as string; if (ancestry.includes(lastAncestor)) { throw new Error( diff --git a/browser/lib/src/value.ts b/browser/lib/src/value.ts index d358f56b7..48b2674da 100644 --- a/browser/lib/src/value.ts +++ b/browser/lib/src/value.ts @@ -1,4 +1,5 @@ -import { JSONADParser, Resource } from './index.js'; +import { JSONADParser } from './parse.js'; +import type { Resource } from './resource.js'; export type JSONPrimitive = string | number | boolean; export type JSONValue = JSONPrimitive | JSONObject | JSONArray | undefined; diff --git a/browser/lib/src/websockets.ts b/browser/lib/src/websockets.ts index 29ab1e068..812f37ef3 100644 --- a/browser/lib/src/websockets.ts +++ b/browser/lib/src/websockets.ts @@ -1,5 +1,8 @@ import { createAuthentication } from './authentication.js'; -import { JSONADParser, parseAndApplyCommit, Resource, Store } from './index.js'; +import { parseAndApplyCommit } from './index.js'; +import { JSONADParser } from './parse.js'; +import type { Resource } from './resource.js'; +import type { Store } from './store.js'; /** Opens a Websocket Connection at `/ws` for the current Drive */ export function startWebsocket(url: string, store: Store): WebSocket { @@ -119,7 +122,7 @@ export async function fetchWebSocket( if (ev.data.startsWith('RESOURCE ')) { parseResourceMessage(ev).forEach(resource => { // if it is the requested subject, return the resource - if (resource.getSubject() === subject) { + if (resource.subject === subject) { clearTimeout(timeoutId); client.removeEventListener('message', listener); resolve(resource); diff --git a/browser/lib/tsconfig.json b/browser/lib/tsconfig.json index 47062af81..9cbdc948f 100644 --- a/browser/lib/tsconfig.json +++ b/browser/lib/tsconfig.json @@ -4,6 +4,8 @@ "composite": true, "outDir": "./dist", "rootDir": ".", + "module": "NodeNext", + "moduleResolution": "NodeNext", }, "include": [ "./src" diff --git a/browser/lib/vite.config.ts b/browser/lib/vite.config.ts new file mode 100644 index 000000000..f430262e6 --- /dev/null +++ b/browser/lib/vite.config.ts @@ -0,0 +1,20 @@ +import { defineConfig } from 'vite'; +import path from 'path'; +import dts from 'vite-plugin-dts'; + +export default defineConfig({ + plugins: [dts()], + server: { + port: 5175, + }, + build: { + manifest: true, + minify: true, + reportCompressedSize: true, + lib: { + entry: path.resolve(__dirname, 'src/index.ts'), + fileName: 'index', + formats: ['es'], + }, + }, +}); diff --git a/browser/package.json b/browser/package.json index 261a4d94d..7a5e2577e 100644 --- a/browser/package.json +++ b/browser/package.json @@ -8,26 +8,27 @@ "@types/react": "^18.2.34", "@types/react-dom": "^18.2.14", "@types/react-router-dom": "^5.3.3", - "@typescript-eslint/eslint-plugin": "^5.9.0", - "@typescript-eslint/parser": "^5.9.0", + "@typescript-eslint/eslint-plugin": "^7.8.0", + "@typescript-eslint/parser": "^7.8.0", "chai": "^4.3.4", - "eslint": "8.23.0", - "eslint-config-prettier": "^8.3.0", + "eslint": "^8.57.0", + "eslint-config-prettier": "^9.1.0", "eslint-plugin-jsx-a11y": "^6.6.1", - "eslint-plugin-prettier": "^4.0.0", + "eslint-plugin-prettier": "^5.1.3", "eslint-plugin-react": "^7.28.0", "eslint-plugin-react-hooks": "^4.3.0", "husky": "^8.0.3", "jest": "^29.0.2", "netlify-cli": "16.2.0", - "prettier": "2.4.1", - "prettier-plugin-jsdoc": "^0.3.24", + "prettier": "3.2.5", + "prettier-plugin-jsdoc": "^1.3.0", "react": "^18.2.0", "ts-jest": "^29.0.1", "typedoc": "^0.25.3", "typedoc-plugin-missing-exports": "^2.1.0", "typescript": "^5.4.5", - "vite": "^5.0.12" + "vite": "^5.0.12", + "eslint-plugin-import": "^2.26.0" }, "name": "@tomic/root", "version": "0.36.0", @@ -61,8 +62,5 @@ "cli" ] }, - "packageManager": "pnpm@8.15.2", - "dependencies": { - "eslint-plugin-import": "^2.26.0" - } + "packageManager": "pnpm@8.15.2" } diff --git a/browser/pnpm-lock.yaml b/browser/pnpm-lock.yaml index 8e8b71759..4eb0e1fe5 100644 --- a/browser/pnpm-lock.yaml +++ b/browser/pnpm-lock.yaml @@ -7,10 +7,6 @@ settings: importers: .: - dependencies: - eslint-plugin-import: - specifier: ^2.26.0 - version: 2.28.0(@typescript-eslint/parser@5.62.0)(eslint@8.23.0) devDependencies: '@esm-bundle/chai': specifier: 4.3.4 @@ -37,32 +33,35 @@ importers: specifier: ^5.3.3 version: 5.3.3 '@typescript-eslint/eslint-plugin': - specifier: ^5.9.0 - version: 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.23.0)(typescript@5.4.5) + specifier: ^7.8.0 + version: 7.8.0(@typescript-eslint/parser@7.8.0)(eslint@8.57.0)(typescript@5.4.5) '@typescript-eslint/parser': - specifier: ^5.9.0 - version: 5.62.0(eslint@8.23.0)(typescript@5.4.5) + specifier: ^7.8.0 + version: 7.8.0(eslint@8.57.0)(typescript@5.4.5) chai: specifier: ^4.3.4 - version: 4.3.7 + version: 4.3.10 eslint: - specifier: 8.23.0 - version: 8.23.0 + specifier: ^8.57.0 + version: 8.57.0 eslint-config-prettier: - specifier: ^8.3.0 - version: 8.10.0(eslint@8.23.0) + specifier: ^9.1.0 + version: 9.1.0(eslint@8.57.0) + eslint-plugin-import: + specifier: ^2.26.0 + version: 2.28.0(@typescript-eslint/parser@7.8.0)(eslint@8.57.0) eslint-plugin-jsx-a11y: specifier: ^6.6.1 - version: 6.7.1(eslint@8.23.0) + version: 6.7.1(eslint@8.57.0) eslint-plugin-prettier: - specifier: ^4.0.0 - version: 4.2.1(eslint-config-prettier@8.10.0)(eslint@8.23.0)(prettier@2.4.1) + specifier: ^5.1.3 + version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5) eslint-plugin-react: specifier: ^7.28.0 - version: 7.33.1(eslint@8.23.0) + version: 7.33.1(eslint@8.57.0) eslint-plugin-react-hooks: specifier: ^4.3.0 - version: 4.6.0(eslint@8.23.0) + version: 4.6.0(eslint@8.57.0) husky: specifier: ^8.0.3 version: 8.0.3 @@ -73,17 +72,17 @@ importers: specifier: 16.2.0 version: 16.2.0(@types/node@20.11.5) prettier: - specifier: 2.4.1 - version: 2.4.1 + specifier: 3.2.5 + version: 3.2.5 prettier-plugin-jsdoc: - specifier: ^0.3.24 - version: 0.3.38(prettier@2.4.1) + specifier: ^1.3.0 + version: 1.3.0(prettier@3.2.5) react: specifier: ^18.2.0 version: 18.2.0 ts-jest: specifier: ^29.0.1 - version: 29.1.1(@babel/core@7.22.9)(jest@29.6.2)(typescript@5.4.5) + version: 29.1.1(@babel/core@7.24.5)(jest@29.6.2)(typescript@5.4.5) typedoc: specifier: ^0.25.3 version: 0.25.4(typescript@5.4.5) @@ -110,8 +109,8 @@ importers: version: 3.0.3 devDependencies: typescript: - specifier: ^4.8 - version: 4.9.5 + specifier: ^5.4.5 + version: 5.4.5 data-browser: dependencies: @@ -144,13 +143,13 @@ importers: version: 1.2.1 '@radix-ui/react-popover': specifier: ^1.0.6 - version: 1.0.6(@types/react-dom@18.2.14)(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.6(@types/react-dom@18.2.14)(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-scroll-area': specifier: ^1.0.1 - version: 1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.4(@types/react-dom@18.2.14)(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-tabs': specifier: ^1.0.4 - version: 1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.4(@types/react-dom@18.2.14)(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0) '@tomic/react': specifier: workspace:* version: link:../react @@ -198,10 +197,10 @@ importers: version: 18.2.0 react-markdown: specifier: ^8.0.3 - version: 8.0.7(@types/react@18.2.34)(react@18.2.0) + version: 8.0.7(@types/react@18.3.1)(react@18.2.0) react-pdf: - specifier: ^6.2.2 - version: 6.2.2(react-dom@18.2.0)(react@18.2.0) + specifier: ^8.0.2 + version: 8.0.2(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0) react-router: specifier: ^6.9.0 version: 6.14.2(react@18.2.0) @@ -216,7 +215,7 @@ importers: version: 1.8.9(react-dom@18.2.0)(react@18.2.0) reactflow: specifier: ^11.8.3 - version: 11.8.3(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0) + version: 11.8.3(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0) remark-gfm: specifier: ^3.0.1 version: 3.0.1 @@ -241,7 +240,7 @@ importers: version: 1.8.7 '@vitejs/plugin-react-swc': specifier: ^3.5.0 - version: 3.5.0(vite@5.0.12) + version: 3.5.0(vite@5.2.11) csstype: specifier: ^3.1.0 version: 3.1.2 @@ -254,12 +253,18 @@ importers: types-wm: specifier: ^1.1.0 version: 1.1.0 + typescript: + specifier: ^5.4.5 + version: 5.4.5 + vite: + specifier: ^5.2.10 + version: 5.2.11(@types/node@20.11.5) vite-plugin-pwa: specifier: ^0.17.0 - version: 0.17.2(vite@5.0.12)(workbox-build@7.0.0)(workbox-window@7.0.0) + version: 0.17.2(vite@5.2.11)(workbox-build@7.1.0)(workbox-window@7.1.0) vite-plugin-webfont-dl: specifier: ^3.9.1 - version: 3.9.1(vite@5.0.12) + version: 3.9.1(vite@5.2.11) workbox-cli: specifier: ^6.4.1 version: 6.6.0 @@ -297,12 +302,21 @@ importers: '@types/fast-json-stable-stringify': specifier: ^2.1.0 version: 2.1.0 - chai: - specifier: ^4.3.4 - version: 4.3.7 + tslib: + specifier: ^2.4.1 + version: 2.6.1 typescript: - specifier: ^4.8 - version: 4.9.5 + specifier: ^5.4.5 + version: 5.4.5 + vite: + specifier: ^5.2.10 + version: 5.2.11(@types/node@20.11.5) + vite-plugin-dts: + specifier: ^3.9.0 + version: 3.9.0(@types/node@20.11.5)(typescript@5.4.5)(vite@5.2.11) + vitest: + specifier: ^0.34.6 + version: 0.34.6 whatwg-fetch: specifier: ^3.6.2 version: 3.6.17 @@ -317,8 +331,8 @@ importers: version: 18.2.0 devDependencies: typescript: - specifier: ^4.8 - version: 4.9.5 + specifier: ^5.4.5 + version: 5.4.5 svelte: dependencies: @@ -331,16 +345,19 @@ importers: devDependencies: '@rollup/plugin-typescript': specifier: ^10.0.1 - version: 10.0.1(tslib@2.6.1)(typescript@4.9.5) + version: 10.0.1(tslib@2.6.1)(typescript@5.4.5) '@typescript-eslint/parser': specifier: ^5.47.0 - version: 5.62.0(eslint@8.23.0)(typescript@4.9.5) + version: 5.62.0(eslint@8.57.0)(typescript@5.4.5) rollup-plugin-typescript-paths: specifier: ^1.4.0 - version: 1.4.0(typescript@4.9.5) + version: 1.4.0(typescript@5.4.5) tslib: specifier: ^2.4.1 version: 2.6.1 + typescript: + specifier: ^5.4.5 + version: 5.4.5 vitest: specifier: ^0.34.6 version: 0.34.6 @@ -350,6 +367,7 @@ packages: /@aashutoshrathi/word-wrap@1.2.6: resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} engines: {node: '>=0.10.0'} + dev: true /@ampproject/remapping@2.2.1: resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} @@ -358,6 +376,14 @@ packages: '@jridgewell/gen-mapping': 0.3.3 '@jridgewell/trace-mapping': 0.3.18 + /@ampproject/remapping@2.3.0: + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + dev: true + /@ant-design/colors@6.0.0: resolution: {integrity: sha512-qAZRvPzfdWHtfameEGP2Qvuf838NhergR35o+EuVyB5XvSA98xod5r4utvi4TJ3ywmevm290g9nsCG5MryrdWQ==} dependencies: @@ -396,6 +422,18 @@ packages: leven: 3.1.0 dev: true + /@apideck/better-ajv-errors@0.3.6(ajv@8.13.0): + resolution: {integrity: sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==} + engines: {node: '>=10'} + peerDependencies: + ajv: '>=8' + dependencies: + ajv: 8.13.0 + json-schema: 0.4.0 + jsonpointer: 5.0.1 + leven: 3.1.0 + dev: true + /@babel/cli@7.22.10(@babel/core@7.22.9): resolution: {integrity: sha512-rM9ZMmaII630zGvtMtQ3P4GyHs28CHLYE9apLG7L8TgaSqcfoIGrlLSLsh4Q8kDTdZQQEXZm1M0nQtOvU/2heg==} engines: {node: '>=6.9.0'} @@ -413,7 +451,7 @@ packages: slash: 2.0.0 optionalDependencies: '@nicolo-ribaudo/chokidar-2': 2.1.8-no-fsevents.3 - chokidar: 3.5.3 + chokidar: 3.6.0 dev: false /@babel/code-frame@7.22.5: @@ -422,10 +460,23 @@ packages: dependencies: '@babel/highlight': 7.22.5 + /@babel/code-frame@7.24.2: + resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.24.5 + picocolors: 1.0.0 + dev: true + /@babel/compat-data@7.22.9: resolution: {integrity: sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==} engines: {node: '>=6.9.0'} + /@babel/compat-data@7.24.4: + resolution: {integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==} + engines: {node: '>=6.9.0'} + dev: true + /@babel/core@7.22.9: resolution: {integrity: sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==} engines: {node: '>=6.9.0'} @@ -439,7 +490,7 @@ packages: '@babel/parser': 7.22.7 '@babel/template': 7.22.5 '@babel/traverse': 7.22.8 - '@babel/types': 7.22.5 + '@babel/types': 7.23.3 convert-source-map: 1.9.0 debug: 4.3.4(supports-color@9.4.0) gensync: 1.0.0-beta.2 @@ -448,26 +499,66 @@ packages: transitivePeerDependencies: - supports-color + /@babel/core@7.24.5: + resolution: {integrity: sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.5 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5) + '@babel/helpers': 7.24.5 + '@babel/parser': 7.24.5 + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.5 + '@babel/types': 7.24.5 + convert-source-map: 2.0.0 + debug: 4.3.4(supports-color@9.4.0) + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/generator@7.22.9: resolution: {integrity: sha512-KtLMbmicyuK2Ak/FTCJVbDnkN1SlT8/kceFTiuDiiRUUSMnHMidxSCdG4ndkTOHHpoomWe/4xkvHkEOncwjYIw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.23.3 '@jridgewell/gen-mapping': 0.3.3 '@jridgewell/trace-mapping': 0.3.18 jsesc: 2.5.2 + /@babel/generator@7.24.5: + resolution: {integrity: sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.5 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 2.5.2 + dev: true + /@babel/helper-annotate-as-pure@7.22.5: resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.23.3 + + /@babel/helper-builder-binary-assignment-operator-visitor@7.22.15: + resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.5 + dev: true /@babel/helper-builder-binary-assignment-operator-visitor@7.22.5: resolution: {integrity: sha512-m1EP3lVOPptR+2DwD125gziZNcmoNSHGmJROKoy87loWUQyJaVXDgpmruWqDARZSmtYQ+Dl25okU8+qhVzuykw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.23.3 /@babel/helper-compilation-targets@7.22.9(@babel/core@7.22.9): resolution: {integrity: sha512-7qYrNM6HjpnPHJbopxmb8hSPoZ0gsX8IvUS32JGVoy+pU9e5N0nLr1VjJoR6kA4d9dmGLxNYOjeB8sUDal2WMw==} @@ -482,6 +573,17 @@ packages: lru-cache: 5.1.1 semver: 6.3.1 + /@babel/helper-compilation-targets@7.23.6: + resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/compat-data': 7.24.4 + '@babel/helper-validator-option': 7.23.5 + browserslist: 4.23.0 + lru-cache: 5.1.1 + semver: 6.3.1 + dev: true + /@babel/helper-create-class-features-plugin@7.22.10(@babel/core@7.22.9): resolution: {integrity: sha512-5IBb77txKYQPpOEdUdIhBx8VrZyDCQ+H82H0+5dX1TmuscP5vJKEE3cKurjtIw/vFwzbVH48VweE78kVDBrqjA==} engines: {node: '>=6.9.0'} @@ -498,24 +600,36 @@ packages: '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 semver: 6.3.1 - dev: false - /@babel/helper-create-class-features-plugin@7.22.9(@babel/core@7.22.9): - resolution: {integrity: sha512-Pwyi89uO4YrGKxL/eNJ8lfEH55DnRloGPOseaA8NFNL6jAUnn+KccaISiFazCj5IolPPDjGSdzQzXVzODVRqUQ==} + /@babel/helper-create-class-features-plugin@7.24.5(@babel/core@7.24.5): + resolution: {integrity: sha512-uRc4Cv8UQWnE4NXlYTIIdM7wfFkOqlFztcC/gVXDKohKoVB3OyonfelUBaJzSwpBntZ2KYGF/9S7asCHsXwW6g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.24.5 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-function-name': 7.22.5 - '@babel/helper-member-expression-to-functions': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-member-expression-to-functions': 7.24.5 '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.9) + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.5) '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-split-export-declaration': 7.24.5 + semver: 6.3.1 + dev: true + + /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.5): + resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-annotate-as-pure': 7.22.5 + regexpu-core: 5.3.2 semver: 6.3.1 + dev: true /@babel/helper-create-regexp-features-plugin@7.22.9(@babel/core@7.22.9): resolution: {integrity: sha512-+svjVa/tFwsNSG4NEy1h85+HQ5imbT92Q5/bgtS7P0GTQlP8WuFdqsiABmQouhiFGyV66oGxZFpeYHza1rNsKw==} @@ -528,6 +642,18 @@ packages: regexpu-core: 5.3.2 semver: 6.3.1 + /@babel/helper-create-regexp-features-plugin@7.22.9(@babel/core@7.24.5): + resolution: {integrity: sha512-+svjVa/tFwsNSG4NEy1h85+HQ5imbT92Q5/bgtS7P0GTQlP8WuFdqsiABmQouhiFGyV66oGxZFpeYHza1rNsKw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-annotate-as-pure': 7.22.5 + regexpu-core: 5.3.2 + semver: 6.3.1 + dev: true + /@babel/helper-define-polyfill-provider@0.4.2(@babel/core@7.22.9): resolution: {integrity: sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==} peerDependencies: @@ -542,6 +668,26 @@ packages: transitivePeerDependencies: - supports-color + /@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.24.5): + resolution: {integrity: sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-plugin-utils': 7.24.5 + debug: 4.3.4(supports-color@9.4.0) + lodash.debounce: 4.0.8 + resolve: 1.22.8 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-environment-visitor@7.22.20: + resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} + engines: {node: '>=6.9.0'} + dev: true + /@babel/helper-environment-visitor@7.22.5: resolution: {integrity: sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==} engines: {node: '>=6.9.0'} @@ -551,25 +697,47 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.22.5 - '@babel/types': 7.22.5 + '@babel/types': 7.23.3 + + /@babel/helper-function-name@7.23.0: + resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.24.0 + '@babel/types': 7.24.5 + dev: true /@babel/helper-hoist-variables@7.22.5: resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.23.3 /@babel/helper-member-expression-to-functions@7.22.5: resolution: {integrity: sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.23.3 + + /@babel/helper-member-expression-to-functions@7.24.5: + resolution: {integrity: sha512-4owRteeihKWKamtqg4JmWSsEZU445xpFRXPEwp44HbgbxdWlUV1b4Agg4lkA806Lil5XM/e+FJyS0vj5T6vmcA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.5 + dev: true /@babel/helper-module-imports@7.22.5: resolution: {integrity: sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.23.3 + + /@babel/helper-module-imports@7.24.3: + resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.5 + dev: true /@babel/helper-module-transforms@7.22.9(@babel/core@7.22.9): resolution: {integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==} @@ -582,18 +750,49 @@ packages: '@babel/helper-module-imports': 7.22.5 '@babel/helper-simple-access': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/helper-validator-identifier': 7.22.5 + '@babel/helper-validator-identifier': 7.22.20 + + /@babel/helper-module-transforms@7.24.5(@babel/core@7.24.5): + resolution: {integrity: sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.24.3 + '@babel/helper-simple-access': 7.24.5 + '@babel/helper-split-export-declaration': 7.24.5 + '@babel/helper-validator-identifier': 7.24.5 + dev: true /@babel/helper-optimise-call-expression@7.22.5: resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.23.3 /@babel/helper-plugin-utils@7.22.5: resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} engines: {node: '>=6.9.0'} + /@babel/helper-plugin-utils@7.24.5: + resolution: {integrity: sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.5): + resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-wrap-function': 7.24.5 + dev: true + /@babel/helper-remap-async-to-generator@7.22.9(@babel/core@7.22.9): resolution: {integrity: sha512-8WWC4oR4Px+tr+Fp0X3RHDVfINGpF3ad1HIbrc8A77epiR6eMMc6jsgozkzT2uDiOOdoS9cLIQ+XD2XvI2WSmQ==} engines: {node: '>=6.9.0'} @@ -616,48 +815,93 @@ packages: '@babel/helper-member-expression-to-functions': 7.22.5 '@babel/helper-optimise-call-expression': 7.22.5 + /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-member-expression-to-functions': 7.24.5 + '@babel/helper-optimise-call-expression': 7.22.5 + dev: true + /@babel/helper-simple-access@7.22.5: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.23.3 + + /@babel/helper-simple-access@7.24.5: + resolution: {integrity: sha512-uH3Hmf5q5n7n8mz7arjUlDOCbttY/DW4DYhE6FUsjKJ/oYC1kQQUvwEQWxRwUpX9qQKRXeqLwWxrqilMrf32sQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.5 + dev: true /@babel/helper-skip-transparent-expression-wrappers@7.22.5: resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.23.3 /@babel/helper-split-export-declaration@7.22.6: resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.23.3 + + /@babel/helper-split-export-declaration@7.24.5: + resolution: {integrity: sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.5 + dev: true /@babel/helper-string-parser@7.22.5: resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} engines: {node: '>=6.9.0'} + /@babel/helper-string-parser@7.24.1: + resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==} + engines: {node: '>=6.9.0'} + dev: true + /@babel/helper-validator-identifier@7.22.20: resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} engines: {node: '>=6.9.0'} - dev: true - /@babel/helper-validator-identifier@7.22.5: - resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} + /@babel/helper-validator-identifier@7.24.5: + resolution: {integrity: sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==} engines: {node: '>=6.9.0'} + dev: true /@babel/helper-validator-option@7.22.5: resolution: {integrity: sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==} engines: {node: '>=6.9.0'} + /@babel/helper-validator-option@7.23.5: + resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} + engines: {node: '>=6.9.0'} + dev: true + /@babel/helper-wrap-function@7.22.9: resolution: {integrity: sha512-sZ+QzfauuUEfxSEjKFmi3qDSHgLsTPK/pEpoD/qonZKOtTPTLbf59oabPQ4rKekt9lFcj/hTZaOhWwFYrgjk+Q==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-function-name': 7.22.5 '@babel/template': 7.22.5 - '@babel/types': 7.22.5 + '@babel/types': 7.23.3 + + /@babel/helper-wrap-function@7.24.5: + resolution: {integrity: sha512-/xxzuNvgRl4/HLNKvnFwdhdgN3cpLxgLROeLDl83Yx0AJ1SGvq1ak0OszTOjDfiB8Vx03eJbeDWh9r+jCCWttw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-function-name': 7.23.0 + '@babel/template': 7.24.0 + '@babel/types': 7.24.5 + dev: true /@babel/helpers@7.22.6: resolution: {integrity: sha512-YjDs6y/fVOYFV8hAf1rxd1QvR9wJe1pDBZ2AREKq/SDayfPzgk0PBnVuTCE5X1acEpMMNOVUqoe+OwiZGJ+OaA==} @@ -665,24 +909,64 @@ packages: dependencies: '@babel/template': 7.22.5 '@babel/traverse': 7.22.8 - '@babel/types': 7.22.5 + '@babel/types': 7.23.3 + transitivePeerDependencies: + - supports-color + + /@babel/helpers@7.24.5: + resolution: {integrity: sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.5 + '@babel/types': 7.24.5 transitivePeerDependencies: - supports-color + dev: true /@babel/highlight@7.22.5: resolution: {integrity: sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-validator-identifier': 7.22.5 + '@babel/helper-validator-identifier': 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 + + /@babel/highlight@7.24.5: + resolution: {integrity: sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.24.5 chalk: 2.4.2 js-tokens: 4.0.0 + picocolors: 1.0.0 + dev: true /@babel/parser@7.22.7: resolution: {integrity: sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.23.3 + + /@babel/parser@7.24.5: + resolution: {integrity: sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.23.3 + dev: true + + /@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.5(@babel/core@7.24.5): + resolution: {integrity: sha512-LdXRi1wEMTrHVR4Zc9F8OewC3vdm5h4QB6L71zy6StmYeqGi1b3ttIO8UC+BfZKcH9jdr4aI249rBkm+3+YvHw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-plugin-utils': 7.24.5 + dev: true /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==} @@ -693,6 +977,16 @@ packages: '@babel/core': 7.22.9 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==} engines: {node: '>=6.9.0'} @@ -704,6 +998,29 @@ packages: '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/plugin-transform-optional-chaining': 7.22.6(@babel/core@7.22.9) + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.13.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/plugin-transform-optional-chaining': 7.24.5(@babel/core@7.24.5) + dev: true + + /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-external-helpers@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-ngnNEWxmykPk82mH4ajZT0qTztr3Je6hrMuKAslZVM8G1YZTENJSYwrIGtt6KOtznug3exmAtF4so/nPqJuA4A==} engines: {node: '>=6.9.0'} @@ -717,17 +1034,19 @@ packages: /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.22.9): resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.22.9 - '@babel/helper-create-class-features-plugin': 7.22.9(@babel/core@7.22.9) + '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.22.9) '@babel/helper-plugin-utils': 7.22.5 dev: false /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.22.9): resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -747,9 +1066,19 @@ packages: dependencies: '@babel/core': 7.22.9 + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.5): + resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + dev: true + /@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.22.9): resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} engines: {node: '>=4'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-unicode-property-regex instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -765,6 +1094,15 @@ packages: '@babel/core': 7.22.9 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.5): + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.22.9): resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} peerDependencies: @@ -782,6 +1120,15 @@ packages: '@babel/core': 7.22.9 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.5): + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.22.9): resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} @@ -791,7 +1138,17 @@ packages: '@babel/core': 7.22.9 '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.22.9): + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.5): + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.22.9): resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -799,6 +1156,15 @@ packages: '@babel/core': 7.22.9 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.5): + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.22.9): resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: @@ -807,6 +1173,15 @@ packages: '@babel/core': 7.22.9 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.5): + resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-syntax-import-assertions@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==} engines: {node: '>=6.9.0'} @@ -816,6 +1191,16 @@ packages: '@babel/core': 7.22.9 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==} engines: {node: '>=6.9.0'} @@ -825,6 +1210,16 @@ packages: '@babel/core': 7.22.9 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-syntax-import-attributes@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.22.9): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: @@ -833,6 +1228,15 @@ packages: '@babel/core': 7.22.9 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.5): + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.22.9): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: @@ -841,6 +1245,15 @@ packages: '@babel/core': 7.22.9 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.5): + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} engines: {node: '>=6.9.0'} @@ -858,6 +1271,15 @@ packages: '@babel/core': 7.22.9 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.5): + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.22.9): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: @@ -866,6 +1288,15 @@ packages: '@babel/core': 7.22.9 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.5): + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.22.9): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: @@ -874,6 +1305,15 @@ packages: '@babel/core': 7.22.9 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.5): + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.22.9): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: @@ -882,6 +1322,15 @@ packages: '@babel/core': 7.22.9 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.5): + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.22.9): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: @@ -890,6 +1339,15 @@ packages: '@babel/core': 7.22.9 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.5): + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.22.9): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: @@ -898,6 +1356,15 @@ packages: '@babel/core': 7.22.9 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.5): + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.22.9): resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} @@ -907,6 +1374,16 @@ packages: '@babel/core': 7.22.9 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.5): + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.22.9): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} @@ -916,6 +1393,16 @@ packages: '@babel/core': 7.22.9 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.5): + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==} engines: {node: '>=6.9.0'} @@ -935,6 +1422,17 @@ packages: '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.9) '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.5): + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.24.5) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-transform-arrow-functions@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==} engines: {node: '>=6.9.0'} @@ -944,6 +1442,16 @@ packages: '@babel/core': 7.22.9 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-async-generator-functions@7.22.7(@babel/core@7.22.9): resolution: {integrity: sha512-7HmE7pk/Fmke45TODvxvkxRMV9RazV+ZZzhOL9AG8G29TLrr3jkjwF7uJfxZ30EoXpO+LJkq4oA8NjO2DTnEDg==} engines: {node: '>=6.9.0'} @@ -956,6 +1464,19 @@ packages: '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.22.9) '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.9) + /@babel/plugin-transform-async-generator-functions@7.24.3(@babel/core@7.24.5): + resolution: {integrity: sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.5) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.5) + dev: true + /@babel/plugin-transform-async-to-generator@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==} engines: {node: '>=6.9.0'} @@ -967,6 +1488,18 @@ packages: '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.22.9) + /@babel/plugin-transform-async-to-generator@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-module-imports': 7.24.3 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.5) + dev: true + /@babel/plugin-transform-block-scoped-functions@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==} engines: {node: '>=6.9.0'} @@ -976,6 +1509,16 @@ packages: '@babel/core': 7.22.9 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-block-scoping@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-EcACl1i5fSQ6bt+YGuU/XGCeZKStLmyVGytWkpyhCLeQVA0eu6Wtiw92V+I1T/hnezUv7j74dA/Ro69gWcU+hg==} engines: {node: '>=6.9.0'} @@ -985,6 +1528,16 @@ packages: '@babel/core': 7.22.9 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-block-scoping@7.24.5(@babel/core@7.24.5): + resolution: {integrity: sha512-sMfBc3OxghjC95BkYrYocHL3NaOplrcaunblzwXhGmlPwpmfsxr4vK+mBBt49r+S240vahmv+kUxkeKgs+haCw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-class-properties@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==} engines: {node: '>=6.9.0'} @@ -992,9 +1545,20 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.22.9 - '@babel/helper-create-class-features-plugin': 7.22.9(@babel/core@7.22.9) + '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.22.9) '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-class-properties@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.5) + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-class-static-block@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA==} engines: {node: '>=6.9.0'} @@ -1002,10 +1566,22 @@ packages: '@babel/core': ^7.12.0 dependencies: '@babel/core': 7.22.9 - '@babel/helper-create-class-features-plugin': 7.22.9(@babel/core@7.22.9) + '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.22.9) '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.9) + /@babel/plugin-transform-class-static-block@7.24.4(@babel/core@7.24.5): + resolution: {integrity: sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.5) + '@babel/helper-plugin-utils': 7.24.5 + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.5) + dev: true + /@babel/plugin-transform-classes@7.22.6(@babel/core@7.22.9): resolution: {integrity: sha512-58EgM6nuPNG6Py4Z3zSuu0xWu2VfodiMi72Jt5Kj2FECmaYk1RrTXA45z6KBFsu9tRgwQDwIiY4FXTt+YsSFAQ==} engines: {node: '>=6.9.0'} @@ -1023,6 +1599,23 @@ packages: '@babel/helper-split-export-declaration': 7.22.6 globals: 11.12.0 + /@babel/plugin-transform-classes@7.24.5(@babel/core@7.24.5): + resolution: {integrity: sha512-gWkLP25DFj2dwe9Ck8uwMOpko4YsqyfZJrOmqqcegeDYEbp7rmn4U6UQZNj08UF6MaX39XenSpKRCvpDRBtZ7Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.5) + '@babel/helper-split-export-declaration': 7.24.5 + globals: 11.12.0 + dev: true + /@babel/plugin-transform-computed-properties@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==} engines: {node: '>=6.9.0'} @@ -1033,6 +1626,17 @@ packages: '@babel/helper-plugin-utils': 7.22.5 '@babel/template': 7.22.5 + /@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/template': 7.24.0 + dev: true + /@babel/plugin-transform-destructuring@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-GfqcFuGW8vnEqTUBM7UtPd5A4q797LTvvwKxXTgRsFjoqaJiEg9deBG6kWeQYkVEL569NpnmpC0Pkr/8BLKGnQ==} engines: {node: '>=6.9.0'} @@ -1042,6 +1646,16 @@ packages: '@babel/core': 7.22.9 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-destructuring@7.24.5(@babel/core@7.24.5): + resolution: {integrity: sha512-SZuuLyfxvsm+Ah57I/i1HVjveBENYK9ue8MJ7qkc7ndoNjqquJiElzA7f5yaAXjyW2hKojosOTAQQRX50bPSVg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-dotall-regex@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==} engines: {node: '>=6.9.0'} @@ -1052,6 +1666,17 @@ packages: '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.9) '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-dotall-regex@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5) + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-duplicate-keys@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==} engines: {node: '>=6.9.0'} @@ -1061,6 +1686,16 @@ packages: '@babel/core': 7.22.9 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-duplicate-keys@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-dynamic-import@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ==} engines: {node: '>=6.9.0'} @@ -1071,6 +1706,17 @@ packages: '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.9) + /@babel/plugin-transform-dynamic-import@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.5) + dev: true + /@babel/plugin-transform-exponentiation-operator@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==} engines: {node: '>=6.9.0'} @@ -1081,6 +1727,17 @@ packages: '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-exponentiation-operator@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-export-namespace-from@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==} engines: {node: '>=6.9.0'} @@ -1091,6 +1748,17 @@ packages: '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.9) + /@babel/plugin-transform-export-namespace-from@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.5) + dev: true + /@babel/plugin-transform-for-of@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==} engines: {node: '>=6.9.0'} @@ -1100,6 +1768,17 @@ packages: '@babel/core': 7.22.9 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + dev: true + /@babel/plugin-transform-function-name@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==} engines: {node: '>=6.9.0'} @@ -1111,6 +1790,18 @@ packages: '@babel/helper-function-name': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-json-strings@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A==} engines: {node: '>=6.9.0'} @@ -1121,6 +1812,17 @@ packages: '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.9) + /@babel/plugin-transform-json-strings@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.5) + dev: true + /@babel/plugin-transform-literals@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==} engines: {node: '>=6.9.0'} @@ -1130,6 +1832,16 @@ packages: '@babel/core': 7.22.9 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-logical-assignment-operators@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA==} engines: {node: '>=6.9.0'} @@ -1140,6 +1852,17 @@ packages: '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.9) + /@babel/plugin-transform-logical-assignment-operators@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.5) + dev: true + /@babel/plugin-transform-member-expression-literals@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==} engines: {node: '>=6.9.0'} @@ -1149,6 +1872,16 @@ packages: '@babel/core': 7.22.9 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-modules-amd@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==} engines: {node: '>=6.9.0'} @@ -1159,6 +1892,17 @@ packages: '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.9) '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-modules-amd@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5) + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-modules-commonjs@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==} engines: {node: '>=6.9.0'} @@ -1170,17 +1914,42 @@ packages: '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-simple-access': 7.22.5 + /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5) + '@babel/helper-plugin-utils': 7.24.5 + '@babel/helper-simple-access': 7.24.5 + dev: true + /@babel/plugin-transform-modules-systemjs@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.9 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.9) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-identifier': 7.22.20 + + /@babel/plugin-transform-modules-systemjs@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.9) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-identifier': 7.22.5 + '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5) + '@babel/helper-plugin-utils': 7.24.5 + '@babel/helper-validator-identifier': 7.24.5 + dev: true /@babel/plugin-transform-modules-umd@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==} @@ -1192,6 +1961,17 @@ packages: '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.9) '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-modules-umd@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5) + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} engines: {node: '>=6.9.0'} @@ -1202,6 +1982,17 @@ packages: '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.9) '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.5): + resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.24.5) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-transform-new-target@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==} engines: {node: '>=6.9.0'} @@ -1211,6 +2002,16 @@ packages: '@babel/core': 7.22.9 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-new-target@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-nullish-coalescing-operator@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA==} engines: {node: '>=6.9.0'} @@ -1221,6 +2022,17 @@ packages: '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.9) + /@babel/plugin-transform-nullish-coalescing-operator@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.5) + dev: true + /@babel/plugin-transform-numeric-separator@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g==} engines: {node: '>=6.9.0'} @@ -1231,6 +2043,17 @@ packages: '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.9) + /@babel/plugin-transform-numeric-separator@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.5) + dev: true + /@babel/plugin-transform-object-rest-spread@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ==} engines: {node: '>=6.9.0'} @@ -1244,6 +2067,19 @@ packages: '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.9) '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.9) + /@babel/plugin-transform-object-rest-spread@7.24.5(@babel/core@7.24.5): + resolution: {integrity: sha512-7EauQHszLGM3ay7a161tTQH7fj+3vVM/gThlz5HpFtnygTxjrlvoeq7MPVA1Vy9Q555OB8SnAOsMkLShNkkrHA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-transform-parameters': 7.24.5(@babel/core@7.24.5) + dev: true + /@babel/plugin-transform-object-super@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==} engines: {node: '>=6.9.0'} @@ -1254,6 +2090,17 @@ packages: '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.9) + /@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.5) + dev: true + /@babel/plugin-transform-optional-catch-binding@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg==} engines: {node: '>=6.9.0'} @@ -1264,6 +2111,17 @@ packages: '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.9) + /@babel/plugin-transform-optional-catch-binding@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.5) + dev: true + /@babel/plugin-transform-optional-chaining@7.22.6(@babel/core@7.22.9): resolution: {integrity: sha512-Vd5HiWml0mDVtcLHIoEU5sw6HOUW/Zk0acLs/SAeuLzkGNOPc9DB4nkUajemhCmTIz3eiaKREZn2hQQqF79YTg==} engines: {node: '>=6.9.0'} @@ -1275,6 +2133,18 @@ packages: '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.9) + /@babel/plugin-transform-optional-chaining@7.24.5(@babel/core@7.24.5): + resolution: {integrity: sha512-xWCkmwKT+ihmA6l7SSTpk8e4qQl/274iNbSKRRS8mpqFR32ksy36+a+LWY8OXCCEefF8WFlnOHVsaDI2231wBg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.5) + dev: true + /@babel/plugin-transform-parameters@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==} engines: {node: '>=6.9.0'} @@ -1284,6 +2154,16 @@ packages: '@babel/core': 7.22.9 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-parameters@7.24.5(@babel/core@7.24.5): + resolution: {integrity: sha512-9Co00MqZ2aoky+4j2jhofErthm6QVLKbpQrvz20c3CH9KQCLHyNB+t2ya4/UrRpQGR+Wrwjg9foopoeSdnHOkA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-private-methods@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==} engines: {node: '>=6.9.0'} @@ -1291,9 +2171,20 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.22.9 - '@babel/helper-create-class-features-plugin': 7.22.9(@babel/core@7.22.9) + '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.22.9) '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-private-methods@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.5) + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-private-property-in-object@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==} engines: {node: '>=6.9.0'} @@ -1302,10 +2193,23 @@ packages: dependencies: '@babel/core': 7.22.9 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.9(@babel/core@7.22.9) + '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.22.9) '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.9) + /@babel/plugin-transform-private-property-in-object@7.24.5(@babel/core@7.24.5): + resolution: {integrity: sha512-JM4MHZqnWR04jPMujQDTBVRnqxpLLpx2tkn7iPn+Hmsc0Gnb79yvRWOkvqFOx3Z7P7VxiRIR22c4eGSNj87OBQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.5) + '@babel/helper-plugin-utils': 7.24.5 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.5) + dev: true + /@babel/plugin-transform-property-literals@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==} engines: {node: '>=6.9.0'} @@ -1315,6 +2219,16 @@ packages: '@babel/core': 7.22.9 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-react-display-name@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==} engines: {node: '>=6.9.0'} @@ -1346,7 +2260,7 @@ packages: '@babel/helper-module-imports': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.9) - '@babel/types': 7.22.5 + '@babel/types': 7.23.3 dev: false /@babel/plugin-transform-react-pure-annotations@7.22.5(@babel/core@7.22.9): @@ -1370,6 +2284,17 @@ packages: '@babel/helper-plugin-utils': 7.22.5 regenerator-transform: 0.15.1 + /@babel/plugin-transform-regenerator@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + regenerator-transform: 0.15.2 + dev: true + /@babel/plugin-transform-reserved-words@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==} engines: {node: '>=6.9.0'} @@ -1379,6 +2304,16 @@ packages: '@babel/core': 7.22.9 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-reserved-words@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-shorthand-properties@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==} engines: {node: '>=6.9.0'} @@ -1388,6 +2323,16 @@ packages: '@babel/core': 7.22.9 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-spread@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==} engines: {node: '>=6.9.0'} @@ -1398,6 +2343,17 @@ packages: '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + /@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + dev: true + /@babel/plugin-transform-sticky-regex@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==} engines: {node: '>=6.9.0'} @@ -1407,6 +2363,16 @@ packages: '@babel/core': 7.22.9 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-sticky-regex@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-template-literals@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==} engines: {node: '>=6.9.0'} @@ -1416,6 +2382,16 @@ packages: '@babel/core': 7.22.9 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-typeof-symbol@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==} engines: {node: '>=6.9.0'} @@ -1425,6 +2401,16 @@ packages: '@babel/core': 7.22.9 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-typeof-symbol@7.24.5(@babel/core@7.24.5): + resolution: {integrity: sha512-UTGnhYVZtTAjdwOTzT+sCyXmTn8AhaxOS/MjG9REclZ6ULHWF9KoCZur0HSGU7hk8PdBFKKbYe6+gqdXWz84Jg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-typescript@7.22.10(@babel/core@7.22.9): resolution: {integrity: sha512-7++c8I/ymsDo4QQBAgbraXLzIM6jmfao11KgIBEYZRReWzNWH9NtNgJcyrZiXsOPh523FQm6LfpLyy/U5fn46A==} engines: {node: '>=6.9.0'} @@ -1447,6 +2433,16 @@ packages: '@babel/core': 7.22.9 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-unicode-escapes@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-unicode-property-regex@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==} engines: {node: '>=6.9.0'} @@ -1457,6 +2453,17 @@ packages: '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.9) '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-unicode-property-regex@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5) + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-unicode-regex@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==} engines: {node: '>=6.9.0'} @@ -1467,6 +2474,17 @@ packages: '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.9) '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-unicode-regex@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5) + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-unicode-sets-regex@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==} engines: {node: '>=6.9.0'} @@ -1477,6 +2495,17 @@ packages: '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.9) '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-unicode-sets-regex@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5) + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/preset-env@7.22.9(@babel/core@7.22.9): resolution: {integrity: sha512-wNi5H/Emkhll/bqPjsjQorSykrlfY5OWakd6AulLvMEytpKasMVUpVy8RL4qBIBs5Ac6/5i0/Rv0b/Fg6Eag/g==} engines: {node: '>=6.9.0'} @@ -1558,7 +2587,7 @@ packages: '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.22.9) '@babel/plugin-transform-unicode-sets-regex': 7.22.5(@babel/core@7.22.9) '@babel/preset-modules': 0.1.6(@babel/core@7.22.9) - '@babel/types': 7.22.5 + '@babel/types': 7.23.3 babel-plugin-polyfill-corejs2: 0.4.5(@babel/core@7.22.9) babel-plugin-polyfill-corejs3: 0.8.3(@babel/core@7.22.9) babel-plugin-polyfill-regenerator: 0.5.2(@babel/core@7.22.9) @@ -1567,6 +2596,98 @@ packages: transitivePeerDependencies: - supports-color + /@babel/preset-env@7.24.5(@babel/core@7.24.5): + resolution: {integrity: sha512-UGK2ifKtcC8i5AI4cH+sbLLuLc2ktYSFJgBAXorKAsHUZmrQ1q6aQ6i3BvU24wWs2AAKqQB6kq3N9V9Gw1HiMQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.24.4 + '@babel/core': 7.24.5 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/helper-validator-option': 7.23.5 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.24.5(@babel/core@7.24.5) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.5) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.5) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.5) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.5) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-import-assertions': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-syntax-import-attributes': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.5) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.5) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.5) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.5) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.5) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.5) + '@babel/plugin-transform-arrow-functions': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-async-generator-functions': 7.24.3(@babel/core@7.24.5) + '@babel/plugin-transform-async-to-generator': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-block-scoped-functions': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-block-scoping': 7.24.5(@babel/core@7.24.5) + '@babel/plugin-transform-class-properties': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-class-static-block': 7.24.4(@babel/core@7.24.5) + '@babel/plugin-transform-classes': 7.24.5(@babel/core@7.24.5) + '@babel/plugin-transform-computed-properties': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-destructuring': 7.24.5(@babel/core@7.24.5) + '@babel/plugin-transform-dotall-regex': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-duplicate-keys': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-dynamic-import': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-exponentiation-operator': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-export-namespace-from': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-for-of': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-function-name': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-json-strings': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-literals': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-logical-assignment-operators': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-member-expression-literals': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-modules-amd': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-modules-systemjs': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-modules-umd': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.5) + '@babel/plugin-transform-new-target': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-nullish-coalescing-operator': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-numeric-separator': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-object-rest-spread': 7.24.5(@babel/core@7.24.5) + '@babel/plugin-transform-object-super': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-optional-catch-binding': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-optional-chaining': 7.24.5(@babel/core@7.24.5) + '@babel/plugin-transform-parameters': 7.24.5(@babel/core@7.24.5) + '@babel/plugin-transform-private-methods': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-private-property-in-object': 7.24.5(@babel/core@7.24.5) + '@babel/plugin-transform-property-literals': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-regenerator': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-reserved-words': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-shorthand-properties': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-spread': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-sticky-regex': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-template-literals': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-typeof-symbol': 7.24.5(@babel/core@7.24.5) + '@babel/plugin-transform-unicode-escapes': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-unicode-property-regex': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-unicode-regex': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-unicode-sets-regex': 7.24.1(@babel/core@7.24.5) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.5) + babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.24.5) + babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.5) + babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.24.5) + core-js-compat: 3.37.0 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/preset-modules@0.1.6(@babel/core@7.22.9): resolution: {integrity: sha512-ID2yj6K/4lKfhuU3+EX4UvNbIt7eACFbHmNUjzA+ep+B5971CknnA/9DEWKbRokfbbtblxxxXFJJrH47UEAMVg==} peerDependencies: @@ -1576,8 +2697,19 @@ packages: '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.22.9) '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.22.9) - '@babel/types': 7.22.5 + '@babel/types': 7.23.3 + esutils: 2.0.3 + + /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.5): + resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} + peerDependencies: + '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/types': 7.24.5 esutils: 2.0.3 + dev: true /@babel/preset-react@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-M+Is3WikOpEJHgR385HbuCITPTaPRaNkibTEa9oiofmJvIsrceb4yp9RL9Kb+TE8LznmeyZqpP+Lopwcx59xPQ==} @@ -1617,13 +2749,29 @@ packages: dependencies: regenerator-runtime: 0.13.11 + /@babel/runtime@7.24.5: + resolution: {integrity: sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.14.1 + dev: true + /@babel/template@7.22.5: resolution: {integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.22.5 '@babel/parser': 7.22.7 - '@babel/types': 7.22.5 + '@babel/types': 7.23.3 + + /@babel/template@7.24.0: + resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.24.2 + '@babel/parser': 7.24.5 + '@babel/types': 7.24.5 + dev: true /@babel/traverse@7.22.8: resolution: {integrity: sha512-y6LPR+wpM2I3qJrsheCTwhIinzkETbplIgPBbwvqPKc+uljeA5gP+3nP8irdYt1mjQaDnlIcG+dw8OjAco4GXw==} @@ -1636,19 +2784,29 @@ packages: '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 '@babel/parser': 7.22.7 - '@babel/types': 7.22.5 + '@babel/types': 7.23.3 debug: 4.3.4(supports-color@9.4.0) globals: 11.12.0 transitivePeerDependencies: - supports-color - /@babel/types@7.22.5: - resolution: {integrity: sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==} + /@babel/traverse@7.24.5: + resolution: {integrity: sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-string-parser': 7.22.5 - '@babel/helper-validator-identifier': 7.22.5 - to-fast-properties: 2.0.0 + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.24.5 + '@babel/parser': 7.24.5 + '@babel/types': 7.24.5 + debug: 4.3.4(supports-color@9.4.0) + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true /@babel/types@7.23.3: resolution: {integrity: sha512-OZnvoH2l8PK5eUvEcUyCt/sXgr/h+UWpVuBbOljwcrAgUl6lpchoQ++PHGyQy1AtYnVA6CEq3y5xeEI10brpXw==} @@ -1657,6 +2815,14 @@ packages: '@babel/helper-string-parser': 7.22.5 '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 + + /@babel/types@7.24.5: + resolution: {integrity: sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.24.1 + '@babel/helper-validator-identifier': 7.24.5 + to-fast-properties: 2.0.0 dev: true /@bcoe/v8-coverage@0.2.3: @@ -1836,6 +3002,15 @@ packages: resolution: {integrity: sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==} dev: false + /@esbuild/aix-ppc64@0.20.2: + resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + dev: true + optional: true + /@esbuild/android-arm64@0.19.2: resolution: {integrity: sha512-lsB65vAbe90I/Qe10OjkmrdxSX4UJDjosDgb8sZUKcg3oefEuW2OT2Vozz8ef7wrJbMcmhvCC+hciF8jY/uAkw==} engines: {node: '>=12'} @@ -1854,6 +3029,15 @@ packages: dev: true optional: true + /@esbuild/android-arm64@0.20.2: + resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + /@esbuild/android-arm@0.19.2: resolution: {integrity: sha512-tM8yLeYVe7pRyAu9VMi/Q7aunpLwD139EY1S99xbQkT4/q2qa6eA4ige/WJQYdJ8GBL1K33pPFhPfPdJ/WzT8Q==} engines: {node: '>=12'} @@ -1872,6 +3056,15 @@ packages: dev: true optional: true + /@esbuild/android-arm@0.20.2: + resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + /@esbuild/android-x64@0.19.2: resolution: {integrity: sha512-qK/TpmHt2M/Hg82WXHRc/W/2SGo/l1thtDHZWqFq7oi24AjZ4O/CpPSu6ZuYKFkEgmZlFoa7CooAyYmuvnaG8w==} engines: {node: '>=12'} @@ -1890,6 +3083,15 @@ packages: dev: true optional: true + /@esbuild/android-x64@0.20.2: + resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + /@esbuild/darwin-arm64@0.19.2: resolution: {integrity: sha512-Ora8JokrvrzEPEpZO18ZYXkH4asCdc1DLdcVy8TGf5eWtPO1Ie4WroEJzwI52ZGtpODy3+m0a2yEX9l+KUn0tA==} engines: {node: '>=12'} @@ -1908,6 +3110,15 @@ packages: dev: true optional: true + /@esbuild/darwin-arm64@0.20.2: + resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /@esbuild/darwin-x64@0.19.2: resolution: {integrity: sha512-tP+B5UuIbbFMj2hQaUr6EALlHOIOmlLM2FK7jeFBobPy2ERdohI4Ka6ZFjZ1ZYsrHE/hZimGuU90jusRE0pwDw==} engines: {node: '>=12'} @@ -1926,6 +3137,15 @@ packages: dev: true optional: true + /@esbuild/darwin-x64@0.20.2: + resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /@esbuild/freebsd-arm64@0.19.2: resolution: {integrity: sha512-YbPY2kc0acfzL1VPVK6EnAlig4f+l8xmq36OZkU0jzBVHcOTyQDhnKQaLzZudNJQyymd9OqQezeaBgkTGdTGeQ==} engines: {node: '>=12'} @@ -1944,6 +3164,15 @@ packages: dev: true optional: true + /@esbuild/freebsd-arm64@0.20.2: + resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/freebsd-x64@0.19.2: resolution: {integrity: sha512-nSO5uZT2clM6hosjWHAsS15hLrwCvIWx+b2e3lZ3MwbYSaXwvfO528OF+dLjas1g3bZonciivI8qKR/Hm7IWGw==} engines: {node: '>=12'} @@ -1962,6 +3191,15 @@ packages: dev: true optional: true + /@esbuild/freebsd-x64@0.20.2: + resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-arm64@0.19.2: resolution: {integrity: sha512-ig2P7GeG//zWlU0AggA3pV1h5gdix0MA3wgB+NsnBXViwiGgY77fuN9Wr5uoCrs2YzaYfogXgsWZbm+HGr09xg==} engines: {node: '>=12'} @@ -1980,6 +3218,15 @@ packages: dev: true optional: true + /@esbuild/linux-arm64@0.20.2: + resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-arm@0.19.2: resolution: {integrity: sha512-Odalh8hICg7SOD7XCj0YLpYCEc+6mkoq63UnExDCiRA2wXEmGlK5JVrW50vZR9Qz4qkvqnHcpH+OFEggO3PgTg==} engines: {node: '>=12'} @@ -1998,6 +3245,15 @@ packages: dev: true optional: true + /@esbuild/linux-arm@0.20.2: + resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-ia32@0.19.2: resolution: {integrity: sha512-mLfp0ziRPOLSTek0Gd9T5B8AtzKAkoZE70fneiiyPlSnUKKI4lp+mGEnQXcQEHLJAcIYDPSyBvsUbKUG2ri/XQ==} engines: {node: '>=12'} @@ -2016,6 +3272,15 @@ packages: dev: true optional: true + /@esbuild/linux-ia32@0.20.2: + resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-loong64@0.19.2: resolution: {integrity: sha512-hn28+JNDTxxCpnYjdDYVMNTR3SKavyLlCHHkufHV91fkewpIyQchS1d8wSbmXhs1fiYDpNww8KTFlJ1dHsxeSw==} engines: {node: '>=12'} @@ -2034,6 +3299,15 @@ packages: dev: true optional: true + /@esbuild/linux-loong64@0.20.2: + resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-mips64el@0.19.2: resolution: {integrity: sha512-KbXaC0Sejt7vD2fEgPoIKb6nxkfYW9OmFUK9XQE4//PvGIxNIfPk1NmlHmMg6f25x57rpmEFrn1OotASYIAaTg==} engines: {node: '>=12'} @@ -2052,6 +3326,15 @@ packages: dev: true optional: true + /@esbuild/linux-mips64el@0.20.2: + resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-ppc64@0.19.2: resolution: {integrity: sha512-dJ0kE8KTqbiHtA3Fc/zn7lCd7pqVr4JcT0JqOnbj4LLzYnp+7h8Qi4yjfq42ZlHfhOCM42rBh0EwHYLL6LEzcw==} engines: {node: '>=12'} @@ -2070,6 +3353,15 @@ packages: dev: true optional: true + /@esbuild/linux-ppc64@0.20.2: + resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-riscv64@0.19.2: resolution: {integrity: sha512-7Z/jKNFufZ/bbu4INqqCN6DDlrmOTmdw6D0gH+6Y7auok2r02Ur661qPuXidPOJ+FSgbEeQnnAGgsVynfLuOEw==} engines: {node: '>=12'} @@ -2088,6 +3380,15 @@ packages: dev: true optional: true + /@esbuild/linux-riscv64@0.20.2: + resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-s390x@0.19.2: resolution: {integrity: sha512-U+RinR6aXXABFCcAY4gSlv4CL1oOVvSSCdseQmGO66H+XyuQGZIUdhG56SZaDJQcLmrSfRmx5XZOWyCJPRqS7g==} engines: {node: '>=12'} @@ -2106,6 +3407,15 @@ packages: dev: true optional: true + /@esbuild/linux-s390x@0.20.2: + resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-x64@0.19.2: resolution: {integrity: sha512-oxzHTEv6VPm3XXNaHPyUTTte+3wGv7qVQtqaZCrgstI16gCuhNOtBXLEBkBREP57YTd68P0VgDgG73jSD8bwXQ==} engines: {node: '>=12'} @@ -2124,6 +3434,15 @@ packages: dev: true optional: true + /@esbuild/linux-x64@0.20.2: + resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/netbsd-x64@0.19.2: resolution: {integrity: sha512-WNa5zZk1XpTTwMDompZmvQLHszDDDN7lYjEHCUmAGB83Bgs20EMs7ICD+oKeT6xt4phV4NDdSi/8OfjPbSbZfQ==} engines: {node: '>=12'} @@ -2142,6 +3461,15 @@ packages: dev: true optional: true + /@esbuild/netbsd-x64@0.20.2: + resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/openbsd-x64@0.19.2: resolution: {integrity: sha512-S6kI1aT3S++Dedb7vxIuUOb3oAxqxk2Rh5rOXOTYnzN8JzW1VzBd+IqPiSpgitu45042SYD3HCoEyhLKQcDFDw==} engines: {node: '>=12'} @@ -2160,6 +3488,15 @@ packages: dev: true optional: true + /@esbuild/openbsd-x64@0.20.2: + resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/sunos-x64@0.19.2: resolution: {integrity: sha512-VXSSMsmb+Z8LbsQGcBMiM+fYObDNRm8p7tkUDMPG/g4fhFX5DEFmjxIEa3N8Zr96SjsJ1woAhF0DUnS3MF3ARw==} engines: {node: '>=12'} @@ -2178,6 +3515,15 @@ packages: dev: true optional: true + /@esbuild/sunos-x64@0.20.2: + resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + /@esbuild/win32-arm64@0.19.2: resolution: {integrity: sha512-5NayUlSAyb5PQYFAU9x3bHdsqB88RC3aM9lKDAz4X1mo/EchMIT1Q+pSeBXNgkfNmRecLXA0O8xP+x8V+g/LKg==} engines: {node: '>=12'} @@ -2196,6 +3542,15 @@ packages: dev: true optional: true + /@esbuild/win32-arm64@0.20.2: + resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@esbuild/win32-ia32@0.19.2: resolution: {integrity: sha512-47gL/ek1v36iN0wL9L4Q2MFdujR0poLZMJwhO2/N3gA89jgHp4MR8DKCmwYtGNksbfJb9JoTtbkoe6sDhg2QTA==} engines: {node: '>=12'} @@ -2214,6 +3569,15 @@ packages: dev: true optional: true + /@esbuild/win32-ia32@0.20.2: + resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@esbuild/win32-x64@0.19.2: resolution: {integrity: sha512-tcuhV7ncXBqbt/Ybf0IyrMcwVOAPDckMK9rXNHtF17UTK18OKLpg08glminN06pt2WCoALhXdLfSPbVvK/6fxw==} engines: {node: '>=12'} @@ -2232,14 +3596,28 @@ packages: dev: true optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.23.0): + /@esbuild/win32-x64@0.20.2: + resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.23.0 - eslint-visitor-keys: 3.4.2 + eslint: 8.57.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@eslint-community/regexpp@4.10.0: + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true /@eslint-community/regexpp@4.6.2: @@ -2247,8 +3625,8 @@ packages: engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true - /@eslint/eslintrc@1.4.1: - resolution: {integrity: sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==} + /@eslint/eslintrc@2.1.4: + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 @@ -2262,6 +3640,12 @@ packages: strip-json-comments: 3.1.1 transitivePeerDependencies: - supports-color + dev: true + + /@eslint/js@8.57.0: + resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true /@esm-bundle/chai@4.3.4: resolution: {integrity: sha512-6Tx35wWiNw7X0nLY9RMx8v3EL8SacCFW+eEZOE9Hc+XxmU5HFE2AFEg+GehUZpiyDGwVvPH75ckGlqC7coIPnA==} @@ -2385,30 +3769,30 @@ packages: - supports-color dev: true - /@humanwhocodes/config-array@0.10.7: - resolution: {integrity: sha512-MDl6D6sBsaV452/QSdX+4CXIjZhIcI0PELsxUjk4U828yd58vk3bTIvk/6w5FY+4hIy9sLW0sfrV7K7Kc++j/w==} + /@humanwhocodes/config-array@0.11.14: + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} dependencies: - '@humanwhocodes/object-schema': 1.2.1 + '@humanwhocodes/object-schema': 2.0.3 debug: 4.3.4(supports-color@9.4.0) minimatch: 3.1.2 transitivePeerDependencies: - supports-color - - /@humanwhocodes/gitignore-to-minimatch@1.0.2: - resolution: {integrity: sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==} + dev: true /@humanwhocodes/module-importer@1.0.1: resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} + dev: true /@humanwhocodes/momoa@2.0.4: resolution: {integrity: sha512-RE815I4arJFtt+FVeU1Tgp9/Xvecacji8w/V6XtXsWWH/wz/eNkNbhb+ny/+PlVZjV0rxQpRSQKNKE3lcktHEA==} engines: {node: '>=10.10.0'} dev: true - /@humanwhocodes/object-schema@1.2.1: - resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} + /@humanwhocodes/object-schema@2.0.3: + resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} + dev: true /@import-maps/resolve@1.0.1: resolution: {integrity: sha512-tWZNBIS1CoekcwlMuyG2mr0a1Wo5lb5lEHwwWvZo+5GLgr3e9LLDTtmgtCWEwBpXMkxn9D+2W9j2FY6eZQq0tA==} @@ -2663,14 +4047,33 @@ packages: '@jridgewell/sourcemap-codec': 1.4.15 '@jridgewell/trace-mapping': 0.3.18 + /@jridgewell/gen-mapping@0.3.5: + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.25 + dev: true + /@jridgewell/resolve-uri@3.1.0: resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} engines: {node: '>=6.0.0'} + /@jridgewell/resolve-uri@3.1.2: + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + dev: true + /@jridgewell/set-array@1.1.2: resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} engines: {node: '>=6.0.0'} + /@jridgewell/set-array@1.2.1: + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + dev: true + /@jridgewell/source-map@0.3.5: resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==} dependencies: @@ -2678,6 +4081,13 @@ packages: '@jridgewell/trace-mapping': 0.3.18 dev: true + /@jridgewell/source-map@0.3.6: + resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + dev: true + /@jridgewell/sourcemap-codec@1.4.14: resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} @@ -2690,6 +4100,13 @@ packages: '@jridgewell/resolve-uri': 3.1.0 '@jridgewell/sourcemap-codec': 1.4.14 + /@jridgewell/trace-mapping@0.3.25: + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + /@jridgewell/trace-mapping@0.3.9: resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} dependencies: @@ -2718,6 +4135,49 @@ packages: transitivePeerDependencies: - encoding - supports-color + + /@microsoft/api-extractor-model@7.28.13(@types/node@20.11.5): + resolution: {integrity: sha512-39v/JyldX4MS9uzHcdfmjjfS6cYGAoXV+io8B5a338pkHiSt+gy2eXQ0Q7cGFJ7quSa1VqqlMdlPrB6sLR/cAw==} + dependencies: + '@microsoft/tsdoc': 0.14.2 + '@microsoft/tsdoc-config': 0.16.2 + '@rushstack/node-core-library': 4.0.2(@types/node@20.11.5) + transitivePeerDependencies: + - '@types/node' + dev: true + + /@microsoft/api-extractor@7.43.0(@types/node@20.11.5): + resolution: {integrity: sha512-GFhTcJpB+MI6FhvXEI9b2K0snulNLWHqC/BbcJtyNYcKUiw7l3Lgis5ApsYncJ0leALX7/of4XfmXk+maT111w==} + hasBin: true + dependencies: + '@microsoft/api-extractor-model': 7.28.13(@types/node@20.11.5) + '@microsoft/tsdoc': 0.14.2 + '@microsoft/tsdoc-config': 0.16.2 + '@rushstack/node-core-library': 4.0.2(@types/node@20.11.5) + '@rushstack/rig-package': 0.5.2 + '@rushstack/terminal': 0.10.0(@types/node@20.11.5) + '@rushstack/ts-command-line': 4.19.1(@types/node@20.11.5) + lodash: 4.17.21 + minimatch: 3.0.8 + resolve: 1.22.3 + semver: 7.5.4 + source-map: 0.6.1 + typescript: 5.4.2 + transitivePeerDependencies: + - '@types/node' + dev: true + + /@microsoft/tsdoc-config@0.16.2: + resolution: {integrity: sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==} + dependencies: + '@microsoft/tsdoc': 0.14.2 + ajv: 6.12.6 + jju: 1.4.0 + resolve: 1.19.0 + dev: true + + /@microsoft/tsdoc@0.14.2: + resolution: {integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==} dev: true /@netlify/binary-info@1.0.0: @@ -3082,6 +4542,48 @@ packages: urlpattern-polyfill: 8.0.2 dev: true + /@netlify/zip-it-and-ship-it@9.17.0: + resolution: {integrity: sha512-7wnrWxtczXzBMYh9QXmvG9WkCJSyK+abQGdhwSoZcFPQ0u0HZzY/9rU8jLcRnTodEK20lZPil60FRU/Nta5spg==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + dependencies: + '@babel/parser': 7.22.7 + '@netlify/binary-info': 1.0.0 + '@netlify/serverless-functions-api': 1.12.1 + '@vercel/nft': 0.23.1(supports-color@9.4.0) + archiver: 5.3.2 + common-path-prefix: 3.0.0 + cp-file: 10.0.0 + es-module-lexer: 1.4.1 + esbuild: 0.19.2 + execa: 6.1.0 + filter-obj: 5.1.0 + find-up: 6.3.0 + get-tsconfig: 4.7.2 + glob: 8.1.0 + is-builtin-module: 3.2.1 + is-path-inside: 4.0.0 + junk: 4.0.1 + locate-path: 7.2.0 + merge-options: 3.0.4 + minimatch: 9.0.3 + normalize-path: 3.0.0 + p-map: 5.5.0 + path-exists: 5.0.0 + precinct: 11.0.5 + require-package-name: 2.0.1 + resolve: 2.0.0-next.4 + semver: 7.5.4 + tmp-promise: 3.0.3 + toml: 3.0.0 + unixify: 1.0.0 + urlpattern-polyfill: 8.0.2 + yargs: 17.7.2 + transitivePeerDependencies: + - encoding + - supports-color + dev: true + /@netlify/zip-it-and-ship-it@9.17.0(supports-color@9.4.0): resolution: {integrity: sha512-7wnrWxtczXzBMYh9QXmvG9WkCJSyK+abQGdhwSoZcFPQ0u0HZzY/9rU8jLcRnTodEK20lZPil60FRU/Nta5spg==} engines: {node: ^14.18.0 || >=16.0.0} @@ -3187,10 +4689,12 @@ packages: dependencies: '@nodelib/fs.stat': 2.0.5 run-parallel: 1.2.0 + dev: true /@nodelib/fs.stat@2.0.5: resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} engines: {node: '>= 8'} + dev: true /@nodelib/fs.walk@1.2.8: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} @@ -3198,6 +4702,7 @@ packages: dependencies: '@nodelib/fs.scandir': 2.1.5 fastq: 1.15.0 + dev: true /@octokit/auth-token@3.0.4: resolution: {integrity: sha512-TWFX7cZF2LXoCvdmJWY7XVPi74aSY0+FfBZNSXEXFkMpjcqsQwDSYVv5FhRFaI0V1ECnwbz4j59T/G+rXNWaIQ==} @@ -3481,7 +4986,7 @@ packages: dependencies: '@opentelemetry/api': 1.7.0 require-in-the-middle: 6.0.0(supports-color@9.4.0) - semver: 7.5.4 + semver: 7.6.0 shimmer: 1.2.1 transitivePeerDependencies: - supports-color @@ -3660,7 +5165,7 @@ packages: '@opentelemetry/propagator-b3': 1.10.1(@opentelemetry/api@1.7.0) '@opentelemetry/propagator-jaeger': 1.10.1(@opentelemetry/api@1.7.0) '@opentelemetry/sdk-trace-base': 1.10.1(@opentelemetry/api@1.7.0) - semver: 7.5.4 + semver: 7.6.0 dev: true /@opentelemetry/semantic-conventions@1.10.1: @@ -3673,6 +5178,11 @@ packages: engines: {node: '>=14'} dev: true + /@pkgr/core@0.1.1: + resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + dev: true + /@playwright/test@1.43.1: resolution: {integrity: sha512-HgtQzFgNEEo4TE22K/X7sYTYNqEMMTZmFS8kTq6m8hXj+m1D8TgwgIbumHddJa9h4yl4GkKb8/bgAl2+g7eDgA==} engines: {node: '>=16'} @@ -3757,7 +5267,7 @@ packages: '@babel/runtime': 7.22.6 dev: false - /@radix-ui/react-arrow@1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-arrow@1.0.3(@types/react-dom@18.2.14)(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA==} peerDependencies: '@types/react': '*' @@ -3771,14 +5281,14 @@ packages: optional: true dependencies: '@babel/runtime': 7.22.6 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.34 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.3.1 '@types/react-dom': 18.2.14 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-collection@1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-collection@1.0.3(@types/react-dom@18.2.14)(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==} peerDependencies: '@types/react': '*' @@ -3792,17 +5302,17 @@ packages: optional: true dependencies: '@babel/runtime': 7.22.6 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.34)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.34)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.34)(react@18.2.0) - '@types/react': 18.2.34 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.1)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.3.1)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.3.1)(react@18.2.0) + '@types/react': 18.3.1 '@types/react-dom': 18.2.14 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.34)(react@18.2.0): + /@radix-ui/react-compose-refs@1.0.1(@types/react@18.3.1)(react@18.2.0): resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==} peerDependencies: '@types/react': '*' @@ -3812,11 +5322,11 @@ packages: optional: true dependencies: '@babel/runtime': 7.22.6 - '@types/react': 18.2.34 + '@types/react': 18.3.1 react: 18.2.0 dev: false - /@radix-ui/react-context@1.0.1(@types/react@18.2.34)(react@18.2.0): + /@radix-ui/react-context@1.0.1(@types/react@18.3.1)(react@18.2.0): resolution: {integrity: sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==} peerDependencies: '@types/react': '*' @@ -3826,11 +5336,11 @@ packages: optional: true dependencies: '@babel/runtime': 7.22.6 - '@types/react': 18.2.34 + '@types/react': 18.3.1 react: 18.2.0 dev: false - /@radix-ui/react-direction@1.0.1(@types/react@18.2.34)(react@18.2.0): + /@radix-ui/react-direction@1.0.1(@types/react@18.3.1)(react@18.2.0): resolution: {integrity: sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==} peerDependencies: '@types/react': '*' @@ -3840,11 +5350,11 @@ packages: optional: true dependencies: '@babel/runtime': 7.22.6 - '@types/react': 18.2.34 + '@types/react': 18.3.1 react: 18.2.0 dev: false - /@radix-ui/react-dismissable-layer@1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-dismissable-layer@1.0.4(@types/react-dom@18.2.14)(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-7UpBa/RKMoHJYjie1gkF1DlK8l1fdU/VKDpoS3rCCo8YBJR294GwcEHyxHw72yvphJ7ld0AXEcSLAzY2F/WyCg==} peerDependencies: '@types/react': '*' @@ -3859,17 +5369,17 @@ packages: dependencies: '@babel/runtime': 7.22.6 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.34)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.34)(react@18.2.0) - '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.2.34)(react@18.2.0) - '@types/react': 18.2.34 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.1)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.1)(react@18.2.0) + '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.3.1)(react@18.2.0) + '@types/react': 18.3.1 '@types/react-dom': 18.2.14 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-focus-guards@1.0.1(@types/react@18.2.34)(react@18.2.0): + /@radix-ui/react-focus-guards@1.0.1(@types/react@18.3.1)(react@18.2.0): resolution: {integrity: sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==} peerDependencies: '@types/react': '*' @@ -3879,11 +5389,11 @@ packages: optional: true dependencies: '@babel/runtime': 7.22.6 - '@types/react': 18.2.34 + '@types/react': 18.3.1 react: 18.2.0 dev: false - /@radix-ui/react-focus-scope@1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-focus-scope@1.0.3(@types/react-dom@18.2.14)(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-upXdPfqI4islj2CslyfUBNlaJCPybbqRHAi1KER7Isel9Q2AtSJ0zRBZv8mWQiFXD2nyAJ4BhC3yXgZ6kMBSrQ==} peerDependencies: '@types/react': '*' @@ -3897,16 +5407,16 @@ packages: optional: true dependencies: '@babel/runtime': 7.22.6 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.34)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.34)(react@18.2.0) - '@types/react': 18.2.34 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.1)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.1)(react@18.2.0) + '@types/react': 18.3.1 '@types/react-dom': 18.2.14 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-id@1.0.1(@types/react@18.2.34)(react@18.2.0): + /@radix-ui/react-id@1.0.1(@types/react@18.3.1)(react@18.2.0): resolution: {integrity: sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==} peerDependencies: '@types/react': '*' @@ -3916,12 +5426,12 @@ packages: optional: true dependencies: '@babel/runtime': 7.22.6 - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.34)(react@18.2.0) - '@types/react': 18.2.34 + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.1)(react@18.2.0) + '@types/react': 18.3.1 react: 18.2.0 dev: false - /@radix-ui/react-popover@1.0.6(@types/react-dom@18.2.14)(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-popover@1.0.6(@types/react-dom@18.2.14)(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-cZ4defGpkZ0qTRtlIBzJLSzL6ht7ofhhW4i1+pkemjV1IKXm0wgCRnee154qlV6r9Ttunmh2TNZhMfV2bavUyA==} peerDependencies: '@types/react': '*' @@ -3936,27 +5446,27 @@ packages: dependencies: '@babel/runtime': 7.22.6 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.34)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.34)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.34)(react@18.2.0) - '@radix-ui/react-focus-scope': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.34)(react@18.2.0) - '@radix-ui/react-popper': 1.1.2(@types/react-dom@18.2.14)(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.14)(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.34)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.34)(react@18.2.0) - '@types/react': 18.2.34 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.1)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.3.1)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.4(@types/react-dom@18.2.14)(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.3.1)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.3.1)(react@18.2.0) + '@radix-ui/react-popper': 1.1.2(@types/react-dom@18.2.14)(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.14)(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.3.1)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.3.1)(react@18.2.0) + '@types/react': 18.3.1 '@types/react-dom': 18.2.14 aria-hidden: 1.2.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-remove-scroll: 2.5.5(@types/react@18.2.34)(react@18.2.0) + react-remove-scroll: 2.5.5(@types/react@18.3.1)(react@18.2.0) dev: false - /@radix-ui/react-popper@1.1.2(@types/react-dom@18.2.14)(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-popper@1.1.2(@types/react-dom@18.2.14)(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-1CnGGfFi/bbqtJZZ0P/NQY20xdG3E0LALJaLUEoKwPLwl6PPPfbeiCqMVQnhoFRAxjJj4RpBRJzDmUgsex2tSg==} peerDependencies: '@types/react': '*' @@ -3971,22 +5481,22 @@ packages: dependencies: '@babel/runtime': 7.22.6 '@floating-ui/react-dom': 2.0.1(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.34)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.34)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.34)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.34)(react@18.2.0) - '@radix-ui/react-use-rect': 1.0.1(@types/react@18.2.34)(react@18.2.0) - '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.34)(react@18.2.0) + '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.1)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.3.1)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.1)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.1)(react@18.2.0) + '@radix-ui/react-use-rect': 1.0.1(@types/react@18.3.1)(react@18.2.0) + '@radix-ui/react-use-size': 1.0.1(@types/react@18.3.1)(react@18.2.0) '@radix-ui/rect': 1.0.1 - '@types/react': 18.2.34 + '@types/react': 18.3.1 '@types/react-dom': 18.2.14 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-portal@1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-portal@1.0.3(@types/react-dom@18.2.14)(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-xLYZeHrWoPmA5mEKEfZZevoVRK/Q43GfzRXkWV6qawIWWK8t6ifIiLQdd7rmQ4Vk1bmI21XhqF9BN3jWf+phpA==} peerDependencies: '@types/react': '*' @@ -4000,14 +5510,14 @@ packages: optional: true dependencies: '@babel/runtime': 7.22.6 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.34 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.3.1 '@types/react-dom': 18.2.14 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-presence@1.0.1(@types/react-dom@18.2.14)(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-presence@1.0.1(@types/react-dom@18.2.14)(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==} peerDependencies: '@types/react': '*' @@ -4021,15 +5531,15 @@ packages: optional: true dependencies: '@babel/runtime': 7.22.6 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.34)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.34)(react@18.2.0) - '@types/react': 18.2.34 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.1)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.1)(react@18.2.0) + '@types/react': 18.3.1 '@types/react-dom': 18.2.14 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-primitive@1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-primitive@1.0.3(@types/react-dom@18.2.14)(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==} peerDependencies: '@types/react': '*' @@ -4043,14 +5553,14 @@ packages: optional: true dependencies: '@babel/runtime': 7.22.6 - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.34)(react@18.2.0) - '@types/react': 18.2.34 + '@radix-ui/react-slot': 1.0.2(@types/react@18.3.1)(react@18.2.0) + '@types/react': 18.3.1 '@types/react-dom': 18.2.14 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-roving-focus@1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-roving-focus@1.0.4(@types/react-dom@18.2.14)(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ==} peerDependencies: '@types/react': '*' @@ -4065,21 +5575,21 @@ packages: dependencies: '@babel/runtime': 7.22.6 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.34)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.34)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.34)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.34)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.34)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.34)(react@18.2.0) - '@types/react': 18.2.34 + '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.1)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.3.1)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.3.1)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.3.1)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.1)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.3.1)(react@18.2.0) + '@types/react': 18.3.1 '@types/react-dom': 18.2.14 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-scroll-area@1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-scroll-area@1.0.4(@types/react-dom@18.2.14)(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-OIClwBkwPG+FKvC4OMTRaa/3cfD069nkKFFL/TQzRzaO42Ce5ivKU9VMKgT7UU6UIkjcQqKBrDOIzWtPGw6e6w==} peerDependencies: '@types/react': '*' @@ -4095,20 +5605,20 @@ packages: '@babel/runtime': 7.22.6 '@radix-ui/number': 1.0.1 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.34)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.34)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.34)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.14)(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.34)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.34)(react@18.2.0) - '@types/react': 18.2.34 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.1)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.3.1)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.3.1)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.14)(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.1)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.1)(react@18.2.0) + '@types/react': 18.3.1 '@types/react-dom': 18.2.14 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-slot@1.0.2(@types/react@18.2.34)(react@18.2.0): + /@radix-ui/react-slot@1.0.2(@types/react@18.3.1)(react@18.2.0): resolution: {integrity: sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==} peerDependencies: '@types/react': '*' @@ -4118,12 +5628,12 @@ packages: optional: true dependencies: '@babel/runtime': 7.22.6 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.34)(react@18.2.0) - '@types/react': 18.2.34 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.1)(react@18.2.0) + '@types/react': 18.3.1 react: 18.2.0 dev: false - /@radix-ui/react-tabs@1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-tabs@1.0.4(@types/react-dom@18.2.14)(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-egZfYY/+wRNCflXNHx+dePvnz9FbmssDTJBtgRfDY7e8SE5oIo3Py2eCB1ckAbh1Q7cQ/6yJZThJ++sgbxibog==} peerDependencies: '@types/react': '*' @@ -4138,20 +5648,20 @@ packages: dependencies: '@babel/runtime': 7.22.6 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-context': 1.0.1(@types/react@18.2.34)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.34)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.34)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.14)(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.34)(react@18.2.0) - '@types/react': 18.2.34 + '@radix-ui/react-context': 1.0.1(@types/react@18.3.1)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.3.1)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.3.1)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.14)(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.14)(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.3.1)(react@18.2.0) + '@types/react': 18.3.1 '@types/react-dom': 18.2.14 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.2.34)(react@18.2.0): + /@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.3.1)(react@18.2.0): resolution: {integrity: sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==} peerDependencies: '@types/react': '*' @@ -4161,11 +5671,11 @@ packages: optional: true dependencies: '@babel/runtime': 7.22.6 - '@types/react': 18.2.34 + '@types/react': 18.3.1 react: 18.2.0 dev: false - /@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.2.34)(react@18.2.0): + /@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.3.1)(react@18.2.0): resolution: {integrity: sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==} peerDependencies: '@types/react': '*' @@ -4175,12 +5685,12 @@ packages: optional: true dependencies: '@babel/runtime': 7.22.6 - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.34)(react@18.2.0) - '@types/react': 18.2.34 + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.1)(react@18.2.0) + '@types/react': 18.3.1 react: 18.2.0 dev: false - /@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.2.34)(react@18.2.0): + /@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.3.1)(react@18.2.0): resolution: {integrity: sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==} peerDependencies: '@types/react': '*' @@ -4190,12 +5700,12 @@ packages: optional: true dependencies: '@babel/runtime': 7.22.6 - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.34)(react@18.2.0) - '@types/react': 18.2.34 + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.1)(react@18.2.0) + '@types/react': 18.3.1 react: 18.2.0 dev: false - /@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.2.34)(react@18.2.0): + /@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.3.1)(react@18.2.0): resolution: {integrity: sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==} peerDependencies: '@types/react': '*' @@ -4205,11 +5715,11 @@ packages: optional: true dependencies: '@babel/runtime': 7.22.6 - '@types/react': 18.2.34 + '@types/react': 18.3.1 react: 18.2.0 dev: false - /@radix-ui/react-use-rect@1.0.1(@types/react@18.2.34)(react@18.2.0): + /@radix-ui/react-use-rect@1.0.1(@types/react@18.3.1)(react@18.2.0): resolution: {integrity: sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw==} peerDependencies: '@types/react': '*' @@ -4220,11 +5730,11 @@ packages: dependencies: '@babel/runtime': 7.22.6 '@radix-ui/rect': 1.0.1 - '@types/react': 18.2.34 + '@types/react': 18.3.1 react: 18.2.0 dev: false - /@radix-ui/react-use-size@1.0.1(@types/react@18.2.34)(react@18.2.0): + /@radix-ui/react-use-size@1.0.1(@types/react@18.3.1)(react@18.2.0): resolution: {integrity: sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==} peerDependencies: '@types/react': '*' @@ -4234,8 +5744,8 @@ packages: optional: true dependencies: '@babel/runtime': 7.22.6 - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.34)(react@18.2.0) - '@types/react': 18.2.34 + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.1)(react@18.2.0) + '@types/react': 18.3.1 react: 18.2.0 dev: false @@ -4245,39 +5755,39 @@ packages: '@babel/runtime': 7.22.6 dev: false - /@reactflow/background@11.2.8(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0): + /@reactflow/background@11.2.8(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-5o41N2LygiNC2/Pk8Ak2rIJjXbKHfQ23/Y9LFsnAlufqwdzFqKA8txExpsMoPVHHlbAdA/xpQaMuoChGPqmyDw==} peerDependencies: react: '>=17' react-dom: '>=17' dependencies: - '@reactflow/core': 11.8.3(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0) + '@reactflow/core': 11.8.3(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0) classcat: 5.0.4 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - zustand: 4.4.1(@types/react@18.2.34)(react@18.2.0) + zustand: 4.4.1(@types/react@18.3.1)(react@18.2.0) transitivePeerDependencies: - '@types/react' - immer dev: false - /@reactflow/controls@11.1.19(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0): + /@reactflow/controls@11.1.19(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-Vo0LFfAYjiSRMLEII/aeBo+1MT2a0Yc7iLVnkuRTLzChC0EX+A2Fa+JlzeOEYKxXlN4qcDxckRNGR7092v1HOQ==} peerDependencies: react: '>=17' react-dom: '>=17' dependencies: - '@reactflow/core': 11.8.3(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0) + '@reactflow/core': 11.8.3(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0) classcat: 5.0.4 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - zustand: 4.4.1(@types/react@18.2.34)(react@18.2.0) + zustand: 4.4.1(@types/react@18.3.1)(react@18.2.0) transitivePeerDependencies: - '@types/react' - immer dev: false - /@reactflow/core@11.8.3(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0): + /@reactflow/core@11.8.3(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-y6DN8Wy4V4KQBGHFqlj9zWRjLJU6CgdnVwWaEA/PdDg/YUkFBMpZnXqTs60czinoA2rAcvsz50syLTPsj5e+Wg==} peerDependencies: react: '>=17' @@ -4293,19 +5803,19 @@ packages: d3-zoom: 3.0.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - zustand: 4.4.1(@types/react@18.2.34)(react@18.2.0) + zustand: 4.4.1(@types/react@18.3.1)(react@18.2.0) transitivePeerDependencies: - '@types/react' - immer dev: false - /@reactflow/minimap@11.6.3(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0): + /@reactflow/minimap@11.6.3(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-PSA28dk09RnBHOA1zb45fjQXz3UozSJZmsIpgq49O3trfVFlSgRapxNdGsughWLs7/emg2M5jmi6Vc+ejcfjvQ==} peerDependencies: react: '>=17' react-dom: '>=17' dependencies: - '@reactflow/core': 11.8.3(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0) + '@reactflow/core': 11.8.3(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0) '@types/d3-selection': 3.0.6 '@types/d3-zoom': 3.0.4 classcat: 5.0.4 @@ -4313,41 +5823,41 @@ packages: d3-zoom: 3.0.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - zustand: 4.4.1(@types/react@18.2.34)(react@18.2.0) + zustand: 4.4.1(@types/react@18.3.1)(react@18.2.0) transitivePeerDependencies: - '@types/react' - immer dev: false - /@reactflow/node-resizer@2.1.5(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0): + /@reactflow/node-resizer@2.1.5(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-z/hJlsptd2vTx13wKouqvN/Kln08qbkA+YTJLohc2aJ6rx3oGn9yX4E4IqNxhA7zNqYEdrnc1JTEA//ifh9z3w==} peerDependencies: react: '>=17' react-dom: '>=17' dependencies: - '@reactflow/core': 11.8.3(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0) + '@reactflow/core': 11.8.3(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0) classcat: 5.0.4 d3-drag: 3.0.0 d3-selection: 3.0.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - zustand: 4.4.1(@types/react@18.2.34)(react@18.2.0) + zustand: 4.4.1(@types/react@18.3.1)(react@18.2.0) transitivePeerDependencies: - '@types/react' - immer dev: false - /@reactflow/node-toolbar@1.2.7(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0): + /@reactflow/node-toolbar@1.2.7(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-vs+Wg1tjy3SuD7eoeTqEtscBfE9RY+APqC28urVvftkrtsN7KlnoQjqDG6aE45jWP4z+8bvFizRWjAhxysNLkg==} peerDependencies: react: '>=17' react-dom: '>=17' dependencies: - '@reactflow/core': 11.8.3(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0) + '@reactflow/core': 11.8.3(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0) classcat: 5.0.4 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - zustand: 4.4.1(@types/react@18.2.34)(react@18.2.0) + zustand: 4.4.1(@types/react@18.3.1)(react@18.2.0) transitivePeerDependencies: - '@types/react' - immer @@ -4375,6 +5885,23 @@ packages: rollup: 2.79.1 dev: true + /@rollup/plugin-babel@5.3.1(@babel/core@7.24.5)(rollup@2.79.1): + resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==} + engines: {node: '>= 10.0.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@types/babel__core': ^7.1.9 + rollup: ^1.20.0||^2.0.0 + peerDependenciesMeta: + '@types/babel__core': + optional: true + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-module-imports': 7.22.5 + '@rollup/pluginutils': 3.1.0(rollup@2.79.1) + rollup: 2.79.1 + dev: true + /@rollup/plugin-node-resolve@11.2.1(rollup@2.79.1): resolution: {integrity: sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==} engines: {node: '>= 10.0.0'} @@ -4390,17 +5917,50 @@ packages: rollup: 2.79.1 dev: true + /@rollup/plugin-node-resolve@15.2.3(rollup@2.79.1): + resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.78.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@2.79.1) + '@types/resolve': 1.20.2 + deepmerge: 4.3.1 + is-builtin-module: 3.2.1 + is-module: 1.0.0 + resolve: 1.22.8 + rollup: 2.79.1 + dev: true + /@rollup/plugin-replace@2.4.2(rollup@2.79.1): resolution: {integrity: sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==} peerDependencies: rollup: ^1.20.0 || ^2.0.0 dependencies: - '@rollup/pluginutils': 3.1.0(rollup@2.79.1) - magic-string: 0.25.9 + '@rollup/pluginutils': 3.1.0(rollup@2.79.1) + magic-string: 0.25.9 + rollup: 2.79.1 + dev: true + + /@rollup/plugin-terser@0.4.4(rollup@2.79.1): + resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: rollup: 2.79.1 + serialize-javascript: 6.0.2 + smob: 1.5.0 + terser: 5.31.0 dev: true - /@rollup/plugin-typescript@10.0.1(tslib@2.6.1)(typescript@4.9.5): + /@rollup/plugin-typescript@10.0.1(tslib@2.6.1)(typescript@5.4.5): resolution: {integrity: sha512-wBykxRLlX7EzL8BmUqMqk5zpx2onnmRMSw/l9M1sVfkJvdwfxogZQVNUM9gVMJbjRLDR5H6U0OMOrlDGmIV45A==} engines: {node: '>=14.0.0'} peerDependencies: @@ -4416,7 +5976,7 @@ packages: '@rollup/pluginutils': 5.0.2 resolve: 1.22.3 tslib: 2.6.1 - typescript: 4.9.5 + typescript: 5.4.5 dev: true /@rollup/pluginutils@3.1.0(rollup@2.79.1): @@ -4453,6 +6013,29 @@ packages: picomatch: 2.3.1 dev: true + /@rollup/pluginutils@5.1.0(rollup@2.79.1): + resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@types/estree': 1.0.1 + estree-walker: 2.0.2 + picomatch: 2.3.1 + rollup: 2.79.1 + dev: true + + /@rollup/rollup-android-arm-eabi@4.17.2: + resolution: {integrity: sha512-NM0jFxY8bB8QLkoKxIQeObCaDlJKewVlIEkuyYKm5An1tdVZ966w2+MPQ2l8LBZLjR+SgyV+nRkTIunzOYBMLQ==} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-android-arm-eabi@4.6.0: resolution: {integrity: sha512-keHkkWAe7OtdALGoutLY3utvthkGF+Y17ws9LYT8pxMBYXaCoH/8dXS2uzo6e8+sEhY7y/zi5RFo22Dy2lFpDw==} cpu: [arm] @@ -4461,6 +6044,14 @@ packages: dev: true optional: true + /@rollup/rollup-android-arm64@4.17.2: + resolution: {integrity: sha512-yeX/Usk7daNIVwkq2uGoq2BYJKZY1JfyLTaHO/jaiSwi/lsf8fTFoQW/n6IdAsx5tx+iotu2zCJwz8MxI6D/Bw==} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-android-arm64@4.6.0: resolution: {integrity: sha512-y3Kt+34smKQNWilicPbBz/MXEY7QwDzMFNgwEWeYiOhUt9MTWKjHqe3EVkXwT2fR7izOvHpDWZ0o2IyD9SWX7A==} cpu: [arm64] @@ -4469,6 +6060,14 @@ packages: dev: true optional: true + /@rollup/rollup-darwin-arm64@4.17.2: + resolution: {integrity: sha512-kcMLpE6uCwls023+kknm71ug7MZOrtXo+y5p/tsg6jltpDtgQY1Eq5sGfHcQfb+lfuKwhBmEURDga9N0ol4YPw==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-darwin-arm64@4.6.0: resolution: {integrity: sha512-oLzzxcUIHltHxOCmaXl+pkIlU+uhSxef5HfntW7RsLh1eHm+vJzjD9Oo4oUKso4YuP4PpbFJNlZjJuOrxo8dPg==} cpu: [arm64] @@ -4477,6 +6076,14 @@ packages: dev: true optional: true + /@rollup/rollup-darwin-x64@4.17.2: + resolution: {integrity: sha512-AtKwD0VEx0zWkL0ZjixEkp5tbNLzX+FCqGG1SvOu993HnSz4qDI6S4kGzubrEJAljpVkhRSlg5bzpV//E6ysTQ==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-darwin-x64@4.6.0: resolution: {integrity: sha512-+ANnmjkcOBaV25n0+M0Bere3roeVAnwlKW65qagtuAfIxXF9YxUneRyAn/RDcIdRa7QrjRNJL3jR7T43ObGe8Q==} cpu: [x64] @@ -4485,6 +6092,14 @@ packages: dev: true optional: true + /@rollup/rollup-linux-arm-gnueabihf@4.17.2: + resolution: {integrity: sha512-3reX2fUHqN7sffBNqmEyMQVj/CKhIHZd4y631duy0hZqI8Qoqf6lTtmAKvJFYa6bhU95B1D0WgzHkmTg33In0A==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-linux-arm-gnueabihf@4.6.0: resolution: {integrity: sha512-tBTSIkjSVUyrekddpkAqKOosnj1Fc0ZY0rJL2bIEWPKqlEQk0paORL9pUIlt7lcGJi3LzMIlUGXvtNi1Z6MOCQ==} cpu: [arm] @@ -4493,6 +6108,22 @@ packages: dev: true optional: true + /@rollup/rollup-linux-arm-musleabihf@4.17.2: + resolution: {integrity: sha512-uSqpsp91mheRgw96xtyAGP9FW5ChctTFEoXP0r5FAzj/3ZRv3Uxjtc7taRQSaQM/q85KEKjKsZuiZM3GyUivRg==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-gnu@4.17.2: + resolution: {integrity: sha512-EMMPHkiCRtE8Wdk3Qhtciq6BndLtstqZIroHiiGzB3C5LDJmIZcSzVtLRbwuXuUft1Cnv+9fxuDtDxz3k3EW2A==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-linux-arm64-gnu@4.6.0: resolution: {integrity: sha512-Ed8uJI3kM11de9S0j67wAV07JUNhbAqIrDYhQBrQW42jGopgheyk/cdcshgGO4fW5Wjq97COCY/BHogdGvKVNQ==} cpu: [arm64] @@ -4501,6 +6132,14 @@ packages: dev: true optional: true + /@rollup/rollup-linux-arm64-musl@4.17.2: + resolution: {integrity: sha512-NMPylUUZ1i0z/xJUIx6VUhISZDRT+uTWpBcjdv0/zkp7b/bQDF+NfnfdzuTiB1G6HTodgoFa93hp0O1xl+/UbA==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-linux-arm64-musl@4.6.0: resolution: {integrity: sha512-mZoNQ/qK4D7SSY8v6kEsAAyDgznzLLuSFCA3aBHZTmf3HP/dW4tNLTtWh9+LfyO0Z1aUn+ecpT7IQ3WtIg3ViQ==} cpu: [arm64] @@ -4509,6 +6148,38 @@ packages: dev: true optional: true + /@rollup/rollup-linux-powerpc64le-gnu@4.17.2: + resolution: {integrity: sha512-T19My13y8uYXPw/L/k0JYaX1fJKFT/PWdXiHr8mTbXWxjVF1t+8Xl31DgBBvEKclw+1b00Chg0hxE2O7bTG7GQ==} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-riscv64-gnu@4.17.2: + resolution: {integrity: sha512-BOaNfthf3X3fOWAB+IJ9kxTgPmMqPPH5f5k2DcCsRrBIbWnaJCgX2ll77dV1TdSy9SaXTR5iDXRL8n7AnoP5cg==} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-s390x-gnu@4.17.2: + resolution: {integrity: sha512-W0UP/x7bnn3xN2eYMql2T/+wpASLE5SjObXILTMPUBDB/Fg/FxC+gX4nvCfPBCbNhz51C+HcqQp2qQ4u25ok6g==} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.17.2: + resolution: {integrity: sha512-Hy7pLwByUOuyaFC6mAr7m+oMC+V7qyifzs/nW2OJfC8H4hbCzOX07Ov0VFk/zP3kBsELWNFi7rJtgbKYsav9QQ==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-linux-x64-gnu@4.6.0: resolution: {integrity: sha512-rouezFHpwCqdEXsqAfNsTgSWO0FoZ5hKv5p+TGO5KFhyN/dvYXNMqMolOb8BkyKcPqjYRBeT+Z6V3aM26rPaYg==} cpu: [x64] @@ -4517,6 +6188,14 @@ packages: dev: true optional: true + /@rollup/rollup-linux-x64-musl@4.17.2: + resolution: {integrity: sha512-h1+yTWeYbRdAyJ/jMiVw0l6fOOm/0D1vNLui9iPuqgRGnXA0u21gAqOyB5iHjlM9MMfNOm9RHCQ7zLIzT0x11Q==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-linux-x64-musl@4.6.0: resolution: {integrity: sha512-Bbm+fyn3S6u51urfj3YnqBXg5vI2jQPncRRELaucmhBVyZkbWClQ1fEsRmdnCPpQOQfkpg9gZArvtMVkOMsh1w==} cpu: [x64] @@ -4525,6 +6204,14 @@ packages: dev: true optional: true + /@rollup/rollup-win32-arm64-msvc@4.17.2: + resolution: {integrity: sha512-tmdtXMfKAjy5+IQsVtDiCfqbynAQE/TQRpWdVataHmhMb9DCoJxp9vLcCBjEQWMiUYxO1QprH/HbY9ragCEFLA==} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-win32-arm64-msvc@4.6.0: resolution: {integrity: sha512-+MRMcyx9L2kTrTUzYmR61+XVsliMG4odFb5UmqtiT8xOfEicfYAGEuF/D1Pww1+uZkYhBqAHpvju7VN+GnC3ng==} cpu: [arm64] @@ -4533,6 +6220,14 @@ packages: dev: true optional: true + /@rollup/rollup-win32-ia32-msvc@4.17.2: + resolution: {integrity: sha512-7II/QCSTAHuE5vdZaQEwJq2ZACkBpQDOmQsE6D6XUbnBHW8IAhm4eTufL6msLJorzrHDFv3CF8oCA/hSIRuZeQ==} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-win32-ia32-msvc@4.6.0: resolution: {integrity: sha512-rxfeE6K6s/Xl2HGeK6cO8SiQq3k/3BYpw7cfhW5Bk2euXNEpuzi2cc7llxx1si1QgwfjNtdRNTGqdBzGlFZGFw==} cpu: [ia32] @@ -4541,6 +6236,14 @@ packages: dev: true optional: true + /@rollup/rollup-win32-x64-msvc@4.17.2: + resolution: {integrity: sha512-TGGO7v7qOq4CYmSBVEYpI1Y5xDuCEnbVC5Vth8mOsW0gDSzxNrVERPc790IGHsrT2dQSimgMr9Ub3Y1Jci5/8w==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-win32-x64-msvc@4.6.0: resolution: {integrity: sha512-QqmCsydHS172Y0Kc13bkMXvipbJSvzeglBncJG3LsYJSiPlxYACz7MmJBs4A8l1oU+jfhYEIC/+AUSlvjmiX/g==} cpu: [x64] @@ -4549,6 +6252,54 @@ packages: dev: true optional: true + /@rushstack/node-core-library@4.0.2(@types/node@20.11.5): + resolution: {integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': + optional: true + dependencies: + '@types/node': 20.11.5 + fs-extra: 7.0.1 + import-lazy: 4.0.0 + jju: 1.4.0 + resolve: 1.22.3 + semver: 7.5.4 + z-schema: 5.0.5 + dev: true + + /@rushstack/rig-package@0.5.2: + resolution: {integrity: sha512-mUDecIJeH3yYGZs2a48k+pbhM6JYwWlgjs2Ca5f2n1G2/kgdgP9D/07oglEGf6mRyXEnazhEENeYTSNDRCwdqA==} + dependencies: + resolve: 1.22.3 + strip-json-comments: 3.1.1 + dev: true + + /@rushstack/terminal@0.10.0(@types/node@20.11.5): + resolution: {integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': + optional: true + dependencies: + '@rushstack/node-core-library': 4.0.2(@types/node@20.11.5) + '@types/node': 20.11.5 + supports-color: 8.1.1 + dev: true + + /@rushstack/ts-command-line@4.19.1(@types/node@20.11.5): + resolution: {integrity: sha512-J7H768dgcpG60d7skZ5uSSwyCZs/S2HrWP1Ds8d1qYAyaaeJmpmmLr9BVw97RjFzmQPOYnoXcKA4GkqDCkduQg==} + dependencies: + '@rushstack/terminal': 0.10.0(@types/node@20.11.5) + '@types/argparse': 1.0.38 + argparse: 1.0.10 + string-argv: 0.3.1 + transitivePeerDependencies: + - '@types/node' + dev: true + /@samverschueren/stream-to-observable@0.3.1(rxjs@6.6.7): resolution: {integrity: sha512-c/qwwcHyafOQuVQJj0IlBjf5yYgBI7YPJ77k4fOJYesb41jio65eaJODRUmfYKhTOFBrIZ66kgvGPlNbjuoRdQ==} engines: {node: '>=6'} @@ -4778,11 +6529,15 @@ packages: resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} dev: true + /@types/argparse@1.0.38: + resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} + dev: true + /@types/babel__core@7.20.1: resolution: {integrity: sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==} dependencies: '@babel/parser': 7.22.7 - '@babel/types': 7.22.5 + '@babel/types': 7.23.3 '@types/babel__generator': 7.6.4 '@types/babel__template': 7.4.1 '@types/babel__traverse': 7.20.1 @@ -5009,6 +6764,10 @@ packages: resolution: {integrity: sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==} dev: true + /@types/estree@1.0.5: + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + dev: true + /@types/fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-IyNhGHu71jH1jCXTHmafuoAAdsbBON3kDh7u/UUhLmjYgN5TYB54e1R8ckTCiIevl2UuZaCsi9XRxineY5yUjw==} deprecated: This is a stub types definition. fast-json-stable-stringify provides its own type definitions, so you do not need this installed. @@ -5069,13 +6828,13 @@ packages: pretty-format: 27.5.1 dev: true - /@types/json-schema@7.0.12: - resolution: {integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==} + /@types/json-schema@7.0.15: + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} dev: true /@types/json5@0.0.29: resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} - dev: false + dev: true /@types/keyv@3.1.4: resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} @@ -5087,6 +6846,13 @@ packages: resolution: {integrity: sha512-DT+iNIRNX884cx0/Q1ja7NyUPpZuv0KPyL5rGNxm1WC1OtHstl7n4Jb7nk+xacNShQMbczJjt8uFzznpp6kYBg==} dependencies: '@types/unist': 2.0.7 + dev: false + + /@types/mdast@4.0.3: + resolution: {integrity: sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==} + dependencies: + '@types/unist': 3.0.2 + dev: true /@types/minimist@1.2.2: resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} @@ -5109,6 +6875,10 @@ packages: resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} dev: true + /@types/prop-types@15.7.12: + resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} + dev: false + /@types/prop-types@15.7.5: resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} @@ -5154,12 +6924,23 @@ packages: '@types/scheduler': 0.16.3 csstype: 3.1.2 + /@types/react@18.3.1: + resolution: {integrity: sha512-V0kuGBX3+prX+DQ/7r2qsv1NsdfnCLnTgnRJ1pYnxykBhGMz+qj+box5lq7XsO5mtZsBqpjwwTu/7wszPfMBcw==} + dependencies: + '@types/prop-types': 15.7.12 + csstype: 3.1.3 + dev: false + /@types/resolve@1.17.1: resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} dependencies: '@types/node': 20.11.5 dev: true + /@types/resolve@1.20.2: + resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} + dev: true + /@types/responselike@1.0.0: resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} dependencies: @@ -5173,8 +6954,8 @@ packages: /@types/scheduler@0.16.3: resolution: {integrity: sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==} - /@types/semver@7.5.0: - resolution: {integrity: sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==} + /@types/semver@7.5.8: + resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} dev: true /@types/stack-utils@2.0.1: @@ -5193,8 +6974,17 @@ packages: resolution: {integrity: sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==} dev: true + /@types/trusted-types@2.0.7: + resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} + dev: true + /@types/unist@2.0.7: resolution: {integrity: sha512-cputDpIbFgLUaGQn6Vqg3/YsJwxUwHLO13v3i5ouxT4lat0khip9AEWxtERujXV9wxIB1EyF97BSJFt6vpdI8g==} + dev: false + + /@types/unist@3.0.2: + resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==} + dev: true /@types/yargs-parser@21.0.0: resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} @@ -5220,35 +7010,36 @@ packages: dev: true optional: true - /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.23.0)(typescript@5.4.5): - resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/eslint-plugin@7.8.0(@typescript-eslint/parser@7.8.0)(eslint@8.57.0)(typescript@5.4.5): + resolution: {integrity: sha512-gFTT+ezJmkwutUPmB0skOj3GZJtlEGnlssems4AjkVweUPGj7jRwwqg0Hhg7++kPGJqKtTYx+R05Ftww372aIg==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: - '@typescript-eslint/parser': ^5.0.0 - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + '@typescript-eslint/parser': ^7.0.0 + eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.6.2 - '@typescript-eslint/parser': 5.62.0(eslint@8.23.0)(typescript@5.4.5) - '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/type-utils': 5.62.0(eslint@8.23.0)(typescript@5.4.5) - '@typescript-eslint/utils': 5.62.0(eslint@8.23.0)(typescript@5.4.5) + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 7.8.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/scope-manager': 7.8.0 + '@typescript-eslint/type-utils': 7.8.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/utils': 7.8.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 7.8.0 debug: 4.3.4(supports-color@9.4.0) - eslint: 8.23.0 + eslint: 8.57.0 graphemer: 1.4.0 - ignore: 5.2.4 - natural-compare-lite: 1.4.0 - semver: 7.5.4 - tsutils: 3.21.0(typescript@5.4.5) + ignore: 5.3.1 + natural-compare: 1.4.0 + semver: 7.6.0 + ts-api-utils: 1.3.0(typescript@5.4.5) typescript: 5.4.5 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@5.62.0(eslint@8.23.0)(typescript@4.9.5): + /@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.4.5): resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -5260,32 +7051,34 @@ packages: dependencies: '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.5) debug: 4.3.4(supports-color@9.4.0) - eslint: 8.23.0 - typescript: 4.9.5 + eslint: 8.57.0 + typescript: 5.4.5 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@5.62.0(eslint@8.23.0)(typescript@5.4.5): - resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/parser@7.8.0(eslint@8.57.0)(typescript@5.4.5): + resolution: {integrity: sha512-KgKQly1pv0l4ltcftP59uQZCi4HUYswCLbTqVZEJu7uLX8CTLyswqMLqLN+2QFz4jCptqWVV4SB7vdxcH2+0kQ==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(supports-color@9.4.0)(typescript@5.4.5) + '@typescript-eslint/scope-manager': 7.8.0 + '@typescript-eslint/types': 7.8.0 + '@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 7.8.0 debug: 4.3.4(supports-color@9.4.0) - eslint: 8.23.0 + eslint: 8.57.0 typescript: 5.4.5 transitivePeerDependencies: - supports-color + dev: true /@typescript-eslint/scope-manager@5.62.0: resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} @@ -5293,22 +7086,31 @@ packages: dependencies: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 + dev: true - /@typescript-eslint/type-utils@5.62.0(eslint@8.23.0)(typescript@5.4.5): - resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/scope-manager@7.8.0: + resolution: {integrity: sha512-viEmZ1LmwsGcnr85gIq+FCYI7nO90DVbE37/ll51hjv9aG+YZMb4WDE2fyWpUR4O/UrhGRpYXK/XajcGTk2B8g==} + engines: {node: ^18.18.0 || >=20.0.0} + dependencies: + '@typescript-eslint/types': 7.8.0 + '@typescript-eslint/visitor-keys': 7.8.0 + dev: true + + /@typescript-eslint/type-utils@7.8.0(eslint@8.57.0)(typescript@5.4.5): + resolution: {integrity: sha512-H70R3AefQDQpz9mGv13Uhi121FNMh+WEaRqcXTX09YEDky21km4dV1ZXJIp8QjXc4ZaVkXVdohvWDzbnbHDS+A==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: - eslint: '*' + eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.62.0(supports-color@9.4.0)(typescript@5.4.5) - '@typescript-eslint/utils': 5.62.0(eslint@8.23.0)(typescript@5.4.5) + '@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5) + '@typescript-eslint/utils': 7.8.0(eslint@8.57.0)(typescript@5.4.5) debug: 4.3.4(supports-color@9.4.0) - eslint: 8.23.0 - tsutils: 3.21.0(typescript@5.4.5) + eslint: 8.57.0 + ts-api-utils: 1.3.0(typescript@5.4.5) typescript: 5.4.5 transitivePeerDependencies: - supports-color @@ -5317,6 +7119,12 @@ packages: /@typescript-eslint/types@5.62.0: resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@typescript-eslint/types@7.8.0: + resolution: {integrity: sha512-wf0peJ+ZGlcH+2ZS23aJbOv+ztjeeP8uQ9GgwMJGVLx/Nj9CJt17GWgWWoSmoRVKAX2X+7fzEnAjxdvK2gqCLw==} + engines: {node: ^18.18.0 || >=20.0.0} + dev: true /@typescript-eslint/typescript-estree@5.62.0(supports-color@9.4.0)(typescript@5.4.5): resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} @@ -5332,13 +7140,14 @@ packages: debug: 4.3.4(supports-color@9.4.0) globby: 11.1.0 is-glob: 4.0.3 - semver: 7.5.4 + semver: 7.6.0 tsutils: 3.21.0(typescript@5.4.5) typescript: 5.4.5 transitivePeerDependencies: - supports-color + dev: true - /@typescript-eslint/typescript-estree@5.62.0(typescript@4.9.5): + /@typescript-eslint/typescript-estree@5.62.0(typescript@5.4.5): resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -5353,27 +7162,48 @@ packages: globby: 11.1.0 is-glob: 4.0.3 semver: 7.5.4 - tsutils: 3.21.0(typescript@4.9.5) - typescript: 4.9.5 + tsutils: 3.21.0(typescript@5.4.5) + typescript: 5.4.5 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils@5.62.0(eslint@8.23.0)(typescript@5.4.5): - resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/typescript-estree@7.8.0(typescript@5.4.5): + resolution: {integrity: sha512-5pfUCOwK5yjPaJQNy44prjCwtr981dO8Qo9J9PwYXZ0MosgAbfEMB008dJ5sNo3+/BN6ytBPuSvXUg9SAqB0dg==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.23.0) - '@types/json-schema': 7.0.12 - '@types/semver': 7.5.0 - '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(supports-color@9.4.0)(typescript@5.4.5) - eslint: 8.23.0 - eslint-scope: 5.1.1 - semver: 7.5.4 + '@typescript-eslint/types': 7.8.0 + '@typescript-eslint/visitor-keys': 7.8.0 + debug: 4.3.4(supports-color@9.4.0) + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.4 + semver: 7.6.0 + ts-api-utils: 1.3.0(typescript@5.4.5) + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/utils@7.8.0(eslint@8.57.0)(typescript@5.4.5): + resolution: {integrity: sha512-L0yFqOCflVqXxiZyXrDr80lnahQfSOfc9ELAAZ75sqicqp2i36kEZZGuUymHNFoYOqxRT05up760b4iGsl02nQ==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.8 + '@typescript-eslint/scope-manager': 7.8.0 + '@typescript-eslint/types': 7.8.0 + '@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5) + eslint: 8.57.0 + semver: 7.6.0 transitivePeerDependencies: - supports-color - typescript @@ -5384,7 +7214,20 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: '@typescript-eslint/types': 5.62.0 - eslint-visitor-keys: 3.4.2 + eslint-visitor-keys: 3.4.3 + dev: true + + /@typescript-eslint/visitor-keys@7.8.0: + resolution: {integrity: sha512-q4/gibTNBQNA0lGyYQCmWRS5D15n8rXh4QjK3KV+MBPlTYHpfBUT3D3PaPR/HeNiI9W6R7FvlkcGhNyAoP+caA==} + engines: {node: ^18.18.0 || >=20.0.0} + dependencies: + '@typescript-eslint/types': 7.8.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@ungap/structured-clone@1.2.0: + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + dev: true /@vercel/nft@0.23.1(supports-color@9.4.0): resolution: {integrity: sha512-NE0xSmGWVhgHF1OIoir71XAd0W0C1UE3nzFyhpFiMr3rVhetww7NvM1kc41trBsPG37Bh+dE5FYCTMzM/gBu0w==} @@ -5407,13 +7250,13 @@ packages: - supports-color dev: true - /@vitejs/plugin-react-swc@3.5.0(vite@5.0.12): + /@vitejs/plugin-react-swc@3.5.0(vite@5.2.11): resolution: {integrity: sha512-1PrOvAaDpqlCV+Up8RkAh9qaiUjoDUcjtttyhXDKw53XA6Ve16SOp6cCOpRs8Dj8DqUQs6eTW5YkLcLJjrXAig==} peerDependencies: vite: ^4 || ^5 dependencies: '@swc/core': 1.3.104 - vite: 5.0.12(@types/node@20.11.5) + vite: 5.2.11(@types/node@20.11.5) transitivePeerDependencies: - '@swc/helpers' dev: true @@ -5445,15 +7288,75 @@ packages: /@vitest/spy@0.34.6: resolution: {integrity: sha512-xaCvneSaeBw/cz8ySmF7ZwGvL0lBjfvqc1LpQ/vcdHEvpLn3Ff1vAvjw+CoGn0802l++5L/pxb7whwcWAw+DUQ==} dependencies: - tinyspy: 2.2.0 + tinyspy: 2.2.0 + dev: true + + /@vitest/utils@0.34.6: + resolution: {integrity: sha512-IG5aDD8S6zlvloDsnzHw0Ut5xczlF+kv2BOTo+iXfPr54Yhi5qbVOgGB1hZaVq4iJ4C/MZ2J0y15IlsV/ZcI0A==} + dependencies: + diff-sequences: 29.4.3 + loupe: 2.3.6 + pretty-format: 29.6.2 + dev: true + + /@volar/language-core@1.11.1: + resolution: {integrity: sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==} + dependencies: + '@volar/source-map': 1.11.1 + dev: true + + /@volar/source-map@1.11.1: + resolution: {integrity: sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==} + dependencies: + muggle-string: 0.3.1 + dev: true + + /@volar/typescript@1.11.1: + resolution: {integrity: sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==} + dependencies: + '@volar/language-core': 1.11.1 + path-browserify: 1.0.1 + dev: true + + /@vue/compiler-core@3.4.26: + resolution: {integrity: sha512-N9Vil6Hvw7NaiyFUFBPXrAyETIGlQ8KcFMkyk6hW1Cl6NvoqvP+Y8p1Eqvx+UdqsnrnI9+HMUEJegzia3mhXmQ==} + dependencies: + '@babel/parser': 7.24.5 + '@vue/shared': 3.4.26 + entities: 4.5.0 + estree-walker: 2.0.2 + source-map-js: 1.2.0 + dev: true + + /@vue/compiler-dom@3.4.26: + resolution: {integrity: sha512-4CWbR5vR9fMg23YqFOhr6t6WB1Fjt62d6xdFPyj8pxrYub7d+OgZaObMsoxaF9yBUHPMiPFK303v61PwAuGvZA==} + dependencies: + '@vue/compiler-core': 3.4.26 + '@vue/shared': 3.4.26 + dev: true + + /@vue/language-core@1.8.27(typescript@5.4.5): + resolution: {integrity: sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@volar/language-core': 1.11.1 + '@volar/source-map': 1.11.1 + '@vue/compiler-dom': 3.4.26 + '@vue/shared': 3.4.26 + computeds: 0.0.1 + minimatch: 9.0.3 + muggle-string: 0.3.1 + path-browserify: 1.0.1 + typescript: 5.4.5 + vue-template-compiler: 2.7.16 dev: true - /@vitest/utils@0.34.6: - resolution: {integrity: sha512-IG5aDD8S6zlvloDsnzHw0Ut5xczlF+kv2BOTo+iXfPr54Yhi5qbVOgGB1hZaVq4iJ4C/MZ2J0y15IlsV/ZcI0A==} - dependencies: - diff-sequences: 29.4.3 - loupe: 2.3.6 - pretty-format: 29.6.2 + /@vue/shared@3.4.26: + resolution: {integrity: sha512-Fg4zwR0GNnjzodMt3KRy2AWGMKQXByl56+4HjN87soxLNU9P5xcJkstAlIeEF3cU6UYOzmJl1tV0dVPGIljCnQ==} dev: true /@xhmikosr/archive-type@6.0.1: @@ -5532,7 +7435,7 @@ packages: /abbrev@1.1.1: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} - dev: true + requiresBuild: true /abort-controller@3.0.0: resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} @@ -5559,6 +7462,7 @@ packages: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: acorn: 8.10.0 + dev: true /acorn-walk@8.3.0: resolution: {integrity: sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA==} @@ -5569,6 +7473,13 @@ packages: resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} engines: {node: '>=0.4.0'} hasBin: true + dev: true + + /acorn@8.11.3: + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true /agent-base@6.0.2(supports-color@9.4.0): resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} @@ -5577,7 +7488,6 @@ packages: debug: 4.3.4(supports-color@9.4.0) transitivePeerDependencies: - supports-color - dev: true /aggregate-error@3.1.0: resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} @@ -5621,6 +7531,7 @@ packages: fast-json-stable-stringify: 2.1.0 json-schema-traverse: 0.4.1 uri-js: 4.4.1 + dev: true /ajv@8.12.0: resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} @@ -5631,6 +7542,15 @@ packages: uri-js: 4.4.1 dev: true + /ajv@8.13.0: + resolution: {integrity: sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==} + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + dev: true + /all-node-versions@11.3.0: resolution: {integrity: sha512-psMkc5s3qpr+QMfires9bC4azRYciPWql1wqZKMsYRh1731qefQDH2X4+O19xSBX6u0Ra/8Y5diG6y/fEmqKsw==} engines: {node: '>=14.18.0'} @@ -5729,6 +7649,7 @@ packages: engines: {node: '>=8'} dependencies: color-convert: 2.0.1 + dev: true /ansi-styles@5.2.0: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} @@ -5772,7 +7693,6 @@ packages: /aproba@2.0.0: resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} - dev: true /archiver-utils@2.1.0: resolution: {integrity: sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==} @@ -5854,7 +7774,6 @@ packages: dependencies: delegates: 1.0.0 readable-stream: 3.6.2 - dev: true /arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} @@ -5868,6 +7787,7 @@ packages: /argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + dev: true /aria-hidden@1.2.3: resolution: {integrity: sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ==} @@ -5902,6 +7822,7 @@ packages: dependencies: call-bind: 1.0.2 is-array-buffer: 3.0.2 + dev: true /array-flatten@1.1.1: resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} @@ -5916,6 +7837,7 @@ packages: es-abstract: 1.22.1 get-intrinsic: 1.2.1 is-string: 1.0.7 + dev: true /array-timsort@1.0.3: resolution: {integrity: sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==} @@ -5931,6 +7853,7 @@ packages: /array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} + dev: true /array-uniq@1.0.3: resolution: {integrity: sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==} @@ -5951,7 +7874,7 @@ packages: es-abstract: 1.22.1 es-shim-unscopables: 1.0.0 get-intrinsic: 1.2.1 - dev: false + dev: true /array.prototype.flat@1.3.1: resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==} @@ -5961,6 +7884,7 @@ packages: define-properties: 1.2.0 es-abstract: 1.22.1 es-shim-unscopables: 1.0.0 + dev: true /array.prototype.flatmap@1.3.1: resolution: {integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==} @@ -5970,6 +7894,7 @@ packages: define-properties: 1.2.0 es-abstract: 1.22.1 es-shim-unscopables: 1.0.0 + dev: true /array.prototype.tosorted@1.1.1: resolution: {integrity: sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==} @@ -5991,6 +7916,7 @@ packages: get-intrinsic: 1.2.1 is-array-buffer: 3.0.2 is-shared-array-buffer: 1.0.2 + dev: true /arrify@1.0.1: resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} @@ -6069,6 +7995,7 @@ packages: /available-typed-arrays@1.0.5: resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} engines: {node: '>= 0.4'} + dev: true /avvio@8.2.1: resolution: {integrity: sha512-TAlMYvOuwGyLK3PfBb5WKBXZmXz2fVCgv23d6zZFdle/q3gPjmxBaeuC0pY0Dzs5PWMSgfqqEZkrye19GlDTgw==} @@ -6141,11 +8068,24 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/template': 7.22.5 - '@babel/types': 7.22.5 + '@babel/types': 7.23.3 '@types/babel__core': 7.20.1 '@types/babel__traverse': 7.20.1 dev: true + /babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.24.5): + resolution: {integrity: sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/compat-data': 7.24.4 + '@babel/core': 7.24.5 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.5) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + /babel-plugin-polyfill-corejs2@0.4.5(@babel/core@7.22.9): resolution: {integrity: sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==} peerDependencies: @@ -6158,6 +8098,18 @@ packages: transitivePeerDependencies: - supports-color + /babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.5): + resolution: {integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.5) + core-js-compat: 3.37.0 + transitivePeerDependencies: + - supports-color + dev: true + /babel-plugin-polyfill-corejs3@0.8.3(@babel/core@7.22.9): resolution: {integrity: sha512-z41XaniZL26WLrvjy7soabMXrfPWARN25PZoriDEiLMxAp50AUW3t35BGQUMg5xK3UrpVTtagIDklxYa+MhiNA==} peerDependencies: @@ -6179,6 +8131,17 @@ packages: transitivePeerDependencies: - supports-color + /babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.24.5): + resolution: {integrity: sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.5) + transitivePeerDependencies: + - supports-color + dev: true + /babel-preset-current-node-syntax@1.0.1(@babel/core@7.22.9): resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} peerDependencies: @@ -6399,6 +8362,17 @@ packages: node-releases: 2.0.13 update-browserslist-db: 1.0.11(browserslist@4.21.10) + /browserslist@4.23.0: + resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001615 + electron-to-chromium: 1.4.755 + node-releases: 2.0.14 + update-browserslist-db: 1.0.14(browserslist@4.23.0) + dev: true + /bs-logger@0.2.6: resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} engines: {node: '>= 6'} @@ -6527,8 +8501,9 @@ packages: /call-bind@1.0.2: resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} dependencies: - function-bind: 1.1.1 + function-bind: 1.1.2 get-intrinsic: 1.2.1 + dev: true /callsite@1.0.0: resolution: {integrity: sha512-0vdNRFXn5q+dtOqjfFtmtlI9N2eVZ7LMyEV2iKC5mEEFvSg/69Ml6b/WU2qF8W1nLRa0wiSrDT3Y5jOHZCwKPQ==} @@ -6537,6 +8512,7 @@ packages: /callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} + dev: true /camelcase-keys@6.2.2: resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} @@ -6568,6 +8544,24 @@ packages: /caniuse-lite@1.0.30001519: resolution: {integrity: sha512-0QHgqR+Jv4bxHMp8kZ1Kn8CH55OikjKJ6JmKkZYP1F3D7w+lnFXF70nG5eNfsZS89jadi5Ywy5UCSKLAglIRkg==} + /caniuse-lite@1.0.30001615: + resolution: {integrity: sha512-1IpazM5G3r38meiae0bHRnPhz+CBQ3ZLqbQMtrg+AsTPKAXgW38JNsXkyZ+v8waCsDmPq87lmfun5Q2AGysNEQ==} + dev: true + + /canvas@2.11.2: + resolution: {integrity: sha512-ItanGBMrmRV7Py2Z+Xhs7cT+FNt5K0vPL4p9EZ/UX/Mu7hFbkxSjKF2KVtPwX7UYWp7dRKnrTvReflgrItJbdw==} + engines: {node: '>=6'} + requiresBuild: true + dependencies: + '@mapbox/node-pre-gyp': 1.0.11(supports-color@9.4.0) + nan: 2.18.0 + simple-get: 3.1.1 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + optional: true + /ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} dev: false @@ -6585,19 +8579,6 @@ packages: type-detect: 4.0.8 dev: true - /chai@4.3.7: - resolution: {integrity: sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==} - engines: {node: '>=4'} - dependencies: - assertion-error: 1.1.0 - check-error: 1.0.2 - deep-eql: 4.1.3 - get-func-name: 2.0.0 - loupe: 2.3.6 - pathval: 1.1.1 - type-detect: 4.0.8 - dev: true - /chalk@1.1.3: resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} engines: {node: '>=0.10.0'} @@ -6631,6 +8612,7 @@ packages: dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 + dev: true /chalk@5.2.0: resolution: {integrity: sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==} @@ -6653,10 +8635,6 @@ packages: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} dev: true - /check-error@1.0.2: - resolution: {integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==} - dev: true - /check-error@1.0.3: resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} dependencies: @@ -6676,11 +8654,28 @@ packages: readdirp: 3.6.0 optionalDependencies: fsevents: 2.3.3 + dev: true + + /chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + requiresBuild: true + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + dev: false + optional: true /chownr@2.0.0: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} engines: {node: '>=10'} - dev: true /ci-info@2.0.0: resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} @@ -6837,8 +8832,8 @@ packages: engines: {node: '>=0.8'} dev: true - /clsx@1.2.1: - resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==} + /clsx@2.1.1: + resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} engines: {node: '>=6'} dev: false @@ -6874,12 +8869,14 @@ packages: engines: {node: '>=7.0.0'} dependencies: color-name: 1.1.4 + dev: true /color-name@1.1.3: resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} /color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + dev: true /color-string@1.9.1: resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} @@ -6891,7 +8888,6 @@ packages: /color-support@1.1.3: resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} hasBin: true - dev: true /color@3.2.1: resolution: {integrity: sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==} @@ -7022,6 +9018,10 @@ packages: readable-stream: 3.6.2 dev: true + /computeds@0.0.1: + resolution: {integrity: sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==} + dev: true + /concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} @@ -7071,7 +9071,6 @@ packages: /console-control-strings@1.1.0: resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} - dev: true /content-disposition@0.5.4: resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} @@ -7127,6 +9126,12 @@ packages: dependencies: browserslist: 4.21.10 + /core-js-compat@3.37.0: + resolution: {integrity: sha512-vYq4L+T8aS5UuFg4UwDhc7YNRWVeVZwltad9C/jV3R2LgVOpS9BDr7l/WL6BN0dbV3k1XejPTHqqEzJgsa0frA==} + dependencies: + browserslist: 4.23.0 + dev: true + /core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} dev: true @@ -7223,6 +9228,7 @@ packages: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 + dev: true /crypto-random-string@2.0.0: resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} @@ -7267,6 +9273,10 @@ packages: /csstype@3.1.2: resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} + /csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + dev: false + /cyclist@1.0.2: resolution: {integrity: sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA==} dev: true @@ -7356,6 +9366,10 @@ packages: time-zone: 1.0.0 dev: true + /de-indent@1.0.2: + resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} + dev: true + /debug@2.6.9: resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} peerDependencies: @@ -7376,7 +9390,7 @@ packages: optional: true dependencies: ms: 2.1.3 - dev: false + dev: true /debug@4.3.4(supports-color@9.4.0): resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} @@ -7424,6 +9438,15 @@ packages: mimic-response: 1.0.1 dev: true + /decompress-response@4.2.1: + resolution: {integrity: sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==} + engines: {node: '>=8'} + requiresBuild: true + dependencies: + mimic-response: 2.1.0 + dev: false + optional: true + /decompress-response@6.0.0: resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} engines: {node: '>=10'} @@ -7458,6 +9481,7 @@ packages: /deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + dev: true /deepmerge@4.3.1: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} @@ -7490,6 +9514,7 @@ packages: dependencies: has-property-descriptors: 1.0.0 object-keys: 1.1.1 + dev: true /define-property@0.2.5: resolution: {integrity: sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==} @@ -7520,7 +9545,6 @@ packages: /delegates@1.0.0: resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} - dev: true /depd@1.1.2: resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} @@ -7548,7 +9572,6 @@ packages: /detect-libc@2.0.2: resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} engines: {node: '>=8'} - dev: true /detect-newline@3.1.0: resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} @@ -7590,8 +9613,8 @@ packages: engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dependencies: is-url: 1.2.4 - postcss: 8.4.31 - postcss-values-parser: 6.0.2(postcss@8.4.31) + postcss: 8.4.33 + postcss-values-parser: 6.0.2(postcss@8.4.33) dev: true /detective-sass@5.0.3: @@ -7615,6 +9638,18 @@ packages: engines: {node: '>=14'} dev: true + /detective-typescript@11.1.0: + resolution: {integrity: sha512-Mq8egjnW2NSCkzEb/Az15/JnBI/Ryyl6Po0Y+0mABTFvOS6DAyUGRZqz1nyhu4QJmWWe0zaGs/ITIBeWkvCkGw==} + engines: {node: ^14.14.0 || >=16.0.0} + dependencies: + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.5) + ast-module-types: 5.0.0 + node-source-walk: 6.0.2 + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + dev: true + /detective-typescript@11.1.0(supports-color@9.4.0): resolution: {integrity: sha512-Mq8egjnW2NSCkzEb/Az15/JnBI/Ryyl6Po0Y+0mABTFvOS6DAyUGRZqz1nyhu4QJmWWe0zaGs/ITIBeWkvCkGw==} engines: {node: ^14.14.0 || >=16.0.0} @@ -7627,6 +9662,12 @@ packages: - supports-color dev: true + /devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + dependencies: + dequal: 2.0.3 + dev: true + /diff-sequences@27.5.1: resolution: {integrity: sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -7645,28 +9686,33 @@ packages: /diff@5.1.0: resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==} engines: {node: '>=0.3.1'} + dev: false /dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} dependencies: path-type: 4.0.0 + dev: true /doctrine@2.1.0: resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} engines: {node: '>=0.10.0'} dependencies: esutils: 2.0.3 + dev: true /doctrine@3.0.0: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} engines: {node: '>=6.0.0'} dependencies: esutils: 2.0.3 + dev: true /dommatrix@1.0.3: resolution: {integrity: sha512-l32Xp/TLgWb8ReqbVJAFIvXmY7go4nTxxlWiAFyhoQw9RKEOHBZNnyGvJWqDVSPmq3Y9HlM4npqF/T6VMOXhww==} deprecated: dommatrix is no longer maintained. Please use @thednp/dommatrix. + dev: true /dot-prop@5.3.0: resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} @@ -7728,6 +9774,10 @@ packages: /electron-to-chromium@1.4.484: resolution: {integrity: sha512-nO3ZEomTK2PO/3TUXgEx0A97xZTpKVf4p427lABHuCpT1IQ2N+njVh29DkQkCk6Q4m2wjU+faK4xAcfFndwjvw==} + /electron-to-chromium@1.4.755: + resolution: {integrity: sha512-9nop+3jZxSHIxe1EzEUcjDXzK+3qOv3fY5w0sE88nIZUntbv1aXWmoxGWlklX5XSO4txCpLssWkUSh8RQPovBg==} + dev: true + /elegant-spinner@1.0.1: resolution: {integrity: sha512-B+ZM+RXvRqQaAmkMlO/oSe5nMUOaUnyfGYCEHoR8wrXsZR2mA0XVibsxV1bvTwxdRWah1PkQqso2EzhILGHtEQ==} engines: {node: '>=0.10.0'} @@ -7752,7 +9802,6 @@ packages: /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - dev: true /emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} @@ -7784,6 +9833,11 @@ packages: resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} dev: true + /entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + dev: true + /env-paths@3.0.0: resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -7856,6 +9910,7 @@ packages: typed-array-length: 1.0.4 unbox-primitive: 1.0.2 which-typed-array: 1.1.11 + dev: true /es-module-lexer@1.4.1: resolution: {integrity: sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==} @@ -7868,11 +9923,13 @@ packages: get-intrinsic: 1.2.1 has: 1.0.3 has-tostringtag: 1.0.0 + dev: true /es-shim-unscopables@1.0.0: resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} dependencies: has: 1.0.3 + dev: true /es-to-primitive@1.2.1: resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} @@ -7881,6 +9938,7 @@ packages: is-callable: 1.2.7 is-date-object: 1.0.5 is-symbol: 1.0.4 + dev: true /es6-promisify@6.1.1: resolution: {integrity: sha512-HBL8I3mIki5C1Cc9QjKUenHtnG0A5/xA8Q/AllRcfiwl2CZFXGK7ddBiCoRwAix4i2KxcQfjtIVcrVbB3vbmwg==} @@ -7946,10 +10004,46 @@ packages: '@esbuild/win32-x64': 0.19.6 dev: true + /esbuild@0.20.2: + resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/aix-ppc64': 0.20.2 + '@esbuild/android-arm': 0.20.2 + '@esbuild/android-arm64': 0.20.2 + '@esbuild/android-x64': 0.20.2 + '@esbuild/darwin-arm64': 0.20.2 + '@esbuild/darwin-x64': 0.20.2 + '@esbuild/freebsd-arm64': 0.20.2 + '@esbuild/freebsd-x64': 0.20.2 + '@esbuild/linux-arm': 0.20.2 + '@esbuild/linux-arm64': 0.20.2 + '@esbuild/linux-ia32': 0.20.2 + '@esbuild/linux-loong64': 0.20.2 + '@esbuild/linux-mips64el': 0.20.2 + '@esbuild/linux-ppc64': 0.20.2 + '@esbuild/linux-riscv64': 0.20.2 + '@esbuild/linux-s390x': 0.20.2 + '@esbuild/linux-x64': 0.20.2 + '@esbuild/netbsd-x64': 0.20.2 + '@esbuild/openbsd-x64': 0.20.2 + '@esbuild/sunos-x64': 0.20.2 + '@esbuild/win32-arm64': 0.20.2 + '@esbuild/win32-ia32': 0.20.2 + '@esbuild/win32-x64': 0.20.2 + dev: true + /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} + /escalade@3.1.2: + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + engines: {node: '>=6'} + dev: true + /escape-goat@2.1.1: resolution: {integrity: sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==} engines: {node: '>=8'} @@ -7976,6 +10070,7 @@ packages: /escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} + dev: true /escape-string-regexp@5.0.0: resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} @@ -7993,13 +10088,13 @@ packages: source-map: 0.6.1 dev: true - /eslint-config-prettier@8.10.0(eslint@8.23.0): - resolution: {integrity: sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==} + /eslint-config-prettier@9.1.0(eslint@8.57.0): + resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.23.0 + eslint: 8.57.0 dev: true /eslint-import-resolver-node@0.3.7: @@ -8010,9 +10105,9 @@ packages: resolve: 1.22.3 transitivePeerDependencies: - supports-color - dev: false + dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.7)(eslint@8.23.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@7.8.0)(eslint-import-resolver-node@0.3.7)(eslint@8.57.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -8033,15 +10128,15 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 5.62.0(eslint@8.23.0)(typescript@5.4.5) + '@typescript-eslint/parser': 7.8.0(eslint@8.57.0)(typescript@5.4.5) debug: 3.2.7 - eslint: 8.23.0 + eslint: 8.57.0 eslint-import-resolver-node: 0.3.7 transitivePeerDependencies: - supports-color - dev: false + dev: true - /eslint-plugin-import@2.28.0(@typescript-eslint/parser@5.62.0)(eslint@8.23.0): + /eslint-plugin-import@2.28.0(@typescript-eslint/parser@7.8.0)(eslint@8.57.0): resolution: {integrity: sha512-B8s/n+ZluN7sxj9eUf7/pRFERX0r5bnFA2dCaLHy2ZeaQEAz0k+ZZkFWRFHJAqxfxQDx6KLv9LeIki7cFdwW+Q==} engines: {node: '>=4'} peerDependencies: @@ -8051,16 +10146,16 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 5.62.0(eslint@8.23.0)(typescript@5.4.5) + '@typescript-eslint/parser': 7.8.0(eslint@8.57.0)(typescript@5.4.5) array-includes: 3.1.6 array.prototype.findlastindex: 1.2.2 array.prototype.flat: 1.3.1 array.prototype.flatmap: 1.3.1 debug: 3.2.7 doctrine: 2.1.0 - eslint: 8.23.0 + eslint: 8.57.0 eslint-import-resolver-node: 0.3.7 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.7)(eslint@8.23.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.8.0)(eslint-import-resolver-node@0.3.7)(eslint@8.57.0) has: 1.0.3 is-core-module: 2.12.1 is-glob: 4.0.3 @@ -8075,9 +10170,9 @@ packages: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - dev: false + dev: true - /eslint-plugin-jsx-a11y@6.7.1(eslint@8.23.0): + /eslint-plugin-jsx-a11y@6.7.1(eslint@8.57.0): resolution: {integrity: sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==} engines: {node: '>=4.0'} peerDependencies: @@ -8092,7 +10187,7 @@ packages: axobject-query: 3.2.1 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - eslint: 8.23.0 + eslint: 8.57.0 has: 1.0.3 jsx-ast-utils: 3.3.5 language-tags: 1.0.5 @@ -8102,33 +10197,37 @@ packages: semver: 6.3.1 dev: true - /eslint-plugin-prettier@4.2.1(eslint-config-prettier@8.10.0)(eslint@8.23.0)(prettier@2.4.1): - resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==} - engines: {node: '>=12.0.0'} + /eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5): + resolution: {integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==} + engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: - eslint: '>=7.28.0' + '@types/eslint': '>=8.0.0' + eslint: '>=8.0.0' eslint-config-prettier: '*' - prettier: '>=2.0.0' + prettier: '>=3.0.0' peerDependenciesMeta: + '@types/eslint': + optional: true eslint-config-prettier: optional: true dependencies: - eslint: 8.23.0 - eslint-config-prettier: 8.10.0(eslint@8.23.0) - prettier: 2.4.1 + eslint: 8.57.0 + eslint-config-prettier: 9.1.0(eslint@8.57.0) + prettier: 3.2.5 prettier-linter-helpers: 1.0.0 + synckit: 0.8.8 dev: true - /eslint-plugin-react-hooks@4.6.0(eslint@8.23.0): + /eslint-plugin-react-hooks@4.6.0(eslint@8.57.0): resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 dependencies: - eslint: 8.23.0 + eslint: 8.57.0 dev: true - /eslint-plugin-react@7.33.1(eslint@8.23.0): + /eslint-plugin-react@7.33.1(eslint@8.57.0): resolution: {integrity: sha512-L093k0WAMvr6VhNwReB8VgOq5s2LesZmrpPdKz/kZElQDzqS7G7+DnKoqT+w4JwuiGeAhAvHO0fvy0Eyk4ejDA==} engines: {node: '>=4'} peerDependencies: @@ -8138,7 +10237,7 @@ packages: array.prototype.flatmap: 1.3.1 array.prototype.tosorted: 1.1.1 doctrine: 2.1.0 - eslint: 8.23.0 + eslint: 8.57.0 estraverse: 5.3.0 jsx-ast-utils: 3.3.5 minimatch: 3.1.2 @@ -8152,47 +10251,32 @@ packages: string.prototype.matchall: 4.0.8 dev: true - /eslint-scope@5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} - dependencies: - esrecurse: 4.3.0 - estraverse: 4.3.0 - dev: true - /eslint-scope@7.2.2: resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 + dev: true - /eslint-utils@3.0.0(eslint@8.23.0): - resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} - engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} - peerDependencies: - eslint: '>=5' - dependencies: - eslint: 8.23.0 - eslint-visitor-keys: 2.1.0 - - /eslint-visitor-keys@2.1.0: - resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} - engines: {node: '>=10'} - - /eslint-visitor-keys@3.4.2: - resolution: {integrity: sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==} + /eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true - /eslint@8.23.0: - resolution: {integrity: sha512-pBG/XOn0MsJcKcTRLr27S5HpzQo4kLr+HjLQIyK4EiCsijDl/TB+h5uEuJU6bQ8Edvwz1XWOjpaP2qgnXGpTcA==} + /eslint@8.57.0: + resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint/eslintrc': 1.4.1 - '@humanwhocodes/config-array': 0.10.7 - '@humanwhocodes/gitignore-to-minimatch': 1.0.2 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/regexpp': 4.6.2 + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.57.0 + '@humanwhocodes/config-array': 0.11.14 '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.2.0 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 @@ -8200,23 +10284,20 @@ packages: doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 - eslint-utils: 3.0.0(eslint@8.23.0) - eslint-visitor-keys: 3.4.2 + eslint-visitor-keys: 3.4.3 espree: 9.6.1 esquery: 1.5.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 file-entry-cache: 6.0.1 find-up: 5.0.0 - functional-red-black-tree: 1.0.1 glob-parent: 6.0.2 globals: 13.20.0 - globby: 11.1.0 - grapheme-splitter: 1.0.4 + graphemer: 1.4.0 ignore: 5.2.4 - import-fresh: 3.3.0 imurmurhash: 0.1.4 is-glob: 4.0.3 + is-path-inside: 3.0.3 js-yaml: 4.1.0 json-stable-stringify-without-jsonify: 1.0.1 levn: 0.4.1 @@ -8224,12 +10305,11 @@ packages: minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.3 - regexpp: 3.2.0 strip-ansi: 6.0.1 - strip-json-comments: 3.1.1 text-table: 0.2.0 transitivePeerDependencies: - supports-color + dev: true /espree@9.6.1: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} @@ -8237,7 +10317,8 @@ packages: dependencies: acorn: 8.10.0 acorn-jsx: 5.3.2(acorn@8.10.0) - eslint-visitor-keys: 3.4.2 + eslint-visitor-keys: 3.4.3 + dev: true /esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} @@ -8250,21 +10331,19 @@ packages: engines: {node: '>=0.10'} dependencies: estraverse: 5.3.0 + dev: true /esrecurse@4.3.0: resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} engines: {node: '>=4.0'} dependencies: estraverse: 5.3.0 - - /estraverse@4.3.0: - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} - engines: {node: '>=4.0'} dev: true /estraverse@5.3.0: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} + dev: true /estree-walker@1.0.1: resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==} @@ -8503,6 +10582,7 @@ packages: /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + dev: true /fast-diff@1.3.0: resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} @@ -8516,16 +10596,6 @@ packages: resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} dev: true - /fast-glob@3.3.1: - resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} - engines: {node: '>=8.6.0'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.5 - /fast-glob@3.3.2: resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} engines: {node: '>=8.6.0'} @@ -8554,6 +10624,7 @@ packages: /fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + dev: true /fast-querystring@1.1.2: resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==} @@ -8610,6 +10681,7 @@ packages: resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} dependencies: reusify: 1.0.4 + dev: true /fb-watchman@2.0.2: resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} @@ -8698,6 +10770,7 @@ packages: engines: {node: ^10.12.0 || >=12.0.0} dependencies: flat-cache: 3.0.4 + dev: true /file-selector@0.4.0: resolution: {integrity: sha512-iACCiXeMYOvZqlF1kTiYINzgepRBymz1wwjiuup9u9nayhb6g4fSwiyJ/6adli+EPwrWtpgQAh2PoS7HukEGEg==} @@ -8839,6 +10912,7 @@ packages: dependencies: locate-path: 6.0.0 path-exists: 4.0.0 + dev: true /find-up@6.3.0: resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} @@ -8854,9 +10928,11 @@ packages: dependencies: flatted: 3.2.7 rimraf: 3.0.2 + dev: true /flatted@3.2.7: resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} + dev: true /flush-write-stream@2.0.0: resolution: {integrity: sha512-uXClqPxT4xW0lcdSBheb2ObVU+kuqUk3Jk64EwieirEXZx9XUrVwp/JuBfKAWaM4T5Td/VL7QLDWPXp/MvGm/g==} @@ -8891,6 +10967,7 @@ packages: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} dependencies: is-callable: 1.2.7 + dev: true /for-in@1.0.2: resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==} @@ -8952,6 +11029,15 @@ packages: resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} dev: true + /fs-extra@7.0.1: + resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} + engines: {node: '>=6 <7 || >=8'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: true + /fs-extra@8.1.0: resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} engines: {node: '>=6 <7 || >=8'} @@ -8976,7 +11062,6 @@ packages: engines: {node: '>= 8'} dependencies: minipass: 3.3.6 - dev: true /fs-readdir-recursive@1.1.0: resolution: {integrity: sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==} @@ -9000,12 +11085,8 @@ packages: requiresBuild: true optional: true - /function-bind@1.1.1: - resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} - /function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - dev: true /function.prototype.name@1.1.5: resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} @@ -9015,12 +11096,11 @@ packages: define-properties: 1.2.0 es-abstract: 1.22.1 functions-have-names: 1.2.3 - - /functional-red-black-tree@1.0.1: - resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==} + dev: true /functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + dev: true /fuzzy@0.1.3: resolution: {integrity: sha512-/gZffu4ykarLrCiP3Ygsa86UAo1E5vEVlvTrpkKywXSbP9Xhln3oSp9QSV57gEq3JFFpGJ4GZ+5zdEp3FcUh4w==} @@ -9040,7 +11120,6 @@ packages: string-width: 4.2.3 strip-ansi: 6.0.1 wide-align: 1.1.5 - dev: true /gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} @@ -9058,10 +11137,6 @@ packages: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} - /get-func-name@2.0.0: - resolution: {integrity: sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==} - dev: true - /get-func-name@2.0.2: resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} dev: true @@ -9069,10 +11144,11 @@ packages: /get-intrinsic@1.2.1: resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} dependencies: - function-bind: 1.1.1 + function-bind: 1.1.2 has: 1.0.3 has-proto: 1.0.1 has-symbols: 1.0.3 + dev: true /get-nonce@1.0.1: resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==} @@ -9123,6 +11199,7 @@ packages: dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.1 + dev: true /get-tsconfig@4.7.2: resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} @@ -9180,6 +11257,7 @@ packages: engines: {node: '>=10.13.0'} dependencies: is-glob: 4.0.3 + dev: true /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} @@ -9233,12 +11311,14 @@ packages: engines: {node: '>=8'} dependencies: type-fest: 0.20.2 + dev: true /globalthis@1.0.3: resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} engines: {node: '>= 0.4'} dependencies: define-properties: 1.2.0 + dev: true /globby@11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} @@ -9246,17 +11326,18 @@ packages: dependencies: array-union: 2.1.0 dir-glob: 3.0.1 - fast-glob: 3.3.1 + fast-glob: 3.3.2 ignore: 5.2.4 merge2: 1.4.1 slash: 3.0.0 + dev: true /globby@13.2.2: resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: dir-glob: 3.0.1 - fast-glob: 3.3.1 + fast-glob: 3.3.2 ignore: 5.2.4 merge2: 1.4.1 slash: 4.0.0 @@ -9293,6 +11374,7 @@ packages: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} dependencies: get-intrinsic: 1.2.1 + dev: true /got@12.6.1: resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==} @@ -9338,9 +11420,6 @@ packages: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} dev: true - /grapheme-splitter@1.0.4: - resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} - /graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} dev: true @@ -9359,6 +11438,7 @@ packages: /has-bigints@1.0.2: resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + dev: true /has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} @@ -9367,6 +11447,7 @@ packages: /has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} + dev: true /has-own-prop@2.0.0: resolution: {integrity: sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ==} @@ -9377,24 +11458,27 @@ packages: resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} dependencies: get-intrinsic: 1.2.1 + dev: true /has-proto@1.0.1: resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} engines: {node: '>= 0.4'} + dev: true /has-symbols@1.0.3: resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} engines: {node: '>= 0.4'} + dev: true /has-tostringtag@1.0.0: resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} engines: {node: '>= 0.4'} dependencies: has-symbols: 1.0.3 + dev: true /has-unicode@2.0.1: resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} - dev: true /has-value@0.3.1: resolution: {integrity: sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==} @@ -9441,7 +11525,7 @@ packages: resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} engines: {node: '>= 0.4.0'} dependencies: - function-bind: 1.1.1 + function-bind: 1.1.2 /hasbin@1.2.3: resolution: {integrity: sha512-CCd8e/w2w28G8DyZvKgiHnQJ/5XXDz6qiUHnthvtag/6T5acUeN5lqq+HMoBqcmgWueWDhiCplrw0Kb1zDACRg==} @@ -9465,10 +11549,22 @@ packages: function-bind: 1.1.2 dev: true + /hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + dependencies: + function-bind: 1.1.2 + dev: true + /hast-util-whitespace@2.0.1: resolution: {integrity: sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==} dev: false + /he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + dev: true + /hexer@1.5.0: resolution: {integrity: sha512-dyrPC8KzBzUJ19QTIo1gXNqIISRXQ0NwteW6OeQHRN4ZuZeHkdODfj0zHBdOlHbRY8GqbqK57C9oWSvQZizFsg==} engines: {node: '>= 0.10.x'} @@ -9583,7 +11679,6 @@ packages: debug: 4.3.4(supports-color@9.4.0) transitivePeerDependencies: - supports-color - dev: true /human-signals@1.1.1: resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} @@ -9628,6 +11723,12 @@ packages: /ignore@5.2.4: resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} engines: {node: '>= 4'} + dev: true + + /ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + engines: {node: '>= 4'} + dev: true /import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} @@ -9635,6 +11736,7 @@ packages: dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 + dev: true /import-lazy@2.1.0: resolution: {integrity: sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==} @@ -9658,6 +11760,7 @@ packages: /imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} + dev: true /indent-string@3.2.0: resolution: {integrity: sha512-BYqTHXTGUIvg7t1r4sJNKcbDZkL92nkXA8YtRpbjFHRHGDL/NtUeiBJMeE60kIFN/Mg8ESaWQvftaYMGJzQZCQ==} @@ -9765,6 +11868,7 @@ packages: get-intrinsic: 1.2.1 has: 1.0.3 side-channel: 1.0.4 + dev: true /invariant@2.2.4: resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} @@ -9790,6 +11894,7 @@ packages: call-bind: 1.0.2 get-intrinsic: 1.2.1 is-typed-array: 1.1.12 + dev: true /is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} @@ -9803,6 +11908,7 @@ packages: resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} dependencies: has-bigints: 1.0.2 + dev: true /is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} @@ -9816,6 +11922,7 @@ packages: dependencies: call-bind: 1.0.2 has-tostringtag: 1.0.0 + dev: true /is-buffer@1.1.6: resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} @@ -9836,6 +11943,7 @@ packages: /is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} + dev: true /is-ci@2.0.0: resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==} @@ -9856,6 +11964,12 @@ packages: dependencies: has: 1.0.3 + /is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + dependencies: + hasown: 2.0.2 + dev: true + /is-data-descriptor@1.0.1: resolution: {integrity: sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==} engines: {node: '>= 0.4'} @@ -9868,6 +11982,7 @@ packages: engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.0 + dev: true /is-descriptor@0.1.7: resolution: {integrity: sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==} @@ -9927,7 +12042,6 @@ packages: /is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} - dev: true /is-fullwidth-code-point@4.0.0: resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} @@ -9982,6 +12096,7 @@ packages: /is-negative-zero@2.0.2: resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} engines: {node: '>= 0.4'} + dev: true /is-npm@4.0.0: resolution: {integrity: sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==} @@ -9998,6 +12113,7 @@ packages: engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.0 + dev: true /is-number@3.0.0: resolution: {integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==} @@ -10078,6 +12194,7 @@ packages: dependencies: call-bind: 1.0.2 has-tostringtag: 1.0.0 + dev: true /is-regexp@1.0.0: resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} @@ -10088,6 +12205,7 @@ packages: resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} dependencies: call-bind: 1.0.2 + dev: true /is-stream@1.1.0: resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} @@ -10109,18 +12227,21 @@ packages: engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.0 + dev: true /is-symbol@1.0.4: resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} engines: {node: '>= 0.4'} dependencies: has-symbols: 1.0.3 + dev: true /is-typed-array@1.1.12: resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} engines: {node: '>= 0.4'} dependencies: which-typed-array: 1.1.11 + dev: true /is-typedarray@1.0.0: resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} @@ -10149,6 +12270,7 @@ packages: resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} dependencies: call-bind: 1.0.2 + dev: true /is-windows@1.0.2: resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} @@ -10177,12 +12299,14 @@ packages: /isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + dev: true /iserror@0.0.2: resolution: {integrity: sha512-oKGGrFVaWwETimP3SiWwjDeY27ovZoyZPHtxblC4hCq9fXxed/jasx+ATWFFjCVSRZng8VTMsN1nDnGo6zMBSw==} /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: true /isobject@2.1.0: resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==} @@ -10610,7 +12734,7 @@ packages: '@babel/generator': 7.22.9 '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.9) '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.9) - '@babel/types': 7.22.5 + '@babel/types': 7.23.3 '@jest/expect-utils': 29.6.2 '@jest/transform': 29.6.2 '@jest/types': 29.6.1 @@ -10720,6 +12844,10 @@ packages: - ts-node dev: true + /jju@1.4.0: + resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} + dev: true + /js-string-escape@1.0.1: resolution: {integrity: sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg==} engines: {node: '>= 0.8'} @@ -10741,6 +12869,7 @@ packages: hasBin: true dependencies: argparse: 2.0.1 + dev: true /jsesc@0.5.0: resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} @@ -10771,6 +12900,7 @@ packages: /json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + dev: true /json-schema-traverse@1.0.0: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} @@ -10782,13 +12912,14 @@ packages: /json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + dev: true /json5@1.0.2: resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} hasBin: true dependencies: minimist: 1.2.8 - dev: false + dev: true /json5@2.2.3: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} @@ -11028,6 +13159,11 @@ packages: /kleur@4.1.5: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} engines: {node: '>=6'} + dev: false + + /kolorist@1.8.0: + resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} + dev: true /kuler@2.0.0: resolution: {integrity: sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==} @@ -11085,6 +13221,7 @@ packages: dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 + dev: true /light-my-request@5.11.0: resolution: {integrity: sha512-qkFCeloXCOMpmEdZ/MV91P8AT4fjwFXWaAFz3lUeStM8RcoM1ks4J/F8r1b3r6y/H4u3ACEJ1T+Gv5bopj7oDA==} @@ -11216,6 +13353,7 @@ packages: engines: {node: '>=10'} dependencies: p-locate: 5.0.0 + dev: true /locate-path@7.2.0: resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} @@ -11247,10 +13385,18 @@ packages: resolution: {integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==} dev: true + /lodash.get@4.4.2: + resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} + dev: true + /lodash.isempty@4.4.0: resolution: {integrity: sha512-oKMuF3xEeqDltrGMfDxAPGIVMSSRv8tbRSODbrs4KGsRRLEhrW8N8Rd4DRgB2+621hY8A8XwwrTVhXWpxFvMzg==} dev: true + /lodash.isequal@4.5.0: + resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + dev: true + /lodash.isplainobject@4.0.6: resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} dev: true @@ -11261,6 +13407,7 @@ packages: /lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + dev: true /lodash.sortby@4.7.0: resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} @@ -11377,8 +13524,9 @@ packages: /loupe@2.3.6: resolution: {integrity: sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==} + deprecated: Please upgrade to 2.3.7 which fixes GHSA-4q6p-r6v2-jvc5 dependencies: - get-func-name: 2.0.0 + get-func-name: 2.0.2 dev: true /lowercase-keys@1.0.1: @@ -11427,6 +13575,12 @@ packages: sourcemap-codec: 1.4.8 dev: true + /magic-string@0.30.10: + resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + /magic-string@0.30.5: resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} engines: {node: '>=12'} @@ -11451,13 +13605,12 @@ packages: engines: {node: '>=8'} dependencies: semver: 6.3.1 - dev: true /make-dir@4.0.0: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} engines: {node: '>=10'} dependencies: - semver: 7.5.4 + semver: 7.6.0 dev: true /make-error@1.3.6: @@ -11565,6 +13718,26 @@ packages: uvu: 0.5.6 transitivePeerDependencies: - supports-color + dev: false + + /mdast-util-from-markdown@2.0.0: + resolution: {integrity: sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==} + dependencies: + '@types/mdast': 4.0.3 + '@types/unist': 3.0.2 + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + mdast-util-to-string: 4.0.0 + micromark: 4.0.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-decode-string: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + unist-util-stringify-position: 4.0.0 + transitivePeerDependencies: + - supports-color + dev: true /mdast-util-gfm-autolink-literal@1.0.3: resolution: {integrity: sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA==} @@ -11659,6 +13832,13 @@ packages: resolution: {integrity: sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==} dependencies: '@types/mdast': 3.0.12 + dev: false + + /mdast-util-to-string@4.0.0: + resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} + dependencies: + '@types/mdast': 4.0.3 + dev: true /media-typer@0.3.0: resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} @@ -11701,10 +13881,15 @@ packages: is-plain-obj: 2.1.0 dev: true - /merge-refs@1.2.1: - resolution: {integrity: sha512-pRPz39HQz2xzHdXAGvtJ9S8aEpNgpUjzb5yPC3ytozodmsHg+9nqgRs7/YOmn9fM/TLzntAC8AdGTidKxOq9TQ==} + /merge-refs@1.3.0(@types/react@18.3.1): + resolution: {integrity: sha512-nqXPXbso+1dcKDpPCXvwZyJILz+vSLqGGOnDrYHQYE+B8n9JTCekVLC65AfCpR4ggVyA/45Y0iR9LDyS2iI+zA==} + peerDependencies: + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@types/react': + optional: true dependencies: - '@types/react': 18.2.34 + '@types/react': 18.3.1 dev: false /merge-stream@2.0.0: @@ -11714,6 +13899,7 @@ packages: /merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} + dev: true /methods@1.1.2: resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} @@ -11747,6 +13933,28 @@ packages: micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 uvu: 0.5.6 + dev: false + + /micromark-core-commonmark@2.0.1: + resolution: {integrity: sha512-CUQyKr1e///ZODyD1U3xit6zXwy1a8q2a1S1HKtIlmgvurrEpaw/Y9y6KSIbF8P59cn/NjzHyO+Q2fAyYLQrAA==} + dependencies: + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-factory-destination: 2.0.0 + micromark-factory-label: 2.0.0 + micromark-factory-space: 2.0.0 + micromark-factory-title: 2.0.0 + micromark-factory-whitespace: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-classify-character: 2.0.0 + micromark-util-html-tag-name: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-subtokenize: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: true /micromark-extension-gfm-autolink-literal@1.0.5: resolution: {integrity: sha512-z3wJSLrDf8kRDOh2qBtoTRD53vJ+CWIyo7uyZuxf/JAbNJjiHsOpG1y5wxk8drtv3ETAHutCu6N3thkOOgueWg==} @@ -11826,6 +14034,15 @@ packages: micromark-util-character: 1.2.0 micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 + dev: false + + /micromark-factory-destination@2.0.0: + resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==} + dependencies: + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: true /micromark-factory-label@1.1.0: resolution: {integrity: sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==} @@ -11834,12 +14051,30 @@ packages: micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 uvu: 0.5.6 + dev: false + + /micromark-factory-label@2.0.0: + resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==} + dependencies: + devlop: 1.1.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: true /micromark-factory-space@1.1.0: resolution: {integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==} dependencies: micromark-util-character: 1.2.0 micromark-util-types: 1.1.0 + dev: false + + /micromark-factory-space@2.0.0: + resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==} + dependencies: + micromark-util-character: 2.1.0 + micromark-util-types: 2.0.0 + dev: true /micromark-factory-title@1.1.0: resolution: {integrity: sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==} @@ -11848,6 +14083,16 @@ packages: micromark-util-character: 1.2.0 micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 + dev: false + + /micromark-factory-title@2.0.0: + resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==} + dependencies: + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: true /micromark-factory-whitespace@1.1.0: resolution: {integrity: sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==} @@ -11856,17 +14101,42 @@ packages: micromark-util-character: 1.2.0 micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 + dev: false + + /micromark-factory-whitespace@2.0.0: + resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==} + dependencies: + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: true /micromark-util-character@1.2.0: resolution: {integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==} dependencies: micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 + dev: false + + /micromark-util-character@2.1.0: + resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==} + dependencies: + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: true /micromark-util-chunked@1.1.0: resolution: {integrity: sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==} dependencies: micromark-util-symbol: 1.1.0 + dev: false + + /micromark-util-chunked@2.0.0: + resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==} + dependencies: + micromark-util-symbol: 2.0.0 + dev: true /micromark-util-classify-character@1.1.0: resolution: {integrity: sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==} @@ -11874,17 +14144,41 @@ packages: micromark-util-character: 1.2.0 micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 + dev: false + + /micromark-util-classify-character@2.0.0: + resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==} + dependencies: + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: true /micromark-util-combine-extensions@1.1.0: resolution: {integrity: sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==} dependencies: micromark-util-chunked: 1.1.0 micromark-util-types: 1.1.0 + dev: false + + /micromark-util-combine-extensions@2.0.0: + resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==} + dependencies: + micromark-util-chunked: 2.0.0 + micromark-util-types: 2.0.0 + dev: true /micromark-util-decode-numeric-character-reference@1.1.0: resolution: {integrity: sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==} dependencies: micromark-util-symbol: 1.1.0 + dev: false + + /micromark-util-decode-numeric-character-reference@2.0.1: + resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==} + dependencies: + micromark-util-symbol: 2.0.0 + dev: true /micromark-util-decode-string@1.1.0: resolution: {integrity: sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==} @@ -11893,22 +14187,56 @@ packages: micromark-util-character: 1.2.0 micromark-util-decode-numeric-character-reference: 1.1.0 micromark-util-symbol: 1.1.0 + dev: false + + /micromark-util-decode-string@2.0.0: + resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==} + dependencies: + decode-named-character-reference: 1.0.2 + micromark-util-character: 2.1.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-symbol: 2.0.0 + dev: true /micromark-util-encode@1.1.0: resolution: {integrity: sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==} + dev: false + + /micromark-util-encode@2.0.0: + resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==} + dev: true /micromark-util-html-tag-name@1.2.0: resolution: {integrity: sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==} + dev: false + + /micromark-util-html-tag-name@2.0.0: + resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==} + dev: true /micromark-util-normalize-identifier@1.1.0: resolution: {integrity: sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==} dependencies: micromark-util-symbol: 1.1.0 + dev: false + + /micromark-util-normalize-identifier@2.0.0: + resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==} + dependencies: + micromark-util-symbol: 2.0.0 + dev: true /micromark-util-resolve-all@1.1.0: resolution: {integrity: sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==} dependencies: micromark-util-types: 1.1.0 + dev: false + + /micromark-util-resolve-all@2.0.0: + resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==} + dependencies: + micromark-util-types: 2.0.0 + dev: true /micromark-util-sanitize-uri@1.2.0: resolution: {integrity: sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==} @@ -11916,6 +14244,15 @@ packages: micromark-util-character: 1.2.0 micromark-util-encode: 1.1.0 micromark-util-symbol: 1.1.0 + dev: false + + /micromark-util-sanitize-uri@2.0.0: + resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==} + dependencies: + micromark-util-character: 2.1.0 + micromark-util-encode: 2.0.0 + micromark-util-symbol: 2.0.0 + dev: true /micromark-util-subtokenize@1.1.0: resolution: {integrity: sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==} @@ -11924,12 +14261,32 @@ packages: micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 uvu: 0.5.6 + dev: false + + /micromark-util-subtokenize@2.0.1: + resolution: {integrity: sha512-jZNtiFl/1aY73yS3UGQkutD0UbhTt68qnRpw2Pifmz5wV9h8gOVsN70v+Lq/f1rKaU/W8pxRe8y8Q9FX1AOe1Q==} + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: true /micromark-util-symbol@1.1.0: resolution: {integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==} + dev: false + + /micromark-util-symbol@2.0.0: + resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==} + dev: true /micromark-util-types@1.1.0: resolution: {integrity: sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==} + dev: false + + /micromark-util-types@2.0.0: + resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==} + dev: true /micromark@3.2.0: resolution: {integrity: sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==} @@ -11953,6 +14310,31 @@ packages: uvu: 0.5.6 transitivePeerDependencies: - supports-color + dev: false + + /micromark@4.0.0: + resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==} + dependencies: + '@types/debug': 4.1.8 + debug: 4.3.4(supports-color@9.4.0) + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-combine-extensions: 2.0.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-encode: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-subtokenize: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + transitivePeerDependencies: + - supports-color + dev: true /micromatch@3.1.10: resolution: {integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==} @@ -11981,6 +14363,7 @@ packages: dependencies: braces: 3.0.2 picomatch: 2.3.1 + dev: true /mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} @@ -12026,6 +14409,13 @@ packages: engines: {node: '>=4'} dev: true + /mimic-response@2.1.0: + resolution: {integrity: sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==} + engines: {node: '>=8'} + requiresBuild: true + dev: false + optional: true + /mimic-response@3.1.0: resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} engines: {node: '>=10'} @@ -12041,6 +14431,12 @@ packages: engines: {node: '>=4'} dev: true + /minimatch@3.0.8: + resolution: {integrity: sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==} + dependencies: + brace-expansion: 1.1.11 + dev: true + /minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: @@ -12060,6 +14456,13 @@ packages: brace-expansion: 2.0.1 dev: true + /minimatch@9.0.4: + resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + dev: true + /minimist-options@4.1.0: resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} engines: {node: '>= 6'} @@ -12071,18 +14474,18 @@ packages: /minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: true /minipass@3.3.6: resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} engines: {node: '>=8'} + requiresBuild: true dependencies: yallist: 4.0.0 - dev: true /minipass@5.0.0: resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} engines: {node: '>=8'} - dev: true /minizlib@2.1.2: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} @@ -12090,7 +14493,6 @@ packages: dependencies: minipass: 3.3.6 yallist: 4.0.0 - dev: true /mixin-deep@1.3.2: resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==} @@ -12111,7 +14513,6 @@ packages: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} hasBin: true - dev: true /mlly@1.4.2: resolution: {integrity: sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==} @@ -12152,6 +14553,7 @@ packages: /mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} + dev: false /ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} @@ -12162,6 +14564,11 @@ packages: /ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + dev: true + + /muggle-string@0.3.1: + resolution: {integrity: sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==} + dev: true /multiparty@4.2.3: resolution: {integrity: sha512-Ak6EUJZuhGS8hJ3c2fY6UW5MbkGUPMBEGd13djUzoY/BHqV/gTuFWtC6IuVA7A2+v3yjBS6c4or50xhzTQZImQ==} @@ -12183,19 +14590,12 @@ packages: /nan@2.18.0: resolution: {integrity: sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==} requiresBuild: true - dev: true optional: true - /nanoid@3.3.6: - resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - /nanoid@3.3.7: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - dev: true /nanomatch@1.2.13: resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==} @@ -12216,12 +14616,9 @@ packages: - supports-color dev: true - /natural-compare-lite@1.4.0: - resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} - dev: true - /natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + dev: true /negotiator@0.6.3: resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} @@ -12246,7 +14643,7 @@ packages: '@netlify/edge-bundler': 8.19.0 '@netlify/local-functions-proxy': 1.1.1 '@netlify/serverless-functions-api': 1.7.3 - '@netlify/zip-it-and-ship-it': 9.17.0(supports-color@9.4.0) + '@netlify/zip-it-and-ship-it': 9.17.0 '@octokit/rest': 19.0.13 ansi-escapes: 6.2.0 ansi-styles: 6.2.1 @@ -12434,6 +14831,10 @@ packages: /node-releases@2.0.13: resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} + /node-releases@2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + dev: true + /node-source-walk@6.0.2: resolution: {integrity: sha512-jn9vOIK/nfqoFCcpK89/VCVaLg1IHE6UVfDOzvqmANaJ/rWCTEdH8RZ1V278nv2jr36BJdyQXIAavBLXpzdlag==} engines: {node: '>=14'} @@ -12468,7 +14869,6 @@ packages: hasBin: true dependencies: abbrev: 1.1.1 - dev: true /normalize-node-version@12.4.0: resolution: {integrity: sha512-0oLZN5xcyKVrSHMk8/9RuNblEe7HEsXAt5Te2xmMiZD9VX7bqWYe0HMyfqSYFD3xv0949lZuXaEwjTqle1uWWQ==} @@ -12540,7 +14940,6 @@ packages: console-control-strings: 1.1.0 gauge: 3.0.2 set-blocking: 2.0.0 - dev: true /number-is-nan@1.0.1: resolution: {integrity: sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==} @@ -12562,10 +14961,12 @@ packages: /object-inspect@1.12.3: resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} + dev: true /object-keys@1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} engines: {node: '>= 0.4'} + dev: true /object-visit@1.0.1: resolution: {integrity: sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==} @@ -12582,6 +14983,7 @@ packages: define-properties: 1.2.0 has-symbols: 1.0.3 object-keys: 1.1.1 + dev: true /object.entries@1.1.6: resolution: {integrity: sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==} @@ -12599,6 +15001,7 @@ packages: call-bind: 1.0.2 define-properties: 1.2.0 es-abstract: 1.22.1 + dev: true /object.groupby@1.0.0: resolution: {integrity: sha512-70MWG6NfRH9GnbZOikuhPPYzpUpof9iW2J9E4dW7FXTqPNb6rllE6u39SKwwiNh8lCwX3DDb5OgcKGiEBrTTyw==} @@ -12607,7 +15010,7 @@ packages: define-properties: 1.2.0 es-abstract: 1.22.1 get-intrinsic: 1.2.1 - dev: false + dev: true /object.hasown@1.1.2: resolution: {integrity: sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==} @@ -12630,6 +15033,7 @@ packages: call-bind: 1.0.2 define-properties: 1.2.0 es-abstract: 1.22.1 + dev: true /omit.js@2.0.2: resolution: {integrity: sha512-hJmu9D+bNB40YpL9jYebQl4lsTW6yEHRTroJzNLqQJYHm7c+NQnJGfZmIWh8S3q3KoaxV1aLhV6B3+0N0/kyJg==} @@ -12708,6 +15112,7 @@ packages: levn: 0.4.1 prelude-ls: 1.2.1 type-check: 0.4.0 + dev: true /ora@5.4.1: resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} @@ -12806,6 +15211,7 @@ packages: engines: {node: '>=10'} dependencies: yocto-queue: 0.1.0 + dev: true /p-limit@4.0.0: resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} @@ -12833,6 +15239,7 @@ packages: engines: {node: '>=10'} dependencies: p-limit: 3.1.0 + dev: true /p-locate@6.0.0: resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} @@ -12941,6 +15348,7 @@ packages: engines: {node: '>=6'} dependencies: callsites: 3.1.0 + dev: true /parse-github-url@1.0.2: resolution: {integrity: sha512-kgBf6avCbO3Cn6+RnzRGLkUsv4ZVqv/VfAYkRsyBcgkshNvVBkRn1FEZcW0Jb+npXQWm2vHPnnOqFteZxRRGNw==} @@ -12978,6 +15386,10 @@ packages: engines: {node: '>=0.10.0'} dev: true + /path-browserify@1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + dev: true + /path-exists@3.0.0: resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} engines: {node: '>=4'} @@ -12986,6 +15398,7 @@ packages: /path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} + dev: true /path-exists@5.0.0: resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} @@ -12999,6 +15412,7 @@ packages: /path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} + dev: true /path-key@4.0.0: resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} @@ -13015,12 +15429,20 @@ packages: /path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} + dev: true /path-type@5.0.0: resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==} engines: {node: '>=12'} dev: true + /path2d-polyfill@2.0.1: + resolution: {integrity: sha512-ad/3bsalbbWhmBo0D6FZ4RNMwsLsPpL6gnvhuSaU5Vm7b06Kr5ubSltQQ0T7YKsiJQO+g22zJ4dJKNTXIyOXtA==} + engines: {node: '>=8'} + requiresBuild: true + dev: false + optional: true + /pathe@1.1.1: resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==} dev: true @@ -13039,6 +15461,18 @@ packages: dependencies: dommatrix: 1.0.3 web-streams-polyfill: 3.2.1 + dev: true + + /pdfjs-dist@3.11.174: + resolution: {integrity: sha512-TdTZPf1trZ8/UFu5Cx/GXB7GZM30LT+wWUNfsi6Bq8ePLnb+woNKtDymI2mxZYBpMbonNFqKmiz684DIfnd8dA==} + engines: {node: '>=18'} + optionalDependencies: + canvas: 2.11.2 + path2d-polyfill: 2.0.1 + transitivePeerDependencies: + - encoding + - supports-color + dev: false /peek-readable@5.0.0: resolution: {integrity: sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A==} @@ -13171,7 +15605,7 @@ packages: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} dev: false - /postcss-values-parser@6.0.2(postcss@8.4.31): + /postcss-values-parser@6.0.2(postcss@8.4.33): resolution: {integrity: sha512-YLJpK0N1brcNJrs9WatuJFtHaV9q5aAOj+S4DI5S7jgHlRfm0PIbDCAFRYMQD5SHq7Fy6xsDhyutgS0QOAs0qw==} engines: {node: '>=10'} peerDependencies: @@ -13179,35 +15613,46 @@ packages: dependencies: color-name: 1.1.4 is-url-superb: 4.0.0 - postcss: 8.4.31 + postcss: 8.4.33 quote-unquote: 1.0.0 dev: true - /postcss@8.4.27: - resolution: {integrity: sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==} + /postcss@8.4.33: + resolution: {integrity: sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==} engines: {node: ^10 || ^12 || >=14} dependencies: - nanoid: 3.3.6 + nanoid: 3.3.7 picocolors: 1.0.0 source-map-js: 1.0.2 - dev: false - /postcss@8.4.31: - resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} + /postcss@8.4.38: + resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} engines: {node: ^10 || ^12 || >=14} dependencies: - nanoid: 3.3.6 + nanoid: 3.3.7 picocolors: 1.0.0 - source-map-js: 1.0.2 + source-map-js: 1.2.0 dev: true - /postcss@8.4.33: - resolution: {integrity: sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==} - engines: {node: ^10 || ^12 || >=14} + /precinct@11.0.5: + resolution: {integrity: sha512-oHSWLC8cL/0znFhvln26D14KfCQFFn4KOLSw6hmLhd+LQ2SKt9Ljm89but76Pc7flM9Ty1TnXyrA2u16MfRV3w==} + engines: {node: ^14.14.0 || >=16.0.0} + hasBin: true dependencies: - nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.0.2 + '@dependents/detective-less': 4.1.0 + commander: 10.0.1 + detective-amd: 5.0.2 + detective-cjs: 5.0.1 + detective-es6: 4.0.1 + detective-postcss: 6.1.3 + detective-sass: 5.0.3 + detective-scss: 4.0.3 + detective-stylus: 4.0.0 + detective-typescript: 11.1.0 + module-definition: 5.0.1 + node-source-walk: 6.0.2 + transitivePeerDependencies: + - supports-color dev: true /precinct@11.0.5(supports-color@9.4.0): @@ -13239,6 +15684,7 @@ packages: /prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} + dev: true /prepend-http@2.0.0: resolution: {integrity: sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==} @@ -13252,32 +15698,32 @@ packages: fast-diff: 1.3.0 dev: true - /prettier-plugin-jsdoc@0.3.38(prettier@2.4.1): - resolution: {integrity: sha512-h81ZV/nFk5gr3fzWMWzWoz/M/8FneAZxscT7DVSy+5jMIuWYnBFZfSswVKYZyTaZ5r6+6k4hpFTDWhRp85C1tg==} - engines: {node: '>=12.0.0'} + /prettier-plugin-jsdoc@1.3.0(prettier@3.2.5): + resolution: {integrity: sha512-cQm8xIa0fN9ieJFMXACQd6JPycl+8ouOijAqUqu44EF/s4fXL3Wi9sKXuEaodsEWgCN42Xby/bNhqgM1iWx4uw==} + engines: {node: '>=14.13.1 || >=16.0.0'} peerDependencies: - prettier: '>=2.1.2' + prettier: ^3.0.0 dependencies: binary-searching: 2.0.5 comment-parser: 1.4.0 - mdast-util-from-markdown: 1.3.1 - prettier: 2.4.1 + mdast-util-from-markdown: 2.0.0 + prettier: 3.2.5 transitivePeerDependencies: - supports-color dev: true - /prettier@2.4.1: - resolution: {integrity: sha512-9fbDAXSBcc6Bs1mZrDYb3XKzDLm4EXXL9sC1LqKP5rZkT6KRr/rf9amVUcODVXgguK/isJz0d0hP72WeaKWsvA==} - engines: {node: '>=10.13.0'} - hasBin: true - dev: true - /prettier@3.0.3: resolution: {integrity: sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==} engines: {node: '>=14'} hasBin: true dev: false + /prettier@3.2.5: + resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} + engines: {node: '>=14'} + hasBin: true + dev: true + /pretty-bytes@5.6.0: resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} engines: {node: '>=6'} @@ -13414,6 +15860,7 @@ packages: /punycode@2.3.0: resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} engines: {node: '>=6'} + dev: true /pupa@2.1.1: resolution: {integrity: sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==} @@ -13459,6 +15906,7 @@ packages: /queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + dev: true /queue-tick@1.0.1: resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} @@ -13669,7 +16117,7 @@ packages: tiny-warning: 1.0.3 dev: false - /react-markdown@8.0.7(@types/react@18.2.34)(react@18.2.0): + /react-markdown@8.0.7(@types/react@18.3.1)(react@18.2.0): resolution: {integrity: sha512-bvWbzG4MtOU62XqBx3Xx+zB2raaFFsq4mYiAzfjXJMEz2sixgeAfraA3tvzULF02ZdOMUOKTBFFaZJDDrq+BJQ==} peerDependencies: '@types/react': '>=16' @@ -13677,7 +16125,7 @@ packages: dependencies: '@types/hast': 2.3.5 '@types/prop-types': 15.7.5 - '@types/react': 18.2.34 + '@types/react': 18.3.1 '@types/unist': 2.0.7 comma-separated-tokens: 2.0.3 hast-util-whitespace: 2.0.1 @@ -13696,32 +16144,33 @@ packages: - supports-color dev: false - /react-pdf@6.2.2(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-huNWhzzTAb3t1mWA6WOR9yQRCbcZ6uXCGC46cEAgEhGqvXTB6RcHm+1DS2r9OdPNUZ9SZTuR6jZ1BNOJIiEing==} + /react-pdf@8.0.2(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-C0PFC+j9vmEIZ82Iq0c85xUWkgsZTUS05syqOk8NC+7PAanyWlVi/ImYkGQe27zYAlBA6IidRYEt1DAAXKq1Ow==} peerDependencies: - file-loader: ^6.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: - file-loader: + '@types/react': optional: true dependencies: - '@babel/runtime': 7.22.6 - clsx: 1.2.1 + '@types/react': 18.3.1 + clsx: 2.1.1 + dequal: 2.0.3 make-cancellable-promise: 1.3.1 make-event-props: 1.6.1 - merge-refs: 1.2.1 - pdfjs-dist: 2.16.105 - prop-types: 15.8.1 + merge-refs: 1.3.0(@types/react@18.3.1) + pdfjs-dist: 3.11.174 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) tiny-invariant: 1.3.1 - tiny-warning: 1.0.3 + warning: 4.0.3 transitivePeerDependencies: - - worker-loader + - encoding + - supports-color dev: false - /react-remove-scroll-bar@2.3.4(@types/react@18.2.34)(react@18.2.0): + /react-remove-scroll-bar@2.3.4(@types/react@18.3.1)(react@18.2.0): resolution: {integrity: sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==} engines: {node: '>=10'} peerDependencies: @@ -13731,13 +16180,13 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.34 + '@types/react': 18.3.1 react: 18.2.0 - react-style-singleton: 2.2.1(@types/react@18.2.34)(react@18.2.0) + react-style-singleton: 2.2.1(@types/react@18.3.1)(react@18.2.0) tslib: 2.6.1 dev: false - /react-remove-scroll@2.5.5(@types/react@18.2.34)(react@18.2.0): + /react-remove-scroll@2.5.5(@types/react@18.3.1)(react@18.2.0): resolution: {integrity: sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==} engines: {node: '>=10'} peerDependencies: @@ -13747,13 +16196,13 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.34 + '@types/react': 18.3.1 react: 18.2.0 - react-remove-scroll-bar: 2.3.4(@types/react@18.2.34)(react@18.2.0) - react-style-singleton: 2.2.1(@types/react@18.2.34)(react@18.2.0) + react-remove-scroll-bar: 2.3.4(@types/react@18.3.1)(react@18.2.0) + react-style-singleton: 2.2.1(@types/react@18.3.1)(react@18.2.0) tslib: 2.6.1 - use-callback-ref: 1.3.0(@types/react@18.2.34)(react@18.2.0) - use-sidecar: 1.1.2(@types/react@18.2.34)(react@18.2.0) + use-callback-ref: 1.3.0(@types/react@18.3.1)(react@18.2.0) + use-sidecar: 1.1.2(@types/react@18.3.1)(react@18.2.0) dev: false /react-router-dom@6.14.2(react-dom@18.2.0)(react@18.2.0): @@ -13779,7 +16228,7 @@ packages: react: 18.2.0 dev: false - /react-style-singleton@2.2.1(@types/react@18.2.34)(react@18.2.0): + /react-style-singleton@2.2.1(@types/react@18.3.1)(react@18.2.0): resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==} engines: {node: '>=10'} peerDependencies: @@ -13789,7 +16238,7 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.34 + '@types/react': 18.3.1 get-nonce: 1.0.1 invariant: 2.2.4 react: 18.2.0 @@ -13825,18 +16274,18 @@ packages: dependencies: loose-envify: 1.4.0 - /reactflow@11.8.3(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0): + /reactflow@11.8.3(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-wuVxJOFqi1vhA4WAEJLK0JWx2TsTiWpxTXTRp/wvpqKInQgQcB49I2QNyNYsKJCQ6jjXektS7H+LXoaVK/pG4A==} peerDependencies: react: '>=17' react-dom: '>=17' dependencies: - '@reactflow/background': 11.2.8(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0) - '@reactflow/controls': 11.1.19(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0) - '@reactflow/core': 11.8.3(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0) - '@reactflow/minimap': 11.6.3(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0) - '@reactflow/node-resizer': 2.1.5(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0) - '@reactflow/node-toolbar': 1.2.7(@types/react@18.2.34)(react-dom@18.2.0)(react@18.2.0) + '@reactflow/background': 11.2.8(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0) + '@reactflow/controls': 11.1.19(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0) + '@reactflow/core': 11.8.3(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0) + '@reactflow/minimap': 11.6.3(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0) + '@reactflow/node-resizer': 2.1.5(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0) + '@reactflow/node-toolbar': 1.2.7(@types/react@18.3.1)(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) transitivePeerDependencies: @@ -13901,7 +16350,6 @@ packages: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 - dev: true /readable-stream@4.4.2: resolution: {integrity: sha512-Lk/fICSyIhodxy1IDK2HazkeGjSmezAWX2egdtJnYhtzKEsBPJowlI6F6LPb5tqIQILrMbx22S5o3GuJavPusA==} @@ -13969,11 +16417,21 @@ packages: /regenerator-runtime@0.13.11: resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} + /regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + dev: true + /regenerator-transform@0.15.1: resolution: {integrity: sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==} dependencies: '@babel/runtime': 7.22.6 + /regenerator-transform@0.15.2: + resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} + dependencies: + '@babel/runtime': 7.24.5 + dev: true + /regex-not@1.0.2: resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} engines: {node: '>=0.10.0'} @@ -13994,10 +16452,7 @@ packages: call-bind: 1.0.2 define-properties: 1.2.0 functions-have-names: 1.2.3 - - /regexpp@3.2.0: - resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} - engines: {node: '>=8'} + dev: true /regexpu-core@5.3.2: resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} @@ -14134,6 +16589,7 @@ packages: /resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} + dev: true /resolve-from@5.0.0: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} @@ -14154,6 +16610,13 @@ packages: engines: {node: '>=10'} dev: true + /resolve@1.19.0: + resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} + dependencies: + is-core-module: 2.12.1 + path-parse: 1.0.7 + dev: true + /resolve@1.22.3: resolution: {integrity: sha512-P8ur/gp/AmbEzjr729bZnLjXK5Z+4P0zhIJgBgzqRih7hL7BOukHGtSTA3ACMY467GRFz3duQsi0bDZdR7DKdw==} hasBin: true @@ -14162,6 +16625,15 @@ packages: path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 + /resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + /resolve@2.0.0-next.4: resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==} hasBin: true @@ -14226,6 +16698,7 @@ packages: /reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + dev: true /rfdc@1.3.0: resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} @@ -14250,12 +16723,12 @@ packages: terser: 5.19.2 dev: true - /rollup-plugin-typescript-paths@1.4.0(typescript@4.9.5): + /rollup-plugin-typescript-paths@1.4.0(typescript@5.4.5): resolution: {integrity: sha512-6EgeLRjTVmymftEyCuYu91XzY5XMB5lR0YrJkeT0D7OG2RGSdbNL+C/hfPIdc/sjMa9Sl5NLsxIr6C/+/5EUpA==} peerDependencies: typescript: '>=3.4' dependencies: - typescript: 4.9.5 + typescript: 5.4.5 dev: true /rollup@2.79.1: @@ -14266,6 +16739,32 @@ packages: fsevents: 2.3.3 dev: true + /rollup@4.17.2: + resolution: {integrity: sha512-/9ClTJPByC0U4zNLowV1tMBe8yMEAxewtR3cUNX5BoEpGH3dQEWpJLr6CLp0fPdYRF/fzVOgvDb1zXuakwF5kQ==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + dependencies: + '@types/estree': 1.0.5 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.17.2 + '@rollup/rollup-android-arm64': 4.17.2 + '@rollup/rollup-darwin-arm64': 4.17.2 + '@rollup/rollup-darwin-x64': 4.17.2 + '@rollup/rollup-linux-arm-gnueabihf': 4.17.2 + '@rollup/rollup-linux-arm-musleabihf': 4.17.2 + '@rollup/rollup-linux-arm64-gnu': 4.17.2 + '@rollup/rollup-linux-arm64-musl': 4.17.2 + '@rollup/rollup-linux-powerpc64le-gnu': 4.17.2 + '@rollup/rollup-linux-riscv64-gnu': 4.17.2 + '@rollup/rollup-linux-s390x-gnu': 4.17.2 + '@rollup/rollup-linux-x64-gnu': 4.17.2 + '@rollup/rollup-linux-x64-musl': 4.17.2 + '@rollup/rollup-win32-arm64-msvc': 4.17.2 + '@rollup/rollup-win32-ia32-msvc': 4.17.2 + '@rollup/rollup-win32-x64-msvc': 4.17.2 + fsevents: 2.3.3 + dev: true + /rollup@4.6.0: resolution: {integrity: sha512-R8i5Her4oO1LiMQ3jKf7MUglYV/mhQ5g5OKeld5CnkmPdIGo79FDDQYqPhq/PCVuTQVuxsWgIbDy9F+zdHn80w==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -14295,6 +16794,7 @@ packages: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: queue-microtask: 1.2.3 + dev: true /rxjs@6.6.7: resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==} @@ -14314,6 +16814,7 @@ packages: engines: {node: '>=6'} dependencies: mri: 1.2.0 + dev: false /safe-array-concat@1.0.0: resolution: {integrity: sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==} @@ -14323,6 +16824,7 @@ packages: get-intrinsic: 1.2.1 has-symbols: 1.0.3 isarray: 2.0.5 + dev: true /safe-buffer@5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} @@ -14330,7 +16832,6 @@ packages: /safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - dev: true /safe-json-stringify@1.2.0: resolution: {integrity: sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==} @@ -14342,6 +16843,7 @@ packages: call-bind: 1.0.2 get-intrinsic: 1.2.1 is-regex: 1.1.4 + dev: true /safe-regex2@2.0.0: resolution: {integrity: sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==} @@ -14414,6 +16916,14 @@ packages: dependencies: lru-cache: 6.0.0 + /semver@7.6.0: + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + /send@0.18.0: resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} engines: {node: '>= 0.8.0'} @@ -14441,6 +16951,12 @@ packages: randombytes: 2.1.0 dev: true + /serialize-javascript@6.0.2: + resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} + dependencies: + randombytes: 2.1.0 + dev: true + /serve-static@1.15.0: resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} engines: {node: '>= 0.8.0'} @@ -14487,10 +17003,12 @@ packages: engines: {node: '>=8'} dependencies: shebang-regex: 3.0.0 + dev: true /shebang-regex@3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} + dev: true /shiki@0.14.3: resolution: {integrity: sha512-U3S/a+b0KS+UkTyMjoNojvTgrBHjgp7L6ovhFVZsXmBGnVdQ4K4U9oK0z63w538S91ATngv1vXigHCSWOwnr+g==} @@ -14518,6 +17036,7 @@ packages: call-bind: 1.0.2 get-intrinsic: 1.2.1 object-inspect: 1.12.3 + dev: true /siginfo@2.0.0: resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} @@ -14525,13 +17044,28 @@ packages: /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - dev: true /signal-exit@4.1.0: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} dev: true + /simple-concat@1.0.1: + resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} + requiresBuild: true + dev: false + optional: true + + /simple-get@3.1.1: + resolution: {integrity: sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==} + requiresBuild: true + dependencies: + decompress-response: 4.2.1 + once: 1.4.0 + simple-concat: 1.0.1 + dev: false + optional: true + /simple-swizzle@0.2.2: resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} dependencies: @@ -14550,6 +17084,7 @@ packages: /slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} + dev: true /slash@4.0.0: resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} @@ -14587,6 +17122,10 @@ packages: is-fullwidth-code-point: 4.0.0 dev: true + /smob@1.5.0: + resolution: {integrity: sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==} + dev: true + /snapdragon-node@2.1.1: resolution: {integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==} engines: {node: '>=0.10.0'} @@ -14643,6 +17182,11 @@ packages: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} + /source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + engines: {node: '>=0.10.0'} + dev: true + /source-map-resolve@0.5.3: resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==} deprecated: See https://github.com/lydell/source-map-resolve#deprecated @@ -14862,7 +17406,6 @@ packages: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - dev: true /string-width@5.1.2: resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} @@ -14893,6 +17436,7 @@ packages: call-bind: 1.0.2 define-properties: 1.2.0 es-abstract: 1.22.1 + dev: true /string.prototype.trimend@1.0.6: resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} @@ -14900,6 +17444,7 @@ packages: call-bind: 1.0.2 define-properties: 1.2.0 es-abstract: 1.22.1 + dev: true /string.prototype.trimstart@1.0.6: resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} @@ -14907,6 +17452,7 @@ packages: call-bind: 1.0.2 define-properties: 1.2.0 es-abstract: 1.22.1 + dev: true /string_decoder@1.1.1: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} @@ -14918,7 +17464,6 @@ packages: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} dependencies: safe-buffer: 5.2.1 - dev: true /stringify-object@3.3.0: resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} @@ -14969,7 +17514,7 @@ packages: /strip-bom@3.0.0: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} - dev: false + dev: true /strip-bom@4.0.0: resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} @@ -15013,6 +17558,7 @@ packages: /strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} + dev: true /strip-literal@1.3.0: resolution: {integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==} @@ -15072,7 +17618,7 @@ packages: '@types/stylis': 4.2.0 css-to-react-native: 3.2.0 csstype: 3.1.2 - postcss: 8.4.27 + postcss: 8.4.33 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) shallowequal: 1.1.0 @@ -15102,6 +17648,7 @@ packages: engines: {node: '>=8'} dependencies: has-flag: 4.0.0 + dev: true /supports-color@8.1.1: resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} @@ -15135,6 +17682,14 @@ packages: resolution: {integrity: sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==} engines: {node: '>=0.10.0'} + /synckit@0.8.8: + resolution: {integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==} + engines: {node: ^14.18.0 || >=16.0.0} + dependencies: + '@pkgr/core': 0.1.1 + tslib: 2.6.2 + dev: true + /tabtab@3.0.2: resolution: {integrity: sha512-jANKmUe0sIQc/zTALTBy186PoM/k6aPrh3A7p6AaAfF6WPSbTx1JYeGIGH162btpH+mmVEXln+UxwViZHO2Jhg==} dependencies: @@ -15177,7 +17732,6 @@ packages: minizlib: 2.1.2 mkdirp: 1.0.4 yallist: 4.0.0 - dev: true /temp-dir@2.0.0: resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} @@ -15228,6 +17782,17 @@ packages: source-map-support: 0.5.21 dev: true + /terser@5.31.0: + resolution: {integrity: sha512-Q1JFAoUKE5IMfI4Z/lkE/E6+SwgzO+x4tq4v1AyBLRj8VSYvRO6A/rQrPg1yud4g0En9EKI1TvFRF2tQFcoUkg==} + engines: {node: '>=10'} + hasBin: true + dependencies: + '@jridgewell/source-map': 0.3.6 + acorn: 8.11.3 + commander: 2.20.3 + source-map-support: 0.5.21 + dev: true + /test-exclude@6.0.0: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} engines: {node: '>=8'} @@ -15243,6 +17808,7 @@ packages: /text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + dev: true /theming@3.3.0(react@18.2.0): resolution: {integrity: sha512-u6l4qTJRDaWZsqa8JugaNt7Xd8PPl9+gonZaIe28vAhqgHMIG/DOyFPqiKN/gQLQYj05tHv+YQdNILL4zoiAVA==} @@ -15461,7 +18027,16 @@ packages: resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==} dev: false - /ts-jest@29.1.1(@babel/core@7.22.9)(jest@29.6.2)(typescript@5.4.5): + /ts-api-utils@1.3.0(typescript@5.4.5): + resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} + engines: {node: '>=16'} + peerDependencies: + typescript: '>=4.2.0' + dependencies: + typescript: 5.4.5 + dev: true + + /ts-jest@29.1.1(@babel/core@7.24.5)(jest@29.6.2)(typescript@5.4.5): resolution: {integrity: sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -15482,7 +18057,7 @@ packages: esbuild: optional: true dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.24.5 bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 jest: 29.6.2(@types/node@20.11.5) @@ -15533,22 +18108,17 @@ packages: json5: 1.0.2 minimist: 1.2.8 strip-bom: 3.0.0 - dev: false + dev: true /tslib@1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + dev: true /tslib@2.6.1: resolution: {integrity: sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==} - /tsutils@3.21.0(typescript@4.9.5): - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} - engines: {node: '>= 6'} - peerDependencies: - typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' - dependencies: - tslib: 1.14.1 - typescript: 4.9.5 + /tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} dev: true /tsutils@3.21.0(typescript@5.4.5): @@ -15559,12 +18129,14 @@ packages: dependencies: tslib: 1.14.1 typescript: 5.4.5 + dev: true /type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.2.1 + dev: true /type-detect@4.0.8: resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} @@ -15584,6 +18156,7 @@ packages: /type-fest@0.20.2: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} + dev: true /type-fest@0.21.3: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} @@ -15630,6 +18203,7 @@ packages: call-bind: 1.0.2 get-intrinsic: 1.2.1 is-typed-array: 1.1.12 + dev: true /typed-array-byte-length@1.0.0: resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} @@ -15639,6 +18213,7 @@ packages: for-each: 0.3.3 has-proto: 1.0.1 is-typed-array: 1.1.12 + dev: true /typed-array-byte-offset@1.0.0: resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} @@ -15649,6 +18224,7 @@ packages: for-each: 0.3.3 has-proto: 1.0.1 is-typed-array: 1.1.12 + dev: true /typed-array-length@1.0.4: resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} @@ -15656,6 +18232,7 @@ packages: call-bind: 1.0.2 for-each: 0.3.3 is-typed-array: 1.1.12 + dev: true /typedarray-to-buffer@3.1.5: resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} @@ -15689,9 +18266,9 @@ packages: resolution: {integrity: sha512-kGecZLoCh4ge8rcRsoMtLs4nuSyi8wl687EfAH9Iss602rFDU/Heih86Awv/6958GwxxDm8gLztkLkrUEsxXug==} dev: true - /typescript@4.9.5: - resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} - engines: {node: '>=4.2.0'} + /typescript@5.4.2: + resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==} + engines: {node: '>=14.17'} hasBin: true dev: true @@ -15699,6 +18276,7 @@ packages: resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} engines: {node: '>=14.17'} hasBin: true + dev: true /ufo@1.3.1: resolution: {integrity: sha512-uY/99gMLIOlJPwATcMVYfqDSxUR9//AUcgZMzwfSTJPDKzA1S8mX4VLqa+fiAtveraQUBCz4FFcwVZBGbwBXIw==} @@ -15722,6 +18300,7 @@ packages: has-bigints: 1.0.2 has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 + dev: true /unbzip2-stream@1.4.3: resolution: {integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==} @@ -15809,6 +18388,13 @@ packages: resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==} dependencies: '@types/unist': 2.0.7 + dev: false + + /unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + dependencies: + '@types/unist': 3.0.2 + dev: true /unist-util-visit-parents@5.1.3: resolution: {integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==} @@ -15889,6 +18475,17 @@ packages: escalade: 3.1.1 picocolors: 1.0.0 + /update-browserslist-db@1.0.14(browserslist@4.23.0): + resolution: {integrity: sha512-JixKH8GR2pWYshIPUg/NujK3JO7JiqEEUiNArE86NQyrgUuZeTlZQN3xuS/yiV5Kb48ev9K6RqNkaJjXsdg7Jw==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.23.0 + escalade: 3.1.2 + picocolors: 1.0.0 + dev: true + /update-notifier@4.1.3: resolution: {integrity: sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A==} engines: {node: '>=8'} @@ -15932,6 +18529,7 @@ packages: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: punycode: 2.3.0 + dev: true /urix@0.1.0: resolution: {integrity: sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==} @@ -15949,7 +18547,7 @@ packages: resolution: {integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==} dev: true - /use-callback-ref@1.3.0(@types/react@18.2.34)(react@18.2.0): + /use-callback-ref@1.3.0(@types/react@18.3.1)(react@18.2.0): resolution: {integrity: sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==} engines: {node: '>=10'} peerDependencies: @@ -15959,12 +18557,12 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.34 + '@types/react': 18.3.1 react: 18.2.0 tslib: 2.6.1 dev: false - /use-sidecar@1.1.2(@types/react@18.2.34)(react@18.2.0): + /use-sidecar@1.1.2(@types/react@18.3.1)(react@18.2.0): resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==} engines: {node: '>=10'} peerDependencies: @@ -15974,7 +18572,7 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.34 + '@types/react': 18.3.1 detect-node-es: 1.1.0 react: 18.2.0 tslib: 2.6.1 @@ -15995,7 +18593,6 @@ packages: /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - dev: true /utils-merge@1.0.1: resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} @@ -16021,6 +18618,7 @@ packages: diff: 5.1.0 kleur: 4.1.5 sade: 1.8.1 + dev: false /v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} @@ -16049,6 +18647,11 @@ packages: builtins: 5.0.1 dev: true + /validator@13.11.0: + resolution: {integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==} + engines: {node: '>= 0.10'} + dev: true + /vary@1.1.2: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} @@ -16080,7 +18683,7 @@ packages: mlly: 1.4.2 pathe: 1.1.1 picocolors: 1.0.0 - vite: 5.0.12(@types/node@20.11.5) + vite: 5.2.11(@types/node@20.11.5) transitivePeerDependencies: - '@types/node' - less @@ -16092,7 +18695,32 @@ packages: - terser dev: true - /vite-plugin-pwa@0.17.2(vite@5.0.12)(workbox-build@7.0.0)(workbox-window@7.0.0): + /vite-plugin-dts@3.9.0(@types/node@20.11.5)(typescript@5.4.5)(vite@5.2.11): + resolution: {integrity: sha512-pwFIEYQ3LZvMafkEGvNnileb6af5JuyZsBfYQrTDYxdeGEy0OS4B4hCsLPo5YGnhK5k9EzyO6BXVO6y+Lt5T2A==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + typescript: '*' + vite: '*' + peerDependenciesMeta: + vite: + optional: true + dependencies: + '@microsoft/api-extractor': 7.43.0(@types/node@20.11.5) + '@rollup/pluginutils': 5.1.0(rollup@2.79.1) + '@vue/language-core': 1.8.27(typescript@5.4.5) + debug: 4.3.4(supports-color@9.4.0) + kolorist: 1.8.0 + magic-string: 0.30.10 + typescript: 5.4.5 + vite: 5.2.11(@types/node@20.11.5) + vue-tsc: 1.8.27(typescript@5.4.5) + transitivePeerDependencies: + - '@types/node' + - rollup + - supports-color + dev: true + + /vite-plugin-pwa@0.17.2(vite@5.2.11)(workbox-build@7.1.0)(workbox-window@7.1.0): resolution: {integrity: sha512-aVH9sxcTDumiWYiNcLrFqu+FdL79I2cT5EhlVe5V6nGcC64yQNGT1jamMytwi+OdfXl4VYic0LtoJ6JHMkM3ZQ==} engines: {node: '>=16.0.0'} peerDependencies: @@ -16103,14 +18731,14 @@ packages: debug: 4.3.4(supports-color@9.4.0) fast-glob: 3.3.2 pretty-bytes: 6.1.1 - vite: 5.0.12(@types/node@20.11.5) - workbox-build: 7.0.0 - workbox-window: 7.0.0 + vite: 5.2.11(@types/node@20.11.5) + workbox-build: 7.1.0 + workbox-window: 7.1.0 transitivePeerDependencies: - supports-color dev: true - /vite-plugin-webfont-dl@3.9.1(vite@5.0.12): + /vite-plugin-webfont-dl@3.9.1(vite@5.2.11): resolution: {integrity: sha512-nr6UN0Y9ZDbtjwe0/3j+w5VdQCeYWjsgx3IaHg2EvhhbgDM44wmJLQ2ecHWduo0o+PJEmBJK6QhST6z7qxKwnA==} peerDependencies: vite: ^2 || ^3 || ^4 || ^5 @@ -16119,7 +18747,7 @@ packages: clean-css: 5.3.3 flat-cache: 3.0.4 picocolors: 1.0.0 - vite: 5.0.12(@types/node@20.11.5) + vite: 5.2.11(@types/node@20.11.5) transitivePeerDependencies: - debug dev: true @@ -16160,6 +18788,42 @@ packages: fsevents: 2.3.3 dev: true + /vite@5.2.11(@types/node@20.11.5): + resolution: {integrity: sha512-HndV31LWW05i1BLPMUCE1B9E9GFbOu1MbenhS58FuK6owSO5qHm7GiCotrNY1YE5rMeQSFBGmT5ZaLEjFizgiQ==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 20.11.5 + esbuild: 0.20.2 + postcss: 8.4.38 + rollup: 4.17.2 + optionalDependencies: + fsevents: 2.3.3 + dev: true + /vitest@0.34.6: resolution: {integrity: sha512-+5CALsOvbNKnS+ZHMXtuUC7nL8/7F1F2DnHGjSsszX8zCjWSSviphCb/NuS9Nzf4Q03KyyDRBAXhF/8lffME4Q==} engines: {node: '>=v14.18.0'} @@ -16212,7 +18876,7 @@ packages: strip-literal: 1.3.0 tinybench: 2.5.1 tinypool: 0.7.0 - vite: 5.0.12(@types/node@20.11.5) + vite: 5.2.11(@types/node@20.11.5) vite-node: 0.34.6(@types/node@20.11.5) why-is-node-running: 2.2.2 transitivePeerDependencies: @@ -16233,6 +18897,25 @@ packages: resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==} dev: true + /vue-template-compiler@2.7.16: + resolution: {integrity: sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==} + dependencies: + de-indent: 1.0.2 + he: 1.2.0 + dev: true + + /vue-tsc@1.8.27(typescript@5.4.5): + resolution: {integrity: sha512-WesKCAZCRAbmmhuGl3+VrdWItEvfoFIPXOvUJkjULi+x+6G/Dy69yO3TBRJDr9eUlmsNAwVmxsNZxvHKzbkKdg==} + hasBin: true + peerDependencies: + typescript: '*' + dependencies: + '@volar/typescript': 1.11.1 + '@vue/language-core': 1.8.27(typescript@5.4.5) + semver: 7.5.4 + typescript: 5.4.5 + dev: true + /wait-port@1.0.4: resolution: {integrity: sha512-w8Ftna3h6XSFWWc2JC5gZEgp64nz8bnaTp5cvzbJSZ53j+omktWTDdwXxEF0jM8YveviLgFWvNGrSvRHnkyHyw==} engines: {node: '>=10'} @@ -16251,6 +18934,12 @@ packages: makeerror: 1.0.12 dev: true + /warning@4.0.3: + resolution: {integrity: sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==} + dependencies: + loose-envify: 1.4.0 + dev: false + /wcwidth@1.0.1: resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} dependencies: @@ -16260,6 +18949,7 @@ packages: /web-streams-polyfill@3.2.1: resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} engines: {node: '>= 8'} + dev: true /webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} @@ -16299,6 +18989,7 @@ packages: is-number-object: 1.0.7 is-string: 1.0.7 is-symbol: 1.0.4 + dev: true /which-module@2.0.1: resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} @@ -16313,6 +19004,7 @@ packages: for-each: 0.3.3 gopd: 1.0.1 has-tostringtag: 1.0.0 + dev: true /which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} @@ -16320,6 +19012,7 @@ packages: hasBin: true dependencies: isexe: 2.0.0 + dev: true /why-is-node-running@2.2.2: resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} @@ -16334,7 +19027,6 @@ packages: resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} dependencies: string-width: 4.2.3 - dev: true /widest-line@3.1.0: resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} @@ -16407,11 +19099,11 @@ packages: workbox-core: 6.6.0 dev: true - /workbox-background-sync@7.0.0: - resolution: {integrity: sha512-S+m1+84gjdueM+jIKZ+I0Lx0BDHkk5Nu6a3kTVxP4fdj3gKouRNmhO8H290ybnJTOPfBDtTMXSQA/QLTvr7PeA==} + /workbox-background-sync@7.1.0: + resolution: {integrity: sha512-rMbgrzueVWDFcEq1610YyDW71z0oAXLfdRHRQcKw4SGihkfOK0JUEvqWHFwA6rJ+6TClnMIn7KQI5PNN1XQXwQ==} dependencies: idb: 7.1.1 - workbox-core: 7.0.0 + workbox-core: 7.1.0 dev: true /workbox-broadcast-update@6.6.0: @@ -16420,10 +19112,10 @@ packages: workbox-core: 6.6.0 dev: true - /workbox-broadcast-update@7.0.0: - resolution: {integrity: sha512-oUuh4jzZrLySOo0tC0WoKiSg90bVAcnE98uW7F8GFiSOXnhogfNDGZelPJa+6KpGBO5+Qelv04Hqx2UD+BJqNQ==} + /workbox-broadcast-update@7.1.0: + resolution: {integrity: sha512-O36hIfhjej/c5ar95pO67k1GQw0/bw5tKP7CERNgK+JdxBANQhDmIuOXZTNvwb2IHBx9hj2kxvcDyRIh5nzOgQ==} dependencies: - workbox-core: 7.0.0 + workbox-core: 7.1.0 dev: true /workbox-build@6.6.0: @@ -16472,19 +19164,20 @@ packages: - supports-color dev: true - /workbox-build@7.0.0: - resolution: {integrity: sha512-CttE7WCYW9sZC+nUYhQg3WzzGPr4IHmrPnjKiu3AMXsiNQKx+l4hHl63WTrnicLmKEKHScWDH8xsGBdrYgtBzg==} + /workbox-build@7.1.0: + resolution: {integrity: sha512-F6R94XAxjB2j4ETMkP1EXKfjECOtDmyvt0vz3BzgWJMI68TNSXIVNkgatwUKBlPGOfy9n2F/4voYRNAhEvPJNg==} engines: {node: '>=16.0.0'} dependencies: - '@apideck/better-ajv-errors': 0.3.6(ajv@8.12.0) - '@babel/core': 7.22.9 - '@babel/preset-env': 7.22.9(@babel/core@7.22.9) - '@babel/runtime': 7.22.6 - '@rollup/plugin-babel': 5.3.1(@babel/core@7.22.9)(rollup@2.79.1) - '@rollup/plugin-node-resolve': 11.2.1(rollup@2.79.1) + '@apideck/better-ajv-errors': 0.3.6(ajv@8.13.0) + '@babel/core': 7.24.5 + '@babel/preset-env': 7.24.5(@babel/core@7.24.5) + '@babel/runtime': 7.24.5 + '@rollup/plugin-babel': 5.3.1(@babel/core@7.24.5)(rollup@2.79.1) + '@rollup/plugin-node-resolve': 15.2.3(rollup@2.79.1) '@rollup/plugin-replace': 2.4.2(rollup@2.79.1) + '@rollup/plugin-terser': 0.4.4(rollup@2.79.1) '@surma/rollup-plugin-off-main-thread': 2.2.3 - ajv: 8.12.0 + ajv: 8.13.0 common-tags: 1.8.2 fast-json-stable-stringify: 2.1.0 fs-extra: 9.1.0 @@ -16492,27 +19185,26 @@ packages: lodash: 4.17.21 pretty-bytes: 5.6.0 rollup: 2.79.1 - rollup-plugin-terser: 7.0.2(rollup@2.79.1) source-map: 0.8.0-beta.0 stringify-object: 3.3.0 strip-comments: 2.0.1 tempy: 0.6.0 upath: 1.2.0 - workbox-background-sync: 7.0.0 - workbox-broadcast-update: 7.0.0 - workbox-cacheable-response: 7.0.0 - workbox-core: 7.0.0 - workbox-expiration: 7.0.0 - workbox-google-analytics: 7.0.0 - workbox-navigation-preload: 7.0.0 - workbox-precaching: 7.0.0 - workbox-range-requests: 7.0.0 - workbox-recipes: 7.0.0 - workbox-routing: 7.0.0 - workbox-strategies: 7.0.0 - workbox-streams: 7.0.0 - workbox-sw: 7.0.0 - workbox-window: 7.0.0 + workbox-background-sync: 7.1.0 + workbox-broadcast-update: 7.1.0 + workbox-cacheable-response: 7.1.0 + workbox-core: 7.1.0 + workbox-expiration: 7.1.0 + workbox-google-analytics: 7.1.0 + workbox-navigation-preload: 7.1.0 + workbox-precaching: 7.1.0 + workbox-range-requests: 7.1.0 + workbox-recipes: 7.1.0 + workbox-routing: 7.1.0 + workbox-strategies: 7.1.0 + workbox-streams: 7.1.0 + workbox-sw: 7.1.0 + workbox-window: 7.1.0 transitivePeerDependencies: - '@types/babel__core' - supports-color @@ -16525,10 +19217,10 @@ packages: workbox-core: 6.6.0 dev: true - /workbox-cacheable-response@7.0.0: - resolution: {integrity: sha512-0lrtyGHn/LH8kKAJVOQfSu3/80WDc9Ma8ng0p2i/5HuUndGttH+mGMSvOskjOdFImLs2XZIimErp7tSOPmu/6g==} + /workbox-cacheable-response@7.1.0: + resolution: {integrity: sha512-iwsLBll8Hvua3xCuBB9h92+/e0wdsmSVgR2ZlvcfjepZWwhd3osumQB3x9o7flj+FehtWM2VHbZn8UJeBXXo6Q==} dependencies: - workbox-core: 7.0.0 + workbox-core: 7.1.0 dev: true /workbox-cli@6.6.0: @@ -16558,8 +19250,8 @@ packages: resolution: {integrity: sha512-GDtFRF7Yg3DD859PMbPAYPeJyg5gJYXuBQAC+wyrWuuXgpfoOrIQIvFRZnQ7+czTIQjIr1DhLEGFzZanAT/3bQ==} dev: true - /workbox-core@7.0.0: - resolution: {integrity: sha512-81JkAAZtfVP8darBpfRTovHg8DGAVrKFgHpOArZbdFd78VqHr5Iw65f2guwjE2NlCFbPFDoez3D3/6ZvhI/rwQ==} + /workbox-core@7.1.0: + resolution: {integrity: sha512-5KB4KOY8rtL31nEF7BfvU7FMzKT4B5TkbYa2tzkS+Peqj0gayMT9SytSFtNzlrvMaWgv6y/yvP9C0IbpFjV30Q==} dev: true /workbox-expiration@6.6.0: @@ -16569,11 +19261,11 @@ packages: workbox-core: 6.6.0 dev: true - /workbox-expiration@7.0.0: - resolution: {integrity: sha512-MLK+fogW+pC3IWU9SFE+FRStvDVutwJMR5if1g7oBJx3qwmO69BNoJQVaMXq41R0gg3MzxVfwOGKx3i9P6sOLQ==} + /workbox-expiration@7.1.0: + resolution: {integrity: sha512-m5DcMY+A63rJlPTbbBNtpJ20i3enkyOtSgYfv/l8h+D6YbbNiA0zKEkCUaMsdDlxggla1oOfRkyqTvl5Ni5KQQ==} dependencies: idb: 7.1.1 - workbox-core: 7.0.0 + workbox-core: 7.1.0 dev: true /workbox-google-analytics@6.6.0: @@ -16585,13 +19277,13 @@ packages: workbox-strategies: 6.6.0 dev: true - /workbox-google-analytics@7.0.0: - resolution: {integrity: sha512-MEYM1JTn/qiC3DbpvP2BVhyIH+dV/5BjHk756u9VbwuAhu0QHyKscTnisQuz21lfRpOwiS9z4XdqeVAKol0bzg==} + /workbox-google-analytics@7.1.0: + resolution: {integrity: sha512-FvE53kBQHfVTcZyczeBVRexhh7JTkyQ8HAvbVY6mXd2n2A7Oyz/9fIwnY406ZcDhvE4NFfKGjW56N4gBiqkrew==} dependencies: - workbox-background-sync: 7.0.0 - workbox-core: 7.0.0 - workbox-routing: 7.0.0 - workbox-strategies: 7.0.0 + workbox-background-sync: 7.1.0 + workbox-core: 7.1.0 + workbox-routing: 7.1.0 + workbox-strategies: 7.1.0 dev: true /workbox-navigation-preload@6.6.0: @@ -16600,10 +19292,10 @@ packages: workbox-core: 6.6.0 dev: true - /workbox-navigation-preload@7.0.0: - resolution: {integrity: sha512-juWCSrxo/fiMz3RsvDspeSLGmbgC0U9tKqcUPZBCf35s64wlaLXyn2KdHHXVQrb2cqF7I0Hc9siQalainmnXJA==} + /workbox-navigation-preload@7.1.0: + resolution: {integrity: sha512-4wyAbo0vNI/X0uWNJhCMKxnPanNyhybsReMGN9QUpaePLTiDpKxPqFxl4oUmBNddPwIXug01eTSLVIFXimRG/A==} dependencies: - workbox-core: 7.0.0 + workbox-core: 7.1.0 dev: true /workbox-precaching@6.6.0: @@ -16614,12 +19306,12 @@ packages: workbox-strategies: 6.6.0 dev: true - /workbox-precaching@7.0.0: - resolution: {integrity: sha512-EC0vol623LJqTJo1mkhD9DZmMP604vHqni3EohhQVwhJlTgyKyOkMrZNy5/QHfOby+39xqC01gv4LjOm4HSfnA==} + /workbox-precaching@7.1.0: + resolution: {integrity: sha512-LyxzQts+UEpgtmfnolo0hHdNjoB7EoRWcF7EDslt+lQGd0lW4iTvvSe3v5JiIckQSB5KTW5xiCqjFviRKPj1zA==} dependencies: - workbox-core: 7.0.0 - workbox-routing: 7.0.0 - workbox-strategies: 7.0.0 + workbox-core: 7.1.0 + workbox-routing: 7.1.0 + workbox-strategies: 7.1.0 dev: true /workbox-range-requests@6.6.0: @@ -16628,10 +19320,10 @@ packages: workbox-core: 6.6.0 dev: true - /workbox-range-requests@7.0.0: - resolution: {integrity: sha512-SxAzoVl9j/zRU9OT5+IQs7pbJBOUOlriB8Gn9YMvi38BNZRbM+RvkujHMo8FOe9IWrqqwYgDFBfv6sk76I1yaQ==} + /workbox-range-requests@7.1.0: + resolution: {integrity: sha512-m7+O4EHolNs5yb/79CrnwPR/g/PRzMFYEdo01LqwixVnc/sbzNSvKz0d04OE3aMRel1CwAAZQheRsqGDwATgPQ==} dependencies: - workbox-core: 7.0.0 + workbox-core: 7.1.0 dev: true /workbox-recipes@6.6.0: @@ -16645,15 +19337,15 @@ packages: workbox-strategies: 6.6.0 dev: true - /workbox-recipes@7.0.0: - resolution: {integrity: sha512-DntcK9wuG3rYQOONWC0PejxYYIDHyWWZB/ueTbOUDQgefaeIj1kJ7pdP3LZV2lfrj8XXXBWt+JDRSw1lLLOnww==} + /workbox-recipes@7.1.0: + resolution: {integrity: sha512-NRrk4ycFN9BHXJB6WrKiRX3W3w75YNrNrzSX9cEZgFB5ubeGoO8s/SDmOYVrFYp9HMw6sh1Pm3eAY/1gVS8YLg==} dependencies: - workbox-cacheable-response: 7.0.0 - workbox-core: 7.0.0 - workbox-expiration: 7.0.0 - workbox-precaching: 7.0.0 - workbox-routing: 7.0.0 - workbox-strategies: 7.0.0 + workbox-cacheable-response: 7.1.0 + workbox-core: 7.1.0 + workbox-expiration: 7.1.0 + workbox-precaching: 7.1.0 + workbox-routing: 7.1.0 + workbox-strategies: 7.1.0 dev: true /workbox-routing@6.6.0: @@ -16662,10 +19354,10 @@ packages: workbox-core: 6.6.0 dev: true - /workbox-routing@7.0.0: - resolution: {integrity: sha512-8YxLr3xvqidnbVeGyRGkaV4YdlKkn5qZ1LfEePW3dq+ydE73hUUJJuLmGEykW3fMX8x8mNdL0XrWgotcuZjIvA==} + /workbox-routing@7.1.0: + resolution: {integrity: sha512-oOYk+kLriUY2QyHkIilxUlVcFqwduLJB7oRZIENbqPGeBP/3TWHYNNdmGNhz1dvKuw7aqvJ7CQxn27/jprlTdg==} dependencies: - workbox-core: 7.0.0 + workbox-core: 7.1.0 dev: true /workbox-strategies@6.6.0: @@ -16674,10 +19366,10 @@ packages: workbox-core: 6.6.0 dev: true - /workbox-strategies@7.0.0: - resolution: {integrity: sha512-dg3qJU7tR/Gcd/XXOOo7x9QoCI9nk74JopaJaYAQ+ugLi57gPsXycVdBnYbayVj34m6Y8ppPwIuecrzkpBVwbA==} + /workbox-strategies@7.1.0: + resolution: {integrity: sha512-/UracPiGhUNehGjRm/tLUQ+9PtWmCbRufWtV0tNrALuf+HZ4F7cmObSEK+E4/Bx1p8Syx2tM+pkIrvtyetdlew==} dependencies: - workbox-core: 7.0.0 + workbox-core: 7.1.0 dev: true /workbox-streams@6.6.0: @@ -16687,19 +19379,19 @@ packages: workbox-routing: 6.6.0 dev: true - /workbox-streams@7.0.0: - resolution: {integrity: sha512-moVsh+5to//l6IERWceYKGiftc+prNnqOp2sgALJJFbnNVpTXzKISlTIsrWY+ogMqt+x1oMazIdHj25kBSq/HQ==} + /workbox-streams@7.1.0: + resolution: {integrity: sha512-WyHAVxRXBMfysM8ORwiZnI98wvGWTVAq/lOyBjf00pXFvG0mNaVz4Ji+u+fKa/mf1i2SnTfikoYKto4ihHeS6w==} dependencies: - workbox-core: 7.0.0 - workbox-routing: 7.0.0 + workbox-core: 7.1.0 + workbox-routing: 7.1.0 dev: true /workbox-sw@6.6.0: resolution: {integrity: sha512-R2IkwDokbtHUE4Kus8pKO5+VkPHD2oqTgl+XJwh4zbF1HyjAbgNmK/FneZHVU7p03XUt9ICfuGDYISWG9qV/CQ==} dev: true - /workbox-sw@7.0.0: - resolution: {integrity: sha512-SWfEouQfjRiZ7GNABzHUKUyj8pCoe+RwjfOIajcx6J5mtgKkN+t8UToHnpaJL5UVVOf5YhJh+OHhbVNIHe+LVA==} + /workbox-sw@7.1.0: + resolution: {integrity: sha512-Hml/9+/njUXBglv3dtZ9WBKHI235AQJyLBV1G7EFmh4/mUdSQuXui80RtjDeVRrXnm/6QWgRUEHG3/YBVbxtsA==} dev: true /workbox-window@6.6.0: @@ -16709,11 +19401,11 @@ packages: workbox-core: 6.6.0 dev: true - /workbox-window@7.0.0: - resolution: {integrity: sha512-j7P/bsAWE/a7sxqTzXo3P2ALb1reTfZdvVp6OJ/uLr/C2kZAMvjeWGm8V4htQhor7DOvYg0sSbFN2+flT5U0qA==} + /workbox-window@7.1.0: + resolution: {integrity: sha512-ZHeROyqR+AS5UPzholQRDttLFqGMwP0Np8MKWAdyxsDETxq3qOAyXvqessc3GniohG6e0mAqSQyKOHmT8zPF7g==} dependencies: - '@types/trusted-types': 2.0.3 - workbox-core: 7.0.0 + '@types/trusted-types': 2.0.7 + workbox-core: 7.1.0 dev: true /wrap-ansi@3.0.1: @@ -16907,12 +19599,25 @@ packages: /yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} + dev: true /yocto-queue@1.0.0: resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} engines: {node: '>=12.20'} dev: true + /z-schema@5.0.5: + resolution: {integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==} + engines: {node: '>=8.0.0'} + hasBin: true + dependencies: + lodash.get: 4.4.2 + lodash.isequal: 4.5.0 + validator: 13.11.0 + optionalDependencies: + commander: 9.5.0 + dev: true + /zip-stream@4.1.1: resolution: {integrity: sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==} engines: {node: '>= 10'} @@ -16931,7 +19636,7 @@ packages: readable-stream: 3.6.2 dev: true - /zustand@4.4.1(@types/react@18.2.34)(react@18.2.0): + /zustand@4.4.1(@types/react@18.3.1)(react@18.2.0): resolution: {integrity: sha512-QCPfstAS4EBiTQzlaGP1gmorkh/UL1Leaj2tdj+zZCZ/9bm0WS7sI2wnfD5lpOszFqWJ1DcPnGoY8RDL61uokw==} engines: {node: '>=12.7.0'} peerDependencies: @@ -16946,7 +19651,7 @@ packages: react: optional: true dependencies: - '@types/react': 18.2.34 + '@types/react': 18.3.1 react: 18.2.0 use-sync-external-store: 1.2.0(react@18.2.0) dev: false diff --git a/browser/react/package.json b/browser/react/package.json index 5e10b4e03..c2a33d7c5 100644 --- a/browser/react/package.json +++ b/browser/react/package.json @@ -6,7 +6,7 @@ "@tomic/lib": "workspace:*" }, "devDependencies": { - "typescript": "^4.8" + "typescript": "^5.4.5" }, "peerDependencies": { "react": ">17.0.2" diff --git a/browser/react/tsconfig.json b/browser/react/tsconfig.json index 58e255129..efb6b93e8 100644 --- a/browser/react/tsconfig.json +++ b/browser/react/tsconfig.json @@ -10,7 +10,8 @@ "DOM" ], "rootDir": ".", - "jsx": "react" + "jsx": "react", + "module": "NodeNext" }, "include": [ "./src" diff --git a/browser/svelte/.eslintrc.cjs b/browser/svelte/.eslintrc.cjs index 9f380189a..966216546 100644 --- a/browser/svelte/.eslintrc.cjs +++ b/browser/svelte/.eslintrc.cjs @@ -1,4 +1,3 @@ -// eslint-disable-next-line no-undef module.exports = { root: true, extends: [ @@ -16,11 +15,9 @@ module.exports = { node: true, }, parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: 'module', // Allows for the use of imports + ecmaVersion: 'latest', // Allows for the parsing of modern ECMAScript features ecmaFeatures: { jsx: true, // Allows for the parsing of JSX - arrowFunctions: true, }, // Next two lines enable deeper TS type checking // https://typescript-eslint.io/docs/linting/typed-linting/ diff --git a/browser/svelte/package.json b/browser/svelte/package.json index c6f4907a5..eda86ba72 100644 --- a/browser/svelte/package.json +++ b/browser/svelte/package.json @@ -10,7 +10,8 @@ "@typescript-eslint/parser": "^5.47.0", "rollup-plugin-typescript-paths": "^1.4.0", "tslib": "^2.4.1", - "vitest": "^0.34.6" + "vitest": "^0.34.6", + "typescript": "^5.4.5" }, "exports": { ".": { @@ -36,7 +37,7 @@ "scripts": { "build": "tsc && vite build", "build:watch": "tsc && vite build --watch", - "coverage": "vitest --coverage", + "coverage": "vitest run --coverage", "dev": "vite", "lint": "eslint ./src --ext .js,.svelte,.ts,.tsx", "lint-fix": "eslint ./src --ext .js,.svelte,.ts,.tsx --fix", diff --git a/lib/defaults/ontologies.json b/lib/defaults/ontologies.json new file mode 100644 index 000000000..9d4be2c96 --- /dev/null +++ b/lib/defaults/ontologies.json @@ -0,0 +1,57 @@ +[ + { + "@id": "https://atomicdata.dev/class/ontology", + "https://atomicdata.dev/properties/description": "An ontology is a group of classes, properties and class instances that together describe a certain domain.", + "https://atomicdata.dev/properties/isA": [ + "https://atomicdata.dev/classes/Class" + ], + "https://atomicdata.dev/properties/parent": "https://atomicdata.dev/classes", + "https://atomicdata.dev/properties/recommends": [ + "https://atomicdata.dev/properties/classes", + "https://atomicdata.dev/properties/properties", + "https://atomicdata.dev/properties/instances" + ], + "https://atomicdata.dev/properties/requires": [ + "https://atomicdata.dev/properties/description", + "https://atomicdata.dev/properties/shortname" + ], + "https://atomicdata.dev/properties/shortname": "ontology" + }, + { + "@id": "https://atomicdata.dev/properties/properties", + "https://atomicdata.dev/properties/classtype": "https://atomicdata.dev/classes/Property", + "https://atomicdata.dev/properties/datatype": "https://atomicdata.dev/datatypes/resourceArray", + "https://atomicdata.dev/properties/description": "A list of properties", + "https://atomicdata.dev/properties/parent": "https://atomicdata.dev/properties", + "https://atomicdata.dev/properties/shortname": "properties" + }, + { + "@id": "https://atomicdata.dev/properties/classes", + "https://atomicdata.dev/properties/classtype": "https://atomicdata.dev/classes/Class", + "https://atomicdata.dev/properties/datatype": "https://atomicdata.dev/datatypes/resourceArray", + "https://atomicdata.dev/properties/description": "A list of classes", + "https://atomicdata.dev/properties/isA": [ + "https://atomicdata.dev/classes/Property" + ], + "https://atomicdata.dev/properties/parent": "https://atomicdata.dev/properties", + "https://atomicdata.dev/properties/shortname": "classes" + }, + { + "@id": "https://atomicdata.dev/properties/instances", + "https://atomicdata.dev/properties/datatype": "https://atomicdata.dev/datatypes/resourceArray", + "https://atomicdata.dev/properties/description": "A list of class instances", + "https://atomicdata.dev/properties/parent": "https://atomicdata.dev/properties", + "https://atomicdata.dev/properties/shortname": "instances" + }, + { + "@id": "https://atomicdata.dev/ontology/server/property/default-ontology", + "https://atomicdata.dev/properties/classtype": "https://atomicdata.dev/class/ontology", + "https://atomicdata.dev/properties/datatype": "https://atomicdata.dev/datatypes/atomicURL", + "https://atomicdata.dev/properties/description": "The ontology where all classes go by default", + "https://atomicdata.dev/properties/isA": [ + "https://atomicdata.dev/classes/Property" + ], + "https://atomicdata.dev/properties/parent": "https://atomicdata.dev/properties", + "https://atomicdata.dev/properties/shortname": "default-ontology" + } +] diff --git a/lib/src/populate.rs b/lib/src/populate.rs index bc9cb0f53..197bb888d 100644 --- a/lib/src/populate.rs +++ b/lib/src/populate.rs @@ -213,6 +213,12 @@ pub fn populate_default_store(store: &impl Storelike) -> AtomicResult<()> { &ParseOpts::default(), ) .map_err(|e| format!("Failed to import table.json: {e}"))?; + store + .import( + include_str!("../defaults/ontologies.json",), + &ParseOpts::default(), + ) + .map_err(|e| format!("Failed to import ontologies.json: {e}"))?; Ok(()) }