From e987fbbe8e733de6767d62811c2d4d6eaccf2d24 Mon Sep 17 00:00:00 2001 From: doprz <52579214+doprz@users.noreply.github.com> Date: Sat, 16 Nov 2024 00:20:36 -0600 Subject: [PATCH] feat: add eslint-plugin-tsdoc (#430) * feat: add eslint-plugin-tsdoc * feat(doc): update current jsdoc to tsdoc specification * chore: update deps * feat: update warn to error for jsdoc and tsdoc * chore(doc): lint --- .eslintrc.cjs | 4 +- package.json | 39 +- pnpm-lock.yaml | 2213 +++++++++-------- src/debug/index.tsx | 4 +- src/pages/background/lib/createSchedule.ts | 5 +- src/pages/background/lib/duplicateSchedule.ts | 5 +- src/pages/background/lib/handleDuplicate.ts | 7 +- src/shared/messages/CESMessage.ts | 2 +- src/shared/messages/TabManagementMessages.ts | 9 +- src/shared/messages/UserScheduleMessages.ts | 35 +- src/shared/storage/OptionsStore.ts | 3 +- src/shared/types/CachedData.ts | 1 - src/shared/types/Course.ts | 5 +- src/shared/types/CourseMeeting.ts | 17 +- src/shared/types/CourseSchedule.ts | 7 +- src/shared/types/Instructor.ts | 8 +- src/shared/util/colors.ts | 23 +- src/shared/util/downloadBlob.ts | 7 +- src/shared/util/icons.tsx | 11 +- src/shared/util/random.ts | 2 +- src/shared/util/string.ts | 13 +- src/shared/util/time.ts | 7 +- .../components/calendar/CalendarBottomBar.tsx | 4 +- .../calendar/CalendarCourseCell.tsx | 14 +- .../ColorPatch.tsx | 10 +- .../CourseCellColorPicker.tsx | 16 +- .../HexColorEditor.tsx | 7 +- .../components/calendar/CalendarGrid.tsx | 6 +- .../components/calendar/CalendarGridCell.tsx | 11 +- .../common/ConflictsWithWarning.tsx | 4 +- src/views/components/common/CourseStatus.tsx | 4 +- src/views/components/common/List.tsx | 2 + src/views/components/common/LogoIcon.tsx | 25 +- .../components/common/PopupCourseBlock.tsx | 6 +- src/views/components/common/Prompt.tsx | 14 +- .../common/ScheduleTotalHoursAndCourses.tsx | 5 +- src/views/components/common/SwitchButton.tsx | 8 +- src/views/components/common/UpdateText.tsx | 3 +- .../CourseCatalogInjectedPopup.tsx | 14 +- .../Description.tsx | 6 +- .../GradeDistribution.tsx | 6 +- .../HeadingAndActions.tsx | 25 +- .../RecruitmentBanner/RecruitmentBanner.tsx | 4 +- src/views/components/settings/Settings.tsx | 8 +- src/views/contexts/SentryContext.tsx | 23 +- src/views/hooks/useEnforceScheduleLimit.tsx | 2 +- src/views/hooks/useFlattenedCourseSchedule.ts | 3 +- src/views/hooks/useInfiniteScroll.ts | 3 +- src/views/hooks/useKeyPress.ts | 5 +- src/views/lib/CourseCatalogScraper.ts | 56 +- src/views/lib/database/queryDistribution.ts | 17 +- src/views/lib/getCourseTableRows.ts | 3 +- src/views/lib/getSiteSupport.ts | 3 +- src/views/lib/getUpdatedAtDateTimeString.ts | 5 +- src/views/lib/loadNextCourseCatalogPage.ts | 7 +- 55 files changed, 1439 insertions(+), 1317 deletions(-) diff --git a/.eslintrc.cjs b/.eslintrc.cjs index 10f1fd13..2261f56e 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -23,6 +23,7 @@ module.exports = { 'import', 'import-essentials', 'jsdoc', + 'eslint-plugin-tsdoc', 'react-prefer-function-component', '@typescript-eslint', 'simple-import-sort', @@ -143,7 +144,7 @@ module.exports = { 'jsdoc/newline-after-description': 'off', 'react/require-default-props': 'off', 'jsdoc/require-jsdoc': [ - 'warn', + 'error', { enableFixer: false, publicOnly: true, @@ -171,6 +172,7 @@ module.exports = { ], }, ], + 'tsdoc/syntax': 'error', '@typescript-eslint/no-explicit-any': 'error', '@typescript-eslint/no-unused-vars': [ 'warn', diff --git a/package.json b/package.json index 4b3cc091..e2383c06 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "@headlessui/react": "^2.2.0", "@hello-pangea/dnd": "^17.0.0", "@octokit/rest": "^21.0.2", - "@sentry/react": "^8.36.0", + "@sentry/react": "^8.38.0", "@unocss/vite": "^0.63.6", "@vitejs/plugin-react": "^4.3.3", "chrome-extension-toolkit": "^0.0.54", @@ -48,7 +48,7 @@ "react-markdown": "^9.0.1", "react-syntax-highlighter": "^15.6.1", "remark-gfm": "^4.0.0", - "sass": "^1.80.6", + "sass": "^1.81.0", "simple-git": "^3.27.0", "sql.js": "1.11.0" }, @@ -59,25 +59,25 @@ "@commitlint/types": "^19.5.0", "@crxjs/vite-plugin": "2.0.0-beta.21", "@iconify-json/bi": "^1.2.1", - "@iconify-json/iconoir": "^1.2.3", + "@iconify-json/iconoir": "^1.2.4", "@iconify-json/material-symbols": "^1.2.6", "@iconify-json/ri": "^1.2.3", "@semantic-release/exec": "^6.0.3", - "@sentry/types": "^8.36.0", + "@sentry/types": "^8.38.0", "@storybook/addon-designs": "^8.0.4", - "@storybook/addon-essentials": "^8.4.1", - "@storybook/addon-links": "^8.4.1", - "@storybook/blocks": "^8.4.1", - "@storybook/react": "^8.4.1", - "@storybook/react-vite": "^8.4.1", - "@storybook/test": "^8.4.1", + "@storybook/addon-essentials": "^8.4.4", + "@storybook/addon-links": "^8.4.4", + "@storybook/blocks": "^8.4.4", + "@storybook/react": "^8.4.4", + "@storybook/react-vite": "^8.4.4", + "@storybook/test": "^8.4.4", "@svgr/core": "^8.1.0", "@svgr/plugin-jsx": "^8.1.0", "@types/chrome": "^0.0.273", "@types/conventional-changelog": "^3.1.5", "@types/gulp": "^4.0.17", "@types/gulp-zip": "^4.0.4", - "@types/node": "^22.8.7", + "@types/node": "^22.9.0", "@types/prompts": "^2.4.9", "@types/react": "^18.3.12", "@types/react-dom": "^18.3.1", @@ -95,10 +95,10 @@ "@unocss/transformer-directives": "^0.63.6", "@unocss/transformer-variant-group": "^0.63.6", "@vitejs/plugin-react-swc": "^3.7.1", - "@vitest/coverage-v8": "^2.1.4", - "@vitest/ui": "^2.1.4", + "@vitest/coverage-v8": "^2.1.5", + "@vitest/ui": "^2.1.5", "chalk": "^5.3.0", - "chromatic": "^11.16.5", + "chromatic": "^11.18.1", "cssnano": "^7.0.6", "cssnano-preset-advanced": "^7.0.6", "dotenv": "^16.4.5", @@ -111,7 +111,7 @@ "eslint-import-resolver-typescript": "^3.6.3", "eslint-plugin-import": "^2.31.0", "eslint-plugin-import-essentials": "^0.2.1", - "eslint-plugin-jsdoc": "^50.4.3", + "eslint-plugin-jsdoc": "^50.5.0", "eslint-plugin-prettier": "^5.2.1", "eslint-plugin-react": "^7.37.2", "eslint-plugin-react-hooks": "^4.6.2", @@ -119,22 +119,23 @@ "eslint-plugin-react-refresh": "^0.4.14", "eslint-plugin-simple-import-sort": "^12.1.1", "eslint-plugin-storybook": "^0.9.0", + "eslint-plugin-tsdoc": "^0.3.0", "gulp": "^5.0.0", "gulp-execa": "^7.0.1", "gulp-zip": "^6.0.0", "path": "^0.12.7", - "postcss": "^8.4.47", + "postcss": "^8.4.49", "prettier": "^3.3.3", "react-dev-utils": "^12.0.1", "semantic-release": "^24.2.0", - "storybook": "^8.4.1", + "storybook": "^8.4.4", "typescript": "^5.6.3", "unocss": "^0.63.6", "unocss-preset-primitives": "0.0.2-beta.1", "unplugin-icons": "^0.19.3", - "vite": "^5.4.10", + "vite": "^5.4.11", "vite-plugin-inspect": "^0.8.7", - "vitest": "^2.1.4" + "vitest": "^2.1.5" }, "pnpm": { "patchedDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f4f9e8e9..235b5383 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -29,14 +29,14 @@ importers: specifier: ^21.0.2 version: 21.0.2 '@sentry/react': - specifier: ^8.36.0 - version: 8.36.0(react@18.3.1) + specifier: ^8.38.0 + version: 8.38.0(react@18.3.1) '@unocss/vite': specifier: ^0.63.6 - version: 0.63.6(patch_hash=5ptgy7mbavmjf7zwexb7dph4ji)(rollup@4.24.4)(typescript@5.6.3)(vite@5.4.10(@types/node@22.8.7)(sass@1.80.6)(terser@5.36.0)) + version: 0.63.6(patch_hash=5ptgy7mbavmjf7zwexb7dph4ji)(rollup@4.27.2)(typescript@5.6.3)(vite@5.4.11(@types/node@22.9.0)(sass@1.81.0)(terser@5.36.0)) '@vitejs/plugin-react': specifier: ^4.3.3 - version: 4.3.3(vite@5.4.10(@types/node@22.8.7)(sass@1.80.6)(terser@5.36.0)) + version: 4.3.3(vite@5.4.11(@types/node@22.9.0)(sass@1.81.0)(terser@5.36.0)) chrome-extension-toolkit: specifier: ^0.0.54 version: 0.0.54 @@ -83,8 +83,8 @@ importers: specifier: ^4.0.0 version: 4.0.0 sass: - specifier: ^1.80.6 - version: 1.80.6 + specifier: ^1.81.0 + version: 1.81.0 simple-git: specifier: ^3.27.0 version: 3.27.0 @@ -97,7 +97,7 @@ importers: version: 2.0.2(react@18.3.1) '@commitlint/cli': specifier: ^19.5.0 - version: 19.5.0(@types/node@22.8.7)(typescript@5.6.3) + version: 19.5.0(@types/node@22.9.0)(typescript@5.6.3) '@commitlint/config-conventional': specifier: ^19.5.0 version: 19.5.0 @@ -111,8 +111,8 @@ importers: specifier: ^1.2.1 version: 1.2.1 '@iconify-json/iconoir': - specifier: ^1.2.3 - version: 1.2.3 + specifier: ^1.2.4 + version: 1.2.4 '@iconify-json/material-symbols': specifier: ^1.2.6 version: 1.2.6 @@ -123,29 +123,29 @@ importers: specifier: ^6.0.3 version: 6.0.3(semantic-release@24.2.0(typescript@5.6.3)) '@sentry/types': - specifier: ^8.36.0 - version: 8.36.0 + specifier: ^8.38.0 + version: 8.38.0 '@storybook/addon-designs': specifier: ^8.0.4 - version: 8.0.4(@storybook/blocks@8.4.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.1(prettier@3.3.3)))(@storybook/components@8.4.1(storybook@8.4.1(prettier@3.3.3)))(@storybook/theming@8.4.1(storybook@8.4.1(prettier@3.3.3)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 8.0.4(@storybook/blocks@8.4.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.4(prettier@3.3.3)))(@storybook/components@8.4.4(storybook@8.4.4(prettier@3.3.3)))(@storybook/theming@8.4.4(storybook@8.4.4(prettier@3.3.3)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@storybook/addon-essentials': - specifier: ^8.4.1 - version: 8.4.1(@types/react@18.3.12)(storybook@8.4.1(prettier@3.3.3))(webpack-sources@3.2.3) + specifier: ^8.4.4 + version: 8.4.4(@types/react@18.3.12)(storybook@8.4.4(prettier@3.3.3)) '@storybook/addon-links': - specifier: ^8.4.1 - version: 8.4.1(react@18.3.1)(storybook@8.4.1(prettier@3.3.3)) + specifier: ^8.4.4 + version: 8.4.4(react@18.3.1)(storybook@8.4.4(prettier@3.3.3)) '@storybook/blocks': - specifier: ^8.4.1 - version: 8.4.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.1(prettier@3.3.3)) + specifier: ^8.4.4 + version: 8.4.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.4(prettier@3.3.3)) '@storybook/react': - specifier: ^8.4.1 - version: 8.4.1(@storybook/test@8.4.1(storybook@8.4.1(prettier@3.3.3)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.1(prettier@3.3.3))(typescript@5.6.3) + specifier: ^8.4.4 + version: 8.4.4(@storybook/test@8.4.4(storybook@8.4.4(prettier@3.3.3)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.4(prettier@3.3.3))(typescript@5.6.3) '@storybook/react-vite': - specifier: ^8.4.1 - version: 8.4.1(@storybook/test@8.4.1(storybook@8.4.1(prettier@3.3.3)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.24.4)(storybook@8.4.1(prettier@3.3.3))(typescript@5.6.3)(vite@5.4.10(@types/node@22.8.7)(sass@1.80.6)(terser@5.36.0))(webpack-sources@3.2.3) + specifier: ^8.4.4 + version: 8.4.4(@storybook/test@8.4.4(storybook@8.4.4(prettier@3.3.3)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.27.2)(storybook@8.4.4(prettier@3.3.3))(typescript@5.6.3)(vite@5.4.11(@types/node@22.9.0)(sass@1.81.0)(terser@5.36.0)) '@storybook/test': - specifier: ^8.4.1 - version: 8.4.1(storybook@8.4.1(prettier@3.3.3)) + specifier: ^8.4.4 + version: 8.4.4(storybook@8.4.4(prettier@3.3.3)) '@svgr/core': specifier: ^8.1.0 version: 8.1.0(typescript@5.6.3) @@ -165,8 +165,8 @@ importers: specifier: ^4.0.4 version: 4.0.4 '@types/node': - specifier: ^22.8.7 - version: 22.8.7 + specifier: ^22.9.0 + version: 22.9.0 '@types/prompts': specifier: ^2.4.9 version: 2.4.9 @@ -199,7 +199,7 @@ importers: version: 0.63.6(eslint@8.57.1)(typescript@5.6.3) '@unocss/postcss': specifier: ^0.63.6 - version: 0.63.6(postcss@8.4.47) + version: 0.63.6(postcss@8.4.49) '@unocss/preset-uno': specifier: ^0.63.6 version: 0.63.6 @@ -217,25 +217,25 @@ importers: version: 0.63.6 '@vitejs/plugin-react-swc': specifier: ^3.7.1 - version: 3.7.1(@swc/helpers@0.5.13)(vite@5.4.10(@types/node@22.8.7)(sass@1.80.6)(terser@5.36.0)) + version: 3.7.1(@swc/helpers@0.5.15)(vite@5.4.11(@types/node@22.9.0)(sass@1.81.0)(terser@5.36.0)) '@vitest/coverage-v8': - specifier: ^2.1.4 - version: 2.1.4(vitest@2.1.4) + specifier: ^2.1.5 + version: 2.1.5(vitest@2.1.5) '@vitest/ui': - specifier: ^2.1.4 - version: 2.1.4(vitest@2.1.4) + specifier: ^2.1.5 + version: 2.1.5(vitest@2.1.5) chalk: specifier: ^5.3.0 version: 5.3.0 chromatic: - specifier: ^11.16.5 - version: 11.16.5 + specifier: ^11.18.1 + version: 11.18.1 cssnano: specifier: ^7.0.6 - version: 7.0.6(postcss@8.4.47) + version: 7.0.6(postcss@8.4.49) cssnano-preset-advanced: specifier: ^7.0.6 - version: 7.0.6(postcss@8.4.47) + version: 7.0.6(postcss@8.4.49) dotenv: specifier: ^16.4.5 version: 16.4.5 @@ -267,8 +267,8 @@ importers: specifier: ^0.2.1 version: 0.2.1(eslint@8.57.1) eslint-plugin-jsdoc: - specifier: ^50.4.3 - version: 50.4.3(eslint@8.57.1) + specifier: ^50.5.0 + version: 50.5.0(eslint@8.57.1) eslint-plugin-prettier: specifier: ^5.2.1 version: 5.2.1(@types/eslint@9.6.1)(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3) @@ -290,6 +290,9 @@ importers: eslint-plugin-storybook: specifier: ^0.9.0 version: 0.9.0(eslint@8.57.1)(typescript@5.6.3) + eslint-plugin-tsdoc: + specifier: ^0.3.0 + version: 0.3.0 gulp: specifier: ^5.0.0 version: 5.0.0 @@ -303,8 +306,8 @@ importers: specifier: ^0.12.7 version: 0.12.7 postcss: - specifier: ^8.4.47 - version: 8.4.47 + specifier: ^8.4.49 + version: 8.4.49 prettier: specifier: ^3.3.3 version: 3.3.3 @@ -315,34 +318,34 @@ importers: specifier: ^24.2.0 version: 24.2.0(typescript@5.6.3) storybook: - specifier: ^8.4.1 - version: 8.4.1(prettier@3.3.3) + specifier: ^8.4.4 + version: 8.4.4(prettier@3.3.3) typescript: specifier: ^5.6.3 version: 5.6.3 unocss: specifier: ^0.63.6 - version: 0.63.6(postcss@8.4.47)(rollup@4.24.4)(typescript@5.6.3)(vite@5.4.10(@types/node@22.8.7)(sass@1.80.6)(terser@5.36.0)) + version: 0.63.6(postcss@8.4.49)(rollup@4.27.2)(typescript@5.6.3)(vite@5.4.11(@types/node@22.9.0)(sass@1.81.0)(terser@5.36.0)) unocss-preset-primitives: specifier: 0.0.2-beta.1 version: 0.0.2-beta.1 unplugin-icons: specifier: ^0.19.3 - version: 0.19.3(@svgr/core@8.1.0(typescript@5.6.3))(@vue/compiler-sfc@3.5.12)(webpack-sources@3.2.3) + version: 0.19.3(@svgr/core@8.1.0(typescript@5.6.3))(@vue/compiler-sfc@3.5.13) vite: - specifier: ^5.4.10 - version: 5.4.10(@types/node@22.8.7)(sass@1.80.6)(terser@5.36.0) + specifier: ^5.4.11 + version: 5.4.11(@types/node@22.9.0)(sass@1.81.0)(terser@5.36.0) vite-plugin-inspect: specifier: ^0.8.7 - version: 0.8.7(rollup@4.24.4)(vite@5.4.10(@types/node@22.8.7)(sass@1.80.6)(terser@5.36.0)) + version: 0.8.7(rollup@4.27.2)(vite@5.4.11(@types/node@22.9.0)(sass@1.81.0)(terser@5.36.0)) vitest: - specifier: ^2.1.4 - version: 2.1.4(@types/node@22.8.7)(@vitest/ui@2.1.4)(sass@1.80.6)(terser@5.36.0) + specifier: ^2.1.5 + version: 2.1.5(@types/node@22.9.0)(@vitest/ui@2.1.5)(sass@1.81.0)(terser@5.36.0) packages: - '@adobe/css-tools@4.4.0': - resolution: {integrity: sha512-Ff9+ksdQQB3rMncgqDK78uLznstjyfIf2Arnh22pW8kBpLs6rpKDwgnZT46hin5Hl1WzazzK64DOrhSwYpS7bQ==} + '@adobe/css-tools@4.4.1': + resolution: {integrity: sha512-12WGKBQzjUAI4ayyF4IAtfw2QR/IDoqk6jTddXDhtYTJF9ASmoE1zst7cVtP0aL/F1jUJL5r+JxKXKEgHNbEUQ==} '@ampproject/remapping@2.3.0': resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} @@ -1000,8 +1003,8 @@ packages: react: '>=16.8.0' react-dom: '>=16.8.0' - '@floating-ui/react@0.26.27': - resolution: {integrity: sha512-jLP72x0Kr2CgY6eTYi/ra3VA9LOkTo4C+DUTrbFgFOExKy3omYVmwMjNKqxAHdsnyLS96BIDLcO2SlnsNf8KUQ==} + '@floating-ui/react@0.26.28': + resolution: {integrity: sha512-yORQuuAtVpiRjpMhdc0wJj06b9JFjrYF4qp96j++v2NBpbi6SEGF7donUJ3TMieerQ6qVkAv1tgr7L4r5roTqw==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' @@ -1050,8 +1053,8 @@ packages: '@iconify-json/bi@1.2.1': resolution: {integrity: sha512-wsIWb6bcnBkfN8/2puIIE2ul6NYVjclbE/nI7JZsPnfzBamd3NuRFstXQH9Ckkbrw9eiBTNKwHbH90w3UE5QIg==} - '@iconify-json/iconoir@1.2.3': - resolution: {integrity: sha512-CIPFznjl417Y5zBPqZP4+lhHwdTr7aDenzUOL/z92ufuMoX7SOZbZ8dK9/wNaLwCr+2w+MrxfVKc7zjUj9K0Dg==} + '@iconify-json/iconoir@1.2.4': + resolution: {integrity: sha512-PILwyd8to0DFnMdT0s1RogIT+PRbh0THfvFxi94zobIRpsx/It/slFJHH6bslzXZLPRMSBebNwjqwQt5FvWlSQ==} '@iconify-json/material-symbols@1.2.6': resolution: {integrity: sha512-eXqnY9DY8B/7Uw/INwhpN8gfBrC3BBaWBx7T/Yf4oHxQRiVto4qSlDF3MD46q7vqp4GjtyQW1IkZvhgWHn0LTA==} @@ -1132,6 +1135,12 @@ packages: '@types/react': '>=16' react: '>=16' + '@microsoft/tsdoc-config@0.17.0': + resolution: {integrity: sha512-v/EYRXnCAIHxOHW+Plb6OWuUoMotxTN0GLatnpOb1xq0KuTNw/WI3pamJx/UbsoJP5k9MCw1QxvvhPcF9pH3Zg==} + + '@microsoft/tsdoc@0.15.0': + resolution: {integrity: sha512-HZpPoABogPvjeJOdzCOSJsXeL/SMCBgBZMVC3X3d7YYp2gf31MfxhUoYUNwf1ERPJOnQc0wkFn9trqI6ZEdZuA==} + '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -1361,93 +1370,93 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.24.4': - resolution: {integrity: sha512-jfUJrFct/hTA0XDM5p/htWKoNNTbDLY0KRwEt6pyOA6k2fmk0WVwl65PdUdJZgzGEHWx+49LilkcSaumQRyNQw==} + '@rollup/rollup-android-arm-eabi@4.27.2': + resolution: {integrity: sha512-Tj+j7Pyzd15wAdSJswvs5CJzJNV+qqSUcr/aCD+jpQSBtXvGnV0pnrjoc8zFTe9fcKCatkpFpOO7yAzpO998HA==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.24.4': - resolution: {integrity: sha512-j4nrEO6nHU1nZUuCfRKoCcvh7PIywQPUCBa2UsootTHvTHIoIu2BzueInGJhhvQO/2FTRdNYpf63xsgEqH9IhA==} + '@rollup/rollup-android-arm64@4.27.2': + resolution: {integrity: sha512-xsPeJgh2ThBpUqlLgRfiVYBEf/P1nWlWvReG+aBWfNv3XEBpa6ZCmxSVnxJgLgkNz4IbxpLy64h2gCmAAQLneQ==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.24.4': - resolution: {integrity: sha512-GmU/QgGtBTeraKyldC7cDVVvAJEOr3dFLKneez/n7BvX57UdhOqDsVwzU7UOnYA7AAOt+Xb26lk79PldDHgMIQ==} + '@rollup/rollup-darwin-arm64@4.27.2': + resolution: {integrity: sha512-KnXU4m9MywuZFedL35Z3PuwiTSn/yqRIhrEA9j+7OSkji39NzVkgxuxTYg5F8ryGysq4iFADaU5osSizMXhU2A==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.24.4': - resolution: {integrity: sha512-N6oDBiZCBKlwYcsEPXGDE4g9RoxZLK6vT98M8111cW7VsVJFpNEqvJeIPfsCzbf0XEakPslh72X0gnlMi4Ddgg==} + '@rollup/rollup-darwin-x64@4.27.2': + resolution: {integrity: sha512-Hj77A3yTvUeCIx/Vi+4d4IbYhyTwtHj07lVzUgpUq9YpJSEiGJj4vXMKwzJ3w5zp5v3PFvpJNgc/J31smZey6g==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.24.4': - resolution: {integrity: sha512-py5oNShCCjCyjWXCZNrRGRpjWsF0ic8f4ieBNra5buQz0O/U6mMXCpC1LvrHuhJsNPgRt36tSYMidGzZiJF6mw==} + '@rollup/rollup-freebsd-arm64@4.27.2': + resolution: {integrity: sha512-RjgKf5C3xbn8gxvCm5VgKZ4nn0pRAIe90J0/fdHUsgztd3+Zesb2lm2+r6uX4prV2eUByuxJNdt647/1KPRq5g==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.24.4': - resolution: {integrity: sha512-L7VVVW9FCnTTp4i7KrmHeDsDvjB4++KOBENYtNYAiYl96jeBThFfhP6HVxL74v4SiZEVDH/1ILscR5U9S4ms4g==} + '@rollup/rollup-freebsd-x64@4.27.2': + resolution: {integrity: sha512-duq21FoXwQtuws+V9H6UZ+eCBc7fxSpMK1GQINKn3fAyd9DFYKPJNcUhdIKOrMFjLEJgQskoMoiuizMt+dl20g==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.24.4': - resolution: {integrity: sha512-10ICosOwYChROdQoQo589N5idQIisxjaFE/PAnX2i0Zr84mY0k9zul1ArH0rnJ/fpgiqfu13TFZR5A5YJLOYZA==} + '@rollup/rollup-linux-arm-gnueabihf@4.27.2': + resolution: {integrity: sha512-6npqOKEPRZkLrMcvyC/32OzJ2srdPzCylJjiTJT2c0bwwSGm7nz2F9mNQ1WrAqCBZROcQn91Fno+khFhVijmFA==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.24.4': - resolution: {integrity: sha512-ySAfWs69LYC7QhRDZNKqNhz2UKN8LDfbKSMAEtoEI0jitwfAG2iZwVqGACJT+kfYvvz3/JgsLlcBP+WWoKCLcw==} + '@rollup/rollup-linux-arm-musleabihf@4.27.2': + resolution: {integrity: sha512-V9Xg6eXtgBtHq2jnuQwM/jr2mwe2EycnopO8cbOvpzFuySCGtKlPCI3Hj9xup/pJK5Q0388qfZZy2DqV2J8ftw==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.24.4': - resolution: {integrity: sha512-uHYJ0HNOI6pGEeZ/5mgm5arNVTI0nLlmrbdph+pGXpC9tFHFDQmDMOEqkmUObRfosJqpU8RliYoGz06qSdtcjg==} + '@rollup/rollup-linux-arm64-gnu@4.27.2': + resolution: {integrity: sha512-uCFX9gtZJoQl2xDTpRdseYuNqyKkuMDtH6zSrBTA28yTfKyjN9hQ2B04N5ynR8ILCoSDOrG/Eg+J2TtJ1e/CSA==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.24.4': - resolution: {integrity: sha512-38yiWLemQf7aLHDgTg85fh3hW9stJ0Muk7+s6tIkSUOMmi4Xbv5pH/5Bofnsb6spIwD5FJiR+jg71f0CH5OzoA==} + '@rollup/rollup-linux-arm64-musl@4.27.2': + resolution: {integrity: sha512-/PU9P+7Rkz8JFYDHIi+xzHabOu9qEWR07L5nWLIUsvserrxegZExKCi2jhMZRd0ATdboKylu/K5yAXbp7fYFvA==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.24.4': - resolution: {integrity: sha512-q73XUPnkwt9ZNF2xRS4fvneSuaHw2BXuV5rI4cw0fWYVIWIBeDZX7c7FWhFQPNTnE24172K30I+dViWRVD9TwA==} + '@rollup/rollup-linux-powerpc64le-gnu@4.27.2': + resolution: {integrity: sha512-eCHmol/dT5odMYi/N0R0HC8V8QE40rEpkyje/ZAXJYNNoSfrObOvG/Mn+s1F/FJyB7co7UQZZf6FuWnN6a7f4g==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.24.4': - resolution: {integrity: sha512-Aie/TbmQi6UXokJqDZdmTJuZBCU3QBDA8oTKRGtd4ABi/nHgXICulfg1KI6n9/koDsiDbvHAiQO3YAUNa/7BCw==} + '@rollup/rollup-linux-riscv64-gnu@4.27.2': + resolution: {integrity: sha512-DEP3Njr9/ADDln3kNi76PXonLMSSMiCir0VHXxmGSHxCxDfQ70oWjHcJGfiBugzaqmYdTC7Y+8Int6qbnxPBIQ==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.24.4': - resolution: {integrity: sha512-P8MPErVO/y8ohWSP9JY7lLQ8+YMHfTI4bAdtCi3pC2hTeqFJco2jYspzOzTUB8hwUWIIu1xwOrJE11nP+0JFAQ==} + '@rollup/rollup-linux-s390x-gnu@4.27.2': + resolution: {integrity: sha512-NHGo5i6IE/PtEPh5m0yw5OmPMpesFnzMIS/lzvN5vknnC1sXM5Z/id5VgcNPgpD+wHmIcuYYgW+Q53v+9s96lQ==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.24.4': - resolution: {integrity: sha512-K03TljaaoPK5FOyNMZAAEmhlyO49LaE4qCsr0lYHUKyb6QacTNF9pnfPpXnFlFD3TXuFbFbz7tJ51FujUXkXYA==} + '@rollup/rollup-linux-x64-gnu@4.27.2': + resolution: {integrity: sha512-PaW2DY5Tan+IFvNJGHDmUrORadbe/Ceh8tQxi8cmdQVCCYsLoQo2cuaSj+AU+YRX8M4ivS2vJ9UGaxfuNN7gmg==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.24.4': - resolution: {integrity: sha512-VJYl4xSl/wqG2D5xTYncVWW+26ICV4wubwN9Gs5NrqhJtayikwCXzPL8GDsLnaLU3WwhQ8W02IinYSFJfyo34Q==} + '@rollup/rollup-linux-x64-musl@4.27.2': + resolution: {integrity: sha512-dOlWEMg2gI91Qx5I/HYqOD6iqlJspxLcS4Zlg3vjk1srE67z5T2Uz91yg/qA8sY0XcwQrFzWWiZhMNERylLrpQ==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.24.4': - resolution: {integrity: sha512-ku2GvtPwQfCqoPFIJCqZ8o7bJcj+Y54cZSr43hHca6jLwAiCbZdBUOrqE6y29QFajNAzzpIOwsckaTFmN6/8TA==} + '@rollup/rollup-win32-arm64-msvc@4.27.2': + resolution: {integrity: sha512-euMIv/4x5Y2/ImlbGl88mwKNXDsvzbWUlT7DFky76z2keajCtcbAsN9LUdmk31hAoVmJJYSThgdA0EsPeTr1+w==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.24.4': - resolution: {integrity: sha512-V3nCe+eTt/W6UYNr/wGvO1fLpHUrnlirlypZfKCT1fG6hWfqhPgQV/K/mRBXBpxc0eKLIF18pIOFVPh0mqHjlg==} + '@rollup/rollup-win32-ia32-msvc@4.27.2': + resolution: {integrity: sha512-RsnE6LQkUHlkC10RKngtHNLxb7scFykEbEwOFDjr3CeCMG+Rr+cKqlkKc2/wJ1u4u990urRHCbjz31x84PBrSQ==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.24.4': - resolution: {integrity: sha512-LTw1Dfd0mBIEqUVCxbvTE/LLo+9ZxVC9k99v1v4ahg9Aak6FpqOfNu5kRkeTAn0wphoC4JU7No1/rL+bBCEwhg==} + '@rollup/rollup-win32-x64-msvc@4.27.2': + resolution: {integrity: sha512-foJM5vv+z2KQmn7emYdDLyTbkoO5bkHZE1oth2tWbQNGW7mX32d46Hz6T0MqXdWS2vBZhaEtHqdy9WYwGfiliA==} cpu: [x64] os: [win32] @@ -1477,8 +1486,8 @@ packages: peerDependencies: semantic-release: '>=18.0.0' - '@semantic-release/github@11.0.0': - resolution: {integrity: sha512-Uon6G6gJD8U1JNvPm7X0j46yxNRJ8Ui6SgK4Zw5Ktu8RgjEft3BGn+l/RX1TTzhhO3/uUcKuqM+/9/ETFxWS/Q==} + '@semantic-release/github@11.0.1': + resolution: {integrity: sha512-Z9cr0LgU/zgucbT9cksH0/pX9zmVda9hkDPcgIE0uvjMQ8w/mElDivGjx1w1pEQ+MuQJ5CBq3VCF16S6G4VH3A==} engines: {node: '>=20.8.1'} peerDependencies: semantic-release: '>=24.1.0' @@ -1495,42 +1504,42 @@ packages: peerDependencies: semantic-release: '>=20.1.0' - '@sentry-internal/browser-utils@8.36.0': - resolution: {integrity: sha512-AVJ9GmQW7jYxaal6hjQnnktsDNype01ajVC4q1RyOn1SfzSnXg6mXwj4xm4ovuJV+aBI7fAZJ55vEX5ASuP0ZA==} + '@sentry-internal/browser-utils@8.38.0': + resolution: {integrity: sha512-5QMVcssrAcmjKT0NdFYcX0b0wwZovGAZ9L2GajErXtHkBenjI2sgR2+5J7n+QZGuk2SC1qhGmT1O9i3p3UEwew==} engines: {node: '>=14.18'} - '@sentry-internal/feedback@8.36.0': - resolution: {integrity: sha512-aAMTm3uDBj8Ta7FwoohpLmJOpWzpWXvvtTbtmSgkeCtPJLUS8DZDCTZ9uCILUkpuYrv2savRUHsdPkxNjgL8FA==} + '@sentry-internal/feedback@8.38.0': + resolution: {integrity: sha512-AW5HCCAlc3T1jcSuNhbFVNO1CHyJ5g5tsGKEP4VKgu+D1Gg2kZ5S2eFatLBUP/BD5JYb1A7p6XPuzYp1XfMq0A==} engines: {node: '>=14.18'} - '@sentry-internal/replay-canvas@8.36.0': - resolution: {integrity: sha512-KJPLf+qYdrQdmouoAqIPZ2KeapIBlHWbzNdQqNxJFWLHFFjpLUtt0b+87ruvbA/q3NYy2fDwD7EB0tGS1RHBaA==} + '@sentry-internal/replay-canvas@8.38.0': + resolution: {integrity: sha512-OxmlWzK9J8mRM+KxdSnQ5xuxq+p7TiBzTz70FT3HltxmeugvDkyp6803UcFqHOPHR35OYeVLOalym+FmvNn9kw==} engines: {node: '>=14.18'} - '@sentry-internal/replay@8.36.0': - resolution: {integrity: sha512-lbic98GsSkDeinQDix54tBFEgHUlmBtO+HjXECk9jIE0vOzR4As20/s5ta46t1rKMLlnxOtJuT5jKXeUYogBUw==} + '@sentry-internal/replay@8.38.0': + resolution: {integrity: sha512-mQPShKnIab7oKwkwrRxP/D8fZYHSkDY+cvqORzgi+wAwgnunytJQjz9g6Ww2lJu98rHEkr5SH4V4rs6PZYZmnQ==} engines: {node: '>=14.18'} - '@sentry/browser@8.36.0': - resolution: {integrity: sha512-bLrQNe+wD4DkCfB8OD5TF3Rr8KA2+aTo5wF3t3Bf6KVn8//iX1ia1hhtptYiRnbRkG/0AEPxlqL6XfPZYVPQ5A==} + '@sentry/browser@8.38.0': + resolution: {integrity: sha512-AZR+b0EteNZEGv6JSdBD22S9VhQ7nrljKsSnzxobBULf3BpwmhmCzTbDrqWszKDAIDYmL+yQJIR2glxbknneWQ==} engines: {node: '>=14.18'} - '@sentry/core@8.36.0': - resolution: {integrity: sha512-cbq1WQyRqc/+YpPhjwQxfniUM3ZxmO3Pm1oisTB8dw6mlbgQfGD6aznEIjXWWJY6k6acewJlMUx09N7DnprtBw==} + '@sentry/core@8.38.0': + resolution: {integrity: sha512-sGD+5TEHU9G7X7zpyaoJxpOtwjTjvOd1f/MKBrWW2vf9UbYK+GUJrOzLhMoSWp/pHSYgvObkJkDb/HwieQjvhQ==} engines: {node: '>=14.18'} - '@sentry/react@8.36.0': - resolution: {integrity: sha512-YIJZUx7Q5aulK034cRri0p/7MeP3tdLfdP6vMJMwrVlqoWQI9gKZXikmLIqHUQegZdMRYX5tr03gTWJu3dhYwg==} + '@sentry/react@8.38.0': + resolution: {integrity: sha512-5396tewO00wbJFHUkmU+ikmp4A+wuBpStNc7UDyAm642jfbPajj51+GWld/ZYNFiQaZ/8I9tvvpHqVLnUh21gg==} engines: {node: '>=14.18'} peerDependencies: react: ^16.14.0 || 17.x || 18.x || 19.x - '@sentry/types@8.36.0': - resolution: {integrity: sha512-K1pVFfdGHw115RzGHpwSOqoEPeayn4N1F9IfM0kxrYpQSbFT1X29eak88GBfC8gPiLEF0iFGlSaQ4ERmF7oRcA==} + '@sentry/types@8.38.0': + resolution: {integrity: sha512-fP5H9ZX01W4Z/EYctk3mkSHi7d06cLcX2/UWqwdWbyPWI+pL2QpUPICeO/C+8SnmYx//wFj3qWDhyPCh1PdFAA==} engines: {node: '>=14.18'} - '@sentry/utils@8.36.0': - resolution: {integrity: sha512-oJ3EDPj0I00z+AwC3EWBpSidXYUoKW0Id8MfMQP5Hflniz3gif7UEReblT+FJgPEVo6+6uNzAncY0MuNMxmDKQ==} + '@sentry/utils@8.38.0': + resolution: {integrity: sha512-3X7MgIKIx+2q5Al7QkhaRB4wV6DvzYsaeIwdqKUzGLuRjXmNgJrLoU87TAwQRmZ6Wr3IoEpThZZMNrzYPXxArw==} engines: {node: '>=14.18'} '@sinclair/typebox@0.27.8': @@ -1548,20 +1557,20 @@ packages: resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} engines: {node: '>=18'} - '@storybook/addon-actions@8.4.1': - resolution: {integrity: sha512-D6KohTIA4JCHNol1X7Whp4LpOVU4cS5FfyOorwYo/WIzpHrUYc4Pw/+ex6DOmU/kgrk14mr8d9obVehKW7iNtA==} + '@storybook/addon-actions@8.4.4': + resolution: {integrity: sha512-+Dd6alcieS6UN7IKhXLuhyQYQMu9HG/Tdr790a4EOQKpJM1NxIMuPuUH3fAoKfa9VhtI1BxTBr7zNtzg9Akqhg==} peerDependencies: - storybook: ^8.4.1 + storybook: ^8.4.4 - '@storybook/addon-backgrounds@8.4.1': - resolution: {integrity: sha512-DIT1E9R9Sds8KTC+0m2X5cVa8hTNcKY1XKYTI9QdzQvdZzOt+K93AJqq2x8k5glingqUVpB6v2fSDmCUXp4+4g==} + '@storybook/addon-backgrounds@8.4.4': + resolution: {integrity: sha512-asaGD4ruIPFthyhpByQSJagvtNN7EGKdHj5yMnsMvkSXnN0r1uVkI2/Z37hmLt02Qbzf6OQiBPW5TDL+X+EEBg==} peerDependencies: - storybook: ^8.4.1 + storybook: ^8.4.4 - '@storybook/addon-controls@8.4.1': - resolution: {integrity: sha512-3ahbYdDx7iFUd4X1KelMSuPqVnladc0bH4m6DQZyN+wkRxdRlOD6iOGuOe2qi1Gv0b2VuVAt253i75tK/TPNLw==} + '@storybook/addon-controls@8.4.4': + resolution: {integrity: sha512-FbZRbwJQggLz6M3zB6scCp1SDGwQ5zdiD6sjBilZzgGO5rBFqG0A8PoOyr4iPrLU2y/NZBdRrJBD+6MkaJ+yzw==} peerDependencies: - storybook: ^8.4.1 + storybook: ^8.4.4 '@storybook/addon-designs@8.0.4': resolution: {integrity: sha512-BrEWks1BRnZis2e8OoE1LhFS+x2d094Tzpbb3jQBve2IfDv/X006RSuy1WyplNxskdYdBESCH45MlRn4lhP5ew==} @@ -1583,85 +1592,85 @@ packages: react-dom: optional: true - '@storybook/addon-docs@8.4.1': - resolution: {integrity: sha512-yPD/NssJf7pMJzaKvma02C6yX8ykPVnEjhRbNYcBNM8s8g/cT5JkROvIB+FOb4T81yhdfbGg9bGkpAXGX270IQ==} + '@storybook/addon-docs@8.4.4': + resolution: {integrity: sha512-wuHaStfpd2rkAN5Lf0qmvE3JKTHTEDbnAMTvfs9inzGBL0iAwBLjW48/ll7lLkJ2E3k/FQtaevNpuc7C52u1Bw==} peerDependencies: - storybook: ^8.4.1 + storybook: ^8.4.4 - '@storybook/addon-essentials@8.4.1': - resolution: {integrity: sha512-Hmb5fpVzQgyCacDtHeE7HJqIfolzeOnedsLyJVYVpKns/uOWXqpDuU8Fc0s3yTjr1QPIRKtbqV1STxoyXj2how==} + '@storybook/addon-essentials@8.4.4': + resolution: {integrity: sha512-0ObUQ98zZkeWqP2k3Un5jny3WxT3THgUKZUGD+mR8eq6CuTmJ3bUXWzDHreuDxQwgr8s5f04XD8IcRvjZ9IRgA==} peerDependencies: - storybook: ^8.4.1 + storybook: ^8.4.4 - '@storybook/addon-highlight@8.4.1': - resolution: {integrity: sha512-BBkUd6+i7lUEWZwoJDlUIwrs7EXkk+EoREUi27iiA1Lilw+NNhoC3kcBmj3+MccjRyeMeIWAgYyXF5qeB2s/JQ==} + '@storybook/addon-highlight@8.4.4': + resolution: {integrity: sha512-k7EUxiMe8RCasmgfa6ZKx7UG6kU9RooTYGwqY5TG5xAQOzDwKn4qom+OYkT/9/6lORhJrUe2GgQLCrq/WGpS1A==} peerDependencies: - storybook: ^8.4.1 + storybook: ^8.4.4 - '@storybook/addon-links@8.4.1': - resolution: {integrity: sha512-wg83rNKo6mq5apV7f1qMn4q8xZ8wVx/42EEWxTOmnM37Q5kXltEBu+rUyBpPNDU8zBuXr/MRKIhK5h2k4WfWcg==} + '@storybook/addon-links@8.4.4': + resolution: {integrity: sha512-hqTv06fPq9k5GUZD8JR49ANw5sBg8EYAsuCNoSd9OwVSBO/3y53HrMA0NCILUK8hnupPvtBuKXXoHmHes9R+1g==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.4.1 + storybook: ^8.4.4 peerDependenciesMeta: react: optional: true - '@storybook/addon-measure@8.4.1': - resolution: {integrity: sha512-Pg1ROj29hKt7grL/HmbIJ10WrkZf1Unx35SsP373bkPQ1ggYi9oxGqtfNchTF2zCb1xUpIikLYSJgkwdjqWxhA==} + '@storybook/addon-measure@8.4.4': + resolution: {integrity: sha512-KsjrwrXwrI+z7hKKfjyY1w1b0gLSLZmp15vIRJMELybWV0+4bZFLJGwMBOQFx+aWBED8yZrRV9OjTmoczawsZg==} peerDependencies: - storybook: ^8.4.1 + storybook: ^8.4.4 - '@storybook/addon-outline@8.4.1': - resolution: {integrity: sha512-LPZ0gGHfbru66Lkw1whnc3F/r1hfnoORBoF98Hp+cjH34gR4t8te6xq5qSiupRUULGdSLdBRs/4EGRBeELfVjQ==} + '@storybook/addon-outline@8.4.4': + resolution: {integrity: sha512-CVS1dm6BNUWKGrJj9E1ThBp5Khe6Yw+Hhz6OFxrPZfoTr6RstwoTmvSpKjDUCn8zj6ujoORdiQUh1FsHOxAPBg==} peerDependencies: - storybook: ^8.4.1 + storybook: ^8.4.4 - '@storybook/addon-toolbars@8.4.1': - resolution: {integrity: sha512-yrzX6BFeJM5KFY0+ZAYfRax2QgWi2e5vF6yPz+MGIPr4nhHay0wTkOHhkBhIPBjQO9x0vqc7MS2EBDydCBWqlg==} + '@storybook/addon-toolbars@8.4.4': + resolution: {integrity: sha512-ENPshJMDpfzOJ4Tgm1hSzQoaEmgDxCtP6C8LKk4MOd3X92MJ7p6kfb3y3R1BLg4E/g90qp6lKPFdcohS2tKCgQ==} peerDependencies: - storybook: ^8.4.1 + storybook: ^8.4.4 - '@storybook/addon-viewport@8.4.1': - resolution: {integrity: sha512-O6DcuUfXQTytjl7mj4ld4ZX9x2pUUWKUx1TxiuMuH0EKb612RyYcdpXpDQQwsIzLV/f2BOetk9jmO2/MymfbWQ==} + '@storybook/addon-viewport@8.4.4': + resolution: {integrity: sha512-SRHJlLhf3tu7+sYNfVIYTeMegn6aiv4HGX97ZLvL76NWWBU8BntQ1LKMki7475mWiZNUFMoYYPsHlG+HU9FAtg==} peerDependencies: - storybook: ^8.4.1 + storybook: ^8.4.4 - '@storybook/blocks@8.4.1': - resolution: {integrity: sha512-C4w5T5fhg0iONXozHQ1bh9im2Lr1BiY7Bj/9XoFjkc5YeCzxlMpujFA6Nmo4ToUFW90QbvKN7/QVhbrtY9O1Jg==} + '@storybook/blocks@8.4.4': + resolution: {integrity: sha512-LwM3guL7uWpYR1a/SY0KZjCUskTKEaS22eF7GK8iXAV5BY4KpKr6ArW4O9orK29KtFwKhDZQLcMcECsOJBVk/A==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.4.1 + storybook: ^8.4.4 peerDependenciesMeta: react: optional: true react-dom: optional: true - '@storybook/builder-vite@8.4.1': - resolution: {integrity: sha512-//v2S+/huVTZB1tqVH7hpGQtEaRUFyhVFuf4Qk+xPuJItE6sgY4z8Iaz5vONTNMUouei867CXQRPQr3gCa3QVQ==} + '@storybook/builder-vite@8.4.4': + resolution: {integrity: sha512-UfPzE0p2xvBK7sA853N3VN+Plfw6/DIVppwbgsaRdzie52QXZQrl60u0igD47DHi6+xbqCBWDz7up4h3k00Z5A==} peerDependencies: - storybook: ^8.4.1 + storybook: ^8.4.4 vite: ^4.0.0 || ^5.0.0 - '@storybook/components@8.4.1': - resolution: {integrity: sha512-bMPclbBhrWxhFlwqrC/h4fPLl05ouoi5D8SkQTHjeVxWN9eDnMVi76xM0YDct302Z3f0x5S3plIulp+4XRxrvg==} + '@storybook/components@8.4.4': + resolution: {integrity: sha512-0BSZVmsk23C0BSRKx3liZSVQFXtoF86XQFdNQxjrXIwdHIEN7TcL3DwcxeVUU5ilGp7HeDgAydGNIPGgTeEe6g==} peerDependencies: storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 - '@storybook/core@8.4.1': - resolution: {integrity: sha512-q3Q4OFBj7MHHbIFYk/Beejlqv5j7CC3+VWhGcr0TK3SGvdCIZ7EliYuc5JIOgDlEPsnTIk+lkgWI4LAA9mLzSw==} + '@storybook/core@8.4.4': + resolution: {integrity: sha512-WjTmJpsHsFCd7tQ/8jFpDWjhntauXcWYYTcEZk56Pq4miyNrrXhV0S80Gxv3Uvzk0jocgtT2AKf8rQuH2UkQEg==} peerDependencies: prettier: ^2 || ^3 peerDependenciesMeta: prettier: optional: true - '@storybook/csf-plugin@8.4.1': - resolution: {integrity: sha512-MdQkyq6mJ31lBsWCG9VNtx8O0oLSc5h4kvWDPyIP6Dn58K0Hv2z9qvxxSvtFjXA7ES9X+ivjorTke1kearifhg==} + '@storybook/csf-plugin@8.4.4': + resolution: {integrity: sha512-4+6SUhp5sEJN9BY5RuxcFKvJbOqCzIUp9oHSSz36hkP07a4QH+SwxfEd0U7JRfmPpB63L+izywTzWhdADiAMOQ==} peerDependencies: - storybook: ^8.4.1 + storybook: ^8.4.4 '@storybook/csf@0.0.1': resolution: {integrity: sha512-USTLkZze5gkel8MYCujSRBVIrUQ3YPBrLOx7GNk/0wttvVtlzWXAq9eLbQ4p/NicGxP+3T7KPEMVV//g+yubpw==} @@ -1679,45 +1688,45 @@ packages: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - '@storybook/instrumenter@8.4.1': - resolution: {integrity: sha512-MgrhrLVW78jqno+Dh9h9Es06Ja3867TlrIUd8B3K3U1hsCFUQuFKXJBuGjNJF8U0QJY/aSIRnAgUBurHdVkPcw==} + '@storybook/instrumenter@8.4.4': + resolution: {integrity: sha512-mq/YVEZrB8jyyio2Of01rQixsQ72z8ssAhJS9ldIlK+cvERQi0VBCpH3pejPmjOB40yiKBJHNqH4HIANVhibgw==} peerDependencies: - storybook: ^8.4.1 + storybook: ^8.4.4 - '@storybook/manager-api@8.4.1': - resolution: {integrity: sha512-7hb2k4zsp6lREGZbQ85QOlsC8EIMZXuY9Pg12VUgaZd+LmLjLuaqtrxRz3SwIgIWsRpFun9AHO0X37DmYNGTSw==} + '@storybook/manager-api@8.4.4': + resolution: {integrity: sha512-rmNPcbEyzakEHoaecUbhkW7WWOkyZ0z7ywH4d5/s0ZuQS57Px2N+ZLVgRJwYK+YNHiJYqDf1BTln9YJ/Mt1L6Q==} peerDependencies: storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 - '@storybook/preview-api@8.4.1': - resolution: {integrity: sha512-VdnESYfXCUasNtMd5s1Q8DPqMnAUdpROn8mE8UAD79Cy7DSNesI1q0SATuJqh5iYCT/+3Tpjfghsr2zC/mOh8w==} + '@storybook/preview-api@8.4.4': + resolution: {integrity: sha512-iZrWQcjRBqBHFdDXVxGpw6mHBZMCMYqhWXdyJ0d1S2y3PwcfOjkcXlQ1UiAenFHlA6dKrcYw8luKUQTL9bKReA==} peerDependencies: storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 - '@storybook/react-dom-shim@8.4.1': - resolution: {integrity: sha512-XhvuqkpqtcUjDA8XE4osq140SCddX3VHMdj+IwlrMdoSl32CAya01TH5YDDx6YMy6hM/QQbyVKaemG7RB/oU4Q==} + '@storybook/react-dom-shim@8.4.4': + resolution: {integrity: sha512-kufv2FDK3kjADBo+/aKHsUn9T5E4p9IBAmCoIvXBGRDumPRds7Pt3MB4ODKlg+IumR7LMEq0jTJkn27ZRTuUmw==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.4.1 + storybook: ^8.4.4 - '@storybook/react-vite@8.4.1': - resolution: {integrity: sha512-khMEfB/fs4eryu0Swnqj3XUnmUW+1cAORa2gBcnkp51uX93cx5+t6UJIquW5ELB45+tGM5wIW2vVUDE0BOl4eA==} + '@storybook/react-vite@8.4.4': + resolution: {integrity: sha512-NbTAY4R526hJ+gz7BFLS1HpGx3BikQDbq1BuEcaWsf/rJnygwlzeQmdPyfrfNC8R0ufIKRWUiPrPmMvrf8ZI6A==} engines: {node: '>=18.0.0'} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.4.1 + storybook: ^8.4.4 vite: ^4.0.0 || ^5.0.0 - '@storybook/react@8.4.1': - resolution: {integrity: sha512-ZwszrzV47nWQEZ0X4LyNgv5OFq4iy/7LpmxW6IncIO7PWm70OWG2BVtKFNsNQx0LY+hOtllWZbvg06mPQzahFA==} + '@storybook/react@8.4.4': + resolution: {integrity: sha512-92lGnRcAI2qW6zH8GMBScyXmOS1ANI8ZuSP4ExQj+lGsCrAr7PBr0wuHy3wIn1YyAvQGPUn/mpYrmMz08c2HfA==} engines: {node: '>=18.0.0'} peerDependencies: - '@storybook/test': 8.4.1 + '@storybook/test': 8.4.4 react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.4.1 + storybook: ^8.4.4 typescript: '>= 4.2.x' peerDependenciesMeta: '@storybook/test': @@ -1725,13 +1734,13 @@ packages: typescript: optional: true - '@storybook/test@8.4.1': - resolution: {integrity: sha512-najn9kCxB8NaHykhD7Fv+Iq0FnxmIJYOJlYiI8NMgVLwaSDFf6gnqAY6HHVPRqkhej8TuT1L2e2RxKqzWEB+mA==} + '@storybook/test@8.4.4': + resolution: {integrity: sha512-tmJd+lxl3MC0Xdu1KW/69V8tibv98OvdopxGqfVR0x5dkRHM3sFK/tv1ZJAUeronlvRyhGySOu1tHUrMjcNqyA==} peerDependencies: - storybook: ^8.4.1 + storybook: ^8.4.4 - '@storybook/theming@8.4.1': - resolution: {integrity: sha512-Sz24isryVFZaVahXkjgnCsMAQqQeeKg41AtLsldlYdesIo6fr5tc6/SkTUy+CYadK4Dkhqp+vVRDnwToYYRGhA==} + '@storybook/theming@8.4.4': + resolution: {integrity: sha512-iq4yt3Fx35ZV5owNC//E6G+QPV19xHHVN2Ugi3p7KOSFK3chuXX9mxZ1rfir+t+U30a5EPOEnlsY3/1LXn7aTw==} peerDependencies: storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 @@ -1803,68 +1812,68 @@ packages: peerDependencies: '@svgr/core': '*' - '@swc/core-darwin-arm64@1.8.0': - resolution: {integrity: sha512-TIus1/SE/Ud4g84hCnchcagu+LfyndSDy5r5qf64nflojejDidPU9Fp1InzQhQpEgIpntnZID/KFCP5rQnvsIw==} + '@swc/core-darwin-arm64@1.9.2': + resolution: {integrity: sha512-nETmsCoY29krTF2PtspEgicb3tqw7Ci5sInTI03EU5zpqYbPjoPH99BVTjj0OsF53jP5MxwnLI5Hm21lUn1d6A==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] - '@swc/core-darwin-x64@1.8.0': - resolution: {integrity: sha512-yCb1FHCX/HUmNRGB1X3CFJ1WPKXMosZVUe3K2TrosCGvytwgaLoW5FS0bZg5Qv6cEUERQBg75cJnOUPwLLRCVg==} + '@swc/core-darwin-x64@1.9.2': + resolution: {integrity: sha512-9gD+bwBz8ZByjP6nZTXe/hzd0tySIAjpDHgkFiUrc+5zGF+rdTwhcNrzxNHJmy6mw+PW38jqII4uspFHUqqxuQ==} engines: {node: '>=10'} cpu: [x64] os: [darwin] - '@swc/core-linux-arm-gnueabihf@1.8.0': - resolution: {integrity: sha512-6TdjVdiLaSW+eGiHKEojMDlx673nowrPHa6nM6toWgRzy8tIZgjPOguVKJDoMnoHuvO7SkOLCUiMRw0rTskypA==} + '@swc/core-linux-arm-gnueabihf@1.9.2': + resolution: {integrity: sha512-kYq8ief1Qrn+WmsTWAYo4r+Coul4dXN6cLFjiPZ29Cv5pyU+GFvSPAB4bEdMzwy99rCR0u2P10UExaeCjurjvg==} engines: {node: '>=10'} cpu: [arm] os: [linux] - '@swc/core-linux-arm64-gnu@1.8.0': - resolution: {integrity: sha512-TU2YcTornnyZiJUabRuk7Xtvzaep11FwK77IkFomjN9/Os5s25B8ea652c2fAQMe9RsM84FPVmX303ohxavjKQ==} + '@swc/core-linux-arm64-gnu@1.9.2': + resolution: {integrity: sha512-n0W4XiXlmEIVqxt+rD3ZpkogsEWUk1jJ+i5bQNgB+1JuWh0fBE8c/blDgTQXa0GB5lTPVDZQussgdNOCnAZwiA==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - '@swc/core-linux-arm64-musl@1.8.0': - resolution: {integrity: sha512-2CdPTEKxx2hJIj/B0fn8L8k2coo/FDS95smzXyi2bov5FcrP6Ohboq8roFBYgj38fkHusXjY8qt+cCH7yXWAdg==} + '@swc/core-linux-arm64-musl@1.9.2': + resolution: {integrity: sha512-8xzrOmsyCC1zrx2Wzx/h8dVsdewO1oMCwBTLc1gSJ/YllZYTb04pNm6NsVbzUX2tKddJVRgSJXV10j/NECLwpA==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - '@swc/core-linux-x64-gnu@1.8.0': - resolution: {integrity: sha512-14StQBifCs/AMsySdU95OmwNJr9LOVqo6rcTFt2b7XaWpe/AyeuMJFxcndLgUewksJHpfepzCTwNdbcYmuNo6A==} + '@swc/core-linux-x64-gnu@1.9.2': + resolution: {integrity: sha512-kZrNz/PjRQKcchWF6W292jk3K44EoVu1ad5w+zbS4jekIAxsM8WwQ1kd+yjUlN9jFcF8XBat5NKIs9WphJCVXg==} engines: {node: '>=10'} cpu: [x64] os: [linux] - '@swc/core-linux-x64-musl@1.8.0': - resolution: {integrity: sha512-qemJnAQlYqKCfWNqVv5SG8uGvw8JotwU86cuFUkq35oTB+dsSFM3b83+B1giGTKKFOh2nfWT7bvPXTKk+aUjew==} + '@swc/core-linux-x64-musl@1.9.2': + resolution: {integrity: sha512-TTIpR4rjMkhX1lnFR+PSXpaL83TrQzp9znRdp2TzYrODlUd/R20zOwSo9vFLCyH6ZoD47bccY7QeGZDYT3nlRg==} engines: {node: '>=10'} cpu: [x64] os: [linux] - '@swc/core-win32-arm64-msvc@1.8.0': - resolution: {integrity: sha512-fXt5vZbnrVdXZzGj2qRnZtY3uh+NtLCaFjS2uD9w8ssdbjhbDZYlJCj2JINOjv35ttEfAD2goiYmVa5P/Ypl+g==} + '@swc/core-win32-arm64-msvc@1.9.2': + resolution: {integrity: sha512-+Eg2d4icItKC0PMjZxH7cSYFLWk0aIp94LNmOw6tPq0e69ax6oh10upeq0D1fjWsKLmOJAWEvnXlayZcijEXDw==} engines: {node: '>=10'} cpu: [arm64] os: [win32] - '@swc/core-win32-ia32-msvc@1.8.0': - resolution: {integrity: sha512-W4FA2vSJ+bGYiTj6gspxghSdKQNLfLMo65AH07u797x7I+YJj8amnFY/fQRlroDv5Dez/FHTv14oPlTlNFUpIw==} + '@swc/core-win32-ia32-msvc@1.9.2': + resolution: {integrity: sha512-nLWBi4vZDdM/LkiQmPCakof8Dh1/t5EM7eudue04V1lIcqx9YHVRS3KMwEaCoHLGg0c312Wm4YgrWQd9vwZ5zQ==} engines: {node: '>=10'} cpu: [ia32] os: [win32] - '@swc/core-win32-x64-msvc@1.8.0': - resolution: {integrity: sha512-Il4y8XwKDV0Bnk0IpA00kGcSQC6I9XOIinW5egTutnwIDfDE+qsD0j+0isW5H76GetY3/Ze0lVxeOXLAUgpegA==} + '@swc/core-win32-x64-msvc@1.9.2': + resolution: {integrity: sha512-ik/k+JjRJBFkXARukdU82tSVx0CbExFQoQ78qTO682esbYXzjdB5eLVkoUbwen299pnfr88Kn4kyIqFPTje8Xw==} engines: {node: '>=10'} cpu: [x64] os: [win32] - '@swc/core@1.8.0': - resolution: {integrity: sha512-EF8C5lp1RKMp3426tAKwQyVbg4Zcn/2FDax3cz8EcOXYQJM/ctB687IvBm9Ciej1wMcQ/dMRg+OB4Xl8BGLBoA==} + '@swc/core@1.9.2': + resolution: {integrity: sha512-dYyEkO6mRYtZFpnOsnYzv9rY69fHAHoawYOjGOEcxk9WYtaJhowMdP/w6NcOKnz2G7GlZaenjkzkMa6ZeQeMsg==} engines: {node: '>=10'} peerDependencies: '@swc/helpers': '*' @@ -1875,20 +1884,20 @@ packages: '@swc/counter@0.1.3': resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} - '@swc/helpers@0.5.13': - resolution: {integrity: sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w==} + '@swc/helpers@0.5.15': + resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} - '@swc/types@0.1.14': - resolution: {integrity: sha512-PbSmTiYCN+GMrvfjrMo9bdY+f2COnwbdnoMw7rqU/PI5jXpKjxOGZ0qqZCImxnT81NkNsKnmEpvu+hRXLBeCJg==} + '@swc/types@0.1.15': + resolution: {integrity: sha512-XKaZ+dzDIQ9Ot9o89oJQ/aluI17+VvUnIpYJTcZtvv1iYX6MzHh3Ik2CSR7MdPKpPwfZXHBeCingb2b4PoDVdw==} - '@tanstack/react-virtual@3.10.8': - resolution: {integrity: sha512-VbzbVGSsZlQktyLrP5nxE+vE1ZR+U0NFAWPbJLoG2+DKPwd2D7dVICTVIIaYlJqX1ZCEnYDbaOpmMwbsyhBoIA==} + '@tanstack/react-virtual@3.10.9': + resolution: {integrity: sha512-OXO2uBjFqA4Ibr2O3y0YMnkrRWGVNqcvHQXmGvMu6IK8chZl3PrDxFXdGZ2iZkSrKh3/qUYoFqYe+Rx23RoU0g==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - '@tanstack/virtual-core@3.10.8': - resolution: {integrity: sha512-PBu00mtt95jbKFi6Llk9aik8bnR3tR/oQP1o3TSi+iG//+Q2RTIzCEgKkHG8BB86kxMNW6O8wku+Lmi+QFR6jA==} + '@tanstack/virtual-core@3.10.9': + resolution: {integrity: sha512-kBknKOKzmeR7lN+vSadaKWXaLS0SZZG+oqpQ/k80Q6g9REn6zRHS/ZYdrIzHnpHgy/eWs00SujveUN/GJT2qTw==} '@testing-library/dom@10.4.0': resolution: {integrity: sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==} @@ -2023,8 +2032,8 @@ packages: '@types/ms@0.7.34': resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} - '@types/node@22.8.7': - resolution: {integrity: sha512-LidcG+2UeYIWcMuMUpBKOnryBWG/rnmOHQR5apjn8myTQcx3rinFRn7DcIFhMnS0PPFSC6OafdIKEad0lj6U0Q==} + '@types/node@22.9.0': + resolution: {integrity: sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -2127,8 +2136,8 @@ packages: resolution: {integrity: sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/scope-manager@8.13.0': - resolution: {integrity: sha512-XsGWww0odcUT0gJoBZ1DeulY1+jkaHUciUq4jKNv4cpInbvvrtDoyBH9rE/n2V29wQJPk8iCH1wipra9BhmiMA==} + '@typescript-eslint/scope-manager@8.14.0': + resolution: {integrity: sha512-aBbBrnW9ARIDn92Zbo7rguLnqQ/pOrUguVpbUwzOhkFg2npFDwTgPGqFqE0H5feXcOoJOfX3SxlJaKEVtq54dw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/type-utils@7.18.0': @@ -2149,8 +2158,8 @@ packages: resolution: {integrity: sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/types@8.13.0': - resolution: {integrity: sha512-4cyFErJetFLckcThRUFdReWJjVsPCqyBlJTi6IDEpc1GWCIIZRFxVppjWLIMcQhNGhdWJJRYFHpHoDWvMlDzng==} + '@typescript-eslint/types@8.14.0': + resolution: {integrity: sha512-yjeB9fnO/opvLJFAsPNYlKPnEM8+z4og09Pk504dkqonT02AyL5Z9SSqlE0XqezS93v6CXn49VHvB2G7XSsl0g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/typescript-estree@5.62.0': @@ -2171,8 +2180,8 @@ packages: typescript: optional: true - '@typescript-eslint/typescript-estree@8.13.0': - resolution: {integrity: sha512-v7SCIGmVsRK2Cy/LTLGN22uea6SaUIlpBcO/gnMGT/7zPtxp90bphcGf4fyrCQl3ZtiBKqVTG32hb668oIYy1g==} + '@typescript-eslint/typescript-estree@8.14.0': + resolution: {integrity: sha512-OPXPLYKGZi9XS/49rdaCbR5j/S14HazviBlUQFvSKz3npr3NikF+mrgK7CFVur6XEt95DZp/cmke9d5i3vtVnQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -2192,8 +2201,8 @@ packages: peerDependencies: eslint: ^8.56.0 - '@typescript-eslint/utils@8.13.0': - resolution: {integrity: sha512-A1EeYOND6Uv250nybnLZapeXpYMl8tkzYUxqmoKAWnI4sei3ihf2XdZVd+vVOmHGcp3t+P7yRrNsyyiXTvShFQ==} + '@typescript-eslint/utils@8.14.0': + resolution: {integrity: sha512-OGqj6uB8THhrHj0Fk27DcHPojW7zKwKkPmHXHvQ58pLYp4hy8CSUdTKykKeh+5vFqTTVmjz0zCOOPKRovdsgHA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -2206,8 +2215,8 @@ packages: resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/visitor-keys@8.13.0': - resolution: {integrity: sha512-7N/+lztJqH4Mrf0lb10R/CbI1EaAMMGyF5y0oJvFoAhafwgiRA7TXyd8TFn8FC8k5y2dTsYogg238qavRGNnlw==} + '@typescript-eslint/visitor-keys@8.14.0': + resolution: {integrity: sha512-vG0XZo8AdTH9OE6VFRwAZldNc7qtJ/6NLGWak+BtENuEUXGZgFpihILPiBvKXvJ2nFu27XNGC6rKiwuaoMbYzQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@ungap/structured-clone@1.2.0': @@ -2315,11 +2324,11 @@ packages: peerDependencies: vite: ^4.2.0 || ^5.0.0 - '@vitest/coverage-v8@2.1.4': - resolution: {integrity: sha512-FPKQuJfR6VTfcNMcGpqInmtJuVXFSCd9HQltYncfR01AzXhLucMEtQ5SinPdZxsT5x/5BK7I5qFJ5/ApGCmyTQ==} + '@vitest/coverage-v8@2.1.5': + resolution: {integrity: sha512-/RoopB7XGW7UEkUndRXF87A9CwkoZAJW01pj8/3pgmDVsjMH2IKy6H1A38po9tmUlwhSyYs0az82rbKd9Yaynw==} peerDependencies: - '@vitest/browser': 2.1.4 - vitest: 2.1.4 + '@vitest/browser': 2.1.5 + vitest: 2.1.5 peerDependenciesMeta: '@vitest/browser': optional: true @@ -2327,11 +2336,11 @@ packages: '@vitest/expect@2.0.5': resolution: {integrity: sha512-yHZtwuP7JZivj65Gxoi8upUN2OzHTi3zVfjwdpu2WrvCZPLwsJ2Ey5ILIPccoW23dd/zQBlJ4/dhi7DWNyXCpA==} - '@vitest/expect@2.1.4': - resolution: {integrity: sha512-DOETT0Oh1avie/D/o2sgMHGrzYUFFo3zqESB2Hn70z6QB1HrS2IQ9z5DfyTqU8sg4Bpu13zZe9V4+UTNQlUeQA==} + '@vitest/expect@2.1.5': + resolution: {integrity: sha512-nZSBTW1XIdpZvEJyoP/Sy8fUg0b8od7ZpGDkTUcfJ7wz/VoZAFzFfLyxVxGFhUjJzhYqSbIpfMtl/+k/dpWa3Q==} - '@vitest/mocker@2.1.4': - resolution: {integrity: sha512-Ky/O1Lc0QBbutJdW0rqLeFNbuLEyS+mIPiNdlVlp2/yhJ0SbyYqObS5IHdhferJud8MbbwMnexg4jordE5cCoQ==} + '@vitest/mocker@2.1.5': + resolution: {integrity: sha512-XYW6l3UuBmitWqSUXTNXcVBUCRytDogBsWuNXQijc00dtnU/9OqpXWp4OJroVrad/gLIomAq9aW8yWDBtMthhQ==} peerDependencies: msw: ^2.4.9 vite: ^5.0.0 @@ -2344,105 +2353,105 @@ packages: '@vitest/pretty-format@2.0.5': resolution: {integrity: sha512-h8k+1oWHfwTkyTkb9egzwNMfJAEx4veaPSnMeKbVSjp4euqGSbQlm5+6VHwTr7u4FJslVVsUG5nopCaAYdOmSQ==} - '@vitest/pretty-format@2.1.4': - resolution: {integrity: sha512-L95zIAkEuTDbUX1IsjRl+vyBSLh3PwLLgKpghl37aCK9Jvw0iP+wKwIFhfjdUtA2myLgjrG6VU6JCFLv8q/3Ww==} + '@vitest/pretty-format@2.1.5': + resolution: {integrity: sha512-4ZOwtk2bqG5Y6xRGHcveZVr+6txkH7M2e+nPFd6guSoN638v/1XQ0K06eOpi0ptVU/2tW/pIU4IoPotY/GZ9fw==} - '@vitest/runner@2.1.4': - resolution: {integrity: sha512-sKRautINI9XICAMl2bjxQM8VfCMTB0EbsBc/EDFA57V6UQevEKY/TOPOF5nzcvCALltiLfXWbq4MaAwWx/YxIA==} + '@vitest/runner@2.1.5': + resolution: {integrity: sha512-pKHKy3uaUdh7X6p1pxOkgkVAFW7r2I818vHDthYLvUyjRfkKOU6P45PztOch4DZarWQne+VOaIMwA/erSSpB9g==} - '@vitest/snapshot@2.1.4': - resolution: {integrity: sha512-3Kab14fn/5QZRog5BPj6Rs8dc4B+mim27XaKWFWHWA87R56AKjHTGcBFKpvZKDzC4u5Wd0w/qKsUIio3KzWW4Q==} + '@vitest/snapshot@2.1.5': + resolution: {integrity: sha512-zmYw47mhfdfnYbuhkQvkkzYroXUumrwWDGlMjpdUr4jBd3HZiV2w7CQHj+z7AAS4VOtWxI4Zt4bWt4/sKcoIjg==} '@vitest/spy@2.0.5': resolution: {integrity: sha512-c/jdthAhvJdpfVuaexSrnawxZz6pywlTPe84LUB2m/4t3rl2fTo9NFGBG4oWgaD+FTgDDV8hJ/nibT7IfH3JfA==} - '@vitest/spy@2.1.4': - resolution: {integrity: sha512-4JOxa+UAizJgpZfaCPKK2smq9d8mmjZVPMt2kOsg/R8QkoRzydHH1qHxIYNvr1zlEaFj4SXiaaJWxq/LPLKaLg==} + '@vitest/spy@2.1.5': + resolution: {integrity: sha512-aWZF3P0r3w6DiYTVskOYuhBc7EMc3jvn1TkBg8ttylFFRqNN2XGD7V5a4aQdk6QiUzZQ4klNBSpCLJgWNdIiNw==} - '@vitest/ui@2.1.4': - resolution: {integrity: sha512-Zd9e5oU063c+j9N9XzGJagCLNvG71x/2tOme3Js4JEZKX55zsgxhJwUgLI8hkN6NjMLpdJO8d7nVUUuPGAA58Q==} + '@vitest/ui@2.1.5': + resolution: {integrity: sha512-ERgKkDMTfngrZip6VG5h8L9B5D0AH/4+bga4yR1UzGH7c2cxv3LWogw2Dvuwr9cP3/iKDHYys7kIFLDKpxORTg==} peerDependencies: - vitest: 2.1.4 + vitest: 2.1.5 '@vitest/utils@2.0.5': resolution: {integrity: sha512-d8HKbqIcya+GR67mkZbrzhS5kKhtp8dQLcmRZLGTscGVg7yImT82cIrhtn2L8+VujWcy6KZweApgNmPsTAO/UQ==} - '@vitest/utils@2.1.4': - resolution: {integrity: sha512-MXDnZn0Awl2S86PSNIim5PWXgIAx8CIkzu35mBdSApUip6RFOGXBCf3YFyeEu8n1IHk4bWD46DeYFu9mQlFIRg==} + '@vitest/utils@2.1.5': + resolution: {integrity: sha512-yfj6Yrp0Vesw2cwJbP+cl04OC+IHFsuQsrsJBL9pyGeQXE56v1UAOQco+SR55Vf1nQzfV0QJg1Qum7AaWUwwYg==} - '@vue/compiler-core@3.5.12': - resolution: {integrity: sha512-ISyBTRMmMYagUxhcpyEH0hpXRd/KqDU4ymofPgl2XAkY9ZhQ+h0ovEZJIiPop13UmR/54oA2cgMDjgroRelaEw==} + '@vue/compiler-core@3.5.13': + resolution: {integrity: sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==} - '@vue/compiler-dom@3.5.12': - resolution: {integrity: sha512-9G6PbJ03uwxLHKQ3P42cMTi85lDRvGLB2rSGOiQqtXELat6uI4n8cNz9yjfVHRPIu+MsK6TE418Giruvgptckg==} + '@vue/compiler-dom@3.5.13': + resolution: {integrity: sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==} - '@vue/compiler-sfc@3.5.12': - resolution: {integrity: sha512-2k973OGo2JuAa5+ZlekuQJtitI5CgLMOwgl94BzMCsKZCX/xiqzJYzapl4opFogKHqwJk34vfsaKpfEhd1k5nw==} + '@vue/compiler-sfc@3.5.13': + resolution: {integrity: sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==} - '@vue/compiler-ssr@3.5.12': - resolution: {integrity: sha512-eLwc7v6bfGBSM7wZOGPmRavSWzNFF6+PdRhE+VFJhNCgHiF8AM7ccoqcv5kBXA2eWUfigD7byekvf/JsOfKvPA==} + '@vue/compiler-ssr@3.5.13': + resolution: {integrity: sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==} - '@vue/reactivity@3.5.12': - resolution: {integrity: sha512-UzaN3Da7xnJXdz4Okb/BGbAaomRHc3RdoWqTzlvd9+WBR5m3J39J1fGcHes7U3za0ruYn/iYy/a1euhMEHvTAg==} + '@vue/reactivity@3.5.13': + resolution: {integrity: sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==} - '@vue/runtime-core@3.5.12': - resolution: {integrity: sha512-hrMUYV6tpocr3TL3Ad8DqxOdpDe4zuQY4HPY3X/VRh+L2myQO8MFXPAMarIOSGNu0bFAjh1yBkMPXZBqCk62Uw==} + '@vue/runtime-core@3.5.13': + resolution: {integrity: sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==} - '@vue/runtime-dom@3.5.12': - resolution: {integrity: sha512-q8VFxR9A2MRfBr6/55Q3umyoN7ya836FzRXajPB6/Vvuv0zOPL+qltd9rIMzG/DbRLAIlREmnLsplEF/kotXKA==} + '@vue/runtime-dom@3.5.13': + resolution: {integrity: sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==} - '@vue/server-renderer@3.5.12': - resolution: {integrity: sha512-I3QoeDDeEPZm8yR28JtY+rk880Oqmj43hreIBVTicisFTx/Dl7JpG72g/X7YF8hnQD3IFhkky5i2bPonwrTVPg==} + '@vue/server-renderer@3.5.13': + resolution: {integrity: sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==} peerDependencies: - vue: 3.5.12 + vue: 3.5.13 - '@vue/shared@3.5.12': - resolution: {integrity: sha512-L2RPSAwUFbgZH20etwrXyVyCBu9OxRSi8T/38QsvnkJyvq2LufW2lDCOzm7t/U9C1mkhJGWYfCuFBCmIuNivrg==} + '@vue/shared@3.5.13': + resolution: {integrity: sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==} - '@webassemblyjs/ast@1.12.1': - resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==} + '@webassemblyjs/ast@1.14.1': + resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==} - '@webassemblyjs/floating-point-hex-parser@1.11.6': - resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==} + '@webassemblyjs/floating-point-hex-parser@1.13.2': + resolution: {integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==} - '@webassemblyjs/helper-api-error@1.11.6': - resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==} + '@webassemblyjs/helper-api-error@1.13.2': + resolution: {integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==} - '@webassemblyjs/helper-buffer@1.12.1': - resolution: {integrity: sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==} + '@webassemblyjs/helper-buffer@1.14.1': + resolution: {integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==} - '@webassemblyjs/helper-numbers@1.11.6': - resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==} + '@webassemblyjs/helper-numbers@1.13.2': + resolution: {integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==} - '@webassemblyjs/helper-wasm-bytecode@1.11.6': - resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==} + '@webassemblyjs/helper-wasm-bytecode@1.13.2': + resolution: {integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==} - '@webassemblyjs/helper-wasm-section@1.12.1': - resolution: {integrity: sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==} + '@webassemblyjs/helper-wasm-section@1.14.1': + resolution: {integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==} - '@webassemblyjs/ieee754@1.11.6': - resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==} + '@webassemblyjs/ieee754@1.13.2': + resolution: {integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==} - '@webassemblyjs/leb128@1.11.6': - resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==} + '@webassemblyjs/leb128@1.13.2': + resolution: {integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==} - '@webassemblyjs/utf8@1.11.6': - resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==} + '@webassemblyjs/utf8@1.13.2': + resolution: {integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==} - '@webassemblyjs/wasm-edit@1.12.1': - resolution: {integrity: sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==} + '@webassemblyjs/wasm-edit@1.14.1': + resolution: {integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==} - '@webassemblyjs/wasm-gen@1.12.1': - resolution: {integrity: sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==} + '@webassemblyjs/wasm-gen@1.14.1': + resolution: {integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==} - '@webassemblyjs/wasm-opt@1.12.1': - resolution: {integrity: sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==} + '@webassemblyjs/wasm-opt@1.14.1': + resolution: {integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==} - '@webassemblyjs/wasm-parser@1.12.1': - resolution: {integrity: sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==} + '@webassemblyjs/wasm-parser@1.14.1': + resolution: {integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==} - '@webassemblyjs/wast-printer@1.12.1': - resolution: {integrity: sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==} + '@webassemblyjs/wast-printer@1.14.1': + resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==} '@webcomponents/custom-elements@1.6.0': resolution: {integrity: sha512-CqTpxOlUCPWRNUPZDxT5v2NnHXA4oox612iUGnmTUGQFhZ1Gkj8kirtl/2wcF6MqX7+PqqicZzOCBKKfIn0dww==} @@ -2504,6 +2513,9 @@ packages: ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + ajv@8.12.0: + resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} + ajv@8.17.1: resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} @@ -2752,8 +2764,8 @@ packages: caniuse-api@3.0.0: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} - caniuse-lite@1.0.30001677: - resolution: {integrity: sha512-fmfjsOlJUpMWu+mAAtZZZHz7UEwsUxIIvu1TJfO1HqFQvB/B+ii0xr9B5HpbZY/mC4XZ8SvjHJqtAY6pDPQEog==} + caniuse-lite@1.0.30001680: + resolution: {integrity: sha512-rPQy70G6AGUMnbwS1z6Xg+RkHYPAi18ihs47GH0jcxIG7wArmPgY3XbS2sRdBbxJljp3thdT8BIqv9ccCypiPA==} ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -2822,8 +2834,8 @@ packages: resolution: {integrity: sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==} engines: {node: '>= 14.16.0'} - chromatic@11.16.5: - resolution: {integrity: sha512-wUEKXyu3GYmUg6Jq13uyRE9iC8ph5gbfDHdyHH0vQathkGQrcjHHdoxI/GXKIjU6d+xupLon8sxRV9NuZKTWbA==} + chromatic@11.18.1: + resolution: {integrity: sha512-hkNT9vA6K9+PnE/khhZYBnRCOm8NonaQDs7RZ8YHFo7/lh1b/x/uFMkTjWjaj/mkM6QOR/evu5VcZMtcaauSlw==} hasBin: true peerDependencies: '@chromatic-com/cypress': ^0.*.* || ^1.0.0 @@ -3070,8 +3082,8 @@ packages: typescript: optional: true - cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + cross-spawn@7.0.5: + resolution: {integrity: sha512-ZVJrKKYunU38/76t0RMOulHOnUcbU9GbpWKAOZ0mhjr7CX6FVrH+4FrAapSOekrgFQ3f/8gwMEuIft0aKq6Hug==} engines: {node: '>= 8'} crypto-random-string@4.0.0: @@ -3317,8 +3329,8 @@ packages: resolution: {integrity: sha512-ktkaa6XR7COAR3oj02CF3IOgz2m1hCaY3SfzvKT4Svt2MhHw9XCt+ncJNWfe2TGz31iqzNGZ8spdKQflj+Rlog==} engines: {node: '>=14.16'} - electron-to-chromium@1.5.51: - resolution: {integrity: sha512-kKeWV57KSS8jH4alKt/jKnvHPmJgBxXzGUSbMd4eQF+iOsVPl7bz2KUmu6eo80eMP8wVioTfTyTzdMgM15WXNg==} + electron-to-chromium@1.5.62: + resolution: {integrity: sha512-t8c+zLmJHa9dJy96yBZRXGQYoiCEnHYgFwn1asvSPZSUdVxnB62A4RASd7k41ytG3ErFBA0TpHlKg9D9SQBmLg==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -3361,8 +3373,8 @@ packages: error-stack-parser-es@0.1.5: resolution: {integrity: sha512-xHku1X40RO+fO8yJ8Wh2f2rZWVjqyhb1zgq1yZ8aZRQkv6OOKhKWRUaht3eSCUbAOBaKIgM+ykwFLE+QUxgGeg==} - es-abstract@1.23.3: - resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} + es-abstract@1.23.5: + resolution: {integrity: sha512-vlmniQ0WNPwXqA0BnmwV3Ng7HxiGlh6r5U6JcTMNx8OilcAGqVJBHJcPjqOMaczU9fRuRK5Px2BdVyPRnKMMVQ==} engines: {node: '>= 0.4'} es-define-property@1.0.0: @@ -3513,8 +3525,8 @@ packages: '@typescript-eslint/parser': optional: true - eslint-plugin-jsdoc@50.4.3: - resolution: {integrity: sha512-uWtwFxGRv6B8sU63HZM5dAGDhgsatb+LONwmILZJhdRALLOkCX2HFZhdL/Kw2ls8SQMAVEfK+LmnEfxInRN8HA==} + eslint-plugin-jsdoc@50.5.0: + resolution: {integrity: sha512-xTkshfZrUbiSHXBwZ/9d5ulZ2OcHXxSvm/NPo494H/hadLRJwOq5PMV0EUpMqsb9V+kQo+9BAgi6Z7aJtdBp2A==} engines: {node: '>=18'} peerDependencies: eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 @@ -3570,6 +3582,9 @@ packages: peerDependencies: eslint: '>=6' + eslint-plugin-tsdoc@0.3.0: + resolution: {integrity: sha512-0MuFdBrrJVBjT/gyhkP2BqpD0np1NxNLfQ38xXDlSs/KVVpKI2A6vN7jx2Rve/CyUsvOsMGwp9KKrinv7q9g3A==} + eslint-scope@5.1.1: resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} engines: {node: '>=8.0.0'} @@ -4171,8 +4186,8 @@ packages: immer@9.0.21: resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==} - immutable@4.3.7: - resolution: {integrity: sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==} + immutable@5.0.2: + resolution: {integrity: sha512-1NU7hWZDkV7hJ4PJ9dur9gTNQ4ePNPN4k9/0YhwjzykTi/+3Q5pF93YU5QoVj8BuOnhLgaY8gs0U2pj4kSYVcw==} import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} @@ -4526,6 +4541,9 @@ packages: resolution: {integrity: sha512-pmfRbVRs/7khFrSAYnSiJ8C0D5GvzkE4Ey2pAvUcJsw1ly/p+7ut27jbJrjY79BpAJQJ4gXYFtK6d1Aub+9baQ==} hasBin: true + jju@1.4.0: + resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} + js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -4868,8 +4886,8 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - micromark-core-commonmark@2.0.1: - resolution: {integrity: sha512-CUQyKr1e///ZODyD1U3xit6zXwy1a8q2a1S1HKtIlmgvurrEpaw/Y9y6KSIbF8P59cn/NjzHyO+Q2fAyYLQrAA==} + micromark-core-commonmark@2.0.2: + resolution: {integrity: sha512-FKjQKbxd1cibWMM1P9N+H8TwlgGgSkWZMmfuVucLCHaYqeSvJ0hFeHsIa65pA2nYbes0f8LDHPMrd9X7Ujxg9w==} micromark-extension-gfm-autolink-literal@2.1.0: resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==} @@ -4892,65 +4910,65 @@ packages: micromark-extension-gfm@3.0.0: resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} - micromark-factory-destination@2.0.0: - resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==} + micromark-factory-destination@2.0.1: + resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==} - micromark-factory-label@2.0.0: - resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==} + micromark-factory-label@2.0.1: + resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==} - micromark-factory-space@2.0.0: - resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==} + micromark-factory-space@2.0.1: + resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==} - micromark-factory-title@2.0.0: - resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==} + micromark-factory-title@2.0.1: + resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==} - micromark-factory-whitespace@2.0.0: - resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==} + micromark-factory-whitespace@2.0.1: + resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==} - micromark-util-character@2.1.0: - resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==} + micromark-util-character@2.1.1: + resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} - micromark-util-chunked@2.0.0: - resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==} + micromark-util-chunked@2.0.1: + resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==} - micromark-util-classify-character@2.0.0: - resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==} + micromark-util-classify-character@2.0.1: + resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==} - micromark-util-combine-extensions@2.0.0: - resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==} + micromark-util-combine-extensions@2.0.1: + resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==} - micromark-util-decode-numeric-character-reference@2.0.1: - resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==} + micromark-util-decode-numeric-character-reference@2.0.2: + resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==} - micromark-util-decode-string@2.0.0: - resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==} + micromark-util-decode-string@2.0.1: + resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==} - micromark-util-encode@2.0.0: - resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==} + micromark-util-encode@2.0.1: + resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} - micromark-util-html-tag-name@2.0.0: - resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==} + micromark-util-html-tag-name@2.0.1: + resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==} - micromark-util-normalize-identifier@2.0.0: - resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==} + micromark-util-normalize-identifier@2.0.1: + resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==} - micromark-util-resolve-all@2.0.0: - resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==} + micromark-util-resolve-all@2.0.1: + resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==} - micromark-util-sanitize-uri@2.0.0: - resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==} + micromark-util-sanitize-uri@2.0.1: + resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} - micromark-util-subtokenize@2.0.1: - resolution: {integrity: sha512-jZNtiFl/1aY73yS3UGQkutD0UbhTt68qnRpw2Pifmz5wV9h8gOVsN70v+Lq/f1rKaU/W8pxRe8y8Q9FX1AOe1Q==} + micromark-util-subtokenize@2.0.2: + resolution: {integrity: sha512-xKxhkB62vwHUuuxHe9Xqty3UaAsizV2YKq5OV344u3hFBbf8zIYrhYOWhAQb94MtMPkjTOzzjJ/hid9/dR5vFA==} - micromark-util-symbol@2.0.0: - resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==} + micromark-util-symbol@2.0.1: + resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} - micromark-util-types@2.0.0: - resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==} + micromark-util-types@2.0.1: + resolution: {integrity: sha512-534m2WhVTddrcKVepwmVEVnUAmtrx9bfIjNoQHRqfnvdaHQiFytEhJoTgpWJvDEXCO5gLTQh3wYC1PgOJA4NSQ==} - micromark@4.0.0: - resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==} + micromark@4.0.1: + resolution: {integrity: sha512-eBPdkcoCNvYcxQOAKAlceo5SNdzZWfF+FcSupREAzdAh9rRmE239CEQAiTwIgblwnoM8zzj35sZ5ZwvSEOF6Kw==} micromatch@4.0.8: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} @@ -4995,8 +5013,8 @@ packages: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} - mlly@1.7.2: - resolution: {integrity: sha512-tN3dvVHYVz4DhSXinXIk7u9syPYaJvio118uomkovAtWBT+RdbP6Lfh/5Lvo519YMmwBafwlh20IPTXIStscpA==} + mlly@1.7.3: + resolution: {integrity: sha512-xUsx5n/mN0uQf4V548PKQ+YShA4/IW0KI1dZhrNrPCLG+xizETbHTkOa1f8/xut9JRPp8kQuMnz0oqwkTiLo/A==} mrmime@2.0.0: resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} @@ -5163,8 +5181,8 @@ packages: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} - object-inspect@1.13.2: - resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} + object-inspect@1.13.3: + resolution: {integrity: sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==} engines: {node: '>= 0.4'} object-keys@1.1.1: @@ -5638,8 +5656,8 @@ packages: peerDependencies: postcss: ^8.4.31 - postcss@8.4.47: - resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==} + postcss@8.4.49: + resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==} engines: {node: ^10 || ^12 || >=14} prelude-ls@1.2.1: @@ -5663,8 +5681,8 @@ packages: resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - pretty-ms@9.1.0: - resolution: {integrity: sha512-o1piW0n3tgKIKCwk2vpM/vOV13zjJzvP37Ioze54YlTHE06m4tjEbzg9WsKkvTuyYln2DHjo5pY4qrZGI0otpw==} + pretty-ms@9.2.0: + resolution: {integrity: sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg==} engines: {node: '>=18'} prismjs@1.27.0: @@ -5948,8 +5966,8 @@ packages: engines: {node: '>=10.0.0'} hasBin: true - rollup@4.24.4: - resolution: {integrity: sha512-vGorVWIsWfX3xbcyAS+I047kFKapHYivmkaT63Smj77XwvLSJos6M1xGqZnBPFQFBRZDOcG1QnYEIxAvTr/HjA==} + rollup@4.27.2: + resolution: {integrity: sha512-KreA+PzWmk2yaFmZVwe6GB2uBD86nXl86OsDkt1bJS9p3vqWuEQ6HnJJ+j/mZi/q0920P99/MVRlB4L3crpF5w==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -5980,8 +5998,8 @@ packages: safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - sass@1.80.6: - resolution: {integrity: sha512-ccZgdHNiBF1NHBsWvacvT5rju3y1d/Eu+8Ex6c21nHp2lZGLBEtuwc415QfiI1PJa1TpCo3iXwwSRjRpn2Ckjg==} + sass@1.81.0: + resolution: {integrity: sha512-Q4fOxRfhmv3sqCLoGfvrC9pRV8btc0UtqL9mN6Yrv6Qi9ScL55CVH1vlPP863ISLEEMNLLuu9P+enCeGHlnzhA==} engines: {node: '>=14.0.0'} hasBin: true @@ -6150,11 +6168,11 @@ packages: stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} - std-env@3.7.0: - resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} + std-env@3.8.0: + resolution: {integrity: sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==} - storybook@8.4.1: - resolution: {integrity: sha512-0tfFIFghjho9FtnFoiJMoxhcs2iIdvEF81GTSVnTsDVJrYA84nB+FxN3UY1fT0BcQ8BFlbf+OhSjZL7ufqqWKA==} + storybook@8.4.4: + resolution: {integrity: sha512-xBOq3q/MuUUg3zM0imMMaK5ziKq3TO388jsnaiemJ4Uf0ZGwcHjM8HDBCDt0s5/CfsOQ49zo1ouZ3aNlu0qsUg==} hasBin: true peerDependencies: prettier: ^2 || ^3 @@ -6175,8 +6193,8 @@ packages: stream-exhaust@1.0.2: resolution: {integrity: sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==} - streamx@2.20.1: - resolution: {integrity: sha512-uTa0mU6WUC65iUvzKH4X9hEdvSW7rbPxPtwfWiLMSj3qTdQbAiUboZTxauKfpFuGIGa1C2BYijZ7wgdUXICJhA==} + streamx@2.20.2: + resolution: {integrity: sha512-aDGDLU+j9tJcUdPGOaHmVF1u/hhI+CsGkT02V3OKlHDV7IukOI+nTWAGkiZEKCO35rWN1wIr4tS7YFr1f4qSvA==} string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} @@ -6391,8 +6409,8 @@ packages: resolution: {integrity: sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==} engines: {node: '>=12.0.0'} - tinypool@1.0.1: - resolution: {integrity: sha512-URZYihUbRPcGv95En+sz6MfghfIc2OJ1sv/RmhWZLouPY0/8Vo80viwPvg3dlaS9fuq7fQMEfgRRK7BBZThBEA==} + tinypool@1.0.2: + resolution: {integrity: sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==} engines: {node: ^18.0.0 || >=20.0.0} tinyrainbow@1.2.0: @@ -6478,8 +6496,8 @@ packages: resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} engines: {node: '>=12.20'} - type-fest@4.26.1: - resolution: {integrity: sha512-yOGpmOAL7CkKe/91I5O3gPICmJNLJ1G4zFYVAsRHg7M64biSnPtRj0WNQt++bRkjYOqjWXrhnUw1utzmVErAdg==} + type-fest@4.27.0: + resolution: {integrity: sha512-3IMSWgP7C5KSQqmo1wjhKrwsvXAtF33jO3QY+Uy++ia7hqvgSK6iXbbg5PbDBc1P2ZbNEDgejOrN4YooXvhwCw==} engines: {node: '>=16'} typed-array-buffer@1.0.2: @@ -6535,8 +6553,8 @@ packages: undici-types@6.19.8: resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} - undici@6.20.1: - resolution: {integrity: sha512-AjQF1QsmqfJys+LXfGTNum+qw4S88CojRInG/6t31W/1fk6G59s92bnAvGz5Cmur+kQv2SURXEvvudLmbrE8QA==} + undici@6.21.0: + resolution: {integrity: sha512-BUgJXc752Kou3oOIuU1i+yZZypyZRqNPW0vqoMPl8VaoalSfeR0D8/t4iAS3yirs79SSMTxTag+ZC86uswv+Cw==} engines: {node: '>=18.17'} unicode-emoji-modifier-base@1.0.0: @@ -6615,14 +6633,9 @@ packages: vue-template-es2015-compiler: optional: true - unplugin@1.15.0: - resolution: {integrity: sha512-jTPIs63W+DUEDW207ztbaoO7cQ4p5aVaB823LSlxpsFEU3Mykwxf3ZGC/wzxFJeZlASZYgVrWeo7LgOrqJZ8RA==} + unplugin@1.16.0: + resolution: {integrity: sha512-5liCNPuJW8dqh3+DM6uNM2EI3MLLpCKp/KY+9pB5M2S2SR2qvvDHhKgBOaTWEbZTAws3CXfB0rKTIolWKL05VQ==} engines: {node: '>=14.0.0'} - peerDependencies: - webpack-sources: ^3 - peerDependenciesMeta: - webpack-sources: - optional: true update-browserslist-db@1.1.1: resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==} @@ -6693,8 +6706,8 @@ packages: resolution: {integrity: sha512-rC2VRfAVVCGEgjnxHUnpIVh3AGuk62rP3tqVrn+yab0YH7UULisC085+NYH+mnqf3Wx4SpSi1RQMwudL89N03g==} engines: {node: '>=10.13.0'} - vite-node@2.1.4: - resolution: {integrity: sha512-kqa9v+oi4HwkG6g8ufRnb5AeplcRw8jUF6/7/Qz1qRQOXHImG8YnLbB+LLszENwFnoBl9xIf9nVdCFzNd7GQEg==} + vite-node@2.1.5: + resolution: {integrity: sha512-rd0QIgx74q4S1Rd56XIiL2cYEdyWn13cunYBIuqh9mpmQr7gGS0IxXoP8R6OaZtNQQLyXSWbd4rXKYUbhFpK5w==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -6708,8 +6721,8 @@ packages: '@nuxt/kit': optional: true - vite@5.4.10: - resolution: {integrity: sha512-1hvaPshuPUtxeQ0hsVH3Mud0ZanOLwVTneA1EgbAM5LhaZEqyPWGRQ7BtaMvUrTDeEaC8pxtj6a6jku3x4z6SQ==} + vite@5.4.11: + resolution: {integrity: sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -6739,15 +6752,15 @@ packages: terser: optional: true - vitest@2.1.4: - resolution: {integrity: sha512-eDjxbVAJw1UJJCHr5xr/xM86Zx+YxIEXGAR+bmnEID7z9qWfoxpHw0zdobz+TQAFOLT+nEXz3+gx6nUJ7RgmlQ==} + vitest@2.1.5: + resolution: {integrity: sha512-P4ljsdpuzRTPI/kbND2sDZ4VmieerR2c9szEZpjc+98Z9ebvnXmM5+0tHEKqYZumXqlvnmfWsjeFOjXVriDG7A==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 2.1.4 - '@vitest/ui': 2.1.4 + '@vitest/browser': 2.1.5 + '@vitest/ui': 2.1.5 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -6767,8 +6780,8 @@ packages: vue-flow-layout@0.0.5: resolution: {integrity: sha512-lZlqQ/Se1trGMtBMneZDWaiQiQBuxU8ivZ+KpJMem5zKROFpzuPq9KqyWABbSYbxq0qhqZs1I4DBwrY041rtOA==} - vue@3.5.12: - resolution: {integrity: sha512-CLVZtXtn2ItBIi/zHZ0Sg1Xkb7+PU32bJJ8Bmy7ts3jxXTcbfsEfBivFYYWz1Hur+lalqGAh65Coin0r+HRUfg==} + vue@3.5.13: + resolution: {integrity: sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -6914,7 +6927,7 @@ packages: snapshots: - '@adobe/css-tools@4.4.0': {} + '@adobe/css-tools@4.4.1': {} '@ampproject/remapping@2.3.0': dependencies: @@ -7046,7 +7059,7 @@ snapshots: '@chromatic-com/storybook@2.0.2(react@18.3.1)': dependencies: - chromatic: 11.16.5 + chromatic: 11.18.1 filesize: 10.1.6 jsonfile: 6.1.0 react-confetti: 6.1.0(react@18.3.1) @@ -7059,11 +7072,11 @@ snapshots: '@colors/colors@1.5.0': optional: true - '@commitlint/cli@19.5.0(@types/node@22.8.7)(typescript@5.6.3)': + '@commitlint/cli@19.5.0(@types/node@22.9.0)(typescript@5.6.3)': dependencies: '@commitlint/format': 19.5.0 '@commitlint/lint': 19.5.0 - '@commitlint/load': 19.5.0(@types/node@22.8.7)(typescript@5.6.3) + '@commitlint/load': 19.5.0(@types/node@22.9.0)(typescript@5.6.3) '@commitlint/read': 19.5.0 '@commitlint/types': 19.5.0 tinyexec: 0.3.1 @@ -7110,7 +7123,7 @@ snapshots: '@commitlint/rules': 19.5.0 '@commitlint/types': 19.5.0 - '@commitlint/load@19.5.0(@types/node@22.8.7)(typescript@5.6.3)': + '@commitlint/load@19.5.0(@types/node@22.9.0)(typescript@5.6.3)': dependencies: '@commitlint/config-validator': 19.5.0 '@commitlint/execute-rule': 19.5.0 @@ -7118,7 +7131,7 @@ snapshots: '@commitlint/types': 19.5.0 chalk: 5.3.0 cosmiconfig: 9.0.0(typescript@5.6.3) - cosmiconfig-typescript-loader: 5.1.0(@types/node@22.8.7)(cosmiconfig@9.0.0(typescript@5.6.3))(typescript@5.6.3) + cosmiconfig-typescript-loader: 5.1.0(@types/node@22.9.0)(cosmiconfig@9.0.0(typescript@5.6.3))(typescript@5.6.3) lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 @@ -7465,7 +7478,7 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@floating-ui/react@0.26.27(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@floating-ui/react@0.26.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@floating-ui/react-dom': 2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@floating-ui/utils': 0.2.8 @@ -7483,10 +7496,10 @@ snapshots: '@headlessui/react@2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@floating-ui/react': 0.26.27(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@floating-ui/react': 0.26.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/focus': 3.18.4(react@18.3.1) '@react-aria/interactions': 3.22.4(react@18.3.1) - '@tanstack/react-virtual': 3.10.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tanstack/react-virtual': 3.10.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -7522,7 +7535,7 @@ snapshots: dependencies: '@iconify/types': 2.0.0 - '@iconify-json/iconoir@1.2.3': + '@iconify-json/iconoir@1.2.4': dependencies: '@iconify/types': 2.0.0 @@ -7544,7 +7557,7 @@ snapshots: debug: 4.3.7 kolorist: 1.8.0 local-pkg: 0.5.0 - mlly: 1.7.2 + mlly: 1.7.3 transitivePeerDependencies: - supports-color @@ -7568,17 +7581,17 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 22.8.7 + '@types/node': 22.9.0 '@types/yargs': 17.0.33 chalk: 4.1.2 - '@joshwooding/vite-plugin-react-docgen-typescript@0.3.0(typescript@5.6.3)(vite@5.4.10(@types/node@22.8.7)(sass@1.80.6)(terser@5.36.0))': + '@joshwooding/vite-plugin-react-docgen-typescript@0.3.0(typescript@5.6.3)(vite@5.4.11(@types/node@22.9.0)(sass@1.81.0)(terser@5.36.0))': dependencies: glob: 7.2.3 glob-promise: 4.2.2(glob@7.2.3) magic-string: 0.27.0 react-docgen-typescript: 2.2.2(typescript@5.6.3) - vite: 5.4.10(@types/node@22.8.7)(sass@1.80.6)(terser@5.36.0) + vite: 5.4.11(@types/node@22.9.0)(sass@1.81.0)(terser@5.36.0) optionalDependencies: typescript: 5.6.3 @@ -7626,6 +7639,15 @@ snapshots: '@types/react': 18.3.12 react: 18.3.1 + '@microsoft/tsdoc-config@0.17.0': + dependencies: + '@microsoft/tsdoc': 0.15.0 + ajv: 8.12.0 + jju: 1.4.0 + resolve: 1.22.8 + + '@microsoft/tsdoc@0.15.0': {} + '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 @@ -7799,7 +7821,7 @@ snapshots: '@react-aria/interactions': 3.22.4(react@18.3.1) '@react-aria/utils': 3.25.3(react@18.3.1) '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 + '@swc/helpers': 0.5.15 clsx: 2.1.1 react: 18.3.1 @@ -7808,12 +7830,12 @@ snapshots: '@react-aria/ssr': 3.9.6(react@18.3.1) '@react-aria/utils': 3.25.3(react@18.3.1) '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 + '@swc/helpers': 0.5.15 react: 18.3.1 '@react-aria/ssr@3.9.6(react@18.3.1)': dependencies: - '@swc/helpers': 0.5.13 + '@swc/helpers': 0.5.15 react: 18.3.1 '@react-aria/utils@3.25.3(react@18.3.1)': @@ -7821,13 +7843,13 @@ snapshots: '@react-aria/ssr': 3.9.6(react@18.3.1) '@react-stately/utils': 3.10.4(react@18.3.1) '@react-types/shared': 3.25.0(react@18.3.1) - '@swc/helpers': 0.5.13 + '@swc/helpers': 0.5.15 clsx: 2.1.1 react: 18.3.1 '@react-stately/utils@3.10.4(react@18.3.1)': dependencies: - '@swc/helpers': 0.5.13 + '@swc/helpers': 0.5.15 react: 18.3.1 '@react-types/shared@3.25.0(react@18.3.1)': @@ -7839,66 +7861,66 @@ snapshots: estree-walker: 2.0.2 picomatch: 2.3.1 - '@rollup/pluginutils@5.1.3(rollup@4.24.4)': + '@rollup/pluginutils@5.1.3(rollup@4.27.2)': dependencies: '@types/estree': 1.0.6 estree-walker: 2.0.2 picomatch: 4.0.2 optionalDependencies: - rollup: 4.24.4 + rollup: 4.27.2 - '@rollup/rollup-android-arm-eabi@4.24.4': + '@rollup/rollup-android-arm-eabi@4.27.2': optional: true - '@rollup/rollup-android-arm64@4.24.4': + '@rollup/rollup-android-arm64@4.27.2': optional: true - '@rollup/rollup-darwin-arm64@4.24.4': + '@rollup/rollup-darwin-arm64@4.27.2': optional: true - '@rollup/rollup-darwin-x64@4.24.4': + '@rollup/rollup-darwin-x64@4.27.2': optional: true - '@rollup/rollup-freebsd-arm64@4.24.4': + '@rollup/rollup-freebsd-arm64@4.27.2': optional: true - '@rollup/rollup-freebsd-x64@4.24.4': + '@rollup/rollup-freebsd-x64@4.27.2': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.24.4': + '@rollup/rollup-linux-arm-gnueabihf@4.27.2': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.24.4': + '@rollup/rollup-linux-arm-musleabihf@4.27.2': optional: true - '@rollup/rollup-linux-arm64-gnu@4.24.4': + '@rollup/rollup-linux-arm64-gnu@4.27.2': optional: true - '@rollup/rollup-linux-arm64-musl@4.24.4': + '@rollup/rollup-linux-arm64-musl@4.27.2': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.24.4': + '@rollup/rollup-linux-powerpc64le-gnu@4.27.2': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.24.4': + '@rollup/rollup-linux-riscv64-gnu@4.27.2': optional: true - '@rollup/rollup-linux-s390x-gnu@4.24.4': + '@rollup/rollup-linux-s390x-gnu@4.27.2': optional: true - '@rollup/rollup-linux-x64-gnu@4.24.4': + '@rollup/rollup-linux-x64-gnu@4.27.2': optional: true - '@rollup/rollup-linux-x64-musl@4.24.4': + '@rollup/rollup-linux-x64-musl@4.27.2': optional: true - '@rollup/rollup-win32-arm64-msvc@4.24.4': + '@rollup/rollup-win32-arm64-msvc@4.27.2': optional: true - '@rollup/rollup-win32-ia32-msvc@4.24.4': + '@rollup/rollup-win32-ia32-msvc@4.27.2': optional: true - '@rollup/rollup-win32-x64-msvc@4.24.4': + '@rollup/rollup-win32-x64-msvc@4.27.2': optional: true '@rtsao/scc@1.1.0': {} @@ -7935,7 +7957,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@semantic-release/github@11.0.0(semantic-release@24.2.0(typescript@5.6.3))': + '@semantic-release/github@11.0.1(semantic-release@24.2.0(typescript@5.6.3))': dependencies: '@octokit/core': 6.1.2 '@octokit/plugin-paginate-rest': 11.3.5(@octokit/core@6.1.2) @@ -7990,61 +8012,61 @@ snapshots: transitivePeerDependencies: - supports-color - '@sentry-internal/browser-utils@8.36.0': + '@sentry-internal/browser-utils@8.38.0': dependencies: - '@sentry/core': 8.36.0 - '@sentry/types': 8.36.0 - '@sentry/utils': 8.36.0 + '@sentry/core': 8.38.0 + '@sentry/types': 8.38.0 + '@sentry/utils': 8.38.0 - '@sentry-internal/feedback@8.36.0': + '@sentry-internal/feedback@8.38.0': dependencies: - '@sentry/core': 8.36.0 - '@sentry/types': 8.36.0 - '@sentry/utils': 8.36.0 + '@sentry/core': 8.38.0 + '@sentry/types': 8.38.0 + '@sentry/utils': 8.38.0 - '@sentry-internal/replay-canvas@8.36.0': + '@sentry-internal/replay-canvas@8.38.0': dependencies: - '@sentry-internal/replay': 8.36.0 - '@sentry/core': 8.36.0 - '@sentry/types': 8.36.0 - '@sentry/utils': 8.36.0 + '@sentry-internal/replay': 8.38.0 + '@sentry/core': 8.38.0 + '@sentry/types': 8.38.0 + '@sentry/utils': 8.38.0 - '@sentry-internal/replay@8.36.0': + '@sentry-internal/replay@8.38.0': dependencies: - '@sentry-internal/browser-utils': 8.36.0 - '@sentry/core': 8.36.0 - '@sentry/types': 8.36.0 - '@sentry/utils': 8.36.0 + '@sentry-internal/browser-utils': 8.38.0 + '@sentry/core': 8.38.0 + '@sentry/types': 8.38.0 + '@sentry/utils': 8.38.0 - '@sentry/browser@8.36.0': + '@sentry/browser@8.38.0': dependencies: - '@sentry-internal/browser-utils': 8.36.0 - '@sentry-internal/feedback': 8.36.0 - '@sentry-internal/replay': 8.36.0 - '@sentry-internal/replay-canvas': 8.36.0 - '@sentry/core': 8.36.0 - '@sentry/types': 8.36.0 - '@sentry/utils': 8.36.0 + '@sentry-internal/browser-utils': 8.38.0 + '@sentry-internal/feedback': 8.38.0 + '@sentry-internal/replay': 8.38.0 + '@sentry-internal/replay-canvas': 8.38.0 + '@sentry/core': 8.38.0 + '@sentry/types': 8.38.0 + '@sentry/utils': 8.38.0 - '@sentry/core@8.36.0': + '@sentry/core@8.38.0': dependencies: - '@sentry/types': 8.36.0 - '@sentry/utils': 8.36.0 + '@sentry/types': 8.38.0 + '@sentry/utils': 8.38.0 - '@sentry/react@8.36.0(react@18.3.1)': + '@sentry/react@8.38.0(react@18.3.1)': dependencies: - '@sentry/browser': 8.36.0 - '@sentry/core': 8.36.0 - '@sentry/types': 8.36.0 - '@sentry/utils': 8.36.0 + '@sentry/browser': 8.38.0 + '@sentry/core': 8.38.0 + '@sentry/types': 8.38.0 + '@sentry/utils': 8.38.0 hoist-non-react-statics: 3.3.2 react: 18.3.1 - '@sentry/types@8.36.0': {} + '@sentry/types@8.38.0': {} - '@sentry/utils@8.36.0': + '@sentry/utils@8.38.0': dependencies: - '@sentry/types': 8.36.0 + '@sentry/types': 8.38.0 '@sinclair/typebox@0.27.8': {} @@ -8054,130 +8076,126 @@ snapshots: '@sindresorhus/merge-streams@4.0.0': {} - '@storybook/addon-actions@8.4.1(storybook@8.4.1(prettier@3.3.3))': + '@storybook/addon-actions@8.4.4(storybook@8.4.4(prettier@3.3.3))': dependencies: '@storybook/global': 5.0.0 '@types/uuid': 9.0.8 dequal: 2.0.3 polished: 4.3.1 - storybook: 8.4.1(prettier@3.3.3) + storybook: 8.4.4(prettier@3.3.3) uuid: 9.0.1 - '@storybook/addon-backgrounds@8.4.1(storybook@8.4.1(prettier@3.3.3))': + '@storybook/addon-backgrounds@8.4.4(storybook@8.4.4(prettier@3.3.3))': dependencies: '@storybook/global': 5.0.0 memoizerific: 1.11.3 - storybook: 8.4.1(prettier@3.3.3) + storybook: 8.4.4(prettier@3.3.3) ts-dedent: 2.2.0 - '@storybook/addon-controls@8.4.1(storybook@8.4.1(prettier@3.3.3))': + '@storybook/addon-controls@8.4.4(storybook@8.4.4(prettier@3.3.3))': dependencies: '@storybook/global': 5.0.0 dequal: 2.0.3 - storybook: 8.4.1(prettier@3.3.3) + storybook: 8.4.4(prettier@3.3.3) ts-dedent: 2.2.0 - '@storybook/addon-designs@8.0.4(@storybook/blocks@8.4.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.1(prettier@3.3.3)))(@storybook/components@8.4.1(storybook@8.4.1(prettier@3.3.3)))(@storybook/theming@8.4.1(storybook@8.4.1(prettier@3.3.3)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@storybook/addon-designs@8.0.4(@storybook/blocks@8.4.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.4(prettier@3.3.3)))(@storybook/components@8.4.4(storybook@8.4.4(prettier@3.3.3)))(@storybook/theming@8.4.4(storybook@8.4.4(prettier@3.3.3)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@figspec/react': 1.0.3(react@18.3.1) optionalDependencies: - '@storybook/blocks': 8.4.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.1(prettier@3.3.3)) - '@storybook/components': 8.4.1(storybook@8.4.1(prettier@3.3.3)) - '@storybook/theming': 8.4.1(storybook@8.4.1(prettier@3.3.3)) + '@storybook/blocks': 8.4.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.4(prettier@3.3.3)) + '@storybook/components': 8.4.4(storybook@8.4.4(prettier@3.3.3)) + '@storybook/theming': 8.4.4(storybook@8.4.4(prettier@3.3.3)) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@storybook/addon-docs@8.4.1(@types/react@18.3.12)(storybook@8.4.1(prettier@3.3.3))(webpack-sources@3.2.3)': + '@storybook/addon-docs@8.4.4(@types/react@18.3.12)(storybook@8.4.4(prettier@3.3.3))': dependencies: '@mdx-js/react': 3.1.0(@types/react@18.3.12)(react@18.3.1) - '@storybook/blocks': 8.4.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.1(prettier@3.3.3)) - '@storybook/csf-plugin': 8.4.1(storybook@8.4.1(prettier@3.3.3))(webpack-sources@3.2.3) - '@storybook/react-dom-shim': 8.4.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.1(prettier@3.3.3)) + '@storybook/blocks': 8.4.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.4(prettier@3.3.3)) + '@storybook/csf-plugin': 8.4.4(storybook@8.4.4(prettier@3.3.3)) + '@storybook/react-dom-shim': 8.4.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.4(prettier@3.3.3)) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - storybook: 8.4.1(prettier@3.3.3) + storybook: 8.4.4(prettier@3.3.3) ts-dedent: 2.2.0 transitivePeerDependencies: - '@types/react' - - webpack-sources - '@storybook/addon-essentials@8.4.1(@types/react@18.3.12)(storybook@8.4.1(prettier@3.3.3))(webpack-sources@3.2.3)': + '@storybook/addon-essentials@8.4.4(@types/react@18.3.12)(storybook@8.4.4(prettier@3.3.3))': dependencies: - '@storybook/addon-actions': 8.4.1(storybook@8.4.1(prettier@3.3.3)) - '@storybook/addon-backgrounds': 8.4.1(storybook@8.4.1(prettier@3.3.3)) - '@storybook/addon-controls': 8.4.1(storybook@8.4.1(prettier@3.3.3)) - '@storybook/addon-docs': 8.4.1(@types/react@18.3.12)(storybook@8.4.1(prettier@3.3.3))(webpack-sources@3.2.3) - '@storybook/addon-highlight': 8.4.1(storybook@8.4.1(prettier@3.3.3)) - '@storybook/addon-measure': 8.4.1(storybook@8.4.1(prettier@3.3.3)) - '@storybook/addon-outline': 8.4.1(storybook@8.4.1(prettier@3.3.3)) - '@storybook/addon-toolbars': 8.4.1(storybook@8.4.1(prettier@3.3.3)) - '@storybook/addon-viewport': 8.4.1(storybook@8.4.1(prettier@3.3.3)) - storybook: 8.4.1(prettier@3.3.3) + '@storybook/addon-actions': 8.4.4(storybook@8.4.4(prettier@3.3.3)) + '@storybook/addon-backgrounds': 8.4.4(storybook@8.4.4(prettier@3.3.3)) + '@storybook/addon-controls': 8.4.4(storybook@8.4.4(prettier@3.3.3)) + '@storybook/addon-docs': 8.4.4(@types/react@18.3.12)(storybook@8.4.4(prettier@3.3.3)) + '@storybook/addon-highlight': 8.4.4(storybook@8.4.4(prettier@3.3.3)) + '@storybook/addon-measure': 8.4.4(storybook@8.4.4(prettier@3.3.3)) + '@storybook/addon-outline': 8.4.4(storybook@8.4.4(prettier@3.3.3)) + '@storybook/addon-toolbars': 8.4.4(storybook@8.4.4(prettier@3.3.3)) + '@storybook/addon-viewport': 8.4.4(storybook@8.4.4(prettier@3.3.3)) + storybook: 8.4.4(prettier@3.3.3) ts-dedent: 2.2.0 transitivePeerDependencies: - '@types/react' - - webpack-sources - '@storybook/addon-highlight@8.4.1(storybook@8.4.1(prettier@3.3.3))': + '@storybook/addon-highlight@8.4.4(storybook@8.4.4(prettier@3.3.3))': dependencies: '@storybook/global': 5.0.0 - storybook: 8.4.1(prettier@3.3.3) + storybook: 8.4.4(prettier@3.3.3) - '@storybook/addon-links@8.4.1(react@18.3.1)(storybook@8.4.1(prettier@3.3.3))': + '@storybook/addon-links@8.4.4(react@18.3.1)(storybook@8.4.4(prettier@3.3.3))': dependencies: '@storybook/csf': 0.1.11 '@storybook/global': 5.0.0 - storybook: 8.4.1(prettier@3.3.3) + storybook: 8.4.4(prettier@3.3.3) ts-dedent: 2.2.0 optionalDependencies: react: 18.3.1 - '@storybook/addon-measure@8.4.1(storybook@8.4.1(prettier@3.3.3))': + '@storybook/addon-measure@8.4.4(storybook@8.4.4(prettier@3.3.3))': dependencies: '@storybook/global': 5.0.0 - storybook: 8.4.1(prettier@3.3.3) + storybook: 8.4.4(prettier@3.3.3) tiny-invariant: 1.3.3 - '@storybook/addon-outline@8.4.1(storybook@8.4.1(prettier@3.3.3))': + '@storybook/addon-outline@8.4.4(storybook@8.4.4(prettier@3.3.3))': dependencies: '@storybook/global': 5.0.0 - storybook: 8.4.1(prettier@3.3.3) + storybook: 8.4.4(prettier@3.3.3) ts-dedent: 2.2.0 - '@storybook/addon-toolbars@8.4.1(storybook@8.4.1(prettier@3.3.3))': + '@storybook/addon-toolbars@8.4.4(storybook@8.4.4(prettier@3.3.3))': dependencies: - storybook: 8.4.1(prettier@3.3.3) + storybook: 8.4.4(prettier@3.3.3) - '@storybook/addon-viewport@8.4.1(storybook@8.4.1(prettier@3.3.3))': + '@storybook/addon-viewport@8.4.4(storybook@8.4.4(prettier@3.3.3))': dependencies: memoizerific: 1.11.3 - storybook: 8.4.1(prettier@3.3.3) + storybook: 8.4.4(prettier@3.3.3) - '@storybook/blocks@8.4.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.1(prettier@3.3.3))': + '@storybook/blocks@8.4.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.4(prettier@3.3.3))': dependencies: '@storybook/csf': 0.1.11 '@storybook/icons': 1.2.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - storybook: 8.4.1(prettier@3.3.3) + storybook: 8.4.4(prettier@3.3.3) ts-dedent: 2.2.0 optionalDependencies: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@storybook/builder-vite@8.4.1(storybook@8.4.1(prettier@3.3.3))(vite@5.4.10(@types/node@22.8.7)(sass@1.80.6)(terser@5.36.0))(webpack-sources@3.2.3)': + '@storybook/builder-vite@8.4.4(storybook@8.4.4(prettier@3.3.3))(vite@5.4.11(@types/node@22.9.0)(sass@1.81.0)(terser@5.36.0))': dependencies: - '@storybook/csf-plugin': 8.4.1(storybook@8.4.1(prettier@3.3.3))(webpack-sources@3.2.3) + '@storybook/csf-plugin': 8.4.4(storybook@8.4.4(prettier@3.3.3)) browser-assert: 1.2.1 - storybook: 8.4.1(prettier@3.3.3) + storybook: 8.4.4(prettier@3.3.3) ts-dedent: 2.2.0 - vite: 5.4.10(@types/node@22.8.7)(sass@1.80.6)(terser@5.36.0) - transitivePeerDependencies: - - webpack-sources + vite: 5.4.11(@types/node@22.9.0)(sass@1.81.0)(terser@5.36.0) - '@storybook/components@8.4.1(storybook@8.4.1(prettier@3.3.3))': + '@storybook/components@8.4.4(storybook@8.4.4(prettier@3.3.3))': dependencies: - storybook: 8.4.1(prettier@3.3.3) + storybook: 8.4.4(prettier@3.3.3) - '@storybook/core@8.4.1(prettier@3.3.3)': + '@storybook/core@8.4.4(prettier@3.3.3)': dependencies: '@storybook/csf': 0.1.11 better-opn: 3.0.2 @@ -8197,12 +8215,10 @@ snapshots: - supports-color - utf-8-validate - '@storybook/csf-plugin@8.4.1(storybook@8.4.1(prettier@3.3.3))(webpack-sources@3.2.3)': + '@storybook/csf-plugin@8.4.4(storybook@8.4.4(prettier@3.3.3))': dependencies: - storybook: 8.4.1(prettier@3.3.3) - unplugin: 1.15.0(webpack-sources@3.2.3) - transitivePeerDependencies: - - webpack-sources + storybook: 8.4.4(prettier@3.3.3) + unplugin: 1.16.0 '@storybook/csf@0.0.1': dependencies: @@ -8219,78 +8235,77 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@storybook/instrumenter@8.4.1(storybook@8.4.1(prettier@3.3.3))': + '@storybook/instrumenter@8.4.4(storybook@8.4.4(prettier@3.3.3))': dependencies: '@storybook/global': 5.0.0 - '@vitest/utils': 2.1.4 - storybook: 8.4.1(prettier@3.3.3) + '@vitest/utils': 2.1.5 + storybook: 8.4.4(prettier@3.3.3) - '@storybook/manager-api@8.4.1(storybook@8.4.1(prettier@3.3.3))': + '@storybook/manager-api@8.4.4(storybook@8.4.4(prettier@3.3.3))': dependencies: - storybook: 8.4.1(prettier@3.3.3) + storybook: 8.4.4(prettier@3.3.3) - '@storybook/preview-api@8.4.1(storybook@8.4.1(prettier@3.3.3))': + '@storybook/preview-api@8.4.4(storybook@8.4.4(prettier@3.3.3))': dependencies: - storybook: 8.4.1(prettier@3.3.3) + storybook: 8.4.4(prettier@3.3.3) - '@storybook/react-dom-shim@8.4.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.1(prettier@3.3.3))': + '@storybook/react-dom-shim@8.4.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.4(prettier@3.3.3))': dependencies: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - storybook: 8.4.1(prettier@3.3.3) + storybook: 8.4.4(prettier@3.3.3) - '@storybook/react-vite@8.4.1(@storybook/test@8.4.1(storybook@8.4.1(prettier@3.3.3)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.24.4)(storybook@8.4.1(prettier@3.3.3))(typescript@5.6.3)(vite@5.4.10(@types/node@22.8.7)(sass@1.80.6)(terser@5.36.0))(webpack-sources@3.2.3)': + '@storybook/react-vite@8.4.4(@storybook/test@8.4.4(storybook@8.4.4(prettier@3.3.3)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.27.2)(storybook@8.4.4(prettier@3.3.3))(typescript@5.6.3)(vite@5.4.11(@types/node@22.9.0)(sass@1.81.0)(terser@5.36.0))': dependencies: - '@joshwooding/vite-plugin-react-docgen-typescript': 0.3.0(typescript@5.6.3)(vite@5.4.10(@types/node@22.8.7)(sass@1.80.6)(terser@5.36.0)) - '@rollup/pluginutils': 5.1.3(rollup@4.24.4) - '@storybook/builder-vite': 8.4.1(storybook@8.4.1(prettier@3.3.3))(vite@5.4.10(@types/node@22.8.7)(sass@1.80.6)(terser@5.36.0))(webpack-sources@3.2.3) - '@storybook/react': 8.4.1(@storybook/test@8.4.1(storybook@8.4.1(prettier@3.3.3)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.1(prettier@3.3.3))(typescript@5.6.3) + '@joshwooding/vite-plugin-react-docgen-typescript': 0.3.0(typescript@5.6.3)(vite@5.4.11(@types/node@22.9.0)(sass@1.81.0)(terser@5.36.0)) + '@rollup/pluginutils': 5.1.3(rollup@4.27.2) + '@storybook/builder-vite': 8.4.4(storybook@8.4.4(prettier@3.3.3))(vite@5.4.11(@types/node@22.9.0)(sass@1.81.0)(terser@5.36.0)) + '@storybook/react': 8.4.4(@storybook/test@8.4.4(storybook@8.4.4(prettier@3.3.3)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.4(prettier@3.3.3))(typescript@5.6.3) find-up: 5.0.0 magic-string: 0.30.12 react: 18.3.1 react-docgen: 7.1.0 react-dom: 18.3.1(react@18.3.1) resolve: 1.22.8 - storybook: 8.4.1(prettier@3.3.3) + storybook: 8.4.4(prettier@3.3.3) tsconfig-paths: 4.2.0 - vite: 5.4.10(@types/node@22.8.7)(sass@1.80.6)(terser@5.36.0) + vite: 5.4.11(@types/node@22.9.0)(sass@1.81.0)(terser@5.36.0) transitivePeerDependencies: - '@storybook/test' - rollup - supports-color - typescript - - webpack-sources - '@storybook/react@8.4.1(@storybook/test@8.4.1(storybook@8.4.1(prettier@3.3.3)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.1(prettier@3.3.3))(typescript@5.6.3)': + '@storybook/react@8.4.4(@storybook/test@8.4.4(storybook@8.4.4(prettier@3.3.3)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.4(prettier@3.3.3))(typescript@5.6.3)': dependencies: - '@storybook/components': 8.4.1(storybook@8.4.1(prettier@3.3.3)) + '@storybook/components': 8.4.4(storybook@8.4.4(prettier@3.3.3)) '@storybook/global': 5.0.0 - '@storybook/manager-api': 8.4.1(storybook@8.4.1(prettier@3.3.3)) - '@storybook/preview-api': 8.4.1(storybook@8.4.1(prettier@3.3.3)) - '@storybook/react-dom-shim': 8.4.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.1(prettier@3.3.3)) - '@storybook/theming': 8.4.1(storybook@8.4.1(prettier@3.3.3)) + '@storybook/manager-api': 8.4.4(storybook@8.4.4(prettier@3.3.3)) + '@storybook/preview-api': 8.4.4(storybook@8.4.4(prettier@3.3.3)) + '@storybook/react-dom-shim': 8.4.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.4(prettier@3.3.3)) + '@storybook/theming': 8.4.4(storybook@8.4.4(prettier@3.3.3)) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - storybook: 8.4.1(prettier@3.3.3) + storybook: 8.4.4(prettier@3.3.3) optionalDependencies: - '@storybook/test': 8.4.1(storybook@8.4.1(prettier@3.3.3)) + '@storybook/test': 8.4.4(storybook@8.4.4(prettier@3.3.3)) typescript: 5.6.3 - '@storybook/test@8.4.1(storybook@8.4.1(prettier@3.3.3))': + '@storybook/test@8.4.4(storybook@8.4.4(prettier@3.3.3))': dependencies: '@storybook/csf': 0.1.11 '@storybook/global': 5.0.0 - '@storybook/instrumenter': 8.4.1(storybook@8.4.1(prettier@3.3.3)) + '@storybook/instrumenter': 8.4.4(storybook@8.4.4(prettier@3.3.3)) '@testing-library/dom': 10.4.0 '@testing-library/jest-dom': 6.5.0 '@testing-library/user-event': 14.5.2(@testing-library/dom@10.4.0) '@vitest/expect': 2.0.5 '@vitest/spy': 2.0.5 - storybook: 8.4.1(prettier@3.3.3) + storybook: 8.4.4(prettier@3.3.3) - '@storybook/theming@8.4.1(storybook@8.4.1(prettier@3.3.3))': + '@storybook/theming@8.4.4(storybook@8.4.4(prettier@3.3.3))': dependencies: - storybook: 8.4.1(prettier@3.3.3) + storybook: 8.4.4(prettier@3.3.3) '@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.26.0)': dependencies: @@ -8362,70 +8377,70 @@ snapshots: transitivePeerDependencies: - supports-color - '@swc/core-darwin-arm64@1.8.0': + '@swc/core-darwin-arm64@1.9.2': optional: true - '@swc/core-darwin-x64@1.8.0': + '@swc/core-darwin-x64@1.9.2': optional: true - '@swc/core-linux-arm-gnueabihf@1.8.0': + '@swc/core-linux-arm-gnueabihf@1.9.2': optional: true - '@swc/core-linux-arm64-gnu@1.8.0': + '@swc/core-linux-arm64-gnu@1.9.2': optional: true - '@swc/core-linux-arm64-musl@1.8.0': + '@swc/core-linux-arm64-musl@1.9.2': optional: true - '@swc/core-linux-x64-gnu@1.8.0': + '@swc/core-linux-x64-gnu@1.9.2': optional: true - '@swc/core-linux-x64-musl@1.8.0': + '@swc/core-linux-x64-musl@1.9.2': optional: true - '@swc/core-win32-arm64-msvc@1.8.0': + '@swc/core-win32-arm64-msvc@1.9.2': optional: true - '@swc/core-win32-ia32-msvc@1.8.0': + '@swc/core-win32-ia32-msvc@1.9.2': optional: true - '@swc/core-win32-x64-msvc@1.8.0': + '@swc/core-win32-x64-msvc@1.9.2': optional: true - '@swc/core@1.8.0(@swc/helpers@0.5.13)': + '@swc/core@1.9.2(@swc/helpers@0.5.15)': dependencies: '@swc/counter': 0.1.3 - '@swc/types': 0.1.14 + '@swc/types': 0.1.15 optionalDependencies: - '@swc/core-darwin-arm64': 1.8.0 - '@swc/core-darwin-x64': 1.8.0 - '@swc/core-linux-arm-gnueabihf': 1.8.0 - '@swc/core-linux-arm64-gnu': 1.8.0 - '@swc/core-linux-arm64-musl': 1.8.0 - '@swc/core-linux-x64-gnu': 1.8.0 - '@swc/core-linux-x64-musl': 1.8.0 - '@swc/core-win32-arm64-msvc': 1.8.0 - '@swc/core-win32-ia32-msvc': 1.8.0 - '@swc/core-win32-x64-msvc': 1.8.0 - '@swc/helpers': 0.5.13 + '@swc/core-darwin-arm64': 1.9.2 + '@swc/core-darwin-x64': 1.9.2 + '@swc/core-linux-arm-gnueabihf': 1.9.2 + '@swc/core-linux-arm64-gnu': 1.9.2 + '@swc/core-linux-arm64-musl': 1.9.2 + '@swc/core-linux-x64-gnu': 1.9.2 + '@swc/core-linux-x64-musl': 1.9.2 + '@swc/core-win32-arm64-msvc': 1.9.2 + '@swc/core-win32-ia32-msvc': 1.9.2 + '@swc/core-win32-x64-msvc': 1.9.2 + '@swc/helpers': 0.5.15 '@swc/counter@0.1.3': {} - '@swc/helpers@0.5.13': + '@swc/helpers@0.5.15': dependencies: tslib: 2.8.1 - '@swc/types@0.1.14': + '@swc/types@0.1.15': dependencies: '@swc/counter': 0.1.3 - '@tanstack/react-virtual@3.10.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@tanstack/react-virtual@3.10.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@tanstack/virtual-core': 3.10.8 + '@tanstack/virtual-core': 3.10.9 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@tanstack/virtual-core@3.10.8': {} + '@tanstack/virtual-core@3.10.9': {} '@testing-library/dom@10.4.0': dependencies: @@ -8440,7 +8455,7 @@ snapshots: '@testing-library/jest-dom@6.5.0': dependencies: - '@adobe/css-tools': 4.4.0 + '@adobe/css-tools': 4.4.1 aria-query: 5.3.2 chalk: 3.0.0 css.escape: 1.5.1 @@ -8488,24 +8503,24 @@ snapshots: '@types/conventional-commits-parser': 5.0.0 '@types/conventional-recommended-bump': 10.0.3 '@types/git-raw-commits': 2.0.4 - '@types/node': 22.8.7 + '@types/node': 22.9.0 '@types/normalize-package-data': 2.4.4 '@types/conventional-changelog-writer@4.0.10': dependencies: '@types/conventional-commits-parser': 5.0.0 - '@types/node': 22.8.7 + '@types/node': 22.9.0 '@types/conventional-changelog@3.1.5': dependencies: '@types/conventional-changelog-core': 4.2.8 '@types/conventional-changelog-writer': 4.0.10 '@types/conventional-commits-parser': 5.0.0 - '@types/node': 22.8.7 + '@types/node': 22.9.0 '@types/conventional-commits-parser@5.0.0': dependencies: - '@types/node': 22.8.7 + '@types/node': 22.9.0 '@types/conventional-recommended-bump@10.0.3': dependencies: @@ -8545,26 +8560,26 @@ snapshots: '@types/git-raw-commits@2.0.4': dependencies: - '@types/node': 22.8.7 + '@types/node': 22.9.0 '@types/glob-stream@8.0.2': dependencies: - '@types/node': 22.8.7 + '@types/node': 22.9.0 '@types/picomatch': 3.0.1 '@types/streamx': 2.9.5 '@types/glob@7.2.0': dependencies: '@types/minimatch': 5.1.2 - '@types/node': 22.8.7 + '@types/node': 22.9.0 '@types/gulp-zip@4.0.4': dependencies: - '@types/node': 22.8.7 + '@types/node': 22.9.0 '@types/gulp@4.0.17': dependencies: - '@types/node': 22.8.7 + '@types/node': 22.9.0 '@types/undertaker': 1.2.11 '@types/vinyl-fs': 3.0.5 chokidar: 3.6.0 @@ -8603,7 +8618,7 @@ snapshots: '@types/ms@0.7.34': {} - '@types/node@22.8.7': + '@types/node@22.9.0': dependencies: undici-types: 6.19.8 @@ -8615,7 +8630,7 @@ snapshots: '@types/prompts@2.4.9': dependencies: - '@types/node': 22.8.7 + '@types/node': 22.9.0 kleur: 3.0.3 '@types/prop-types@15.7.13': {} @@ -8637,18 +8652,18 @@ snapshots: '@types/semantic-release@20.0.6': dependencies: - '@types/node': 22.8.7 + '@types/node': 22.9.0 '@types/semver@7.5.8': {} '@types/sql.js@1.4.9': dependencies: '@types/emscripten': 1.39.13 - '@types/node': 22.8.7 + '@types/node': 22.9.0 '@types/streamx@2.9.5': dependencies: - '@types/node': 22.8.7 + '@types/node': 22.9.0 '@types/trusted-types@2.0.7': {} @@ -8656,7 +8671,7 @@ snapshots: '@types/undertaker@1.2.11': dependencies: - '@types/node': 22.8.7 + '@types/node': 22.9.0 '@types/undertaker-registry': 1.0.4 async-done: 1.3.2 @@ -8671,13 +8686,13 @@ snapshots: '@types/vinyl-fs@3.0.5': dependencies: '@types/glob-stream': 8.0.2 - '@types/node': 22.8.7 + '@types/node': 22.9.0 '@types/vinyl': 2.0.12 '@types/vinyl@2.0.12': dependencies: '@types/expect': 1.20.4 - '@types/node': 22.8.7 + '@types/node': 22.9.0 '@types/yargs-parser@21.0.3': {} @@ -8726,10 +8741,10 @@ snapshots: '@typescript-eslint/types': 7.18.0 '@typescript-eslint/visitor-keys': 7.18.0 - '@typescript-eslint/scope-manager@8.13.0': + '@typescript-eslint/scope-manager@8.14.0': dependencies: - '@typescript-eslint/types': 8.13.0 - '@typescript-eslint/visitor-keys': 8.13.0 + '@typescript-eslint/types': 8.14.0 + '@typescript-eslint/visitor-keys': 8.14.0 '@typescript-eslint/type-utils@7.18.0(eslint@8.57.1)(typescript@5.6.3)': dependencies: @@ -8747,7 +8762,7 @@ snapshots: '@typescript-eslint/types@7.18.0': {} - '@typescript-eslint/types@8.13.0': {} + '@typescript-eslint/types@8.14.0': {} '@typescript-eslint/typescript-estree@5.62.0(typescript@5.6.3)': dependencies: @@ -8778,10 +8793,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@8.13.0(typescript@5.6.3)': + '@typescript-eslint/typescript-estree@8.14.0(typescript@5.6.3)': dependencies: - '@typescript-eslint/types': 8.13.0 - '@typescript-eslint/visitor-keys': 8.13.0 + '@typescript-eslint/types': 8.14.0 + '@typescript-eslint/visitor-keys': 8.14.0 debug: 4.3.7 fast-glob: 3.3.2 is-glob: 4.0.3 @@ -8819,12 +8834,12 @@ snapshots: - supports-color - typescript - '@typescript-eslint/utils@8.13.0(eslint@8.57.1)(typescript@5.6.3)': + '@typescript-eslint/utils@8.14.0(eslint@8.57.1)(typescript@5.6.3)': dependencies: '@eslint-community/eslint-utils': 4.4.1(eslint@8.57.1) - '@typescript-eslint/scope-manager': 8.13.0 - '@typescript-eslint/types': 8.13.0 - '@typescript-eslint/typescript-estree': 8.13.0(typescript@5.6.3) + '@typescript-eslint/scope-manager': 8.14.0 + '@typescript-eslint/types': 8.14.0 + '@typescript-eslint/typescript-estree': 8.14.0(typescript@5.6.3) eslint: 8.57.1 transitivePeerDependencies: - supports-color @@ -8840,29 +8855,29 @@ snapshots: '@typescript-eslint/types': 7.18.0 eslint-visitor-keys: 3.4.3 - '@typescript-eslint/visitor-keys@8.13.0': + '@typescript-eslint/visitor-keys@8.14.0': dependencies: - '@typescript-eslint/types': 8.13.0 + '@typescript-eslint/types': 8.14.0 eslint-visitor-keys: 3.4.3 '@ungap/structured-clone@1.2.0': {} - '@unocss/astro@0.63.6(rollup@4.24.4)(typescript@5.6.3)(vite@5.4.10(@types/node@22.8.7)(sass@1.80.6)(terser@5.36.0))': + '@unocss/astro@0.63.6(rollup@4.27.2)(typescript@5.6.3)(vite@5.4.11(@types/node@22.9.0)(sass@1.81.0)(terser@5.36.0))': dependencies: '@unocss/core': 0.63.6 '@unocss/reset': 0.63.6 - '@unocss/vite': 0.63.6(patch_hash=5ptgy7mbavmjf7zwexb7dph4ji)(rollup@4.24.4)(typescript@5.6.3)(vite@5.4.10(@types/node@22.8.7)(sass@1.80.6)(terser@5.36.0)) + '@unocss/vite': 0.63.6(patch_hash=5ptgy7mbavmjf7zwexb7dph4ji)(rollup@4.27.2)(typescript@5.6.3)(vite@5.4.11(@types/node@22.9.0)(sass@1.81.0)(terser@5.36.0)) optionalDependencies: - vite: 5.4.10(@types/node@22.8.7)(sass@1.80.6)(terser@5.36.0) + vite: 5.4.11(@types/node@22.9.0)(sass@1.81.0)(terser@5.36.0) transitivePeerDependencies: - rollup - supports-color - typescript - '@unocss/cli@0.63.6(rollup@4.24.4)': + '@unocss/cli@0.63.6(rollup@4.27.2)': dependencies: '@ampproject/remapping': 2.3.0 - '@rollup/pluginutils': 5.1.3(rollup@4.24.4) + '@rollup/pluginutils': 5.1.3(rollup@4.27.2) '@unocss/config': 0.63.6 '@unocss/core': 0.63.6 '@unocss/preset-uno': 0.63.6 @@ -8899,7 +8914,7 @@ snapshots: '@unocss/eslint-plugin@0.63.6(eslint@8.57.1)(typescript@5.6.3)': dependencies: - '@typescript-eslint/utils': 8.13.0(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/utils': 8.14.0(eslint@8.57.1)(typescript@5.6.3) '@unocss/config': 0.63.6 '@unocss/core': 0.63.6 magic-string: 0.30.12 @@ -8923,13 +8938,13 @@ snapshots: transitivePeerDependencies: - typescript - '@unocss/postcss@0.63.6(postcss@8.4.47)': + '@unocss/postcss@0.63.6(postcss@8.4.49)': dependencies: '@unocss/config': 0.63.6 '@unocss/core': 0.63.6 '@unocss/rule-utils': 0.63.6 css-tree: 3.0.1 - postcss: 8.4.47 + postcss: 8.4.49 tinyglobby: 0.2.10 transitivePeerDependencies: - supports-color @@ -9004,41 +9019,41 @@ snapshots: dependencies: '@unocss/core': 0.63.6 - '@unocss/vite@0.63.6(patch_hash=5ptgy7mbavmjf7zwexb7dph4ji)(rollup@4.24.4)(typescript@5.6.3)(vite@5.4.10(@types/node@22.8.7)(sass@1.80.6)(terser@5.36.0))': + '@unocss/vite@0.63.6(patch_hash=5ptgy7mbavmjf7zwexb7dph4ji)(rollup@4.27.2)(typescript@5.6.3)(vite@5.4.11(@types/node@22.9.0)(sass@1.81.0)(terser@5.36.0))': dependencies: '@ampproject/remapping': 2.3.0 - '@rollup/pluginutils': 5.1.3(rollup@4.24.4) + '@rollup/pluginutils': 5.1.3(rollup@4.27.2) '@unocss/config': 0.63.6 '@unocss/core': 0.63.6 '@unocss/inspector': 0.63.6(typescript@5.6.3) chokidar: 3.6.0 magic-string: 0.30.12 tinyglobby: 0.2.10 - vite: 5.4.10(@types/node@22.8.7)(sass@1.80.6)(terser@5.36.0) + vite: 5.4.11(@types/node@22.9.0)(sass@1.81.0)(terser@5.36.0) transitivePeerDependencies: - rollup - supports-color - typescript - '@vitejs/plugin-react-swc@3.7.1(@swc/helpers@0.5.13)(vite@5.4.10(@types/node@22.8.7)(sass@1.80.6)(terser@5.36.0))': + '@vitejs/plugin-react-swc@3.7.1(@swc/helpers@0.5.15)(vite@5.4.11(@types/node@22.9.0)(sass@1.81.0)(terser@5.36.0))': dependencies: - '@swc/core': 1.8.0(@swc/helpers@0.5.13) - vite: 5.4.10(@types/node@22.8.7)(sass@1.80.6)(terser@5.36.0) + '@swc/core': 1.9.2(@swc/helpers@0.5.15) + vite: 5.4.11(@types/node@22.9.0)(sass@1.81.0)(terser@5.36.0) transitivePeerDependencies: - '@swc/helpers' - '@vitejs/plugin-react@4.3.3(vite@5.4.10(@types/node@22.8.7)(sass@1.80.6)(terser@5.36.0))': + '@vitejs/plugin-react@4.3.3(vite@5.4.11(@types/node@22.9.0)(sass@1.81.0)(terser@5.36.0))': dependencies: '@babel/core': 7.26.0 '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.0) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 - vite: 5.4.10(@types/node@22.8.7)(sass@1.80.6)(terser@5.36.0) + vite: 5.4.11(@types/node@22.9.0)(sass@1.81.0)(terser@5.36.0) transitivePeerDependencies: - supports-color - '@vitest/coverage-v8@2.1.4(vitest@2.1.4)': + '@vitest/coverage-v8@2.1.5(vitest@2.1.5)': dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 @@ -9049,10 +9064,10 @@ snapshots: istanbul-reports: 3.1.7 magic-string: 0.30.12 magicast: 0.3.5 - std-env: 3.7.0 + std-env: 3.8.0 test-exclude: 7.0.1 tinyrainbow: 1.2.0 - vitest: 2.1.4(@types/node@22.8.7)(@vitest/ui@2.1.4)(sass@1.80.6)(terser@5.36.0) + vitest: 2.1.5(@types/node@22.9.0)(@vitest/ui@2.1.5)(sass@1.81.0)(terser@5.36.0) transitivePeerDependencies: - supports-color @@ -9063,37 +9078,37 @@ snapshots: chai: 5.1.2 tinyrainbow: 1.2.0 - '@vitest/expect@2.1.4': + '@vitest/expect@2.1.5': dependencies: - '@vitest/spy': 2.1.4 - '@vitest/utils': 2.1.4 + '@vitest/spy': 2.1.5 + '@vitest/utils': 2.1.5 chai: 5.1.2 tinyrainbow: 1.2.0 - '@vitest/mocker@2.1.4(vite@5.4.10(@types/node@22.8.7)(sass@1.80.6)(terser@5.36.0))': + '@vitest/mocker@2.1.5(vite@5.4.11(@types/node@22.9.0)(sass@1.81.0)(terser@5.36.0))': dependencies: - '@vitest/spy': 2.1.4 + '@vitest/spy': 2.1.5 estree-walker: 3.0.3 magic-string: 0.30.12 optionalDependencies: - vite: 5.4.10(@types/node@22.8.7)(sass@1.80.6)(terser@5.36.0) + vite: 5.4.11(@types/node@22.9.0)(sass@1.81.0)(terser@5.36.0) '@vitest/pretty-format@2.0.5': dependencies: tinyrainbow: 1.2.0 - '@vitest/pretty-format@2.1.4': + '@vitest/pretty-format@2.1.5': dependencies: tinyrainbow: 1.2.0 - '@vitest/runner@2.1.4': + '@vitest/runner@2.1.5': dependencies: - '@vitest/utils': 2.1.4 + '@vitest/utils': 2.1.5 pathe: 1.1.2 - '@vitest/snapshot@2.1.4': + '@vitest/snapshot@2.1.5': dependencies: - '@vitest/pretty-format': 2.1.4 + '@vitest/pretty-format': 2.1.5 magic-string: 0.30.12 pathe: 1.1.2 @@ -9101,20 +9116,20 @@ snapshots: dependencies: tinyspy: 3.0.2 - '@vitest/spy@2.1.4': + '@vitest/spy@2.1.5': dependencies: tinyspy: 3.0.2 - '@vitest/ui@2.1.4(vitest@2.1.4)': + '@vitest/ui@2.1.5(vitest@2.1.5)': dependencies: - '@vitest/utils': 2.1.4 + '@vitest/utils': 2.1.5 fflate: 0.8.2 flatted: 3.3.1 pathe: 1.1.2 sirv: 3.0.0 tinyglobby: 0.2.10 tinyrainbow: 1.2.0 - vitest: 2.1.4(@types/node@22.8.7)(@vitest/ui@2.1.4)(sass@1.80.6)(terser@5.36.0) + vitest: 2.1.5(@types/node@22.9.0)(@vitest/ui@2.1.5)(sass@1.81.0)(terser@5.36.0) '@vitest/utils@2.0.5': dependencies: @@ -9123,140 +9138,140 @@ snapshots: loupe: 3.1.2 tinyrainbow: 1.2.0 - '@vitest/utils@2.1.4': + '@vitest/utils@2.1.5': dependencies: - '@vitest/pretty-format': 2.1.4 + '@vitest/pretty-format': 2.1.5 loupe: 3.1.2 tinyrainbow: 1.2.0 - '@vue/compiler-core@3.5.12': + '@vue/compiler-core@3.5.13': dependencies: '@babel/parser': 7.26.2 - '@vue/shared': 3.5.12 + '@vue/shared': 3.5.13 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.1 - '@vue/compiler-dom@3.5.12': + '@vue/compiler-dom@3.5.13': dependencies: - '@vue/compiler-core': 3.5.12 - '@vue/shared': 3.5.12 + '@vue/compiler-core': 3.5.13 + '@vue/shared': 3.5.13 - '@vue/compiler-sfc@3.5.12': + '@vue/compiler-sfc@3.5.13': dependencies: '@babel/parser': 7.26.2 - '@vue/compiler-core': 3.5.12 - '@vue/compiler-dom': 3.5.12 - '@vue/compiler-ssr': 3.5.12 - '@vue/shared': 3.5.12 + '@vue/compiler-core': 3.5.13 + '@vue/compiler-dom': 3.5.13 + '@vue/compiler-ssr': 3.5.13 + '@vue/shared': 3.5.13 estree-walker: 2.0.2 magic-string: 0.30.12 - postcss: 8.4.47 + postcss: 8.4.49 source-map-js: 1.2.1 - '@vue/compiler-ssr@3.5.12': + '@vue/compiler-ssr@3.5.13': dependencies: - '@vue/compiler-dom': 3.5.12 - '@vue/shared': 3.5.12 + '@vue/compiler-dom': 3.5.13 + '@vue/shared': 3.5.13 - '@vue/reactivity@3.5.12': + '@vue/reactivity@3.5.13': dependencies: - '@vue/shared': 3.5.12 + '@vue/shared': 3.5.13 - '@vue/runtime-core@3.5.12': + '@vue/runtime-core@3.5.13': dependencies: - '@vue/reactivity': 3.5.12 - '@vue/shared': 3.5.12 + '@vue/reactivity': 3.5.13 + '@vue/shared': 3.5.13 - '@vue/runtime-dom@3.5.12': + '@vue/runtime-dom@3.5.13': dependencies: - '@vue/reactivity': 3.5.12 - '@vue/runtime-core': 3.5.12 - '@vue/shared': 3.5.12 + '@vue/reactivity': 3.5.13 + '@vue/runtime-core': 3.5.13 + '@vue/shared': 3.5.13 csstype: 3.1.3 - '@vue/server-renderer@3.5.12(vue@3.5.12(typescript@5.6.3))': + '@vue/server-renderer@3.5.13(vue@3.5.13(typescript@5.6.3))': dependencies: - '@vue/compiler-ssr': 3.5.12 - '@vue/shared': 3.5.12 - vue: 3.5.12(typescript@5.6.3) + '@vue/compiler-ssr': 3.5.13 + '@vue/shared': 3.5.13 + vue: 3.5.13(typescript@5.6.3) - '@vue/shared@3.5.12': {} + '@vue/shared@3.5.13': {} - '@webassemblyjs/ast@1.12.1': + '@webassemblyjs/ast@1.14.1': dependencies: - '@webassemblyjs/helper-numbers': 1.11.6 - '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/helper-numbers': 1.13.2 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 - '@webassemblyjs/floating-point-hex-parser@1.11.6': {} + '@webassemblyjs/floating-point-hex-parser@1.13.2': {} - '@webassemblyjs/helper-api-error@1.11.6': {} + '@webassemblyjs/helper-api-error@1.13.2': {} - '@webassemblyjs/helper-buffer@1.12.1': {} + '@webassemblyjs/helper-buffer@1.14.1': {} - '@webassemblyjs/helper-numbers@1.11.6': + '@webassemblyjs/helper-numbers@1.13.2': dependencies: - '@webassemblyjs/floating-point-hex-parser': 1.11.6 - '@webassemblyjs/helper-api-error': 1.11.6 + '@webassemblyjs/floating-point-hex-parser': 1.13.2 + '@webassemblyjs/helper-api-error': 1.13.2 '@xtuc/long': 4.2.2 - '@webassemblyjs/helper-wasm-bytecode@1.11.6': {} + '@webassemblyjs/helper-wasm-bytecode@1.13.2': {} - '@webassemblyjs/helper-wasm-section@1.12.1': + '@webassemblyjs/helper-wasm-section@1.14.1': dependencies: - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/helper-buffer': 1.12.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - '@webassemblyjs/wasm-gen': 1.12.1 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/wasm-gen': 1.14.1 - '@webassemblyjs/ieee754@1.11.6': + '@webassemblyjs/ieee754@1.13.2': dependencies: '@xtuc/ieee754': 1.2.0 - '@webassemblyjs/leb128@1.11.6': + '@webassemblyjs/leb128@1.13.2': dependencies: '@xtuc/long': 4.2.2 - '@webassemblyjs/utf8@1.11.6': {} + '@webassemblyjs/utf8@1.13.2': {} - '@webassemblyjs/wasm-edit@1.12.1': + '@webassemblyjs/wasm-edit@1.14.1': dependencies: - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/helper-buffer': 1.12.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - '@webassemblyjs/helper-wasm-section': 1.12.1 - '@webassemblyjs/wasm-gen': 1.12.1 - '@webassemblyjs/wasm-opt': 1.12.1 - '@webassemblyjs/wasm-parser': 1.12.1 - '@webassemblyjs/wast-printer': 1.12.1 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/helper-wasm-section': 1.14.1 + '@webassemblyjs/wasm-gen': 1.14.1 + '@webassemblyjs/wasm-opt': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + '@webassemblyjs/wast-printer': 1.14.1 - '@webassemblyjs/wasm-gen@1.12.1': + '@webassemblyjs/wasm-gen@1.14.1': dependencies: - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - '@webassemblyjs/ieee754': 1.11.6 - '@webassemblyjs/leb128': 1.11.6 - '@webassemblyjs/utf8': 1.11.6 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/ieee754': 1.13.2 + '@webassemblyjs/leb128': 1.13.2 + '@webassemblyjs/utf8': 1.13.2 - '@webassemblyjs/wasm-opt@1.12.1': + '@webassemblyjs/wasm-opt@1.14.1': dependencies: - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/helper-buffer': 1.12.1 - '@webassemblyjs/wasm-gen': 1.12.1 - '@webassemblyjs/wasm-parser': 1.12.1 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/wasm-gen': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 - '@webassemblyjs/wasm-parser@1.12.1': + '@webassemblyjs/wasm-parser@1.14.1': dependencies: - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/helper-api-error': 1.11.6 - '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - '@webassemblyjs/ieee754': 1.11.6 - '@webassemblyjs/leb128': 1.11.6 - '@webassemblyjs/utf8': 1.11.6 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-api-error': 1.13.2 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/ieee754': 1.13.2 + '@webassemblyjs/leb128': 1.13.2 + '@webassemblyjs/utf8': 1.13.2 - '@webassemblyjs/wast-printer@1.12.1': + '@webassemblyjs/wast-printer@1.14.1': dependencies: - '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/ast': 1.14.1 '@xtuc/long': 4.2.2 '@webcomponents/custom-elements@1.6.0': {} @@ -9315,6 +9330,13 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 + ajv@8.12.0: + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + ajv@8.17.1: dependencies: fast-deep-equal: 3.1.3 @@ -9380,7 +9402,7 @@ snapshots: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.3 + es-abstract: 1.23.5 es-object-atoms: 1.0.0 get-intrinsic: 1.2.4 is-string: 1.0.7 @@ -9393,7 +9415,7 @@ snapshots: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.3 + es-abstract: 1.23.5 es-errors: 1.3.0 es-object-atoms: 1.0.0 es-shim-unscopables: 1.0.2 @@ -9402,7 +9424,7 @@ snapshots: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.3 + es-abstract: 1.23.5 es-errors: 1.3.0 es-object-atoms: 1.0.0 es-shim-unscopables: 1.0.2 @@ -9411,21 +9433,21 @@ snapshots: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.3 + es-abstract: 1.23.5 es-shim-unscopables: 1.0.2 array.prototype.flatmap@1.3.2: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.3 + es-abstract: 1.23.5 es-shim-unscopables: 1.0.2 array.prototype.tosorted@1.1.4: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.3 + es-abstract: 1.23.5 es-errors: 1.3.0 es-shim-unscopables: 1.0.2 @@ -9434,7 +9456,7 @@ snapshots: array-buffer-byte-length: 1.0.1 call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.3 + es-abstract: 1.23.5 es-errors: 1.3.0 get-intrinsic: 1.2.4 is-array-buffer: 3.0.4 @@ -9467,14 +9489,14 @@ snapshots: at-least-node@1.0.0: {} - autoprefixer@10.4.20(postcss@8.4.47): + autoprefixer@10.4.20(postcss@8.4.49): dependencies: browserslist: 4.24.2 - caniuse-lite: 1.0.30001677 + caniuse-lite: 1.0.30001680 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.1.1 - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 available-typed-arrays@1.0.7: @@ -9535,8 +9557,8 @@ snapshots: browserslist@4.24.2: dependencies: - caniuse-lite: 1.0.30001677 - electron-to-chromium: 1.5.51 + caniuse-lite: 1.0.30001680 + electron-to-chromium: 1.5.62 node-releases: 2.0.18 update-browserslist-db: 1.1.1(browserslist@4.24.2) @@ -9575,11 +9597,11 @@ snapshots: caniuse-api@3.0.0: dependencies: browserslist: 4.24.2 - caniuse-lite: 1.0.30001677 + caniuse-lite: 1.0.30001680 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 - caniuse-lite@1.0.30001677: {} + caniuse-lite@1.0.30001680: {} ccount@2.0.1: {} @@ -9647,7 +9669,7 @@ snapshots: parse5: 7.2.1 parse5-htmlparser2-tree-adapter: 7.1.0 parse5-parser-stream: 7.1.2 - undici: 6.20.1 + undici: 6.21.0 whatwg-mimetype: 4.0.0 chokidar@3.6.0: @@ -9666,7 +9688,7 @@ snapshots: dependencies: readdirp: 4.0.2 - chromatic@11.16.5: {} + chromatic@11.18.1: {} chrome-extension-toolkit@0.0.54: dependencies: @@ -9881,9 +9903,9 @@ snapshots: core-util-is@1.0.3: {} - cosmiconfig-typescript-loader@5.1.0(@types/node@22.8.7)(cosmiconfig@9.0.0(typescript@5.6.3))(typescript@5.6.3): + cosmiconfig-typescript-loader@5.1.0(@types/node@22.9.0)(cosmiconfig@9.0.0(typescript@5.6.3))(typescript@5.6.3): dependencies: - '@types/node': 22.8.7 + '@types/node': 22.9.0 cosmiconfig: 9.0.0(typescript@5.6.3) jiti: 1.21.6 typescript: 5.6.3 @@ -9914,7 +9936,7 @@ snapshots: optionalDependencies: typescript: 5.6.3 - cross-spawn@7.0.3: + cross-spawn@7.0.5: dependencies: path-key: 3.1.1 shebang-command: 2.0.0 @@ -9928,9 +9950,9 @@ snapshots: dependencies: tiny-invariant: 1.3.3 - css-declaration-sorter@7.2.0(postcss@8.4.47): + css-declaration-sorter@7.2.0(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 css-select@5.1.0: dependencies: @@ -9961,60 +9983,60 @@ snapshots: cssesc@3.0.0: {} - cssnano-preset-advanced@7.0.6(postcss@8.4.47): + cssnano-preset-advanced@7.0.6(postcss@8.4.49): dependencies: - autoprefixer: 10.4.20(postcss@8.4.47) + autoprefixer: 10.4.20(postcss@8.4.49) browserslist: 4.24.2 - cssnano-preset-default: 7.0.6(postcss@8.4.47) - postcss: 8.4.47 - postcss-discard-unused: 7.0.3(postcss@8.4.47) - postcss-merge-idents: 7.0.0(postcss@8.4.47) - postcss-reduce-idents: 7.0.0(postcss@8.4.47) - postcss-zindex: 7.0.0(postcss@8.4.47) + cssnano-preset-default: 7.0.6(postcss@8.4.49) + postcss: 8.4.49 + postcss-discard-unused: 7.0.3(postcss@8.4.49) + postcss-merge-idents: 7.0.0(postcss@8.4.49) + postcss-reduce-idents: 7.0.0(postcss@8.4.49) + postcss-zindex: 7.0.0(postcss@8.4.49) - cssnano-preset-default@7.0.6(postcss@8.4.47): + cssnano-preset-default@7.0.6(postcss@8.4.49): dependencies: browserslist: 4.24.2 - css-declaration-sorter: 7.2.0(postcss@8.4.47) - cssnano-utils: 5.0.0(postcss@8.4.47) - postcss: 8.4.47 - postcss-calc: 10.0.2(postcss@8.4.47) - postcss-colormin: 7.0.2(postcss@8.4.47) - postcss-convert-values: 7.0.4(postcss@8.4.47) - postcss-discard-comments: 7.0.3(postcss@8.4.47) - postcss-discard-duplicates: 7.0.1(postcss@8.4.47) - postcss-discard-empty: 7.0.0(postcss@8.4.47) - postcss-discard-overridden: 7.0.0(postcss@8.4.47) - postcss-merge-longhand: 7.0.4(postcss@8.4.47) - postcss-merge-rules: 7.0.4(postcss@8.4.47) - postcss-minify-font-values: 7.0.0(postcss@8.4.47) - postcss-minify-gradients: 7.0.0(postcss@8.4.47) - postcss-minify-params: 7.0.2(postcss@8.4.47) - postcss-minify-selectors: 7.0.4(postcss@8.4.47) - postcss-normalize-charset: 7.0.0(postcss@8.4.47) - postcss-normalize-display-values: 7.0.0(postcss@8.4.47) - postcss-normalize-positions: 7.0.0(postcss@8.4.47) - postcss-normalize-repeat-style: 7.0.0(postcss@8.4.47) - postcss-normalize-string: 7.0.0(postcss@8.4.47) - postcss-normalize-timing-functions: 7.0.0(postcss@8.4.47) - postcss-normalize-unicode: 7.0.2(postcss@8.4.47) - postcss-normalize-url: 7.0.0(postcss@8.4.47) - postcss-normalize-whitespace: 7.0.0(postcss@8.4.47) - postcss-ordered-values: 7.0.1(postcss@8.4.47) - postcss-reduce-initial: 7.0.2(postcss@8.4.47) - postcss-reduce-transforms: 7.0.0(postcss@8.4.47) - postcss-svgo: 7.0.1(postcss@8.4.47) - postcss-unique-selectors: 7.0.3(postcss@8.4.47) + css-declaration-sorter: 7.2.0(postcss@8.4.49) + cssnano-utils: 5.0.0(postcss@8.4.49) + postcss: 8.4.49 + postcss-calc: 10.0.2(postcss@8.4.49) + postcss-colormin: 7.0.2(postcss@8.4.49) + postcss-convert-values: 7.0.4(postcss@8.4.49) + postcss-discard-comments: 7.0.3(postcss@8.4.49) + postcss-discard-duplicates: 7.0.1(postcss@8.4.49) + postcss-discard-empty: 7.0.0(postcss@8.4.49) + postcss-discard-overridden: 7.0.0(postcss@8.4.49) + postcss-merge-longhand: 7.0.4(postcss@8.4.49) + postcss-merge-rules: 7.0.4(postcss@8.4.49) + postcss-minify-font-values: 7.0.0(postcss@8.4.49) + postcss-minify-gradients: 7.0.0(postcss@8.4.49) + postcss-minify-params: 7.0.2(postcss@8.4.49) + postcss-minify-selectors: 7.0.4(postcss@8.4.49) + postcss-normalize-charset: 7.0.0(postcss@8.4.49) + postcss-normalize-display-values: 7.0.0(postcss@8.4.49) + postcss-normalize-positions: 7.0.0(postcss@8.4.49) + postcss-normalize-repeat-style: 7.0.0(postcss@8.4.49) + postcss-normalize-string: 7.0.0(postcss@8.4.49) + postcss-normalize-timing-functions: 7.0.0(postcss@8.4.49) + postcss-normalize-unicode: 7.0.2(postcss@8.4.49) + postcss-normalize-url: 7.0.0(postcss@8.4.49) + postcss-normalize-whitespace: 7.0.0(postcss@8.4.49) + postcss-ordered-values: 7.0.1(postcss@8.4.49) + postcss-reduce-initial: 7.0.2(postcss@8.4.49) + postcss-reduce-transforms: 7.0.0(postcss@8.4.49) + postcss-svgo: 7.0.1(postcss@8.4.49) + postcss-unique-selectors: 7.0.3(postcss@8.4.49) - cssnano-utils@5.0.0(postcss@8.4.47): + cssnano-utils@5.0.0(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 - cssnano@7.0.6(postcss@8.4.47): + cssnano@7.0.6(postcss@8.4.49): dependencies: - cssnano-preset-default: 7.0.6(postcss@8.4.47) + cssnano-preset-default: 7.0.6(postcss@8.4.49) lilconfig: 3.1.2 - postcss: 8.4.47 + postcss: 8.4.49 csso@5.0.5: dependencies: @@ -10173,7 +10195,7 @@ snapshots: easy-transform-stream@1.0.1: {} - electron-to-chromium@1.5.51: {} + electron-to-chromium@1.5.62: {} emoji-regex@8.0.0: {} @@ -10212,7 +10234,7 @@ snapshots: error-stack-parser-es@0.1.5: {} - es-abstract@1.23.3: + es-abstract@1.23.5: dependencies: array-buffer-byte-length: 1.0.1 arraybuffer.prototype.slice: 1.0.3 @@ -10245,7 +10267,7 @@ snapshots: is-string: 1.0.7 is-typed-array: 1.1.13 is-weakref: 1.0.2 - object-inspect: 1.13.2 + object-inspect: 1.13.3 object-keys: 1.1.1 object.assign: 4.1.5 regexp.prototype.flags: 1.5.3 @@ -10271,7 +10293,7 @@ snapshots: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.3 + es-abstract: 1.23.5 es-errors: 1.3.0 es-set-tostringtag: 2.0.3 function-bind: 1.1.2 @@ -10506,7 +10528,7 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-plugin-jsdoc@50.4.3(eslint@8.57.1): + eslint-plugin-jsdoc@50.5.0(eslint@8.57.1): dependencies: '@es-joy/jsdoccomment': 0.49.0 are-docs-informative: 0.0.2 @@ -10600,6 +10622,11 @@ snapshots: - supports-color - typescript + eslint-plugin-tsdoc@0.3.0: + dependencies: + '@microsoft/tsdoc': 0.15.0 + '@microsoft/tsdoc-config': 0.17.0 + eslint-scope@5.1.1: dependencies: esrecurse: 4.3.0 @@ -10626,7 +10653,7 @@ snapshots: '@ungap/structured-clone': 1.2.0 ajv: 6.12.6 chalk: 4.1.2 - cross-spawn: 7.0.3 + cross-spawn: 7.0.5 debug: 4.3.7 doctrine: 3.0.0 escape-string-regexp: 4.0.0 @@ -10697,7 +10724,7 @@ snapshots: execa@5.1.1: dependencies: - cross-spawn: 7.0.3 + cross-spawn: 7.0.5 get-stream: 6.0.1 human-signals: 2.1.0 is-stream: 2.0.1 @@ -10709,7 +10736,7 @@ snapshots: execa@8.0.1: dependencies: - cross-spawn: 7.0.3 + cross-spawn: 7.0.5 get-stream: 8.0.1 human-signals: 5.0.0 is-stream: 3.0.0 @@ -10722,14 +10749,14 @@ snapshots: execa@9.5.1: dependencies: '@sindresorhus/merge-streams': 4.0.0 - cross-spawn: 7.0.3 + cross-spawn: 7.0.5 figures: 6.1.0 get-stream: 9.0.1 human-signals: 8.0.0 is-plain-obj: 4.1.0 is-stream: 4.0.1 npm-run-path: 6.0.0 - pretty-ms: 9.1.0 + pretty-ms: 9.2.0 signal-exit: 4.1.0 strip-final-newline: 4.0.0 yoctocolors: 2.1.1 @@ -10871,7 +10898,7 @@ snapshots: foreground-child@3.3.0: dependencies: - cross-spawn: 7.0.3 + cross-spawn: 7.0.5 signal-exit: 4.1.0 fork-ts-checker-webpack-plugin@6.5.3(eslint@8.57.1)(typescript@5.6.3)(webpack@5.90.3(esbuild@0.24.0)): @@ -10925,7 +10952,7 @@ snapshots: fs-mkdirp-stream@2.0.1: dependencies: graceful-fs: 4.2.11 - streamx: 2.20.1 + streamx: 2.20.2 fs-monkey@1.0.6: {} @@ -10942,7 +10969,7 @@ snapshots: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.3 + es-abstract: 1.23.5 functions-have-names: 1.2.3 functions-have-names@1.2.3: {} @@ -11033,7 +11060,7 @@ snapshots: is-glob: 4.0.3 is-negated-glob: 1.0.0 normalize-path: 3.0.0 - streamx: 2.20.1 + streamx: 2.20.2 glob-to-regexp@0.4.1: {} @@ -11328,7 +11355,7 @@ snapshots: immer@9.0.21: {} - immutable@4.3.7: {} + immutable@5.0.2: {} import-fresh@3.3.0: dependencies: @@ -11644,7 +11671,7 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 22.8.7 + '@types/node': 22.9.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -11652,6 +11679,8 @@ snapshots: jiti@2.0.0-beta.3: {} + jju@1.4.0: {} + js-tokens@4.0.0: {} js-yaml@4.1.0: @@ -11771,7 +11800,7 @@ snapshots: local-pkg@0.5.0: dependencies: - mlly: 1.7.2 + mlly: 1.7.3 pkg-types: 1.2.1 locate-path@2.0.0: @@ -11904,12 +11933,12 @@ snapshots: 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 + micromark: 4.0.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-decode-string: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 unist-util-stringify-position: 4.0.0 transitivePeerDependencies: - supports-color @@ -11920,7 +11949,7 @@ snapshots: ccount: 2.0.1 devlop: 1.1.0 mdast-util-find-and-replace: 3.0.1 - micromark-util-character: 2.1.0 + micromark-util-character: 2.1.1 mdast-util-gfm-footnote@2.0.0: dependencies: @@ -11928,7 +11957,7 @@ snapshots: devlop: 1.1.0 mdast-util-from-markdown: 2.0.2 mdast-util-to-markdown: 2.1.2 - micromark-util-normalize-identifier: 2.0.0 + micromark-util-normalize-identifier: 2.0.1 transitivePeerDependencies: - supports-color @@ -12021,7 +12050,7 @@ snapshots: '@types/mdast': 4.0.4 '@ungap/structured-clone': 1.2.0 devlop: 1.1.0 - micromark-util-sanitize-uri: 2.0.0 + micromark-util-sanitize-uri: 2.0.1 trim-lines: 3.0.1 unist-util-position: 5.0.0 unist-util-visit: 5.0.0 @@ -12034,8 +12063,8 @@ snapshots: longest-streak: 3.1.0 mdast-util-phrasing: 4.1.0 mdast-util-to-string: 4.0.0 - micromark-util-classify-character: 2.0.0 - micromark-util-decode-string: 2.0.0 + micromark-util-classify-character: 2.0.1 + micromark-util-decode-string: 2.0.1 unist-util-visit: 5.0.0 zwitch: 2.0.4 @@ -12067,71 +12096,71 @@ snapshots: merge2@1.4.1: {} - micromark-core-commonmark@2.0.1: + micromark-core-commonmark@2.0.2: 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 + micromark-factory-destination: 2.0.1 + micromark-factory-label: 2.0.1 + micromark-factory-space: 2.0.1 + micromark-factory-title: 2.0.1 + micromark-factory-whitespace: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-chunked: 2.0.1 + micromark-util-classify-character: 2.0.1 + micromark-util-html-tag-name: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-subtokenize: 2.0.2 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 micromark-extension-gfm-autolink-literal@2.1.0: dependencies: - micromark-util-character: 2.1.0 - micromark-util-sanitize-uri: 2.0.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 + micromark-util-character: 2.1.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 micromark-extension-gfm-footnote@2.1.0: dependencies: devlop: 1.1.0 - micromark-core-commonmark: 2.0.1 - micromark-factory-space: 2.0.0 - micromark-util-character: 2.1.0 - micromark-util-normalize-identifier: 2.0.0 - micromark-util-sanitize-uri: 2.0.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 + micromark-core-commonmark: 2.0.2 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 micromark-extension-gfm-strikethrough@2.1.0: dependencies: devlop: 1.1.0 - micromark-util-chunked: 2.0.0 - micromark-util-classify-character: 2.0.0 - micromark-util-resolve-all: 2.0.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 + micromark-util-chunked: 2.0.1 + micromark-util-classify-character: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 micromark-extension-gfm-table@2.1.0: dependencies: devlop: 1.1.0 - micromark-factory-space: 2.0.0 - micromark-util-character: 2.1.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 micromark-extension-gfm-tagfilter@2.0.0: dependencies: - micromark-util-types: 2.0.0 + micromark-util-types: 2.0.1 micromark-extension-gfm-task-list-item@2.1.0: dependencies: devlop: 1.1.0 - micromark-factory-space: 2.0.0 - micromark-util-character: 2.1.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 micromark-extension-gfm@3.0.0: dependencies: @@ -12141,120 +12170,120 @@ snapshots: micromark-extension-gfm-table: 2.1.0 micromark-extension-gfm-tagfilter: 2.0.0 micromark-extension-gfm-task-list-item: 2.1.0 - micromark-util-combine-extensions: 2.0.0 - micromark-util-types: 2.0.0 + micromark-util-combine-extensions: 2.0.1 + micromark-util-types: 2.0.1 - micromark-factory-destination@2.0.0: + micromark-factory-destination@2.0.1: dependencies: - micromark-util-character: 2.1.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 - micromark-factory-label@2.0.0: + micromark-factory-label@2.0.1: dependencies: devlop: 1.1.0 - micromark-util-character: 2.1.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 - micromark-factory-space@2.0.0: + micromark-factory-space@2.0.1: dependencies: - micromark-util-character: 2.1.0 - micromark-util-types: 2.0.0 + micromark-util-character: 2.1.1 + micromark-util-types: 2.0.1 - micromark-factory-title@2.0.0: + micromark-factory-title@2.0.1: 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 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 - micromark-factory-whitespace@2.0.0: + micromark-factory-whitespace@2.0.1: 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 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 - micromark-util-character@2.1.0: + micromark-util-character@2.1.1: dependencies: - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 - micromark-util-chunked@2.0.0: + micromark-util-chunked@2.0.1: dependencies: - micromark-util-symbol: 2.0.0 + micromark-util-symbol: 2.0.1 - micromark-util-classify-character@2.0.0: + micromark-util-classify-character@2.0.1: dependencies: - micromark-util-character: 2.1.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 - micromark-util-combine-extensions@2.0.0: + micromark-util-combine-extensions@2.0.1: dependencies: - micromark-util-chunked: 2.0.0 - micromark-util-types: 2.0.0 + micromark-util-chunked: 2.0.1 + micromark-util-types: 2.0.1 - micromark-util-decode-numeric-character-reference@2.0.1: + micromark-util-decode-numeric-character-reference@2.0.2: dependencies: - micromark-util-symbol: 2.0.0 + micromark-util-symbol: 2.0.1 - micromark-util-decode-string@2.0.0: + micromark-util-decode-string@2.0.1: 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 + micromark-util-character: 2.1.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-symbol: 2.0.1 - micromark-util-encode@2.0.0: {} + micromark-util-encode@2.0.1: {} - micromark-util-html-tag-name@2.0.0: {} + micromark-util-html-tag-name@2.0.1: {} - micromark-util-normalize-identifier@2.0.0: + micromark-util-normalize-identifier@2.0.1: dependencies: - micromark-util-symbol: 2.0.0 + micromark-util-symbol: 2.0.1 - micromark-util-resolve-all@2.0.0: + micromark-util-resolve-all@2.0.1: dependencies: - micromark-util-types: 2.0.0 + micromark-util-types: 2.0.1 - micromark-util-sanitize-uri@2.0.0: + micromark-util-sanitize-uri@2.0.1: dependencies: - micromark-util-character: 2.1.0 - micromark-util-encode: 2.0.0 - micromark-util-symbol: 2.0.0 + micromark-util-character: 2.1.1 + micromark-util-encode: 2.0.1 + micromark-util-symbol: 2.0.1 - micromark-util-subtokenize@2.0.1: + micromark-util-subtokenize@2.0.2: dependencies: devlop: 1.1.0 - micromark-util-chunked: 2.0.0 - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 + micromark-util-chunked: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 - micromark-util-symbol@2.0.0: {} + micromark-util-symbol@2.0.1: {} - micromark-util-types@2.0.0: {} + micromark-util-types@2.0.1: {} - micromark@4.0.0: + micromark@4.0.1: dependencies: '@types/debug': 4.1.12 debug: 4.3.7 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 + micromark-core-commonmark: 2.0.2 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-chunked: 2.0.1 + micromark-util-combine-extensions: 2.0.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-encode: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-subtokenize: 2.0.2 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 transitivePeerDependencies: - supports-color @@ -12289,7 +12318,7 @@ snapshots: minipass@7.1.2: {} - mlly@1.7.2: + mlly@1.7.3: dependencies: acorn: 8.14.0 pathe: 1.1.2 @@ -12376,7 +12405,7 @@ snapshots: object-assign@4.1.1: {} - object-inspect@1.13.2: {} + object-inspect@1.13.3: {} object-keys@1.1.1: {} @@ -12404,14 +12433,14 @@ snapshots: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.3 + es-abstract: 1.23.5 es-object-atoms: 1.0.0 object.groupby@1.0.3: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.3 + es-abstract: 1.23.5 object.pick@1.3.0: dependencies: @@ -12566,7 +12595,7 @@ snapshots: dependencies: '@babel/code-frame': 7.26.2 index-to-position: 0.1.2 - type-fest: 4.26.1 + type-fest: 4.27.0 parse-ms@4.0.0: {} @@ -12649,7 +12678,7 @@ snapshots: pkg-types@1.2.1: dependencies: confbox: 0.1.8 - mlly: 1.7.2 + mlly: 1.7.3 pathe: 1.1.2 pkg-up@3.1.0: @@ -12666,158 +12695,158 @@ snapshots: possible-typed-array-names@1.0.0: {} - postcss-calc@10.0.2(postcss@8.4.47): + postcss-calc@10.0.2(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-selector-parser: 6.1.2 postcss-value-parser: 4.2.0 - postcss-colormin@7.0.2(postcss@8.4.47): + postcss-colormin@7.0.2(postcss@8.4.49): dependencies: browserslist: 4.24.2 caniuse-api: 3.0.0 colord: 2.9.3 - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-convert-values@7.0.4(postcss@8.4.47): + postcss-convert-values@7.0.4(postcss@8.4.49): dependencies: browserslist: 4.24.2 - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-discard-comments@7.0.3(postcss@8.4.47): + postcss-discard-comments@7.0.3(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-selector-parser: 6.1.2 - postcss-discard-duplicates@7.0.1(postcss@8.4.47): + postcss-discard-duplicates@7.0.1(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 - postcss-discard-empty@7.0.0(postcss@8.4.47): + postcss-discard-empty@7.0.0(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 - postcss-discard-overridden@7.0.0(postcss@8.4.47): + postcss-discard-overridden@7.0.0(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 - postcss-discard-unused@7.0.3(postcss@8.4.47): + postcss-discard-unused@7.0.3(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-selector-parser: 6.1.2 - postcss-merge-idents@7.0.0(postcss@8.4.47): + postcss-merge-idents@7.0.0(postcss@8.4.49): dependencies: - cssnano-utils: 5.0.0(postcss@8.4.47) - postcss: 8.4.47 + cssnano-utils: 5.0.0(postcss@8.4.49) + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-merge-longhand@7.0.4(postcss@8.4.47): + postcss-merge-longhand@7.0.4(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 - stylehacks: 7.0.4(postcss@8.4.47) + stylehacks: 7.0.4(postcss@8.4.49) - postcss-merge-rules@7.0.4(postcss@8.4.47): + postcss-merge-rules@7.0.4(postcss@8.4.49): dependencies: browserslist: 4.24.2 caniuse-api: 3.0.0 - cssnano-utils: 5.0.0(postcss@8.4.47) - postcss: 8.4.47 + cssnano-utils: 5.0.0(postcss@8.4.49) + postcss: 8.4.49 postcss-selector-parser: 6.1.2 - postcss-minify-font-values@7.0.0(postcss@8.4.47): + postcss-minify-font-values@7.0.0(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-minify-gradients@7.0.0(postcss@8.4.47): + postcss-minify-gradients@7.0.0(postcss@8.4.49): dependencies: colord: 2.9.3 - cssnano-utils: 5.0.0(postcss@8.4.47) - postcss: 8.4.47 + cssnano-utils: 5.0.0(postcss@8.4.49) + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-minify-params@7.0.2(postcss@8.4.47): + postcss-minify-params@7.0.2(postcss@8.4.49): dependencies: browserslist: 4.24.2 - cssnano-utils: 5.0.0(postcss@8.4.47) - postcss: 8.4.47 + cssnano-utils: 5.0.0(postcss@8.4.49) + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-minify-selectors@7.0.4(postcss@8.4.47): + postcss-minify-selectors@7.0.4(postcss@8.4.49): dependencies: cssesc: 3.0.0 - postcss: 8.4.47 + postcss: 8.4.49 postcss-selector-parser: 6.1.2 - postcss-normalize-charset@7.0.0(postcss@8.4.47): + postcss-normalize-charset@7.0.0(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 - postcss-normalize-display-values@7.0.0(postcss@8.4.47): + postcss-normalize-display-values@7.0.0(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-normalize-positions@7.0.0(postcss@8.4.47): + postcss-normalize-positions@7.0.0(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-normalize-repeat-style@7.0.0(postcss@8.4.47): + postcss-normalize-repeat-style@7.0.0(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-normalize-string@7.0.0(postcss@8.4.47): + postcss-normalize-string@7.0.0(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-normalize-timing-functions@7.0.0(postcss@8.4.47): + postcss-normalize-timing-functions@7.0.0(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-normalize-unicode@7.0.2(postcss@8.4.47): + postcss-normalize-unicode@7.0.2(postcss@8.4.49): dependencies: browserslist: 4.24.2 - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-normalize-url@7.0.0(postcss@8.4.47): + postcss-normalize-url@7.0.0(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-normalize-whitespace@7.0.0(postcss@8.4.47): + postcss-normalize-whitespace@7.0.0(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-ordered-values@7.0.1(postcss@8.4.47): + postcss-ordered-values@7.0.1(postcss@8.4.49): dependencies: - cssnano-utils: 5.0.0(postcss@8.4.47) - postcss: 8.4.47 + cssnano-utils: 5.0.0(postcss@8.4.49) + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-reduce-idents@7.0.0(postcss@8.4.47): + postcss-reduce-idents@7.0.0(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-reduce-initial@7.0.2(postcss@8.4.47): + postcss-reduce-initial@7.0.2(postcss@8.4.49): dependencies: browserslist: 4.24.2 caniuse-api: 3.0.0 - postcss: 8.4.47 + postcss: 8.4.49 - postcss-reduce-transforms@7.0.0(postcss@8.4.47): + postcss-reduce-transforms@7.0.0(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 postcss-selector-parser@6.1.2: @@ -12825,24 +12854,24 @@ snapshots: cssesc: 3.0.0 util-deprecate: 1.0.2 - postcss-svgo@7.0.1(postcss@8.4.47): + postcss-svgo@7.0.1(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 svgo: 3.3.2 - postcss-unique-selectors@7.0.3(postcss@8.4.47): + postcss-unique-selectors@7.0.3(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-selector-parser: 6.1.2 postcss-value-parser@4.2.0: {} - postcss-zindex@7.0.0(postcss@8.4.47): + postcss-zindex@7.0.0(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 - postcss@8.4.47: + postcss@8.4.49: dependencies: nanoid: 3.3.7 picocolors: 1.1.1 @@ -12868,7 +12897,7 @@ snapshots: ansi-styles: 5.2.0 react-is: 18.3.1 - pretty-ms@9.1.0: + pretty-ms@9.2.0: dependencies: parse-ms: 4.0.0 @@ -12931,7 +12960,7 @@ snapshots: address: 1.2.2 browserslist: 4.24.2 chalk: 4.1.2 - cross-spawn: 7.0.3 + cross-spawn: 7.0.5 detect-port-alt: 1.1.6 escape-string-regexp: 4.0.0 filesize: 8.0.7 @@ -13044,14 +13073,14 @@ snapshots: dependencies: find-up-simple: 1.0.0 read-pkg: 9.0.1 - type-fest: 4.26.1 + type-fest: 4.27.0 read-pkg@9.0.1: dependencies: '@types/normalize-package-data': 2.4.4 normalize-package-data: 6.0.2 parse-json: 8.1.0 - type-fest: 4.26.1 + type-fest: 4.27.0 unicorn-magic: 0.1.0 readable-stream@2.3.8: @@ -13103,7 +13132,7 @@ snapshots: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.3 + es-abstract: 1.23.5 es-errors: 1.3.0 get-intrinsic: 1.2.4 globalthis: 1.0.4 @@ -13143,7 +13172,7 @@ snapshots: dependencies: '@types/mdast': 4.0.4 mdast-util-from-markdown: 2.0.2 - micromark-util-types: 2.0.0 + micromark-util-types: 2.0.1 unified: 11.0.5 transitivePeerDependencies: - supports-color @@ -13213,28 +13242,28 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - rollup@4.24.4: + rollup@4.27.2: dependencies: '@types/estree': 1.0.6 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.24.4 - '@rollup/rollup-android-arm64': 4.24.4 - '@rollup/rollup-darwin-arm64': 4.24.4 - '@rollup/rollup-darwin-x64': 4.24.4 - '@rollup/rollup-freebsd-arm64': 4.24.4 - '@rollup/rollup-freebsd-x64': 4.24.4 - '@rollup/rollup-linux-arm-gnueabihf': 4.24.4 - '@rollup/rollup-linux-arm-musleabihf': 4.24.4 - '@rollup/rollup-linux-arm64-gnu': 4.24.4 - '@rollup/rollup-linux-arm64-musl': 4.24.4 - '@rollup/rollup-linux-powerpc64le-gnu': 4.24.4 - '@rollup/rollup-linux-riscv64-gnu': 4.24.4 - '@rollup/rollup-linux-s390x-gnu': 4.24.4 - '@rollup/rollup-linux-x64-gnu': 4.24.4 - '@rollup/rollup-linux-x64-musl': 4.24.4 - '@rollup/rollup-win32-arm64-msvc': 4.24.4 - '@rollup/rollup-win32-ia32-msvc': 4.24.4 - '@rollup/rollup-win32-x64-msvc': 4.24.4 + '@rollup/rollup-android-arm-eabi': 4.27.2 + '@rollup/rollup-android-arm64': 4.27.2 + '@rollup/rollup-darwin-arm64': 4.27.2 + '@rollup/rollup-darwin-x64': 4.27.2 + '@rollup/rollup-freebsd-arm64': 4.27.2 + '@rollup/rollup-freebsd-x64': 4.27.2 + '@rollup/rollup-linux-arm-gnueabihf': 4.27.2 + '@rollup/rollup-linux-arm-musleabihf': 4.27.2 + '@rollup/rollup-linux-arm64-gnu': 4.27.2 + '@rollup/rollup-linux-arm64-musl': 4.27.2 + '@rollup/rollup-linux-powerpc64le-gnu': 4.27.2 + '@rollup/rollup-linux-riscv64-gnu': 4.27.2 + '@rollup/rollup-linux-s390x-gnu': 4.27.2 + '@rollup/rollup-linux-x64-gnu': 4.27.2 + '@rollup/rollup-linux-x64-musl': 4.27.2 + '@rollup/rollup-win32-arm64-msvc': 4.27.2 + '@rollup/rollup-win32-ia32-msvc': 4.27.2 + '@rollup/rollup-win32-x64-msvc': 4.27.2 fsevents: 2.3.3 run-applescript@7.0.0: {} @@ -13266,10 +13295,10 @@ snapshots: safer-buffer@2.1.2: {} - sass@1.80.6: + sass@1.81.0: dependencies: chokidar: 4.0.1 - immutable: 4.3.7 + immutable: 5.0.2 source-map-js: 1.2.1 optionalDependencies: '@parcel/watcher': 2.5.0 @@ -13294,7 +13323,7 @@ snapshots: dependencies: '@semantic-release/commit-analyzer': 13.0.0(semantic-release@24.2.0(typescript@5.6.3)) '@semantic-release/error': 4.0.0 - '@semantic-release/github': 11.0.0(semantic-release@24.2.0(typescript@5.6.3)) + '@semantic-release/github': 11.0.1(semantic-release@24.2.0(typescript@5.6.3)) '@semantic-release/npm': 12.0.1(semantic-release@24.2.0(typescript@5.6.3)) '@semantic-release/release-notes-generator': 14.0.1(semantic-release@24.2.0(typescript@5.6.3)) aggregate-error: 5.0.0 @@ -13372,7 +13401,7 @@ snapshots: call-bind: 1.0.7 es-errors: 1.3.0 get-intrinsic: 1.2.4 - object-inspect: 1.13.2 + object-inspect: 1.13.3 siginfo@2.0.0: {} @@ -13471,11 +13500,11 @@ snapshots: stackback@0.0.2: {} - std-env@3.7.0: {} + std-env@3.8.0: {} - storybook@8.4.1(prettier@3.3.3): + storybook@8.4.4(prettier@3.3.3): dependencies: - '@storybook/core': 8.4.1(prettier@3.3.3) + '@storybook/core': 8.4.4(prettier@3.3.3) optionalDependencies: prettier: 3.3.3 transitivePeerDependencies: @@ -13492,11 +13521,11 @@ snapshots: stream-composer@1.0.2: dependencies: - streamx: 2.20.1 + streamx: 2.20.2 stream-exhaust@1.0.2: {} - streamx@2.20.1: + streamx@2.20.2: dependencies: fast-fifo: 1.3.2 queue-tick: 1.0.1 @@ -13520,7 +13549,7 @@ snapshots: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.3 + es-abstract: 1.23.5 es-errors: 1.3.0 es-object-atoms: 1.0.0 get-intrinsic: 1.2.4 @@ -13534,13 +13563,13 @@ snapshots: string.prototype.repeat@1.0.0: dependencies: define-properties: 1.2.1 - es-abstract: 1.23.3 + es-abstract: 1.23.5 string.prototype.trim@1.2.9: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.3 + es-abstract: 1.23.5 es-object-atoms: 1.0.0 string.prototype.trimend@1.0.8: @@ -13600,10 +13629,10 @@ snapshots: dependencies: inline-style-parser: 0.2.4 - stylehacks@7.0.4(postcss@8.4.47): + stylehacks@7.0.4(postcss@8.4.49): dependencies: browserslist: 4.24.2 - postcss: 8.4.47 + postcss: 8.4.49 postcss-selector-parser: 6.1.2 super-regex@1.0.0: @@ -13659,7 +13688,7 @@ snapshots: teex@1.0.1: dependencies: - streamx: 2.20.1 + streamx: 2.20.2 temp-dir@3.0.0: {} @@ -13734,7 +13763,7 @@ snapshots: fdir: 6.4.2(picomatch@4.0.2) picomatch: 4.0.2 - tinypool@1.0.1: {} + tinypool@1.0.2: {} tinyrainbow@1.2.0: {} @@ -13746,7 +13775,7 @@ snapshots: to-through@3.0.0: dependencies: - streamx: 2.20.1 + streamx: 2.20.2 totalist@3.0.1: {} @@ -13803,7 +13832,7 @@ snapshots: type-fest@2.19.0: {} - type-fest@4.26.1: {} + type-fest@4.27.0: {} typed-array-buffer@1.0.2: dependencies: @@ -13874,7 +13903,7 @@ snapshots: undici-types@6.19.8: {} - undici@6.20.1: {} + undici@6.21.0: {} unicode-emoji-modifier-base@1.0.0: {} @@ -13927,12 +13956,12 @@ snapshots: dependencies: '@unocss/core': 0.61.9 - unocss@0.63.6(postcss@8.4.47)(rollup@4.24.4)(typescript@5.6.3)(vite@5.4.10(@types/node@22.8.7)(sass@1.80.6)(terser@5.36.0)): + unocss@0.63.6(postcss@8.4.49)(rollup@4.27.2)(typescript@5.6.3)(vite@5.4.11(@types/node@22.9.0)(sass@1.81.0)(terser@5.36.0)): dependencies: - '@unocss/astro': 0.63.6(rollup@4.24.4)(typescript@5.6.3)(vite@5.4.10(@types/node@22.8.7)(sass@1.80.6)(terser@5.36.0)) - '@unocss/cli': 0.63.6(rollup@4.24.4) + '@unocss/astro': 0.63.6(rollup@4.27.2)(typescript@5.6.3)(vite@5.4.11(@types/node@22.9.0)(sass@1.81.0)(terser@5.36.0)) + '@unocss/cli': 0.63.6(rollup@4.27.2) '@unocss/core': 0.63.6 - '@unocss/postcss': 0.63.6(postcss@8.4.47) + '@unocss/postcss': 0.63.6(postcss@8.4.49) '@unocss/preset-attributify': 0.63.6 '@unocss/preset-icons': 0.63.6 '@unocss/preset-mini': 0.63.6 @@ -13945,16 +13974,16 @@ snapshots: '@unocss/transformer-compile-class': 0.63.6 '@unocss/transformer-directives': 0.63.6 '@unocss/transformer-variant-group': 0.63.6 - '@unocss/vite': 0.63.6(patch_hash=5ptgy7mbavmjf7zwexb7dph4ji)(rollup@4.24.4)(typescript@5.6.3)(vite@5.4.10(@types/node@22.8.7)(sass@1.80.6)(terser@5.36.0)) + '@unocss/vite': 0.63.6(patch_hash=5ptgy7mbavmjf7zwexb7dph4ji)(rollup@4.27.2)(typescript@5.6.3)(vite@5.4.11(@types/node@22.9.0)(sass@1.81.0)(terser@5.36.0)) optionalDependencies: - vite: 5.4.10(@types/node@22.8.7)(sass@1.80.6)(terser@5.36.0) + vite: 5.4.11(@types/node@22.9.0)(sass@1.81.0)(terser@5.36.0) transitivePeerDependencies: - postcss - rollup - supports-color - typescript - unplugin-icons@0.19.3(@svgr/core@8.1.0(typescript@5.6.3))(@vue/compiler-sfc@3.5.12)(webpack-sources@3.2.3): + unplugin-icons@0.19.3(@svgr/core@8.1.0(typescript@5.6.3))(@vue/compiler-sfc@3.5.13): dependencies: '@antfu/install-pkg': 0.4.1 '@antfu/utils': 0.7.10 @@ -13962,20 +13991,17 @@ snapshots: debug: 4.3.7 kolorist: 1.8.0 local-pkg: 0.5.0 - unplugin: 1.15.0(webpack-sources@3.2.3) + unplugin: 1.16.0 optionalDependencies: '@svgr/core': 8.1.0(typescript@5.6.3) - '@vue/compiler-sfc': 3.5.12 + '@vue/compiler-sfc': 3.5.13 transitivePeerDependencies: - supports-color - - webpack-sources - unplugin@1.15.0(webpack-sources@3.2.3): + unplugin@1.16.0: dependencies: acorn: 8.14.0 webpack-virtual-modules: 0.6.2 - optionalDependencies: - webpack-sources: 3.2.3 update-browserslist-db@1.1.1(browserslist@4.24.2): dependencies: @@ -14048,7 +14074,7 @@ snapshots: normalize-path: 3.0.0 resolve-options: 2.0.0 stream-composer: 1.0.2 - streamx: 2.20.1 + streamx: 2.20.2 to-through: 3.0.0 value-or-function: 4.0.0 vinyl: 3.0.0 @@ -14059,7 +14085,7 @@ snapshots: convert-source-map: 2.0.0 graceful-fs: 4.2.11 now-and-later: 3.0.0 - streamx: 2.20.1 + streamx: 2.20.2 vinyl: 3.0.0 vinyl-contents: 2.0.0 @@ -14071,12 +14097,13 @@ snapshots: replace-ext: 2.0.0 teex: 1.0.1 - vite-node@2.1.4(@types/node@22.8.7)(sass@1.80.6)(terser@5.36.0): + vite-node@2.1.5(@types/node@22.9.0)(sass@1.81.0)(terser@5.36.0): dependencies: cac: 6.7.14 debug: 4.3.7 + es-module-lexer: 1.5.4 pathe: 1.1.2 - vite: 5.4.10(@types/node@22.8.7)(sass@1.80.6)(terser@5.36.0) + vite: 5.4.11(@types/node@22.9.0)(sass@1.81.0)(terser@5.36.0) transitivePeerDependencies: - '@types/node' - less @@ -14088,10 +14115,10 @@ snapshots: - supports-color - terser - vite-plugin-inspect@0.8.7(rollup@4.24.4)(vite@5.4.10(@types/node@22.8.7)(sass@1.80.6)(terser@5.36.0)): + vite-plugin-inspect@0.8.7(rollup@4.27.2)(vite@5.4.11(@types/node@22.9.0)(sass@1.81.0)(terser@5.36.0)): dependencies: '@antfu/utils': 0.7.10 - '@rollup/pluginutils': 5.1.3(rollup@4.24.4) + '@rollup/pluginutils': 5.1.3(rollup@4.27.2) debug: 4.3.7 error-stack-parser-es: 0.1.5 fs-extra: 11.2.0 @@ -14099,47 +14126,47 @@ snapshots: perfect-debounce: 1.0.0 picocolors: 1.1.1 sirv: 2.0.4 - vite: 5.4.10(@types/node@22.8.7)(sass@1.80.6)(terser@5.36.0) + vite: 5.4.11(@types/node@22.9.0)(sass@1.81.0)(terser@5.36.0) transitivePeerDependencies: - rollup - supports-color - vite@5.4.10(@types/node@22.8.7)(sass@1.80.6)(terser@5.36.0): + vite@5.4.11(@types/node@22.9.0)(sass@1.81.0)(terser@5.36.0): dependencies: esbuild: 0.21.5 - postcss: 8.4.47 - rollup: 4.24.4 + postcss: 8.4.49 + rollup: 4.27.2 optionalDependencies: - '@types/node': 22.8.7 + '@types/node': 22.9.0 fsevents: 2.3.3 - sass: 1.80.6 + sass: 1.81.0 terser: 5.36.0 - vitest@2.1.4(@types/node@22.8.7)(@vitest/ui@2.1.4)(sass@1.80.6)(terser@5.36.0): + vitest@2.1.5(@types/node@22.9.0)(@vitest/ui@2.1.5)(sass@1.81.0)(terser@5.36.0): dependencies: - '@vitest/expect': 2.1.4 - '@vitest/mocker': 2.1.4(vite@5.4.10(@types/node@22.8.7)(sass@1.80.6)(terser@5.36.0)) - '@vitest/pretty-format': 2.1.4 - '@vitest/runner': 2.1.4 - '@vitest/snapshot': 2.1.4 - '@vitest/spy': 2.1.4 - '@vitest/utils': 2.1.4 + '@vitest/expect': 2.1.5 + '@vitest/mocker': 2.1.5(vite@5.4.11(@types/node@22.9.0)(sass@1.81.0)(terser@5.36.0)) + '@vitest/pretty-format': 2.1.5 + '@vitest/runner': 2.1.5 + '@vitest/snapshot': 2.1.5 + '@vitest/spy': 2.1.5 + '@vitest/utils': 2.1.5 chai: 5.1.2 debug: 4.3.7 expect-type: 1.1.0 magic-string: 0.30.12 pathe: 1.1.2 - std-env: 3.7.0 + std-env: 3.8.0 tinybench: 2.9.0 tinyexec: 0.3.1 - tinypool: 1.0.1 + tinypool: 1.0.2 tinyrainbow: 1.2.0 - vite: 5.4.10(@types/node@22.8.7)(sass@1.80.6)(terser@5.36.0) - vite-node: 2.1.4(@types/node@22.8.7)(sass@1.80.6)(terser@5.36.0) + vite: 5.4.11(@types/node@22.9.0)(sass@1.81.0)(terser@5.36.0) + vite-node: 2.1.5(@types/node@22.9.0)(sass@1.81.0)(terser@5.36.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.8.7 - '@vitest/ui': 2.1.4(vitest@2.1.4) + '@types/node': 22.9.0 + '@vitest/ui': 2.1.5(vitest@2.1.5) transitivePeerDependencies: - less - lightningcss @@ -14153,17 +14180,17 @@ snapshots: vue-flow-layout@0.0.5(typescript@5.6.3): dependencies: - vue: 3.5.12(typescript@5.6.3) + vue: 3.5.13(typescript@5.6.3) transitivePeerDependencies: - typescript - vue@3.5.12(typescript@5.6.3): + vue@3.5.13(typescript@5.6.3): dependencies: - '@vue/compiler-dom': 3.5.12 - '@vue/compiler-sfc': 3.5.12 - '@vue/runtime-dom': 3.5.12 - '@vue/server-renderer': 3.5.12(vue@3.5.12(typescript@5.6.3)) - '@vue/shared': 3.5.12 + '@vue/compiler-dom': 3.5.13 + '@vue/compiler-sfc': 3.5.13 + '@vue/runtime-dom': 3.5.13 + '@vue/server-renderer': 3.5.13(vue@3.5.13(typescript@5.6.3)) + '@vue/shared': 3.5.13 optionalDependencies: typescript: 5.6.3 @@ -14180,9 +14207,9 @@ snapshots: dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.6 - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/wasm-edit': 1.12.1 - '@webassemblyjs/wasm-parser': 1.12.1 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/wasm-edit': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 acorn: 8.14.0 acorn-import-assertions: 1.9.0(acorn@8.14.0) browserslist: 4.24.2 diff --git a/src/debug/index.tsx b/src/debug/index.tsx index 5b36ab72..f2523841 100644 --- a/src/debug/index.tsx +++ b/src/debug/index.tsx @@ -8,8 +8,8 @@ const manifest = chrome.runtime.getManifest(); /** * Handles editing the storage for a specific area. * - * @param {string} areaName - The name of the storage area. - * @returns {Function} - A function that accepts changes and sets them in the storage. + * @param areaName - The name of the storage area. + * @returns A function that accepts changes and sets them in the storage. */ const handleEditStorage = (areaName: 'local' | 'sync' | 'session') => (changes: Record) => { chrome.storage[areaName].set(changes); diff --git a/src/pages/background/lib/createSchedule.ts b/src/pages/background/lib/createSchedule.ts index da756e02..b2333a4b 100644 --- a/src/pages/background/lib/createSchedule.ts +++ b/src/pages/background/lib/createSchedule.ts @@ -5,8 +5,9 @@ import type { Serialized } from 'chrome-extension-toolkit'; /** * Creates a new schedule with the given name - * @param scheduleName the name of the schedule to create - * @returns undefined if successful, otherwise an error message + * + * @param scheduleName - The name of the schedule to create + * @returns Undefined if successful, otherwise an error message */ export default async function createSchedule(scheduleName: string) { const schedules = await UserScheduleStore.get('schedules'); diff --git a/src/pages/background/lib/duplicateSchedule.ts b/src/pages/background/lib/duplicateSchedule.ts index 1104a958..c76e5b97 100644 --- a/src/pages/background/lib/duplicateSchedule.ts +++ b/src/pages/background/lib/duplicateSchedule.ts @@ -5,8 +5,9 @@ import handleDuplicate from './handleDuplicate'; /** * Creates a new schedule with the given name - * @param scheduleName the name of the schedule to create - * @returns undefined if successful, otherwise an error message + * + * @param scheduleName - The name of the schedule to create + * @returns Undefined if successful, otherwise an error message */ export default async function duplicateSchedule(scheduleId: string): Promise { const schedules = await UserScheduleStore.get('schedules'); diff --git a/src/pages/background/lib/handleDuplicate.ts b/src/pages/background/lib/handleDuplicate.ts index 091a43e2..4626eac2 100644 --- a/src/pages/background/lib/handleDuplicate.ts +++ b/src/pages/background/lib/handleDuplicate.ts @@ -3,9 +3,10 @@ import { UserScheduleStore } from '@shared/storage/UserScheduleStore'; /** * Duplicates a new schedule with the given name. * Assumes that each schedule has a unique name. - * @param scheduleName the name of the schedule to handle duplication for - * @param schedules the list of UserSchedules to find existing names - * @returns the new name for the schedule, of the form `{baseName}({index})` + * + * @param scheduleName - The name of the schedule to handle duplication for + * @param schedules - The list of UserSchedules to find existing names + * @returns The new name for the schedule, of the form `{baseName}({index})` */ export default async function handleDuplicate(scheduleName: string): Promise { const schedules = await UserScheduleStore.get('schedules'); diff --git a/src/shared/messages/CESMessage.ts b/src/shared/messages/CESMessage.ts index dd45354d..97e708ca 100644 --- a/src/shared/messages/CESMessage.ts +++ b/src/shared/messages/CESMessage.ts @@ -2,7 +2,7 @@ interface CESMessage { /** * Opens the CES page for the specified instructor * - * @param data first and last name of the instructor + * @param data - First and last name of the instructor */ openCESPage: (data: { instructorFirstName: string; instructorLastName: string }) => chrome.tabs.Tab; } diff --git a/src/shared/messages/TabManagementMessages.ts b/src/shared/messages/TabManagementMessages.ts index 490962ad..6abc3736 100644 --- a/src/shared/messages/TabManagementMessages.ts +++ b/src/shared/messages/TabManagementMessages.ts @@ -4,17 +4,22 @@ export default interface TabManagementMessages { /** * Opens a new tab with the given URL - * @param data The URL to open + * + * @param data - The URL to open */ openNewTab: (data: { url: string }) => chrome.tabs.Tab; + /** * Gets the ID of the current tab (the tab that sent the message) + * * @returns The ID of the current tab */ getTabId: () => number; + /** * Removes the tab with the given ID - * @param data The ID of the tab to remove + * + * @param data - The ID of the tab to remove * @returns The ID of the tab that was removed */ removeTab: (data: { tabId: number }) => void; diff --git a/src/shared/messages/UserScheduleMessages.ts b/src/shared/messages/UserScheduleMessages.ts index a1a837cd..0416bf63 100644 --- a/src/shared/messages/UserScheduleMessages.ts +++ b/src/shared/messages/UserScheduleMessages.ts @@ -6,48 +6,61 @@ import type { Course } from '@shared/types/Course'; export interface UserScheduleMessages { /** * Add a course to a schedule - * @param data the schedule id and course to add + * + * @param data - The schedule id and course to add */ addCourse: (data: { scheduleId: string; course: Course }) => void; + /** * Adds a course by URL - * @param data + * + * @param data - The URL of the course to add * @returns Response of the requested course URL */ addCourseByURL: (data: { url: string; method: string; body?: string; response: 'json' | 'text' }) => string; + /** * Remove a course from a schedule - * @param data the schedule id and course to remove + * + * @param data - The schedule id and course to remove */ removeCourse: (data: { scheduleId: string; course: Course }) => void; + /** * Clears all courses from a schedule - * @param data the id of the schedule to clear + * + * @param data - The id of the schedule to clear */ clearCourses: (data: { scheduleId: string }) => void; /** * Switches the active schedule to the one specified - * @param data the id of the schedule to switch to + * + * @param data - The id of the schedule to switch to */ switchSchedule: (data: { scheduleId: string }) => void; /** * Creates a new schedule with the specified name - * @param data the name of the schedule to create - * @returns undefined if successful, otherwise an error message + * + * @param data - The name of the schedule to create + * @returns Undefined if successful, otherwise an error message */ createSchedule: (data: { scheduleName: string }) => string | undefined; + /** * Deletes a schedule with the specified name - * @param data the id of the schedule to delete - * @returns undefined if successful, otherwise an error message + * + * @param data - The id of the schedule to delete + * @returns Undefined if successful, otherwise an error message */ deleteSchedule: (data: { scheduleId: string }) => string | undefined; + /** * Renames a schedule with the specified name - * @param data the id of the schedule to rename and the new name - * @returns undefined if successful, otherwise an error message + * + * @param data - The id of the schedule to rename and the new name + * @returns Undefined if successful, otherwise an error message */ renameSchedule: (data: { scheduleId: string; newName: string }) => string | undefined; } diff --git a/src/shared/storage/OptionsStore.ts b/src/shared/storage/OptionsStore.ts index 50e614eb..605b86a7 100644 --- a/src/shared/storage/OptionsStore.ts +++ b/src/shared/storage/OptionsStore.ts @@ -30,7 +30,8 @@ export const OptionsStore = createSyncStore({ /** * Initializes the settings by retrieving the values from the OptionsStore. - * @returns {Promise} A promise that resolves to an object satisfying the IOptionsStore interface. + * + * @returns A promise that resolves to an object satisfying the IOptionsStore interface. */ export const initSettings = async () => ({ diff --git a/src/shared/types/CachedData.ts b/src/shared/types/CachedData.ts index 03c8fc53..f48cfedc 100644 --- a/src/shared/types/CachedData.ts +++ b/src/shared/types/CachedData.ts @@ -1,6 +1,5 @@ /** * Represents cached data with its fetch timestamp - * @template T The type of the cached data */ export type CachedData = { data: T; diff --git a/src/shared/types/Course.ts b/src/shared/types/Course.ts index a8935b46..0e47a957 100644 --- a/src/shared/types/Course.ts +++ b/src/shared/types/Course.ts @@ -95,8 +95,9 @@ export class Course { /** * Gets a list of all the conflicts between this course and another course (i.e. if they have a meeting at the same time) - * @param other another course to compare this course to - * @returns a list of all the conflicts between this course and the other course as a tuple of the two conflicting meetings + * + * @param other - Another course to compare this course to + * @returns A list of all the conflicts between this course and the other course as a tuple of the two conflicting meetings */ getConflicts(other: Course): [CourseMeeting, CourseMeeting][] { const conflicts: [CourseMeeting, CourseMeeting][] = []; diff --git a/src/shared/types/CourseMeeting.ts b/src/shared/types/CourseMeeting.ts index 51f400bb..2119f5b6 100644 --- a/src/shared/types/CourseMeeting.ts +++ b/src/shared/types/CourseMeeting.ts @@ -48,9 +48,10 @@ export class CourseMeeting { /** * Whether or not this meeting conflicts with another meeting - * MWF 10:00 am - 11:00 am conflicts with a F 10:00 am - 10:30 am - * @param meeting the meeting to check for conflicts with - * @returns true if the given meeting conflicts with this meeting, false otherwise + * + * @remarks MWF 10:00 am - 11:00 am conflicts with a F 10:00 am - 10:30 am + * @param meeting - The meeting to check for conflicts with + * @returns True if the given meeting conflicts with this meeting, false otherwise */ isConflicting(meeting: CourseMeeting): boolean { const { days, startTime, endTime } = this; @@ -64,8 +65,9 @@ export class CourseMeeting { /** * Return the string representation of the days of the week that this meeting is taught - * @param options options for the string representation - * @returns string representation of the days of the week that this meeting is taught + * + * @param options - Options for the string representation + * @returns String representation of the days of the week that this meeting is taught */ getDaysString(options: DaysStringOptions): string { let { format, separator } = options; @@ -86,8 +88,9 @@ export class CourseMeeting { /** * Return the string representation of the time range for the course - * @param options options for the string representation - * @returns string representation of the time range for the course + * + * @param options - Options for the string representation + * @returns String representation of the time range for the course */ getTimeString(options: TimeStringOptions): string { const { startTime, endTime } = this; diff --git a/src/shared/types/CourseSchedule.ts b/src/shared/types/CourseSchedule.ts index 968ace7a..2d713e6d 100644 --- a/src/shared/types/CourseSchedule.ts +++ b/src/shared/types/CourseSchedule.ts @@ -20,9 +20,10 @@ export class CourseSchedule { /** * Given a string representation of the meeting information for a class, parse it into a CourseMeeting object - * @param dayLine a string representation of the days of the week that the course is taught: MWF, TR, etc. - * @param timeLine a string representation of a time-range that the course is taught: 10:00 am - 11:00 am, 1:00 pm - 2:00 pm, etc. - * @param locLine a string representation of the location that the course is taught in: JGB 2.302, etc. + * + * @param dayLine - A string representation of the days of the week that the course is taught: MWF, TR, etc. + * @param timeLine - A string representation of a time-range that the course is taught: 10:00 am - 11:00 am, 1:00 pm - 2:00 pm, etc. + * @param locLine - A string representation of the location that the course is taught in: JGB 2.302, etc. * @returns CourseMeeting object representing the meeting information */ static parse(dayLine: string, timeLine: string, locLine: string): CourseMeeting { diff --git a/src/shared/types/Instructor.ts b/src/shared/types/Instructor.ts index f2c1481a..eb5ffd2f 100644 --- a/src/shared/types/Instructor.ts +++ b/src/shared/types/Instructor.ts @@ -18,7 +18,8 @@ export default class Instructor { /** * Get the URL to the instructor's directory page on the UT Directory website - * @returns a URL string to the instructor's directory page + * + * @returns A URL string to the instructor's directory page */ getDirectoryUrl(): string { const name = this.toString({ @@ -36,8 +37,9 @@ export default class Instructor { /** * Get a string representation of the instructor - * @param options the options for how to format the instructor string - * @returns a string representation of the instructor + * + * @param options - The options for how to format the instructor string + * @returns A string representation of the instructor */ toString(options: InstructorFormatOptions): string { const { firstName, lastName, fullName } = this; diff --git a/src/shared/util/colors.ts b/src/shared/util/colors.ts index f0f8fb90..b1640e6e 100644 --- a/src/shared/util/colors.ts +++ b/src/shared/util/colors.ts @@ -33,7 +33,9 @@ export const useableColorways = Object.keys(theme.colors) /** * Generate a Tailwind classname for the font color based on the background color - * @param bgColor the hex color of the background + * + * @param bgColor - The hex color of the background + * @returns The Tailwind classname for the font color */ export function pickFontColor(bgColor: HexColor): 'text-white' | 'text-black' | 'text-theme-black' { const coefficients = [0.2126729, 0.7151522, 0.072175] as const; @@ -56,7 +58,11 @@ export function pickFontColor(bgColor: HexColor): 'text-white' | 'text-black' | /** * Get primary and secondary colors from a Tailwind colorway - * @param colorway the Tailwind colorway ex. "emerald" + * + * @param colorway - The Tailwind colorway ex. "emerald" + * @param index - The index of the primary color in the colorway + * @param offset - The offset to get the secondary color + * @returns The primary and secondary colors */ export function getCourseColors(colorway: TWColorway, index?: number, offset: number = 300): CourseColors { if (index === undefined) { @@ -117,8 +123,12 @@ export function getColorwayFromColor(color: HexColor): TWColorway { /** * Get next unused color in a tailwind colorway for a given schedule - * @param schedule the schedule which the course is in - * @param course the course to get the color for + * + * @param schedule - The schedule which the course is in + * @param course - The course to get the color for + * @param index - The index of the primary color in the colorway + * @param offset - The offset to get the secondary color + * @returns The primary and secondary colors */ export function getUnusedColor( schedule: Serialized, @@ -221,8 +231,9 @@ function rgbToSrgb(rgb: RGB): sRGB { /** * Convert an RGB color to the OKLab color space - * @param rgb the RGB color - * @returns the color in the OKLab color space + * + * @param rgb - The RGB color + * @returns The color in the OKLab color space */ function srgbToOKlab([r, g, b]: sRGB): Lab { let l = 0.4122214708 * r + 0.5363325363 * g + 0.0514459929 * b; diff --git a/src/shared/util/downloadBlob.ts b/src/shared/util/downloadBlob.ts index c7a4db6c..a05ef7ea 100644 --- a/src/shared/util/downloadBlob.ts +++ b/src/shared/util/downloadBlob.ts @@ -3,9 +3,10 @@ import MIMEType from '../types/MIMEType'; /** * Downloads a blob by creating a temporary URL and triggering a download. - * @param blobPart The blob data to be downloaded. - * @param type The MIME type of the blob. - * @param fileName The name of the file to be downloaded. + * + * @param blobPart - The blob data to be downloaded. + * @param type - The MIME type of the blob. + * @param fileName - The name of the file to be downloaded. * @returns A promise that resolves when the download is successful, or rejects with an error if the download fails. */ export function downloadBlob(blobPart: BlobPart, type: MIMETypeKey, fileName: string): Promise { diff --git a/src/shared/util/icons.tsx b/src/shared/util/icons.tsx index 64bf629b..e67163ab 100644 --- a/src/shared/util/icons.tsx +++ b/src/shared/util/icons.tsx @@ -7,12 +7,17 @@ import ClosedIcon from '~icons/material-symbols/lock'; import WaitlistIcon from '~icons/material-symbols/timelapse'; import CancelledIcon from '~icons/material-symbols/warning'; +interface StatusIconProps extends SVGProps { + status: StatusType; +} + /** * Get Icon component based on status - * @param props.status status - * @returns the icon component + * + * @param props - The props for the StatusIcon component + * @returns The rendered icon component */ -export function StatusIcon(props: SVGProps & { status: StatusType }): JSX.Element | null { +export function StatusIcon(props: StatusIconProps): JSX.Element | null { const { status, ...rest } = props; switch (status) { diff --git a/src/shared/util/random.ts b/src/shared/util/random.ts index c1457f06..919efec6 100644 --- a/src/shared/util/random.ts +++ b/src/shared/util/random.ts @@ -3,7 +3,7 @@ import { customAlphabet } from 'nanoid'; /** * Generate secure URL-friendly unique ID. * - * @param size Size of the ID. The default size is 12. + * @param size - Size of the ID. The default size is 12. * @returns A random string. */ export const generateRandomId = customAlphabet('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789', 12); diff --git a/src/shared/util/string.ts b/src/shared/util/string.ts index 8b96986f..2d69bb84 100644 --- a/src/shared/util/string.ts +++ b/src/shared/util/string.ts @@ -1,6 +1,7 @@ /** * Given a string, returns a string with the first letter capitalized. - * @input The string to capitalize. + * + * @param input - The string to capitalize. */ export function capitalize(input: string): string { let capitalized = ''; @@ -25,8 +26,9 @@ export function capitalize(input: string): string { /** * Given a string, returns a string with the first letter capitalized. - * @param input capitalize the first letter of this string - * @returns the string with the first letter capitalized + * + * @param input - Capitalize the first letter of this string + * @returns The string with the first letter capitalized */ export function capitalizeFirstLetter(input: string): string { return input.charAt(0).toUpperCase() + input.slice(1).toLowerCase(); @@ -34,8 +36,9 @@ export function capitalizeFirstLetter(input: string): string { /** * Cuts the input string to the specified length and adds an ellipsis if the string is longer than the specified length. - * @param input The string to ellipsify. - * @param length The length of the string to return. + * + * @param input - The string to ellipsify. + * @param length - The length of the string to return. * @returns The ellipsified string. */ export const ellipsify = (input: string, chars: number): string => { diff --git a/src/shared/util/time.ts b/src/shared/util/time.ts index c461cd99..30c68143 100644 --- a/src/shared/util/time.ts +++ b/src/shared/util/time.ts @@ -6,6 +6,7 @@ export const DAY = 24 * HOUR; /** * Pauses the execution for the specified number of milliseconds. + * * @param milliseconds - The number of milliseconds to sleep. * @returns A promise that resolves after the specified number of milliseconds. */ @@ -14,8 +15,8 @@ export const sleep = (milliseconds: number): Promise => new Promise(resolv /** * Checks to see if expired by the time first stored and the time frame that it is stored for * - * @param time time it was stored - * @param threshold time frame it can be stored for - * @return true if expired, false if the time frame is still in range + * @param time - time it was stored + * @param threshold - time frame it can be stored for + * @returns true if expired, false if the time frame is still in range */ export const didExpire = (time: number, threshold: number): boolean => time + threshold <= Date.now(); diff --git a/src/views/components/calendar/CalendarBottomBar.tsx b/src/views/components/calendar/CalendarBottomBar.tsx index 2657c428..f19a4362 100644 --- a/src/views/components/calendar/CalendarBottomBar.tsx +++ b/src/views/components/calendar/CalendarBottomBar.tsx @@ -20,8 +20,8 @@ type CalendarBottomBarProps = { /** * Renders the bottom bar of the calendar component. * - * @param {Object[]} courses - The list of courses to display in the calendar. - * @returns {JSX.Element} The rendered bottom bar component. + * @param courses - The list of courses to display in the calendar. + * @returns The rendered bottom bar component. */ export default function CalendarBottomBar({ courseCells, setCourse }: CalendarBottomBarProps): JSX.Element { const asyncCourseCells = courseCells?.filter(block => block.async); diff --git a/src/views/components/calendar/CalendarCourseCell.tsx b/src/views/components/calendar/CalendarCourseCell.tsx index 971dc84c..91fd6508 100644 --- a/src/views/components/calendar/CalendarCourseCell.tsx +++ b/src/views/components/calendar/CalendarCourseCell.tsx @@ -26,14 +26,12 @@ export interface CalendarCourseCellProps { /** * Renders a cell for a calendar course. * - * @component - * @param {CalendarCourseCellProps} props - The component props. - * @param {string} props.courseDeptAndInstr - The course department and instructor. - * @param {string} props.timeAndLocation - The time and location of the course. - * @param {StatusType} props.status - The status of the course. - * @param {Colors} props.colors - The colors for styling the cell. - * @param {string} props.className - Additional CSS class name for the cell. - * @returns {JSX.Element} The rendered component. + * @param courseDeptAndInstr - The course department and instructor. + * @param timeAndLocation - The time and location of the course. + * @param status - The status of the course. + * @param colors - The colors for styling the cell. + * @param className - Additional CSS class name for the cell. + * @returns The rendered component. */ export default function CalendarCourseCell({ courseDeptAndInstr, diff --git a/src/views/components/calendar/CalendarCourseCellColorPicker/ColorPatch.tsx b/src/views/components/calendar/CalendarCourseCellColorPicker/ColorPatch.tsx index 692f3077..4ef62596 100644 --- a/src/views/components/calendar/CalendarCourseCellColorPicker/ColorPatch.tsx +++ b/src/views/components/calendar/CalendarCourseCellColorPicker/ColorPatch.tsx @@ -15,12 +15,10 @@ interface ColorPatchProps { /** * Renders a color patch square used in the CalendarCourseCellColorPicker component. * - * @param {Object} props - The component props. - * @param {string} props.color - The color value (as a hex string with a hash prefix) to display in the patch. - * @param {boolean} props.isSelected - Indicates whether the patch is selected. - * @param {Function} props.handleSetSelectedColor - Function from parent component to control selection state of a patch. - * color is a hex string with a hash prefix. - * @returns {JSX.Element} The rendered color patch button. + * @param color - The color value (as a hex string with a hash prefix) to display in the patch. + * @param isSelected - Indicates whether the patch is selected. + * @param handleSetSelectedColor - Function from parent component to control selection state of a patch. + * @returns The rendered color patch button. */ export default function ColorPatch({ color, isSelected, handleSetSelectedColor }: ColorPatchProps): JSX.Element { const handleClick = () => { diff --git a/src/views/components/calendar/CalendarCourseCellColorPicker/CourseCellColorPicker.tsx b/src/views/components/calendar/CalendarCourseCellColorPicker/CourseCellColorPicker.tsx index 8d473851..7768206d 100644 --- a/src/views/components/calendar/CalendarCourseCellColorPicker/CourseCellColorPicker.tsx +++ b/src/views/components/calendar/CalendarCourseCellColorPicker/CourseCellColorPicker.tsx @@ -61,10 +61,14 @@ export interface CourseCellColorPickerProps { } /** - * @param {CourseCellColorPickerProps} props - the props for the component - * @param {React.Dispatch>} props.setSelectedColor - set state function passed down from the parent component - * @param {boolean} props.isInvertColorsToggled - boolean state passed down from the parent component that indicates whether the color picker is in invert colors mode - * @param {React.Dispatch>} props.setIsInvertColorsToggled - set state function passed down from the parent component to set invert colors mode + * The CourseCellColorPicker component that displays a color palette with a list of color patches. + * + * @remarks This component is available when a user hovers over a course cell in their calendar to + * color for the course cell. The user can set any valid hex color they want. + * + * @param setSelectedColor - Set state function passed down from the parent component + * @param isInvertColorsToggled - Boolean state passed down from the parent component that indicates whether the color picker is in invert colors mode + * @param setIsInvertColorsToggled - Set state function passed down from the parent component to set invert colors mode * that will be called when a color is selected. The user can set any valid hex color they want. * * @example @@ -80,9 +84,7 @@ export interface CourseCellColorPickerProps { * ); * ``` * - * @returns {JSX.Element} - the color picker component that displays a color palette with a list of color patches. - * This component is available when a user hovers over a course cell in their calendar to - * color for the course cell. The user can set any valid hex color they want. + * @returns The color picker component that displays a color palette with a list of color patches. */ export default function CourseCellColorPicker({ setSelectedColor: setFinalColor, diff --git a/src/views/components/calendar/CalendarCourseCellColorPicker/HexColorEditor.tsx b/src/views/components/calendar/CalendarCourseCellColorPicker/HexColorEditor.tsx index a9f98d4d..a5fe054c 100644 --- a/src/views/components/calendar/CalendarCourseCellColorPicker/HexColorEditor.tsx +++ b/src/views/components/calendar/CalendarCourseCellColorPicker/HexColorEditor.tsx @@ -14,11 +14,10 @@ export interface HexColorEditorProps { /** * Utility component to allow the user to enter a valid hex color code * - * @param {HexColorEditorProps} props - the props for the component - * @param {string} props.hexCode - the current hex color code displayed in this component. Note that this code does not + * @param hexCode - The current hex color code displayed in this component. Note that this code does not * include the leading '#' character since it is already included in the component. Passed down from the parent component. - * @param {React.Dispatch>} props.setHexCode - set state fn to control the hex color code from parent - * @returns {JSX.Element} - the hex color editor component + * @param setHexCode - Set state fn to control the hex color code from parent + * @returns The HexColorEditor component */ export default function HexColorEditor({ hexCode, setHexCode }: HexColorEditorProps): JSX.Element { const baseColor = React.useMemo(() => getThemeColorHexByName('ut-gray'), []); diff --git a/src/views/components/calendar/CalendarGrid.tsx b/src/views/components/calendar/CalendarGrid.tsx index ce672bfd..3b60fe2b 100644 --- a/src/views/components/calendar/CalendarGrid.tsx +++ b/src/views/components/calendar/CalendarGrid.tsx @@ -43,7 +43,11 @@ function makeGridRow(row: number, cols: number): JSX.Element { /** * Grid of CalendarGridCell components forming the user's course schedule calendar view - * @param props + * + * @param courseCells - The courses to display on the calendar + * @param saturdayClass - Whether the user has a Saturday class + * @param setCourse - Function to set the course to display in the course details panel + * @returns The CalendarGrid component */ export default function CalendarGrid({ courseCells, diff --git a/src/views/components/calendar/CalendarGridCell.tsx b/src/views/components/calendar/CalendarGridCell.tsx index 77426442..334e0151 100644 --- a/src/views/components/calendar/CalendarGridCell.tsx +++ b/src/views/components/calendar/CalendarGridCell.tsx @@ -7,15 +7,18 @@ interface Props { /** * Component representing each 1 hour time block of a calendar - * @param props + * + * @param row - The row of the cell + * @param col - The column of the cell + * @returns The CalendarCell component */ -function CalendarCell(props: Props): JSX.Element { +function CalendarCell({ row, col }: Props): JSX.Element { return (
diff --git a/src/views/components/common/ConflictsWithWarning.tsx b/src/views/components/common/ConflictsWithWarning.tsx index 7284bdf6..1e8706a6 100644 --- a/src/views/components/common/ConflictsWithWarning.tsx +++ b/src/views/components/common/ConflictsWithWarning.tsx @@ -15,7 +15,9 @@ export interface ConflictsWithWarningProps { * The ConflictsWithWarning component is used to display a warning message when a course conflicts * with another course as part of the labels and details section * - * @param props ConflictsWithWarningProps + * @param className - The class name for the component + * @param conflicts - The courses that conflict with the current course + * @returns The ConflictsWithWarning component */ export default function ConflictsWithWarning({ className, conflicts }: ConflictsWithWarningProps): JSX.Element { return ( diff --git a/src/views/components/common/CourseStatus.tsx b/src/views/components/common/CourseStatus.tsx index 5ce92b3d..5bf03ee6 100644 --- a/src/views/components/common/CourseStatus.tsx +++ b/src/views/components/common/CourseStatus.tsx @@ -17,7 +17,9 @@ export interface CourseStatusProps { /** * The CourseStatus component as per the Labels and Details Figma section * - * @param props CourseStatusProps + * @param status - The status of the course + * @param size - The size of the component + * @returns The CourseStatus component */ export default function CourseStatus({ status, size }: CourseStatusProps): JSX.Element { const statusIconSizeClass = clsx({ diff --git a/src/views/components/common/List.tsx b/src/views/components/common/List.tsx index 78c83bb3..267d7e29 100644 --- a/src/views/components/common/List.tsx +++ b/src/views/components/common/List.tsx @@ -70,7 +70,9 @@ function Item(props: { * `List` is a functional component that displays a course meeting. * * @example + * ``` * + * ``` */ function List({ draggables, itemKey, children, onReordered, gap }: ListProps): JSX.Element { const [items, setItems] = useState(wrap(draggables, itemKey)); diff --git a/src/views/components/common/LogoIcon.tsx b/src/views/components/common/LogoIcon.tsx index a307f4dc..33c425b8 100644 --- a/src/views/components/common/LogoIcon.tsx +++ b/src/views/components/common/LogoIcon.tsx @@ -2,10 +2,15 @@ import clsx from 'clsx'; import type { SVGProps } from 'react'; import React from 'react'; +interface LogoIconProps { + className?: string; +} + /** * Renders the logo icon. - * @param {SVGProps} props - The SVG props. - * @returns {JSX.Element} The rendered logo icon. + * + * @param props - The SVG props. + * @returns The rendered logo icon. */ export function LogoIcon(props: SVGProps): JSX.Element { return ( @@ -20,11 +25,11 @@ export function LogoIcon(props: SVGProps): JSX.Element { /** * Renders the small logo. - * @param {Object} props - The component props. - * @param {string} props.className - The class name for the logo container. - * @returns {JSX.Element} The rendered small logo. + * + * @param className - The class name for the logo container. + * @returns The rendered small logo. */ -export function SmallLogo({ className }: { className?: string }): JSX.Element { +export function SmallLogo({ className }: LogoIconProps): JSX.Element { return (
@@ -43,11 +48,11 @@ export function SmallLogo({ className }: { className?: string }): JSX.Element { /** * Renders the large logo. - * @param {Object} props - The component props. - * @param {string} props.className - The class name for the logo container. - * @returns {JSX.Element} The rendered large logo. + * + * @param className - The class name for the logo container. + * @returns The rendered large logo. */ -export function LargeLogo({ className }: { className?: string }): JSX.Element { +export function LargeLogo({ className }: LogoIconProps): JSX.Element { return (
diff --git a/src/views/components/common/PopupCourseBlock.tsx b/src/views/components/common/PopupCourseBlock.tsx index 2b21ea7f..5011c235 100644 --- a/src/views/components/common/PopupCourseBlock.tsx +++ b/src/views/components/common/PopupCourseBlock.tsx @@ -25,7 +25,11 @@ export interface PopupCourseBlockProps { /** * The "course block" to be used in the extension popup. * - * @param props PopupCourseBlockProps + * @param className - The class name to apply to the component. + * @param course - The course object to display. + * @param colors - The colors to use for the course block. + * @param dragHandleProps - The drag handle props for the course block. + * @returns The rendered PopupCourseBlock component. */ export default function PopupCourseBlock({ className, diff --git a/src/views/components/common/Prompt.tsx b/src/views/components/common/Prompt.tsx index cad58e81..9e2f4e2a 100644 --- a/src/views/components/common/Prompt.tsx +++ b/src/views/components/common/Prompt.tsx @@ -18,13 +18,15 @@ export interface PromptDialogProps { /** * A reusable dialog component that can be used to display a prompt to the user. - * @param {PromptDialogProps} props.isOpen - Whether the dialog is open or not. - * @param {Function} props.onClose - A function to call when the user exits the dialog. - * @param {React.ReactElement} props.title - The title of the dialog. - * @param {React.ReactElement} props.content - The content of the dialog. - * @param {React.ReactElement[]} props.children - The buttons to display in the dialog. + * + * @param isOpen - Whether the dialog is open or not. + * @param onClose - A function to call when the user exits the dialog. + * @param title - The title of the dialog. + * @param content - The content of the dialog. + * @param children - The buttons to display in the dialog. + * @returns The rendered PromptDialog component. */ -function PromptDialog({ isOpen, onClose, title, content, children }: PromptDialogProps) { +function PromptDialog({ isOpen, onClose, title, content, children }: PromptDialogProps): JSX.Element { return ( diff --git a/src/views/components/common/ScheduleTotalHoursAndCourses.tsx b/src/views/components/common/ScheduleTotalHoursAndCourses.tsx index 671b1a57..ab57fbff 100644 --- a/src/views/components/common/ScheduleTotalHoursAndCourses.tsx +++ b/src/views/components/common/ScheduleTotalHoursAndCourses.tsx @@ -13,7 +13,10 @@ export interface ScheduleTotalHoursAndCoursesProps { /** * The ScheduleTotalHoursAndCourses as per the Labels and Details Figma section * - * @param props ScheduleTotalHoursAndCoursesProps + * @param scheduleName - The name of the schedule. + * @param totalHours - The total number of hours. + * @param totalCourses - The total number of courses. + * @returns The rendered ScheduleTotalHoursAndCourses component. */ export default function ScheduleTotalHoursAndCourses({ scheduleName, diff --git a/src/views/components/common/SwitchButton.tsx b/src/views/components/common/SwitchButton.tsx index e3844e71..9fd5b0a0 100644 --- a/src/views/components/common/SwitchButton.tsx +++ b/src/views/components/common/SwitchButton.tsx @@ -9,11 +9,9 @@ type ToggleSwitchProps = { /** * A custom switch button component. * - * @component - * @param {Object} props - The component props. - * @param {boolean} [props.isChecked=true] - The initial checked state of the switch button. - * @param {Function} props.onChange - The callback function to be called when the switch button is toggled. - * @returns {JSX.Element} The rendered SwitchButton component. + * @param isChecked - The initial checked state of the switch button. + * @param onChange - The callback function to be called when the switch button is toggled. + * @returns The rendered SwitchButton component. */ const SwitchButton = ({ isChecked = true, onChange }: ToggleSwitchProps): JSX.Element => { const [enabled, setEnabled] = useState(isChecked); diff --git a/src/views/components/common/UpdateText.tsx b/src/views/components/common/UpdateText.tsx index f815aa29..d038588e 100644 --- a/src/views/components/common/UpdateText.tsx +++ b/src/views/components/common/UpdateText.tsx @@ -12,8 +12,7 @@ export type UpdateTextProps = { * UpdateText component displays a message indicating that the extension has been updated * and lists the unique course numbers from the old version. * - * @param props - The properties object. - * @param props.courses - An array of course unique numbers to be displayed. + * @param courses - An array of course unique numbers to be displayed. * @returns The rendered UpdateText component. */ export default function UpdateText({ courses }: UpdateTextProps): JSX.Element { diff --git a/src/views/components/injected/CourseCatalogInjectedPopup/CourseCatalogInjectedPopup.tsx b/src/views/components/injected/CourseCatalogInjectedPopup/CourseCatalogInjectedPopup.tsx index 714e80a7..20797844 100644 --- a/src/views/components/injected/CourseCatalogInjectedPopup/CourseCatalogInjectedPopup.tsx +++ b/src/views/components/injected/CourseCatalogInjectedPopup/CourseCatalogInjectedPopup.tsx @@ -11,19 +11,17 @@ import HeadingAndActions from './HeadingAndActions'; /** * Props for the CourseCatalogInjectedPopup component. */ -export type CourseCatalogInjectedPopupProps = DialogProps & { +export interface CourseCatalogInjectedPopupProps extends DialogProps { course: Course; -}; +} /** * CourseCatalogInjectedPopup component displays a popup with course details. * - * @component - * @param {CourseCatalogInjectedPopupProps} props - The component props. - * @param {Course} props.course - The course object containing course details. - * @param {Schedule} props.activeSchedule - The active schedule object. - * @param {Function} props.onClose - The function to close the popup. - * @returns {JSX.Element} The CourseCatalogInjectedPopup component. + * @param course - The course object containing course details. + * @param activeSchedule - The active schedule object. + * @param onClose - The function to close the popup. + * @returns The CourseCatalogInjectedPopup component. */ function CourseCatalogInjectedPopup({ course, ...rest }: CourseCatalogInjectedPopupProps): JSX.Element { const emptyRef = React.useRef(null); diff --git a/src/views/components/injected/CourseCatalogInjectedPopup/Description.tsx b/src/views/components/injected/CourseCatalogInjectedPopup/Description.tsx index c8ad1872..c8d6a065 100644 --- a/src/views/components/injected/CourseCatalogInjectedPopup/Description.tsx +++ b/src/views/components/injected/CourseCatalogInjectedPopup/Description.tsx @@ -32,10 +32,8 @@ const fetchDescription = async (course: Course): Promise => { /** * Renders the description component. * - * @component - * @param {DescriptionProps} props - The component props. - * @param {Course} props.course - The course for which to display the description. - * @returns {JSX.Element} The rendered description component. + * @param course - The course for which to display the description. + * @returns The rendered description component. */ export default function Description({ course }: DescriptionProps): JSX.Element { const [description, setDescription] = React.useState([]); diff --git a/src/views/components/injected/CourseCatalogInjectedPopup/GradeDistribution.tsx b/src/views/components/injected/CourseCatalogInjectedPopup/GradeDistribution.tsx index 64a862ae..89e0213e 100644 --- a/src/views/components/injected/CourseCatalogInjectedPopup/GradeDistribution.tsx +++ b/src/views/components/injected/CourseCatalogInjectedPopup/GradeDistribution.tsx @@ -48,10 +48,8 @@ const GRADE_COLORS = { /** * Renders the grade distribution chart for a specific course. * - * @component - * @param {GradeDistributionProps} props - The component props. - * @param {Course} props.course - The course for which to display the grade distribution. - * @returns {JSX.Element} The grade distribution chart component. + * @param course - The course for which to display the grade distribution. + * @returns The grade distribution chart component. */ export default function GradeDistribution({ course }: GradeDistributionProps): JSX.Element { const [semester, setSemester] = useState('Aggregate'); diff --git a/src/views/components/injected/CourseCatalogInjectedPopup/HeadingAndActions.tsx b/src/views/components/injected/CourseCatalogInjectedPopup/HeadingAndActions.tsx index 6ba37f59..e9ede71b 100644 --- a/src/views/components/injected/CourseCatalogInjectedPopup/HeadingAndActions.tsx +++ b/src/views/components/injected/CourseCatalogInjectedPopup/HeadingAndActions.tsx @@ -22,6 +22,14 @@ import Reviews from '~icons/material-symbols/reviews'; const { openNewTab, addCourse, removeCourse, openCESPage } = background; +/** + * Capitalizes the first letter of a string and converts the rest of the letters to lowercase. + * + * @param str - The string to be capitalized. + * @returns The capitalized string. + */ +const capitalizeString = (str: string) => str.charAt(0).toUpperCase() + str.slice(1).toLowerCase(); + interface HeadingAndActionProps { /* The course to display */ course: Course; @@ -31,22 +39,13 @@ interface HeadingAndActionProps { onClose: () => void; } -/** - * Capitalizes the first letter of a string and converts the rest of the letters to lowercase. - * - * @param str - The string to be capitalized. - * @returns The capitalized string. - */ -const capitalizeString = (str: string) => str.charAt(0).toUpperCase() + str.slice(1).toLowerCase(); - /** * Renders the heading component for the CoursePopup component. * - * @param {HeadingAndActionProps} props - The component props. - * @param {Course} props.course - The course object containing course details. - * @param {Schedule} props.activeSchedule - The active schedule object. - * @param {Function} props.onClose - The function to close the popup. - * @returns {JSX.Element} The rendered component. + * @param course - The course object containing course details. + * @param activeSchedule - The active schedule object. + * @param onClose - The function to close the popup. + * @returns The rendered component. */ export default function HeadingAndActions({ course, activeSchedule, onClose }: HeadingAndActionProps): JSX.Element { const { courseName, department, number: courseNumber, uniqueId, instructors, flags, schedule, core } = course; diff --git a/src/views/components/injected/RecruitmentBanner/RecruitmentBanner.tsx b/src/views/components/injected/RecruitmentBanner/RecruitmentBanner.tsx index 945b5494..fed0ac65 100644 --- a/src/views/components/injected/RecruitmentBanner/RecruitmentBanner.tsx +++ b/src/views/components/injected/RecruitmentBanner/RecruitmentBanner.tsx @@ -12,6 +12,7 @@ const RECRUIT_FROM_DEPARTMENTS = ['C S', 'ECE', 'MIS', 'CSE', 'EE', 'ITD', 'DES' /** * This adds a new column to the course catalog table header. + * * @returns a react portal to the new column or null if the column has not been created yet. */ export default function RecruitmentBanner(): JSX.Element | null { @@ -53,7 +54,8 @@ export default function RecruitmentBanner(): JSX.Element | null { /** * Determines if recruitment can be done from the current department. - * @returns {boolean} True if recruitment can be done from the current department, false otherwise. + * + * @returns True if recruitment can be done from the current department, false otherwise. */ export const canRecruitFrom = (): boolean => { const params = ['fos_fl', 'fos_cn']; diff --git a/src/views/components/settings/Settings.tsx b/src/views/components/settings/Settings.tsx index 7e27b3ab..de16fc45 100644 --- a/src/views/components/settings/Settings.tsx +++ b/src/views/components/settings/Settings.tsx @@ -1,4 +1,4 @@ -import addCourse from '@pages/background/lib/addCourse'; +// import addCourse from '@pages/background/lib/addCourse'; import { addCourseByURL } from '@pages/background/lib/addCourseByURL'; import { deleteAllSchedules } from '@pages/background/lib/deleteSchedule'; import { initSettings, OptionsStore } from '@shared/storage/OptionsStore'; @@ -14,10 +14,10 @@ import SwitchButton from '@views/components/common/SwitchButton'; import Text from '@views/components/common/Text/Text'; import useChangelog from '@views/hooks/useChangelog'; import useSchedules from '@views/hooks/useSchedules'; -import { CourseCatalogScraper } from '@views/lib/CourseCatalogScraper'; -import getCourseTableRows from '@views/lib/getCourseTableRows'; +// import { CourseCatalogScraper } from '@views/lib/CourseCatalogScraper'; +// import getCourseTableRows from '@views/lib/getCourseTableRows'; import { GitHubStatsService, LONGHORN_DEVELOPERS_ADMINS, LONGHORN_DEVELOPERS_SWE } from '@views/lib/getGitHubStats'; -import { SiteSupport } from '@views/lib/getSiteSupport'; +// import { SiteSupport } from '@views/lib/getSiteSupport'; import { getUpdatedAtDateTimeString } from '@views/lib/getUpdatedAtDateTimeString'; import clsx from 'clsx'; import React, { useCallback, useEffect, useState } from 'react'; diff --git a/src/views/contexts/SentryContext.tsx b/src/views/contexts/SentryContext.tsx index 69fda688..f636c83f 100644 --- a/src/views/contexts/SentryContext.tsx +++ b/src/views/contexts/SentryContext.tsx @@ -21,26 +21,23 @@ export const SentryContext = createContext<[scope: Scope, client: Client]>(undef */ export const useSentryScope = () => useContext(SentryContext); +interface SentryProviderProps { + children: React.ReactNode; + transactionName?: string; + fullInit?: boolean; +} + /** * SentryProvider component initializes and provides Sentry error tracking context to its children. * It ensures that Sentry is not initialized more than once and configures the Sentry client and scope. * - * @param props - The properties object. - * @param props.children - The child components that will have access to the Sentry context. - * @param props.transactionName - Optional name for the Sentry transaction. - * @param props.fullInit - Flag to determine if full initialization of Sentry should be performed. + * @param children - The child components that will have access to the Sentry context. + * @param transactionName - Optional name for the Sentry transaction. + * @param fullInit - Flag to determine if full initialization of Sentry should be performed. * * @returns The Sentry context provider wrapping the children components. */ -export default function SentryProvider({ - children, - transactionName, - fullInit, -}: { - children: React.ReactNode; - transactionName?: string; - fullInit?: boolean; -}): JSX.Element { +export default function SentryProvider({ children, transactionName, fullInit }: SentryProviderProps): JSX.Element { // prevent accidentally initializing sentry twice const parent = useSentryScope(); diff --git a/src/views/hooks/useEnforceScheduleLimit.tsx b/src/views/hooks/useEnforceScheduleLimit.tsx index 13d330d9..782a7ae9 100644 --- a/src/views/hooks/useEnforceScheduleLimit.tsx +++ b/src/views/hooks/useEnforceScheduleLimit.tsx @@ -12,7 +12,7 @@ const SCHEDULE_LIMIT = 10; * If a new schedule can be created without exceeding the limit, the function returns true * Otherwise, display a prompt explaining the limit, and returns false * - * @returns a function, () => boolean + * @returns a callback function that enforces the schedule limit via a dialog */ export function useEnforceScheduleLimit(): () => boolean { const [, schedules] = useSchedules(); diff --git a/src/views/hooks/useFlattenedCourseSchedule.ts b/src/views/hooks/useFlattenedCourseSchedule.ts index 9266fabf..f7e6efd0 100644 --- a/src/views/hooks/useFlattenedCourseSchedule.ts +++ b/src/views/hooks/useFlattenedCourseSchedule.ts @@ -48,7 +48,8 @@ export interface FlattenedCourseSchedule { /** * Converts minutes to an index value. - * @param minutes The number of minutes. + * + * @param minutes - The number of minutes. * @returns The index value. */ export const convertMinutesToIndex = (minutes: number): number => Math.floor((minutes - 420) / 30); diff --git a/src/views/hooks/useInfiniteScroll.ts b/src/views/hooks/useInfiniteScroll.ts index 7d14a493..28e0b462 100644 --- a/src/views/hooks/useInfiniteScroll.ts +++ b/src/views/hooks/useInfiniteScroll.ts @@ -2,7 +2,8 @@ import { useEffect } from 'react'; /** * Hook to execute a callback when the user scrolls to the bottom of the page - * @param callback the function to be called when the user scrolls to the bottom of the page + * + * @param callback - the function to be called when the user scrolls to the bottom of the page * @returns isLoading boolean to indicate if the callback is currently being executed */ diff --git a/src/views/hooks/useKeyPress.ts b/src/views/hooks/useKeyPress.ts index 35bf9ade..3d223f78 100644 --- a/src/views/hooks/useKeyPress.ts +++ b/src/views/hooks/useKeyPress.ts @@ -2,8 +2,9 @@ import { useEffect } from 'react'; /** * Hook that calls a callback when a key is pressed - * @param key the key to listen for - * @param callback the callback to call when the key is pressed + * + * @param key - the key to listen for + * @param callback - the callback to call when the key is pressed */ export function useKeyPress(key: string, callback: (event: KeyboardEvent) => void): void { useEffect(() => { diff --git a/src/views/lib/CourseCatalogScraper.ts b/src/views/lib/CourseCatalogScraper.ts index 23f4d496..cdcd9182 100644 --- a/src/views/lib/CourseCatalogScraper.ts +++ b/src/views/lib/CourseCatalogScraper.ts @@ -46,8 +46,9 @@ export class CourseCatalogScraper { /** * Pass in a list of HTMLtable rows and scrape every course from them - * @param rows the rows of the course catalog table - * @param keepHeaders whether to keep the header rows (which contain the course name) in the output + * + * @param rows - the rows of the course catalog table + * @param keepHeaders - whether to keep the header rows (which contain the course name) in the output * @returns an array of course row objects (which contain courses corresponding to the htmltable row) */ public scrape(rows: NodeListOf | HTMLTableRowElement[], keepHeaders = false): ScrapedRow[] { @@ -109,8 +110,12 @@ export class CourseCatalogScraper { /** * Separate the course name into its department, number, and name - * @example separateCourseName("CS 314H - Honors Discrete Structures") => ["Honors Discrete Structures", "CS", "314H"] - * @param courseFullName the full name of the course (e.g. "CS 314H - Honors Discrete Structures") + * + * @example + * ``` + * separateCourseName("CS 314H - Honors Discrete Structures") => ["Honors Discrete Structures", "CS", "314H"] + * ``` + * @param courseFullName - the full name of the course (e.g. "CS 314H - Honors Discrete Structures") * @returns an array of the course name , department, and number */ separateCourseName(courseFullName: string): [courseName: string, department: string, number: string] { @@ -124,8 +129,9 @@ export class CourseCatalogScraper { /** * Gets how many credit hours the course is worth - * @param courseNumber the course number, CS 314H - * @return the number of credit hours the course is worth + * + * @param courseNumber - the course number, CS 314H + * @returns the number of credit hours the course is worth */ getCreditHours(courseNumber: string): number { let creditHours = Number(courseNumber.split('')[0]); @@ -149,7 +155,8 @@ export class CourseCatalogScraper { /** * Scrape the Unique ID from the course catalog table row - * @param row the row of the course catalog table + * + * @param row - the row of the course catalog table * @returns the uniqueid of the course as a number */ getUniqueId(row: HTMLTableRowElement): number { @@ -162,7 +169,8 @@ export class CourseCatalogScraper { /** * Scrapes the individual URL for a given course that takes you to the course details page - * @param row the row of the course catalog table + * + * @param row - the row of the course catalog table * @returns the url of the course details page for the course in the row */ getURL(row: HTMLTableRowElement): string { @@ -172,7 +180,8 @@ export class CourseCatalogScraper { /** * Scrape who is teaching the course from the course catalog table row with meta-data about their name - * @param row the row of the course catalog table + * + * @param row - the row of the course catalog table * @returns an array of instructors for the course */ getInstructors(row: HTMLTableRowElement): Instructor[] { @@ -197,7 +206,8 @@ export class CourseCatalogScraper { /** * Whether or not this is a header row for a course within the course catalog list (we can't scrape courses from header rows) - * @param row the row of the course catalog table + * + * @param row - the row of the course catalog table * @returns true if this is a header row, false otherwise */ isHeaderRow(row: HTMLTableRowElement): boolean { @@ -206,7 +216,8 @@ export class CourseCatalogScraper { /** * Scrape whether the class is being taught online, in person, or a hybrid of the two - * @param row the row of the course catalog table + * + * @param row - the row of the course catalog table * @returns the instruction mode of the course */ getInstructionMode(row: HTMLTableRowElement): InstructionMode { @@ -223,7 +234,8 @@ export class CourseCatalogScraper { /** * Scrapes the description of the course from the course details page and separates it into an array of cleaned up lines - * @param doc the document of the course details page to scrape + * + * @param doc - the document of the course details page to scrape * @returns an array of lines of the course description */ getDescription(doc: Document): string[] { @@ -273,7 +285,8 @@ export class CourseCatalogScraper { /** * Get the full name of the course from the course catalog table row (e.g. "CS 314H - Honors Discrete Structures") - * @param row the row of the course catalog table + * + * @param row - the row of the course catalog table * @returns the full name of the course */ getFullName(row?: HTMLTableRowElement): string { @@ -286,7 +299,8 @@ export class CourseCatalogScraper { /** * When registration is open, the registration URL will show up in the course catalog table row as a link. This will scrape it from the row. - * @param row the row of the course catalog table + * + * @param row - the row of the course catalog table * @returns the registration URL for the course if it is currently displayed, undefined otherwise */ getRegisterURL(row: HTMLTableRowElement): string | undefined { @@ -296,8 +310,9 @@ export class CourseCatalogScraper { /** * Scrapes whether the course is open, closed, waitlisted, or cancelled - * @param row the row of the course catalog table - * @returns + * + * @param row - the row of the course catalog table + * @returns a tuple of the status of the course and whether the course is reserved */ getStatus(row: HTMLTableRowElement): [status: StatusType, isReserved: boolean] { const div = row.querySelector(TableDataSelector.STATUS); @@ -327,7 +342,8 @@ export class CourseCatalogScraper { /** * At UT, some courses have certain "flags" which aid in graduation. This will scrape the flags from the course catalog table row. - * @param row + * + * @param row - the row of the course catalog table * @returns an array of flags for the course */ getFlags(row: HTMLTableRowElement): string[] { @@ -337,7 +353,8 @@ export class CourseCatalogScraper { /** * Get the list of core curriculum requirements the course satisfies - * @param row + * + * @param row - the row of the course catalog table * @returns an array of core curriculum codes */ getCore(row: HTMLTableRowElement): string[] { @@ -352,7 +369,8 @@ export class CourseCatalogScraper { /** * This will scrape all the time information from the course catalog table row and return it as a CourseSchedule object, which represents all of the meeting timiestimes/places of the course. - * @param row the row of the course catalog table + * + * @param row - the row of the course catalog table * @returns a CourseSchedule object representing all of the meetings of the course */ getSchedule(row: HTMLTableRowElement): CourseSchedule { diff --git a/src/views/lib/database/queryDistribution.ts b/src/views/lib/database/queryDistribution.ts index 10ff08e2..0af31d0d 100644 --- a/src/views/lib/database/queryDistribution.ts +++ b/src/views/lib/database/queryDistribution.ts @@ -12,8 +12,9 @@ type GradeDistributionParams = { }; /** - * fetches the aggregate distribution of grades for a given course from the course db, and the semesters that we have data for - * @param course the course to fetch the distribution for + * Fetches the aggregate distribution of grades for a given course from the course db, and the semesters that we have data for + * + * @param course - the course to fetch the distribution for * @returns a Distribution object containing the distribution of grades for the course, and * an array of semesters that we have the distribution for */ @@ -97,8 +98,9 @@ export async function queryAggregateDistribution(course: Course): Promise<[Distr /** * Creates a SQL query that we can execute on the database to get the distribution of grades for a given course in a given semester - * @param course the course to fetch the distribution for - * @param semester the semester to fetch the distribution for OR null if we want the aggregate distribution + * + * @param course - the course to fetch the distribution for + * @param semester - the semester to fetch the distribution for OR null if we want the aggregate distribution * @returns a SQL query string */ function generateQuery( @@ -131,9 +133,10 @@ function generateQuery( } /** - * fetches the distribution of grades for a semester for a given course from the course db - * @param course the course to fetch the distribution for - * @param semester the semester to fetch the distribution for + * Fetches the distribution of grades for a semester for a given course from the course db + * + * @param course - the course to fetch the distribution for + * @param semester - the semester to fetch the distribution for * @returns a Distribution object containing the distribution of grades for the course */ export async function querySemesterDistribution(course: Course, semester: Semester): Promise<[Distribution, boolean]> { diff --git a/src/views/lib/getCourseTableRows.ts b/src/views/lib/getCourseTableRows.ts index b1a91041..a8766f0f 100644 --- a/src/views/lib/getCourseTableRows.ts +++ b/src/views/lib/getCourseTableRows.ts @@ -2,7 +2,8 @@ const TABLE_ROW_SELECTOR = 'table tbody tr'; /** * Returns an array of all the rows in the course table on the passed in document - * @param doc the document to get the course table rows from + * + * @param doc - the document to get the course table rows from * @returns an array of all the rows in the course table on the passed in document */ export default function getCourseTableRows(doc: Document): HTMLTableRowElement[] { diff --git a/src/views/lib/getSiteSupport.ts b/src/views/lib/getSiteSupport.ts index 89675990..0692f6e6 100644 --- a/src/views/lib/getSiteSupport.ts +++ b/src/views/lib/getSiteSupport.ts @@ -24,7 +24,8 @@ export type SiteSupportType = (typeof SiteSupport)[keyof typeof SiteSupport]; /** * We use this function to determine what page the user is on, and then we can use that information to determine what to do - * @param url the url of the current page + * + * @param url - the url of the current page * @returns a list of page types that the current page is */ export default function getSiteSupport(url: string): SiteSupportType | null { diff --git a/src/views/lib/getUpdatedAtDateTimeString.ts b/src/views/lib/getUpdatedAtDateTimeString.ts index ccfca40a..9228ca8a 100644 --- a/src/views/lib/getUpdatedAtDateTimeString.ts +++ b/src/views/lib/getUpdatedAtDateTimeString.ts @@ -1,7 +1,8 @@ /** + * Returns a formatted string of the last time the schedule was updated. * - * @param updatedAt {number} - The time in milliseconds since the epoch when the schedule was last updated. - * @returns {string} - DateTime formatted as HH:MM AM/PM MM/DD/YYYY + * @param updatedAt - The time in milliseconds since the epoch when the schedule was last updated. + * @returns DateTime formatted as HH:MM AM/PM MM/DD/YYYY */ export function getUpdatedAtDateTimeString(updatedAt: number): string { const updatedAtDate = new Date(updatedAt); diff --git a/src/views/lib/loadNextCourseCatalogPage.ts b/src/views/lib/loadNextCourseCatalogPage.ts index 8b154d5b..d466c97c 100644 --- a/src/views/lib/loadNextCourseCatalogPage.ts +++ b/src/views/lib/loadNextCourseCatalogPage.ts @@ -25,6 +25,7 @@ let nextPageURL = getNextButton(document)?.href; /** * This will scrape the pagination buttons from the course list and use them to load the next page * and then return the table rows from the next page + * * @returns a tuple of the current LoadStatus (whether are currently loading the next page, or if we have reached the end of the course catalog, * or if there was an error loading the next page) and an array of the table rows from the next page (or an empty array * if we have reached the end of the course catalog @@ -67,7 +68,8 @@ export async function loadNextCourseCatalogPage(): Promise<[AutoLoadStatusType, /** * Scrapes the next button from the document - * @param doc the document to get the next button from + * + * @param doc - the document to get the next button from * @returns the next button from the document */ export function getNextButton(doc: Document) { @@ -76,7 +78,8 @@ export function getNextButton(doc: Document) { /** * Removes the next and previous buttons from the document so that we don't load the same page twice - * @param doc the document to remove the next and previous buttons from + * + * @param doc - the document to remove the next and previous buttons from */ export function removePaginationButtons(doc: Document) { const nextButton = doc.querySelectorAll(NEXT_PAGE_BUTTON_SELECTOR);