diff --git a/app/javascript/mastodon/components/carousel/carousel.stories.tsx b/app/javascript/mastodon/components/carousel/carousel.stories.tsx index 5117bc08e35..2b984588698 100644 --- a/app/javascript/mastodon/components/carousel/carousel.stories.tsx +++ b/app/javascript/mastodon/components/carousel/carousel.stories.tsx @@ -1,4 +1,4 @@ -import type { FC } from 'react'; +import type { CSSProperties, FC } from 'react'; import type { Meta, StoryObj } from '@storybook/react-vite'; import { fn, userEvent, expect } from 'storybook/test'; @@ -10,16 +10,19 @@ interface TestSlideProps { id: number; text: string; color: string; + style?: CSSProperties; } const TestSlide: FC = ({ active, text, color, + style, }) => (
@@ -114,7 +117,7 @@ export const DifferentHeights: Story = { args: { items: slides.map((props, index) => ({ ...props, - styles: { height: 100 + index * 100 }, + style: { height: 100 + index * 100 }, })), }, }; diff --git a/app/javascript/mastodon/components/carousel/index.tsx b/app/javascript/mastodon/components/carousel/index.tsx index b4ebf751cab..4fa5952a617 100644 --- a/app/javascript/mastodon/components/carousel/index.tsx +++ b/app/javascript/mastodon/components/carousel/index.tsx @@ -1,4 +1,4 @@ -import { useCallback, useLayoutEffect, useMemo, useRef, useState } from 'react'; +import { useCallback, useMemo, useState } from 'react'; import type { ComponentPropsWithoutRef, ComponentType, @@ -75,10 +75,13 @@ export const Carousel = < }: CarouselProps & ComponentPropsWithoutRef<'div'>) => { // Handle slide change const [slideIndex, setSlideIndex] = useState(0); - const wrapperRef = useRef(null); + const [wrapperElement, setWrapperElement] = useState( + null, + ); + // Handle slide heights - const [currentSlideHeight, setCurrentSlideHeight] = useState( - () => wrapperRef.current?.scrollHeight ?? 0, + const [currentSlideHeight, setCurrentSlideHeight] = useState( + null, ); const previousSlideHeight = usePrevious(currentSlideHeight); const handleSlideChange = useCallback( @@ -92,7 +95,7 @@ export const Carousel = < newIndex = 0; } - const slide = wrapperRef.current?.children[newIndex]; + const slide = wrapperElement?.children[newIndex]; if (slide) { setCurrentSlideHeight(slide.scrollHeight); if (slide instanceof HTMLElement) { @@ -103,26 +106,27 @@ export const Carousel = < return newIndex; }); }, - [items.length, onChangeSlide], + [wrapperElement, items.length, onChangeSlide], ); - const observerRef = useRef(null); - observerRef.current ??= new ResizeObserver(() => { + // Update slide height when the component mounts + if (wrapperElement && currentSlideHeight === null) { handleSlideChange(0); - }); + } + + const [observer] = useState( + () => + new ResizeObserver(() => { + handleSlideChange(0); + }), + ); const wrapperStyles = useSpring({ x: `-${slideIndex * 100}%`, - height: currentSlideHeight, + height: currentSlideHeight ?? 0, // Don't animate from zero to the height of the initial slide immediate: !previousSlideHeight, }); - useLayoutEffect(() => { - // Update slide height when the component mounts - if (currentSlideHeight === 0) { - handleSlideChange(0); - } - }, [currentSlideHeight, handleSlideChange]); // Handle swiping animations const bind = useDrag( @@ -135,12 +139,12 @@ export const Carousel = < handleSlideChange(-1); // We're focusing on the wrapper as the child slides can potentially be inert. // Because of that, only the active slide can be focused anyway. - wrapperRef.current?.focus(); - }, [handleSlideChange]); + wrapperElement?.focus(); + }, [handleSlideChange, wrapperElement]); const handleNext = useCallback(() => { handleSlideChange(1); - wrapperRef.current?.focus(); - }, [handleSlideChange]); + wrapperElement?.focus(); + }, [handleSlideChange, wrapperElement]); const intl = useIntl(); @@ -173,7 +177,7 @@ export const Carousel = < item={itemsProps} renderItem={renderItem} - observer={observerRef.current} + observer={observer} index={index} key={`slide-${itemsProps.id}`} className={classNames(`${classNamePrefix}__slide`, slideClassName, { diff --git a/app/javascript/mastodon/components/dropdown_menu.tsx b/app/javascript/mastodon/components/dropdown_menu.tsx index a38c84eaae6..9c503a4c357 100644 --- a/app/javascript/mastodon/components/dropdown_menu.tsx +++ b/app/javascript/mastodon/components/dropdown_menu.tsx @@ -488,6 +488,8 @@ export const Dropdown = ({ }; if (children) { + // We're just assigning the ref to an element so this is safe + // eslint-disable-next-line react-hooks/refs button = cloneElement(Children.only(children), buttonProps); } else if (icon && iconComponent) { button = ( diff --git a/app/javascript/mastodon/components/form_fields/combobox_field.tsx b/app/javascript/mastodon/components/form_fields/combobox_field.tsx index 6804762e8b7..23223c764a0 100644 --- a/app/javascript/mastodon/components/form_fields/combobox_field.tsx +++ b/app/javascript/mastodon/components/form_fields/combobox_field.tsx @@ -317,6 +317,9 @@ const ComboboxWithRef = ( // Reset scroll & highlight when menu items change useEffect(() => { if (flatItems.length) { + // This only runs when the items change so should be safe from + // cascade renders. + // eslint-disable-next-line react-hooks/set-state-in-effect resetHighlight(); } }, [flatItems, resetHighlight]); diff --git a/app/javascript/mastodon/containers/scroll_container/scroll_context.tsx b/app/javascript/mastodon/containers/scroll_container/scroll_context.tsx index 9de7bf9869e..2c65b054d4d 100644 --- a/app/javascript/mastodon/containers/scroll_container/scroll_context.tsx +++ b/app/javascript/mastodon/containers/scroll_container/scroll_context.tsx @@ -74,6 +74,7 @@ export const ScrollContext: React.FC = ({ * than a ref to simplify the types and ensure it's defined immediately. */ const [scrollBehavior] = useState( + // eslint-disable-next-line react-hooks/refs (): ScrollBehaviorInstance => new ScrollBehavior({ addNavigationListener: history.listen.bind(history), diff --git a/app/javascript/mastodon/features/audio/index.tsx b/app/javascript/mastodon/features/audio/index.tsx index 676f497a7c5..e9c680f0864 100644 --- a/app/javascript/mastodon/features/audio/index.tsx +++ b/app/javascript/mastodon/features/audio/index.tsx @@ -20,9 +20,11 @@ import { SpoilerButton } from 'mastodon/components/spoiler_button'; import { formatTime, getPointerPosition } from 'mastodon/features/video'; import { useAudioContext } from 'mastodon/hooks/useAudioContext'; import { useAudioVisualizer } from 'mastodon/hooks/useAudioVisualizer'; -import { displayMedia, useBlurhash } from 'mastodon/initial_state'; +import { useBlurhash } from 'mastodon/initial_state'; import { playerSettings } from 'mastodon/settings'; +import { useRevealedMedia } from '../../hooks/useRevealedMedia'; + import { AudioVisualizer } from './visualizer'; const messages = defineMessages({ @@ -100,7 +102,7 @@ export const Audio: React.FC<{ const [volume, setVolume] = useState(0.5); const [hovered, setHovered] = useState(false); const [dragging, setDragging] = useState(false); - const [revealed, setRevealed] = useState(false); + const [revealed, setRevealed] = useRevealedMedia({ visible, sensitive }); const playerRef = useRef(null); const audioRef = useRef(null); @@ -177,17 +179,6 @@ export const Audio: React.FC<{ } }, [volume, muted, gainNodeRef]); - useEffect(() => { - if (typeof visible !== 'undefined') { - setRevealed(visible); - } else { - setRevealed( - displayMedia === 'show_all' || - (displayMedia !== 'hide_all' && !sensitive), - ); - } - }, [visible, sensitive]); - useEffect(() => { if (!revealed) { pauseAudio(); diff --git a/app/javascript/mastodon/features/video/index.tsx b/app/javascript/mastodon/features/video/index.tsx index fbbe298c290..41aaebe7916 100644 --- a/app/javascript/mastodon/features/video/index.tsx +++ b/app/javascript/mastodon/features/video/index.tsx @@ -8,6 +8,7 @@ import { useSpring, animated, config } from '@react-spring/web'; import { throttle } from 'lodash'; import type { DeployPictureInPictureCallback } from '@/mastodon/actions/picture_in_picture'; +import { useRevealedMedia } from '@/mastodon/hooks/useRevealedMedia'; import Forward5Icon from '@/material-icons/400-24px/forward_5-fill.svg?react'; import FullscreenIcon from '@/material-icons/400-24px/fullscreen.svg?react'; import FullscreenExitIcon from '@/material-icons/400-24px/fullscreen_exit.svg?react'; @@ -28,7 +29,7 @@ import { attachFullscreenListener, detachFullscreenListener, } from 'mastodon/features/ui/util/fullscreen'; -import { displayMedia, useBlurhash } from 'mastodon/initial_state'; +import { useBlurhash } from 'mastodon/initial_state'; import { playerSettings } from 'mastodon/settings'; import { HotkeyIndicator } from './components/hotkey_indicator'; @@ -214,7 +215,7 @@ export const Video: React.FC<{ const [fullscreen, setFullscreen] = useState(false); const [hovered, setHovered] = useState(false); const [muted, setMuted] = useState(false); - const [revealed, setRevealed] = useState(false); + const [revealed, setRevealed] = useRevealedMedia({ visible, sensitive }); const [hotkeyEvents, setHotkeyEvents] = useState([]); const playerRef = useRef(null); @@ -362,17 +363,6 @@ export const Video: React.FC<{ videoRef.current.muted = muted; }, [volume, muted]); - useEffect(() => { - if (typeof visible !== 'undefined') { - setRevealed(visible); - } else { - setRevealed( - displayMedia === 'show_all' || - (displayMedia !== 'hide_all' && !sensitive), - ); - } - }, [visible, sensitive]); - useEffect(() => { if (!revealed && videoRef.current) { videoRef.current.pause(); diff --git a/app/javascript/mastodon/hooks/useMergedRefs.ts b/app/javascript/mastodon/hooks/useMergedRefs.ts index 0ae63d6c3be..5fd126f8c7f 100644 --- a/app/javascript/mastodon/hooks/useMergedRefs.ts +++ b/app/javascript/mastodon/hooks/useMergedRefs.ts @@ -24,5 +24,6 @@ export function useMergedRefs(...refs: React.Ref[]) { }, [refs], ); + // eslint-disable-next-line react-hooks/immutability return setRef; } diff --git a/app/javascript/mastodon/hooks/useObserver.ts b/app/javascript/mastodon/hooks/useObserver.ts index f7bd9454cff..d9c5c6b3ce3 100644 --- a/app/javascript/mastodon/hooks/useObserver.ts +++ b/app/javascript/mastodon/hooks/useObserver.ts @@ -1,29 +1,25 @@ -import { useEffect, useRef } from 'react'; +import { useEffect, useState } from 'react'; export function useResizeObserver(callback: ResizeObserverCallback) { - const observerRef = useRef(null); - observerRef.current ??= new ResizeObserver(callback); + const [observer] = useState(() => new ResizeObserver(callback)); useEffect(() => { - const observer = observerRef.current; return () => { - observer?.disconnect(); + observer.disconnect(); }; - }, []); + }, [observer]); - return observerRef.current; + return observer; } export function useMutationObserver(callback: MutationCallback) { - const observerRef = useRef(null); - observerRef.current ??= new MutationObserver(callback); + const [observer] = useState(() => new MutationObserver(callback)); useEffect(() => { - const observer = observerRef.current; return () => { - observer?.disconnect(); + observer.disconnect(); }; - }, []); + }, [observer]); - return observerRef.current; + return observer; } diff --git a/app/javascript/mastodon/hooks/useOverflow.ts b/app/javascript/mastodon/hooks/useOverflow.ts index 40d9cd0775f..8f5d3feee86 100644 --- a/app/javascript/mastodon/hooks/useOverflow.ts +++ b/app/javascript/mastodon/hooks/useOverflow.ts @@ -213,6 +213,7 @@ export function useOverflowObservers({ // Watch the wrapper for size changes, and recalculate when it resizes. const wrapperRef = useRef(null); const wrapperRefCallback = useCallback( + // eslint-disable-next-line react-hooks/immutability (node: HTMLElement | null) => { if (node) { wrapperRef.current = node; // eslint-disable-line react-hooks/immutability -- https://github.com/facebook/react/issues/34955 @@ -229,6 +230,7 @@ export function useOverflowObservers({ // If there are changes to the children, recalculate which are visible. const listRefCallback = useCallback( + // eslint-disable-next-line react-hooks/immutability (node: HTMLElement | null) => { if (node) { listRef.current = node; diff --git a/app/javascript/mastodon/hooks/useRevealedMedia.ts b/app/javascript/mastodon/hooks/useRevealedMedia.ts new file mode 100644 index 00000000000..7a31edfa3e1 --- /dev/null +++ b/app/javascript/mastodon/hooks/useRevealedMedia.ts @@ -0,0 +1,33 @@ +import { useState } from 'react'; + +import { displayMedia } from 'mastodon/initial_state'; + +interface RevealedMediaProps { + visible?: boolean; + sensitive?: boolean; +} + +function getRevealedState({ visible, sensitive }: RevealedMediaProps) { + if (typeof visible !== 'undefined') { + return visible; + } else { + return ( + displayMedia === 'show_all' || (displayMedia !== 'hide_all' && !sensitive) + ); + } +} + +export function useRevealedMedia({ visible, sensitive }: RevealedMediaProps) { + const [revealed, setRevealed] = useState(() => + getRevealedState({ visible, sensitive }), + ); + + // Update `revealed` state when `sensitive` or `visible` props change + const [previous, setPrevious] = useState({ visible, sensitive }); + if (sensitive !== previous.sensitive || visible !== previous.visible) { + setRevealed(getRevealedState({ visible, sensitive })); + setPrevious({ visible, sensitive }); + } + + return [revealed, setRevealed] as const; +} diff --git a/eslint.config.mjs b/eslint.config.mjs index 78e00a77f9c..d9f3e75297e 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -10,7 +10,6 @@ import jsxA11Y from 'eslint-plugin-jsx-a11y'; import promisePlugin from 'eslint-plugin-promise'; import react from 'eslint-plugin-react'; import reactHooks from 'eslint-plugin-react-hooks'; -// @ts-expect-error -- No types available for this package import storybook from 'eslint-plugin-storybook'; import { globalIgnores } from 'eslint/config'; import globals from 'globals'; @@ -137,7 +136,6 @@ export default tseslint.config([ reactHooks.configs.flat.recommended, jsxA11Y.flatConfigs.recommended, importPlugin.flatConfigs.react, - // @ts-expect-error -- For some reason the formatjs package exports an empty object? formatjs.configs.strict, storybook.configs['flat/recommended'], { diff --git a/package.json b/package.json index 50c94bd910a..16d886d7959 100644 --- a/package.json +++ b/package.json @@ -127,7 +127,7 @@ "wicg-inert": "3.1.3" }, "devDependencies": { - "@eslint/js": "9.39.2", + "@eslint/js": "9.39.5", "@formatjs/cli": "6.14.4", "@storybook/addon-a11y": "10.3.3", "@storybook/addon-docs": "10.3.3", @@ -160,18 +160,18 @@ "@vitest/coverage-v8": "4.1.9", "@vitest/ui": "4.1.9", "chromatic": "18.0.0", - "eslint": "9.39.2", - "eslint-import-resolver-typescript": "4.4.4", - "eslint-plugin-formatjs": "6.4.3", + "eslint": "9.39.5", + "eslint-import-resolver-typescript": "4.4.5", + "eslint-plugin-formatjs": "6.4.20", "eslint-plugin-import": "2.32.0", - "eslint-plugin-jsdoc": "63.0.0", + "eslint-plugin-jsdoc": "63.3.3", "eslint-plugin-jsx-a11y": "6.10.2", - "eslint-plugin-promise": "7.2.1", + "eslint-plugin-promise": "7.3.0", "eslint-plugin-react": "7.37.5", - "eslint-plugin-react-hooks": "7.0.1", - "eslint-plugin-storybook": "10.2.8", + "eslint-plugin-react-hooks": "7.1.1", + "eslint-plugin-storybook": "10.5.7", "fake-indexeddb": "6.2.5", - "globals": "17.3.0", + "globals": "17.9.0", "husky": "9.1.7", "lint-staged": "17.0.5", "msw": "2.12.14", @@ -183,7 +183,7 @@ "stylelint-config-standard-scss": "17.0.0", "type-fest": "5.7.0", "typescript": "npm:@typescript/typescript6@6.0.2", - "typescript-eslint": "8.65.0", + "typescript-eslint": "8.66.0", "typescript-plugin-css-modules": "5.2.0", "vitest": "4.1.10" }, diff --git a/yarn.lock b/yarn.lock index 968ab05ffa4..94e2f1e70e6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1161,7 +1161,17 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.3, @babel/types@npm:^7.28.2, @babel/types@npm:^7.29.0, @babel/types@npm:^7.29.7, @babel/types@npm:^7.29.8, @babel/types@npm:^7.4.4": +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.3, @babel/types@npm:^7.28.2, @babel/types@npm:^7.29.0, @babel/types@npm:^7.29.7, @babel/types@npm:^7.4.4": + version: 7.29.7 + resolution: "@babel/types@npm:7.29.7" + dependencies: + "@babel/helper-string-parser": "npm:^7.29.7" + "@babel/helper-validator-identifier": "npm:^7.29.7" + checksum: 10c0/b6623994c69717fa27294f5fa46d59140338e2d86c6c1c13085c84ef7d53086ee357fbf4fe9abe3dd3da75734dc77c4c0df2f90fb29e667558bb3b3fb705e88f + languageName: node + linkType: hard + +"@babel/types@npm:^7.29.8": version: 7.29.8 resolution: "@babel/types@npm:7.29.8" dependencies: @@ -1252,7 +1262,7 @@ __metadata: languageName: node linkType: hard -"@csstools/css-color-parser@npm:^4.1.10, @csstools/css-color-parser@npm:^4.1.9": +"@csstools/css-color-parser@npm:^4.1.10": version: 4.1.10 resolution: "@csstools/css-color-parser@npm:4.1.10" dependencies: @@ -1265,6 +1275,19 @@ __metadata: languageName: node linkType: hard +"@csstools/css-color-parser@npm:^4.1.9": + version: 4.1.9 + resolution: "@csstools/css-color-parser@npm:4.1.9" + dependencies: + "@csstools/color-helpers": "npm:^6.1.0" + "@csstools/css-calc": "npm:^3.2.1" + peerDependencies: + "@csstools/css-parser-algorithms": ^4.0.0 + "@csstools/css-tokenizer": ^4.0.0 + checksum: 10c0/d9330a1d5b207230e97a522c9b73c1b625dbfbca7a91ac8888e05917efb01c6aa4075153e5af6ce028c3848660d3f24cf7b0f0760a080361089e1a3841e586c7 + languageName: node + linkType: hard + "@csstools/css-parser-algorithms@npm:^4.0.0": version: 4.0.0 resolution: "@csstools/css-parser-algorithms@npm:4.0.0" @@ -1951,6 +1974,16 @@ __metadata: languageName: node linkType: hard +"@emnapi/core@npm:2.0.0-alpha.3": + version: 2.0.0-alpha.3 + resolution: "@emnapi/core@npm:2.0.0-alpha.3" + dependencies: + "@emnapi/wasi-threads": "npm:2.0.1" + tslib: "npm:^2.4.0" + checksum: 10c0/dfc26f53eb40dab0e316206cabe01e6e98d21ef8a0b820f81ce7e0fa7b4307c94f2a9599c11e6c601ad7bd77e8efb9b7cb9f86dbc3b6237f799405e0cb60c587 + languageName: node + linkType: hard + "@emnapi/core@npm:^1.4.3": version: 1.11.2 resolution: "@emnapi/core@npm:1.11.2" @@ -1961,6 +1994,15 @@ __metadata: languageName: node linkType: hard +"@emnapi/runtime@npm:2.0.0-alpha.3": + version: 2.0.0-alpha.3 + resolution: "@emnapi/runtime@npm:2.0.0-alpha.3" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10c0/c8f6e0ad2f9c0ced8bc156a7ec3ab5fbbd2d3b7147b6a37537f6892131844b969d3aa450749807fc238160b5db61d6160b8066abfce4b2c40acfb1941bb31dd1 + languageName: node + linkType: hard + "@emnapi/runtime@npm:^1.4.3": version: 1.11.2 resolution: "@emnapi/runtime@npm:1.11.2" @@ -1979,6 +2021,15 @@ __metadata: languageName: node linkType: hard +"@emnapi/wasi-threads@npm:2.0.1": + version: 2.0.1 + resolution: "@emnapi/wasi-threads@npm:2.0.1" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10c0/5f7bf4cc4f6a1c31ec2084c9321d054f3b3b6c7e89430bb23fc3487d55e7be40f1ff31b2cb9a51721b444d4e8ac1f065b8749606771f6e4e7ccb32bbb709a303 + languageName: node + linkType: hard + "@emotion/babel-plugin@npm:^11.11.0": version: 11.11.0 resolution: "@emotion/babel-plugin@npm:11.11.0" @@ -2103,16 +2154,16 @@ __metadata: languageName: node linkType: hard -"@es-joy/jsdoccomment@npm:~0.86.0": - version: 0.86.0 - resolution: "@es-joy/jsdoccomment@npm:0.86.0" +"@es-joy/jsdoccomment@npm:~0.91.0": + version: 0.91.0 + resolution: "@es-joy/jsdoccomment@npm:0.91.0" dependencies: - "@types/estree": "npm:^1.0.8" - "@typescript-eslint/types": "npm:^8.58.0" - comment-parser: "npm:1.4.6" + "@types/estree": "npm:^1.0.9" + "@typescript-eslint/types": "npm:^8.65.0" + comment-parser: "npm:1.4.7" esquery: "npm:^1.7.0" - jsdoc-type-pratt-parser: "npm:~7.2.0" - checksum: 10c0/309f56912eba0100e7721ae00f6161fbe0c6acd00c6bb81177821851c5a56e397d2ab660d4493ac8c675eedba3be3c813bdc43e54f17b5fa866dbba980f337ab + jsdoc-type-pratt-parser: "npm:~8.0.0" + checksum: 10c0/b209efec5f9c79b0322c0d9a12e29bc5f38ea68a90f25e8d81fb6c2e0f5a769378bd8d000940d7775a59cfbacb4c9faed38a86c271f97f262898b29df63bf560 languageName: node linkType: hard @@ -2323,14 +2374,14 @@ __metadata: languageName: node linkType: hard -"@eslint/config-array@npm:^0.21.1": - version: 0.21.1 - resolution: "@eslint/config-array@npm:0.21.1" +"@eslint/config-array@npm:^0.21.2": + version: 0.21.2 + resolution: "@eslint/config-array@npm:0.21.2" dependencies: "@eslint/object-schema": "npm:^2.1.7" debug: "npm:^4.3.1" - minimatch: "npm:^3.1.2" - checksum: 10c0/2f657d4edd6ddcb920579b72e7a5b127865d4c3fb4dda24f11d5c4f445a93ca481aebdbd6bf3291c536f5d034458dbcbb298ee3b698bc6c9dd02900fe87eec3c + minimatch: "npm:^3.1.5" + checksum: 10c0/89dfe815d18456177c0a1f238daf4593107fd20298b3598e0103054360d3b8d09d967defd8318f031185d68df1f95cfa68becf1390a9c5c6887665f1475142e3 languageName: node linkType: hard @@ -2352,20 +2403,20 @@ __metadata: languageName: node linkType: hard -"@eslint/eslintrc@npm:^3.3.1": - version: 3.3.1 - resolution: "@eslint/eslintrc@npm:3.3.1" +"@eslint/eslintrc@npm:^3.3.6": + version: 3.3.6 + resolution: "@eslint/eslintrc@npm:3.3.6" dependencies: - ajv: "npm:^6.12.4" + ajv: "npm:^6.14.0" debug: "npm:^4.3.2" espree: "npm:^10.0.1" globals: "npm:^14.0.0" ignore: "npm:^5.2.0" import-fresh: "npm:^3.2.1" - js-yaml: "npm:^4.1.0" - minimatch: "npm:^3.1.2" + js-yaml: "npm:^4.3.0" + minimatch: "npm:^3.1.5" strip-json-comments: "npm:^3.1.1" - checksum: 10c0/b0e63f3bc5cce4555f791a4e487bf999173fcf27c65e1ab6e7d63634d8a43b33c3693e79f192cbff486d7df1be8ebb2bd2edc6e70ddd486cbfa84a359a3e3b41 + checksum: 10c0/349697171ee116f501a2f483bf47cd38937a61880aeb1c23481a69afc95e95859430a0947acbe1f5507f223180bf57530ecf2989e73bcbea763a6dcffdf1d010 languageName: node linkType: hard @@ -2376,6 +2427,13 @@ __metadata: languageName: node linkType: hard +"@eslint/js@npm:9.39.5": + version: 9.39.5 + resolution: "@eslint/js@npm:9.39.5" + checksum: 10c0/49894e98ba313a7d3bfb1b20d55c0f9826be45a7db876fd84e533ac7f101b1d95b51cd22c6a6db3a45066b9c0d068c31b4a22fa0db8a6cc8744a25540efdb824 + languageName: node + linkType: hard + "@eslint/object-schema@npm:^2.1.7": version: 2.1.7 resolution: "@eslint/object-schema@npm:2.1.7" @@ -2443,13 +2501,6 @@ __metadata: languageName: node linkType: hard -"@formatjs/bigdecimal@npm:0.2.0": - version: 0.2.0 - resolution: "@formatjs/bigdecimal@npm:0.2.0" - checksum: 10c0/dec607e3d9d4b8c5d0474862e867726cbf322a24d543d5b2cbc3cab6fea187ac787a8e1a0e3df5ceef85a1ab9d58112a08bb7af40b1b3a3b00670431b0603510 - languageName: node - linkType: hard - "@formatjs/bigdecimal@npm:0.2.7": version: 0.2.7 resolution: "@formatjs/bigdecimal@npm:0.2.7" @@ -2486,24 +2537,6 @@ __metadata: languageName: node linkType: hard -"@formatjs/ecma402-abstract@npm:3.2.0": - version: 3.2.0 - resolution: "@formatjs/ecma402-abstract@npm:3.2.0" - dependencies: - "@formatjs/bigdecimal": "npm:0.2.0" - "@formatjs/fast-memoize": "npm:3.1.1" - "@formatjs/intl-localematcher": "npm:0.8.2" - checksum: 10c0/b3c8ac881c3d7533fb4127ca3d771d2a32cb89e6efbbcc72d80b1dcc6a798494ace9ca5ee822b25eb08ebdc7ee2885a9e33496a436b40271ffc915ece605a3ce - languageName: node - linkType: hard - -"@formatjs/fast-memoize@npm:3.1.1": - version: 3.1.1 - resolution: "@formatjs/fast-memoize@npm:3.1.1" - checksum: 10c0/79b24dc1389a49b2b2fb9e90a2ba922a4057d4b74e7bc33a3811f0dc94a5a868d28e8e37917b68c2f831070d11dfd0889de686f269bf5214085a44efc1c25a8c - languageName: node - linkType: hard - "@formatjs/fast-memoize@npm:3.1.7": version: 3.1.7 resolution: "@formatjs/fast-memoize@npm:3.1.7" @@ -2529,16 +2562,6 @@ __metadata: languageName: node linkType: hard -"@formatjs/icu-messageformat-parser@npm:3.5.3": - version: 3.5.3 - resolution: "@formatjs/icu-messageformat-parser@npm:3.5.3" - dependencies: - "@formatjs/ecma402-abstract": "npm:3.2.0" - "@formatjs/icu-skeleton-parser": "npm:2.1.3" - checksum: 10c0/9a9632348df058e0da339234381b11f71b5ace1c93eaf1950b3eb45f4e146a73f8923af82818543e90c1135523b254d2c04fb47cab3624eb1f601d2a4edd35c6 - languageName: node - linkType: hard - "@formatjs/icu-skeleton-parser@npm:2.1.11": version: 2.1.11 resolution: "@formatjs/icu-skeleton-parser@npm:2.1.11" @@ -2546,15 +2569,6 @@ __metadata: languageName: node linkType: hard -"@formatjs/icu-skeleton-parser@npm:2.1.3": - version: 2.1.3 - resolution: "@formatjs/icu-skeleton-parser@npm:2.1.3" - dependencies: - "@formatjs/ecma402-abstract": "npm:3.2.0" - checksum: 10c0/6a8ed06c722bce1d73d54b2d72462bfe46b752f43d09e3d8c14649ef775b06f3c7f8d36274e67e6cfb95800bf43230a2595a7e1790922ebb683711201fcbccc8 - languageName: node - linkType: hard - "@formatjs/intl-localematcher@npm:0.8.13": version: 0.8.13 resolution: "@formatjs/intl-localematcher@npm:0.8.13" @@ -2564,15 +2578,6 @@ __metadata: languageName: node linkType: hard -"@formatjs/intl-localematcher@npm:0.8.2": - version: 0.8.2 - resolution: "@formatjs/intl-localematcher@npm:0.8.2" - dependencies: - "@formatjs/fast-memoize": "npm:3.1.1" - checksum: 10c0/3bf838a018184837b167964849dafdcdeac95531a24f4df7d868638d4ad716854a250e9bccac9ab4568264c0db7470e70b99363da1db308fdc882b87f3eca651 - languageName: node - linkType: hard - "@formatjs/intl-pluralrules@npm:6.3.13": version: 6.3.13 resolution: "@formatjs/intl-pluralrules@npm:6.3.13" @@ -2612,20 +2617,21 @@ __metadata: languageName: node linkType: hard -"@formatjs/ts-transformer@npm:4.4.2": - version: 4.4.2 - resolution: "@formatjs/ts-transformer@npm:4.4.2" +"@formatjs/ts-transformer@npm:4.4.18": + version: 4.4.18 + resolution: "@formatjs/ts-transformer@npm:4.4.18" dependencies: - "@formatjs/icu-messageformat-parser": "npm:3.5.3" + "@formatjs/icu-messageformat-parser": "npm:3.5.16" + "@types/babel__core": "npm:7" "@types/node": "npm:22 || 24" - json-stable-stringify: "npm:^1.3.0" - typescript: "npm:^5.6.0" + json-stable-stringify: "npm:1" + typescript: "npm:^5.6 || 6 || 7" peerDependencies: - ts-jest: ^29 + ts-jest: 29 peerDependenciesMeta: ts-jest: optional: true - checksum: 10c0/3385706cb4c72c4a7fed49d659b83dc98db22591c8904cc807b730e1fcc824584aa3edee7fdb9085720a3506c6daa271b34778ee7bef16eeacc39a625026c9e9 + checksum: 10c0/cbb22269bef946bfaea3b6d6a09445259008a26f3a2c7c265bc498ced1e456ba845a2213114523737ad6e14113bae59182f5ab5d55bd12bbf219c5234daa5cca languageName: node linkType: hard @@ -2899,7 +2905,7 @@ __metadata: "@dnd-kit/modifiers": "npm:9.0.0" "@dnd-kit/sortable": "npm:10.0.0" "@dnd-kit/utilities": "npm:3.2.2" - "@eslint/js": "npm:9.39.2" + "@eslint/js": "npm:9.39.5" "@floating-ui/react-dom": "npm:2.1.9" "@formatjs/cli": "npm:6.14.4" "@formatjs/intl-pluralrules": "npm:6.3.13" @@ -2964,20 +2970,20 @@ __metadata: emojibase-data: "npm:16.0.3" emojibase-regex: "npm:16.0.0" escape-html: "npm:1.0.3" - eslint: "npm:9.39.2" - eslint-import-resolver-typescript: "npm:4.4.4" - eslint-plugin-formatjs: "npm:6.4.3" + eslint: "npm:9.39.5" + eslint-import-resolver-typescript: "npm:4.4.5" + eslint-plugin-formatjs: "npm:6.4.20" eslint-plugin-import: "npm:2.32.0" - eslint-plugin-jsdoc: "npm:63.0.0" + eslint-plugin-jsdoc: "npm:63.3.3" eslint-plugin-jsx-a11y: "npm:6.10.2" - eslint-plugin-promise: "npm:7.2.1" + eslint-plugin-promise: "npm:7.3.0" eslint-plugin-react: "npm:7.37.5" - eslint-plugin-react-hooks: "npm:7.0.1" - eslint-plugin-storybook: "npm:10.2.8" + eslint-plugin-react-hooks: "npm:7.1.1" + eslint-plugin-storybook: "npm:10.5.7" fake-indexeddb: "npm:6.2.5" fast-glob: "npm:3.3.3" fuzzysort: "npm:3.1.0" - globals: "npm:17.3.0" + globals: "npm:17.9.0" history: "npm:4.10.1" hoist-non-react-statics: "npm:3.3.2" http-link-header: "npm:1.1.4" @@ -3030,7 +3036,7 @@ __metadata: twitter-text: "npm:3.1.0" type-fest: "npm:5.7.0" typescript: "npm:@typescript/typescript6@6.0.2" - typescript-eslint: "npm:8.65.0" + typescript-eslint: "npm:8.66.0" typescript-plugin-css-modules: "npm:5.2.0" use-debounce: "npm:10.1.1" vite: "npm:8.2.1" @@ -3114,6 +3120,18 @@ __metadata: languageName: node linkType: hard +"@napi-rs/wasm-runtime@npm:^1.2.0": + version: 1.2.1 + resolution: "@napi-rs/wasm-runtime@npm:1.2.1" + dependencies: + "@tybys/wasm-util": "npm:^0.10.3" + peerDependencies: + "@emnapi/core": ^1.7.1 || ^2.0.0-alpha.3 + "@emnapi/runtime": ^1.7.1 || ^2.0.0-alpha.3 + checksum: 10c0/33532973e573e566536b9c342caea85a504e1e6332d1dc6aeb55de4b476dea215db271ce0c1e044d0ddc121ef9ef9caec8654c8937c9f5330db4f0051e9ff8d1 + languageName: node + linkType: hard + "@nodelib/fs.scandir@npm:2.1.5": version: 2.1.5 resolution: "@nodelib/fs.scandir@npm:2.1.5" @@ -3349,6 +3367,13 @@ __metadata: languageName: node linkType: hard +"@oxc-project/types@npm:=0.142.0": + version: 0.142.0 + resolution: "@oxc-project/types@npm:0.142.0" + checksum: 10c0/e4fa60b8fe1a77b0db6b9a2dcbc78d9a5a18ef64dffde01d909108f3ddbc562b876c568cb01e297ba71a256fc8aaafc928d4562475a9b2a25b276fee5bf635c3 + languageName: node + linkType: hard + "@oxc-project/types@npm:=0.143.0, @oxc-project/types@npm:^0.143.0": version: 0.143.0 resolution: "@oxc-project/types@npm:0.143.0" @@ -3753,6 +3778,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-android-arm64@npm:1.2.1": + version: 1.2.1 + resolution: "@rolldown/binding-android-arm64@npm:1.2.1" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + "@rolldown/binding-android-arm64@npm:1.2.3": version: 1.2.3 resolution: "@rolldown/binding-android-arm64@npm:1.2.3" @@ -3760,6 +3792,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-darwin-arm64@npm:1.2.1": + version: 1.2.1 + resolution: "@rolldown/binding-darwin-arm64@npm:1.2.1" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + "@rolldown/binding-darwin-arm64@npm:1.2.3": version: 1.2.3 resolution: "@rolldown/binding-darwin-arm64@npm:1.2.3" @@ -3767,6 +3806,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-darwin-x64@npm:1.2.1": + version: 1.2.1 + resolution: "@rolldown/binding-darwin-x64@npm:1.2.1" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + "@rolldown/binding-darwin-x64@npm:1.2.3": version: 1.2.3 resolution: "@rolldown/binding-darwin-x64@npm:1.2.3" @@ -3774,6 +3820,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-freebsd-x64@npm:1.2.1": + version: 1.2.1 + resolution: "@rolldown/binding-freebsd-x64@npm:1.2.1" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + "@rolldown/binding-freebsd-x64@npm:1.2.3": version: 1.2.3 resolution: "@rolldown/binding-freebsd-x64@npm:1.2.3" @@ -3781,6 +3834,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-linux-arm-gnueabihf@npm:1.2.1": + version: 1.2.1 + resolution: "@rolldown/binding-linux-arm-gnueabihf@npm:1.2.1" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + "@rolldown/binding-linux-arm-gnueabihf@npm:1.2.3": version: 1.2.3 resolution: "@rolldown/binding-linux-arm-gnueabihf@npm:1.2.3" @@ -3788,6 +3848,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-linux-arm64-gnu@npm:1.2.1": + version: 1.2.1 + resolution: "@rolldown/binding-linux-arm64-gnu@npm:1.2.1" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + "@rolldown/binding-linux-arm64-gnu@npm:1.2.3": version: 1.2.3 resolution: "@rolldown/binding-linux-arm64-gnu@npm:1.2.3" @@ -3795,6 +3862,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-linux-arm64-musl@npm:1.2.1": + version: 1.2.1 + resolution: "@rolldown/binding-linux-arm64-musl@npm:1.2.1" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + "@rolldown/binding-linux-arm64-musl@npm:1.2.3": version: 1.2.3 resolution: "@rolldown/binding-linux-arm64-musl@npm:1.2.3" @@ -3802,6 +3876,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-linux-ppc64-gnu@npm:1.2.1": + version: 1.2.1 + resolution: "@rolldown/binding-linux-ppc64-gnu@npm:1.2.1" + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + "@rolldown/binding-linux-ppc64-gnu@npm:1.2.3": version: 1.2.3 resolution: "@rolldown/binding-linux-ppc64-gnu@npm:1.2.3" @@ -3809,6 +3890,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-linux-s390x-gnu@npm:1.2.1": + version: 1.2.1 + resolution: "@rolldown/binding-linux-s390x-gnu@npm:1.2.1" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + "@rolldown/binding-linux-s390x-gnu@npm:1.2.3": version: 1.2.3 resolution: "@rolldown/binding-linux-s390x-gnu@npm:1.2.3" @@ -3816,6 +3904,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-linux-x64-gnu@npm:1.2.1": + version: 1.2.1 + resolution: "@rolldown/binding-linux-x64-gnu@npm:1.2.1" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + "@rolldown/binding-linux-x64-gnu@npm:1.2.3": version: 1.2.3 resolution: "@rolldown/binding-linux-x64-gnu@npm:1.2.3" @@ -3823,6 +3918,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-linux-x64-musl@npm:1.2.1": + version: 1.2.1 + resolution: "@rolldown/binding-linux-x64-musl@npm:1.2.1" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + "@rolldown/binding-linux-x64-musl@npm:1.2.3": version: 1.2.3 resolution: "@rolldown/binding-linux-x64-musl@npm:1.2.3" @@ -3830,6 +3932,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-openharmony-arm64@npm:1.2.1": + version: 1.2.1 + resolution: "@rolldown/binding-openharmony-arm64@npm:1.2.1" + conditions: os=openharmony & cpu=arm64 + languageName: node + linkType: hard + "@rolldown/binding-openharmony-arm64@npm:1.2.3": version: 1.2.3 resolution: "@rolldown/binding-openharmony-arm64@npm:1.2.3" @@ -3837,6 +3946,24 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-wasm32-wasi@npm:1.2.1": + version: 1.2.1 + resolution: "@rolldown/binding-wasm32-wasi@npm:1.2.1" + dependencies: + "@emnapi/core": "npm:2.0.0-alpha.3" + "@emnapi/runtime": "npm:2.0.0-alpha.3" + "@napi-rs/wasm-runtime": "npm:^1.2.0" + checksum: 10c0/e5bbfad1862187c60cd9cab802af22c71b2496f89fe73a161931f04594f9db1e09ad7a503a2f980f55a2f6d5a4d2013ad1d17260970ac170a1aa6b9286a41738 + languageName: node + linkType: hard + +"@rolldown/binding-win32-arm64-msvc@npm:1.2.1": + version: 1.2.1 + resolution: "@rolldown/binding-win32-arm64-msvc@npm:1.2.1" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + "@rolldown/binding-win32-arm64-msvc@npm:1.2.3": version: 1.2.3 resolution: "@rolldown/binding-win32-arm64-msvc@npm:1.2.3" @@ -3844,6 +3971,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-win32-x64-msvc@npm:1.2.1": + version: 1.2.1 + resolution: "@rolldown/binding-win32-x64-msvc@npm:1.2.1" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@rolldown/binding-win32-x64-msvc@npm:1.2.3": version: 1.2.3 resolution: "@rolldown/binding-win32-x64-msvc@npm:1.2.3" @@ -4278,7 +4412,7 @@ __metadata: languageName: node linkType: hard -"@tybys/wasm-util@npm:^0.10.0": +"@tybys/wasm-util@npm:^0.10.0, @tybys/wasm-util@npm:^0.10.3": version: 0.10.3 resolution: "@tybys/wasm-util@npm:0.10.3" dependencies: @@ -4411,7 +4545,23 @@ __metadata: languageName: node linkType: hard -"@types/estree@npm:^1.0.0, @types/estree@npm:^1.0.6, @types/estree@npm:^1.0.8": +"@types/estree-jsx@npm:1": + version: 1.0.5 + resolution: "@types/estree-jsx@npm:1.0.5" + dependencies: + "@types/estree": "npm:*" + checksum: 10c0/07b354331516428b27a3ab99ee397547d47eb223c34053b48f84872fafb841770834b90cc1a0068398e7c7ccb15ec51ab00ec64b31dc5e3dbefd624638a35c6d + languageName: node + linkType: hard + +"@types/estree@npm:*, @types/estree@npm:^1.0.9": + version: 1.0.9 + resolution: "@types/estree@npm:1.0.9" + checksum: 10c0/3ad3286ca2988cd550dafb8f2ad599c8474868e954fa601a36655bdfefd8039f7c714b8c1c7f2ae219ffbd58bd4660e66fa7479a0120fc02d4777057d4865387 + languageName: node + linkType: hard + +"@types/estree@npm:^1.0.0, @types/estree@npm:^1.0.6": version: 1.0.8 resolution: "@types/estree@npm:1.0.8" checksum: 10c0/39d34d1afaa338ab9763f37ad6066e3f349444f9052b9676a7cc0252ef9485a41c6d81c9c4e0d26e9077993354edf25efc853f3224dd4b447175ef62bdcc86a5 @@ -4565,10 +4715,10 @@ __metadata: languageName: node linkType: hard -"@types/picomatch@npm:^4.0.0": - version: 4.0.2 - resolution: "@types/picomatch@npm:4.0.2" - checksum: 10c0/0f46198c2d1beb5061816745355888e94a80a449a49af1ef69723f50e850c678b50cff299bd461f71e8009d46705e7cdeda8c8ffa23815b2e942c83877f855b9 +"@types/picomatch@npm:4": + version: 4.0.3 + resolution: "@types/picomatch@npm:4.0.3" + checksum: 10c0/974107ec98ea9a8b437f36bdf6ac9c57772fd66d9d746e43f6da2a7b97f6e03bc48226e5cdf2beb0b73b7a843cf486e7336ae15ab9017e47287dcb49d78499a2 languageName: node linkType: hard @@ -4772,6 +4922,26 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/eslint-plugin@npm:8.66.0": + version: 8.66.0 + resolution: "@typescript-eslint/eslint-plugin@npm:8.66.0" + dependencies: + "@eslint-community/regexpp": "npm:^4.12.2" + "@typescript-eslint/scope-manager": "npm:8.66.0" + "@typescript-eslint/type-utils": "npm:8.66.0" + "@typescript-eslint/utils": "npm:8.66.0" + "@typescript-eslint/visitor-keys": "npm:8.66.0" + ignore: "npm:^7.0.5" + natural-compare: "npm:^1.4.0" + ts-api-utils: "npm:^2.5.0" + peerDependencies: + "@typescript-eslint/parser": ^8.66.0 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: ">=4.8.4 <6.1.0" + checksum: 10c0/2f8fc6aac7125ae6bebb11f25fd34cbadba4060845a138f819376a5d11c5de380f8117a1fc56e24735e661105e8c3b37f3da50015f840470b7108774b99bd24f + languageName: node + linkType: hard + "@typescript-eslint/parser@npm:8.65.0": version: 8.65.0 resolution: "@typescript-eslint/parser@npm:8.65.0" @@ -4788,6 +4958,22 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/parser@npm:8.66.0": + version: 8.66.0 + resolution: "@typescript-eslint/parser@npm:8.66.0" + dependencies: + "@typescript-eslint/scope-manager": "npm:8.66.0" + "@typescript-eslint/types": "npm:8.66.0" + "@typescript-eslint/typescript-estree": "npm:8.66.0" + "@typescript-eslint/visitor-keys": "npm:8.66.0" + debug: "npm:^4.4.3" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: ">=4.8.4 <6.1.0" + checksum: 10c0/95efddf190f87bddee46a9662fd7a5c59b9059fd59310c853adb49d0d9378504730f1fc0b55d95b2207964a81756681a9f278a1a339081e4268537696f12c322 + languageName: node + linkType: hard + "@typescript-eslint/project-service@npm:8.65.0": version: 8.65.0 resolution: "@typescript-eslint/project-service@npm:8.65.0" @@ -4801,6 +4987,19 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/project-service@npm:8.66.0": + version: 8.66.0 + resolution: "@typescript-eslint/project-service@npm:8.66.0" + dependencies: + "@typescript-eslint/tsconfig-utils": "npm:^8.66.0" + "@typescript-eslint/types": "npm:^8.66.0" + debug: "npm:^4.4.3" + peerDependencies: + typescript: ">=4.8.4 <6.1.0" + checksum: 10c0/1b8129da708262104691091ac09f67fca2dd877d99090472fd5f0cf86b05755cb3df11d98ed003e775864b9f015c01b429fd5553adbb8a94dd047ff83d4ad6b3 + languageName: node + linkType: hard + "@typescript-eslint/scope-manager@npm:8.65.0": version: 8.65.0 resolution: "@typescript-eslint/scope-manager@npm:8.65.0" @@ -4811,6 +5010,16 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/scope-manager@npm:8.66.0": + version: 8.66.0 + resolution: "@typescript-eslint/scope-manager@npm:8.66.0" + dependencies: + "@typescript-eslint/types": "npm:8.66.0" + "@typescript-eslint/visitor-keys": "npm:8.66.0" + checksum: 10c0/247709b8712295650b8145050c3d566a71ebdca0a10477766cf369f35c9f7fdf7aa62ebb3b3c05fad3ae13c867196c9ff04ede7b1e7b8a6f60acf550207095d4 + languageName: node + linkType: hard + "@typescript-eslint/tsconfig-utils@npm:8.65.0, @typescript-eslint/tsconfig-utils@npm:^8.65.0": version: 8.65.0 resolution: "@typescript-eslint/tsconfig-utils@npm:8.65.0" @@ -4820,6 +5029,15 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/tsconfig-utils@npm:8.66.0, @typescript-eslint/tsconfig-utils@npm:^8.66.0": + version: 8.66.0 + resolution: "@typescript-eslint/tsconfig-utils@npm:8.66.0" + peerDependencies: + typescript: ">=4.8.4 <6.1.0" + checksum: 10c0/1267e1f0adf822062c3917d717f0d1e463e46fdf2d9d0afd6b99b4498f27e63597296cf7ed4a5fe24c3311afb5458d54ccd369d5acee0f51017814384cfd1983 + languageName: node + linkType: hard + "@typescript-eslint/type-utils@npm:8.65.0": version: 8.65.0 resolution: "@typescript-eslint/type-utils@npm:8.65.0" @@ -4836,13 +5054,36 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/types@npm:8.65.0, @typescript-eslint/types@npm:^8.58.0, @typescript-eslint/types@npm:^8.65.0": +"@typescript-eslint/type-utils@npm:8.66.0": + version: 8.66.0 + resolution: "@typescript-eslint/type-utils@npm:8.66.0" + dependencies: + "@typescript-eslint/types": "npm:8.66.0" + "@typescript-eslint/typescript-estree": "npm:8.66.0" + "@typescript-eslint/utils": "npm:8.66.0" + debug: "npm:^4.4.3" + ts-api-utils: "npm:^2.5.0" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: ">=4.8.4 <6.1.0" + checksum: 10c0/a92f8a83264c399583110daef1c8c8a548183aa61dfcda3bbd2f9fe5728235da3039fa4482554d89c6591aaf0f2cc47adb0ad0af54d016273fa879ee06ddfb9c + languageName: node + linkType: hard + +"@typescript-eslint/types@npm:8.65.0": version: 8.65.0 resolution: "@typescript-eslint/types@npm:8.65.0" checksum: 10c0/919b6d96111ea26f09c6cb1121fbba915147761be3fbf9c4de5b200faa2891087ebdcfd2f4a1f27a4c6153daeefc7448147c651a074b3ec70440f3f8c1092a81 languageName: node linkType: hard +"@typescript-eslint/types@npm:8.66.0, @typescript-eslint/types@npm:^8.60.0, @typescript-eslint/types@npm:^8.65.0, @typescript-eslint/types@npm:^8.66.0": + version: 8.66.0 + resolution: "@typescript-eslint/types@npm:8.66.0" + checksum: 10c0/cc3f77a9a4e2ee997f0b660e8d31d2e45f3b4a16000f8d4349c85cd50b6a902b71272055116cc01f9cfae063a9d31e8b533e6051334fb345fdf753805014c6b5 + languageName: node + linkType: hard + "@typescript-eslint/typescript-estree@npm:8.65.0": version: 8.65.0 resolution: "@typescript-eslint/typescript-estree@npm:8.65.0" @@ -4862,7 +5103,26 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/utils@npm:8.65.0, @typescript-eslint/utils@npm:^8.48.0": +"@typescript-eslint/typescript-estree@npm:8.66.0": + version: 8.66.0 + resolution: "@typescript-eslint/typescript-estree@npm:8.66.0" + dependencies: + "@typescript-eslint/project-service": "npm:8.66.0" + "@typescript-eslint/tsconfig-utils": "npm:8.66.0" + "@typescript-eslint/types": "npm:8.66.0" + "@typescript-eslint/visitor-keys": "npm:8.66.0" + debug: "npm:^4.4.3" + minimatch: "npm:^10.2.2" + semver: "npm:^7.7.3" + tinyglobby: "npm:^0.2.15" + ts-api-utils: "npm:^2.5.0" + peerDependencies: + typescript: ">=4.8.4 <6.1.0" + checksum: 10c0/4a755666340ea6f7d329efc402bf0628bf3085c26192b8b346e3641f1b1804c09254a705d0c29b85e2a730258e4675b1678b9f0d95cbbc3b6f5aefb95e6ff67f + languageName: node + linkType: hard + +"@typescript-eslint/utils@npm:8.65.0": version: 8.65.0 resolution: "@typescript-eslint/utils@npm:8.65.0" dependencies: @@ -4877,6 +5137,21 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/utils@npm:8.66.0, @typescript-eslint/utils@npm:^8.60.0": + version: 8.66.0 + resolution: "@typescript-eslint/utils@npm:8.66.0" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.9.1" + "@typescript-eslint/scope-manager": "npm:8.66.0" + "@typescript-eslint/types": "npm:8.66.0" + "@typescript-eslint/typescript-estree": "npm:8.66.0" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: ">=4.8.4 <6.1.0" + checksum: 10c0/8bce52462ac7c42da7ec3967f1f30c0c9ae527471c6d95de9376a3b4e584bfbcceae7c69cf7df5d081481ccfde5f0682112e05ed4f8704916028a23024e965a0 + languageName: node + linkType: hard + "@typescript-eslint/visitor-keys@npm:8.65.0": version: 8.65.0 resolution: "@typescript-eslint/visitor-keys@npm:8.65.0" @@ -4887,7 +5162,17 @@ __metadata: languageName: node linkType: hard -"@typescript/native@npm:typescript@7.0.2": +"@typescript-eslint/visitor-keys@npm:8.66.0": + version: 8.66.0 + resolution: "@typescript-eslint/visitor-keys@npm:8.66.0" + dependencies: + "@typescript-eslint/types": "npm:8.66.0" + eslint-visitor-keys: "npm:^5.0.0" + checksum: 10c0/12fd739fa3da099145ed21cc3b81fce050a725117639f3e162be51d807b38d553688bdb62b3251c9bb2c9361bfcb4aa68beb0e0e3885620713aa6ede7ce231c7 + languageName: node + linkType: hard + +"@typescript/native@npm:typescript@7.0.2, typescript@npm:^5.6 || 6 || 7": version: 7.0.2 resolution: "typescript@npm:7.0.2" dependencies: @@ -5168,10 +5453,10 @@ __metadata: languageName: node linkType: hard -"@unicode/unicode-17.0.0@npm:^1.6.16": - version: 1.6.16 - resolution: "@unicode/unicode-17.0.0@npm:1.6.16" - checksum: 10c0/0d45cedb8349663e7d98509b0c78c10630adc86121003635e731654f152e84711eed1e9002d3ac588c77eadc360a1e1b51e4d153c7ff26443ee58f2bc77184e2 +"@unicode/unicode-17.0.0@npm:1": + version: 1.6.17 + resolution: "@unicode/unicode-17.0.0@npm:1.6.17" + checksum: 10c0/6cc1d99f9d651af60509d94ded58a5d6a42a985ede5dd22e313719723a3b053e8f98b1c573a6effcba525710082b07c5f3d1fd6535d7fb58b2fd51f62fa4bb4b languageName: node linkType: hard @@ -5640,15 +5925,15 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^6.12.4": - version: 6.12.6 - resolution: "ajv@npm:6.12.6" +"ajv@npm:^6.14.0": + version: 6.15.0 + resolution: "ajv@npm:6.15.0" dependencies: fast-deep-equal: "npm:^3.1.1" fast-json-stable-stringify: "npm:^2.0.0" json-schema-traverse: "npm:^0.4.1" uri-js: "npm:^4.2.2" - checksum: 10c0/41e23642cbe545889245b9d2a45854ebba51cda6c778ebced9649420d9205f2efb39cb43dbc41e358409223b1ea43303ae4839db682c848b891e4811da1a5a71 + checksum: 10c0/67966499dd272ecde1c2e467084411132891523d057487587879d39ac04207f4351b7b2324c83198013967fbfa632c1612adc960114a30770fbe07a0773b32c2 languageName: node linkType: hard @@ -6490,10 +6775,10 @@ __metadata: languageName: node linkType: hard -"comment-parser@npm:1.4.6": - version: 1.4.6 - resolution: "comment-parser@npm:1.4.6" - checksum: 10c0/10837626fc1cb84531564a5ec145f5818b3830393c09744ebfea4105319824e277bdb60ffcf38f44e165e002909fda835b21e20d032a8f8d068834aaef8af0ca +"comment-parser@npm:1.4.7": + version: 1.4.7 + resolution: "comment-parser@npm:1.4.7" + checksum: 10c0/09a8e6cc4a9f92e8828bbd8819d8b025cb1bf03d8d611e372627380f55b6401bb0009cf1b7940a028794f150891bfe855185b94173eb89f14b824e847335278d languageName: node linkType: hard @@ -6573,7 +6858,7 @@ __metadata: languageName: node linkType: hard -"core-js@npm:3.50.0, core-js@npm:^3.49.0": +"core-js@npm:3.50.0": version: 3.50.0 resolution: "core-js@npm:3.50.0" checksum: 10c0/1bfcfb1dbdf45b0b1428a9fdcb03697d1fc52c7e9bc336f804a86ff2c2705a301dca7d9d6636d09d49d60298183273b9321681baeaf330c78db5393bc73f3f6a @@ -6587,6 +6872,13 @@ __metadata: languageName: node linkType: hard +"core-js@npm:^3.49.0": + version: 3.49.0 + resolution: "core-js@npm:3.49.0" + checksum: 10c0/2e42edb47eda38fd5368380131623c8aa5d4a6b42164125b17744bdc08fa5ebbbdd06b4b4aa6ca3663470a560b0f2fba48e18f142dfe264b0039df85bc625694 + languageName: node + linkType: hard + "cors@npm:2.8.6": version: 2.8.6 resolution: "cors@npm:2.8.6" @@ -7506,9 +7798,9 @@ __metadata: languageName: node linkType: hard -"eslint-import-resolver-typescript@npm:4.4.4": - version: 4.4.4 - resolution: "eslint-import-resolver-typescript@npm:4.4.4" +"eslint-import-resolver-typescript@npm:4.4.5": + version: 4.4.5 + resolution: "eslint-import-resolver-typescript@npm:4.4.5" dependencies: debug: "npm:^4.4.1" eslint-import-context: "npm:^0.1.8" @@ -7526,7 +7818,7 @@ __metadata: optional: true eslint-plugin-import-x: optional: true - checksum: 10c0/3bf8ad77c21660f77a0e455555ab179420f68ae7a132906c85a217ccce51cb6680cf70027cab32a358d193e5b9e476f6ba2e595585242aa97d4f6435ca22104e + checksum: 10c0/15fa1c47dfc508deaef638d8f9b65eedfd4722c23c1b4e51391082daf4f23a75fc5e42ebcbc5ebcae8a3977f9aa204dd2574528ab0c27b678e582122f3c8cc02 languageName: node linkType: hard @@ -7542,19 +7834,20 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-formatjs@npm:6.4.3": - version: 6.4.3 - resolution: "eslint-plugin-formatjs@npm:6.4.3" +"eslint-plugin-formatjs@npm:6.4.20": + version: 6.4.20 + resolution: "eslint-plugin-formatjs@npm:6.4.20" dependencies: - "@formatjs/icu-messageformat-parser": "npm:3.5.3" - "@formatjs/ts-transformer": "npm:4.4.2" - "@types/picomatch": "npm:^4.0.0" - "@unicode/unicode-17.0.0": "npm:^1.6.16" - magic-string: "npm:^0.30.0" + "@formatjs/icu-messageformat-parser": "npm:3.5.16" + "@formatjs/ts-transformer": "npm:4.4.18" + "@types/estree-jsx": "npm:1" + "@types/picomatch": "npm:4" + "@unicode/unicode-17.0.0": "npm:1" + magic-string: "npm:0" picomatch: "npm:2 || 3 || 4" peerDependencies: eslint: 9 || 10 - checksum: 10c0/348f72c8668ebeb10c7273103b6b91230684b97bf683eddaeaeb6a298e6fa483028504274ed53f3971d5acb68aaa790b89e184328a1520b41158c1b9ef770b39 + checksum: 10c0/0783de3ee31be0a30ea7ddf3c9174f4fb1d0d000adcf95079c19a22ec77b2e97d592eb4ab021baad9bd883e658c78e8f1b532c31e92ad1d9e8441613d2920c6a languageName: node linkType: hard @@ -7587,27 +7880,27 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-jsdoc@npm:63.0.0": - version: 63.0.0 - resolution: "eslint-plugin-jsdoc@npm:63.0.0" +"eslint-plugin-jsdoc@npm:63.3.3": + version: 63.3.3 + resolution: "eslint-plugin-jsdoc@npm:63.3.3" dependencies: - "@es-joy/jsdoccomment": "npm:~0.86.0" + "@es-joy/jsdoccomment": "npm:~0.91.0" "@es-joy/resolve.exports": "npm:1.2.0" are-docs-informative: "npm:^0.0.2" - comment-parser: "npm:1.4.6" + comment-parser: "npm:1.4.7" debug: "npm:^4.4.3" escape-string-regexp: "npm:^4.0.0" espree: "npm:^11.2.0" esquery: "npm:^1.7.0" html-entities: "npm:^2.6.0" - object-deep-merge: "npm:^2.0.0" + object-deep-merge: "npm:^2.0.1" parse-imports-exports: "npm:^0.2.4" - semver: "npm:^7.8.0" - spdx-expression-parse: "npm:^4.0.0" + semver: "npm:^7.8.5" + spdx-expression-parse: "npm:^5.0.0" to-valid-identifier: "npm:^1.0.0" peerDependencies: eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 - checksum: 10c0/c6e6142c7a17ff15a42c8b00d12f1e666d59f33cb59c88e52aca09de610bdf207586701a1f87cbc32e88d4d6b930df069fb0859be161ad72b5a181d8194308ce + checksum: 10c0/cf137600ecde40dafd65f82f0b425fb92c36f31da807990f2645a745e497ecd07c468b9eab0848c7acecf3fb4d22a6af3a65a76f001dfd496cf7fc2d4a26913c languageName: node linkType: hard @@ -7636,20 +7929,20 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-promise@npm:7.2.1": - version: 7.2.1 - resolution: "eslint-plugin-promise@npm:7.2.1" +"eslint-plugin-promise@npm:7.3.0": + version: 7.3.0 + resolution: "eslint-plugin-promise@npm:7.3.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.4.0" peerDependencies: - eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 - checksum: 10c0/d494982faeeafbd2aa5fae9cbceca546169a8399000f72d5d940fa5c4ba554612903bcafbb8033647179e5d21ccf1d621b433d089695f7f47ce3d9fcf4cd0abf + eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 + checksum: 10c0/417d3ab57895143bd687aa840804d0d7bbe70227242530eea7d4af7ae680a67d6872ce3a2adcc36dec29009d1861c63717c5887c30da1887153c8e5a181f3eb5 languageName: node linkType: hard -"eslint-plugin-react-hooks@npm:7.0.1": - version: 7.0.1 - resolution: "eslint-plugin-react-hooks@npm:7.0.1" +"eslint-plugin-react-hooks@npm:7.1.1": + version: 7.1.1 + resolution: "eslint-plugin-react-hooks@npm:7.1.1" dependencies: "@babel/core": "npm:^7.24.4" "@babel/parser": "npm:^7.24.4" @@ -7657,8 +7950,8 @@ __metadata: zod: "npm:^3.25.0 || ^4.0.0" zod-validation-error: "npm:^3.5.0 || ^4.0.0" peerDependencies: - eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 - checksum: 10c0/1e711d1a9d1fa9cfc51fa1572500656577201199c70c795c6a27adfc1df39e5c598f69aab6aa91117753d23cc1f11388579a2bed14921cf9a4efe60ae8618496 + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 || ^10.0.0 + checksum: 10c0/cee8454915d71ac5d70a0d8f4f260e76eaf45fcd4162747dd4282b792ee5616d187351dabe6cdcff9040c79d0cec625635c4fd0777276be119efa88ebe058525 languageName: node linkType: hard @@ -7690,15 +7983,16 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-storybook@npm:10.2.8": - version: 10.2.8 - resolution: "eslint-plugin-storybook@npm:10.2.8" +"eslint-plugin-storybook@npm:10.5.7": + version: 10.5.7 + resolution: "eslint-plugin-storybook@npm:10.5.7" dependencies: - "@typescript-eslint/utils": "npm:^8.48.0" + "@typescript-eslint/types": "npm:^8.60.0" + "@typescript-eslint/utils": "npm:^8.60.0" peerDependencies: eslint: ">=8" - storybook: ^10.2.8 - checksum: 10c0/e4fc59df70cac385b24a7929a8d63d22b2ee6a599b7111b2378da111aeee1ae4629a9fad357086839454b05ec35d6fc8a757e0047f2aa5ebcf38dd966f0be621 + storybook: ^10.5.7 + checksum: 10c0/c4e3b624c7af821a336293549ebbcef8663528fc61aaee87e4678562a01cae86c950537ae63f36882bd142bd1b17717a610ddd5b32b5ccc393bf1b85ad5a4f96 languageName: node linkType: hard @@ -7733,23 +8027,23 @@ __metadata: languageName: node linkType: hard -"eslint@npm:9.39.2": - version: 9.39.2 - resolution: "eslint@npm:9.39.2" +"eslint@npm:9.39.5": + version: 9.39.5 + resolution: "eslint@npm:9.39.5" dependencies: "@eslint-community/eslint-utils": "npm:^4.8.0" "@eslint-community/regexpp": "npm:^4.12.1" - "@eslint/config-array": "npm:^0.21.1" + "@eslint/config-array": "npm:^0.21.2" "@eslint/config-helpers": "npm:^0.4.2" "@eslint/core": "npm:^0.17.0" - "@eslint/eslintrc": "npm:^3.3.1" - "@eslint/js": "npm:9.39.2" + "@eslint/eslintrc": "npm:^3.3.6" + "@eslint/js": "npm:9.39.5" "@eslint/plugin-kit": "npm:^0.4.1" "@humanfs/node": "npm:^0.16.6" "@humanwhocodes/module-importer": "npm:^1.0.1" "@humanwhocodes/retry": "npm:^0.4.2" "@types/estree": "npm:^1.0.6" - ajv: "npm:^6.12.4" + ajv: "npm:^6.14.0" chalk: "npm:^4.0.0" cross-spawn: "npm:^7.0.6" debug: "npm:^4.3.2" @@ -7768,7 +8062,7 @@ __metadata: is-glob: "npm:^4.0.0" json-stable-stringify-without-jsonify: "npm:^1.0.1" lodash.merge: "npm:^4.6.2" - minimatch: "npm:^3.1.2" + minimatch: "npm:^3.1.5" natural-compare: "npm:^1.4.0" optionator: "npm:^0.9.3" peerDependencies: @@ -7778,7 +8072,7 @@ __metadata: optional: true bin: eslint: bin/eslint.js - checksum: 10c0/bb88ca8fd16bb7e1ac3e13804c54d41c583214460c0faa7b3e7c574e69c5600c7122295500fb4b0c06067831111db740931e98da1340329527658e1cf80073d3 + checksum: 10c0/46335bfcf180ffea9955b38122b578ac9e075b6220e5695be1c988354ea429b04f5db05edc132aa9019ce9847736e9ca0c9ea6d6cedda3c06209c9b52dbd0fd5 languageName: node linkType: hard @@ -8416,6 +8710,13 @@ __metadata: languageName: node linkType: hard +"globals@npm:17.9.0": + version: 17.9.0 + resolution: "globals@npm:17.9.0" + checksum: 10c0/776116bffb916e462d548c26a44c9a5d8f4e551935a883991e9f5d68cbcb21b63e4c688e36bbc564f97d3025e304d8b2bb0a611ecf944825aeee164898dcfbdd + languageName: node + linkType: hard + "globals@npm:^14.0.0": version: 14.0.0 resolution: "globals@npm:14.0.0" @@ -9388,7 +9689,7 @@ __metadata: languageName: node linkType: hard -"js-yaml@npm:^4.1.0": +"js-yaml@npm:^4.1.0, js-yaml@npm:^4.3.0": version: 4.3.1 resolution: "js-yaml@npm:4.3.1" dependencies: @@ -9399,10 +9700,10 @@ __metadata: languageName: node linkType: hard -"jsdoc-type-pratt-parser@npm:~7.2.0": - version: 7.2.0 - resolution: "jsdoc-type-pratt-parser@npm:7.2.0" - checksum: 10c0/efe7e87583adba264234d445b47c5bfdb98c81d5c8ce8ea4c5ebcf4e249cc152cf6ecb0ec3e040a7359f391899556858fc8a22f9deb2373885cdd8ee6e221b29 +"jsdoc-type-pratt-parser@npm:~8.0.0": + version: 8.0.0 + resolution: "jsdoc-type-pratt-parser@npm:8.0.0" + checksum: 10c0/0b383c48cb6e3c9726430017b37a838826ad3f5fa15062b44d6fcca8b7a7b26cd392b6902e7f1f872b65bdf9df76a64dfc2c0600977a7160f06f62f9af2a1925 languageName: node linkType: hard @@ -9484,7 +9785,7 @@ __metadata: languageName: node linkType: hard -"json-stable-stringify@npm:1, json-stable-stringify@npm:^1.3.0": +"json-stable-stringify@npm:1": version: 1.3.0 resolution: "json-stable-stringify@npm:1.3.0" dependencies: @@ -10130,7 +10431,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": +"minimatch@npm:^3.1.1, minimatch@npm:^3.1.2, minimatch@npm:^3.1.5": version: 3.1.5 resolution: "minimatch@npm:3.1.5" dependencies: @@ -10296,6 +10597,15 @@ __metadata: languageName: node linkType: hard +"nanoid@npm:^3.3.16": + version: 3.3.16 + resolution: "nanoid@npm:3.3.16" + bin: + nanoid: bin/nanoid.cjs + checksum: 10c0/bbf2dcffe22d2b62d16de2711752070b539c0f644c7916f823ad6521986b2078cbe524f2d6240f58c46e9141ea0c7b87a029e100c0f7f175228cacaf30e41bba + languageName: node + linkType: hard + "nanoid@npm:^3.3.17": version: 3.3.17 resolution: "nanoid@npm:3.3.17" @@ -10432,10 +10742,10 @@ __metadata: languageName: node linkType: hard -"object-deep-merge@npm:^2.0.0": - version: 2.0.0 - resolution: "object-deep-merge@npm:2.0.0" - checksum: 10c0/69e8741131ad49fa8720fb96007a3c82dca1119b5d874151d2ecbcc3b44ccd46e8553c7a30b0abcba752c099ba361bbba97f33a68c9ae54c57eed7be116ffc97 +"object-deep-merge@npm:^2.0.1": + version: 2.0.1 + resolution: "object-deep-merge@npm:2.0.1" + checksum: 10c0/c20580c462a3579ccc49a51c04a131d956d1d22197a92ddb2ad13c6201f54351708df47225a639660c46495f5c913c52609a6bac68feb74ddc27cddfd9a0f287 languageName: node linkType: hard @@ -11679,6 +11989,17 @@ __metadata: languageName: node linkType: hard +"postcss@npm:^8.5.23": + version: 8.5.25 + resolution: "postcss@npm:8.5.25" + dependencies: + nanoid: "npm:^3.3.16" + picocolors: "npm:^1.1.1" + source-map-js: "npm:^1.2.1" + checksum: 10c0/0a12c1e74b456c57122e81f684e02fd98ff4d57526f794d10c996df1147158808f5ae373ac82b988c8de6cbbaa82dbd7b13803b14f5dd3cf7cc6a42ccad5c9f2 + languageName: node + linkType: hard + "postgres-array@npm:~2.0.0": version: 2.0.0 resolution: "postgres-array@npm:2.0.0" @@ -12454,6 +12775,64 @@ __metadata: languageName: node linkType: hard +"rolldown@npm:~1.2.0": + version: 1.2.1 + resolution: "rolldown@npm:1.2.1" + dependencies: + "@oxc-project/types": "npm:=0.142.0" + "@rolldown/binding-android-arm64": "npm:1.2.1" + "@rolldown/binding-darwin-arm64": "npm:1.2.1" + "@rolldown/binding-darwin-x64": "npm:1.2.1" + "@rolldown/binding-freebsd-x64": "npm:1.2.1" + "@rolldown/binding-linux-arm-gnueabihf": "npm:1.2.1" + "@rolldown/binding-linux-arm64-gnu": "npm:1.2.1" + "@rolldown/binding-linux-arm64-musl": "npm:1.2.1" + "@rolldown/binding-linux-ppc64-gnu": "npm:1.2.1" + "@rolldown/binding-linux-s390x-gnu": "npm:1.2.1" + "@rolldown/binding-linux-x64-gnu": "npm:1.2.1" + "@rolldown/binding-linux-x64-musl": "npm:1.2.1" + "@rolldown/binding-openharmony-arm64": "npm:1.2.1" + "@rolldown/binding-wasm32-wasi": "npm:1.2.1" + "@rolldown/binding-win32-arm64-msvc": "npm:1.2.1" + "@rolldown/binding-win32-x64-msvc": "npm:1.2.1" + "@rolldown/pluginutils": "npm:^1.0.0" + dependenciesMeta: + "@rolldown/binding-android-arm64": + optional: true + "@rolldown/binding-darwin-arm64": + optional: true + "@rolldown/binding-darwin-x64": + optional: true + "@rolldown/binding-freebsd-x64": + optional: true + "@rolldown/binding-linux-arm-gnueabihf": + optional: true + "@rolldown/binding-linux-arm64-gnu": + optional: true + "@rolldown/binding-linux-arm64-musl": + optional: true + "@rolldown/binding-linux-ppc64-gnu": + optional: true + "@rolldown/binding-linux-s390x-gnu": + optional: true + "@rolldown/binding-linux-x64-gnu": + optional: true + "@rolldown/binding-linux-x64-musl": + optional: true + "@rolldown/binding-openharmony-arm64": + optional: true + "@rolldown/binding-wasm32-wasi": + optional: true + "@rolldown/binding-win32-arm64-msvc": + optional: true + "@rolldown/binding-win32-x64-msvc": + optional: true + bin: + rolldown: ./bin/cli.mjs + checksum: 10c0/d22c80c70d71a36abde7dca7217f66d94cdb5d0c03185205de808d368ab1b8fd5e78ff4db10efc69c5f68a5f9d03d59c8ace848f1f85c4aab79330162a10b3e7 + languageName: node + linkType: hard + "rolldown@npm:~1.2.1": version: 1.2.3 resolution: "rolldown@npm:1.2.3" @@ -12717,12 +13096,12 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.7.1, semver@npm:^7.7.3, semver@npm:^7.8.0": - version: 7.8.1 - resolution: "semver@npm:7.8.1" +"semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.7.1, semver@npm:^7.7.3, semver@npm:^7.8.5": + version: 7.8.5 + resolution: "semver@npm:7.8.5" bin: semver: bin/semver.js - checksum: 10c0/92d6871d6347e1f99d0ba396a70f2545ccf2a032cda3d378fa0699edf7506b5c6d266aed55c8b88e72bd91a30d2351e4f39db479375374430fcdc4b58f4e3c1a + checksum: 10c0/b1f3127a5be8125a94f37188b361c212466c292c6910adce3ec106cff5dc211ccaedc4739c11bb70fda59d6fc1f040a9bca289f4e093451521a2372e5231fe0c languageName: node linkType: hard @@ -13027,13 +13406,13 @@ __metadata: languageName: node linkType: hard -"spdx-expression-parse@npm:^4.0.0": - version: 4.0.0 - resolution: "spdx-expression-parse@npm:4.0.0" +"spdx-expression-parse@npm:^5.0.0": + version: 5.0.0 + resolution: "spdx-expression-parse@npm:5.0.0" dependencies: spdx-exceptions: "npm:^2.1.0" spdx-license-ids: "npm:^3.0.0" - checksum: 10c0/965c487e77f4fb173f1c471f3eef4eb44b9f0321adc7f93d95e7620da31faa67d29356eb02523cd7df8a7fc1ec8238773cdbf9e45bd050329d2b26492771b736 + checksum: 10c0/26d0e79e1fda50301ba99c294788c4efb1aded6b8206dada2749d497c7772cfd6ee8ed43c9a0095dc77a3fcf2a39f421643381ec009a8b84bb95a5bb1a623510 languageName: node linkType: hard @@ -13993,6 +14372,21 @@ __metadata: languageName: node linkType: hard +"typescript-eslint@npm:8.66.0": + version: 8.66.0 + resolution: "typescript-eslint@npm:8.66.0" + dependencies: + "@typescript-eslint/eslint-plugin": "npm:8.66.0" + "@typescript-eslint/parser": "npm:8.66.0" + "@typescript-eslint/typescript-estree": "npm:8.66.0" + "@typescript-eslint/utils": "npm:8.66.0" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: ">=4.8.4 <6.1.0" + checksum: 10c0/5a713dd613e56fe11113b2ba8c9f96849dbb0883168e96ff4a800c9a017e974a597c2c99748821e7ade858390711f22fcf5b6b67f14ec5873531d2b1b3968e93 + languageName: node + linkType: hard + "typescript-plugin-css-modules@npm:5.2.0": version: 5.2.0 resolution: "typescript-plugin-css-modules@npm:5.2.0" @@ -14033,16 +14427,6 @@ __metadata: languageName: node linkType: hard -"typescript@npm:^5.6.0": - version: 5.9.3 - resolution: "typescript@npm:5.9.3" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: 10c0/6bd7552ce39f97e711db5aa048f6f9995b53f1c52f7d8667c1abdc1700c68a76a308f579cd309ce6b53646deb4e9a1be7c813a93baaf0a28ccd536a30270e1c5 - languageName: node - linkType: hard - "typescript@patch:typescript@npm%3A@typescript/typescript6@6.0.2#optional!builtin": version: 6.0.2 resolution: "typescript@patch:@typescript/typescript6@npm%3A6.0.2#optional!builtin::version=6.0.2&hash=5786d5" @@ -14054,6 +14438,77 @@ __metadata: languageName: node linkType: hard +"typescript@patch:typescript@npm%3A^5.6 || 6 || 7#optional!builtin": + version: 7.0.2 + resolution: "typescript@patch:typescript@npm%3A7.0.2#optional!builtin::version=7.0.2&hash=3bafbf" + dependencies: + "@typescript/typescript-aix-ppc64": "npm:7.0.2" + "@typescript/typescript-darwin-arm64": "npm:7.0.2" + "@typescript/typescript-darwin-x64": "npm:7.0.2" + "@typescript/typescript-freebsd-arm64": "npm:7.0.2" + "@typescript/typescript-freebsd-x64": "npm:7.0.2" + "@typescript/typescript-linux-arm": "npm:7.0.2" + "@typescript/typescript-linux-arm64": "npm:7.0.2" + "@typescript/typescript-linux-loong64": "npm:7.0.2" + "@typescript/typescript-linux-mips64el": "npm:7.0.2" + "@typescript/typescript-linux-ppc64": "npm:7.0.2" + "@typescript/typescript-linux-riscv64": "npm:7.0.2" + "@typescript/typescript-linux-s390x": "npm:7.0.2" + "@typescript/typescript-linux-x64": "npm:7.0.2" + "@typescript/typescript-netbsd-arm64": "npm:7.0.2" + "@typescript/typescript-netbsd-x64": "npm:7.0.2" + "@typescript/typescript-openbsd-arm64": "npm:7.0.2" + "@typescript/typescript-openbsd-x64": "npm:7.0.2" + "@typescript/typescript-sunos-x64": "npm:7.0.2" + "@typescript/typescript-win32-arm64": "npm:7.0.2" + "@typescript/typescript-win32-x64": "npm:7.0.2" + dependenciesMeta: + "@typescript/typescript-aix-ppc64": + optional: true + "@typescript/typescript-darwin-arm64": + optional: true + "@typescript/typescript-darwin-x64": + optional: true + "@typescript/typescript-freebsd-arm64": + optional: true + "@typescript/typescript-freebsd-x64": + optional: true + "@typescript/typescript-linux-arm": + optional: true + "@typescript/typescript-linux-arm64": + optional: true + "@typescript/typescript-linux-loong64": + optional: true + "@typescript/typescript-linux-mips64el": + optional: true + "@typescript/typescript-linux-ppc64": + optional: true + "@typescript/typescript-linux-riscv64": + optional: true + "@typescript/typescript-linux-s390x": + optional: true + "@typescript/typescript-linux-x64": + optional: true + "@typescript/typescript-netbsd-arm64": + optional: true + "@typescript/typescript-netbsd-x64": + optional: true + "@typescript/typescript-openbsd-arm64": + optional: true + "@typescript/typescript-openbsd-x64": + optional: true + "@typescript/typescript-sunos-x64": + optional: true + "@typescript/typescript-win32-arm64": + optional: true + "@typescript/typescript-win32-x64": + optional: true + bin: + tsc: bin/tsc + checksum: 10c0/6b3cdc369cd829d46e00734ea64233ee84419c2825ad8fe408915adde77abced4b7a2401f7eed517d54a7a4f5d1c1869753cb99018df1c2159c761d9f33483a6 + languageName: node + linkType: hard + "typescript@patch:typescript@npm%3A^5.6 || 6#optional!builtin": version: 6.0.3 resolution: "typescript@patch:typescript@npm%3A6.0.3#optional!builtin::version=6.0.3&hash=5786d5" @@ -14064,16 +14519,6 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@npm%3A^5.6.0#optional!builtin": - version: 5.9.3 - resolution: "typescript@patch:typescript@npm%3A5.9.3#optional!builtin::version=5.9.3&hash=5786d5" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: 10c0/ad09fdf7a756814dce65bc60c1657b40d44451346858eea230e10f2e95a289d9183b6e32e5c11e95acc0ccc214b4f36289dcad4bf1886b0adb84d711d336a430 - languageName: node - linkType: hard - "unbox-primitive@npm:^1.1.0": version: 1.1.0 resolution: "unbox-primitive@npm:1.1.0" @@ -14430,7 +14875,7 @@ __metadata: languageName: node linkType: hard -"vite@npm:8.2.1, vite@npm:^6.0.0 || ^7.0.0 || ^8.0.0": +"vite@npm:8.2.1": version: 8.2.1 resolution: "vite@npm:8.2.1" dependencies: @@ -14487,6 +14932,63 @@ __metadata: languageName: node linkType: hard +"vite@npm:^6.0.0 || ^7.0.0 || ^8.0.0": + version: 8.2.0 + resolution: "vite@npm:8.2.0" + dependencies: + fsevents: "npm:~2.3.3" + lightningcss: "npm:^1.33.0" + picomatch: "npm:^4.0.5" + postcss: "npm:^8.5.23" + rolldown: "npm:~1.2.0" + tinyglobby: "npm:^0.2.17" + peerDependencies: + "@types/node": ^20.19.0 || >=22.12.0 + "@vitejs/devtools": ^0.4.0 + esbuild: ^0.27.0 || ^0.28.0 + jiti: ">=1.21.0" + less: ^4.0.0 + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: ">=0.54.8" + sugarss: ^5.0.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + dependenciesMeta: + fsevents: + optional: true + peerDependenciesMeta: + "@types/node": + optional: true + "@vitejs/devtools": + optional: true + esbuild: + optional: true + jiti: + optional: true + less: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + bin: + vite: bin/vite.js + checksum: 10c0/bd6a5e7b28973bac06f0e8e54833800e16d1bf38a8aef2acbfea5bbaed6d8fc715fd7cc9b0ec75ef1adbde149bb9167b085c17fe7edcd3a190b4eda16d474e5c + languageName: node + linkType: hard + "vitest@npm:4.1.10": version: 4.1.10 resolution: "vitest@npm:4.1.10" @@ -14815,7 +15317,7 @@ __metadata: languageName: node linkType: hard -"ws@npm:8.21.3, ws@npm:^8.18.0, ws@npm:^8.19.0": +"ws@npm:8.21.3": version: 8.21.3 resolution: "ws@npm:8.21.3" peerDependencies: @@ -14830,6 +15332,21 @@ __metadata: languageName: node linkType: hard +"ws@npm:^8.18.0, ws@npm:^8.19.0": + version: 8.21.2 + resolution: "ws@npm:8.21.2" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ">=5.0.2" + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10c0/82d687bbfbccce04e91266ff9911b27c67ca622fd8fbacc6a64d467a43fbd7ecaa3ef6d820b315c060682f901463f57cac01a02b00c4379f49c747ec7da83169 + languageName: node + linkType: hard + "wsl-utils@npm:^0.1.0": version: 0.1.0 resolution: "wsl-utils@npm:0.1.0"