├── .npmrc ├── src ├── routes │ ├── docs │ │ ├── [section] │ │ │ ├── About.svelte │ │ │ ├── +page.svelte │ │ │ ├── +page.ts │ │ │ ├── index.ts │ │ │ ├── Usage.svelte │ │ │ ├── Props.svelte │ │ │ ├── Events.svelte │ │ │ ├── Helpers.svelte │ │ │ └── Styling.svelte │ │ ├── +page.ts │ │ └── +layout.svelte │ ├── +layout.svelte │ ├── +page.svelte │ └── test │ │ └── +page.svelte ├── lib │ ├── components │ │ └── ui │ │ │ ├── progress │ │ │ ├── index.ts │ │ │ └── progress.svelte │ │ │ ├── table │ │ │ ├── table-body.svelte │ │ │ ├── table-caption.svelte │ │ │ ├── table-cell.svelte │ │ │ ├── table-footer.svelte │ │ │ ├── table.svelte │ │ │ ├── table-head.svelte │ │ │ ├── table-header.svelte │ │ │ ├── table-row.svelte │ │ │ └── index.ts │ │ │ ├── tabs │ │ │ ├── index.ts │ │ │ ├── tabs-list.svelte │ │ │ ├── tabs-content.svelte │ │ │ └── tabs-trigger.svelte │ │ │ ├── badge │ │ │ ├── badge.svelte │ │ │ └── index.ts │ │ │ ├── button │ │ │ ├── button.svelte │ │ │ └── index.ts │ │ │ └── PropsTable.svelte │ ├── package │ │ ├── index.ts │ │ ├── types.d.ts │ │ ├── marqueeck.css │ │ ├── helpers.ts │ │ ├── Marqueeck.svelte │ │ └── marqueeck.ts │ ├── style │ │ ├── container-grid.pcss │ │ └── highlightJS.pcss │ └── logic │ │ └── utils.ts ├── app.d.ts ├── app.html └── app.pcss ├── vite.config.ts ├── .gitignore ├── .eslintignore ├── .prettierignore ├── .vscode └── settings.json ├── .prettierrc ├── components.json ├── postcss.config.js ├── tsconfig.json ├── .eslintrc.cjs ├── static ├── favicon-dark.svg └── favicon-light.svg ├── svelte.config.js ├── README.md ├── tailwind.config.js ├── package.json └── pnpm-lock.yaml /.npmrc: -------------------------------------------------------------------------------- 1 | engine-strict=true 2 | -------------------------------------------------------------------------------- /src/routes/docs/[section]/About.svelte: -------------------------------------------------------------------------------- 1 |
... writing the documentation ...
2 | -------------------------------------------------------------------------------- /src/lib/components/ui/progress/index.ts: -------------------------------------------------------------------------------- 1 | import Root from "./progress.svelte"; 2 | 3 | export { 4 | Root, 5 | // 6 | Root as Progress 7 | }; 8 | -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- 1 | import { sveltekit } from '@sveltejs/kit/vite'; 2 | import { defineConfig } from 'vite'; 3 | 4 | export default defineConfig({ 5 | plugins: [sveltekit()] 6 | }); 7 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | /build 4 | /dist 5 | /.svelte-kit 6 | /package 7 | .env 8 | .env.* 9 | !.env.example 10 | vite.config.js.timestamp-* 11 | vite.config.ts.timestamp-* 12 | -------------------------------------------------------------------------------- /src/routes/docs/[section]/+page.svelte: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/routes/docs/+page.ts: -------------------------------------------------------------------------------- 1 | import { redirect } from '@sveltejs/kit'; 2 | import type { PageLoad } from './$types'; 3 | 4 | export const load = (async () => { 5 | throw redirect(300, "/docs/usage") 6 | }) satisfies PageLoad; -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | /build 4 | /.svelte-kit 5 | /package 6 | .env 7 | .env.* 8 | !.env.example 9 | 10 | # Ignore files for PNPM, NPM and YARN 11 | pnpm-lock.yaml 12 | package-lock.json 13 | yarn.lock 14 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | /build 4 | /.svelte-kit 5 | /package 6 | .env 7 | .env.* 8 | !.env.example 9 | 10 | # Ignore files for PNPM, NPM and YARN 11 | pnpm-lock.yaml 12 | package-lock.json 13 | yarn.lock 14 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "files.exclude": { 3 | "**/.git": true, 4 | "**/.svn": true, 5 | "**/.hg": true, 6 | "**/CVS": true, 7 | "**/.DS_Store": true, 8 | "**/Thumbs.db": true 9 | }, 10 | "hide-files.files": [] 11 | } 12 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "useTabs": true, 3 | "singleQuote": true, 4 | "trailingComma": "none", 5 | "printWidth": 100, 6 | "plugins": ["prettier-plugin-tailwindcss"], 7 | "overrides": [ 8 | { 9 | "files": "*.svelte", 10 | "options": { 11 | "parser": "svelte" 12 | } 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /src/app.d.ts: -------------------------------------------------------------------------------- 1 | // See https://kit.svelte.dev/docs/types#app 2 | // for information about these interfaces 3 | declare global { 4 | namespace App { 5 | // interface Error {} 6 | // interface Locals {} 7 | // interface PageData {} 8 | // interface Platform {} 9 | } 10 | } 11 | 12 | export {}; 13 | -------------------------------------------------------------------------------- /components.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://shadcn-svelte.com/schema.json", 3 | "style": "default", 4 | "tailwind": { 5 | "config": "tailwind.config.js", 6 | "css": "src/app.pcss", 7 | "baseColor": "neutral" 8 | }, 9 | "aliases": { 10 | "components": "$lib/components", 11 | "utils": "$lib/logic/utils" 12 | } 13 | } -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | // const tailwindcss = require('tailwindcss'); 2 | // const autoprefixer = require('autoprefixer'); 3 | 4 | import tailwindcss from 'tailwindcss' 5 | import autoprefixer from 'autoprefixer' 6 | 7 | export default { 8 | plugins: [ 9 | tailwindcss(), 10 | //But others, like autoprefixer, need to run after, 11 | autoprefixer 12 | ] 13 | }; -------------------------------------------------------------------------------- /src/lib/package/index.ts: -------------------------------------------------------------------------------- 1 | import Marqueeck from "./Marqueeck.svelte"; 2 | import { pingPongHelper, factorDamper, scrollHandler, scrollState } from "./helpers"; 3 | export default Marqueeck 4 | export { pingPongHelper, factorDamper, scrollHandler, scrollState } 5 | 6 | import type { PublicMarqueeckOptions, MarqueeckHoverEvent } from "./types"; 7 | type MarqueeckOptions = PublicMarqueeckOptions; 8 | export type { MarqueeckOptions, MarqueeckHoverEvent } -------------------------------------------------------------------------------- /src/routes/docs/[section]/+page.ts: -------------------------------------------------------------------------------- 1 | import type { PageLoad } from './$types'; 2 | import { error } from '@sveltejs/kit'; 3 | import { sections } from '.'; 4 | 5 | export const load = (async ({ params }) => { 6 | const sectionObject = sections.find(sec => sec.value === params.section) 7 | 8 | if (!sectionObject) { 9 | throw error(400, 'Invalid section'); 10 | } 11 | 12 | return sectionObject; 13 | }) satisfies PageLoad; -------------------------------------------------------------------------------- /src/lib/components/ui/table/table-body.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/lib/components/ui/tabs/index.ts: -------------------------------------------------------------------------------- 1 | import { Tabs as TabsPrimitive } from "bits-ui"; 2 | import Content from "./tabs-content.svelte"; 3 | import List from "./tabs-list.svelte"; 4 | import Trigger from "./tabs-trigger.svelte"; 5 | 6 | const Root = TabsPrimitive.Root; 7 | 8 | export { 9 | Root, 10 | Content, 11 | List, 12 | Trigger, 13 | // 14 | Root as Tabs, 15 | Content as TabsContent, 16 | List as TabsList, 17 | Trigger as TabsTrigger 18 | }; 19 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./.svelte-kit/tsconfig.json", 3 | "compilerOptions": { 4 | "allowJs": true, 5 | "checkJs": true, 6 | "esModuleInterop": true, 7 | "forceConsistentCasingInFileNames": true, 8 | "resolveJsonModule": true, 9 | "skipLibCheck": true, 10 | "sourceMap": true, 11 | "strict": true, 12 | "moduleResolution": "node", 13 | "allowImportingTsExtensions": true, 14 | "declaration": true 15 | // "emitDeclarationOnly": true, 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/lib/components/ui/table/table-caption.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/lib/components/ui/table/table-cell.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/lib/components/ui/table/table-footer.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/lib/components/ui/table/table.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 |
12 | 16 | 17 |
18 |
19 | -------------------------------------------------------------------------------- /src/lib/components/ui/table/table-head.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/lib/components/ui/badge/badge.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/lib/components/ui/table/table-header.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 | 12 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/lib/components/ui/tabs/tabs-list.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/lib/components/ui/table/table-row.svelte: -------------------------------------------------------------------------------- 1 | 12 | 13 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/lib/components/ui/tabs/tabs-content.svelte: -------------------------------------------------------------------------------- 1 | 11 | 12 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /src/routes/docs/[section]/index.ts: -------------------------------------------------------------------------------- 1 | import Usage from './Usage.svelte'; 2 | import Props from './Props.svelte'; 3 | import Styling from './Styling.svelte'; 4 | import Events from './Events.svelte'; 5 | import About from './About.svelte'; 6 | import Helpers from './Helpers.svelte'; 7 | 8 | export const sections = [ 9 | { label: 'Usage', value: 'usage', component: Usage }, 10 | { label: 'Props', value: 'props', component: Props }, 11 | { label: 'Events', value: 'events', component: Events }, 12 | { label: 'Styling', value: 'styling', component: Styling }, 13 | { label: 'Helpers', value: 'helpers', component: Helpers }, 14 | { label: 'About', value: 'about', component: About } 15 | ]; -------------------------------------------------------------------------------- /src/lib/components/ui/table/index.ts: -------------------------------------------------------------------------------- 1 | import Root from "./table.svelte"; 2 | import Body from "./table-body.svelte"; 3 | import Caption from "./table-caption.svelte"; 4 | import Cell from "./table-cell.svelte"; 5 | import Footer from "./table-footer.svelte"; 6 | import Head from "./table-head.svelte"; 7 | import Header from "./table-header.svelte"; 8 | import Row from "./table-row.svelte"; 9 | 10 | export { 11 | Root, 12 | Body, 13 | Caption, 14 | Cell, 15 | Footer, 16 | Head, 17 | Header, 18 | Row, 19 | // 20 | Root as Table, 21 | Body as TableBody, 22 | Caption as TableCaption, 23 | Cell as TableCell, 24 | Footer as TableFooter, 25 | Head as TableHead, 26 | Header as TableHeader, 27 | Row as TableRow 28 | }; 29 | -------------------------------------------------------------------------------- /.eslintrc.cjs: -------------------------------------------------------------------------------- 1 | /** @type { import("eslint").Linter.FlatConfig } */ 2 | module.exports = { 3 | root: true, 4 | extends: [ 5 | 'eslint:recommended', 6 | 'plugin:@typescript-eslint/recommended', 7 | 'plugin:svelte/recommended', 8 | 'prettier' 9 | ], 10 | parser: '@typescript-eslint/parser', 11 | plugins: ['@typescript-eslint'], 12 | parserOptions: { 13 | sourceType: 'module', 14 | ecmaVersion: 2020, 15 | extraFileExtensions: ['.svelte'] 16 | }, 17 | env: { 18 | browser: true, 19 | es2017: true, 20 | node: true 21 | }, 22 | overrides: [ 23 | { 24 | files: ['*.svelte'], 25 | parser: 'svelte-eslint-parser', 26 | parserOptions: { 27 | parser: '@typescript-eslint/parser' 28 | } 29 | } 30 | ] 31 | }; 32 | -------------------------------------------------------------------------------- /src/app.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 11 | 17 | 18 | %sveltekit.head% 19 | 20 | 21 | 22 | %sveltekit.body% 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /src/lib/components/ui/progress/progress.svelte: -------------------------------------------------------------------------------- 1 | 12 | 13 | 17 |
21 |
22 | -------------------------------------------------------------------------------- /src/lib/components/ui/button/button.svelte: -------------------------------------------------------------------------------- 1 | 15 | 16 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /static/favicon-dark.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /static/favicon-light.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /svelte.config.js: -------------------------------------------------------------------------------- 1 | import adapter from '@sveltejs/adapter-auto'; 2 | import { vitePreprocess } from '@sveltejs/vite-plugin-svelte' 3 | 4 | /** @type {import('@sveltejs/kit').Config} */ 5 | const config = { 6 | // Consult https://kit.svelte.dev/docs/integrations#preprocessors 7 | // for more information about preprocessors 8 | preprocess: [vitePreprocess({})], 9 | 10 | kit: { 11 | // adapter-auto only supports some environments, see https://kit.svelte.dev/docs/adapter-auto for a list. 12 | // If your environment is not supported or you settled on a specific environment, switch out the adapter. 13 | // See https://kit.svelte.dev/docs/adapters for more information about adapters. 14 | adapter: adapter(), 15 | alias: { 16 | pkg: 'src/package' 17 | }, 18 | version: { 19 | name: process.env.npm_package_version 20 | } 21 | } 22 | }; 23 | 24 | export default config; 25 | -------------------------------------------------------------------------------- /src/lib/components/ui/badge/index.ts: -------------------------------------------------------------------------------- 1 | import { tv, type VariantProps } from "tailwind-variants"; 2 | export { default as Badge } from "./badge.svelte"; 3 | 4 | export const badgeVariants = tv({ 5 | base: "inline-flex items-center border rounded-full px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none select-none focus:ring-2 focus:ring-ring focus:ring-offset-2", 6 | variants: { 7 | variant: { 8 | default: 9 | "bg-primary hover:bg-primary/80 border-transparent text-primary-foreground", 10 | secondary: 11 | "bg-secondary hover:bg-secondary/80 border-transparent text-secondary-foreground", 12 | destructive: 13 | "bg-destructive hover:bg-destructive/80 border-transparent text-destructive-foreground", 14 | outline: "text-foreground" 15 | } 16 | }, 17 | defaultVariants: { 18 | variant: "default" 19 | } 20 | }); 21 | 22 | export type Variant = VariantProps["variant"]; 23 | -------------------------------------------------------------------------------- /src/lib/components/ui/tabs/tabs-trigger.svelte: -------------------------------------------------------------------------------- 1 | 12 | 13 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/lib/style/container-grid.pcss: -------------------------------------------------------------------------------- 1 | .content-grid { 2 | --padding-inline: 1rem; 3 | --content-max-width: 960px; 4 | --breakout-max-width: 1200px; 5 | 6 | --breakout-size: calc((var(--breakout-max-width) - var(--content-max-width)) / 2); 7 | 8 | display: grid; 9 | align-items: start; 10 | grid-template-columns: 11 | [full-width-start] minmax(var(--padding-inline), 1fr) 12 | [breakout-start] minmax(0, var(--breakout-size)) 13 | [content-start] min(100% - (var(--padding-inline) * 2), var(--content-max-width)) 14 | [content-end] 15 | minmax(0, var(--breakout-size)) [breakout-end] 16 | minmax(var(--padding-inline), 1fr) [full-width-end]; 17 | } 18 | 19 | .content-grid > :not(.breakout, .full-width), 20 | .full-width > :not(.breakout, .full-width) { 21 | grid-column: content; 22 | } 23 | 24 | .content-grid > .breakout { 25 | grid-column: breakout; 26 | } 27 | 28 | .content-grid > .full-width { 29 | grid-column: full-width; 30 | 31 | grid-template-columns: inherit; 32 | } 33 | -------------------------------------------------------------------------------- /src/lib/package/types.d.ts: -------------------------------------------------------------------------------- 1 | type Directions = 'left' | 'right'; 2 | 3 | export type MarqueeckOptions = { 4 | speed: number; 5 | debug?: boolean; 6 | direction: Directions; 7 | paddingX: number; 8 | gap: number, 9 | onHover: 'none' | 'stop' | 'customSpeed'; 10 | speedFactor: () => number; 11 | brakeDuration: number; 12 | hoverSpeed: number; 13 | paddingX: 20; 14 | childTransition: SvelteTransition; 15 | childStagger: boolean, 16 | childStaggerDuration: number, 17 | easing: (t: number) => number, 18 | still: boolean, 19 | isMouseIn: () => boolean, 20 | currentSpeed: () => number 21 | } 22 | 23 | export type PublicMarqueeckOptions = Omit, 24 | "debug" | "still" | 'isMouseIn' | 'currentSpeed'> 25 | 26 | export type Props = Partial[] 27 | 28 | // * SLIDE ACTION 29 | export interface MarqueeckHoverEvent extends CustomEvent { 30 | detail: boolean; 31 | } 32 | 33 | export interface SlideAttributes { 34 | class?: string; 35 | 'on:marqueeckHover'?: (e: MarqueeckHoverEvent) => void; 36 | } 37 | -------------------------------------------------------------------------------- /src/lib/package/marqueeck.css: -------------------------------------------------------------------------------- 1 | /* * Wrapper */ 2 | [data-marqueeck-wrapper] { 3 | display: flex; 4 | flex-flow: row nowrap; 5 | overflow: hidden; 6 | position: relative; 7 | width: 100%; 8 | padding-inline: var(--marqueeck-x-pad); 9 | padding-block: var(--marqueeck-padding-y); 10 | background-color: var(--marqueeck-bg-color); 11 | color: var(--marqueeck-text-color); 12 | } 13 | 14 | [data-marqueeck-wrapper].extend { 15 | width: calc(100% + 2 * var(--marqueeck-x-pad, 0)); 16 | margin-inline: calc(-1 * var(--marqueeck-x-pad, 0)); 17 | padding-inline: calc(var(--marqueeck-x-pad) * 2); 18 | } 19 | 20 | /* * Ribbon */ 21 | [data-marqueeck-ribbon] { 22 | display: inherit; 23 | flex-flow: inherit; 24 | gap: inherit; 25 | transform: translateX(var(--ribbonXpos)); 26 | will-change: transform; 27 | transition: gap 0.3s ease-out; 28 | } 29 | 30 | /* * Children */ 31 | [data-marqueeck-child] { 32 | display: inline-flex; 33 | width: max-content; 34 | gap: inherit; 35 | } 36 | 37 | /* * Stickies */ 38 | [data-marqueeck-sticky] { 39 | position: absolute; 40 | padding-inline: var(--marqueeck-x-pad); 41 | width: fit-content; 42 | height: stretch; 43 | display: inline-flex; 44 | align-items: center; 45 | background-color: inherit; 46 | color: inherit; 47 | } 48 | 49 | [data-marqueeck-sticky].start { 50 | padding-inline-start: calc(2 * var(--marqueeck-x-pad)); 51 | } 52 | 53 | [data-marqueeck-sticky].end { 54 | padding-inline-end: calc(2 * var(--marqueeck-x-pad)); 55 | } 56 | 57 | /* * Separator */ 58 | [data-marqueeck-separator] { 59 | width: fit-content; 60 | height: 100%; 61 | display: inline-flex; 62 | align-items: center; 63 | user-select: none; 64 | } 65 | -------------------------------------------------------------------------------- /src/routes/docs/+layout.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 | 12 | Marqueeck - Docs - {capitalizeFirstLetter(currentSection)} 13 | 14 | 15 |
16 |

What does it do ?

17 |

18 | Marqueeck is a performant full-featured marquee component for Svelte, style-free, highly 19 | customizable and dependency-less. 20 |

21 |
    22 |
  • ♾️ Auto-repeat slotted element (reactive to screen's width)
  • 23 |
  • 🎚️ Custom speed, direction, gap, padding, easing, animation, etc..
  • 24 |
  • 🎨 Minimal styling (come with your own classes)
  • 25 |
  • ✨ Custom interactions via event-forwarding (hover, click)
  • 26 |
  • ⚓ Optional sticky elements
  • 27 |
  • ✅ Fully typed with TypeScript
  • 28 |
29 |
30 | 31 |
32 | {#each sections as section} 33 | {@const isCurrentSection = currentSection === section.value} 34 | {@const isAbout = section.value === 'about'} 35 | 43 | {/each} 44 |
45 | 46 |
47 | 48 |
49 | -------------------------------------------------------------------------------- /src/lib/components/ui/button/index.ts: -------------------------------------------------------------------------------- 1 | import Root from "./button.svelte"; 2 | import { tv, type VariantProps } from "tailwind-variants"; 3 | import type { Button as ButtonPrimitive } from "bits-ui"; 4 | 5 | const buttonVariants = tv({ 6 | base: "inline-flex items-center justify-center rounded-md text-sm font-medium whitespace-nowrap ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50", 7 | variants: { 8 | variant: { 9 | default: "bg-primary text-primary-foreground hover:bg-primary/90", 10 | destructive: 11 | "bg-destructive text-destructive-foreground hover:bg-destructive/90", 12 | outline: 13 | "border border-input bg-background hover:bg-accent hover:text-accent-foreground", 14 | secondary: 15 | "bg-secondary text-secondary-foreground hover:bg-secondary/80", 16 | ghost: "hover:bg-accent hover:text-accent-foreground", 17 | link: "text-primary underline-offset-4 hover:underline" 18 | }, 19 | size: { 20 | default: "h-10 px-4 py-2", 21 | sm: "h-9 rounded-md px-3", 22 | lg: "h-11 rounded-md px-8", 23 | icon: "h-10 w-10" 24 | } 25 | }, 26 | defaultVariants: { 27 | variant: "default", 28 | size: "default" 29 | } 30 | }); 31 | 32 | type Variant = VariantProps["variant"]; 33 | type Size = VariantProps["size"]; 34 | 35 | type Props = ButtonPrimitive.Props & { 36 | variant?: Variant; 37 | size?: Size; 38 | }; 39 | 40 | type Events = ButtonPrimitive.Events; 41 | 42 | export { 43 | Root, 44 | type Props, 45 | type Events, 46 | // 47 | Root as Button, 48 | type Props as ButtonProps, 49 | type Events as ButtonEvents, 50 | buttonVariants 51 | }; 52 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # create-svelte 2 | 3 | Everything you need to build a Svelte library, powered by [`create-svelte`](https://github.com/sveltejs/kit/tree/master/packages/create-svelte). 4 | 5 | Read more about creating a library [in the docs](https://kit.svelte.dev/docs/packaging). 6 | 7 | ## Creating a project 8 | 9 | If you're seeing this, you've probably already done this step. Congrats! 10 | 11 | ```bash 12 | # create a new project in the current directory 13 | npm create svelte@latest 14 | 15 | # create a new project in my-app 16 | npm create svelte@latest my-app 17 | ``` 18 | 19 | ## Developing 20 | 21 | Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server: 22 | 23 | ```bash 24 | npm run dev 25 | 26 | # or start the server and open the app in a new browser tab 27 | npm run dev -- --open 28 | ``` 29 | 30 | Everything inside `src/lib` is part of your library, everything inside `src/routes` can be used as a showcase or preview app. 31 | 32 | ## Building 33 | 34 | To build your library: 35 | 36 | ```bash 37 | npm run package 38 | ``` 39 | 40 | To create a production version of your showcase app: 41 | 42 | ```bash 43 | npm run build 44 | ``` 45 | 46 | You can preview the production build with `npm run preview`. 47 | 48 | > To deploy your app, you may need to install an [adapter](https://kit.svelte.dev/docs/adapters) for your target environment. 49 | 50 | ## Publishing 51 | 52 | Go into the `package.json` and give your package the desired name through the `"name"` option. Also consider adding a `"license"` field and point it to a `LICENSE` file which you can create from a template (one popular option is the [MIT license](https://opensource.org/license/mit/)). 53 | 54 | To publish your library to [npm](https://www.npmjs.com): 55 | 56 | ```bash 57 | npm publish 58 | ``` 59 | -------------------------------------------------------------------------------- /src/lib/style/highlightJS.pcss: -------------------------------------------------------------------------------- 1 | /* CODEBLOCK */ 2 | .svhighlight-header { 3 | @apply !bg-[#262626]; 4 | } 5 | 6 | .svhighlight-header ~ div { 7 | @apply bg-[#1a1a1a]; 8 | } 9 | 10 | .hljs-comment { 11 | color: #626483; 12 | } 13 | 14 | .hljs-tag { 15 | color: #fff; 16 | } 17 | 18 | .hljs-operator, 19 | .hljs-punctuation, 20 | .hljs-subst { 21 | color: #e9e9f4; 22 | } 23 | 24 | .hljs-operator { 25 | opacity: 0.7; 26 | } 27 | 28 | .hljs-bullet, 29 | .hljs-deletion, 30 | .hljs-name, 31 | .hljs-selector-tag, 32 | .hljs-template-variable { 33 | color: #85e89d; 34 | } 35 | .hljs-variable { 36 | color: #79b8ff; 37 | } 38 | 39 | .hljs-attr, 40 | .hljs-link, 41 | .hljs-literal, 42 | .hljs-number, 43 | .hljs-symbol, 44 | .hljs-variable.constant_ { 45 | color: #b392f0; 46 | } 47 | 48 | .hljs-class .hljs-title, 49 | .hljs-title, 50 | .hljs-title.class_ { 51 | color: #e1e4e8; 52 | } 53 | 54 | .hljs-strong { 55 | font-weight: 700; 56 | color: #00f769; 57 | } 58 | 59 | .hljs-addition, 60 | .hljs-code, 61 | .hljs-string, 62 | .hljs-title.class_.inherited__ { 63 | color: #9ecbff; 64 | } 65 | 66 | .hljs-built_in, 67 | .hljs-doctag, 68 | .hljs-keyword.hljs-atrule, 69 | .hljs-quote, 70 | .hljs-regexp { 71 | color: #a1efe4; 72 | } 73 | 74 | .hljs-attribute, 75 | .hljs-function .hljs-title, 76 | .hljs-section, 77 | .hljs-title.function_, 78 | .ruby .hljs-property { 79 | color: #b392f0; 80 | } 81 | 82 | .diff .hljs-meta, 83 | .hljs-keyword, 84 | .hljs-template-tag, 85 | .hljs-type { 86 | color: #f97578; 87 | } 88 | 89 | .hljs-emphasis { 90 | color: #b45bcf; 91 | font-style: italic; 92 | } 93 | 94 | .hljs-meta, 95 | .hljs-meta .hljs-keyword, 96 | .hljs-meta .hljs-string { 97 | color: #00f769; 98 | } 99 | 100 | .hljs-meta .hljs-keyword, 101 | .hljs-meta-keyword { 102 | font-weight: 700; 103 | } 104 | -------------------------------------------------------------------------------- /src/routes/+layout.svelte: -------------------------------------------------------------------------------- 1 | 10 | 11 | 12 | 13 |
14 |
15 | 16 |

Marqueeck

17 |
18 | 19 | {version} 20 | 21 | 37 |
38 |
39 | 40 |
41 | 42 |
43 | 44 |
45 | 46 | Made with ♡ by @AristideBH 47 | 48 | 49 | {#if $page.route.id === '/'} 50 | Docs 51 | {:else} 52 | Home 53 | {/if} 54 | GitHub 55 | 56 |
57 | -------------------------------------------------------------------------------- /src/lib/logic/utils.ts: -------------------------------------------------------------------------------- 1 | import { type ClassValue, clsx } from "clsx"; 2 | import { twMerge } from "tailwind-merge"; 3 | import { cubicOut } from "svelte/easing"; 4 | import type { TransitionConfig } from "svelte/transition"; 5 | 6 | export function cn(...inputs: ClassValue[]) { 7 | return twMerge(clsx(inputs)); 8 | } 9 | 10 | type FlyAndScaleParams = { 11 | y?: number; 12 | x?: number; 13 | start?: number; 14 | duration?: number; 15 | }; 16 | 17 | export const flyAndScale = ( 18 | node: Element, 19 | params: FlyAndScaleParams = { y: -8, x: 0, start: 0.95, duration: 150 } 20 | ): TransitionConfig => { 21 | const style = getComputedStyle(node); 22 | const transform = style.transform === "none" ? "" : style.transform; 23 | 24 | const scaleConversion = ( 25 | valueA: number, 26 | scaleA: [number, number], 27 | scaleB: [number, number] 28 | ) => { 29 | const [minA, maxA] = scaleA; 30 | const [minB, maxB] = scaleB; 31 | 32 | const percentage = (valueA - minA) / (maxA - minA); 33 | const valueB = percentage * (maxB - minB) + minB; 34 | 35 | return valueB; 36 | }; 37 | 38 | const styleToString = ( 39 | style: Record 40 | ): string => { 41 | return Object.keys(style).reduce((str, key) => { 42 | if (style[key] === undefined) return str; 43 | return str + `${key}:${style[key]};`; 44 | }, ""); 45 | }; 46 | 47 | return { 48 | duration: params.duration ?? 200, 49 | delay: 0, 50 | css: (t) => { 51 | const y = scaleConversion(t, [0, 1], [params.y ?? 5, 0]); 52 | const x = scaleConversion(t, [0, 1], [params.x ?? 0, 0]); 53 | const scale = scaleConversion(t, [0, 1], [params.start ?? 0.95, 1]); 54 | 55 | return styleToString({ 56 | transform: `${transform} translate3d(${x}px, ${y}px, 0) scale(${scale})`, 57 | opacity: t 58 | }); 59 | }, 60 | easing: cubicOut 61 | }; 62 | }; -------------------------------------------------------------------------------- /tailwind.config.js: -------------------------------------------------------------------------------- 1 | import { fontFamily } from "tailwindcss/defaultTheme"; 2 | 3 | /** @type {import('tailwindcss').Config} */ 4 | const config = { 5 | darkMode: ["class"], 6 | content: ["./src/**/*.{html,js,svelte,ts}", 7 | "./node_modules/svhighlight/**/*.svelte" 8 | ], 9 | safelist: ["dark"], 10 | theme: { 11 | container: { 12 | center: true, 13 | padding: "2rem", 14 | screens: { 15 | "2xl": "1400px" 16 | } 17 | }, 18 | extend: { 19 | colors: { 20 | border: "hsl(var(--border) / )", 21 | input: "hsl(var(--input) / )", 22 | ring: "hsl(var(--ring) / )", 23 | background: "hsl(var(--background) / )", 24 | foreground: "hsl(var(--foreground) / )", 25 | primary: { 26 | DEFAULT: "hsl(var(--primary) / )", 27 | foreground: "hsl(var(--primary-foreground) / )" 28 | }, 29 | secondary: { 30 | DEFAULT: "hsl(var(--secondary) / )", 31 | foreground: "hsl(var(--secondary-foreground) / )" 32 | }, 33 | destructive: { 34 | DEFAULT: "hsl(var(--destructive) / )", 35 | foreground: "hsl(var(--destructive-foreground) / )" 36 | }, 37 | muted: { 38 | DEFAULT: "hsl(var(--muted) / )", 39 | foreground: "hsl(var(--muted-foreground) / )" 40 | }, 41 | accent: { 42 | DEFAULT: "hsl(var(--accent) / )", 43 | foreground: "hsl(var(--accent-foreground) / )" 44 | }, 45 | popover: { 46 | DEFAULT: "hsl(var(--popover) / )", 47 | foreground: "hsl(var(--popover-foreground) / )" 48 | }, 49 | card: { 50 | DEFAULT: "hsl(var(--card) / )", 51 | foreground: "hsl(var(--card-foreground) / )" 52 | } 53 | }, 54 | borderRadius: { 55 | lg: "var(--radius)", 56 | md: "calc(var(--radius) - 2px)", 57 | sm: "calc(var(--radius) - 4px)" 58 | }, 59 | fontFamily: { 60 | sans: [...fontFamily.sans] 61 | } 62 | } 63 | }, 64 | }; 65 | 66 | export default config; 67 | -------------------------------------------------------------------------------- /src/routes/+page.svelte: -------------------------------------------------------------------------------- 1 | 9 | 10 | 11 | Marqueeck for Sveltekit 12 | 13 | 14 | 15 |
16 |
17 |

18 | {description} 19 |

20 |
    21 |
  • ♾️ Auto-repeat slotted element (reactive to screen's width)
  • 22 |
  • 🎚️ Custom speed, direction, gap, padding, easing, animation, etc..
  • 23 |
  • 🎨 Minimal styling (come with your own classes)
  • 24 |
  • ✨ Custom interactions via event-forwarding (hover, click)
  • 25 |
  • ⚓ Optional sticky elements
  • 26 |
  • ✅ Fully typed with TypeScript
  • 27 |
28 |
29 |
30 | 31 |
32 | 33 |

Marqueeck

34 | 35 | Hello 36 |
37 | 41 |

Marqueeck

42 | 43 | Bye ! 44 |
45 |

Hover the marquees to slow them down

46 |
47 | 48 |
49 |

Want to install and customize Marqueeck ?

50 | 51 |
52 | -------------------------------------------------------------------------------- /src/routes/docs/[section]/Usage.svelte: -------------------------------------------------------------------------------- 1 | 5 | 6 |

Installation

7 |

Use your preferred node package manager.

8 |
9 |

npm i @arisbh/marqueeck

10 |

pnpm add @arisbh/marqueeck

11 |

yarn add @arisbh/marqueeck

12 |
13 | 14 |

Usage

15 |

16 | You can throw any element in Marqueeck, solo or grouped, a simple div or another Svelte component, 17 | or even just plain text for the sake of simplicity. 18 |

19 |

20 | Your element will automaticaly be repeated inside the component, auto-updating the number of 21 | needed elements to fill its parent. 22 |

23 |

Import the Marqueeck component, and wrap your content with it.

24 | 25 | Hello Marqueeck 26 | 29 | import Marqueeck from '@arisbh/marqueeck'; 30 | 31 | 32 | Hello Marqueeck `} 33 | /> 34 | 35 |

Advanced configuration

36 | 37 |

Sticky elements

38 |

39 | You can use the reserved svelte:fragment to place a sticky element inside your component. 40 |

41 | 42 | Marqueeck 43 | Hello 44 | Component 45 | 46 | 49 | Marqueeck 50 | Hello 51 | Component 52 | `} 53 | /> 54 | 55 |

Separator

56 |

57 | You can use the reserved svelte:fragment to place a separator between your repeated components. 58 |

59 | 60 | Marqueeck 61 | 62 | 63 | 66 | Marqueeck 67 | 68 | `} 69 | /> 70 | 71 |

Learn more

72 |

73 | Check the Props or Events pages for more information. 74 |

75 | -------------------------------------------------------------------------------- /src/routes/test/+page.svelte: -------------------------------------------------------------------------------- 1 | 35 | 36 |
37 | 38 |

Marqueeck

39 | 40 | Hello, 41 | Goodbye 42 |
43 | 44 |
45 | 57 | 71 | 85 |
86 |
87 | -------------------------------------------------------------------------------- /src/routes/docs/[section]/Props.svelte: -------------------------------------------------------------------------------- 1 | 6 | 7 |

Options

8 |

Custom options

9 |

You can either pass your options directly in the Marqueeck component.

10 | 11 | 14 | import Marqueeck from '@arisbh/marqueeck'; 15 | 73 | 74 | 75 | 76 | 77 | Name 78 | Type 79 | Description 80 | Default value 81 | 82 | 83 | 84 | {#each props as prop, i (i)} 85 | 86 | {prop.prop} 87 | {prop.type} 88 | {prop.description} 89 | {prop.defaultValue} 90 | 91 | {/each} 92 | 93 | 94 | -------------------------------------------------------------------------------- /src/routes/docs/[section]/Events.svelte: -------------------------------------------------------------------------------- 1 | 12 | 13 |

onClick

14 |

15 | Marqueeck provides a event when clicking on it. When you set this prop to a function 16 | , Marqueeck will automatically set role="button" and 17 | tabIndex="0" to the wrapper element for better accessibility. 18 |

19 |
20 | This event also triggerred when the component is focused, and Enter or 21 | Space keys are pressed. 22 |
23 | 24 | Check the console 25 | 26 | 29 | import Marqueeck from '@arisbh/marqueeck'; 30 | 31 | const handleClick = () => { 32 | console.log("Clicked"); 33 | }; 34 | 78 | 79 | 80 | {#if renderElaimant} 81 |
95 | 96 |
97 | 106 | 107 | {#if separator} 108 |
109 | 110 |
111 | {/if} 112 |
113 | 114 | {#each { length: neededChildren } as _, i} 115 | 132 | {/each} 133 |
134 | 135 | 136 | {#if stickyStart} 137 |
144 | 145 |
146 | {/if} 147 | {#if stickyEnd} 148 |
155 | 156 |
157 | {/if} 158 |
159 | {/if} 160 | -------------------------------------------------------------------------------- /src/routes/docs/[section]/Helpers.svelte: -------------------------------------------------------------------------------- 1 | 47 | 48 |

I have cooked a few functionnality recipes for you to get the sense of Marqueeck versality ;)

49 |

50 | Feel free to copy and/or improve them, and if you have more idea, please let me know in a 54 | GitHub issue. 56 |

57 |
58 | Most of these example makes use of the options.speedFactor proprepty to impact the component 59 | speed. 60 |
61 | 62 |

Play/Pause

63 | [ Your element ] 64 | 65 |
66 |
67 | 74 | 81 | 88 |
89 |
90 |

91 | When you construct a options object, you are easily able to update it. 92 |

93 |

Here we are creating three buttons to interact with the component.

94 |
95 |
96 | 97 | 100 | import Marqueeck, { type MarqueeckOptions } from '@arisbh/marqueeck'; 101 | import { tweened } from 'svelte/motion'; 102 | 103 | const speed = tweened(1); 104 | const playPause = () => ($speed = $speed === 1 ? 0 : 1); 105 | const changeDirection = () => (options.direction = options.direction === 'right' ? 'left' : 'right'); 106 | const changeGap = () => (options.gap = options.gap === 25 ? 50 : 25); 107 | 108 | let options: MarqueeckOptions = { 109 | gap: 25, 110 | direction: 'right', 111 | speedFactor: () => $speed 112 | }; 113 | <\/script> 114 | 115 | 116 | [ Your element ] 117 | 118 | 119 | 120 | 121 | `} 122 | /> 123 | 124 |

Scroll sync

125 | 126 | factorDamper($scrollState.velocity, 3) }}> 127 | [ Your element ] 128 | 129 | 130 |
131 |
132 |
Scroll in this container
133 |
134 |
135 |
136 |

137 | Here, we are using the scroll position to affect the speedFactor property in options. 138 |

139 |

140 | You could even get the direction of the scroll and update Marqueeck options.direction accordingly. 143 |

144 |
145 |
146 | 147 | 150 | import Marqueeck, { factorDamper, scrollHandler, scrollState } from '@arisbh/marqueeck'; 151 | const cyclingValue = pingPongHelper(1, 6, 1500); 152 | <\/script> 153 | 154 | factorDamper($scrollState.velocity, 3) }}> 155 | [ Your element ] 156 | `} 157 | /> 158 | 159 |

Cyclic speed

160 | 161 | $cyclingValue }}>[ Your element ] 162 | 163 |
164 |
165 | 166 |

167 | CyclingValue: {JSON.stringify($cyclingValue, undefined, 2)} 168 |

169 |
170 |
171 |

Here, we are using a tweened value that cycles based on given parameters.

172 |
173 |
174 | 175 | 178 | import Marqueeck, { pingPongHelper } from '@arisbh/marqueeck'; 179 | const cyclingValue = pingPongHelper(1, 6, 1500); 180 | <\/script> 181 | 182 | $cyclingValue }} > 183 | [ Your element ] 184 | `} 185 | /> 186 | 187 | 188 | -------------------------------------------------------------------------------- /src/routes/docs/[section]/Styling.svelte: -------------------------------------------------------------------------------- 1 | 5 | 6 |

Slotted component

7 | 8 |

9 | You have full control over the element you are slotting inside Marqueeck, therefore you can style 10 | it as you want. Drop a complex flex layout, another Svelte component, a simple icon or anything... 11 | You choose what you use, and style it the way you want ! 12 |

13 | 14 |
15 | 16 | Hello custom 17 | 18 | Marqueeck 19 |
20 |
21 | 24 | 25 |
26 | 27 | Hello custom 28 | 29 | Marqueeck 30 |
31 | `} 32 | /> 33 | 34 |

CSS Variable

35 |

36 | You can directly pass CSS variables for the background and text colors, and also for the vertical 37 | paddings, using any CSS appropriate propreties. 38 |

39 | CSS Variables 44 | 45 | 51 | CSS Variables 52 | `} 53 | /> 54 |

Or define them globaly for all Marqueecks in your project :

55 | 63 | 64 |

Marqueeck default structure

65 | 66 |

Treeview

67 | animated element 72 | │ │ ├─ span [data-marqueeck-child] 73 | │ │ │ ├─ chosenTag ("Your content") 74 | │ │ │ └─ div [data-marqueeck-separator] ("Separator") 75 | │ │ ├─ span [data-marqueeck-child, aria-hidden] 76 | │ │ │ ├─ chosenTag ("Your content") 77 | │ │ │ └─ span [data-marqueeck-separator] ("Separator") 78 | │ │ └─ ... 79 | │ ├─ div [data-marqueeck-sticky.start] ("StickyStart content") 80 | │ └─ div [data-marqueeck-sticky.end] ("StickyEnd content") 81 | `} 82 | /> 83 | 84 |

Classes props

85 |

Marqueeck provides props to style its barebone structure and the default class tag.

86 |
    87 |
  • 88 |

    89 | Default class on the Marqueeck component is used to style the wrapper of the 90 | element. 91 |

    92 |
  • 93 |
  • 94 |

    ribbonClasses is used to style the parent of your repeated element.

    95 |

    96 | Its gap property is automaticaly inherited from options and is use to properly calculate the 97 | needed number of elements. Please do not redefined it here and use the gap property in 98 | options. 99 |

    100 |
    101 | This is the animated element, please do not apply any transform proprety to it. 102 |
    103 |
  • 104 |
  • 105 |

    childClasses is used to style your repeated element.

    106 |

    You have full control here and no styling restriction.

    107 |
  • 108 |
  • 109 |

    stickyClasses is used to style the sticky svelte:fragment.

    110 |

    Its inline paddings are set automaticaly from options but you're free to edit them.

    111 |
  • 112 |
  • 113 |

    separatorClasses is used to style the separator svelte:fragment.

    114 |
  • 115 |
  • 116 |

    hoverClasses is used to set arbitrary classes to the wrapper when it is hovered.

    117 |
  • 118 |
119 | 120 |

Default styles

121 |

122 | Although Marqueeck has a minimal styling approach, it still needs a bit of CSS to operate 123 | proprely. 124 |

125 | 193 | -------------------------------------------------------------------------------- /src/lib/package/marqueeck.ts: -------------------------------------------------------------------------------- 1 | import type { MarqueeckOptions, PublicMarqueeckOptions, Props, SlideAttributes } from "./types"; 2 | import type { FadeParams } from 'svelte/transition'; 3 | import type { ActionReturn } from "svelte/action"; 4 | import { fade } from 'svelte/transition'; 5 | import { quadInOut } from 'svelte/easing'; 6 | import { get } from 'svelte/store'; 7 | 8 | // * DEFAULT PARAMETER 9 | export const defaults: MarqueeckOptions = { 10 | speed: 75, 11 | direction: "right", 12 | gap: 20, 13 | onHover: 'customSpeed', 14 | brakeDuration: 1000, 15 | speedFactor: () => 1, 16 | hoverSpeed: 5, 17 | paddingX: 20, 18 | childStagger: true, 19 | childStaggerDuration: 50, 20 | childTransition: ((node: Element, params: FadeParams | undefined) => { 21 | return fade(node, { ...params, }); 22 | }), 23 | debug: false, 24 | easing: quadInOut, 25 | still: false, 26 | isMouseIn: () => false, 27 | currentSpeed: () => 75 28 | } 29 | 30 | 31 | // * ACTION 32 | import { writable } from 'svelte/store'; 33 | 34 | 35 | /** 36 | * A Svelte action that animates a marqueeck slide. 37 | * 38 | * @param {HTMLDivElement} node - The node where the action is applied. 39 | * @param {MarqueeckOptions} options - The options for the marqueeck slide. 40 | * 41 | * @returns {ActionReturn} - An object with an `update` method and a `destroy` method. 42 | * 43 | * The `update` method is called whenever the `options` parameter changes, immediately after Svelte has applied updates to the markup. 44 | * The `destroy` method is called after the element is unmounted. 45 | * 46 | * The `update` method also restarts the animation if it was not initially still. 47 | * The `destroy` method removes the event listeners when the action is destroyed. 48 | * 49 | * The action can emit custom events and apply custom attributes to the element it is applied to. 50 | * 51 | * @example 52 | *
53 | */ 54 | export function marqueeckSlide( 55 | node: HTMLDivElement, 56 | options: MarqueeckOptions 57 | ): ActionReturn { 58 | const { still, gap } = options 59 | const marqueeckRibbon = node.querySelector('[data-marqueeck-ribbon]'); 60 | const marqueeckChild = marqueeckRibbon?.querySelector('[data-marqueeck-child]') as HTMLElement; 61 | const initalPos = (x: number, y: number) => -(x + y) 62 | let childWidth = Math.floor(marqueeckChild!.getBoundingClientRect().width); 63 | 64 | // * INITIAL STATE 65 | marqueeckChild.style.opacity = "1"; 66 | const store = writable({ 67 | position: initalPos(childWidth, gap), 68 | animationFrameId: null as number | null, 69 | prefersReducedMotion: false, 70 | options: options 71 | }); 72 | 73 | // * REDUCED MOTIONS 74 | const mediaQuery: MediaQueryList = window.matchMedia('(prefers-reduced-motion: reduce)'); 75 | const updateMediaQuery = () => store.update(state => ({ ...state, prefersReducedMotion: mediaQuery.matches })); 76 | updateMediaQuery(); 77 | 78 | // * ANIMATION 79 | const animate = () => { 80 | store.update(state => { 81 | if (state.prefersReducedMotion) return state; 82 | 83 | childWidth = Math.floor(marqueeckChild!.getBoundingClientRect().width); 84 | const { speedFactor, currentSpeed, direction, gap } = options; 85 | 86 | const isOutOfBounds = state.position >= 0 || state.position < 2 * initalPos(childWidth, gap); 87 | const position = isOutOfBounds ? initalPos(childWidth, gap) : state.position; 88 | 89 | const directionalFactor = () => direction === 'left' ? -1 : 1; 90 | 91 | const newPosition = position + (directionalFactor() * speedFactor()) * (currentSpeed() / 60); 92 | 93 | node.style.setProperty('--ribbonXpos', newPosition + 'px'); 94 | return { ...state, position: newPosition, animationFrameId: requestAnimationFrame(() => animate()) }; 95 | }); 96 | } 97 | 98 | // * EVENTS HANDLERS 99 | const createHandler = (eventCheck: keyof GlobalEventHandlersEventMap) => (e: Event) => { 100 | if (!hasHoverState(options)) return; 101 | const eventType = e.type === eventCheck ? true : false; 102 | node.dispatchEvent(new CustomEvent('marqueeckHover', { detail: eventType })); 103 | } 104 | 105 | const handleMouse = createHandler('mouseenter'); 106 | const handleFocus = createHandler('focus'); 107 | 108 | // * EVENTS LISTENERS 109 | mediaQuery.addEventListener('change', updateMediaQuery); 110 | node.addEventListener('mouseenter', handleMouse); 111 | node.addEventListener('mouseleave', handleMouse); 112 | node.addEventListener("focus", handleFocus) 113 | node.addEventListener("focusout", handleFocus) 114 | 115 | if (!still) animate() 116 | 117 | return { 118 | update(updatedOptions: MarqueeckOptions) { 119 | options = { ...options, ...updatedOptions }; 120 | const { animationFrameId } = get(store); 121 | if (animationFrameId) cancelAnimationFrame(animationFrameId); 122 | if (!still) animate() 123 | }, 124 | destroy() { 125 | if (mediaQuery) mediaQuery.removeEventListener('change', updateMediaQuery) 126 | node.removeEventListener('mouseenter', handleMouse); 127 | node.removeEventListener('mouseleave', handleMouse); 128 | node.removeEventListener("focus", handleFocus) 129 | node.removeEventListener("focusout", handleFocus) 130 | } 131 | }; 132 | }; 133 | 134 | 135 | // * UTILS 136 | function isKeyOfMarqueeckOptions(key: string): key is keyof MarqueeckOptions { 137 | return key in defaults; 138 | } 139 | 140 | export const optionsMerger = (options: PublicMarqueeckOptions, props?: Props): MarqueeckOptions => { 141 | const merged: MarqueeckOptions = { ...defaults, ...options }; 142 | 143 | props?.forEach(prop => { 144 | Object.entries(prop).forEach(([key, value]) => { 145 | if (value !== undefined && isKeyOfMarqueeckOptions(key)) { 146 | merged[key as keyof MarqueeckOptions] = value as never; 147 | } 148 | }); 149 | }); 150 | return merged; 151 | } 152 | 153 | // Return false if option 'onHover' is set to 'stop' 154 | const hasHoverState = (options: MarqueeckOptions) => 155 | options.onHover === 'stop' || options.onHover === 'customSpeed' 156 | ? true 157 | : false; -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '9.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | 9 | .: 10 | devDependencies: 11 | '@macfja/svelte-persistent-store': 12 | specifier: ^2.4.2 13 | version: 2.4.2(svelte@5.1.3) 14 | '@sveltejs/adapter-auto': 15 | specifier: ^3.3.1 16 | version: 3.3.1(@sveltejs/kit@2.7.3(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.3)(vite@5.4.10))(svelte@5.1.3)(vite@5.4.10)) 17 | '@sveltejs/adapter-vercel': 18 | specifier: ^5.4.6 19 | version: 5.4.6(@sveltejs/kit@2.7.3(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.3)(vite@5.4.10))(svelte@5.1.3)(vite@5.4.10)) 20 | '@sveltejs/kit': 21 | specifier: ^2.7.3 22 | version: 2.7.3(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.3)(vite@5.4.10))(svelte@5.1.3)(vite@5.4.10) 23 | '@sveltejs/package': 24 | specifier: ^2.3.7 25 | version: 2.3.7(svelte@5.1.3)(typescript@5.6.3) 26 | '@sveltejs/vite-plugin-svelte': 27 | specifier: ^4.0.0 28 | version: 4.0.0(svelte@5.1.3)(vite@5.4.10) 29 | '@typescript-eslint/eslint-plugin': 30 | specifier: ^8.11.0 31 | version: 8.11.0(@typescript-eslint/parser@8.11.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3) 32 | '@typescript-eslint/parser': 33 | specifier: ^8.11.0 34 | version: 8.11.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3) 35 | autoprefixer: 36 | specifier: ^10.4.20 37 | version: 10.4.20(postcss@8.4.47) 38 | bits-ui: 39 | specifier: ^0.21.16 40 | version: 0.21.16(svelte@5.1.3) 41 | clsx: 42 | specifier: ^2.1.1 43 | version: 2.1.1 44 | eslint: 45 | specifier: ^9.13.0 46 | version: 9.13.0(jiti@1.21.6) 47 | eslint-config-prettier: 48 | specifier: ^9.1.0 49 | version: 9.1.0(eslint@9.13.0(jiti@1.21.6)) 50 | eslint-plugin-svelte: 51 | specifier: ^2.46.0 52 | version: 2.46.0(eslint@9.13.0(jiti@1.21.6))(svelte@5.1.3) 53 | highlight.js: 54 | specifier: ^11.10.0 55 | version: 11.10.0 56 | lucide-svelte: 57 | specifier: ^0.453.0 58 | version: 0.453.0(svelte@5.1.3) 59 | mode-watcher: 60 | specifier: ^0.4.1 61 | version: 0.4.1(svelte@5.1.3) 62 | postcss: 63 | specifier: ^8.4.47 64 | version: 8.4.47 65 | postcss-load-config: 66 | specifier: ^6.0.1 67 | version: 6.0.1(jiti@1.21.6)(postcss@8.4.47)(yaml@2.6.0) 68 | prettier: 69 | specifier: ^3.3.3 70 | version: 3.3.3 71 | prettier-plugin-tailwindcss: 72 | specifier: ^0.6.8 73 | version: 0.6.8(prettier@3.3.3) 74 | publint: 75 | specifier: ^0.2.12 76 | version: 0.2.12 77 | svelte: 78 | specifier: ^5.1.3 79 | version: 5.1.3 80 | svelte-check: 81 | specifier: ^4.0.5 82 | version: 4.0.5(svelte@5.1.3)(typescript@5.6.3) 83 | svhighlight: 84 | specifier: ^0.7.1 85 | version: 0.7.1 86 | tailwind-merge: 87 | specifier: ^2.5.4 88 | version: 2.5.4 89 | tailwind-variants: 90 | specifier: ^0.2.1 91 | version: 0.2.1(tailwindcss@3.4.14) 92 | tailwindcss: 93 | specifier: ^3.4.14 94 | version: 3.4.14 95 | tslib: 96 | specifier: ^2.8.0 97 | version: 2.8.0 98 | typescript: 99 | specifier: ^5.6.3 100 | version: 5.6.3 101 | vite: 102 | specifier: ^5.4.10 103 | version: 5.4.10 104 | 105 | packages: 106 | 107 | '@alloc/quick-lru@5.2.0': 108 | resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} 109 | engines: {node: '>=10'} 110 | 111 | '@ampproject/remapping@2.3.0': 112 | resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} 113 | engines: {node: '>=6.0.0'} 114 | 115 | '@esbuild/aix-ppc64@0.21.5': 116 | resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} 117 | engines: {node: '>=12'} 118 | cpu: [ppc64] 119 | os: [aix] 120 | 121 | '@esbuild/android-arm64@0.21.5': 122 | resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} 123 | engines: {node: '>=12'} 124 | cpu: [arm64] 125 | os: [android] 126 | 127 | '@esbuild/android-arm@0.21.5': 128 | resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} 129 | engines: {node: '>=12'} 130 | cpu: [arm] 131 | os: [android] 132 | 133 | '@esbuild/android-x64@0.21.5': 134 | resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} 135 | engines: {node: '>=12'} 136 | cpu: [x64] 137 | os: [android] 138 | 139 | '@esbuild/darwin-arm64@0.21.5': 140 | resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} 141 | engines: {node: '>=12'} 142 | cpu: [arm64] 143 | os: [darwin] 144 | 145 | '@esbuild/darwin-x64@0.21.5': 146 | resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} 147 | engines: {node: '>=12'} 148 | cpu: [x64] 149 | os: [darwin] 150 | 151 | '@esbuild/freebsd-arm64@0.21.5': 152 | resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} 153 | engines: {node: '>=12'} 154 | cpu: [arm64] 155 | os: [freebsd] 156 | 157 | '@esbuild/freebsd-x64@0.21.5': 158 | resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} 159 | engines: {node: '>=12'} 160 | cpu: [x64] 161 | os: [freebsd] 162 | 163 | '@esbuild/linux-arm64@0.21.5': 164 | resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} 165 | engines: {node: '>=12'} 166 | cpu: [arm64] 167 | os: [linux] 168 | 169 | '@esbuild/linux-arm@0.21.5': 170 | resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} 171 | engines: {node: '>=12'} 172 | cpu: [arm] 173 | os: [linux] 174 | 175 | '@esbuild/linux-ia32@0.21.5': 176 | resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} 177 | engines: {node: '>=12'} 178 | cpu: [ia32] 179 | os: [linux] 180 | 181 | '@esbuild/linux-loong64@0.21.5': 182 | resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} 183 | engines: {node: '>=12'} 184 | cpu: [loong64] 185 | os: [linux] 186 | 187 | '@esbuild/linux-mips64el@0.21.5': 188 | resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} 189 | engines: {node: '>=12'} 190 | cpu: [mips64el] 191 | os: [linux] 192 | 193 | '@esbuild/linux-ppc64@0.21.5': 194 | resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} 195 | engines: {node: '>=12'} 196 | cpu: [ppc64] 197 | os: [linux] 198 | 199 | '@esbuild/linux-riscv64@0.21.5': 200 | resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} 201 | engines: {node: '>=12'} 202 | cpu: [riscv64] 203 | os: [linux] 204 | 205 | '@esbuild/linux-s390x@0.21.5': 206 | resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} 207 | engines: {node: '>=12'} 208 | cpu: [s390x] 209 | os: [linux] 210 | 211 | '@esbuild/linux-x64@0.21.5': 212 | resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} 213 | engines: {node: '>=12'} 214 | cpu: [x64] 215 | os: [linux] 216 | 217 | '@esbuild/netbsd-x64@0.21.5': 218 | resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} 219 | engines: {node: '>=12'} 220 | cpu: [x64] 221 | os: [netbsd] 222 | 223 | '@esbuild/openbsd-x64@0.21.5': 224 | resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} 225 | engines: {node: '>=12'} 226 | cpu: [x64] 227 | os: [openbsd] 228 | 229 | '@esbuild/sunos-x64@0.21.5': 230 | resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} 231 | engines: {node: '>=12'} 232 | cpu: [x64] 233 | os: [sunos] 234 | 235 | '@esbuild/win32-arm64@0.21.5': 236 | resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} 237 | engines: {node: '>=12'} 238 | cpu: [arm64] 239 | os: [win32] 240 | 241 | '@esbuild/win32-ia32@0.21.5': 242 | resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} 243 | engines: {node: '>=12'} 244 | cpu: [ia32] 245 | os: [win32] 246 | 247 | '@esbuild/win32-x64@0.21.5': 248 | resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} 249 | engines: {node: '>=12'} 250 | cpu: [x64] 251 | os: [win32] 252 | 253 | '@eslint-community/eslint-utils@4.4.1': 254 | resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==} 255 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 256 | peerDependencies: 257 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 258 | 259 | '@eslint-community/regexpp@4.12.0': 260 | resolution: {integrity: sha512-gh7PdNombP8ftL8TinYC8Xd7WEypB8EKV4PI2h0eMzndKjPCXuo2zUiZtD2Hu+MSPt02Ty2MdS788ADl9ai1rA==} 261 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} 262 | 263 | '@eslint/config-array@0.18.0': 264 | resolution: {integrity: sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==} 265 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 266 | 267 | '@eslint/core@0.7.0': 268 | resolution: {integrity: sha512-xp5Jirz5DyPYlPiKat8jaq0EmYvDXKKpzTbxXMpT9eqlRJkRKIz9AGMdlvYjih+im+QlhWrpvVjl8IPC/lHlUw==} 269 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 270 | 271 | '@eslint/eslintrc@3.1.0': 272 | resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==} 273 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 274 | 275 | '@eslint/js@9.13.0': 276 | resolution: {integrity: sha512-IFLyoY4d72Z5y/6o/BazFBezupzI/taV8sGumxTAVw3lXG9A6md1Dc34T9s1FoD/an9pJH8RHbAxsaEbBed9lA==} 277 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 278 | 279 | '@eslint/object-schema@2.1.4': 280 | resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==} 281 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 282 | 283 | '@eslint/plugin-kit@0.2.1': 284 | resolution: {integrity: sha512-HFZ4Mp26nbWk9d/BpvP0YNL6W4UoZF0VFcTw/aPPA8RpOxeFQgK+ClABGgAUXs9Y/RGX/l1vOmrqz1MQt9MNuw==} 285 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 286 | 287 | '@floating-ui/core@1.6.8': 288 | resolution: {integrity: sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==} 289 | 290 | '@floating-ui/dom@1.6.11': 291 | resolution: {integrity: sha512-qkMCxSR24v2vGkhYDo/UzxfJN3D4syqSjyuTFz6C7XcpU1pASPRieNI0Kj5VP3/503mOfYiGY891ugBX1GlABQ==} 292 | 293 | '@floating-ui/utils@0.2.8': 294 | resolution: {integrity: sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==} 295 | 296 | '@humanfs/core@0.19.0': 297 | resolution: {integrity: sha512-2cbWIHbZVEweE853g8jymffCA+NCMiuqeECeBBLm8dg2oFdjuGJhgN4UAbI+6v0CKbbhvtXA4qV8YR5Ji86nmw==} 298 | engines: {node: '>=18.18.0'} 299 | 300 | '@humanfs/node@0.16.5': 301 | resolution: {integrity: sha512-KSPA4umqSG4LHYRodq31VDwKAvaTF4xmVlzM8Aeh4PlU1JQ3IG0wiA8C25d3RQ9nJyM3mBHyI53K06VVL/oFFg==} 302 | engines: {node: '>=18.18.0'} 303 | 304 | '@humanwhocodes/module-importer@1.0.1': 305 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} 306 | engines: {node: '>=12.22'} 307 | 308 | '@humanwhocodes/retry@0.3.1': 309 | resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} 310 | engines: {node: '>=18.18'} 311 | 312 | '@internationalized/date@3.5.6': 313 | resolution: {integrity: sha512-jLxQjefH9VI5P9UQuqB6qNKnvFt1Ky1TPIzHGsIlCi7sZZoMR8SdYbBGRvM0y+Jtb+ez4ieBzmiAUcpmPYpyOw==} 314 | 315 | '@isaacs/cliui@8.0.2': 316 | resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} 317 | engines: {node: '>=12'} 318 | 319 | '@jridgewell/gen-mapping@0.3.5': 320 | resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} 321 | engines: {node: '>=6.0.0'} 322 | 323 | '@jridgewell/resolve-uri@3.1.2': 324 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 325 | engines: {node: '>=6.0.0'} 326 | 327 | '@jridgewell/set-array@1.2.1': 328 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} 329 | engines: {node: '>=6.0.0'} 330 | 331 | '@jridgewell/sourcemap-codec@1.5.0': 332 | resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} 333 | 334 | '@jridgewell/trace-mapping@0.3.25': 335 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} 336 | 337 | '@macfja/serializer@1.1.3': 338 | resolution: {integrity: sha512-Jf/uoqXO1k+ZFxA25o35WhV9QyxOo/fMFAwsRnnvXM7YSk7wPNaDVsEwoAWy0LUgan3k+RapJDOpbWSqHz/9Bg==} 339 | 340 | '@macfja/svelte-persistent-store@2.4.2': 341 | resolution: {integrity: sha512-ZAcWJcCnfZDIiy77Aoj9KQ6qDt6UmRZgUM3UHjmOY1IRf0SirDl1WgBFlVUMynRLERy4/EgZtWPqAMnh3cbCRA==} 342 | peerDependencies: 343 | svelte: ^3.0 || ^4.0 || ^5.0 344 | 345 | '@mapbox/node-pre-gyp@1.0.11': 346 | resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} 347 | hasBin: true 348 | 349 | '@melt-ui/svelte@0.76.2': 350 | resolution: {integrity: sha512-7SbOa11tXUS95T3fReL+dwDs5FyJtCEqrqG3inRziDws346SYLsxOQ6HmX+4BkIsQh1R8U3XNa+EMmdMt38lMA==} 351 | peerDependencies: 352 | svelte: '>=3 <5' 353 | 354 | '@nodelib/fs.scandir@2.1.5': 355 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 356 | engines: {node: '>= 8'} 357 | 358 | '@nodelib/fs.stat@2.0.5': 359 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 360 | engines: {node: '>= 8'} 361 | 362 | '@nodelib/fs.walk@1.2.8': 363 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 364 | engines: {node: '>= 8'} 365 | 366 | '@pkgjs/parseargs@0.11.0': 367 | resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} 368 | engines: {node: '>=14'} 369 | 370 | '@polka/url@1.0.0-next.28': 371 | resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==} 372 | 373 | '@rollup/pluginutils@4.2.1': 374 | resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} 375 | engines: {node: '>= 8.0.0'} 376 | 377 | '@rollup/rollup-android-arm-eabi@4.24.1': 378 | resolution: {integrity: sha512-j2llrtCTwNu68yp1wybgkTUW8CrR8AZvGZzIO/qwNAetVP3FHidylyz1s0dU2zXG9uqqpoUIhWKmMypGMcdM2Q==} 379 | cpu: [arm] 380 | os: [android] 381 | 382 | '@rollup/rollup-android-arm64@4.24.1': 383 | resolution: {integrity: sha512-y65R3hM9sJVAXV3qh/dJ5o2OCVzwy6d994qmi+rGw1i1onYY5AoV9dREDYoizaZvc9esEqOs07CyFgPzz4DBqg==} 384 | cpu: [arm64] 385 | os: [android] 386 | 387 | '@rollup/rollup-darwin-arm64@4.24.1': 388 | resolution: {integrity: sha512-K9iOc75U9HpDffjop9qVPwNoBEPXS0Q6RrVSvh13gs38ynurJ2+HuS7NJbsx+fwiDA+eJYfBi7sablI8G2/3oA==} 389 | cpu: [arm64] 390 | os: [darwin] 391 | 392 | '@rollup/rollup-darwin-x64@4.24.1': 393 | resolution: {integrity: sha512-Ufz0fX79W9937euBI4qEdh2xLb0Lzo4GiZ7xxDpueEZxWdPbow6gnTRokSzSgtqRFs1vFgcgm7Ci/KnOo15MIg==} 394 | cpu: [x64] 395 | os: [darwin] 396 | 397 | '@rollup/rollup-freebsd-x64@4.24.1': 398 | resolution: {integrity: sha512-IfG1khuwe10V2EBfFIrcd7P6X0stdhHQM71NyaG5TPgy6dXr2nzAa5TMNFA35tr41gihUPqp/w8StayYG7jXYw==} 399 | cpu: [x64] 400 | os: [freebsd] 401 | 402 | '@rollup/rollup-linux-arm-gnueabihf@4.24.1': 403 | resolution: {integrity: sha512-W+drJRBL1+N1/zaq+8y/CtQ3VP5wxMXwCy7obFl9r5jJ5EFNEYAqchuPfYTleYOoA46bwXAprCL+OVK3BTrWWw==} 404 | cpu: [arm] 405 | os: [linux] 406 | 407 | '@rollup/rollup-linux-arm-musleabihf@4.24.1': 408 | resolution: {integrity: sha512-mKngr0zxo4FMSDqiq4F4G/1IPqjpNO7MyjAM6+YxDIADO4ZSI4m05bZYD4po12Jid6+n9YJRWdIcvi4JztMVcw==} 409 | cpu: [arm] 410 | os: [linux] 411 | 412 | '@rollup/rollup-linux-arm64-gnu@4.24.1': 413 | resolution: {integrity: sha512-Rh12WITgvLydYFR9XAjmCRArU71nMfi5lDVLhpRV8dR2sCGtZESVkfD66mi3owp4q1scwysT35nNMPleRTQOow==} 414 | cpu: [arm64] 415 | os: [linux] 416 | 417 | '@rollup/rollup-linux-arm64-musl@4.24.1': 418 | resolution: {integrity: sha512-zOLu7V1iBpJMIrrmZjpmAZ9txFlnGgqQMnjNmRrqmV1vQaou9SIT3qI3JE1kt+DQE8zCdB3n2/mAjIU90AfjEg==} 419 | cpu: [arm64] 420 | os: [linux] 421 | 422 | '@rollup/rollup-linux-powerpc64le-gnu@4.24.1': 423 | resolution: {integrity: sha512-h9ipTGhMzTBAJL/bg1HsElhGPWLGeCKE8JkxgvrJ5O/S1MXH9RxMUTl++tzlpzxdOBCAGqygZIMBj3wIDf/kJw==} 424 | cpu: [ppc64] 425 | os: [linux] 426 | 427 | '@rollup/rollup-linux-riscv64-gnu@4.24.1': 428 | resolution: {integrity: sha512-PNKCMA1xRBARR7/j6KXMSB1z0/eGenC/t2wdQl5et3jnrHA+igIaLVNUEPfnVjmZIZJign7u/dobvV2VkPxMiw==} 429 | cpu: [riscv64] 430 | os: [linux] 431 | 432 | '@rollup/rollup-linux-s390x-gnu@4.24.1': 433 | resolution: {integrity: sha512-mkl3uWq/ix18gAfzBUIecSwioPyJkbR6QXVaNuOGM7Qbs7f1EfDLP4XtLSJx4GL6mO8GrKhB3cmhUc3zjUrQSg==} 434 | cpu: [s390x] 435 | os: [linux] 436 | 437 | '@rollup/rollup-linux-x64-gnu@4.24.1': 438 | resolution: {integrity: sha512-j0RPQWteEXAAxRQI+IcX3i7WQb7hFe7CW94H3l0edBVyJMIPOlr/hqc5CGG1FBDW9gNr0ZC2IzwSta1iSNJIoA==} 439 | cpu: [x64] 440 | os: [linux] 441 | 442 | '@rollup/rollup-linux-x64-musl@4.24.1': 443 | resolution: {integrity: sha512-UrwXowd3gyT+/ijoeSzMyHHGUaV3WhiJL77eTZE8/Pq+9K6auacIJ264biAUhHJ3FjAHsXNhzEmxGnj4tpDz2g==} 444 | cpu: [x64] 445 | os: [linux] 446 | 447 | '@rollup/rollup-win32-arm64-msvc@4.24.1': 448 | resolution: {integrity: sha512-wexHPBkBa2/tPhbGcxLqOM2AFZ7BQsZ0pk3dVxRL5Ec0SsXnkpcMucZ4j4woyoD5DbRdFP6Roptd9TRsGVTvUA==} 449 | cpu: [arm64] 450 | os: [win32] 451 | 452 | '@rollup/rollup-win32-ia32-msvc@4.24.1': 453 | resolution: {integrity: sha512-IW2axCCdiC+kgj5/50Mt5v8qG0LYaDichBGKXM4Oo2NaWStAs0oQp1dqVzCV1XOXNvNNDRFw0EaT+JMs6BX+WQ==} 454 | cpu: [ia32] 455 | os: [win32] 456 | 457 | '@rollup/rollup-win32-x64-msvc@4.24.1': 458 | resolution: {integrity: sha512-b9IK2buRXwm7owl4Hd8fselCQ7/gr2WaErv0e/IPgRQuJfFS+O0cFJA4t13+FKAZeQh97iEyBG06g613IJLirQ==} 459 | cpu: [x64] 460 | os: [win32] 461 | 462 | '@sveltejs/adapter-auto@3.3.1': 463 | resolution: {integrity: sha512-5Sc7WAxYdL6q9j/+D0jJKjGREGlfIevDyHSQ2eNETHcB1TKlQWHcAo8AS8H1QdjNvSXpvOwNjykDUHPEAyGgdQ==} 464 | peerDependencies: 465 | '@sveltejs/kit': ^2.0.0 466 | 467 | '@sveltejs/adapter-vercel@5.4.6': 468 | resolution: {integrity: sha512-jUFc5NEPgBzcqxDgwAMk/lIxFuYA8MP8KcPh/UWFZH3fDZ/igi1h/do/nKsEmPxF5NuJVvI2mxX6TaJZzHcpTg==} 469 | peerDependencies: 470 | '@sveltejs/kit': ^2.4.0 471 | 472 | '@sveltejs/kit@2.7.3': 473 | resolution: {integrity: sha512-Vx7nq5MJ86I8qXYsVidC5PX6xm+uxt8DydvOdmJoyOK7LvGP18OFEG359yY+aa51t6pENvqZAMqAREQQx1OI2Q==} 474 | engines: {node: '>=18.13'} 475 | hasBin: true 476 | peerDependencies: 477 | '@sveltejs/vite-plugin-svelte': ^3.0.0 || ^4.0.0-next.1 478 | svelte: ^4.0.0 || ^5.0.0-next.0 479 | vite: ^5.0.3 480 | 481 | '@sveltejs/package@2.3.7': 482 | resolution: {integrity: sha512-LYgUkde5GUYqOpXbcoCGUpEH4Ctl3Wj4u4CVZBl56dEeLW5fGHE037ZL1qlK0Ky+QD5uUfwONSeGwIOIighFMQ==} 483 | engines: {node: ^16.14 || >=18} 484 | hasBin: true 485 | peerDependencies: 486 | svelte: ^3.44.0 || ^4.0.0 || ^5.0.0-next.1 487 | 488 | '@sveltejs/vite-plugin-svelte-inspector@3.0.1': 489 | resolution: {integrity: sha512-2CKypmj1sM4GE7HjllT7UKmo4Q6L5xFRd7VMGEWhYnZ+wc6AUVU01IBd7yUi6WnFndEwWoMNOd6e8UjoN0nbvQ==} 490 | engines: {node: ^18.0.0 || ^20.0.0 || >=22} 491 | peerDependencies: 492 | '@sveltejs/vite-plugin-svelte': ^4.0.0-next.0||^4.0.0 493 | svelte: ^5.0.0-next.96 || ^5.0.0 494 | vite: ^5.0.0 495 | 496 | '@sveltejs/vite-plugin-svelte@4.0.0': 497 | resolution: {integrity: sha512-kpVJwF+gNiMEsoHaw+FJL76IYiwBikkxYU83+BpqQLdVMff19KeRKLd2wisS8niNBMJ2omv5gG+iGDDwd8jzag==} 498 | engines: {node: ^18.0.0 || ^20.0.0 || >=22} 499 | peerDependencies: 500 | svelte: ^5.0.0-next.96 || ^5.0.0 501 | vite: ^5.0.0 502 | 503 | '@swc/helpers@0.5.13': 504 | resolution: {integrity: sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w==} 505 | 506 | '@types/cookie@0.6.0': 507 | resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==} 508 | 509 | '@types/estree@1.0.6': 510 | resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} 511 | 512 | '@types/json-schema@7.0.15': 513 | resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} 514 | 515 | '@typescript-eslint/eslint-plugin@8.11.0': 516 | resolution: {integrity: sha512-KhGn2LjW1PJT2A/GfDpiyOfS4a8xHQv2myUagTM5+zsormOmBlYsnQ6pobJ8XxJmh6hnHwa2Mbe3fPrDJoDhbA==} 517 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 518 | peerDependencies: 519 | '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 520 | eslint: ^8.57.0 || ^9.0.0 521 | typescript: '*' 522 | peerDependenciesMeta: 523 | typescript: 524 | optional: true 525 | 526 | '@typescript-eslint/parser@8.11.0': 527 | resolution: {integrity: sha512-lmt73NeHdy1Q/2ul295Qy3uninSqi6wQI18XwSpm8w0ZbQXUpjCAWP1Vlv/obudoBiIjJVjlztjQ+d/Md98Yxg==} 528 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 529 | peerDependencies: 530 | eslint: ^8.57.0 || ^9.0.0 531 | typescript: '*' 532 | peerDependenciesMeta: 533 | typescript: 534 | optional: true 535 | 536 | '@typescript-eslint/scope-manager@8.11.0': 537 | resolution: {integrity: sha512-Uholz7tWhXmA4r6epo+vaeV7yjdKy5QFCERMjs1kMVsLRKIrSdM6o21W2He9ftp5PP6aWOVpD5zvrvuHZC0bMQ==} 538 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 539 | 540 | '@typescript-eslint/type-utils@8.11.0': 541 | resolution: {integrity: sha512-ItiMfJS6pQU0NIKAaybBKkuVzo6IdnAhPFZA/2Mba/uBjuPQPet/8+zh5GtLHwmuFRShZx+8lhIs7/QeDHflOg==} 542 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 543 | peerDependencies: 544 | typescript: '*' 545 | peerDependenciesMeta: 546 | typescript: 547 | optional: true 548 | 549 | '@typescript-eslint/types@8.11.0': 550 | resolution: {integrity: sha512-tn6sNMHf6EBAYMvmPUaKaVeYvhUsrE6x+bXQTxjQRp360h1giATU0WvgeEys1spbvb5R+VpNOZ+XJmjD8wOUHw==} 551 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 552 | 553 | '@typescript-eslint/typescript-estree@8.11.0': 554 | resolution: {integrity: sha512-yHC3s1z1RCHoCz5t06gf7jH24rr3vns08XXhfEqzYpd6Hll3z/3g23JRi0jM8A47UFKNc3u/y5KIMx8Ynbjohg==} 555 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 556 | peerDependencies: 557 | typescript: '*' 558 | peerDependenciesMeta: 559 | typescript: 560 | optional: true 561 | 562 | '@typescript-eslint/utils@8.11.0': 563 | resolution: {integrity: sha512-CYiX6WZcbXNJV7UNB4PLDIBtSdRmRI/nb0FMyqHPTQD1rMjA0foPLaPUV39C/MxkTd/QKSeX+Gb34PPsDVC35g==} 564 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 565 | peerDependencies: 566 | eslint: ^8.57.0 || ^9.0.0 567 | 568 | '@typescript-eslint/visitor-keys@8.11.0': 569 | resolution: {integrity: sha512-EaewX6lxSjRJnc+99+dqzTeoDZUfyrA52d2/HRrkI830kgovWsmIiTfmr0NZorzqic7ga+1bS60lRBUgR3n/Bw==} 570 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 571 | 572 | '@vercel/nft@0.27.5': 573 | resolution: {integrity: sha512-b2A7M+4yMHdWKY7xCC+kBEcnMrpaSE84CnuauTjhKKoCEeej0byJMAB8h/RBVnw/HdZOAFVcxR0Izr3LL24FwA==} 574 | engines: {node: '>=16'} 575 | hasBin: true 576 | 577 | abbrev@1.1.1: 578 | resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} 579 | 580 | acorn-import-attributes@1.9.5: 581 | resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} 582 | peerDependencies: 583 | acorn: ^8 584 | 585 | acorn-jsx@5.3.2: 586 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 587 | peerDependencies: 588 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 589 | 590 | acorn-typescript@1.4.13: 591 | resolution: {integrity: sha512-xsc9Xv0xlVfwp2o7sQ+GCQ1PgbkdcpWdTzrwXxO3xDMTAywVS3oXVOcOHuRjAPkS4P9b+yc/qNF15460v+jp4Q==} 592 | peerDependencies: 593 | acorn: '>=8.9.0' 594 | 595 | acorn@8.14.0: 596 | resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} 597 | engines: {node: '>=0.4.0'} 598 | hasBin: true 599 | 600 | agent-base@6.0.2: 601 | resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} 602 | engines: {node: '>= 6.0.0'} 603 | 604 | ajv@6.12.6: 605 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 606 | 607 | ansi-regex@5.0.1: 608 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 609 | engines: {node: '>=8'} 610 | 611 | ansi-regex@6.1.0: 612 | resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} 613 | engines: {node: '>=12'} 614 | 615 | ansi-styles@4.3.0: 616 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 617 | engines: {node: '>=8'} 618 | 619 | ansi-styles@6.2.1: 620 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} 621 | engines: {node: '>=12'} 622 | 623 | any-promise@1.3.0: 624 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} 625 | 626 | anymatch@3.1.3: 627 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 628 | engines: {node: '>= 8'} 629 | 630 | aproba@2.0.0: 631 | resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} 632 | 633 | are-we-there-yet@2.0.0: 634 | resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} 635 | engines: {node: '>=10'} 636 | deprecated: This package is no longer supported. 637 | 638 | arg@5.0.2: 639 | resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} 640 | 641 | argparse@2.0.1: 642 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 643 | 644 | aria-query@5.3.2: 645 | resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} 646 | engines: {node: '>= 0.4'} 647 | 648 | async-sema@3.1.1: 649 | resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==} 650 | 651 | autoprefixer@10.4.20: 652 | resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==} 653 | engines: {node: ^10 || ^12 || >=14} 654 | hasBin: true 655 | peerDependencies: 656 | postcss: ^8.1.0 657 | 658 | axobject-query@4.1.0: 659 | resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} 660 | engines: {node: '>= 0.4'} 661 | 662 | balanced-match@1.0.2: 663 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 664 | 665 | binary-extensions@2.3.0: 666 | resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} 667 | engines: {node: '>=8'} 668 | 669 | bindings@1.5.0: 670 | resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} 671 | 672 | bits-ui@0.21.16: 673 | resolution: {integrity: sha512-XFZ7/bK7j/K+5iktxX/ZpmoFHjYjpPzP5EOO/4bWiaFg5TG1iMcfjDhlBTQnJxD6BoVoHuqeZPHZvaTgF4Iv3Q==} 674 | peerDependencies: 675 | svelte: ^4.0.0 || ^5.0.0-next.118 676 | 677 | brace-expansion@1.1.11: 678 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 679 | 680 | brace-expansion@2.0.1: 681 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 682 | 683 | braces@3.0.3: 684 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} 685 | engines: {node: '>=8'} 686 | 687 | browser-cookies@1.2.0: 688 | resolution: {integrity: sha512-cg2WuoOJo+F+g2XjEaP8nmeRp1vDHjt7sqpKJMsTNXKrpyIBNVslYJeehvs6FEddj8usV2+qyRSBEX244yN5/g==} 689 | 690 | browserslist@4.24.2: 691 | resolution: {integrity: sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==} 692 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 693 | hasBin: true 694 | 695 | callsites@3.1.0: 696 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 697 | engines: {node: '>=6'} 698 | 699 | camelcase-css@2.0.1: 700 | resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} 701 | engines: {node: '>= 6'} 702 | 703 | caniuse-lite@1.0.30001672: 704 | resolution: {integrity: sha512-XhW1vRo1ob6aeK2w3rTohwTPBLse/rvjq+s3RTSBwnlZqoFFjx9cHsShJjAIbLsLjyoacaTxpLZy9v3gg6zypw==} 705 | 706 | chalk@4.1.2: 707 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 708 | engines: {node: '>=10'} 709 | 710 | chokidar@3.6.0: 711 | resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} 712 | engines: {node: '>= 8.10.0'} 713 | 714 | chokidar@4.0.1: 715 | resolution: {integrity: sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==} 716 | engines: {node: '>= 14.16.0'} 717 | 718 | chownr@2.0.0: 719 | resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} 720 | engines: {node: '>=10'} 721 | 722 | clsx@2.1.1: 723 | resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} 724 | engines: {node: '>=6'} 725 | 726 | color-convert@2.0.1: 727 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 728 | engines: {node: '>=7.0.0'} 729 | 730 | color-name@1.1.4: 731 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 732 | 733 | color-support@1.1.3: 734 | resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} 735 | hasBin: true 736 | 737 | commander@4.1.1: 738 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} 739 | engines: {node: '>= 6'} 740 | 741 | compute-scroll-into-view@3.1.0: 742 | resolution: {integrity: sha512-rj8l8pD4bJ1nx+dAkMhV1xB5RuZEyVysfxJqB1pRchh1KVvwOv9b7CGB8ZfjTImVv2oF+sYMUkMZq6Na5Ftmbg==} 743 | 744 | concat-map@0.0.1: 745 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 746 | 747 | console-control-strings@1.1.0: 748 | resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} 749 | 750 | cookie@0.6.0: 751 | resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} 752 | engines: {node: '>= 0.6'} 753 | 754 | cross-spawn@7.0.3: 755 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 756 | engines: {node: '>= 8'} 757 | 758 | cssesc@3.0.0: 759 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} 760 | engines: {node: '>=4'} 761 | hasBin: true 762 | 763 | debug@4.3.7: 764 | resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} 765 | engines: {node: '>=6.0'} 766 | peerDependencies: 767 | supports-color: '*' 768 | peerDependenciesMeta: 769 | supports-color: 770 | optional: true 771 | 772 | dedent-js@1.0.1: 773 | resolution: {integrity: sha512-OUepMozQULMLUmhxS95Vudo0jb0UchLimi3+pQ2plj61Fcy8axbP9hbiD4Sz6DPqn6XG3kfmziVfQ1rSys5AJQ==} 774 | 775 | deep-is@0.1.4: 776 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 777 | 778 | deepmerge@4.3.1: 779 | resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} 780 | engines: {node: '>=0.10.0'} 781 | 782 | delegates@1.0.0: 783 | resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} 784 | 785 | dequal@2.0.3: 786 | resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} 787 | engines: {node: '>=6'} 788 | 789 | detect-libc@2.0.3: 790 | resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} 791 | engines: {node: '>=8'} 792 | 793 | devalue@5.1.1: 794 | resolution: {integrity: sha512-maua5KUiapvEwiEAe+XnlZ3Rh0GD+qI1J/nb9vrJc3muPXvcF/8gXYTWF76+5DAqHyDUtOIImEuo0YKE9mshVw==} 795 | 796 | didyoumean@1.2.2: 797 | resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} 798 | 799 | dlv@1.1.3: 800 | resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} 801 | 802 | eastasianwidth@0.2.0: 803 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} 804 | 805 | electron-to-chromium@1.5.47: 806 | resolution: {integrity: sha512-zS5Yer0MOYw4rtK2iq43cJagHZ8sXN0jDHDKzB+86gSBSAI4v07S97mcq+Gs2vclAxSh1j7vOAHxSVgduiiuVQ==} 807 | 808 | emoji-regex@8.0.0: 809 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 810 | 811 | emoji-regex@9.2.2: 812 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} 813 | 814 | esbuild@0.21.5: 815 | resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} 816 | engines: {node: '>=12'} 817 | hasBin: true 818 | 819 | escalade@3.2.0: 820 | resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} 821 | engines: {node: '>=6'} 822 | 823 | escape-string-regexp@4.0.0: 824 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 825 | engines: {node: '>=10'} 826 | 827 | eslint-compat-utils@0.5.1: 828 | resolution: {integrity: sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==} 829 | engines: {node: '>=12'} 830 | peerDependencies: 831 | eslint: '>=6.0.0' 832 | 833 | eslint-config-prettier@9.1.0: 834 | resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} 835 | hasBin: true 836 | peerDependencies: 837 | eslint: '>=7.0.0' 838 | 839 | eslint-plugin-svelte@2.46.0: 840 | resolution: {integrity: sha512-1A7iEMkzmCZ9/Iz+EAfOGYL8IoIG6zeKEq1SmpxGeM5SXmoQq+ZNnCpXFVJpsxPWYx8jIVGMerQMzX20cqUl0g==} 841 | engines: {node: ^14.17.0 || >=16.0.0} 842 | peerDependencies: 843 | eslint: ^7.0.0 || ^8.0.0-0 || ^9.0.0-0 844 | svelte: ^3.37.0 || ^4.0.0 || ^5.0.0 845 | peerDependenciesMeta: 846 | svelte: 847 | optional: true 848 | 849 | eslint-scope@7.2.2: 850 | resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} 851 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 852 | 853 | eslint-scope@8.1.0: 854 | resolution: {integrity: sha512-14dSvlhaVhKKsa9Fx1l8A17s7ah7Ef7wCakJ10LYk6+GYmP9yDti2oq2SEwcyndt6knfcZyhyxwY3i9yL78EQw==} 855 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 856 | 857 | eslint-visitor-keys@3.4.3: 858 | resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} 859 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 860 | 861 | eslint-visitor-keys@4.1.0: 862 | resolution: {integrity: sha512-Q7lok0mqMUSf5a/AdAZkA5a/gHcO6snwQClVNNvFKCAVlxXucdU8pKydU5ZVZjBx5xr37vGbFFWtLQYreLzrZg==} 863 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 864 | 865 | eslint@9.13.0: 866 | resolution: {integrity: sha512-EYZK6SX6zjFHST/HRytOdA/zE72Cq/bfw45LSyuwrdvcclb/gqV8RRQxywOBEWO2+WDpva6UZa4CcDeJKzUCFA==} 867 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 868 | hasBin: true 869 | peerDependencies: 870 | jiti: '*' 871 | peerDependenciesMeta: 872 | jiti: 873 | optional: true 874 | 875 | esm-env@1.0.0: 876 | resolution: {integrity: sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==} 877 | 878 | espree@10.2.0: 879 | resolution: {integrity: sha512-upbkBJbckcCNBDBDXEbuhjbP68n+scUd3k/U2EkyM9nw+I/jPiL4cLF/Al06CF96wRltFda16sxDFrxsI1v0/g==} 880 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 881 | 882 | espree@9.6.1: 883 | resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} 884 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 885 | 886 | esquery@1.6.0: 887 | resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} 888 | engines: {node: '>=0.10'} 889 | 890 | esrap@1.2.2: 891 | resolution: {integrity: sha512-F2pSJklxx1BlQIQgooczXCPHmcWpn6EsP5oo73LQfonG9fIlIENQ8vMmfGXeojP9MrkzUNAfyU5vdFlR9shHAw==} 892 | 893 | esrecurse@4.3.0: 894 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 895 | engines: {node: '>=4.0'} 896 | 897 | estraverse@5.3.0: 898 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 899 | engines: {node: '>=4.0'} 900 | 901 | estree-walker@2.0.2: 902 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} 903 | 904 | esutils@2.0.3: 905 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 906 | engines: {node: '>=0.10.0'} 907 | 908 | fast-deep-equal@3.1.3: 909 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 910 | 911 | fast-glob@3.3.2: 912 | resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} 913 | engines: {node: '>=8.6.0'} 914 | 915 | fast-json-stable-stringify@2.1.0: 916 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 917 | 918 | fast-levenshtein@2.0.6: 919 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 920 | 921 | fastq@1.17.1: 922 | resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} 923 | 924 | fdir@6.4.2: 925 | resolution: {integrity: sha512-KnhMXsKSPZlAhp7+IjUkRZKPb4fUyccpDrdFXbi4QL1qkmFh9kVY09Yox+n4MaOb3lHZ1Tv829C3oaaXoMYPDQ==} 926 | peerDependencies: 927 | picomatch: ^3 || ^4 928 | peerDependenciesMeta: 929 | picomatch: 930 | optional: true 931 | 932 | file-entry-cache@8.0.0: 933 | resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} 934 | engines: {node: '>=16.0.0'} 935 | 936 | file-uri-to-path@1.0.0: 937 | resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} 938 | 939 | fill-range@7.1.1: 940 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} 941 | engines: {node: '>=8'} 942 | 943 | find-up@5.0.0: 944 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 945 | engines: {node: '>=10'} 946 | 947 | flat-cache@4.0.1: 948 | resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} 949 | engines: {node: '>=16'} 950 | 951 | flatted@3.3.1: 952 | resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} 953 | 954 | focus-trap@7.6.0: 955 | resolution: {integrity: sha512-1td0l3pMkWJLFipobUcGaf+5DTY4PLDDrcqoSaKP8ediO/CoWCCYk/fT/Y2A4e6TNB+Sh6clRJCjOPPnKoNHnQ==} 956 | 957 | foreground-child@3.3.0: 958 | resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} 959 | engines: {node: '>=14'} 960 | 961 | fraction.js@4.3.7: 962 | resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} 963 | 964 | fs-minipass@2.1.0: 965 | resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} 966 | engines: {node: '>= 8'} 967 | 968 | fs.realpath@1.0.0: 969 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 970 | 971 | fsevents@2.3.3: 972 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 973 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 974 | os: [darwin] 975 | 976 | function-bind@1.1.2: 977 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 978 | 979 | gauge@3.0.2: 980 | resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} 981 | engines: {node: '>=10'} 982 | deprecated: This package is no longer supported. 983 | 984 | glob-parent@5.1.2: 985 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 986 | engines: {node: '>= 6'} 987 | 988 | glob-parent@6.0.2: 989 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 990 | engines: {node: '>=10.13.0'} 991 | 992 | glob@10.4.5: 993 | resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} 994 | hasBin: true 995 | 996 | glob@7.2.3: 997 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 998 | deprecated: Glob versions prior to v9 are no longer supported 999 | 1000 | glob@8.1.0: 1001 | resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} 1002 | engines: {node: '>=12'} 1003 | deprecated: Glob versions prior to v9 are no longer supported 1004 | 1005 | globals@14.0.0: 1006 | resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} 1007 | engines: {node: '>=18'} 1008 | 1009 | globalyzer@0.1.0: 1010 | resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==} 1011 | 1012 | globrex@0.1.2: 1013 | resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} 1014 | 1015 | graceful-fs@4.2.11: 1016 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 1017 | 1018 | graphemer@1.4.0: 1019 | resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} 1020 | 1021 | has-flag@4.0.0: 1022 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1023 | engines: {node: '>=8'} 1024 | 1025 | has-unicode@2.0.1: 1026 | resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} 1027 | 1028 | hasown@2.0.2: 1029 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} 1030 | engines: {node: '>= 0.4'} 1031 | 1032 | highlight.js@11.10.0: 1033 | resolution: {integrity: sha512-SYVnVFswQER+zu1laSya563s+F8VDGt7o35d4utbamowvUNLLMovFqwCLSocpZTz3MgaSRA1IbqRWZv97dtErQ==} 1034 | engines: {node: '>=12.0.0'} 1035 | 1036 | https-proxy-agent@5.0.1: 1037 | resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} 1038 | engines: {node: '>= 6'} 1039 | 1040 | idb-keyval@6.2.1: 1041 | resolution: {integrity: sha512-8Sb3veuYCyrZL+VBt9LJfZjLUPWVvqn8tG28VqYNFCo43KHcKuq+b4EiXGeuaLAQWL2YmyDgMp2aSpH9JHsEQg==} 1042 | 1043 | ignore-walk@5.0.1: 1044 | resolution: {integrity: sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw==} 1045 | engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} 1046 | 1047 | ignore@5.3.2: 1048 | resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} 1049 | engines: {node: '>= 4'} 1050 | 1051 | import-fresh@3.3.0: 1052 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 1053 | engines: {node: '>=6'} 1054 | 1055 | import-meta-resolve@4.1.0: 1056 | resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==} 1057 | 1058 | imurmurhash@0.1.4: 1059 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 1060 | engines: {node: '>=0.8.19'} 1061 | 1062 | inflight@1.0.6: 1063 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 1064 | deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. 1065 | 1066 | inherits@2.0.4: 1067 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 1068 | 1069 | is-binary-path@2.1.0: 1070 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 1071 | engines: {node: '>=8'} 1072 | 1073 | is-core-module@2.15.1: 1074 | resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} 1075 | engines: {node: '>= 0.4'} 1076 | 1077 | is-extglob@2.1.1: 1078 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1079 | engines: {node: '>=0.10.0'} 1080 | 1081 | is-fullwidth-code-point@3.0.0: 1082 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 1083 | engines: {node: '>=8'} 1084 | 1085 | is-glob@4.0.3: 1086 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1087 | engines: {node: '>=0.10.0'} 1088 | 1089 | is-number@7.0.0: 1090 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1091 | engines: {node: '>=0.12.0'} 1092 | 1093 | is-reference@3.0.2: 1094 | resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==} 1095 | 1096 | isexe@2.0.0: 1097 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1098 | 1099 | jackspeak@3.4.3: 1100 | resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} 1101 | 1102 | jiti@1.21.6: 1103 | resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} 1104 | hasBin: true 1105 | 1106 | js-yaml@4.1.0: 1107 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 1108 | hasBin: true 1109 | 1110 | json-buffer@3.0.1: 1111 | resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} 1112 | 1113 | json-schema-traverse@0.4.1: 1114 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 1115 | 1116 | json-stable-stringify-without-jsonify@1.0.1: 1117 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 1118 | 1119 | keyv@4.5.4: 1120 | resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} 1121 | 1122 | kleur@4.1.5: 1123 | resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} 1124 | engines: {node: '>=6'} 1125 | 1126 | known-css-properties@0.35.0: 1127 | resolution: {integrity: sha512-a/RAk2BfKk+WFGhhOCAYqSiFLc34k8Mt/6NWRI4joER0EYUzXIcFivjjnoD3+XU1DggLn/tZc3DOAgke7l8a4A==} 1128 | 1129 | levn@0.4.1: 1130 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 1131 | engines: {node: '>= 0.8.0'} 1132 | 1133 | lilconfig@2.1.0: 1134 | resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} 1135 | engines: {node: '>=10'} 1136 | 1137 | lilconfig@3.1.2: 1138 | resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} 1139 | engines: {node: '>=14'} 1140 | 1141 | lines-and-columns@1.2.4: 1142 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 1143 | 1144 | locate-character@3.0.0: 1145 | resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==} 1146 | 1147 | locate-path@6.0.0: 1148 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 1149 | engines: {node: '>=10'} 1150 | 1151 | lodash.merge@4.6.2: 1152 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 1153 | 1154 | lower-case@2.0.2: 1155 | resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} 1156 | 1157 | lru-cache@10.4.3: 1158 | resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} 1159 | 1160 | lucide-svelte@0.453.0: 1161 | resolution: {integrity: sha512-K+eE2ZeE00ThIEbAmZB3Hq0sVS+1ZLj+7nqtJvN0Xrh/KZnfnEChG+do80sctqXQEE+iG1dA2T+5fVcJS1awfA==} 1162 | peerDependencies: 1163 | svelte: ^3 || ^4 || ^5.0.0-next.42 1164 | 1165 | magic-string@0.30.12: 1166 | resolution: {integrity: sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==} 1167 | 1168 | make-dir@3.1.0: 1169 | resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} 1170 | engines: {node: '>=8'} 1171 | 1172 | merge2@1.4.1: 1173 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1174 | engines: {node: '>= 8'} 1175 | 1176 | micromatch@4.0.8: 1177 | resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} 1178 | engines: {node: '>=8.6'} 1179 | 1180 | minimatch@3.1.2: 1181 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 1182 | 1183 | minimatch@5.1.6: 1184 | resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} 1185 | engines: {node: '>=10'} 1186 | 1187 | minimatch@9.0.5: 1188 | resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} 1189 | engines: {node: '>=16 || 14 >=14.17'} 1190 | 1191 | minipass@3.3.6: 1192 | resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} 1193 | engines: {node: '>=8'} 1194 | 1195 | minipass@5.0.0: 1196 | resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} 1197 | engines: {node: '>=8'} 1198 | 1199 | minipass@7.1.2: 1200 | resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} 1201 | engines: {node: '>=16 || 14 >=14.17'} 1202 | 1203 | minizlib@2.1.2: 1204 | resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} 1205 | engines: {node: '>= 8'} 1206 | 1207 | mkdirp@1.0.4: 1208 | resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} 1209 | engines: {node: '>=10'} 1210 | hasBin: true 1211 | 1212 | mode-watcher@0.4.1: 1213 | resolution: {integrity: sha512-bNC+1NXmwEFZtziCdZSgP7HFQTpqJPcQn9GwwJQGSf6SBF3neEPYV1uRwkYuAQwbsvsXIYtzaqgedDzJ7D1mhg==} 1214 | peerDependencies: 1215 | svelte: ^4.0.0 || ^5.0.0-next.1 1216 | 1217 | mri@1.2.0: 1218 | resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} 1219 | engines: {node: '>=4'} 1220 | 1221 | mrmime@2.0.0: 1222 | resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} 1223 | engines: {node: '>=10'} 1224 | 1225 | ms@2.1.3: 1226 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 1227 | 1228 | mz@2.7.0: 1229 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} 1230 | 1231 | nanoid@3.3.7: 1232 | resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} 1233 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1234 | hasBin: true 1235 | 1236 | nanoid@5.0.7: 1237 | resolution: {integrity: sha512-oLxFY2gd2IqnjcYyOXD8XGCftpGtZP2AbHbOkthDkvRywH5ayNtPVy9YlOPcHckXzbLTCHpkb7FB+yuxKV13pQ==} 1238 | engines: {node: ^18 || >=20} 1239 | hasBin: true 1240 | 1241 | natural-compare@1.4.0: 1242 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 1243 | 1244 | no-case@3.0.4: 1245 | resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} 1246 | 1247 | node-fetch@2.7.0: 1248 | resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} 1249 | engines: {node: 4.x || >=6.0.0} 1250 | peerDependencies: 1251 | encoding: ^0.1.0 1252 | peerDependenciesMeta: 1253 | encoding: 1254 | optional: true 1255 | 1256 | node-gyp-build@4.8.2: 1257 | resolution: {integrity: sha512-IRUxE4BVsHWXkV/SFOut4qTlagw2aM8T5/vnTsmrHJvVoKueJHRc/JaFND7QDDc61kLYUJ6qlZM3sqTSyx2dTw==} 1258 | hasBin: true 1259 | 1260 | node-releases@2.0.18: 1261 | resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} 1262 | 1263 | nopt@5.0.0: 1264 | resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} 1265 | engines: {node: '>=6'} 1266 | hasBin: true 1267 | 1268 | normalize-path@3.0.0: 1269 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 1270 | engines: {node: '>=0.10.0'} 1271 | 1272 | normalize-range@0.1.2: 1273 | resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} 1274 | engines: {node: '>=0.10.0'} 1275 | 1276 | npm-bundled@2.0.1: 1277 | resolution: {integrity: sha512-gZLxXdjEzE/+mOstGDqR6b0EkhJ+kM6fxM6vUuckuctuVPh80Q6pw/rSZj9s4Gex9GxWtIicO1pc8DB9KZWudw==} 1278 | engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} 1279 | 1280 | npm-normalize-package-bin@2.0.0: 1281 | resolution: {integrity: sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==} 1282 | engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} 1283 | 1284 | npm-packlist@5.1.3: 1285 | resolution: {integrity: sha512-263/0NGrn32YFYi4J533qzrQ/krmmrWwhKkzwTuM4f/07ug51odoaNjUexxO4vxlzURHcmYMH1QjvHjsNDKLVg==} 1286 | engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} 1287 | hasBin: true 1288 | 1289 | npmlog@5.0.1: 1290 | resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} 1291 | deprecated: This package is no longer supported. 1292 | 1293 | object-assign@4.1.1: 1294 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 1295 | engines: {node: '>=0.10.0'} 1296 | 1297 | object-hash@3.0.0: 1298 | resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} 1299 | engines: {node: '>= 6'} 1300 | 1301 | once@1.4.0: 1302 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 1303 | 1304 | optionator@0.9.4: 1305 | resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} 1306 | engines: {node: '>= 0.8.0'} 1307 | 1308 | p-limit@3.1.0: 1309 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 1310 | engines: {node: '>=10'} 1311 | 1312 | p-locate@5.0.0: 1313 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 1314 | engines: {node: '>=10'} 1315 | 1316 | package-json-from-dist@1.0.1: 1317 | resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} 1318 | 1319 | parent-module@1.0.1: 1320 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 1321 | engines: {node: '>=6'} 1322 | 1323 | pascal-case@3.1.2: 1324 | resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} 1325 | 1326 | path-exists@4.0.0: 1327 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 1328 | engines: {node: '>=8'} 1329 | 1330 | path-is-absolute@1.0.1: 1331 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 1332 | engines: {node: '>=0.10.0'} 1333 | 1334 | path-key@3.1.1: 1335 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 1336 | engines: {node: '>=8'} 1337 | 1338 | path-parse@1.0.7: 1339 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 1340 | 1341 | path-scurry@1.11.1: 1342 | resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} 1343 | engines: {node: '>=16 || 14 >=14.18'} 1344 | 1345 | picocolors@1.1.1: 1346 | resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} 1347 | 1348 | picomatch@2.3.1: 1349 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1350 | engines: {node: '>=8.6'} 1351 | 1352 | pify@2.3.0: 1353 | resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} 1354 | engines: {node: '>=0.10.0'} 1355 | 1356 | pirates@4.0.6: 1357 | resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} 1358 | engines: {node: '>= 6'} 1359 | 1360 | postcss-import@15.1.0: 1361 | resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} 1362 | engines: {node: '>=14.0.0'} 1363 | peerDependencies: 1364 | postcss: ^8.0.0 1365 | 1366 | postcss-js@4.0.1: 1367 | resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} 1368 | engines: {node: ^12 || ^14 || >= 16} 1369 | peerDependencies: 1370 | postcss: ^8.4.21 1371 | 1372 | postcss-load-config@3.1.4: 1373 | resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} 1374 | engines: {node: '>= 10'} 1375 | peerDependencies: 1376 | postcss: '>=8.0.9' 1377 | ts-node: '>=9.0.0' 1378 | peerDependenciesMeta: 1379 | postcss: 1380 | optional: true 1381 | ts-node: 1382 | optional: true 1383 | 1384 | postcss-load-config@4.0.2: 1385 | resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} 1386 | engines: {node: '>= 14'} 1387 | peerDependencies: 1388 | postcss: '>=8.0.9' 1389 | ts-node: '>=9.0.0' 1390 | peerDependenciesMeta: 1391 | postcss: 1392 | optional: true 1393 | ts-node: 1394 | optional: true 1395 | 1396 | postcss-load-config@6.0.1: 1397 | resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==} 1398 | engines: {node: '>= 18'} 1399 | peerDependencies: 1400 | jiti: '>=1.21.0' 1401 | postcss: '>=8.0.9' 1402 | tsx: ^4.8.1 1403 | yaml: ^2.4.2 1404 | peerDependenciesMeta: 1405 | jiti: 1406 | optional: true 1407 | postcss: 1408 | optional: true 1409 | tsx: 1410 | optional: true 1411 | yaml: 1412 | optional: true 1413 | 1414 | postcss-nested@6.2.0: 1415 | resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} 1416 | engines: {node: '>=12.0'} 1417 | peerDependencies: 1418 | postcss: ^8.2.14 1419 | 1420 | postcss-safe-parser@6.0.0: 1421 | resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==} 1422 | engines: {node: '>=12.0'} 1423 | peerDependencies: 1424 | postcss: ^8.3.3 1425 | 1426 | postcss-scss@4.0.9: 1427 | resolution: {integrity: sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==} 1428 | engines: {node: '>=12.0'} 1429 | peerDependencies: 1430 | postcss: ^8.4.29 1431 | 1432 | postcss-selector-parser@6.1.2: 1433 | resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} 1434 | engines: {node: '>=4'} 1435 | 1436 | postcss-value-parser@4.2.0: 1437 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} 1438 | 1439 | postcss@8.4.47: 1440 | resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==} 1441 | engines: {node: ^10 || ^12 || >=14} 1442 | 1443 | prelude-ls@1.2.1: 1444 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 1445 | engines: {node: '>= 0.8.0'} 1446 | 1447 | prettier-plugin-tailwindcss@0.6.8: 1448 | resolution: {integrity: sha512-dGu3kdm7SXPkiW4nzeWKCl3uoImdd5CTZEJGxyypEPL37Wj0HT2pLqjrvSei1nTeuQfO4PUfjeW5cTUNRLZ4sA==} 1449 | engines: {node: '>=14.21.3'} 1450 | peerDependencies: 1451 | '@ianvs/prettier-plugin-sort-imports': '*' 1452 | '@prettier/plugin-pug': '*' 1453 | '@shopify/prettier-plugin-liquid': '*' 1454 | '@trivago/prettier-plugin-sort-imports': '*' 1455 | '@zackad/prettier-plugin-twig-melody': '*' 1456 | prettier: ^3.0 1457 | prettier-plugin-astro: '*' 1458 | prettier-plugin-css-order: '*' 1459 | prettier-plugin-import-sort: '*' 1460 | prettier-plugin-jsdoc: '*' 1461 | prettier-plugin-marko: '*' 1462 | prettier-plugin-multiline-arrays: '*' 1463 | prettier-plugin-organize-attributes: '*' 1464 | prettier-plugin-organize-imports: '*' 1465 | prettier-plugin-sort-imports: '*' 1466 | prettier-plugin-style-order: '*' 1467 | prettier-plugin-svelte: '*' 1468 | peerDependenciesMeta: 1469 | '@ianvs/prettier-plugin-sort-imports': 1470 | optional: true 1471 | '@prettier/plugin-pug': 1472 | optional: true 1473 | '@shopify/prettier-plugin-liquid': 1474 | optional: true 1475 | '@trivago/prettier-plugin-sort-imports': 1476 | optional: true 1477 | '@zackad/prettier-plugin-twig-melody': 1478 | optional: true 1479 | prettier-plugin-astro: 1480 | optional: true 1481 | prettier-plugin-css-order: 1482 | optional: true 1483 | prettier-plugin-import-sort: 1484 | optional: true 1485 | prettier-plugin-jsdoc: 1486 | optional: true 1487 | prettier-plugin-marko: 1488 | optional: true 1489 | prettier-plugin-multiline-arrays: 1490 | optional: true 1491 | prettier-plugin-organize-attributes: 1492 | optional: true 1493 | prettier-plugin-organize-imports: 1494 | optional: true 1495 | prettier-plugin-sort-imports: 1496 | optional: true 1497 | prettier-plugin-style-order: 1498 | optional: true 1499 | prettier-plugin-svelte: 1500 | optional: true 1501 | 1502 | prettier@3.3.3: 1503 | resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==} 1504 | engines: {node: '>=14'} 1505 | hasBin: true 1506 | 1507 | publint@0.2.12: 1508 | resolution: {integrity: sha512-YNeUtCVeM4j9nDiTT2OPczmlyzOkIXNtdDZnSuajAxS/nZ6j3t7Vs9SUB4euQNddiltIwu7Tdd3s+hr08fAsMw==} 1509 | engines: {node: '>=16'} 1510 | hasBin: true 1511 | 1512 | punycode@2.3.1: 1513 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} 1514 | engines: {node: '>=6'} 1515 | 1516 | queue-microtask@1.2.3: 1517 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 1518 | 1519 | read-cache@1.0.0: 1520 | resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} 1521 | 1522 | readable-stream@3.6.2: 1523 | resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} 1524 | engines: {node: '>= 6'} 1525 | 1526 | readdirp@3.6.0: 1527 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 1528 | engines: {node: '>=8.10.0'} 1529 | 1530 | readdirp@4.0.2: 1531 | resolution: {integrity: sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==} 1532 | engines: {node: '>= 14.16.0'} 1533 | 1534 | resolve-from@4.0.0: 1535 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 1536 | engines: {node: '>=4'} 1537 | 1538 | resolve-from@5.0.0: 1539 | resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} 1540 | engines: {node: '>=8'} 1541 | 1542 | resolve@1.22.8: 1543 | resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} 1544 | hasBin: true 1545 | 1546 | reusify@1.0.4: 1547 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 1548 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 1549 | 1550 | rimraf@3.0.2: 1551 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} 1552 | deprecated: Rimraf versions prior to v4 are no longer supported 1553 | hasBin: true 1554 | 1555 | rollup@4.24.1: 1556 | resolution: {integrity: sha512-2lhtdsnyxlfBAZVh9tfriEc1nV9HxjQGnqEpd7z7cWXuLbI4jHWDhAvw6JGs0AVcnYqv0gL7Mjuj/utxW2wPBw==} 1557 | engines: {node: '>=18.0.0', npm: '>=8.0.0'} 1558 | hasBin: true 1559 | 1560 | run-parallel@1.2.0: 1561 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 1562 | 1563 | sade@1.8.1: 1564 | resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} 1565 | engines: {node: '>=6'} 1566 | 1567 | safe-buffer@5.2.1: 1568 | resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 1569 | 1570 | scroll-into-view-if-needed@3.1.0: 1571 | resolution: {integrity: sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==} 1572 | 1573 | semver@6.3.1: 1574 | resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} 1575 | hasBin: true 1576 | 1577 | semver@7.6.3: 1578 | resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} 1579 | engines: {node: '>=10'} 1580 | hasBin: true 1581 | 1582 | set-blocking@2.0.0: 1583 | resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} 1584 | 1585 | set-cookie-parser@2.7.1: 1586 | resolution: {integrity: sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==} 1587 | 1588 | shebang-command@2.0.0: 1589 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 1590 | engines: {node: '>=8'} 1591 | 1592 | shebang-regex@3.0.0: 1593 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 1594 | engines: {node: '>=8'} 1595 | 1596 | signal-exit@3.0.7: 1597 | resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} 1598 | 1599 | signal-exit@4.1.0: 1600 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} 1601 | engines: {node: '>=14'} 1602 | 1603 | sirv@3.0.0: 1604 | resolution: {integrity: sha512-BPwJGUeDaDCHihkORDchNyyTvWFhcusy1XMmhEVTQTwGeybFbp8YEmB+njbPnth1FibULBSBVwCQni25XlCUDg==} 1605 | engines: {node: '>=18'} 1606 | 1607 | sjcl-bit-array@1.0.0: 1608 | resolution: {integrity: sha512-xoR134YJa7AHToLqCWuLYGpAdcBuLbSgwXe9c5HTIN4vr5TILXO/jVF8pLeXDhC7JTOvpmXUkiOupawVNTZVdQ==} 1609 | 1610 | sjcl-codec-hex@1.0.0: 1611 | resolution: {integrity: sha512-lBBjqky1BEH+WZdABR/iSl2Pu3HO8n8r2D7nkzYLZfcR9ke4kUGMvO0ztRkla5oi4Esbc9pOlBtyGeMjYOU0ng==} 1612 | 1613 | sjcl-es@2.0.0: 1614 | resolution: {integrity: sha512-P8O+4pAt95XqmTlvvPdbmBggjAgSE0LQnhSEYUKYKepN176b/8K9zcVrrqhuLu5EUQyeCYy/56J9FzxvzvMavg==} 1615 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1616 | 1617 | source-map-js@1.2.1: 1618 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} 1619 | engines: {node: '>=0.10.0'} 1620 | 1621 | string-width@4.2.3: 1622 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 1623 | engines: {node: '>=8'} 1624 | 1625 | string-width@5.1.2: 1626 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} 1627 | engines: {node: '>=12'} 1628 | 1629 | string_decoder@1.3.0: 1630 | resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} 1631 | 1632 | strip-ansi@6.0.1: 1633 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 1634 | engines: {node: '>=8'} 1635 | 1636 | strip-ansi@7.1.0: 1637 | resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} 1638 | engines: {node: '>=12'} 1639 | 1640 | strip-json-comments@3.1.1: 1641 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 1642 | engines: {node: '>=8'} 1643 | 1644 | sucrase@3.35.0: 1645 | resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} 1646 | engines: {node: '>=16 || 14 >=14.17'} 1647 | hasBin: true 1648 | 1649 | supports-color@7.2.0: 1650 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 1651 | engines: {node: '>=8'} 1652 | 1653 | supports-preserve-symlinks-flag@1.0.0: 1654 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 1655 | engines: {node: '>= 0.4'} 1656 | 1657 | svelte-check@4.0.5: 1658 | resolution: {integrity: sha512-icBTBZ3ibBaywbXUat3cK6hB5Du+Kq9Z8CRuyLmm64XIe2/r+lQcbuBx/IQgsbrC+kT2jQ0weVpZSSRIPwB6jQ==} 1659 | engines: {node: '>= 18.0.0'} 1660 | hasBin: true 1661 | peerDependencies: 1662 | svelte: ^4.0.0 || ^5.0.0-next.0 1663 | typescript: '>=5.0.0' 1664 | 1665 | svelte-eslint-parser@0.43.0: 1666 | resolution: {integrity: sha512-GpU52uPKKcVnh8tKN5P4UZpJ/fUDndmq7wfsvoVXsyP+aY0anol7Yqo01fyrlaWGMFfm4av5DyrjlaXdLRJvGA==} 1667 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1668 | peerDependencies: 1669 | svelte: ^3.37.0 || ^4.0.0 || ^5.0.0 1670 | peerDependenciesMeta: 1671 | svelte: 1672 | optional: true 1673 | 1674 | svelte2tsx@0.7.22: 1675 | resolution: {integrity: sha512-hf55ujq17ufVpDQlJzaQfRr9EjlLIwGmFlpKq4uYrQAQFw/99q1OcVYyBT6568iJySgBUY9PdccURrORmfetmQ==} 1676 | peerDependencies: 1677 | svelte: ^3.55 || ^4.0.0-next.0 || ^4.0 || ^5.0.0-next.0 1678 | typescript: ^4.9.4 || ^5.0.0 1679 | 1680 | svelte@5.1.3: 1681 | resolution: {integrity: sha512-Sl8UFHlBvF54aK8MElFvyvaUfPE2REOz6LnhR2pBClCL11MU4qpn4V+KgAggaXxDyrP2iQixvHbtpHqL/zXlSQ==} 1682 | engines: {node: '>=18'} 1683 | 1684 | svhighlight@0.7.1: 1685 | resolution: {integrity: sha512-I2Pwkcl1Nw5cRrzdIua7OgwKr+tx5wv1P1sN7jz+4zO8dkUIfvZzF5hUoJJPx2kPyyS+27h6k4suNzNLLGw4+g==} 1686 | 1687 | tabbable@6.2.0: 1688 | resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} 1689 | 1690 | tailwind-merge@2.5.4: 1691 | resolution: {integrity: sha512-0q8cfZHMu9nuYP/b5Shb7Y7Sh1B7Nnl5GqNr1U+n2p6+mybvRtayrQ+0042Z5byvTA8ihjlP8Odo8/VnHbZu4Q==} 1692 | 1693 | tailwind-variants@0.2.1: 1694 | resolution: {integrity: sha512-2xmhAf4UIc3PijOUcJPA1LP4AbxhpcHuHM2C26xM0k81r0maAO6uoUSHl3APmvHZcY5cZCY/bYuJdfFa4eGoaw==} 1695 | engines: {node: '>=16.x', pnpm: '>=7.x'} 1696 | peerDependencies: 1697 | tailwindcss: '*' 1698 | 1699 | tailwindcss@3.4.14: 1700 | resolution: {integrity: sha512-IcSvOcTRcUtQQ7ILQL5quRDg7Xs93PdJEk1ZLbhhvJc7uj/OAhYOnruEiwnGgBvUtaUAJ8/mhSw1o8L2jCiENA==} 1701 | engines: {node: '>=14.0.0'} 1702 | hasBin: true 1703 | 1704 | tar@6.2.1: 1705 | resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} 1706 | engines: {node: '>=10'} 1707 | 1708 | text-table@0.2.0: 1709 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} 1710 | 1711 | thenify-all@1.6.0: 1712 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} 1713 | engines: {node: '>=0.8'} 1714 | 1715 | thenify@3.3.1: 1716 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} 1717 | 1718 | tiny-glob@0.2.9: 1719 | resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==} 1720 | 1721 | to-regex-range@5.0.1: 1722 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 1723 | engines: {node: '>=8.0'} 1724 | 1725 | totalist@3.0.1: 1726 | resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} 1727 | engines: {node: '>=6'} 1728 | 1729 | tr46@0.0.3: 1730 | resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} 1731 | 1732 | ts-api-utils@1.3.0: 1733 | resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} 1734 | engines: {node: '>=16'} 1735 | peerDependencies: 1736 | typescript: '>=4.2.0' 1737 | 1738 | ts-interface-checker@0.1.13: 1739 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} 1740 | 1741 | tslib@2.8.0: 1742 | resolution: {integrity: sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==} 1743 | 1744 | type-check@0.4.0: 1745 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 1746 | engines: {node: '>= 0.8.0'} 1747 | 1748 | typescript@5.6.3: 1749 | resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==} 1750 | engines: {node: '>=14.17'} 1751 | hasBin: true 1752 | 1753 | update-browserslist-db@1.1.1: 1754 | resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==} 1755 | hasBin: true 1756 | peerDependencies: 1757 | browserslist: '>= 4.21.0' 1758 | 1759 | uri-js@4.4.1: 1760 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 1761 | 1762 | util-deprecate@1.0.2: 1763 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 1764 | 1765 | vite@5.4.10: 1766 | resolution: {integrity: sha512-1hvaPshuPUtxeQ0hsVH3Mud0ZanOLwVTneA1EgbAM5LhaZEqyPWGRQ7BtaMvUrTDeEaC8pxtj6a6jku3x4z6SQ==} 1767 | engines: {node: ^18.0.0 || >=20.0.0} 1768 | hasBin: true 1769 | peerDependencies: 1770 | '@types/node': ^18.0.0 || >=20.0.0 1771 | less: '*' 1772 | lightningcss: ^1.21.0 1773 | sass: '*' 1774 | sass-embedded: '*' 1775 | stylus: '*' 1776 | sugarss: '*' 1777 | terser: ^5.4.0 1778 | peerDependenciesMeta: 1779 | '@types/node': 1780 | optional: true 1781 | less: 1782 | optional: true 1783 | lightningcss: 1784 | optional: true 1785 | sass: 1786 | optional: true 1787 | sass-embedded: 1788 | optional: true 1789 | stylus: 1790 | optional: true 1791 | sugarss: 1792 | optional: true 1793 | terser: 1794 | optional: true 1795 | 1796 | vitefu@1.0.3: 1797 | resolution: {integrity: sha512-iKKfOMBHob2WxEJbqbJjHAkmYgvFDPhuqrO82om83S8RLk+17FtyMBfcyeH8GqD0ihShtkMW/zzJgiA51hCNCQ==} 1798 | peerDependencies: 1799 | vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0-beta.0 1800 | peerDependenciesMeta: 1801 | vite: 1802 | optional: true 1803 | 1804 | webidl-conversions@3.0.1: 1805 | resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} 1806 | 1807 | whatwg-url@5.0.0: 1808 | resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} 1809 | 1810 | which@2.0.2: 1811 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 1812 | engines: {node: '>= 8'} 1813 | hasBin: true 1814 | 1815 | wide-align@1.1.5: 1816 | resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} 1817 | 1818 | word-wrap@1.2.5: 1819 | resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} 1820 | engines: {node: '>=0.10.0'} 1821 | 1822 | wrap-ansi@7.0.0: 1823 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 1824 | engines: {node: '>=10'} 1825 | 1826 | wrap-ansi@8.1.0: 1827 | resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} 1828 | engines: {node: '>=12'} 1829 | 1830 | wrappy@1.0.2: 1831 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 1832 | 1833 | yallist@4.0.0: 1834 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 1835 | 1836 | yaml@1.10.2: 1837 | resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} 1838 | engines: {node: '>= 6'} 1839 | 1840 | yaml@2.6.0: 1841 | resolution: {integrity: sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ==} 1842 | engines: {node: '>= 14'} 1843 | hasBin: true 1844 | 1845 | yocto-queue@0.1.0: 1846 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 1847 | engines: {node: '>=10'} 1848 | 1849 | zimmerframe@1.1.2: 1850 | resolution: {integrity: sha512-rAbqEGa8ovJy4pyBxZM70hg4pE6gDgaQ0Sl9M3enG3I0d6H4XSAM3GeNGLKnsBpuijUow064sf7ww1nutC5/3w==} 1851 | 1852 | snapshots: 1853 | 1854 | '@alloc/quick-lru@5.2.0': {} 1855 | 1856 | '@ampproject/remapping@2.3.0': 1857 | dependencies: 1858 | '@jridgewell/gen-mapping': 0.3.5 1859 | '@jridgewell/trace-mapping': 0.3.25 1860 | 1861 | '@esbuild/aix-ppc64@0.21.5': 1862 | optional: true 1863 | 1864 | '@esbuild/android-arm64@0.21.5': 1865 | optional: true 1866 | 1867 | '@esbuild/android-arm@0.21.5': 1868 | optional: true 1869 | 1870 | '@esbuild/android-x64@0.21.5': 1871 | optional: true 1872 | 1873 | '@esbuild/darwin-arm64@0.21.5': 1874 | optional: true 1875 | 1876 | '@esbuild/darwin-x64@0.21.5': 1877 | optional: true 1878 | 1879 | '@esbuild/freebsd-arm64@0.21.5': 1880 | optional: true 1881 | 1882 | '@esbuild/freebsd-x64@0.21.5': 1883 | optional: true 1884 | 1885 | '@esbuild/linux-arm64@0.21.5': 1886 | optional: true 1887 | 1888 | '@esbuild/linux-arm@0.21.5': 1889 | optional: true 1890 | 1891 | '@esbuild/linux-ia32@0.21.5': 1892 | optional: true 1893 | 1894 | '@esbuild/linux-loong64@0.21.5': 1895 | optional: true 1896 | 1897 | '@esbuild/linux-mips64el@0.21.5': 1898 | optional: true 1899 | 1900 | '@esbuild/linux-ppc64@0.21.5': 1901 | optional: true 1902 | 1903 | '@esbuild/linux-riscv64@0.21.5': 1904 | optional: true 1905 | 1906 | '@esbuild/linux-s390x@0.21.5': 1907 | optional: true 1908 | 1909 | '@esbuild/linux-x64@0.21.5': 1910 | optional: true 1911 | 1912 | '@esbuild/netbsd-x64@0.21.5': 1913 | optional: true 1914 | 1915 | '@esbuild/openbsd-x64@0.21.5': 1916 | optional: true 1917 | 1918 | '@esbuild/sunos-x64@0.21.5': 1919 | optional: true 1920 | 1921 | '@esbuild/win32-arm64@0.21.5': 1922 | optional: true 1923 | 1924 | '@esbuild/win32-ia32@0.21.5': 1925 | optional: true 1926 | 1927 | '@esbuild/win32-x64@0.21.5': 1928 | optional: true 1929 | 1930 | '@eslint-community/eslint-utils@4.4.1(eslint@9.13.0(jiti@1.21.6))': 1931 | dependencies: 1932 | eslint: 9.13.0(jiti@1.21.6) 1933 | eslint-visitor-keys: 3.4.3 1934 | 1935 | '@eslint-community/regexpp@4.12.0': {} 1936 | 1937 | '@eslint/config-array@0.18.0': 1938 | dependencies: 1939 | '@eslint/object-schema': 2.1.4 1940 | debug: 4.3.7 1941 | minimatch: 3.1.2 1942 | transitivePeerDependencies: 1943 | - supports-color 1944 | 1945 | '@eslint/core@0.7.0': {} 1946 | 1947 | '@eslint/eslintrc@3.1.0': 1948 | dependencies: 1949 | ajv: 6.12.6 1950 | debug: 4.3.7 1951 | espree: 10.2.0 1952 | globals: 14.0.0 1953 | ignore: 5.3.2 1954 | import-fresh: 3.3.0 1955 | js-yaml: 4.1.0 1956 | minimatch: 3.1.2 1957 | strip-json-comments: 3.1.1 1958 | transitivePeerDependencies: 1959 | - supports-color 1960 | 1961 | '@eslint/js@9.13.0': {} 1962 | 1963 | '@eslint/object-schema@2.1.4': {} 1964 | 1965 | '@eslint/plugin-kit@0.2.1': 1966 | dependencies: 1967 | levn: 0.4.1 1968 | 1969 | '@floating-ui/core@1.6.8': 1970 | dependencies: 1971 | '@floating-ui/utils': 0.2.8 1972 | 1973 | '@floating-ui/dom@1.6.11': 1974 | dependencies: 1975 | '@floating-ui/core': 1.6.8 1976 | '@floating-ui/utils': 0.2.8 1977 | 1978 | '@floating-ui/utils@0.2.8': {} 1979 | 1980 | '@humanfs/core@0.19.0': {} 1981 | 1982 | '@humanfs/node@0.16.5': 1983 | dependencies: 1984 | '@humanfs/core': 0.19.0 1985 | '@humanwhocodes/retry': 0.3.1 1986 | 1987 | '@humanwhocodes/module-importer@1.0.1': {} 1988 | 1989 | '@humanwhocodes/retry@0.3.1': {} 1990 | 1991 | '@internationalized/date@3.5.6': 1992 | dependencies: 1993 | '@swc/helpers': 0.5.13 1994 | 1995 | '@isaacs/cliui@8.0.2': 1996 | dependencies: 1997 | string-width: 5.1.2 1998 | string-width-cjs: string-width@4.2.3 1999 | strip-ansi: 7.1.0 2000 | strip-ansi-cjs: strip-ansi@6.0.1 2001 | wrap-ansi: 8.1.0 2002 | wrap-ansi-cjs: wrap-ansi@7.0.0 2003 | 2004 | '@jridgewell/gen-mapping@0.3.5': 2005 | dependencies: 2006 | '@jridgewell/set-array': 1.2.1 2007 | '@jridgewell/sourcemap-codec': 1.5.0 2008 | '@jridgewell/trace-mapping': 0.3.25 2009 | 2010 | '@jridgewell/resolve-uri@3.1.2': {} 2011 | 2012 | '@jridgewell/set-array@1.2.1': {} 2013 | 2014 | '@jridgewell/sourcemap-codec@1.5.0': {} 2015 | 2016 | '@jridgewell/trace-mapping@0.3.25': 2017 | dependencies: 2018 | '@jridgewell/resolve-uri': 3.1.2 2019 | '@jridgewell/sourcemap-codec': 1.5.0 2020 | 2021 | '@macfja/serializer@1.1.3': {} 2022 | 2023 | '@macfja/svelte-persistent-store@2.4.2(svelte@5.1.3)': 2024 | dependencies: 2025 | '@macfja/serializer': 1.1.3 2026 | browser-cookies: 1.2.0 2027 | idb-keyval: 6.2.1 2028 | sjcl-codec-hex: 1.0.0 2029 | sjcl-es: 2.0.0 2030 | svelte: 5.1.3 2031 | 2032 | '@mapbox/node-pre-gyp@1.0.11': 2033 | dependencies: 2034 | detect-libc: 2.0.3 2035 | https-proxy-agent: 5.0.1 2036 | make-dir: 3.1.0 2037 | node-fetch: 2.7.0 2038 | nopt: 5.0.0 2039 | npmlog: 5.0.1 2040 | rimraf: 3.0.2 2041 | semver: 7.6.3 2042 | tar: 6.2.1 2043 | transitivePeerDependencies: 2044 | - encoding 2045 | - supports-color 2046 | 2047 | '@melt-ui/svelte@0.76.2(svelte@5.1.3)': 2048 | dependencies: 2049 | '@floating-ui/core': 1.6.8 2050 | '@floating-ui/dom': 1.6.11 2051 | '@internationalized/date': 3.5.6 2052 | dequal: 2.0.3 2053 | focus-trap: 7.6.0 2054 | nanoid: 5.0.7 2055 | svelte: 5.1.3 2056 | 2057 | '@nodelib/fs.scandir@2.1.5': 2058 | dependencies: 2059 | '@nodelib/fs.stat': 2.0.5 2060 | run-parallel: 1.2.0 2061 | 2062 | '@nodelib/fs.stat@2.0.5': {} 2063 | 2064 | '@nodelib/fs.walk@1.2.8': 2065 | dependencies: 2066 | '@nodelib/fs.scandir': 2.1.5 2067 | fastq: 1.17.1 2068 | 2069 | '@pkgjs/parseargs@0.11.0': 2070 | optional: true 2071 | 2072 | '@polka/url@1.0.0-next.28': {} 2073 | 2074 | '@rollup/pluginutils@4.2.1': 2075 | dependencies: 2076 | estree-walker: 2.0.2 2077 | picomatch: 2.3.1 2078 | 2079 | '@rollup/rollup-android-arm-eabi@4.24.1': 2080 | optional: true 2081 | 2082 | '@rollup/rollup-android-arm64@4.24.1': 2083 | optional: true 2084 | 2085 | '@rollup/rollup-darwin-arm64@4.24.1': 2086 | optional: true 2087 | 2088 | '@rollup/rollup-darwin-x64@4.24.1': 2089 | optional: true 2090 | 2091 | '@rollup/rollup-freebsd-x64@4.24.1': 2092 | optional: true 2093 | 2094 | '@rollup/rollup-linux-arm-gnueabihf@4.24.1': 2095 | optional: true 2096 | 2097 | '@rollup/rollup-linux-arm-musleabihf@4.24.1': 2098 | optional: true 2099 | 2100 | '@rollup/rollup-linux-arm64-gnu@4.24.1': 2101 | optional: true 2102 | 2103 | '@rollup/rollup-linux-arm64-musl@4.24.1': 2104 | optional: true 2105 | 2106 | '@rollup/rollup-linux-powerpc64le-gnu@4.24.1': 2107 | optional: true 2108 | 2109 | '@rollup/rollup-linux-riscv64-gnu@4.24.1': 2110 | optional: true 2111 | 2112 | '@rollup/rollup-linux-s390x-gnu@4.24.1': 2113 | optional: true 2114 | 2115 | '@rollup/rollup-linux-x64-gnu@4.24.1': 2116 | optional: true 2117 | 2118 | '@rollup/rollup-linux-x64-musl@4.24.1': 2119 | optional: true 2120 | 2121 | '@rollup/rollup-win32-arm64-msvc@4.24.1': 2122 | optional: true 2123 | 2124 | '@rollup/rollup-win32-ia32-msvc@4.24.1': 2125 | optional: true 2126 | 2127 | '@rollup/rollup-win32-x64-msvc@4.24.1': 2128 | optional: true 2129 | 2130 | '@sveltejs/adapter-auto@3.3.1(@sveltejs/kit@2.7.3(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.3)(vite@5.4.10))(svelte@5.1.3)(vite@5.4.10))': 2131 | dependencies: 2132 | '@sveltejs/kit': 2.7.3(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.3)(vite@5.4.10))(svelte@5.1.3)(vite@5.4.10) 2133 | import-meta-resolve: 4.1.0 2134 | 2135 | '@sveltejs/adapter-vercel@5.4.6(@sveltejs/kit@2.7.3(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.3)(vite@5.4.10))(svelte@5.1.3)(vite@5.4.10))': 2136 | dependencies: 2137 | '@sveltejs/kit': 2.7.3(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.3)(vite@5.4.10))(svelte@5.1.3)(vite@5.4.10) 2138 | '@vercel/nft': 0.27.5 2139 | esbuild: 0.21.5 2140 | transitivePeerDependencies: 2141 | - encoding 2142 | - supports-color 2143 | 2144 | '@sveltejs/kit@2.7.3(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.3)(vite@5.4.10))(svelte@5.1.3)(vite@5.4.10)': 2145 | dependencies: 2146 | '@sveltejs/vite-plugin-svelte': 4.0.0(svelte@5.1.3)(vite@5.4.10) 2147 | '@types/cookie': 0.6.0 2148 | cookie: 0.6.0 2149 | devalue: 5.1.1 2150 | esm-env: 1.0.0 2151 | import-meta-resolve: 4.1.0 2152 | kleur: 4.1.5 2153 | magic-string: 0.30.12 2154 | mrmime: 2.0.0 2155 | sade: 1.8.1 2156 | set-cookie-parser: 2.7.1 2157 | sirv: 3.0.0 2158 | svelte: 5.1.3 2159 | tiny-glob: 0.2.9 2160 | vite: 5.4.10 2161 | 2162 | '@sveltejs/package@2.3.7(svelte@5.1.3)(typescript@5.6.3)': 2163 | dependencies: 2164 | chokidar: 4.0.1 2165 | kleur: 4.1.5 2166 | sade: 1.8.1 2167 | semver: 7.6.3 2168 | svelte: 5.1.3 2169 | svelte2tsx: 0.7.22(svelte@5.1.3)(typescript@5.6.3) 2170 | transitivePeerDependencies: 2171 | - typescript 2172 | 2173 | '@sveltejs/vite-plugin-svelte-inspector@3.0.1(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.3)(vite@5.4.10))(svelte@5.1.3)(vite@5.4.10)': 2174 | dependencies: 2175 | '@sveltejs/vite-plugin-svelte': 4.0.0(svelte@5.1.3)(vite@5.4.10) 2176 | debug: 4.3.7 2177 | svelte: 5.1.3 2178 | vite: 5.4.10 2179 | transitivePeerDependencies: 2180 | - supports-color 2181 | 2182 | '@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.3)(vite@5.4.10)': 2183 | dependencies: 2184 | '@sveltejs/vite-plugin-svelte-inspector': 3.0.1(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.3)(vite@5.4.10))(svelte@5.1.3)(vite@5.4.10) 2185 | debug: 4.3.7 2186 | deepmerge: 4.3.1 2187 | kleur: 4.1.5 2188 | magic-string: 0.30.12 2189 | svelte: 5.1.3 2190 | vite: 5.4.10 2191 | vitefu: 1.0.3(vite@5.4.10) 2192 | transitivePeerDependencies: 2193 | - supports-color 2194 | 2195 | '@swc/helpers@0.5.13': 2196 | dependencies: 2197 | tslib: 2.8.0 2198 | 2199 | '@types/cookie@0.6.0': {} 2200 | 2201 | '@types/estree@1.0.6': {} 2202 | 2203 | '@types/json-schema@7.0.15': {} 2204 | 2205 | '@typescript-eslint/eslint-plugin@8.11.0(@typescript-eslint/parser@8.11.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3)': 2206 | dependencies: 2207 | '@eslint-community/regexpp': 4.12.0 2208 | '@typescript-eslint/parser': 8.11.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3) 2209 | '@typescript-eslint/scope-manager': 8.11.0 2210 | '@typescript-eslint/type-utils': 8.11.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3) 2211 | '@typescript-eslint/utils': 8.11.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3) 2212 | '@typescript-eslint/visitor-keys': 8.11.0 2213 | eslint: 9.13.0(jiti@1.21.6) 2214 | graphemer: 1.4.0 2215 | ignore: 5.3.2 2216 | natural-compare: 1.4.0 2217 | ts-api-utils: 1.3.0(typescript@5.6.3) 2218 | optionalDependencies: 2219 | typescript: 5.6.3 2220 | transitivePeerDependencies: 2221 | - supports-color 2222 | 2223 | '@typescript-eslint/parser@8.11.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3)': 2224 | dependencies: 2225 | '@typescript-eslint/scope-manager': 8.11.0 2226 | '@typescript-eslint/types': 8.11.0 2227 | '@typescript-eslint/typescript-estree': 8.11.0(typescript@5.6.3) 2228 | '@typescript-eslint/visitor-keys': 8.11.0 2229 | debug: 4.3.7 2230 | eslint: 9.13.0(jiti@1.21.6) 2231 | optionalDependencies: 2232 | typescript: 5.6.3 2233 | transitivePeerDependencies: 2234 | - supports-color 2235 | 2236 | '@typescript-eslint/scope-manager@8.11.0': 2237 | dependencies: 2238 | '@typescript-eslint/types': 8.11.0 2239 | '@typescript-eslint/visitor-keys': 8.11.0 2240 | 2241 | '@typescript-eslint/type-utils@8.11.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3)': 2242 | dependencies: 2243 | '@typescript-eslint/typescript-estree': 8.11.0(typescript@5.6.3) 2244 | '@typescript-eslint/utils': 8.11.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3) 2245 | debug: 4.3.7 2246 | ts-api-utils: 1.3.0(typescript@5.6.3) 2247 | optionalDependencies: 2248 | typescript: 5.6.3 2249 | transitivePeerDependencies: 2250 | - eslint 2251 | - supports-color 2252 | 2253 | '@typescript-eslint/types@8.11.0': {} 2254 | 2255 | '@typescript-eslint/typescript-estree@8.11.0(typescript@5.6.3)': 2256 | dependencies: 2257 | '@typescript-eslint/types': 8.11.0 2258 | '@typescript-eslint/visitor-keys': 8.11.0 2259 | debug: 4.3.7 2260 | fast-glob: 3.3.2 2261 | is-glob: 4.0.3 2262 | minimatch: 9.0.5 2263 | semver: 7.6.3 2264 | ts-api-utils: 1.3.0(typescript@5.6.3) 2265 | optionalDependencies: 2266 | typescript: 5.6.3 2267 | transitivePeerDependencies: 2268 | - supports-color 2269 | 2270 | '@typescript-eslint/utils@8.11.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3)': 2271 | dependencies: 2272 | '@eslint-community/eslint-utils': 4.4.1(eslint@9.13.0(jiti@1.21.6)) 2273 | '@typescript-eslint/scope-manager': 8.11.0 2274 | '@typescript-eslint/types': 8.11.0 2275 | '@typescript-eslint/typescript-estree': 8.11.0(typescript@5.6.3) 2276 | eslint: 9.13.0(jiti@1.21.6) 2277 | transitivePeerDependencies: 2278 | - supports-color 2279 | - typescript 2280 | 2281 | '@typescript-eslint/visitor-keys@8.11.0': 2282 | dependencies: 2283 | '@typescript-eslint/types': 8.11.0 2284 | eslint-visitor-keys: 3.4.3 2285 | 2286 | '@vercel/nft@0.27.5': 2287 | dependencies: 2288 | '@mapbox/node-pre-gyp': 1.0.11 2289 | '@rollup/pluginutils': 4.2.1 2290 | acorn: 8.14.0 2291 | acorn-import-attributes: 1.9.5(acorn@8.14.0) 2292 | async-sema: 3.1.1 2293 | bindings: 1.5.0 2294 | estree-walker: 2.0.2 2295 | glob: 7.2.3 2296 | graceful-fs: 4.2.11 2297 | micromatch: 4.0.8 2298 | node-gyp-build: 4.8.2 2299 | resolve-from: 5.0.0 2300 | transitivePeerDependencies: 2301 | - encoding 2302 | - supports-color 2303 | 2304 | abbrev@1.1.1: {} 2305 | 2306 | acorn-import-attributes@1.9.5(acorn@8.14.0): 2307 | dependencies: 2308 | acorn: 8.14.0 2309 | 2310 | acorn-jsx@5.3.2(acorn@8.14.0): 2311 | dependencies: 2312 | acorn: 8.14.0 2313 | 2314 | acorn-typescript@1.4.13(acorn@8.14.0): 2315 | dependencies: 2316 | acorn: 8.14.0 2317 | 2318 | acorn@8.14.0: {} 2319 | 2320 | agent-base@6.0.2: 2321 | dependencies: 2322 | debug: 4.3.7 2323 | transitivePeerDependencies: 2324 | - supports-color 2325 | 2326 | ajv@6.12.6: 2327 | dependencies: 2328 | fast-deep-equal: 3.1.3 2329 | fast-json-stable-stringify: 2.1.0 2330 | json-schema-traverse: 0.4.1 2331 | uri-js: 4.4.1 2332 | 2333 | ansi-regex@5.0.1: {} 2334 | 2335 | ansi-regex@6.1.0: {} 2336 | 2337 | ansi-styles@4.3.0: 2338 | dependencies: 2339 | color-convert: 2.0.1 2340 | 2341 | ansi-styles@6.2.1: {} 2342 | 2343 | any-promise@1.3.0: {} 2344 | 2345 | anymatch@3.1.3: 2346 | dependencies: 2347 | normalize-path: 3.0.0 2348 | picomatch: 2.3.1 2349 | 2350 | aproba@2.0.0: {} 2351 | 2352 | are-we-there-yet@2.0.0: 2353 | dependencies: 2354 | delegates: 1.0.0 2355 | readable-stream: 3.6.2 2356 | 2357 | arg@5.0.2: {} 2358 | 2359 | argparse@2.0.1: {} 2360 | 2361 | aria-query@5.3.2: {} 2362 | 2363 | async-sema@3.1.1: {} 2364 | 2365 | autoprefixer@10.4.20(postcss@8.4.47): 2366 | dependencies: 2367 | browserslist: 4.24.2 2368 | caniuse-lite: 1.0.30001672 2369 | fraction.js: 4.3.7 2370 | normalize-range: 0.1.2 2371 | picocolors: 1.1.1 2372 | postcss: 8.4.47 2373 | postcss-value-parser: 4.2.0 2374 | 2375 | axobject-query@4.1.0: {} 2376 | 2377 | balanced-match@1.0.2: {} 2378 | 2379 | binary-extensions@2.3.0: {} 2380 | 2381 | bindings@1.5.0: 2382 | dependencies: 2383 | file-uri-to-path: 1.0.0 2384 | 2385 | bits-ui@0.21.16(svelte@5.1.3): 2386 | dependencies: 2387 | '@internationalized/date': 3.5.6 2388 | '@melt-ui/svelte': 0.76.2(svelte@5.1.3) 2389 | nanoid: 5.0.7 2390 | svelte: 5.1.3 2391 | 2392 | brace-expansion@1.1.11: 2393 | dependencies: 2394 | balanced-match: 1.0.2 2395 | concat-map: 0.0.1 2396 | 2397 | brace-expansion@2.0.1: 2398 | dependencies: 2399 | balanced-match: 1.0.2 2400 | 2401 | braces@3.0.3: 2402 | dependencies: 2403 | fill-range: 7.1.1 2404 | 2405 | browser-cookies@1.2.0: {} 2406 | 2407 | browserslist@4.24.2: 2408 | dependencies: 2409 | caniuse-lite: 1.0.30001672 2410 | electron-to-chromium: 1.5.47 2411 | node-releases: 2.0.18 2412 | update-browserslist-db: 1.1.1(browserslist@4.24.2) 2413 | 2414 | callsites@3.1.0: {} 2415 | 2416 | camelcase-css@2.0.1: {} 2417 | 2418 | caniuse-lite@1.0.30001672: {} 2419 | 2420 | chalk@4.1.2: 2421 | dependencies: 2422 | ansi-styles: 4.3.0 2423 | supports-color: 7.2.0 2424 | 2425 | chokidar@3.6.0: 2426 | dependencies: 2427 | anymatch: 3.1.3 2428 | braces: 3.0.3 2429 | glob-parent: 5.1.2 2430 | is-binary-path: 2.1.0 2431 | is-glob: 4.0.3 2432 | normalize-path: 3.0.0 2433 | readdirp: 3.6.0 2434 | optionalDependencies: 2435 | fsevents: 2.3.3 2436 | 2437 | chokidar@4.0.1: 2438 | dependencies: 2439 | readdirp: 4.0.2 2440 | 2441 | chownr@2.0.0: {} 2442 | 2443 | clsx@2.1.1: {} 2444 | 2445 | color-convert@2.0.1: 2446 | dependencies: 2447 | color-name: 1.1.4 2448 | 2449 | color-name@1.1.4: {} 2450 | 2451 | color-support@1.1.3: {} 2452 | 2453 | commander@4.1.1: {} 2454 | 2455 | compute-scroll-into-view@3.1.0: {} 2456 | 2457 | concat-map@0.0.1: {} 2458 | 2459 | console-control-strings@1.1.0: {} 2460 | 2461 | cookie@0.6.0: {} 2462 | 2463 | cross-spawn@7.0.3: 2464 | dependencies: 2465 | path-key: 3.1.1 2466 | shebang-command: 2.0.0 2467 | which: 2.0.2 2468 | 2469 | cssesc@3.0.0: {} 2470 | 2471 | debug@4.3.7: 2472 | dependencies: 2473 | ms: 2.1.3 2474 | 2475 | dedent-js@1.0.1: {} 2476 | 2477 | deep-is@0.1.4: {} 2478 | 2479 | deepmerge@4.3.1: {} 2480 | 2481 | delegates@1.0.0: {} 2482 | 2483 | dequal@2.0.3: {} 2484 | 2485 | detect-libc@2.0.3: {} 2486 | 2487 | devalue@5.1.1: {} 2488 | 2489 | didyoumean@1.2.2: {} 2490 | 2491 | dlv@1.1.3: {} 2492 | 2493 | eastasianwidth@0.2.0: {} 2494 | 2495 | electron-to-chromium@1.5.47: {} 2496 | 2497 | emoji-regex@8.0.0: {} 2498 | 2499 | emoji-regex@9.2.2: {} 2500 | 2501 | esbuild@0.21.5: 2502 | optionalDependencies: 2503 | '@esbuild/aix-ppc64': 0.21.5 2504 | '@esbuild/android-arm': 0.21.5 2505 | '@esbuild/android-arm64': 0.21.5 2506 | '@esbuild/android-x64': 0.21.5 2507 | '@esbuild/darwin-arm64': 0.21.5 2508 | '@esbuild/darwin-x64': 0.21.5 2509 | '@esbuild/freebsd-arm64': 0.21.5 2510 | '@esbuild/freebsd-x64': 0.21.5 2511 | '@esbuild/linux-arm': 0.21.5 2512 | '@esbuild/linux-arm64': 0.21.5 2513 | '@esbuild/linux-ia32': 0.21.5 2514 | '@esbuild/linux-loong64': 0.21.5 2515 | '@esbuild/linux-mips64el': 0.21.5 2516 | '@esbuild/linux-ppc64': 0.21.5 2517 | '@esbuild/linux-riscv64': 0.21.5 2518 | '@esbuild/linux-s390x': 0.21.5 2519 | '@esbuild/linux-x64': 0.21.5 2520 | '@esbuild/netbsd-x64': 0.21.5 2521 | '@esbuild/openbsd-x64': 0.21.5 2522 | '@esbuild/sunos-x64': 0.21.5 2523 | '@esbuild/win32-arm64': 0.21.5 2524 | '@esbuild/win32-ia32': 0.21.5 2525 | '@esbuild/win32-x64': 0.21.5 2526 | 2527 | escalade@3.2.0: {} 2528 | 2529 | escape-string-regexp@4.0.0: {} 2530 | 2531 | eslint-compat-utils@0.5.1(eslint@9.13.0(jiti@1.21.6)): 2532 | dependencies: 2533 | eslint: 9.13.0(jiti@1.21.6) 2534 | semver: 7.6.3 2535 | 2536 | eslint-config-prettier@9.1.0(eslint@9.13.0(jiti@1.21.6)): 2537 | dependencies: 2538 | eslint: 9.13.0(jiti@1.21.6) 2539 | 2540 | eslint-plugin-svelte@2.46.0(eslint@9.13.0(jiti@1.21.6))(svelte@5.1.3): 2541 | dependencies: 2542 | '@eslint-community/eslint-utils': 4.4.1(eslint@9.13.0(jiti@1.21.6)) 2543 | '@jridgewell/sourcemap-codec': 1.5.0 2544 | eslint: 9.13.0(jiti@1.21.6) 2545 | eslint-compat-utils: 0.5.1(eslint@9.13.0(jiti@1.21.6)) 2546 | esutils: 2.0.3 2547 | known-css-properties: 0.35.0 2548 | postcss: 8.4.47 2549 | postcss-load-config: 3.1.4(postcss@8.4.47) 2550 | postcss-safe-parser: 6.0.0(postcss@8.4.47) 2551 | postcss-selector-parser: 6.1.2 2552 | semver: 7.6.3 2553 | svelte-eslint-parser: 0.43.0(svelte@5.1.3) 2554 | optionalDependencies: 2555 | svelte: 5.1.3 2556 | transitivePeerDependencies: 2557 | - ts-node 2558 | 2559 | eslint-scope@7.2.2: 2560 | dependencies: 2561 | esrecurse: 4.3.0 2562 | estraverse: 5.3.0 2563 | 2564 | eslint-scope@8.1.0: 2565 | dependencies: 2566 | esrecurse: 4.3.0 2567 | estraverse: 5.3.0 2568 | 2569 | eslint-visitor-keys@3.4.3: {} 2570 | 2571 | eslint-visitor-keys@4.1.0: {} 2572 | 2573 | eslint@9.13.0(jiti@1.21.6): 2574 | dependencies: 2575 | '@eslint-community/eslint-utils': 4.4.1(eslint@9.13.0(jiti@1.21.6)) 2576 | '@eslint-community/regexpp': 4.12.0 2577 | '@eslint/config-array': 0.18.0 2578 | '@eslint/core': 0.7.0 2579 | '@eslint/eslintrc': 3.1.0 2580 | '@eslint/js': 9.13.0 2581 | '@eslint/plugin-kit': 0.2.1 2582 | '@humanfs/node': 0.16.5 2583 | '@humanwhocodes/module-importer': 1.0.1 2584 | '@humanwhocodes/retry': 0.3.1 2585 | '@types/estree': 1.0.6 2586 | '@types/json-schema': 7.0.15 2587 | ajv: 6.12.6 2588 | chalk: 4.1.2 2589 | cross-spawn: 7.0.3 2590 | debug: 4.3.7 2591 | escape-string-regexp: 4.0.0 2592 | eslint-scope: 8.1.0 2593 | eslint-visitor-keys: 4.1.0 2594 | espree: 10.2.0 2595 | esquery: 1.6.0 2596 | esutils: 2.0.3 2597 | fast-deep-equal: 3.1.3 2598 | file-entry-cache: 8.0.0 2599 | find-up: 5.0.0 2600 | glob-parent: 6.0.2 2601 | ignore: 5.3.2 2602 | imurmurhash: 0.1.4 2603 | is-glob: 4.0.3 2604 | json-stable-stringify-without-jsonify: 1.0.1 2605 | lodash.merge: 4.6.2 2606 | minimatch: 3.1.2 2607 | natural-compare: 1.4.0 2608 | optionator: 0.9.4 2609 | text-table: 0.2.0 2610 | optionalDependencies: 2611 | jiti: 1.21.6 2612 | transitivePeerDependencies: 2613 | - supports-color 2614 | 2615 | esm-env@1.0.0: {} 2616 | 2617 | espree@10.2.0: 2618 | dependencies: 2619 | acorn: 8.14.0 2620 | acorn-jsx: 5.3.2(acorn@8.14.0) 2621 | eslint-visitor-keys: 4.1.0 2622 | 2623 | espree@9.6.1: 2624 | dependencies: 2625 | acorn: 8.14.0 2626 | acorn-jsx: 5.3.2(acorn@8.14.0) 2627 | eslint-visitor-keys: 3.4.3 2628 | 2629 | esquery@1.6.0: 2630 | dependencies: 2631 | estraverse: 5.3.0 2632 | 2633 | esrap@1.2.2: 2634 | dependencies: 2635 | '@jridgewell/sourcemap-codec': 1.5.0 2636 | '@types/estree': 1.0.6 2637 | 2638 | esrecurse@4.3.0: 2639 | dependencies: 2640 | estraverse: 5.3.0 2641 | 2642 | estraverse@5.3.0: {} 2643 | 2644 | estree-walker@2.0.2: {} 2645 | 2646 | esutils@2.0.3: {} 2647 | 2648 | fast-deep-equal@3.1.3: {} 2649 | 2650 | fast-glob@3.3.2: 2651 | dependencies: 2652 | '@nodelib/fs.stat': 2.0.5 2653 | '@nodelib/fs.walk': 1.2.8 2654 | glob-parent: 5.1.2 2655 | merge2: 1.4.1 2656 | micromatch: 4.0.8 2657 | 2658 | fast-json-stable-stringify@2.1.0: {} 2659 | 2660 | fast-levenshtein@2.0.6: {} 2661 | 2662 | fastq@1.17.1: 2663 | dependencies: 2664 | reusify: 1.0.4 2665 | 2666 | fdir@6.4.2: {} 2667 | 2668 | file-entry-cache@8.0.0: 2669 | dependencies: 2670 | flat-cache: 4.0.1 2671 | 2672 | file-uri-to-path@1.0.0: {} 2673 | 2674 | fill-range@7.1.1: 2675 | dependencies: 2676 | to-regex-range: 5.0.1 2677 | 2678 | find-up@5.0.0: 2679 | dependencies: 2680 | locate-path: 6.0.0 2681 | path-exists: 4.0.0 2682 | 2683 | flat-cache@4.0.1: 2684 | dependencies: 2685 | flatted: 3.3.1 2686 | keyv: 4.5.4 2687 | 2688 | flatted@3.3.1: {} 2689 | 2690 | focus-trap@7.6.0: 2691 | dependencies: 2692 | tabbable: 6.2.0 2693 | 2694 | foreground-child@3.3.0: 2695 | dependencies: 2696 | cross-spawn: 7.0.3 2697 | signal-exit: 4.1.0 2698 | 2699 | fraction.js@4.3.7: {} 2700 | 2701 | fs-minipass@2.1.0: 2702 | dependencies: 2703 | minipass: 3.3.6 2704 | 2705 | fs.realpath@1.0.0: {} 2706 | 2707 | fsevents@2.3.3: 2708 | optional: true 2709 | 2710 | function-bind@1.1.2: {} 2711 | 2712 | gauge@3.0.2: 2713 | dependencies: 2714 | aproba: 2.0.0 2715 | color-support: 1.1.3 2716 | console-control-strings: 1.1.0 2717 | has-unicode: 2.0.1 2718 | object-assign: 4.1.1 2719 | signal-exit: 3.0.7 2720 | string-width: 4.2.3 2721 | strip-ansi: 6.0.1 2722 | wide-align: 1.1.5 2723 | 2724 | glob-parent@5.1.2: 2725 | dependencies: 2726 | is-glob: 4.0.3 2727 | 2728 | glob-parent@6.0.2: 2729 | dependencies: 2730 | is-glob: 4.0.3 2731 | 2732 | glob@10.4.5: 2733 | dependencies: 2734 | foreground-child: 3.3.0 2735 | jackspeak: 3.4.3 2736 | minimatch: 9.0.5 2737 | minipass: 7.1.2 2738 | package-json-from-dist: 1.0.1 2739 | path-scurry: 1.11.1 2740 | 2741 | glob@7.2.3: 2742 | dependencies: 2743 | fs.realpath: 1.0.0 2744 | inflight: 1.0.6 2745 | inherits: 2.0.4 2746 | minimatch: 3.1.2 2747 | once: 1.4.0 2748 | path-is-absolute: 1.0.1 2749 | 2750 | glob@8.1.0: 2751 | dependencies: 2752 | fs.realpath: 1.0.0 2753 | inflight: 1.0.6 2754 | inherits: 2.0.4 2755 | minimatch: 5.1.6 2756 | once: 1.4.0 2757 | 2758 | globals@14.0.0: {} 2759 | 2760 | globalyzer@0.1.0: {} 2761 | 2762 | globrex@0.1.2: {} 2763 | 2764 | graceful-fs@4.2.11: {} 2765 | 2766 | graphemer@1.4.0: {} 2767 | 2768 | has-flag@4.0.0: {} 2769 | 2770 | has-unicode@2.0.1: {} 2771 | 2772 | hasown@2.0.2: 2773 | dependencies: 2774 | function-bind: 1.1.2 2775 | 2776 | highlight.js@11.10.0: {} 2777 | 2778 | https-proxy-agent@5.0.1: 2779 | dependencies: 2780 | agent-base: 6.0.2 2781 | debug: 4.3.7 2782 | transitivePeerDependencies: 2783 | - supports-color 2784 | 2785 | idb-keyval@6.2.1: {} 2786 | 2787 | ignore-walk@5.0.1: 2788 | dependencies: 2789 | minimatch: 5.1.6 2790 | 2791 | ignore@5.3.2: {} 2792 | 2793 | import-fresh@3.3.0: 2794 | dependencies: 2795 | parent-module: 1.0.1 2796 | resolve-from: 4.0.0 2797 | 2798 | import-meta-resolve@4.1.0: {} 2799 | 2800 | imurmurhash@0.1.4: {} 2801 | 2802 | inflight@1.0.6: 2803 | dependencies: 2804 | once: 1.4.0 2805 | wrappy: 1.0.2 2806 | 2807 | inherits@2.0.4: {} 2808 | 2809 | is-binary-path@2.1.0: 2810 | dependencies: 2811 | binary-extensions: 2.3.0 2812 | 2813 | is-core-module@2.15.1: 2814 | dependencies: 2815 | hasown: 2.0.2 2816 | 2817 | is-extglob@2.1.1: {} 2818 | 2819 | is-fullwidth-code-point@3.0.0: {} 2820 | 2821 | is-glob@4.0.3: 2822 | dependencies: 2823 | is-extglob: 2.1.1 2824 | 2825 | is-number@7.0.0: {} 2826 | 2827 | is-reference@3.0.2: 2828 | dependencies: 2829 | '@types/estree': 1.0.6 2830 | 2831 | isexe@2.0.0: {} 2832 | 2833 | jackspeak@3.4.3: 2834 | dependencies: 2835 | '@isaacs/cliui': 8.0.2 2836 | optionalDependencies: 2837 | '@pkgjs/parseargs': 0.11.0 2838 | 2839 | jiti@1.21.6: {} 2840 | 2841 | js-yaml@4.1.0: 2842 | dependencies: 2843 | argparse: 2.0.1 2844 | 2845 | json-buffer@3.0.1: {} 2846 | 2847 | json-schema-traverse@0.4.1: {} 2848 | 2849 | json-stable-stringify-without-jsonify@1.0.1: {} 2850 | 2851 | keyv@4.5.4: 2852 | dependencies: 2853 | json-buffer: 3.0.1 2854 | 2855 | kleur@4.1.5: {} 2856 | 2857 | known-css-properties@0.35.0: {} 2858 | 2859 | levn@0.4.1: 2860 | dependencies: 2861 | prelude-ls: 1.2.1 2862 | type-check: 0.4.0 2863 | 2864 | lilconfig@2.1.0: {} 2865 | 2866 | lilconfig@3.1.2: {} 2867 | 2868 | lines-and-columns@1.2.4: {} 2869 | 2870 | locate-character@3.0.0: {} 2871 | 2872 | locate-path@6.0.0: 2873 | dependencies: 2874 | p-locate: 5.0.0 2875 | 2876 | lodash.merge@4.6.2: {} 2877 | 2878 | lower-case@2.0.2: 2879 | dependencies: 2880 | tslib: 2.8.0 2881 | 2882 | lru-cache@10.4.3: {} 2883 | 2884 | lucide-svelte@0.453.0(svelte@5.1.3): 2885 | dependencies: 2886 | svelte: 5.1.3 2887 | 2888 | magic-string@0.30.12: 2889 | dependencies: 2890 | '@jridgewell/sourcemap-codec': 1.5.0 2891 | 2892 | make-dir@3.1.0: 2893 | dependencies: 2894 | semver: 6.3.1 2895 | 2896 | merge2@1.4.1: {} 2897 | 2898 | micromatch@4.0.8: 2899 | dependencies: 2900 | braces: 3.0.3 2901 | picomatch: 2.3.1 2902 | 2903 | minimatch@3.1.2: 2904 | dependencies: 2905 | brace-expansion: 1.1.11 2906 | 2907 | minimatch@5.1.6: 2908 | dependencies: 2909 | brace-expansion: 2.0.1 2910 | 2911 | minimatch@9.0.5: 2912 | dependencies: 2913 | brace-expansion: 2.0.1 2914 | 2915 | minipass@3.3.6: 2916 | dependencies: 2917 | yallist: 4.0.0 2918 | 2919 | minipass@5.0.0: {} 2920 | 2921 | minipass@7.1.2: {} 2922 | 2923 | minizlib@2.1.2: 2924 | dependencies: 2925 | minipass: 3.3.6 2926 | yallist: 4.0.0 2927 | 2928 | mkdirp@1.0.4: {} 2929 | 2930 | mode-watcher@0.4.1(svelte@5.1.3): 2931 | dependencies: 2932 | svelte: 5.1.3 2933 | 2934 | mri@1.2.0: {} 2935 | 2936 | mrmime@2.0.0: {} 2937 | 2938 | ms@2.1.3: {} 2939 | 2940 | mz@2.7.0: 2941 | dependencies: 2942 | any-promise: 1.3.0 2943 | object-assign: 4.1.1 2944 | thenify-all: 1.6.0 2945 | 2946 | nanoid@3.3.7: {} 2947 | 2948 | nanoid@5.0.7: {} 2949 | 2950 | natural-compare@1.4.0: {} 2951 | 2952 | no-case@3.0.4: 2953 | dependencies: 2954 | lower-case: 2.0.2 2955 | tslib: 2.8.0 2956 | 2957 | node-fetch@2.7.0: 2958 | dependencies: 2959 | whatwg-url: 5.0.0 2960 | 2961 | node-gyp-build@4.8.2: {} 2962 | 2963 | node-releases@2.0.18: {} 2964 | 2965 | nopt@5.0.0: 2966 | dependencies: 2967 | abbrev: 1.1.1 2968 | 2969 | normalize-path@3.0.0: {} 2970 | 2971 | normalize-range@0.1.2: {} 2972 | 2973 | npm-bundled@2.0.1: 2974 | dependencies: 2975 | npm-normalize-package-bin: 2.0.0 2976 | 2977 | npm-normalize-package-bin@2.0.0: {} 2978 | 2979 | npm-packlist@5.1.3: 2980 | dependencies: 2981 | glob: 8.1.0 2982 | ignore-walk: 5.0.1 2983 | npm-bundled: 2.0.1 2984 | npm-normalize-package-bin: 2.0.0 2985 | 2986 | npmlog@5.0.1: 2987 | dependencies: 2988 | are-we-there-yet: 2.0.0 2989 | console-control-strings: 1.1.0 2990 | gauge: 3.0.2 2991 | set-blocking: 2.0.0 2992 | 2993 | object-assign@4.1.1: {} 2994 | 2995 | object-hash@3.0.0: {} 2996 | 2997 | once@1.4.0: 2998 | dependencies: 2999 | wrappy: 1.0.2 3000 | 3001 | optionator@0.9.4: 3002 | dependencies: 3003 | deep-is: 0.1.4 3004 | fast-levenshtein: 2.0.6 3005 | levn: 0.4.1 3006 | prelude-ls: 1.2.1 3007 | type-check: 0.4.0 3008 | word-wrap: 1.2.5 3009 | 3010 | p-limit@3.1.0: 3011 | dependencies: 3012 | yocto-queue: 0.1.0 3013 | 3014 | p-locate@5.0.0: 3015 | dependencies: 3016 | p-limit: 3.1.0 3017 | 3018 | package-json-from-dist@1.0.1: {} 3019 | 3020 | parent-module@1.0.1: 3021 | dependencies: 3022 | callsites: 3.1.0 3023 | 3024 | pascal-case@3.1.2: 3025 | dependencies: 3026 | no-case: 3.0.4 3027 | tslib: 2.8.0 3028 | 3029 | path-exists@4.0.0: {} 3030 | 3031 | path-is-absolute@1.0.1: {} 3032 | 3033 | path-key@3.1.1: {} 3034 | 3035 | path-parse@1.0.7: {} 3036 | 3037 | path-scurry@1.11.1: 3038 | dependencies: 3039 | lru-cache: 10.4.3 3040 | minipass: 7.1.2 3041 | 3042 | picocolors@1.1.1: {} 3043 | 3044 | picomatch@2.3.1: {} 3045 | 3046 | pify@2.3.0: {} 3047 | 3048 | pirates@4.0.6: {} 3049 | 3050 | postcss-import@15.1.0(postcss@8.4.47): 3051 | dependencies: 3052 | postcss: 8.4.47 3053 | postcss-value-parser: 4.2.0 3054 | read-cache: 1.0.0 3055 | resolve: 1.22.8 3056 | 3057 | postcss-js@4.0.1(postcss@8.4.47): 3058 | dependencies: 3059 | camelcase-css: 2.0.1 3060 | postcss: 8.4.47 3061 | 3062 | postcss-load-config@3.1.4(postcss@8.4.47): 3063 | dependencies: 3064 | lilconfig: 2.1.0 3065 | yaml: 1.10.2 3066 | optionalDependencies: 3067 | postcss: 8.4.47 3068 | 3069 | postcss-load-config@4.0.2(postcss@8.4.47): 3070 | dependencies: 3071 | lilconfig: 3.1.2 3072 | yaml: 2.6.0 3073 | optionalDependencies: 3074 | postcss: 8.4.47 3075 | 3076 | postcss-load-config@6.0.1(jiti@1.21.6)(postcss@8.4.47)(yaml@2.6.0): 3077 | dependencies: 3078 | lilconfig: 3.1.2 3079 | optionalDependencies: 3080 | jiti: 1.21.6 3081 | postcss: 8.4.47 3082 | yaml: 2.6.0 3083 | 3084 | postcss-nested@6.2.0(postcss@8.4.47): 3085 | dependencies: 3086 | postcss: 8.4.47 3087 | postcss-selector-parser: 6.1.2 3088 | 3089 | postcss-safe-parser@6.0.0(postcss@8.4.47): 3090 | dependencies: 3091 | postcss: 8.4.47 3092 | 3093 | postcss-scss@4.0.9(postcss@8.4.47): 3094 | dependencies: 3095 | postcss: 8.4.47 3096 | 3097 | postcss-selector-parser@6.1.2: 3098 | dependencies: 3099 | cssesc: 3.0.0 3100 | util-deprecate: 1.0.2 3101 | 3102 | postcss-value-parser@4.2.0: {} 3103 | 3104 | postcss@8.4.47: 3105 | dependencies: 3106 | nanoid: 3.3.7 3107 | picocolors: 1.1.1 3108 | source-map-js: 1.2.1 3109 | 3110 | prelude-ls@1.2.1: {} 3111 | 3112 | prettier-plugin-tailwindcss@0.6.8(prettier@3.3.3): 3113 | dependencies: 3114 | prettier: 3.3.3 3115 | 3116 | prettier@3.3.3: {} 3117 | 3118 | publint@0.2.12: 3119 | dependencies: 3120 | npm-packlist: 5.1.3 3121 | picocolors: 1.1.1 3122 | sade: 1.8.1 3123 | 3124 | punycode@2.3.1: {} 3125 | 3126 | queue-microtask@1.2.3: {} 3127 | 3128 | read-cache@1.0.0: 3129 | dependencies: 3130 | pify: 2.3.0 3131 | 3132 | readable-stream@3.6.2: 3133 | dependencies: 3134 | inherits: 2.0.4 3135 | string_decoder: 1.3.0 3136 | util-deprecate: 1.0.2 3137 | 3138 | readdirp@3.6.0: 3139 | dependencies: 3140 | picomatch: 2.3.1 3141 | 3142 | readdirp@4.0.2: {} 3143 | 3144 | resolve-from@4.0.0: {} 3145 | 3146 | resolve-from@5.0.0: {} 3147 | 3148 | resolve@1.22.8: 3149 | dependencies: 3150 | is-core-module: 2.15.1 3151 | path-parse: 1.0.7 3152 | supports-preserve-symlinks-flag: 1.0.0 3153 | 3154 | reusify@1.0.4: {} 3155 | 3156 | rimraf@3.0.2: 3157 | dependencies: 3158 | glob: 7.2.3 3159 | 3160 | rollup@4.24.1: 3161 | dependencies: 3162 | '@types/estree': 1.0.6 3163 | optionalDependencies: 3164 | '@rollup/rollup-android-arm-eabi': 4.24.1 3165 | '@rollup/rollup-android-arm64': 4.24.1 3166 | '@rollup/rollup-darwin-arm64': 4.24.1 3167 | '@rollup/rollup-darwin-x64': 4.24.1 3168 | '@rollup/rollup-freebsd-x64': 4.24.1 3169 | '@rollup/rollup-linux-arm-gnueabihf': 4.24.1 3170 | '@rollup/rollup-linux-arm-musleabihf': 4.24.1 3171 | '@rollup/rollup-linux-arm64-gnu': 4.24.1 3172 | '@rollup/rollup-linux-arm64-musl': 4.24.1 3173 | '@rollup/rollup-linux-powerpc64le-gnu': 4.24.1 3174 | '@rollup/rollup-linux-riscv64-gnu': 4.24.1 3175 | '@rollup/rollup-linux-s390x-gnu': 4.24.1 3176 | '@rollup/rollup-linux-x64-gnu': 4.24.1 3177 | '@rollup/rollup-linux-x64-musl': 4.24.1 3178 | '@rollup/rollup-win32-arm64-msvc': 4.24.1 3179 | '@rollup/rollup-win32-ia32-msvc': 4.24.1 3180 | '@rollup/rollup-win32-x64-msvc': 4.24.1 3181 | fsevents: 2.3.3 3182 | 3183 | run-parallel@1.2.0: 3184 | dependencies: 3185 | queue-microtask: 1.2.3 3186 | 3187 | sade@1.8.1: 3188 | dependencies: 3189 | mri: 1.2.0 3190 | 3191 | safe-buffer@5.2.1: {} 3192 | 3193 | scroll-into-view-if-needed@3.1.0: 3194 | dependencies: 3195 | compute-scroll-into-view: 3.1.0 3196 | 3197 | semver@6.3.1: {} 3198 | 3199 | semver@7.6.3: {} 3200 | 3201 | set-blocking@2.0.0: {} 3202 | 3203 | set-cookie-parser@2.7.1: {} 3204 | 3205 | shebang-command@2.0.0: 3206 | dependencies: 3207 | shebang-regex: 3.0.0 3208 | 3209 | shebang-regex@3.0.0: {} 3210 | 3211 | signal-exit@3.0.7: {} 3212 | 3213 | signal-exit@4.1.0: {} 3214 | 3215 | sirv@3.0.0: 3216 | dependencies: 3217 | '@polka/url': 1.0.0-next.28 3218 | mrmime: 2.0.0 3219 | totalist: 3.0.1 3220 | 3221 | sjcl-bit-array@1.0.0: {} 3222 | 3223 | sjcl-codec-hex@1.0.0: 3224 | dependencies: 3225 | sjcl-bit-array: 1.0.0 3226 | 3227 | sjcl-es@2.0.0: {} 3228 | 3229 | source-map-js@1.2.1: {} 3230 | 3231 | string-width@4.2.3: 3232 | dependencies: 3233 | emoji-regex: 8.0.0 3234 | is-fullwidth-code-point: 3.0.0 3235 | strip-ansi: 6.0.1 3236 | 3237 | string-width@5.1.2: 3238 | dependencies: 3239 | eastasianwidth: 0.2.0 3240 | emoji-regex: 9.2.2 3241 | strip-ansi: 7.1.0 3242 | 3243 | string_decoder@1.3.0: 3244 | dependencies: 3245 | safe-buffer: 5.2.1 3246 | 3247 | strip-ansi@6.0.1: 3248 | dependencies: 3249 | ansi-regex: 5.0.1 3250 | 3251 | strip-ansi@7.1.0: 3252 | dependencies: 3253 | ansi-regex: 6.1.0 3254 | 3255 | strip-json-comments@3.1.1: {} 3256 | 3257 | sucrase@3.35.0: 3258 | dependencies: 3259 | '@jridgewell/gen-mapping': 0.3.5 3260 | commander: 4.1.1 3261 | glob: 10.4.5 3262 | lines-and-columns: 1.2.4 3263 | mz: 2.7.0 3264 | pirates: 4.0.6 3265 | ts-interface-checker: 0.1.13 3266 | 3267 | supports-color@7.2.0: 3268 | dependencies: 3269 | has-flag: 4.0.0 3270 | 3271 | supports-preserve-symlinks-flag@1.0.0: {} 3272 | 3273 | svelte-check@4.0.5(svelte@5.1.3)(typescript@5.6.3): 3274 | dependencies: 3275 | '@jridgewell/trace-mapping': 0.3.25 3276 | chokidar: 4.0.1 3277 | fdir: 6.4.2 3278 | picocolors: 1.1.1 3279 | sade: 1.8.1 3280 | svelte: 5.1.3 3281 | typescript: 5.6.3 3282 | transitivePeerDependencies: 3283 | - picomatch 3284 | 3285 | svelte-eslint-parser@0.43.0(svelte@5.1.3): 3286 | dependencies: 3287 | eslint-scope: 7.2.2 3288 | eslint-visitor-keys: 3.4.3 3289 | espree: 9.6.1 3290 | postcss: 8.4.47 3291 | postcss-scss: 4.0.9(postcss@8.4.47) 3292 | optionalDependencies: 3293 | svelte: 5.1.3 3294 | 3295 | svelte2tsx@0.7.22(svelte@5.1.3)(typescript@5.6.3): 3296 | dependencies: 3297 | dedent-js: 1.0.1 3298 | pascal-case: 3.1.2 3299 | svelte: 5.1.3 3300 | typescript: 5.6.3 3301 | 3302 | svelte@5.1.3: 3303 | dependencies: 3304 | '@ampproject/remapping': 2.3.0 3305 | '@jridgewell/sourcemap-codec': 1.5.0 3306 | '@types/estree': 1.0.6 3307 | acorn: 8.14.0 3308 | acorn-typescript: 1.4.13(acorn@8.14.0) 3309 | aria-query: 5.3.2 3310 | axobject-query: 4.1.0 3311 | esm-env: 1.0.0 3312 | esrap: 1.2.2 3313 | is-reference: 3.0.2 3314 | locate-character: 3.0.0 3315 | magic-string: 0.30.12 3316 | zimmerframe: 1.1.2 3317 | 3318 | svhighlight@0.7.1: 3319 | dependencies: 3320 | highlight.js: 11.10.0 3321 | scroll-into-view-if-needed: 3.1.0 3322 | 3323 | tabbable@6.2.0: {} 3324 | 3325 | tailwind-merge@2.5.4: {} 3326 | 3327 | tailwind-variants@0.2.1(tailwindcss@3.4.14): 3328 | dependencies: 3329 | tailwind-merge: 2.5.4 3330 | tailwindcss: 3.4.14 3331 | 3332 | tailwindcss@3.4.14: 3333 | dependencies: 3334 | '@alloc/quick-lru': 5.2.0 3335 | arg: 5.0.2 3336 | chokidar: 3.6.0 3337 | didyoumean: 1.2.2 3338 | dlv: 1.1.3 3339 | fast-glob: 3.3.2 3340 | glob-parent: 6.0.2 3341 | is-glob: 4.0.3 3342 | jiti: 1.21.6 3343 | lilconfig: 2.1.0 3344 | micromatch: 4.0.8 3345 | normalize-path: 3.0.0 3346 | object-hash: 3.0.0 3347 | picocolors: 1.1.1 3348 | postcss: 8.4.47 3349 | postcss-import: 15.1.0(postcss@8.4.47) 3350 | postcss-js: 4.0.1(postcss@8.4.47) 3351 | postcss-load-config: 4.0.2(postcss@8.4.47) 3352 | postcss-nested: 6.2.0(postcss@8.4.47) 3353 | postcss-selector-parser: 6.1.2 3354 | resolve: 1.22.8 3355 | sucrase: 3.35.0 3356 | transitivePeerDependencies: 3357 | - ts-node 3358 | 3359 | tar@6.2.1: 3360 | dependencies: 3361 | chownr: 2.0.0 3362 | fs-minipass: 2.1.0 3363 | minipass: 5.0.0 3364 | minizlib: 2.1.2 3365 | mkdirp: 1.0.4 3366 | yallist: 4.0.0 3367 | 3368 | text-table@0.2.0: {} 3369 | 3370 | thenify-all@1.6.0: 3371 | dependencies: 3372 | thenify: 3.3.1 3373 | 3374 | thenify@3.3.1: 3375 | dependencies: 3376 | any-promise: 1.3.0 3377 | 3378 | tiny-glob@0.2.9: 3379 | dependencies: 3380 | globalyzer: 0.1.0 3381 | globrex: 0.1.2 3382 | 3383 | to-regex-range@5.0.1: 3384 | dependencies: 3385 | is-number: 7.0.0 3386 | 3387 | totalist@3.0.1: {} 3388 | 3389 | tr46@0.0.3: {} 3390 | 3391 | ts-api-utils@1.3.0(typescript@5.6.3): 3392 | dependencies: 3393 | typescript: 5.6.3 3394 | 3395 | ts-interface-checker@0.1.13: {} 3396 | 3397 | tslib@2.8.0: {} 3398 | 3399 | type-check@0.4.0: 3400 | dependencies: 3401 | prelude-ls: 1.2.1 3402 | 3403 | typescript@5.6.3: {} 3404 | 3405 | update-browserslist-db@1.1.1(browserslist@4.24.2): 3406 | dependencies: 3407 | browserslist: 4.24.2 3408 | escalade: 3.2.0 3409 | picocolors: 1.1.1 3410 | 3411 | uri-js@4.4.1: 3412 | dependencies: 3413 | punycode: 2.3.1 3414 | 3415 | util-deprecate@1.0.2: {} 3416 | 3417 | vite@5.4.10: 3418 | dependencies: 3419 | esbuild: 0.21.5 3420 | postcss: 8.4.47 3421 | rollup: 4.24.1 3422 | optionalDependencies: 3423 | fsevents: 2.3.3 3424 | 3425 | vitefu@1.0.3(vite@5.4.10): 3426 | optionalDependencies: 3427 | vite: 5.4.10 3428 | 3429 | webidl-conversions@3.0.1: {} 3430 | 3431 | whatwg-url@5.0.0: 3432 | dependencies: 3433 | tr46: 0.0.3 3434 | webidl-conversions: 3.0.1 3435 | 3436 | which@2.0.2: 3437 | dependencies: 3438 | isexe: 2.0.0 3439 | 3440 | wide-align@1.1.5: 3441 | dependencies: 3442 | string-width: 4.2.3 3443 | 3444 | word-wrap@1.2.5: {} 3445 | 3446 | wrap-ansi@7.0.0: 3447 | dependencies: 3448 | ansi-styles: 4.3.0 3449 | string-width: 4.2.3 3450 | strip-ansi: 6.0.1 3451 | 3452 | wrap-ansi@8.1.0: 3453 | dependencies: 3454 | ansi-styles: 6.2.1 3455 | string-width: 5.1.2 3456 | strip-ansi: 7.1.0 3457 | 3458 | wrappy@1.0.2: {} 3459 | 3460 | yallist@4.0.0: {} 3461 | 3462 | yaml@1.10.2: {} 3463 | 3464 | yaml@2.6.0: {} 3465 | 3466 | yocto-queue@0.1.0: {} 3467 | 3468 | zimmerframe@1.1.2: {} 3469 | --------------------------------------------------------------------------------