diff --git a/apps/web/.storybook/main.ts b/apps/web/.storybook/main.ts index 512a73f..9f997c3 100644 --- a/apps/web/.storybook/main.ts +++ b/apps/web/.storybook/main.ts @@ -22,5 +22,27 @@ const config: StorybookConfig = { options: {}, }, staticDirs: ["../public"], + // biome-ignore lint/suspicious/noExplicitAny: + webpackFinal: (config: any) => { + const imageRule = config.module.rules.find(rule => { + const test = (rule as { test: RegExp }).test; + + if (!test) { + return false; + } + + return test.test(".svg"); + // biome-ignore lint/suspicious/noExplicitAny: + }) as { [key: string]: any }; + + imageRule.exclude = /\.svg$/; + + config.module.rules.push({ + test: /\.svg$/, + use: ["@svgr/webpack"], + }); + + return config; + }, }; export default config; diff --git a/apps/web/.storybook/preview.ts b/apps/web/.storybook/preview.tsx similarity index 61% rename from apps/web/.storybook/preview.ts rename to apps/web/.storybook/preview.tsx index b621509..85db04e 100644 --- a/apps/web/.storybook/preview.ts +++ b/apps/web/.storybook/preview.tsx @@ -1,6 +1,6 @@ import "@/shared/style/index.css"; - import type { Preview } from "@storybook/nextjs-vite"; +import React from "react"; const preview: Preview = { parameters: { @@ -18,6 +18,17 @@ const preview: Preview = { test: "todo", }, }, + decorators: [ + Story => { + if (!document.getElementById("toast-portal")) { + const portalDiv = document.createElement("div"); + portalDiv.id = "toast-portal"; + document.body.appendChild(portalDiv); + } + + return ; + }, + ], }; export default preview; diff --git a/apps/web/next.config.js b/apps/web/next.config.js index 608f1be..49698cd 100644 --- a/apps/web/next.config.js +++ b/apps/web/next.config.js @@ -1,6 +1,14 @@ /** @type {import('next').NextConfig} */ const nextConfig = { output: "standalone", + turbopack: { + rules: { + '*.svg': { + loaders: ['@svgr/webpack'], + as: '*.js' + } + } + } }; export default nextConfig; diff --git a/apps/web/package.json b/apps/web/package.json index 4f0d9b6..68199e0 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -37,6 +37,7 @@ "@storybook/addon-vitest": "^9.1.7", "@storybook/nextjs": "^9.1.7", "@storybook/nextjs-vite": "^9.1.7", + "@svgr/webpack": "^8.1.0", "@types/node": "^22.15.3", "@types/react": "19.1.0", "@types/react-dom": "19.1.1", diff --git a/apps/web/src/shared/components/Toast/Toast.Animation.css b/apps/web/src/shared/components/Toast/Toast.Animation.css new file mode 100644 index 0000000..9cc7f59 --- /dev/null +++ b/apps/web/src/shared/components/Toast/Toast.Animation.css @@ -0,0 +1,120 @@ +/* Toast Keyframe Animations */ + +@keyframes toast-enter-top { + 0% { + transform: translate3d(0, -200%, 0) scale(0.6); + opacity: 0.5; + } + 100% { + transform: translate3d(0, 0, 0) scale(1); + opacity: 1; + } +} + +@keyframes toast-exit-top { + 0% { + transform: translate3d(0, 0, -1px) scale(1); + opacity: 1; + } + 100% { + transform: translate3d(0, -150%, -1px) scale(0.6); + opacity: 0; + } +} + +@keyframes toast-enter-bottom { + 0% { + transform: translate3d(0, 200%, 0) scale(0.6); + opacity: 0.5; + } + 100% { + transform: translate3d(0, 0, 0) scale(1); + opacity: 1; + } +} + +@keyframes toast-exit-bottom { + 0% { + transform: translate3d(0, 0, -1px) scale(1); + opacity: 1; + } + 100% { + transform: translate3d(0, 150%, -1px) scale(0.6); + opacity: 0; + } +} + +@keyframes toast-fade-in { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } +} + +@keyframes toast-fade-out { + 0% { + opacity: 1; + } + 100% { + opacity: 0; + } +} + +@media (prefers-reduced-motion: reduce) { + @keyframes toast-enter-top { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } + } + + @keyframes toast-exit-top { + 0% { + opacity: 1; + } + 100% { + opacity: 0; + } + } + + @keyframes toast-enter-bottom { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } + } + + @keyframes toast-exit-bottom { + 0% { + opacity: 1; + } + 100% { + opacity: 0; + } + } + + @keyframes toast-fade-in { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } + } + + @keyframes toast-fade-out { + 0% { + opacity: 1; + } + 100% { + opacity: 0; + } + } +} + diff --git a/apps/web/src/shared/components/Toast/Toast.stlye.ts b/apps/web/src/shared/components/Toast/Toast.stlye.ts new file mode 100644 index 0000000..d0301ff --- /dev/null +++ b/apps/web/src/shared/components/Toast/Toast.stlye.ts @@ -0,0 +1,154 @@ +import { css, cva } from "../../../../styled-system/css"; + +// Toast Content 스타일 (position과 visible variants 포함) +export const toastContent = cva({ + base: { + opacity: 0, + display: "flex", + position: "relative", + boxSizing: "border-box", + alignItems: "center", + justifyContent: "space-between", + gap: "8px", + borderRadius: "4px", + minHeight: "48px", + padding: "0 14px", + background: "#3D3D3D", + color: "#FFFFFF", + boxShadow: "0 3px 10px rgba(0, 0, 0, 0.1), 0 3px 3px rgba(0, 0, 0, 0.05)", + pointerEvents: "auto", + willChange: "transform", + transition: "transform 0.23s cubic-bezier(0.21, 1.02, 0.73, 1)", + }, + compoundVariants: [ + { + position: "top", + visible: true, + css: { + animation: "toast-enter-top 0.35s cubic-bezier(0.21, 1.02, 0.73, 1) forwards", + "@media (prefers-reduced-motion: reduce)": { + animation: "toast-fade-in 0.35s ease-in forwards", + }, + }, + }, + { + position: "top", + visible: false, + css: { + animation: "toast-exit-top 0.4s cubic-bezier(0.06, 0.71, 0.55, 1) forwards", + "@media (prefers-reduced-motion: reduce)": { + animation: "toast-fade-out 0.4s ease-out forwards", + }, + }, + }, + { + position: "bottom", + visible: true, + css: { + animation: "toast-enter-bottom 0.35s cubic-bezier(0.21, 1.02, 0.73, 1) forwards", + "@media (prefers-reduced-motion: reduce)": { + animation: "toast-fade-in 0.35s ease-in forwards", + }, + }, + }, + { + position: "bottom", + visible: false, + css: { + animation: "toast-exit-bottom 0.4s cubic-bezier(0.06, 0.71, 0.55, 1) forwards", + "@media (prefers-reduced-motion: reduce)": { + animation: "toast-fade-out 0.4s ease-out forwards", + }, + }, + }, + ], +}); + +export const toastTypeMessage = css({ + display: "flex", + alignItems: "center", + gap: "8px", +}); + +export const toastTypeIcon = css({ + display: "flex", + alignItems: "center", + '&[data-toast-type="default"]': { + display: "none", + }, +}); + +export const toastMessage = css({ + fontSize: "14px", + fontWeight: "400", + color: "#FFFFFF", + lineHeight: "20px", +}); + +export const toastActionLink = css({ + flexShrink: 0, + fontSize: "12px", + fontWeight: "400", + color: "#FFFFFF", + textDecoration: "underline", + textUnderlineOffset: "2px", + cursor: "pointer", +}); + +export const toastActionButton = css({ + display: "flex", + flexShrink: 0, + alignItems: "center", + justifyContent: "center", + padding: "4px 6px", + backgroundColor: "#FF8A00", + borderRadius: "4px", + fontSize: "12px", + fontWeight: "400", + color: "#FFFFFF", + cursor: "pointer", +}); + +export const toasterContent = css({ + position: "fixed", + zIndex: 9999, + top: 0, + left: 0, + right: 0, + bottom: 0, + pointerEvents: "none", +}); + +export const toastWrapper = cva({ + base: { + position: "absolute", + "& > *": { + transition: "all 0.23s cubic-bezier(0.21, 1.02, 0.73, 1)", + }, + }, + variants: { + position: { + "top-right": { + right: 0, + }, + "top-left": { + left: 0, + }, + "top-center": { + left: "50%", + }, + "bottom-right": { + bottom: 0, + right: 0, + }, + "bottom-left": { + bottom: 0, + left: 0, + }, + "bottom-center": { + bottom: 0, + left: "50%", + }, + }, + }, +}); diff --git a/apps/web/src/shared/components/Toast/Toast.stories.tsx b/apps/web/src/shared/components/Toast/Toast.stories.tsx new file mode 100644 index 0000000..0ee3157 --- /dev/null +++ b/apps/web/src/shared/components/Toast/Toast.stories.tsx @@ -0,0 +1,130 @@ +import type { Meta, StoryObj } from "@storybook/nextjs-vite"; +import { Button } from "../Button"; +import { Toast } from "./Toast"; +import { ToastProvider } from "./ToastProvider"; +import { useToast } from "./useToast"; + +const meta: Meta = { + title: "V2/Components/Toast", + component: Toast, + parameters: { + layout: "centered", + }, + tags: ["autodocs"], + argTypes: { + position: { + control: "select", + options: ["top-left", "top-right", "top-center", "bottom-left", "bottom-right", "bottom-center"], + }, + type: { + control: "select", + options: ["default", "success", "error", "warning"], + }, + }, + decorators: [ + Story => ( + + + + ), + ], +}; + +export default meta; +type Story = StoryObj; + +export const Primary: Story = { + args: { + position: "top-right", + }, + render: args => { + // eslint-disable-next-line + const { add } = useToast(); + + const handleAddTopLeftToast = () => { + add({ + message: "토스트팝업 메시지", + position: "top-left", + }); + }; + + const handleAddTopCenterToast = () => { + add({ + type: "success", + message: "토스트팝업 메시지", + position: "top-center", + }); + }; + + const handleAddTopRightToast = () => { + add({ + width: "240px", + type: "warning", + action: "icon-link", + message: "토스트팝업 메시지", + position: "top-right", + }); + }; + + const handleAddBottomLeftToast = () => { + add({ + width: "326px", + action: "icon-link", + onAction: () => console.log("link click"), + type: "warning", + message: "토스트팝업 메시지 두줄유형 토스트팝업 메시지 두줄유형 최대글씨는 이만큼", + position: "bottom-left", + }); + }; + + const handleAddBottomCenterToast = () => { + add({ + width: "240px", + type: "error", + action: "icon-button", + message: "토스트팝업 메시지", + position: "bottom-center", + buttonText: "버튼", + }); + }; + + const handleAddBottomRightToast = () => { + add({ + width: "240px", + type: "success", + action: "icon-button", + message: "토스트팝업 메시지", + position: "bottom-right", + buttonText: "버튼", + }); + }; + + return ( + + + TOP LEFT + + + TOP CENTER + + + TOP RIGHT + + + BOTTOM LEFT + + + BOTTOM CENTER + + + BOTTOM RIGHT + + + ); + }, +}; diff --git a/apps/web/src/shared/components/Toast/Toast.tsx b/apps/web/src/shared/components/Toast/Toast.tsx new file mode 100644 index 0000000..15a9191 --- /dev/null +++ b/apps/web/src/shared/components/Toast/Toast.tsx @@ -0,0 +1,122 @@ +"use client"; + +import { useIsMounted } from "@/shared/hooks/useIsMounted"; +import { SwitchCase } from "@/shared/utils/SwitchCase"; +import { Fragment, useEffect, useMemo, useState } from "react"; +import * as styles from "./Toast.stlye"; +import type { ToastPosition, ToastProps, ToastType } from "./Toast.type"; +import ErrorIcon from "./assets/toast-error.svg"; +import SuccessIcon from "./assets/toast-success.svg"; +import WarningIcon from "./assets/toast-warning.svg"; +import { useToastStack } from "./useToastStack"; +import "./Toast.Animation.css"; + +export const Toaster = ({ toasts }: { toasts: ToastType[] }) => { + const { getToasterProps, groupedToasts } = useToastStack(toasts); + + return ( + + {(Object.entries(groupedToasts) as [ToastPosition, ToastType[]][]).map( + ([position, positionToasts]) => + positionToasts.length > 0 && ( + + {positionToasts.map((toast, idx) => { + const toasterProps = getToasterProps(toast, idx, position as ToastPosition); + + return ( + + + + ); + })} + + ) + )} + + ); +}; + +export const Toast = ({ ...toast }: ToastProps) => { + const { width, type, action, position, offset, duration, style, message, buttonText, onAction } = toast; + + const isMounted = useIsMounted(); + const [visible, setVisible] = useState(false); + const isTop = position?.includes("top"); + const positionClass = isTop ? "top" : "bottom"; + + const offsetStyle = useMemo(() => { + const offsetValue = offset; + + return isTop ? { top: `${offsetValue}px` } : { bottom: `${offsetValue}px` }; + }, [isTop, offset]); + + useEffect(() => { + const animation = isMounted + ? requestAnimationFrame(() => { + setVisible(true); + }) + : null; + + const timer = setTimeout( + () => { + setVisible(false); + }, + duration ? duration - 500 : 300 + ); + + return () => { + if (animation !== null) { + cancelAnimationFrame(animation); + } + clearTimeout(timer); + }; + }, [isMounted, duration]); + + return ( + + + + , + warning: , + error: , + }} + defaultComponent={null} + /> + + {message} + + + + 링크→ + + ), + "icon-button": ( + + {buttonText} + + ), + }} + defaultComponent={null} + /> + + ); +}; diff --git a/apps/web/src/shared/components/Toast/Toast.type.ts b/apps/web/src/shared/components/Toast/Toast.type.ts new file mode 100644 index 0000000..6f70d81 --- /dev/null +++ b/apps/web/src/shared/components/Toast/Toast.type.ts @@ -0,0 +1,38 @@ +export type ToastTypes = "default" | "success" | "error" | "warning"; +export type ToastActionTypes = "default" | "icon-link" | "icon-button"; + +export type ToastPosition = "top-left" | "top-center" | "top-right" | "bottom-left" | "bottom-center" | "bottom-right"; + +export interface ToastOptions { + type: ToastTypes; + action: ToastActionTypes; + offset: number; + message: string; + duration: number; + position: ToastPosition; + width?: string; + radius?: number; + style?: React.CSSProperties; + buttonText?: string; + onAction?: () => void; + /** 로깅 */ + logParams?: Record; +} + +export interface ToastType extends ToastOptions { + id: string; +} + +export interface ToastProviderProps { + children: React.ReactNode; + options?: Partial; +} + +export interface ToastContextValue { + add: (toast: Partial) => string; + remove: (id: string) => void; +} + +export interface ToastProps extends Partial { + children?: React.ReactNode; +} diff --git a/apps/web/src/shared/components/Toast/ToastProvider.tsx b/apps/web/src/shared/components/Toast/ToastProvider.tsx new file mode 100644 index 0000000..a83b7ec --- /dev/null +++ b/apps/web/src/shared/components/Toast/ToastProvider.tsx @@ -0,0 +1,88 @@ +import { useIsMounted } from "@/shared/hooks/useIsMounted"; +import { type ReactNode, createContext, useCallback, useEffect, useMemo, useState } from "react"; +import { createPortal } from "react-dom"; +import { Toaster } from "./Toast"; +import type { ToastContextValue, ToastOptions, ToastProviderProps, ToastType } from "./Toast.type"; + +const defaultToastValue: ToastOptions = { + type: "default", + action: "default", + style: {}, + offset: 0, + message: "", + duration: 3000, + position: "top-right", +}; + +export const ToastContext = createContext(null); + +const ToastPortal = ({ children }: { children: ReactNode }) => { + const isMounted = useIsMounted(); + const [portalNode, setPortalNode] = useState(null); + + useEffect(() => { + let node = document.getElementById("toast-portal"); + + if (!node) { + node = document.createElement("div"); + node.id = "toast-portal"; + document.body.appendChild(node); + } + + setPortalNode(node); + }, []); + + if (!isMounted || !portalNode) return null; + + return createPortal(children, portalNode); +}; + +export const ToastProvider = ({ options, children }: ToastProviderProps) => { + const [toasts, setToasts] = useState([]); + + const add = useCallback( + (toast: Partial) => { + const id = Math.random().toString(36).substring(2, 9); + const newToast: ToastType = { + ...toast, + id, + type: toast.type ?? options?.type ?? defaultToastValue.type, + action: toast.action ?? options?.action ?? defaultToastValue.action, + style: toast.style ?? options?.style ?? defaultToastValue.style, + offset: toast.offset ?? options?.offset ?? defaultToastValue.offset, + radius: toast.radius ?? options?.radius ?? defaultToastValue.radius, + message: toast.message ?? options?.message ?? defaultToastValue.message, + duration: toast.duration ?? options?.duration ?? defaultToastValue.duration, + position: toast.position ?? options?.position ?? defaultToastValue.position, + }; + + setToasts(prev => [newToast, ...prev]); + + if (newToast.duration > 0) { + setTimeout(() => remove(id), newToast.duration); + } + + return id; + }, + [options] + ); + + const remove = useCallback((id: string) => { + setToasts(prev => prev.filter(toast => toast.id !== id)); + }, []); + + const value = useMemo( + () => ({ + add, + remove, + }), + [add, remove] + ); + + return ( + + {children} + {toasts.length && } + + ); +}; diff --git a/apps/web/src/shared/components/Toast/assets/toast-error.svg b/apps/web/src/shared/components/Toast/assets/toast-error.svg new file mode 100644 index 0000000..b92a78c --- /dev/null +++ b/apps/web/src/shared/components/Toast/assets/toast-error.svg @@ -0,0 +1,3 @@ + + + diff --git a/apps/web/src/shared/components/Toast/assets/toast-success.svg b/apps/web/src/shared/components/Toast/assets/toast-success.svg new file mode 100644 index 0000000..1e782e0 --- /dev/null +++ b/apps/web/src/shared/components/Toast/assets/toast-success.svg @@ -0,0 +1,3 @@ + + + diff --git a/apps/web/src/shared/components/Toast/assets/toast-warning.svg b/apps/web/src/shared/components/Toast/assets/toast-warning.svg new file mode 100644 index 0000000..505c33b --- /dev/null +++ b/apps/web/src/shared/components/Toast/assets/toast-warning.svg @@ -0,0 +1,3 @@ + + + diff --git a/apps/web/src/shared/components/Toast/index.ts b/apps/web/src/shared/components/Toast/index.ts new file mode 100644 index 0000000..9f33ece --- /dev/null +++ b/apps/web/src/shared/components/Toast/index.ts @@ -0,0 +1,2 @@ +export { useToast } from "./useToast"; +export { ToastProvider } from "./ToastProvider"; diff --git a/apps/web/src/shared/components/Toast/useToast.ts b/apps/web/src/shared/components/Toast/useToast.ts new file mode 100644 index 0000000..a0cc304 --- /dev/null +++ b/apps/web/src/shared/components/Toast/useToast.ts @@ -0,0 +1,13 @@ +import { useContext } from "react"; +import type { ToastContextValue } from "./Toast.type"; +import { ToastContext } from "./ToastProvider"; + +export const useToast = (): ToastContextValue => { + const context = useContext(ToastContext); + + if (!context) { + throw new Error("useToast must be used within a ToastProvider"); + } + + return context; +}; diff --git a/apps/web/src/shared/components/Toast/useToastStack.ts b/apps/web/src/shared/components/Toast/useToastStack.ts new file mode 100644 index 0000000..5971bd5 --- /dev/null +++ b/apps/web/src/shared/components/Toast/useToastStack.ts @@ -0,0 +1,67 @@ +import { useCallback, useMemo, useState } from "react"; +import * as styles from "./Toast.stlye"; +import type { ToastPosition, ToastType } from "./Toast.type"; + +/** between the toasts spacing */ +const GAP = 8; + +export const useToastStack = (toasts: ToastType[]) => { + const [heights, setHeights] = useState>({}); + + const updateHeight = useCallback((id: string, height: number) => { + setHeights(prev => ({ + ...prev, + [id]: height, + })); + }, []); + + const groupedToasts = useMemo(() => { + const groups: Record = { + "top-left": [], + "top-right": [], + "top-center": [], + "bottom-left": [], + "bottom-right": [], + "bottom-center": [], + }; + + for (const toast of toasts) { + const position = toast.position; + groups[position].push(toast); + } + + return groups; + }, [toasts]); + + const getToasterProps = useCallback( + (toast: ToastType, index: number, position: ToastPosition) => { + const positionToasts = groupedToasts[position]; + const offset = positionToasts.slice(0, index).reduce((total, t) => total + (heights[t.id] || 0) + GAP, 0); + + const translateY = `${offset * (position.includes("top") ? 1 : -1)}px`; + const translateX = position.includes("center") ? "-50%" : "0"; + + return { + ref: (el: HTMLDivElement | null) => { + if (el) { + const height = el.getBoundingClientRect().height; + if (heights[toast.id] !== height) { + updateHeight(toast.id, height); + } + } + }, + style: { + transform: `translate(${translateX}, ${translateY})`, + transition: "transform 0.23s cubic-bezier(0.21, 1.02, 0.73, 1)", + }, + className: styles.toastWrapper({ position }), + }; + }, + [heights, groupedToasts, updateHeight] + ); + + return { + getToasterProps, + groupedToasts, + }; +}; diff --git a/apps/web/src/shared/hooks/useIsMounted.ts b/apps/web/src/shared/hooks/useIsMounted.ts new file mode 100644 index 0000000..2f07faa --- /dev/null +++ b/apps/web/src/shared/hooks/useIsMounted.ts @@ -0,0 +1,13 @@ +"use client"; + +import { useEffect, useState } from "react"; + +export function useIsMounted() { + const [mounted, setMounted] = useState(false); + + useEffect(() => { + setMounted(true); + }, []); + + return mounted; +} diff --git a/apps/web/src/shared/utils/SwitchCase.tsx b/apps/web/src/shared/utils/SwitchCase.tsx new file mode 100644 index 0000000..eab9ecf --- /dev/null +++ b/apps/web/src/shared/utils/SwitchCase.tsx @@ -0,0 +1,15 @@ +import type { JSX } from "react"; + +interface Props { + caseBy: Partial>; + value: Case; + defaultComponent?: JSX.Element | null; +} + +export function SwitchCase({ value, caseBy, defaultComponent = null }: Props) { + if (value == null) { + return defaultComponent; + } + + return caseBy[value] ?? defaultComponent; +} diff --git a/apps/web/svgr.d.ts b/apps/web/svgr.d.ts new file mode 100644 index 0000000..a3e5e2a --- /dev/null +++ b/apps/web/svgr.d.ts @@ -0,0 +1,5 @@ +declare module "*.svg" { + import type React from "react"; + const SVG: React.VFC>; + export default SVG; +} diff --git a/apps/web/tsconfig.json b/apps/web/tsconfig.json index 7064bc0..ffcbc2c 100644 --- a/apps/web/tsconfig.json +++ b/apps/web/tsconfig.json @@ -18,6 +18,8 @@ "include": [ "**/*.ts", "**/*.tsx", + "**/*.svg", + "svgr.d.ts", "next-env.d.ts", "next.config.js", ".next/types/**/*.ts" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f165b2a..a0de8ff 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -49,10 +49,10 @@ importers: version: 11.1.3(@nestjs/common@11.1.3(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.3) '@nestjs/swagger': specifier: ^11.2.0 - version: 11.2.0(@nestjs/common@11.1.3(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.3(@nestjs/common@11.1.3(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(class-validator@0.14.2)(reflect-metadata@0.2.2) + version: 11.2.0(@nestjs/common@11.1.3(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.3)(class-validator@0.14.2)(reflect-metadata@0.2.2) '@nestjs/typeorm': specifier: ^11.0.0 - version: 11.0.0(@nestjs/common@11.1.3(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.3(@nestjs/common@11.1.3(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(reflect-metadata@0.2.2)(rxjs@7.8.2)(typeorm@0.3.25(mysql2@3.14.1)(reflect-metadata@0.2.2)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.12.0(@swc/helpers@0.5.15))(@types/node@22.15.3)(typescript@5.8.2))) + version: 11.0.0(@nestjs/common@11.1.3(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.3)(reflect-metadata@0.2.2)(rxjs@7.8.2)(typeorm@0.3.25(mysql2@3.14.1)(reflect-metadata@0.2.2)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.12.0)(@types/node@22.15.3)(typescript@5.8.2))) mysql2: specifier: ^3.14.1 version: 3.14.1 @@ -64,23 +64,23 @@ importers: version: 7.8.2 typeorm: specifier: ^0.3.25 - version: 0.3.25(mysql2@3.14.1)(reflect-metadata@0.2.2)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.12.0(@swc/helpers@0.5.15))(@types/node@22.15.3)(typescript@5.8.2)) + version: 0.3.25(mysql2@3.14.1)(reflect-metadata@0.2.2)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.12.0)(@types/node@22.15.3)(typescript@5.8.2)) devDependencies: '@nestjs/cli': specifier: ^11.0.0 - version: 11.0.7(@swc/cli@0.6.0(@swc/core@1.12.0(@swc/helpers@0.5.15))(chokidar@4.0.3))(@swc/core@1.12.0(@swc/helpers@0.5.15))(@types/node@22.15.3) + version: 11.0.7(@swc/cli@0.6.0(@swc/core@1.12.0)(chokidar@4.0.3))(@swc/core@1.12.0)(@types/node@22.15.3) '@nestjs/schematics': specifier: ^11.0.0 version: 11.0.5(chokidar@4.0.3)(typescript@5.8.2) '@nestjs/testing': specifier: ^11.0.1 - version: 11.1.3(@nestjs/common@11.1.3(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.3(@nestjs/common@11.1.3(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.3(@nestjs/common@11.1.3(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.3)) + version: 11.1.3(@nestjs/common@11.1.3(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.3)(@nestjs/platform-express@11.1.3) '@swc/cli': specifier: ^0.6.0 - version: 0.6.0(@swc/core@1.12.0(@swc/helpers@0.5.15))(chokidar@4.0.3) + version: 0.6.0(@swc/core@1.12.0)(chokidar@4.0.3) '@swc/core': specifier: ^1.10.7 - version: 1.12.0(@swc/helpers@0.5.15) + version: 1.12.0 '@types/express': specifier: ^5.0.0 version: 5.0.3 @@ -95,7 +95,7 @@ importers: version: 6.0.3 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@22.15.3)(ts-node@10.9.2(@swc/core@1.12.0(@swc/helpers@0.5.15))(@types/node@22.15.3)(typescript@5.8.2)) + version: 29.7.0(@types/node@22.15.3)(ts-node@10.9.2(@swc/core@1.12.0)(@types/node@22.15.3)(typescript@5.8.2)) run-script-webpack-plugin: specifier: ^0.2.3 version: 0.2.3 @@ -110,13 +110,13 @@ importers: version: 7.1.1 ts-jest: specifier: ^29.2.5 - version: 29.3.4(@babel/core@7.27.4)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.27.4))(jest@29.7.0(@types/node@22.15.3)(ts-node@10.9.2(@swc/core@1.12.0(@swc/helpers@0.5.15))(@types/node@22.15.3)(typescript@5.8.2)))(typescript@5.8.2) + version: 29.3.4(@babel/core@7.27.4)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.27.4))(jest@29.7.0(@types/node@22.15.3)(ts-node@10.9.2(@swc/core@1.12.0)(@types/node@22.15.3)(typescript@5.8.2)))(typescript@5.8.2) ts-loader: specifier: ^9.5.2 - version: 9.5.2(typescript@5.8.2)(webpack@5.99.9(@swc/core@1.12.0(@swc/helpers@0.5.15))) + version: 9.5.2(typescript@5.8.2)(webpack@5.99.9(@swc/core@1.12.0)) ts-node: specifier: ^10.9.2 - version: 10.9.2(@swc/core@1.12.0(@swc/helpers@0.5.15))(@types/node@22.15.3)(typescript@5.8.2) + version: 10.9.2(@swc/core@1.12.0)(@types/node@22.15.3)(typescript@5.8.2) tsconfig-paths: specifier: ^4.2.0 version: 4.2.0 @@ -125,7 +125,7 @@ importers: version: 5.8.2 webpack: specifier: ^5.99.9 - version: 5.99.9(@swc/core@1.12.0(@swc/helpers@0.5.15)) + version: 5.99.9(@swc/core@1.12.0) webpack-node-externals: specifier: ^3.0.0 version: 3.0.0 @@ -186,13 +186,16 @@ importers: version: 9.1.7(@types/react@19.1.0)(storybook@9.1.7(@testing-library/dom@10.4.1)(msw@2.10.4(@types/node@22.15.3)(typescript@5.8.2))(prettier@3.5.3)(vite@7.1.6(@types/node@22.15.3)(jiti@2.5.1)(lightningcss@1.25.1)(sass@1.89.2)(terser@5.42.0)(yaml@2.8.0))) '@storybook/addon-vitest': specifier: ^9.1.7 - version: 9.1.7(@vitest/browser@3.2.4(msw@2.10.4(@types/node@22.15.3)(typescript@5.8.2))(playwright@1.55.0)(vite@7.1.6(@types/node@22.15.3)(jiti@2.5.1)(lightningcss@1.25.1)(sass@1.89.2)(terser@5.42.0)(yaml@2.8.0))(vitest@3.2.4))(@vitest/runner@3.2.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@9.1.7(@testing-library/dom@10.4.1)(msw@2.10.4(@types/node@22.15.3)(typescript@5.8.2))(prettier@3.5.3)(vite@7.1.6(@types/node@22.15.3)(jiti@2.5.1)(lightningcss@1.25.1)(sass@1.89.2)(terser@5.42.0)(yaml@2.8.0)))(vitest@3.2.4(@types/node@22.15.3)(@vitest/browser@3.2.4)(jiti@2.5.1)(lightningcss@1.25.1)(msw@2.10.4(@types/node@22.15.3)(typescript@5.8.2))(sass@1.89.2)(terser@5.42.0)(yaml@2.8.0)) + version: 9.1.7(@vitest/browser@3.2.4)(@vitest/runner@3.2.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@9.1.7(@testing-library/dom@10.4.1)(msw@2.10.4(@types/node@22.15.3)(typescript@5.8.2))(prettier@3.5.3)(vite@7.1.6(@types/node@22.15.3)(jiti@2.5.1)(lightningcss@1.25.1)(sass@1.89.2)(terser@5.42.0)(yaml@2.8.0)))(vitest@3.2.4) '@storybook/nextjs': specifier: ^9.1.7 version: 9.1.7(esbuild@0.25.5)(next@15.3.0(@babel/core@7.28.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.89.2))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.89.2)(storybook@9.1.7(@testing-library/dom@10.4.1)(msw@2.10.4(@types/node@22.15.3)(typescript@5.8.2))(prettier@3.5.3)(vite@7.1.6(@types/node@22.15.3)(jiti@2.5.1)(lightningcss@1.25.1)(sass@1.89.2)(terser@5.42.0)(yaml@2.8.0)))(type-fest@4.41.0)(typescript@5.8.2)(webpack-hot-middleware@2.26.1)(webpack@5.99.9(esbuild@0.25.5)) '@storybook/nextjs-vite': specifier: ^9.1.7 version: 9.1.7(@babel/core@7.28.4)(next@15.3.0(@babel/core@7.28.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.89.2))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(rollup@4.52.0)(storybook@9.1.7(@testing-library/dom@10.4.1)(msw@2.10.4(@types/node@22.15.3)(typescript@5.8.2))(prettier@3.5.3)(vite@7.1.6(@types/node@22.15.3)(jiti@2.5.1)(lightningcss@1.25.1)(sass@1.89.2)(terser@5.42.0)(yaml@2.8.0)))(typescript@5.8.2)(vite@7.1.6(@types/node@22.15.3)(jiti@2.5.1)(lightningcss@1.25.1)(sass@1.89.2)(terser@5.42.0)(yaml@2.8.0)) + '@svgr/webpack': + specifier: ^8.1.0 + version: 8.1.0(typescript@5.8.2) '@types/node': specifier: ^22.15.3 version: 22.15.3 @@ -207,7 +210,7 @@ importers: version: 3.2.4(msw@2.10.4(@types/node@22.15.3)(typescript@5.8.2))(playwright@1.55.0)(vite@7.1.6(@types/node@22.15.3)(jiti@2.5.1)(lightningcss@1.25.1)(sass@1.89.2)(terser@5.42.0)(yaml@2.8.0))(vitest@3.2.4) '@vitest/coverage-v8': specifier: ^3.2.4 - version: 3.2.4(@vitest/browser@3.2.4(msw@2.10.4(@types/node@22.15.3)(typescript@5.8.2))(playwright@1.55.0)(vite@7.1.6(@types/node@22.15.3)(jiti@2.5.1)(lightningcss@1.25.1)(sass@1.89.2)(terser@5.42.0)(yaml@2.8.0))(vitest@3.2.4))(vitest@3.2.4(@types/node@22.15.3)(@vitest/browser@3.2.4)(jiti@2.5.1)(lightningcss@1.25.1)(msw@2.10.4(@types/node@22.15.3)(typescript@5.8.2))(sass@1.89.2)(terser@5.42.0)(yaml@2.8.0)) + version: 3.2.4(@vitest/browser@3.2.4)(vitest@3.2.4) chromatic: specifier: ^13.2.0 version: 13.2.0 @@ -824,6 +827,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-react-constant-elements@7.27.1': + resolution: {integrity: sha512-edoidOjl/ZxvYo4lSBOQGDSyToYVkTAwyVoa2tkuYTSmjrB1+uAedoL5iROVLXkxH+vRgA7uP4tMg2pUJpZ3Ug==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-react-display-name@7.28.0': resolution: {integrity: sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA==} engines: {node: '>=6.9.0'} @@ -2978,6 +2987,84 @@ packages: typescript: optional: true + '@svgr/babel-plugin-add-jsx-attribute@8.0.0': + resolution: {integrity: sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-remove-jsx-attribute@8.0.0': + resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0': + resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0': + resolution: {integrity: sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-svg-dynamic-title@8.0.0': + resolution: {integrity: sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-svg-em-dimensions@8.0.0': + resolution: {integrity: sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-transform-react-native-svg@8.1.0': + resolution: {integrity: sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-transform-svg-component@8.0.0': + resolution: {integrity: sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==} + engines: {node: '>=12'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-preset@8.1.0': + resolution: {integrity: sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/core@8.1.0': + resolution: {integrity: sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==} + engines: {node: '>=14'} + + '@svgr/hast-util-to-babel-ast@8.0.0': + resolution: {integrity: sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==} + engines: {node: '>=14'} + + '@svgr/plugin-jsx@8.1.0': + resolution: {integrity: sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==} + engines: {node: '>=14'} + peerDependencies: + '@svgr/core': '*' + + '@svgr/plugin-svgo@8.1.0': + resolution: {integrity: sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==} + engines: {node: '>=14'} + peerDependencies: + '@svgr/core': '*' + + '@svgr/webpack@8.1.0': + resolution: {integrity: sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==} + engines: {node: '>=14'} + '@swc/cli@0.6.0': resolution: {integrity: sha512-Q5FsI3Cw0fGMXhmsg7c08i4EmXCrcl+WnAxb6LYOLHw4JFFC3yzmx9LaXZ7QMbA+JZXbigU2TirI7RAfO0Qlnw==} engines: {node: '>= 16.14.0'} @@ -3113,6 +3200,10 @@ packages: resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} engines: {node: '>= 6'} + '@trysound/sax@0.2.0': + resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} + engines: {node: '>=10.13.0'} + '@ts-morph/common@0.25.0': resolution: {integrity: sha512-kMnZz+vGGHi4GoHnLmMhGNjm44kGtKUXGnOvrKmMwAuvNjM/PgKVGfUnL7IDvK7Jb2QQ82jq3Zmp04Gy+r3Dkg==} @@ -4154,6 +4245,10 @@ packages: resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} engines: {node: '>= 6'} + commander@7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + commander@8.3.0: resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} engines: {node: '>= 12'} @@ -4332,6 +4427,17 @@ packages: css-select@4.3.0: resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} + css-select@5.2.2: + resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==} + + css-tree@2.2.1: + resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + + css-tree@2.3.1: + resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + css-what@6.2.2: resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==} engines: {node: '>= 6'} @@ -4350,6 +4456,10 @@ packages: peerDependencies: postcss: ^8.4.32 + csso@5.0.5: + resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} @@ -4513,6 +4623,9 @@ packages: dom-serializer@1.4.1: resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} + dom-serializer@2.0.0: + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + domain-browser@4.23.0: resolution: {integrity: sha512-ArzcM/II1wCCujdCNyQjXrAFwS4mrLh4C7DZWlaI8mdh7h3BfKdNd3bKXITfl2PT9FtfQqaGvhi1vPRQPimjGA==} engines: {node: '>=10'} @@ -4524,9 +4637,16 @@ packages: resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} engines: {node: '>= 4'} + domhandler@5.0.3: + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} + domutils@2.8.0: resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} + domutils@3.2.2: + resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} + dot-case@3.0.4: resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} @@ -6104,6 +6224,12 @@ packages: md5.js@1.3.5: resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} + mdn-data@2.0.28: + resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} + + mdn-data@2.0.30: + resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + mdurl@2.0.0: resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} @@ -7422,6 +7548,9 @@ packages: resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} + snake-case@3.0.4: + resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} + socks-proxy-agent@6.2.1: resolution: {integrity: sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==} engines: {node: '>= 10'} @@ -7660,6 +7789,14 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} + svg-parser@2.0.4: + resolution: {integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==} + + svgo@3.3.2: + resolution: {integrity: sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==} + engines: {node: '>=14.0.0'} + hasBin: true + swagger-ui-dist@5.21.0: resolution: {integrity: sha512-E0K3AB6HvQd8yQNSMR7eE5bk+323AUxjtCz/4ZNKiahOlPhPJxqn3UPIGs00cyY/dhrTDJ61L7C/a8u6zhGrZg==} @@ -8695,6 +8832,19 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/helper-create-class-features-plugin@7.28.3(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-member-expression-to-functions': 7.27.1 + '@babel/helper-optimise-call-expression': 7.27.1 + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.4) + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/traverse': 7.28.4 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + '@babel/helper-create-regexp-features-plugin@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 @@ -8702,6 +8852,13 @@ snapshots: regexpu-core: 6.3.1 semver: 6.3.1 + '@babel/helper-create-regexp-features-plugin@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-annotate-as-pure': 7.27.3 + regexpu-core: 6.3.1 + semver: 6.3.1 + '@babel/helper-define-polyfill-provider@0.6.5(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 @@ -8713,6 +8870,17 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/helper-define-polyfill-provider@0.6.5(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-plugin-utils': 7.27.1 + debug: 4.4.1 + lodash.debounce: 4.0.8 + resolve: 1.22.10 + transitivePeerDependencies: + - supports-color + '@babel/helper-globals@7.28.0': {} '@babel/helper-member-expression-to-functions@7.27.1': @@ -8738,6 +8906,15 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/helper-module-transforms@7.27.3(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-module-imports': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + '@babel/traverse': 7.27.4 + transitivePeerDependencies: + - supports-color + '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.4)': dependencies: '@babel/core': 7.28.4 @@ -8762,6 +8939,15 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/helper-remap-async-to-generator@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-wrap-function': 7.28.3 + '@babel/traverse': 7.27.4 + transitivePeerDependencies: + - supports-color + '@babel/helper-replace-supers@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 @@ -8771,6 +8957,15 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/helper-replace-supers@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-member-expression-to-functions': 7.27.1 + '@babel/helper-optimise-call-expression': 7.27.1 + '@babel/traverse': 7.28.4 + transitivePeerDependencies: + - supports-color + '@babel/helper-skip-transparent-expression-wrappers@7.27.1': dependencies: '@babel/traverse': 7.27.4 @@ -8818,16 +9013,34 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/traverse': 7.27.4 + transitivePeerDependencies: + - supports-color + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 @@ -8837,6 +9050,15 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.28.4) + transitivePeerDependencies: + - supports-color + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.3(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 @@ -8845,10 +9067,22 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.3(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/traverse': 7.28.4 + transitivePeerDependencies: + - supports-color + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 @@ -8879,11 +9113,21 @@ snapshots: '@babel/core': 7.27.4 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-syntax-import-assertions@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 @@ -8899,6 +9143,11 @@ snapshots: '@babel/core': 7.27.4 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 @@ -8944,17 +9193,33 @@ snapshots: '@babel/core': 7.27.4 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.27.4) '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.4) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-async-generator-functions@7.28.0(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 @@ -8964,6 +9229,15 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/plugin-transform-async-generator-functions@7.28.0(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.4) + '@babel/traverse': 7.28.4 + transitivePeerDependencies: + - supports-color + '@babel/plugin-transform-async-to-generator@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 @@ -8973,16 +9247,35 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/plugin-transform-async-to-generator@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-module-imports': 7.27.1 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.4) + transitivePeerDependencies: + - supports-color + '@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-block-scoping@7.28.4(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-block-scoping@7.28.4(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-class-properties@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 @@ -8991,6 +9284,14 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/plugin-transform-class-properties@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.4) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + '@babel/plugin-transform-class-static-block@7.28.3(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 @@ -8999,6 +9300,14 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/plugin-transform-class-static-block@7.28.3(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.4) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + '@babel/plugin-transform-classes@7.28.4(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 @@ -9011,12 +9320,30 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/plugin-transform-classes@7.28.4(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-globals': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.4) + '@babel/traverse': 7.28.4 + transitivePeerDependencies: + - supports-color + '@babel/plugin-transform-computed-properties@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 '@babel/helper-plugin-utils': 7.27.1 '@babel/template': 7.27.2 + '@babel/plugin-transform-computed-properties@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/template': 7.27.2 + '@babel/plugin-transform-destructuring@7.28.0(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 @@ -9025,28 +9352,58 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/plugin-transform-destructuring@7.28.0(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/traverse': 7.28.4 + transitivePeerDependencies: + - supports-color + '@babel/plugin-transform-dotall-regex@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.27.4) '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-dotall-regex@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.4) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.27.4) '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.4) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-explicit-resource-management@7.28.0(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 @@ -9055,16 +9412,34 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/plugin-transform-explicit-resource-management@7.28.0(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.4) + transitivePeerDependencies: + - supports-color + '@babel/plugin-transform-exponentiation-operator@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-exponentiation-operator@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-for-of@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 @@ -9073,6 +9448,14 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/plugin-transform-for-of@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + transitivePeerDependencies: + - supports-color + '@babel/plugin-transform-function-name@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 @@ -9082,26 +9465,55 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/plugin-transform-function-name@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/traverse': 7.27.4 + transitivePeerDependencies: + - supports-color + '@babel/plugin-transform-json-strings@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-json-strings@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-literals@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-literals@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-logical-assignment-operators@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-logical-assignment-operators@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 @@ -9110,6 +9522,14 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.4) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + '@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 @@ -9118,6 +9538,14 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.4) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + '@babel/plugin-transform-modules-systemjs@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 @@ -9128,6 +9556,16 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/plugin-transform-modules-systemjs@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.4) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + '@babel/traverse': 7.27.4 + transitivePeerDependencies: + - supports-color + '@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 @@ -9136,27 +9574,56 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.4) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + '@babel/plugin-transform-named-capturing-groups-regex@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.27.4) '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-named-capturing-groups-regex@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.4) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-new-target@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-new-target@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-nullish-coalescing-operator@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-nullish-coalescing-operator@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-numeric-separator@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-numeric-separator@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-object-rest-spread@7.28.4(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 @@ -9168,6 +9635,17 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/plugin-transform-object-rest-spread@7.28.4(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.4) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.4) + '@babel/traverse': 7.28.4 + transitivePeerDependencies: + - supports-color + '@babel/plugin-transform-object-super@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 @@ -9176,11 +9654,24 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/plugin-transform-object-super@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.4) + transitivePeerDependencies: + - supports-color + '@babel/plugin-transform-optional-catch-binding@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-optional-catch-binding@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-optional-chaining@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 @@ -9189,11 +9680,24 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/plugin-transform-optional-chaining@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + transitivePeerDependencies: + - supports-color + '@babel/plugin-transform-parameters@7.27.7(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-parameters@7.27.7(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-private-methods@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 @@ -9202,6 +9706,14 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/plugin-transform-private-methods@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.4) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + '@babel/plugin-transform-private-property-in-object@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 @@ -9211,16 +9723,40 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/plugin-transform-private-property-in-object@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.4) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color + '@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-react-constant-elements@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-react-display-name@7.28.0(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-react-display-name@7.28.0(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-react-jsx-development@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 @@ -9228,6 +9764,13 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/plugin-transform-react-jsx-development@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.4) + transitivePeerDependencies: + - supports-color + '@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 @@ -9239,28 +9782,61 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-module-imports': 7.27.1 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.4) + '@babel/types': 7.27.6 + transitivePeerDependencies: + - supports-color + '@babel/plugin-transform-react-pure-annotations@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-react-pure-annotations@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-regenerator@7.28.4(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-regenerator@7.28.4(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-regexp-modifiers@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.27.4) '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-regexp-modifiers@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.4) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-runtime@7.28.3(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 @@ -9278,6 +9854,11 @@ snapshots: '@babel/core': 7.27.4 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-spread@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 @@ -9286,21 +9867,44 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/plugin-transform-spread@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + transitivePeerDependencies: + - supports-color + '@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-typescript@7.28.0(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 @@ -9312,29 +9916,63 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/plugin-transform-typescript@7.28.0(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.4) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.4) + transitivePeerDependencies: + - supports-color + '@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-unicode-property-regex@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.27.4) '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-unicode-property-regex@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.4) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.27.4) '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.4) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-unicode-sets-regex@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.27.4) '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-unicode-sets-regex@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.4) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/preset-env@7.28.3(@babel/core@7.27.4)': dependencies: '@babel/compat-data': 7.28.4 @@ -9411,6 +10049,82 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/preset-env@7.28.3(@babel/core@7.28.4)': + dependencies: + '@babel/compat-data': 7.28.4 + '@babel/core': 7.28.4 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-validator-option': 7.27.1 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.28.3(@babel/core@7.28.4) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.4) + '@babel/plugin-syntax-import-assertions': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.28.4) + '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-async-generator-functions': 7.28.0(@babel/core@7.28.4) + '@babel/plugin-transform-async-to-generator': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-block-scoped-functions': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-block-scoping': 7.28.4(@babel/core@7.28.4) + '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-class-static-block': 7.28.3(@babel/core@7.28.4) + '@babel/plugin-transform-classes': 7.28.4(@babel/core@7.28.4) + '@babel/plugin-transform-computed-properties': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.4) + '@babel/plugin-transform-dotall-regex': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-duplicate-keys': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-explicit-resource-management': 7.28.0(@babel/core@7.28.4) + '@babel/plugin-transform-exponentiation-operator': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-export-namespace-from': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-json-strings': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-logical-assignment-operators': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-modules-amd': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-modules-systemjs': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-modules-umd': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-new-target': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-nullish-coalescing-operator': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-numeric-separator': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-object-rest-spread': 7.28.4(@babel/core@7.28.4) + '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-optional-catch-binding': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.4) + '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-private-property-in-object': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-property-literals': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-regenerator': 7.28.4(@babel/core@7.28.4) + '@babel/plugin-transform-regexp-modifiers': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-reserved-words': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-spread': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-typeof-symbol': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-unicode-escapes': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-unicode-property-regex': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-unicode-sets-regex': 7.27.1(@babel/core@7.28.4) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.28.4) + babel-plugin-polyfill-corejs2: 0.4.14(@babel/core@7.28.4) + babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.28.4) + babel-plugin-polyfill-regenerator: 0.6.5(@babel/core@7.28.4) + core-js-compat: 3.45.1 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 @@ -9418,6 +10132,13 @@ snapshots: '@babel/types': 7.27.6 esutils: 2.0.3 + '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/types': 7.27.6 + esutils: 2.0.3 + '@babel/preset-react@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 @@ -9430,6 +10151,18 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/preset-react@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-validator-option': 7.27.1 + '@babel/plugin-transform-react-display-name': 7.28.0(@babel/core@7.28.4) + '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-react-jsx-development': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-react-pure-annotations': 7.27.1(@babel/core@7.28.4) + transitivePeerDependencies: + - supports-color + '@babel/preset-typescript@7.27.1(@babel/core@7.27.4)': dependencies: '@babel/core': 7.27.4 @@ -9441,6 +10174,17 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/preset-typescript@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-validator-option': 7.27.1 + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.4) + transitivePeerDependencies: + - supports-color + '@babel/runtime@7.28.4': {} '@babel/template@7.27.2': @@ -10109,7 +10853,7 @@ snapshots: jest-util: 29.7.0 slash: 3.0.0 - '@jest/core@29.7.0(ts-node@10.9.2(@swc/core@1.12.0(@swc/helpers@0.5.15))(@types/node@22.15.3)(typescript@5.8.2))': + '@jest/core@29.7.0(ts-node@10.9.2(@swc/core@1.12.0)(@types/node@22.15.3)(typescript@5.8.2))': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 @@ -10123,7 +10867,7 @@ snapshots: exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@22.15.3)(ts-node@10.9.2(@swc/core@1.12.0(@swc/helpers@0.5.15))(@types/node@22.15.3)(typescript@5.8.2)) + jest-config: 29.7.0(@types/node@22.15.3)(ts-node@10.9.2(@swc/core@1.12.0)(@types/node@22.15.3)(typescript@5.8.2)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -10284,7 +11028,7 @@ snapshots: '@jridgewell/remapping@2.3.5': dependencies: - '@jridgewell/gen-mapping': 0.3.8 + '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 '@jridgewell/resolve-uri@3.1.2': {} @@ -10416,7 +11160,7 @@ snapshots: '@neoconfetti/react@1.0.0': {} - '@nestjs/cli@11.0.7(@swc/cli@0.6.0(@swc/core@1.12.0(@swc/helpers@0.5.15))(chokidar@4.0.3))(@swc/core@1.12.0(@swc/helpers@0.5.15))(@types/node@22.15.3)': + '@nestjs/cli@11.0.7(@swc/cli@0.6.0(@swc/core@1.12.0)(chokidar@4.0.3))(@swc/core@1.12.0)(@types/node@22.15.3)': dependencies: '@angular-devkit/core': 19.2.8(chokidar@4.0.3) '@angular-devkit/schematics': 19.2.8(chokidar@4.0.3) @@ -10427,7 +11171,7 @@ snapshots: chokidar: 4.0.3 cli-table3: 0.6.5 commander: 4.1.1 - fork-ts-checker-webpack-plugin: 9.1.0(typescript@5.8.3)(webpack@5.99.6(@swc/core@1.12.0(@swc/helpers@0.5.15))) + fork-ts-checker-webpack-plugin: 9.1.0(typescript@5.8.3)(webpack@5.99.6(@swc/core@1.12.0)) glob: 11.0.1 node-emoji: 1.11.0 ora: 5.4.1 @@ -10435,11 +11179,11 @@ snapshots: tsconfig-paths: 4.2.0 tsconfig-paths-webpack-plugin: 4.2.0 typescript: 5.8.3 - webpack: 5.99.6(@swc/core@1.12.0(@swc/helpers@0.5.15)) + webpack: 5.99.6(@swc/core@1.12.0) webpack-node-externals: 3.0.0 optionalDependencies: - '@swc/cli': 0.6.0(@swc/core@1.12.0(@swc/helpers@0.5.15))(chokidar@4.0.3) - '@swc/core': 1.12.0(@swc/helpers@0.5.15) + '@swc/cli': 0.6.0(@swc/core@1.12.0)(chokidar@4.0.3) + '@swc/core': 1.12.0 transitivePeerDependencies: - '@types/node' - esbuild @@ -10523,7 +11267,7 @@ snapshots: transitivePeerDependencies: - chokidar - '@nestjs/swagger@11.2.0(@nestjs/common@11.1.3(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.3(@nestjs/common@11.1.3(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(class-validator@0.14.2)(reflect-metadata@0.2.2)': + '@nestjs/swagger@11.2.0(@nestjs/common@11.1.3(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.3)(class-validator@0.14.2)(reflect-metadata@0.2.2)': dependencies: '@microsoft/tsdoc': 0.15.1 '@nestjs/common': 11.1.3(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2) @@ -10537,7 +11281,7 @@ snapshots: optionalDependencies: class-validator: 0.14.2 - '@nestjs/testing@11.1.3(@nestjs/common@11.1.3(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.3(@nestjs/common@11.1.3(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.3(@nestjs/common@11.1.3(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.3))': + '@nestjs/testing@11.1.3(@nestjs/common@11.1.3(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.3)(@nestjs/platform-express@11.1.3)': dependencies: '@nestjs/common': 11.1.3(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2) '@nestjs/core': 11.1.3(@nestjs/common@11.1.3(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.3)(reflect-metadata@0.2.2)(rxjs@7.8.2) @@ -10545,13 +11289,13 @@ snapshots: optionalDependencies: '@nestjs/platform-express': 11.1.3(@nestjs/common@11.1.3(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.3) - '@nestjs/typeorm@11.0.0(@nestjs/common@11.1.3(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.3(@nestjs/common@11.1.3(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(reflect-metadata@0.2.2)(rxjs@7.8.2)(typeorm@0.3.25(mysql2@3.14.1)(reflect-metadata@0.2.2)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.12.0(@swc/helpers@0.5.15))(@types/node@22.15.3)(typescript@5.8.2)))': + '@nestjs/typeorm@11.0.0(@nestjs/common@11.1.3(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.3)(reflect-metadata@0.2.2)(rxjs@7.8.2)(typeorm@0.3.25(mysql2@3.14.1)(reflect-metadata@0.2.2)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.12.0)(@types/node@22.15.3)(typescript@5.8.2)))': dependencies: '@nestjs/common': 11.1.3(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2) '@nestjs/core': 11.1.3(@nestjs/common@11.1.3(class-validator@0.14.2)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.3)(reflect-metadata@0.2.2)(rxjs@7.8.2) reflect-metadata: 0.2.2 rxjs: 7.8.2 - typeorm: 0.3.25(mysql2@3.14.1)(reflect-metadata@0.2.2)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.12.0(@swc/helpers@0.5.15))(@types/node@22.15.3)(typescript@5.8.2)) + typeorm: 0.3.25(mysql2@3.14.1)(reflect-metadata@0.2.2)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.12.0)(@types/node@22.15.3)(typescript@5.8.2)) '@next/env@15.3.0': {} @@ -11568,7 +12312,7 @@ snapshots: transitivePeerDependencies: - '@types/react' - '@storybook/addon-vitest@9.1.7(@vitest/browser@3.2.4(msw@2.10.4(@types/node@22.15.3)(typescript@5.8.2))(playwright@1.55.0)(vite@7.1.6(@types/node@22.15.3)(jiti@2.5.1)(lightningcss@1.25.1)(sass@1.89.2)(terser@5.42.0)(yaml@2.8.0))(vitest@3.2.4))(@vitest/runner@3.2.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@9.1.7(@testing-library/dom@10.4.1)(msw@2.10.4(@types/node@22.15.3)(typescript@5.8.2))(prettier@3.5.3)(vite@7.1.6(@types/node@22.15.3)(jiti@2.5.1)(lightningcss@1.25.1)(sass@1.89.2)(terser@5.42.0)(yaml@2.8.0)))(vitest@3.2.4(@types/node@22.15.3)(@vitest/browser@3.2.4)(jiti@2.5.1)(lightningcss@1.25.1)(msw@2.10.4(@types/node@22.15.3)(typescript@5.8.2))(sass@1.89.2)(terser@5.42.0)(yaml@2.8.0))': + '@storybook/addon-vitest@9.1.7(@vitest/browser@3.2.4)(@vitest/runner@3.2.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@9.1.7(@testing-library/dom@10.4.1)(msw@2.10.4(@types/node@22.15.3)(typescript@5.8.2))(prettier@3.5.3)(vite@7.1.6(@types/node@22.15.3)(jiti@2.5.1)(lightningcss@1.25.1)(sass@1.89.2)(terser@5.42.0)(yaml@2.8.0)))(vitest@3.2.4)': dependencies: '@storybook/global': 5.0.0 '@storybook/icons': 1.6.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -11788,9 +12532,102 @@ snapshots: optionalDependencies: typescript: 5.8.2 - '@swc/cli@0.6.0(@swc/core@1.12.0(@swc/helpers@0.5.15))(chokidar@4.0.3)': + '@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + + '@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + + '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + + '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + + '@svgr/babel-plugin-svg-dynamic-title@8.0.0(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + + '@svgr/babel-plugin-svg-em-dimensions@8.0.0(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + + '@svgr/babel-plugin-transform-react-native-svg@8.1.0(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + + '@svgr/babel-plugin-transform-svg-component@8.0.0(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + + '@svgr/babel-preset@8.1.0(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@svgr/babel-plugin-add-jsx-attribute': 8.0.0(@babel/core@7.28.4) + '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.28.4) + '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.28.4) + '@svgr/babel-plugin-replace-jsx-attribute-value': 8.0.0(@babel/core@7.28.4) + '@svgr/babel-plugin-svg-dynamic-title': 8.0.0(@babel/core@7.28.4) + '@svgr/babel-plugin-svg-em-dimensions': 8.0.0(@babel/core@7.28.4) + '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.28.4) + '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.28.4) + + '@svgr/core@8.1.0(typescript@5.8.2)': + dependencies: + '@babel/core': 7.28.4 + '@svgr/babel-preset': 8.1.0(@babel/core@7.28.4) + camelcase: 6.3.0 + cosmiconfig: 8.3.6(typescript@5.8.2) + snake-case: 3.0.4 + transitivePeerDependencies: + - supports-color + - typescript + + '@svgr/hast-util-to-babel-ast@8.0.0': + dependencies: + '@babel/types': 7.28.4 + entities: 4.5.0 + + '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@5.8.2))': + dependencies: + '@babel/core': 7.28.4 + '@svgr/babel-preset': 8.1.0(@babel/core@7.28.4) + '@svgr/core': 8.1.0(typescript@5.8.2) + '@svgr/hast-util-to-babel-ast': 8.0.0 + svg-parser: 2.0.4 + transitivePeerDependencies: + - supports-color + + '@svgr/plugin-svgo@8.1.0(@svgr/core@8.1.0(typescript@5.8.2))(typescript@5.8.2)': + dependencies: + '@svgr/core': 8.1.0(typescript@5.8.2) + cosmiconfig: 8.3.6(typescript@5.8.2) + deepmerge: 4.3.1 + svgo: 3.3.2 + transitivePeerDependencies: + - typescript + + '@svgr/webpack@8.1.0(typescript@5.8.2)': + dependencies: + '@babel/core': 7.28.4 + '@babel/plugin-transform-react-constant-elements': 7.27.1(@babel/core@7.28.4) + '@babel/preset-env': 7.28.3(@babel/core@7.28.4) + '@babel/preset-react': 7.27.1(@babel/core@7.28.4) + '@babel/preset-typescript': 7.27.1(@babel/core@7.28.4) + '@svgr/core': 8.1.0(typescript@5.8.2) + '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.8.2)) + '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0(typescript@5.8.2))(typescript@5.8.2) + transitivePeerDependencies: + - supports-color + - typescript + + '@swc/cli@0.6.0(@swc/core@1.12.0)(chokidar@4.0.3)': dependencies: - '@swc/core': 1.12.0(@swc/helpers@0.5.15) + '@swc/core': 1.12.0 '@swc/counter': 0.1.3 '@xhmikosr/bin-wrapper': 13.0.5 commander: 8.3.0 @@ -11833,7 +12670,7 @@ snapshots: '@swc/core-win32-x64-msvc@1.12.0': optional: true - '@swc/core@1.12.0(@swc/helpers@0.5.15)': + '@swc/core@1.12.0': dependencies: '@swc/counter': 0.1.3 '@swc/types': 0.1.22 @@ -11848,7 +12685,6 @@ snapshots: '@swc/core-win32-arm64-msvc': 1.12.0 '@swc/core-win32-ia32-msvc': 1.12.0 '@swc/core-win32-x64-msvc': 1.12.0 - '@swc/helpers': 0.5.15 '@swc/counter@0.1.3': {} @@ -11916,6 +12752,8 @@ snapshots: '@tootallnate/once@1.1.2': optional: true + '@trysound/sax@0.2.0': {} + '@ts-morph/common@0.25.0': dependencies: minimatch: 9.0.5 @@ -12183,7 +13021,7 @@ snapshots: - utf-8-validate - vite - '@vitest/coverage-v8@3.2.4(@vitest/browser@3.2.4(msw@2.10.4(@types/node@22.15.3)(typescript@5.8.2))(playwright@1.55.0)(vite@7.1.6(@types/node@22.15.3)(jiti@2.5.1)(lightningcss@1.25.1)(sass@1.89.2)(terser@5.42.0)(yaml@2.8.0))(vitest@3.2.4))(vitest@3.2.4(@types/node@22.15.3)(@vitest/browser@3.2.4)(jiti@2.5.1)(lightningcss@1.25.1)(msw@2.10.4(@types/node@22.15.3)(typescript@5.8.2))(sass@1.89.2)(terser@5.42.0)(yaml@2.8.0))': + '@vitest/coverage-v8@3.2.4(@vitest/browser@3.2.4)(vitest@3.2.4)': dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 1.0.2 @@ -12697,6 +13535,15 @@ snapshots: transitivePeerDependencies: - supports-color + babel-plugin-polyfill-corejs2@0.4.14(@babel/core@7.28.4): + dependencies: + '@babel/compat-data': 7.28.4 + '@babel/core': 7.28.4 + '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.4) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + babel-plugin-polyfill-corejs3@0.13.0(@babel/core@7.27.4): dependencies: '@babel/core': 7.27.4 @@ -12705,6 +13552,14 @@ snapshots: transitivePeerDependencies: - supports-color + babel-plugin-polyfill-corejs3@0.13.0(@babel/core@7.28.4): + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.4) + core-js-compat: 3.45.1 + transitivePeerDependencies: + - supports-color + babel-plugin-polyfill-regenerator@0.6.5(@babel/core@7.27.4): dependencies: '@babel/core': 7.27.4 @@ -12712,6 +13567,13 @@ snapshots: transitivePeerDependencies: - supports-color + babel-plugin-polyfill-regenerator@0.6.5(@babel/core@7.28.4): + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.4) + transitivePeerDependencies: + - supports-color + babel-preset-current-node-syntax@1.1.0(@babel/core@7.27.4): dependencies: '@babel/core': 7.27.4 @@ -13141,6 +14003,8 @@ snapshots: commander@6.2.1: {} + commander@7.2.0: {} + commander@8.3.0: {} comment-json@4.2.5: @@ -13247,6 +14111,15 @@ snapshots: path-type: 4.0.0 yaml: 1.10.2 + cosmiconfig@8.3.6(typescript@5.8.2): + dependencies: + import-fresh: 3.3.1 + js-yaml: 4.1.0 + parse-json: 5.2.0 + path-type: 4.0.0 + optionalDependencies: + typescript: 5.8.2 + cosmiconfig@8.3.6(typescript@5.8.3): dependencies: import-fresh: 3.3.1 @@ -13294,13 +14167,13 @@ snapshots: safe-buffer: 5.2.1 sha.js: 2.4.11 - create-jest@29.7.0(@types/node@22.15.3)(ts-node@10.9.2(@swc/core@1.12.0(@swc/helpers@0.5.15))(@types/node@22.15.3)(typescript@5.8.2)): + create-jest@29.7.0(@types/node@22.15.3)(ts-node@10.9.2(@swc/core@1.12.0)(@types/node@22.15.3)(typescript@5.8.2)): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@22.15.3)(ts-node@10.9.2(@swc/core@1.12.0(@swc/helpers@0.5.15))(@types/node@22.15.3)(typescript@5.8.2)) + jest-config: 29.7.0(@types/node@22.15.3)(ts-node@10.9.2(@swc/core@1.12.0)(@types/node@22.15.3)(typescript@5.8.2)) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -13357,6 +14230,24 @@ snapshots: domutils: 2.8.0 nth-check: 2.1.1 + css-select@5.2.2: + dependencies: + boolbase: 1.0.0 + css-what: 6.2.2 + domhandler: 5.0.3 + domutils: 3.2.2 + nth-check: 2.1.1 + + css-tree@2.2.1: + dependencies: + mdn-data: 2.0.28 + source-map-js: 1.2.1 + + css-tree@2.3.1: + dependencies: + mdn-data: 2.0.30 + source-map-js: 1.2.1 + css-what@6.2.2: {} css.escape@1.5.1: {} @@ -13367,6 +14258,10 @@ snapshots: dependencies: postcss: 8.4.49 + csso@5.0.5: + dependencies: + css-tree: 2.2.1 + csstype@3.1.3: {} dargs@8.1.0: {} @@ -13498,6 +14393,12 @@ snapshots: domhandler: 4.3.1 entities: 2.2.0 + dom-serializer@2.0.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + entities: 4.5.0 + domain-browser@4.23.0: {} domelementtype@2.3.0: {} @@ -13506,12 +14407,22 @@ snapshots: dependencies: domelementtype: 2.3.0 + domhandler@5.0.3: + dependencies: + domelementtype: 2.3.0 + domutils@2.8.0: dependencies: dom-serializer: 1.4.1 domelementtype: 2.3.0 domhandler: 4.3.1 + domutils@3.2.2: + dependencies: + dom-serializer: 2.0.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + dot-case@3.0.4: dependencies: no-case: 3.0.4 @@ -14098,7 +15009,7 @@ snapshots: typescript: 5.8.2 webpack: 5.99.9(esbuild@0.25.5) - fork-ts-checker-webpack-plugin@9.1.0(typescript@5.8.3)(webpack@5.99.6(@swc/core@1.12.0(@swc/helpers@0.5.15))): + fork-ts-checker-webpack-plugin@9.1.0(typescript@5.8.3)(webpack@5.99.6(@swc/core@1.12.0)): dependencies: '@babel/code-frame': 7.27.1 chalk: 4.1.2 @@ -14113,7 +15024,7 @@ snapshots: semver: 7.7.2 tapable: 2.2.2 typescript: 5.8.3 - webpack: 5.99.6(@swc/core@1.12.0(@swc/helpers@0.5.15)) + webpack: 5.99.6(@swc/core@1.12.0) form-data-encoder@2.1.4: {} @@ -14707,7 +15618,7 @@ snapshots: istanbul-lib-instrument@5.2.1: dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.4 '@babel/parser': 7.27.5 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 @@ -14717,7 +15628,7 @@ snapshots: istanbul-lib-instrument@6.0.3: dependencies: - '@babel/core': 7.27.4 + '@babel/core': 7.28.4 '@babel/parser': 7.27.5 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 @@ -14805,16 +15716,16 @@ snapshots: - babel-plugin-macros - supports-color - jest-cli@29.7.0(@types/node@22.15.3)(ts-node@10.9.2(@swc/core@1.12.0(@swc/helpers@0.5.15))(@types/node@22.15.3)(typescript@5.8.2)): + jest-cli@29.7.0(@types/node@22.15.3)(ts-node@10.9.2(@swc/core@1.12.0)(@types/node@22.15.3)(typescript@5.8.2)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.12.0(@swc/helpers@0.5.15))(@types/node@22.15.3)(typescript@5.8.2)) + '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.12.0)(@types/node@22.15.3)(typescript@5.8.2)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@22.15.3)(ts-node@10.9.2(@swc/core@1.12.0(@swc/helpers@0.5.15))(@types/node@22.15.3)(typescript@5.8.2)) + create-jest: 29.7.0(@types/node@22.15.3)(ts-node@10.9.2(@swc/core@1.12.0)(@types/node@22.15.3)(typescript@5.8.2)) exit: 0.1.2 import-local: 3.2.0 - jest-config: 29.7.0(@types/node@22.15.3)(ts-node@10.9.2(@swc/core@1.12.0(@swc/helpers@0.5.15))(@types/node@22.15.3)(typescript@5.8.2)) + jest-config: 29.7.0(@types/node@22.15.3)(ts-node@10.9.2(@swc/core@1.12.0)(@types/node@22.15.3)(typescript@5.8.2)) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -14824,7 +15735,7 @@ snapshots: - supports-color - ts-node - jest-config@29.7.0(@types/node@22.15.3)(ts-node@10.9.2(@swc/core@1.12.0(@swc/helpers@0.5.15))(@types/node@22.15.3)(typescript@5.8.2)): + jest-config@29.7.0(@types/node@22.15.3)(ts-node@10.9.2(@swc/core@1.12.0)(@types/node@22.15.3)(typescript@5.8.2)): dependencies: '@babel/core': 7.27.4 '@jest/test-sequencer': 29.7.0 @@ -14850,7 +15761,7 @@ snapshots: strip-json-comments: 3.1.1 optionalDependencies: '@types/node': 22.15.3 - ts-node: 10.9.2(@swc/core@1.12.0(@swc/helpers@0.5.15))(@types/node@22.15.3)(typescript@5.8.2) + ts-node: 10.9.2(@swc/core@1.12.0)(@types/node@22.15.3)(typescript@5.8.2) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -15076,12 +15987,12 @@ snapshots: merge-stream: 2.0.0 supports-color: 8.1.1 - jest@29.7.0(@types/node@22.15.3)(ts-node@10.9.2(@swc/core@1.12.0(@swc/helpers@0.5.15))(@types/node@22.15.3)(typescript@5.8.2)): + jest@29.7.0(@types/node@22.15.3)(ts-node@10.9.2(@swc/core@1.12.0)(@types/node@22.15.3)(typescript@5.8.2)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.12.0(@swc/helpers@0.5.15))(@types/node@22.15.3)(typescript@5.8.2)) + '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.12.0)(@types/node@22.15.3)(typescript@5.8.2)) '@jest/types': 29.6.3 import-local: 3.2.0 - jest-cli: 29.7.0(@types/node@22.15.3)(ts-node@10.9.2(@swc/core@1.12.0(@swc/helpers@0.5.15))(@types/node@22.15.3)(typescript@5.8.2)) + jest-cli: 29.7.0(@types/node@22.15.3)(ts-node@10.9.2(@swc/core@1.12.0)(@types/node@22.15.3)(typescript@5.8.2)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -15417,6 +16328,10 @@ snapshots: inherits: 2.0.4 safe-buffer: 5.2.1 + mdn-data@2.0.28: {} + + mdn-data@2.0.30: {} + mdurl@2.0.0: {} media-typer@0.3.0: {} @@ -16911,6 +17826,11 @@ snapshots: smart-buffer@4.2.0: optional: true + snake-case@3.0.4: + dependencies: + dot-case: 3.0.4 + tslib: 2.8.1 + socks-proxy-agent@6.2.1: dependencies: agent-base: 6.0.2 @@ -17191,6 +18111,18 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} + svg-parser@2.0.4: {} + + svgo@3.3.2: + dependencies: + '@trysound/sax': 0.2.0 + commander: 7.2.0 + css-select: 5.2.2 + css-tree: 2.3.1 + css-what: 6.2.2 + csso: 5.0.5 + picocolors: 1.1.1 + swagger-ui-dist@5.21.0: dependencies: '@scarf/scarf': 1.4.0 @@ -17253,27 +18185,27 @@ snapshots: mkdirp: 1.0.4 yallist: 4.0.0 - terser-webpack-plugin@5.3.14(@swc/core@1.12.0(@swc/helpers@0.5.15))(webpack@5.99.6(@swc/core@1.12.0(@swc/helpers@0.5.15))): + terser-webpack-plugin@5.3.14(@swc/core@1.12.0)(webpack@5.99.6(@swc/core@1.12.0)): dependencies: '@jridgewell/trace-mapping': 0.3.31 jest-worker: 27.5.1 schema-utils: 4.3.2 serialize-javascript: 6.0.2 terser: 5.42.0 - webpack: 5.99.6(@swc/core@1.12.0(@swc/helpers@0.5.15)) + webpack: 5.99.6(@swc/core@1.12.0) optionalDependencies: - '@swc/core': 1.12.0(@swc/helpers@0.5.15) + '@swc/core': 1.12.0 - terser-webpack-plugin@5.3.14(@swc/core@1.12.0(@swc/helpers@0.5.15))(webpack@5.99.9(@swc/core@1.12.0(@swc/helpers@0.5.15))): + terser-webpack-plugin@5.3.14(@swc/core@1.12.0)(webpack@5.99.9(@swc/core@1.12.0)): dependencies: '@jridgewell/trace-mapping': 0.3.31 jest-worker: 27.5.1 schema-utils: 4.3.2 serialize-javascript: 6.0.2 terser: 5.42.0 - webpack: 5.99.9(@swc/core@1.12.0(@swc/helpers@0.5.15)) + webpack: 5.99.9(@swc/core@1.12.0) optionalDependencies: - '@swc/core': 1.12.0(@swc/helpers@0.5.15) + '@swc/core': 1.12.0 terser-webpack-plugin@5.3.14(esbuild@0.25.5)(webpack@5.99.9(esbuild@0.25.5)): dependencies: @@ -17390,12 +18322,12 @@ snapshots: object-path: 0.11.8 typescript: 5.8.2 - ts-jest@29.3.4(@babel/core@7.27.4)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.27.4))(jest@29.7.0(@types/node@22.15.3)(ts-node@10.9.2(@swc/core@1.12.0(@swc/helpers@0.5.15))(@types/node@22.15.3)(typescript@5.8.2)))(typescript@5.8.2): + ts-jest@29.3.4(@babel/core@7.27.4)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.27.4))(jest@29.7.0(@types/node@22.15.3)(ts-node@10.9.2(@swc/core@1.12.0)(@types/node@22.15.3)(typescript@5.8.2)))(typescript@5.8.2): dependencies: bs-logger: 0.2.6 ejs: 3.1.10 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@22.15.3)(ts-node@10.9.2(@swc/core@1.12.0(@swc/helpers@0.5.15))(@types/node@22.15.3)(typescript@5.8.2)) + jest: 29.7.0(@types/node@22.15.3)(ts-node@10.9.2(@swc/core@1.12.0)(@types/node@22.15.3)(typescript@5.8.2)) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -17410,7 +18342,7 @@ snapshots: '@jest/types': 29.6.3 babel-jest: 29.7.0(@babel/core@7.27.4) - ts-loader@9.5.2(typescript@5.8.2)(webpack@5.99.9(@swc/core@1.12.0(@swc/helpers@0.5.15))): + ts-loader@9.5.2(typescript@5.8.2)(webpack@5.99.9(@swc/core@1.12.0)): dependencies: chalk: 4.1.2 enhanced-resolve: 5.18.1 @@ -17418,14 +18350,14 @@ snapshots: semver: 7.7.2 source-map: 0.7.4 typescript: 5.8.2 - webpack: 5.99.9(@swc/core@1.12.0(@swc/helpers@0.5.15)) + webpack: 5.99.9(@swc/core@1.12.0) ts-morph@24.0.0: dependencies: '@ts-morph/common': 0.25.0 code-block-writer: 13.0.3 - ts-node@10.9.2(@swc/core@1.12.0(@swc/helpers@0.5.15))(@types/node@22.15.3)(typescript@5.8.2): + ts-node@10.9.2(@swc/core@1.12.0)(@types/node@22.15.3)(typescript@5.8.2): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 @@ -17443,7 +18375,7 @@ snapshots: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 optionalDependencies: - '@swc/core': 1.12.0(@swc/helpers@0.5.15) + '@swc/core': 1.12.0 ts-pattern@5.0.8: {} @@ -17580,7 +18512,7 @@ snapshots: typescript: 5.8.2 yaml: 2.8.0 - typeorm@0.3.25(mysql2@3.14.1)(reflect-metadata@0.2.2)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.12.0(@swc/helpers@0.5.15))(@types/node@22.15.3)(typescript@5.8.2)): + typeorm@0.3.25(mysql2@3.14.1)(reflect-metadata@0.2.2)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.12.0)(@types/node@22.15.3)(typescript@5.8.2)): dependencies: '@sqltools/formatter': 1.2.5 ansis: 3.17.0 @@ -17600,7 +18532,7 @@ snapshots: optionalDependencies: mysql2: 3.14.1 sqlite3: 5.1.7 - ts-node: 10.9.2(@swc/core@1.12.0(@swc/helpers@0.5.15))(@types/node@22.15.3)(typescript@5.8.2) + ts-node: 10.9.2(@swc/core@1.12.0)(@types/node@22.15.3)(typescript@5.8.2) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -17891,7 +18823,7 @@ snapshots: webpack-virtual-modules@0.6.2: {} - webpack@5.99.6(@swc/core@1.12.0(@swc/helpers@0.5.15)): + webpack@5.99.6(@swc/core@1.12.0): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.8 @@ -17913,7 +18845,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 4.3.2 tapable: 2.2.2 - terser-webpack-plugin: 5.3.14(@swc/core@1.12.0(@swc/helpers@0.5.15))(webpack@5.99.6(@swc/core@1.12.0(@swc/helpers@0.5.15))) + terser-webpack-plugin: 5.3.14(@swc/core@1.12.0)(webpack@5.99.6(@swc/core@1.12.0)) watchpack: 2.4.4 webpack-sources: 3.3.2 transitivePeerDependencies: @@ -17921,7 +18853,7 @@ snapshots: - esbuild - uglify-js - webpack@5.99.9(@swc/core@1.12.0(@swc/helpers@0.5.15)): + webpack@5.99.9(@swc/core@1.12.0): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.7 @@ -17944,7 +18876,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 4.3.2 tapable: 2.2.2 - terser-webpack-plugin: 5.3.14(@swc/core@1.12.0(@swc/helpers@0.5.15))(webpack@5.99.9(@swc/core@1.12.0(@swc/helpers@0.5.15))) + terser-webpack-plugin: 5.3.14(@swc/core@1.12.0)(webpack@5.99.9(@swc/core@1.12.0)) watchpack: 2.4.4 webpack-sources: 3.3.2 transitivePeerDependencies: