├── .npmrc
├── .npmignore
├── examples
├── images.ts
├── main.tsx
├── index.html
├── Default.tsx
├── Static.tsx
├── App.css
├── App.tsx
└── global.css
├── .github
└── workflows
│ ├── test.yml
│ └── deploy.yml
├── .gitignore
├── tsconfig.json
├── vite.config.js
├── package.json
├── __tests__
└── component.spec.jsx
├── src
└── index.tsx
├── README.md
└── pnpm-lock.yaml
/.npmrc:
--------------------------------------------------------------------------------
1 | registry=https://registry.npmjs.org
--------------------------------------------------------------------------------
/.npmignore:
--------------------------------------------------------------------------------
1 | /node_modules
2 | /__tests__
3 | /examples
4 | /docs
5 | /src
6 | /.github
7 | index.html
8 | build.js
9 | build-doc.js
10 | vite.config.js
--------------------------------------------------------------------------------
/examples/images.ts:
--------------------------------------------------------------------------------
1 | export const images = [
2 | 'https://i.imgur.com/9xYjgCk.jpg',
3 | 'https://i.imgur.com/bAZWoqx.jpg',
4 | 'https://i.imgur.com/aboaFoB.jpg',
5 | 'https://i.imgur.com/8lEJtbg.jpg',
6 | 'https://i.imgur.com/lBKi66i.jpg'
7 | ]
--------------------------------------------------------------------------------
/examples/main.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { createRoot } from 'react-dom/client';
3 | import App from './App';
4 | import './global.css';
5 |
6 | const domNode = document.getElementById('root')!;
7 |
8 | createRoot(domNode).render(
9 |
10 |
11 |
12 | );
13 |
--------------------------------------------------------------------------------
/.github/workflows/test.yml:
--------------------------------------------------------------------------------
1 | name: Test
2 |
3 | on: [push, pull_request]
4 |
5 | jobs:
6 | test:
7 | runs-on: ubuntu-latest
8 | steps:
9 | - uses: actions/checkout@v2
10 | - uses: actions/setup-node@v1
11 | with:
12 | node-version: 20
13 | - uses: pnpm/action-setup@v2
14 | with:
15 | version: 9.10.0
16 | - run: pnpm i
17 | - run: pnpm pretty
18 | - run: pnpm test
19 |
--------------------------------------------------------------------------------
/examples/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | React-Flickity-Component
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Compiled source #
2 | ###################
3 | *.com
4 | *.class
5 | *.dll
6 | *.exe
7 | *.o
8 | *.so
9 |
10 | # Packages #
11 | ############
12 | # it's better to unpack these files and commit the raw source
13 | # git has its own built in compression methods
14 | *.7z
15 | *.dmg
16 | *.gz
17 | *.iso
18 | *.jar
19 | *.rar
20 | *.tar
21 | *.zip
22 |
23 | # Logs and databases #
24 | ######################
25 | *.log
26 | *.sql
27 | *.sqlite
28 |
29 | # OS generated files #
30 | ######################
31 | .DS_Store
32 | .DS_Store?
33 | ._*
34 | .Spotlight-V100
35 | .Trashes
36 | ehthumbs.db
37 | Thumbs.db
38 |
39 | # Editors #
40 | ###########
41 | .idea
42 |
43 | # Custom #
44 | ##########
45 | /node_modules
46 | /docs
47 | /dist
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ES2020",
4 | "lib": ["ES2020", "DOM", "DOM.Iterable"],
5 | "module": "ESNext",
6 | "allowJs": true,
7 | "skipLibCheck": true,
8 | "esModuleInterop": true,
9 | "allowSyntheticDefaultImports": true,
10 | "strict": true,
11 | "forceConsistentCasingInFileNames": true,
12 | "moduleResolution": "node",
13 | "resolveJsonModule": true,
14 | "isolatedModules": true,
15 | "noEmit": false,
16 | "jsx": "react-jsx",
17 | "declaration": true,
18 | "declarationDir": "./dist",
19 | "outDir": "./dist"
20 | },
21 | "include": [
22 | "src/**/*"
23 | ],
24 | "exclude": [
25 | "node_modules",
26 | "dist",
27 | "examples",
28 | "__tests__"
29 | ]
30 | }
--------------------------------------------------------------------------------
/.github/workflows/deploy.yml:
--------------------------------------------------------------------------------
1 | name: Deploy docs
2 |
3 | on:
4 | push:
5 | branches: ["master"]
6 |
7 | # Allows you to run this workflow manually from the Actions tab
8 | workflow_dispatch:
9 |
10 | # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
11 | permissions:
12 | contents: read
13 | pages: write
14 | id-token: write
15 |
16 | # Allow one concurrent deployment
17 | concurrency:
18 | group: "pages"
19 | cancel-in-progress: true
20 |
21 | jobs:
22 | deploy:
23 | runs-on: ubuntu-latest
24 | environment:
25 | name: github-pages
26 | url: ${{ steps.deployment.outputs.page_url }}
27 | steps:
28 | - name: Checkout your repository using git
29 | uses: actions/checkout@v4
30 | - uses: actions/setup-node@v4
31 | with:
32 | node-version: 22
33 | - uses: pnpm/action-setup@v2
34 | with:
35 | version: 10
36 | - run: pnpm i
37 | - run: pnpm build:docs
38 | - name: Upload artifact
39 | uses: actions/upload-pages-artifact@v3
40 | with:
41 | path: 'docs/'
42 | - name: Deploy to GitHub Pages
43 | id: deployment
44 | uses: actions/deploy-pages@v4
45 |
--------------------------------------------------------------------------------
/examples/Default.tsx:
--------------------------------------------------------------------------------
1 | import React, { useState } from 'react';
2 | import Flickity from '../src/index';
3 | import { images } from './images';
4 | import { Prism as SyntaxHighlighter } from 'react-syntax-highlighter';
5 | import { oneDark } from 'react-syntax-highlighter/dist/esm/styles/prism';
6 |
7 | export default function Default() {
8 | const [imgs, setImages] = useState(images);
9 |
10 | function addImage() {
11 | const newImages = [...imgs];
12 | newImages.push('https://picsum.photos/200/300');
13 | setImages(newImages);
14 | }
15 |
16 | return (
17 |
18 |
Default Usage
19 |
Basic Flickity carousel with default settings. Children are dynamically managed.
20 |
25 | {`{children}`}
26 |
27 |
28 |
29 | {imgs.map((image) => (
30 |
31 | ))}
32 |
33 |
34 |
35 |
36 | );
37 | }
38 |
--------------------------------------------------------------------------------
/examples/Static.tsx:
--------------------------------------------------------------------------------
1 | import React, { useState } from 'react';
2 | import Flickity from '../src/index';
3 | import { images } from './images';
4 | import { Prism as SyntaxHighlighter } from 'react-syntax-highlighter';
5 | import { oneDark } from 'react-syntax-highlighter/dist/esm/styles/prism';
6 |
7 | export default function Static() {
8 | const [imgs, setImages] = useState(images);
9 |
10 | function addImage() {
11 | const newImages = [...imgs];
12 | newImages.push('https://picsum.photos/200/300');
13 | setImages(newImages);
14 | }
15 |
16 | return (
17 |
18 |
Static Mode with Reload
19 |
Static carousel that reloads when content updates. Better for SSR but requires reloadOnUpdate for dynamic content.
20 |
25 | {`
26 | {children}
27 | `}
28 |
29 |
30 |
31 | {imgs.map((image) => (
32 |
33 | ))}
34 |
35 |
36 |
37 |
38 | );
39 | }
40 |
--------------------------------------------------------------------------------
/vite.config.js:
--------------------------------------------------------------------------------
1 | import { resolve } from 'path'
2 | import { fileURLToPath } from 'url'
3 | import { defineConfig } from 'vite'
4 | import react from '@vitejs/plugin-react'
5 | import { viteCommonjs } from '@originjs/vite-plugin-commonjs'
6 | import dts from 'vite-plugin-dts'
7 |
8 | const __dirname = fileURLToPath(new URL('.', import.meta.url))
9 |
10 | export default defineConfig(({ command, mode }) => {
11 | const base = {
12 | plugins: [
13 | react(),
14 | viteCommonjs(),
15 | ],
16 | test: {
17 | environment: 'jsdom',
18 | },
19 | }
20 |
21 | if (command === 'build') {
22 | if (mode === 'docs') {
23 | return {
24 | ...base,
25 | base: '/react-flickity-component/',
26 | root: resolve(__dirname, 'examples'),
27 | build: {
28 | outDir: '../docs',
29 | emptyOutDir: true,
30 | },
31 | }
32 | } else {
33 | return {
34 | ...base,
35 | plugins: [
36 | ...base.plugins,
37 | dts({
38 | include: ['src/**/*'],
39 | exclude: ['**/*.test.*', '**/*.spec.*'],
40 | }),
41 | ],
42 | build: {
43 | sourcemap: true,
44 | lib: {
45 | entry: resolve(__dirname, 'src/index.tsx'),
46 | name: 'ReactFlickityComponent',
47 | formats: ['es', 'umd'],
48 | fileName: (format) => `react-flickity-component.${format}.js`,
49 | },
50 | rollupOptions: {
51 | external: ['react', 'react-dom', 'imagesloaded', 'flickity'],
52 | output: {
53 | globals: {
54 | react: 'React',
55 | 'react-dom': 'ReactDOM',
56 | imagesloaded: 'imagesloaded',
57 | },
58 | },
59 | },
60 | },
61 | }
62 | }
63 | }
64 |
65 | return base
66 | })
67 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "react-flickity-component",
3 | "version": "5.0.0",
4 | "description": "react flickity component",
5 | "files": [
6 | "dist"
7 | ],
8 | "main": "./dist/react-flickity-component.umd.js",
9 | "module": "./dist/react-flickity-component.es.js",
10 | "exports": {
11 | ".": {
12 | "types": "./dist/index.d.ts",
13 | "import": "./dist/react-flickity-component.es.js",
14 | "require": "./dist/react-flickity-component.umd.js"
15 | }
16 | },
17 | "scripts": {
18 | "pretty": "prettier --single-quote --trailing-comma es5 --write \"src/**/*.ts[x]\" \"examples/**/*.ts[x]\"",
19 | "test": "vitest",
20 | "dev": "vite serve ./examples",
21 | "build": "vite build",
22 | "build:docs": "vite build --mode docs",
23 | "prepublishOnly": "vite build"
24 | },
25 | "author": "theolampert",
26 | "license": "GPL3",
27 | "repository": {
28 | "type": "git",
29 | "url": "git://github.com/yaodingyd/react-flickity-component.git"
30 | },
31 | "keywords": [
32 | "react",
33 | "carousel",
34 | "slider",
35 | "flickity",
36 | "react-component"
37 | ],
38 | "dependencies": {
39 | "imagesloaded": "^4.1.4"
40 | },
41 | "devDependencies": {
42 | "@originjs/vite-plugin-commonjs": "^1.0.3",
43 | "@testing-library/jest-dom": "^6.0.0",
44 | "@testing-library/react": "^16.0.0",
45 | "@types/flickity": "^2.2.0",
46 | "@types/imagesloaded": "^4.1.0",
47 | "@types/react": "^19.0.0",
48 | "@types/react-dom": "^19.0.0",
49 | "@types/react-syntax-highlighter": "^15.5.13",
50 | "@vitejs/plugin-react": "^4.0.0",
51 | "flickity": "^2.2.1",
52 | "jsdom": "^25.0.0",
53 | "prettier": "^3.0.0",
54 | "react": "^19.0.0",
55 | "react-dom": "^19.0.0",
56 | "react-syntax-highlighter": "^15.6.1",
57 | "typescript": "^5.0.0",
58 | "vite": "^6.0.0",
59 | "vite-plugin-dts": "^4.0.0",
60 | "vitest": "^2.0.0"
61 | },
62 | "peerDependencies": {
63 | "flickity": "^2.2.1",
64 | "react": "^19.0.0",
65 | "react-dom": "^19.0.0"
66 | },
67 | "typings": "./dist/index.d.ts",
68 | "packageManager": "pnpm@10.12.1+sha512.f0dda8580f0ee9481c5c79a1d927b9164f2c478e90992ad268bbb2465a736984391d6333d2c327913578b2804af33474ca554ba29c04a8b13060a717675ae3ac"
69 | }
70 |
--------------------------------------------------------------------------------
/__tests__/component.spec.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import {it, expect, vi, afterEach } from 'vitest';
3 | import { render, cleanup, screen, waitFor } from '@testing-library/react';
4 | import Flickity from '../src';
5 |
6 | afterEach(async () => {
7 | await new Promise(resolve => setTimeout(resolve, 0));
8 | cleanup();
9 | });
10 |
11 |
12 | it('Renders component successfully', async () => {
13 | const { container } = render();
14 |
15 | await waitFor(() => {
16 | expect(container.firstChild).toBeTruthy();
17 | });
18 |
19 | expect(container.firstChild).toBeInstanceOf(HTMLElement);
20 | });
21 |
22 | it('Renders children', async () => {
23 | const { getAllByAltText, unmount, container } = render(
24 |
25 |
26 |
27 |
28 |
29 | );
30 |
31 | await waitFor(() => {
32 | expect(container.firstChild).toBeTruthy();
33 | });
34 |
35 | await waitFor(() => expect(getAllByAltText('children').length).toEqual(3));
36 | unmount();
37 | });
38 |
39 | it('Renders a static carousel', async () => {
40 | const { getAllByAltText, unmount } = render(
41 |
42 |
43 |
44 |
45 | );
46 |
47 | await waitFor(() => expect(getAllByAltText('children').length).toEqual(2));
48 | unmount();
49 | });
50 |
51 | it('Reload carousel even it\'s static', async () => {
52 | const { getAllByAltText, rerender, unmount } = render(
53 |
54 |
55 |
56 |
57 | );
58 |
59 | await waitFor(() => expect(getAllByAltText('children').length).toEqual(2));
60 |
61 | rerender(
62 |
63 |
64 |
65 |
66 |
67 | );
68 |
69 | await waitFor(() => expect(getAllByAltText('children').length).toEqual(3));
70 | unmount();
71 | });
72 |
--------------------------------------------------------------------------------
/examples/App.css:
--------------------------------------------------------------------------------
1 | /* Documentation site styles */
2 | .tab-nav {
3 | display: flex;
4 | gap: 0;
5 | margin: 2rem 0;
6 | border-bottom: 1px solid var(--border);
7 | }
8 |
9 | .tab-nav button {
10 | background: transparent;
11 | border: none;
12 | border-bottom: 3px solid transparent;
13 | padding: 1rem 1.5rem;
14 | font-size: 1rem;
15 | font-weight: 500;
16 | color: var(--text-light);
17 | cursor: pointer;
18 | transition: all 0.2s ease;
19 | margin: 0;
20 | }
21 |
22 | .tab-nav button:hover {
23 | color: var(--accent);
24 | background: var(--accent-bg);
25 | filter: none;
26 | }
27 |
28 | .tab-nav button.active {
29 | color: var(--accent);
30 | border-bottom-color: var(--accent);
31 | background: transparent;
32 | }
33 |
34 | .examples-section {
35 | padding: 2rem 0;
36 | }
37 |
38 | .docs-section {
39 | display: grid;
40 | grid-template-columns: 150px 1fr;
41 | gap: 3rem;
42 | padding: 2rem 0;
43 | align-items: start;
44 | }
45 |
46 | .docs-nav {
47 | position: sticky;
48 | top: 2rem;
49 | }
50 |
51 | .docs-nav ul {
52 | list-style: none;
53 | padding: 0;
54 | margin: 0;
55 | }
56 |
57 | .docs-nav li {
58 | margin-bottom: 0.5rem;
59 | }
60 |
61 | .docs-nav a {
62 | display: block;
63 | padding: 0.5rem 1rem;
64 | text-decoration: none;
65 | color: var(--text-light);
66 | border-radius: 5px;
67 | transition: all 0.2s ease;
68 | }
69 |
70 | .docs-nav a:hover {
71 | background: var(--accent-bg);
72 | color: var(--accent);
73 | }
74 |
75 | .docs-content article {
76 | margin-bottom: 3rem;
77 | }
78 |
79 | .docs-content h2 {
80 | margin-top: 0;
81 | color: var(--accent);
82 | border-bottom: 2px solid var(--accent-bg);
83 | padding-bottom: 0.5rem;
84 | }
85 |
86 | .docs-content table {
87 | width: 100%;
88 | margin: 1.5rem 0;
89 | }
90 |
91 | .docs-content code {
92 | background: var(--accent-bg);
93 | padding: 0.2rem 0.4rem;
94 | border-radius: 3px;
95 | font-size: 0.9em;
96 | }
97 |
98 | .docs-content pre {
99 | background: var(--accent-bg);
100 | border: 1px solid var(--border);
101 | border-radius: 5px;
102 | overflow-x: auto;
103 | }
104 |
105 | /* Carousel styles */
106 | .carousel {
107 | height: 300px;
108 | margin: 1rem 0;
109 | }
110 |
111 | .carousel-image {
112 | min-width: 200px;
113 | height: 250px;
114 | object-fit: cover;
115 | border-radius: 8px;
116 | margin-right: 1rem;
117 | }
118 |
119 | /* Example sections */
120 | .example-card {
121 | margin-bottom: 3rem;
122 | padding: 2rem;
123 | border: 1px solid var(--border);
124 | border-radius: 8px;
125 | background: var(--accent-bg);
126 | }
127 |
128 | .examples-section h3 {
129 | margin-top: 0;
130 | color: var(--accent);
131 | }
132 |
133 | .examples-section pre {
134 | background: var(--bg);
135 | border: 1px solid var(--border);
136 | padding: 1rem;
137 | border-radius: 5px;
138 | font-size: 0.9rem;
139 | margin: 1rem 0;
140 | }
141 |
142 | .examples-section button {
143 | margin-top: 1rem;
144 | }
145 |
146 | /* Mobile responsiveness */
147 | @media only screen and (max-width: 720px) {
148 | .docs-section {
149 | grid-template-columns: 1fr;
150 | gap: 1rem;
151 | }
152 |
153 | .docs-nav {
154 | position: static;
155 | order: 2;
156 | }
157 |
158 | .docs-content {
159 | order: 1;
160 | }
161 |
162 | .tab-nav {
163 | flex-direction: column;
164 | }
165 |
166 | .tab-nav button {
167 | text-align: left;
168 | border-bottom: 1px solid var(--border);
169 | border-radius: 0;
170 | }
171 |
172 | .carousel-image {
173 | min-width: 150px;
174 | height: 200px;
175 | }
176 | }
--------------------------------------------------------------------------------
/src/index.tsx:
--------------------------------------------------------------------------------
1 | import React, { Component, ReactNode } from 'react';
2 | import { createPortal } from 'react-dom';
3 | import imagesloaded from 'imagesloaded';
4 | import Flickity from 'flickity';
5 |
6 | const canUseDOM = !!(
7 | typeof window !== 'undefined' &&
8 | window.document &&
9 | window.document.createElement
10 | );
11 |
12 | export type FlickityEventName =
13 | | 'ready'
14 | | 'change'
15 | | 'select'
16 | | 'settle'
17 | | 'scroll'
18 | | 'dragStart'
19 | | 'dragMove'
20 | | 'dragEnd'
21 | | 'pointerDown'
22 | | 'pointerMove'
23 | | 'pointerUp'
24 | | 'staticClick'
25 | | 'lazyLoad'
26 | | 'bgLazyLoad'
27 | | 'fullscreenChange';
28 |
29 | export interface ReactFlickityComponentProps {
30 | className?: string;
31 | disableImagesLoaded?: boolean;
32 | elementType?: string;
33 | flickityRef?: (ref: Flickity) => void;
34 | options?: Flickity.Options;
35 | reloadOnUpdate?: boolean;
36 | static?: boolean;
37 | children?: ReactNode;
38 | }
39 |
40 | interface FlickityComponentState {
41 | flickityReady: boolean;
42 | flickityCreated: boolean;
43 | cellCount: number;
44 | }
45 |
46 | interface FlickityInstance extends Flickity {
47 | isActive: boolean;
48 | deactivate: () => void;
49 | selectedIndex: number;
50 | options: Flickity.Options;
51 | activate: () => void;
52 | }
53 |
54 | class FlickityComponent extends Component<
55 | ReactFlickityComponentProps,
56 | FlickityComponentState
57 | > {
58 | static defaultProps: Partial = {
59 | className: '',
60 | disableImagesLoaded: false,
61 | elementType: 'div',
62 | options: {},
63 | reloadOnUpdate: false,
64 | static: false,
65 | };
66 |
67 | private carousel: HTMLElement | null = null;
68 | private flkty: FlickityInstance | null = null;
69 |
70 | constructor(props: ReactFlickityComponentProps) {
71 | super(props);
72 |
73 | this.state = {
74 | flickityReady: false,
75 | flickityCreated: false,
76 | cellCount: 0,
77 | };
78 | }
79 |
80 | static getDerivedStateFromProps(
81 | props: ReactFlickityComponentProps,
82 | state: FlickityComponentState
83 | ) {
84 | const cellCount = React.Children.count(props.children);
85 | if (cellCount !== state.cellCount)
86 | return { flickityReady: false, cellCount };
87 | return null;
88 | }
89 |
90 | componentDidUpdate(
91 | prevProps: ReactFlickityComponentProps,
92 | prevState: FlickityComponentState
93 | ) {
94 | if (!this.flkty) return;
95 | const {
96 | children,
97 | options: { draggable, initialIndex } = {},
98 | reloadOnUpdate,
99 | disableImagesLoaded,
100 | } = this.props;
101 | const { flickityReady } = this.state;
102 |
103 | if (reloadOnUpdate || (!prevState.flickityReady && flickityReady)) {
104 | const isActive = this.flkty.isActive;
105 | this.flkty.deactivate();
106 | this.flkty.selectedIndex = Number(initialIndex) || 0;
107 | this.flkty.options.draggable =
108 | draggable === undefined
109 | ? children
110 | ? React.Children.count(children) > 1
111 | : false
112 | : draggable;
113 | if (isActive) this.flkty.activate();
114 | if (!disableImagesLoaded && this.carousel) {
115 | imagesloaded(this.carousel, () => {
116 | this.flkty?.reloadCells();
117 | });
118 | }
119 | } else {
120 | this.flkty.reloadCells();
121 | }
122 | }
123 |
124 | async componentDidMount() {
125 | if (!canUseDOM || !this.carousel) return;
126 | const FlickityClass = (await import('flickity')).default;
127 | const { flickityRef, options = {} } = this.props;
128 | this.flkty = new FlickityClass(this.carousel, options) as FlickityInstance;
129 | if (flickityRef) flickityRef(this.flkty);
130 | if (this.props.static) {
131 | this.setReady();
132 | } else {
133 | this.setState({ flickityCreated: true });
134 | }
135 | }
136 |
137 | setReady() {
138 | if (this.state.flickityReady) return;
139 | const setFlickityToReady = () => this.setState({ flickityReady: true });
140 | if (this.props.disableImagesLoaded) setFlickityToReady();
141 | else if (this.carousel) imagesloaded(this.carousel, setFlickityToReady);
142 | }
143 |
144 | renderPortal() {
145 | if (!this.carousel) return null;
146 | const mountNode = this.carousel.querySelector('.flickity-slider');
147 | if (mountNode) {
148 | const element = createPortal(this.props.children, mountNode);
149 | setTimeout(() => this.setReady(), 0);
150 | return element;
151 | }
152 | }
153 |
154 | render() {
155 | const {
156 | elementType = 'div',
157 | className = '',
158 | static: isStatic,
159 | children,
160 | } = this.props;
161 |
162 | return React.createElement(
163 | elementType,
164 | {
165 | className,
166 | ref: (c: HTMLElement | null) => {
167 | this.carousel = c;
168 | },
169 | },
170 | isStatic ? children : this.renderPortal()
171 | );
172 | }
173 | }
174 |
175 | export default FlickityComponent;
176 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | React Flickity Component
2 | =======================
3 |
4 | # Introduction:
5 | A React.js Flickity component.
6 |
7 | # Install:
8 |
9 | ```shell
10 | # you need to install flickity as peer dependency, please use v2.3.0 for best experience
11 | npm install flickity@2.3.0
12 | npm install react-flickity-component
13 | ```
14 |
15 | # Usage:
16 |
17 | ## V5 Updates
18 | V5 supports react v19 and above.
19 |
20 | ## V4 Updates
21 | V4 only supports react v18 and above. V4 also comes with an esmodule bundle format to support modern frontend tooling like vite.
22 | If you are staying on react v16, please keep using v3.
23 |
24 | ```javascript
25 | // Commonjs
26 | const Flickity = require('react-flickity-component');
27 | // Or for ES2015 module
28 | import Flickity from 'react-flickity-component'
29 |
30 | const flickityOptions = {
31 | initialIndex: 2
32 | }
33 |
34 | function Carousel() {
35 | return (
36 |
44 |
45 |
46 |
47 |
48 | )
49 | }
50 |
51 | ```
52 | ### Example Usage:
53 | See a codesandbox example here:
54 | https://codesandbox.io/s/react-flickity-demo-wwszqm
55 |
56 | See an example with server side rendering:
57 |
58 | https://github.com/theolampert/react-flickity-component-example
59 |
60 | And with typescript:
61 |
62 | https://github.com/theolampert/react-flickity-component-example/tree/typescript
63 |
64 |
65 | ### Props:
66 |
67 | | Property | Type | Default | Description |
68 | | -------------------- | -----------| --------|---------------------------------------------------------------|
69 | | `className` | `String` | `''` | Applied to top level wrapper |
70 | | `elementType` | `String` | `'div'` | Wrapper's element type |
71 | | `options` | `Object` | `{}` | Flickity initialization options |
72 | | `disableImagesLoaded`| `Boolean` | `false` | Disable call `reloadCells` images are loaded |
73 | | `flickityRef` | `Function` | | Like `ref` function, get Flickity instance in parent component|
74 | | `reloadOnUpdate` | `Boolean` | `false` | **Read next section before you set this prop.** Run `reloadCells` and `resize` on `componentDidUpdate` |
75 | | `static` | `Boolean` | `false` | **Read next section before you set this prop.** Carousel contents are static and not updated at runtime. Useful for smoother server-side rendering however the carousel contents cannot be updated dynamically. |
76 |
77 | ### How it works
78 |
79 | Under the hood, react-flickity-component uses a [React Portal](https://reactjs.org/docs/portals.html) to render children slides inside a Flickity instance. The need for a portal is because after Flickity is initialized, new DOM nodes (mostly Flickity wrapper elements) would be created, this changes the DOM hierarchy of the parent component, thus any future update, whether it's originated from Flickity, like adding/removing slides, or from parent, like a prop changes, will make React fail to reconcile for the DOM snapshot is out of sync.
80 |
81 | [#64](https://github.com/yaodingyd/react-flickity-component/pull/64) introduced a new prop to change the underlying render method: instead of using portal, react-flickity-component will directly render children. This is to create a smoother server-side rendering experience, but **please be aware using `static` prop possibly will cause all your future update to fail,** which means adding/removing slides will definitely fail to render, so use with caution.
82 |
83 | However there is a fail-safe option `reloadOnUpdate`. It means every time there is a update, we tear down and set up Flickity. This will ensure that Flickity is always rendered correctly, but it's a rather costly operation and it **will cause a flicker** since DOM nodes are destroyed and recreated. Please also note it means any update, either rerender of the parent, or any of the props change, will always cause an update in the Flickity component. For more information, see a detailed explanation and workaround in [#147](https://github.com/yaodingyd/react-flickity-component/issues/147).
84 |
85 |
86 | ### Use Flickity's API and events
87 |
88 | You can access the Flickity instance with `flickityRef` prop just like `ref`, and use this instance to register events and use API.
89 |
90 | ```javascript
91 | // function component
92 | function Carousel () {
93 | const ref = React.useRef(null);
94 |
95 | function myCustomNext = () {
96 | // You can use Flickity API
97 | ref.current.next()
98 | }
99 |
100 | React.useEffect(() => {
101 | if (ref.current) {
102 | ref.current.on("settle", () => {
103 | console.log(`current index is ${ref.current.selectedIndex}`);
104 | });
105 | }
106 | }, []);
107 |
108 | return (
109 | ref.current = c}>
110 |
111 |
112 |
113 |
114 |
115 | )
116 | }
117 | // class component
118 | class Carousel extends React.Component {
119 |
120 | componentDidMount = () => {
121 | // You can register events in componentDidMount hook
122 | this.flkty.on('settle', () => {
123 | console.log(`current index is ${this.flkty.selectedIndex}`)
124 | })
125 | }
126 |
127 | myCustomNext = () => {
128 | // You can use Flickity API
129 | this.flkty.next()
130 | }
131 |
132 | render() {
133 | return (
134 | this.flkty = c}>
135 |
136 |
137 |
138 |
139 |
140 | )
141 | }
142 | }
143 | ```
144 |
145 |
146 | # License Information:
147 | [GPLv3](https://www.gnu.org/licenses/gpl-3.0.html)
148 |
149 | Flickity may be used in commercial projects and applications with the one-time purchase of a commercial license.
150 | http://flickity.metafizzy.co/license.html
151 |
152 | See [this issue](https://github.com/theolampert/react-flickity-component/issues/23#issuecomment-493294512) for more information
153 |
--------------------------------------------------------------------------------
/examples/App.tsx:
--------------------------------------------------------------------------------
1 | import Flickity from '../src/index';
2 | import './App.css';
3 | import React, { useState } from 'react';
4 | import { Prism as SyntaxHighlighter } from 'react-syntax-highlighter';
5 | import { oneDark } from 'react-syntax-highlighter/dist/esm/styles/prism';
6 |
7 | import Default from './Default';
8 | import Static from './Static';
9 |
10 | function App() {
11 | const [activeTab, setActiveTab] = useState('examples');
12 |
13 | const apiDocs = {
14 | installation: {
15 | title: 'Installation',
16 | bash: `# Install flickity as peer dependency (use v2.3.0 for best experience)
17 | npm install flickity@2.3.0
18 | npm install react-flickity-component`
19 | },
20 | basicUsage: {
21 | title: 'Basic Usage',
22 | javascript: `// CommonJS
23 | const Flickity = require('react-flickity-component');
24 |
25 | // ES2015 module
26 | import Flickity from 'react-flickity-component'
27 |
28 | const flickityOptions = {
29 | initialIndex: 2
30 | }
31 |
32 | function Carousel() {
33 | return (
34 |
42 |
43 |
44 |
45 |
46 | )
47 | }`
48 | },
49 | props: {
50 | title: 'Props',
51 | content: `# Props
52 |
53 | | Property | Type | Default | Description |
54 | |----------|------|---------|-------------|
55 | | \`className\` | \`String\` | \`''\` | Applied to top level wrapper |
56 | | \`elementType\` | \`String\` | \`'div'\` | Wrapper's element type |
57 | | \`options\` | \`Object\` | \`{}\` | Flickity initialization options |
58 | | \`disableImagesLoaded\` | \`Boolean\` | \`false\` | Disable call \`reloadCells\` images are loaded |
59 | | \`flickityRef\` | \`Function\` | | Like \`ref\` function, get Flickity instance in parent component |
60 | | \`reloadOnUpdate\` | \`Boolean\` | \`false\` | Run \`reloadCells\` and \`resize\` on \`componentDidUpdate\` |
61 | | \`static\` | \`Boolean\` | \`false\` | Carousel contents are static and not updated at runtime |`
62 | },
63 | apiEvents: {
64 | title: 'API & Events',
65 | description: 'You can access the Flickity instance with `flickityRef` prop and use this instance to register events and use API.',
66 | javascript: `// Function component
67 | function Carousel() {
68 | const ref = React.useRef(null);
69 |
70 | const myCustomNext = () => {
71 | // You can use Flickity API
72 | ref.current.next()
73 | }
74 |
75 | React.useEffect(() => {
76 | if (ref.current) {
77 | ref.current.on("settle", () => {
78 | console.log(\`current index is \${ref.current.selectedIndex}\`);
79 | });
80 | }
81 | }, []);
82 |
83 | return (
84 | <>
85 | ref.current = c}>
86 |
87 |
88 |
89 |
90 |
91 | >
92 | )
93 | }`
94 | }
95 | };
96 |
97 | const CodeBlock = ({ code, language }: { code: string; language: string }) => (
98 |
107 | {code}
108 |
109 | );
110 |
111 | return (
112 | <>
113 |
123 |
124 |
125 |
139 |
140 | {activeTab === 'examples' && (
141 |
145 | )}
146 |
147 | {activeTab === 'docs' && (
148 |
149 |
157 |
158 |
159 |
160 | {apiDocs.installation.title}
161 |
162 |
163 |
164 |
165 | {apiDocs.basicUsage.title}
166 |
167 |
168 |
169 |
170 | Props
171 |
172 |
173 |
174 | | Property |
175 | Type |
176 | Default |
177 | Description |
178 |
179 |
180 |
181 | className | String | '' | Applied to top level wrapper |
182 | elementType | String | 'div' | Wrapper's element type |
183 | options | Object | {} | Flickity initialization options |
184 | disableImagesLoaded | Boolean | false | Disable call reloadCells images are loaded |
185 | flickityRef | Function | | Like ref function, get Flickity instance in parent component |
186 | reloadOnUpdate | Boolean | false | Run reloadCells and resize on componentDidUpdate |
187 | static | Boolean | false | Carousel contents are static and not updated at runtime |
188 |
189 |
190 |
191 |
192 |
193 | {apiDocs.apiEvents.title}
194 | {apiDocs.apiEvents.description}
195 |
196 |
197 |
198 |
199 | )}
200 |
201 |
202 |
205 | >
206 | );
207 | }
208 |
209 | export default App;
210 |
--------------------------------------------------------------------------------
/examples/global.css:
--------------------------------------------------------------------------------
1 | /* simple.css https://github.com/kevquirk/simple.css/blob/main/simple.css */
2 | /* Global variables. */
3 | :root {
4 | /* Set sans-serif & mono fonts */
5 | --sans-font: -apple-system, BlinkMacSystemFont, "Avenir Next", Avenir,
6 | "Nimbus Sans L", Roboto, "Noto Sans", "Segoe UI", Arial, Helvetica,
7 | "Helvetica Neue", sans-serif;
8 | --mono-font: Consolas, Menlo, Monaco, "Andale Mono", "Ubuntu Mono", monospace;
9 |
10 | /* Default (light) theme */
11 | --bg: #fff;
12 | --accent-bg: #f5f7ff;
13 | --text: #212121;
14 | --text-light: #585858;
15 | --border: #898EA4;
16 | --accent: #0d47a1;
17 | --code: #d81b60;
18 | --preformatted: #444;
19 | --marked: #ffdd33;
20 | --disabled: #efefef;
21 | }
22 |
23 | /* Dark theme */
24 | @media (prefers-color-scheme: dark) {
25 | :root {
26 | color-scheme: dark;
27 | --bg: #212121;
28 | --accent-bg: #2b2b2b;
29 | --text: #dcdcdc;
30 | --text-light: #ababab;
31 | --accent: #ffb300;
32 | --code: #f06292;
33 | --preformatted: #ccc;
34 | --disabled: #111;
35 | }
36 | /* Add a bit of transparency so light media isn't so glaring in dark mode */
37 | img,
38 | video {
39 | opacity: 0.8;
40 | }
41 | }
42 |
43 | /* Reset box-sizing */
44 | *, *::before, *::after {
45 | box-sizing: border-box;
46 | }
47 |
48 | /* Reset default appearance */
49 | textarea,
50 | select,
51 | input,
52 | progress {
53 | appearance: none;
54 | -webkit-appearance: none;
55 | -moz-appearance: none;
56 | }
57 |
58 | html {
59 | /* Set the font globally */
60 | font-family: var(--sans-font);
61 | scroll-behavior: smooth;
62 | }
63 |
64 | /* Make the body a nice central block */
65 | body {
66 | color: var(--text);
67 | background-color: var(--bg);
68 | font-size: 1.15rem;
69 | line-height: 1.5;
70 | display: grid;
71 | grid-template-columns: 1fr min(45rem, 90%) 1fr;
72 | margin: 0;
73 | }
74 | body > * {
75 | grid-column: 2;
76 | }
77 |
78 | /* Make the header bg full width, but the content inline with body */
79 | body > header {
80 | background-color: var(--accent-bg);
81 | border-bottom: 1px solid var(--border);
82 | text-align: center;
83 | padding: 0 0.5rem 2rem 0.5rem;
84 | grid-column: 1 / -1;
85 | }
86 |
87 | body > header h1 {
88 | max-width: 1200px;
89 | margin: 1rem auto;
90 | }
91 |
92 | body > header p {
93 | max-width: 40rem;
94 | margin: 1rem auto;
95 | }
96 |
97 | /* Add a little padding to ensure spacing is correct between content and header > nav */
98 | main {
99 | padding-top: 1.5rem;
100 | }
101 |
102 | body > footer {
103 | margin-top: 4rem;
104 | padding: 2rem 1rem 1.5rem 1rem;
105 | color: var(--text-light);
106 | font-size: 0.9rem;
107 | text-align: center;
108 | border-top: 1px solid var(--border);
109 | }
110 |
111 | /* Format headers */
112 | h1 {
113 | font-size: 3rem;
114 | }
115 |
116 | h2 {
117 | font-size: 2.6rem;
118 | margin-top: 3rem;
119 | }
120 |
121 | h3 {
122 | font-size: 2rem;
123 | margin-top: 3rem;
124 | }
125 |
126 | h4 {
127 | font-size: 1.44rem;
128 | }
129 |
130 | h5 {
131 | font-size: 1.15rem;
132 | }
133 |
134 | h6 {
135 | font-size: 0.96rem;
136 | }
137 |
138 | /* Prevent long strings from overflowing container */
139 | p, h1, h2, h3, h4, h5, h6 {
140 | overflow-wrap: break-word;
141 | }
142 |
143 | /* Fix line height when title wraps */
144 | h1,
145 | h2,
146 | h3 {
147 | line-height: 1.1;
148 | }
149 |
150 | /* Reduce header size on mobile */
151 | @media only screen and (max-width: 720px) {
152 | h1 {
153 | font-size: 2.5rem;
154 | }
155 |
156 | h2 {
157 | font-size: 2.1rem;
158 | }
159 |
160 | h3 {
161 | font-size: 1.75rem;
162 | }
163 |
164 | h4 {
165 | font-size: 1.25rem;
166 | }
167 | }
168 |
169 | /* Format links & buttons */
170 | a,
171 | a:visited {
172 | color: var(--accent);
173 | }
174 |
175 | a:hover {
176 | text-decoration: none;
177 | }
178 |
179 | button,
180 | [role="button"],
181 | input[type="submit"],
182 | input[type="reset"],
183 | input[type="button"],
184 | label[type="button"] {
185 | border: none;
186 | border-radius: 5px;
187 | background-color: var(--accent);
188 | font-size: 1rem;
189 | color: var(--bg);
190 | padding: 0.7rem 0.9rem;
191 | margin: 0.5rem 0;
192 | }
193 |
194 | button[disabled],
195 | [role="button"][aria-disabled="true"],
196 | input[type="submit"][disabled],
197 | input[type="reset"][disabled],
198 | input[type="button"][disabled],
199 | input[type="checkbox"][disabled],
200 | input[type="radio"][disabled],
201 | select[disabled] {
202 | opacity: 0.5;
203 | cursor: not-allowed;
204 | }
205 |
206 | input:disabled,
207 | textarea:disabled,
208 | select:disabled {
209 | cursor: not-allowed;
210 | background-color: var(--disabled);
211 | }
212 |
213 | input[type="range"] {
214 | padding: 0;
215 | }
216 |
217 | /* Set the cursor to '?' on an abbreviation and style the abbreviation to show that there is more information underneath */
218 | abbr[title] {
219 | cursor: help;
220 | text-decoration-line: underline;
221 | text-decoration-style: dotted;
222 | }
223 |
224 | button:focus,
225 | button:enabled:hover,
226 | [role="button"]:focus,
227 | [role="button"]:not([aria-disabled="true"]):hover,
228 | input[type="submit"]:focus,
229 | input[type="submit"]:enabled:hover,
230 | input[type="reset"]:focus,
231 | input[type="reset"]:enabled:hover,
232 | input[type="button"]:focus,
233 | input[type="button"]:enabled:hover,
234 | label[type="button"]:focus,
235 | label[type="button"]:hover {
236 | filter: brightness(1.4);
237 | cursor: pointer;
238 | }
239 |
240 | /* Format navigation */
241 | header > nav {
242 | font-size: 1rem;
243 | line-height: 2;
244 | padding: 1rem 0 0 0;
245 | }
246 |
247 | /* Use flexbox to allow items to wrap, as needed */
248 | header > nav ul,
249 | header > nav ol {
250 | align-content: space-around;
251 | align-items: center;
252 | display: flex;
253 | flex-direction: row;
254 | flex-wrap: wrap;
255 | justify-content: center;
256 | list-style-type: none;
257 | margin: 0;
258 | padding: 0;
259 | }
260 |
261 | /* List items are inline elements, make them behave more like blocks */
262 | header > nav ul li,
263 | header > nav ol li {
264 | display: inline-block;
265 | }
266 |
267 | header > nav a,
268 | header > nav a:visited {
269 | margin: 0 0.5rem 1rem 0.5rem;
270 | border: 1px solid var(--border);
271 | border-radius: 5px;
272 | color: var(--text);
273 | display: inline-block;
274 | padding: 0.1rem 1rem;
275 | text-decoration: none;
276 | }
277 |
278 | header > nav a:hover {
279 | border-color: var(--accent);
280 | color: var(--accent);
281 | cursor: pointer;
282 | }
283 |
284 | /* Reduce nav side on mobile */
285 | @media only screen and (max-width: 720px) {
286 | header > nav a {
287 | border: none;
288 | padding: 0;
289 | text-decoration: underline;
290 | line-height: 1;
291 | }
292 | }
293 |
294 | /* Consolidate box styling */
295 | aside, details, pre, progress {
296 | background-color: var(--accent-bg);
297 | border: 1px solid var(--border);
298 | border-radius: 5px;
299 | margin-bottom: 1rem;
300 | }
301 |
302 | aside {
303 | font-size: 1rem;
304 | width: 30%;
305 | padding: 0 15px;
306 | margin-left: 15px;
307 | float: right;
308 | }
309 |
310 | /* Make aside full-width on mobile */
311 | @media only screen and (max-width: 720px) {
312 | aside {
313 | width: 100%;
314 | float: none;
315 | margin-left: 0;
316 | }
317 | }
318 |
319 | article, fieldset {
320 | border: 1px solid var(--border);
321 | padding: 1rem;
322 | border-radius: 5px;
323 | margin-bottom: 1rem;
324 | }
325 |
326 | article h2:first-child,
327 | section h2:first-child {
328 | margin-top: 1rem;
329 | }
330 |
331 | section {
332 | border-top: 1px solid var(--border);
333 | border-bottom: 1px solid var(--border);
334 | padding: 2rem 1rem;
335 | margin: 3rem 0;
336 | }
337 |
338 | /* Don't double separators when chaining sections */
339 | section + section,
340 | section:first-child {
341 | border-top: 0;
342 | padding-top: 0;
343 | }
344 |
345 | section:last-child {
346 | border-bottom: 0;
347 | padding-bottom: 0;
348 | }
349 |
350 | details {
351 | padding: 0.7rem 1rem;
352 | }
353 |
354 | summary {
355 | cursor: pointer;
356 | font-weight: bold;
357 | padding: 0.7rem 1rem;
358 | margin: -0.7rem -1rem;
359 | word-break: break-all;
360 | }
361 |
362 | details[open] > summary + * {
363 | margin-top: 0;
364 | }
365 |
366 | details[open] > summary {
367 | margin-bottom: 0.5rem;
368 | }
369 |
370 | details[open] > :last-child {
371 | margin-bottom: 0;
372 | }
373 |
374 | /* Format tables */
375 | table {
376 | border-collapse: collapse;
377 | display: block;
378 | margin: 1.5rem 0;
379 | overflow: auto;
380 | width: 100%;
381 | }
382 |
383 | td,
384 | th {
385 | border: 1px solid var(--border);
386 | text-align: left;
387 | padding: 0.5rem;
388 | }
389 |
390 | th {
391 | background-color: var(--accent-bg);
392 | font-weight: bold;
393 | }
394 |
395 | tr:nth-child(even) {
396 | /* Set every other cell slightly darker. Improves readability. */
397 | background-color: var(--accent-bg);
398 | }
399 |
400 | table caption {
401 | font-weight: bold;
402 | margin-bottom: 0.5rem;
403 | }
404 |
405 | /* Format forms */
406 | textarea,
407 | select,
408 | input {
409 | font-size: inherit;
410 | font-family: inherit;
411 | padding: 0.5rem;
412 | margin-bottom: 0.5rem;
413 | color: var(--text);
414 | background-color: var(--bg);
415 | border: 1px solid var(--border);
416 | border-radius: 5px;
417 | box-shadow: none;
418 | max-width: 100%;
419 | display: inline-block;
420 | }
421 | label {
422 | display: block;
423 | }
424 | textarea:not([cols]) {
425 | width: 100%;
426 | }
427 |
428 | /* Add arrow to drop-down */
429 | select:not([multiple]) {
430 | background-image: linear-gradient(45deg, transparent 49%, var(--text) 51%),
431 | linear-gradient(135deg, var(--text) 51%, transparent 49%);
432 | background-position: calc(100% - 15px), calc(100% - 10px);
433 | background-size: 5px 5px, 5px 5px;
434 | background-repeat: no-repeat;
435 | padding-right: 25px;
436 | }
437 |
438 | /* checkbox and radio button style */
439 | input[type="checkbox"],
440 | input[type="radio"] {
441 | vertical-align: middle;
442 | position: relative;
443 | width: min-content;
444 | }
445 |
446 | input[type="checkbox"] + label,
447 | input[type="radio"] + label {
448 | display: inline-block;
449 | }
450 |
451 | input[type="radio"] {
452 | border-radius: 100%;
453 | }
454 |
455 | input[type="checkbox"]:checked,
456 | input[type="radio"]:checked {
457 | background-color: var(--accent);
458 | }
459 |
460 | input[type="checkbox"]:checked::after {
461 | /* Creates a rectangle with colored right and bottom borders which is rotated to look like a check mark */
462 | content: " ";
463 | width: 0.18em;
464 | height: 0.32em;
465 | border-radius: 0;
466 | position: absolute;
467 | top: 0.05em;
468 | left: 0.17em;
469 | background-color: transparent;
470 | border-right: solid var(--bg) 0.08em;
471 | border-bottom: solid var(--bg) 0.08em;
472 | font-size: 1.8em;
473 | transform: rotate(45deg);
474 | }
475 | input[type="radio"]:checked::after {
476 | /* creates a colored circle for the checked radio button */
477 | content: " ";
478 | width: 0.25em;
479 | height: 0.25em;
480 | border-radius: 100%;
481 | position: absolute;
482 | top: 0.125em;
483 | background-color: var(--bg);
484 | left: 0.125em;
485 | font-size: 32px;
486 | }
487 |
488 | /* Makes input fields wider on smaller screens */
489 | @media only screen and (max-width: 720px) {
490 | textarea,
491 | select,
492 | input {
493 | width: 100%;
494 | }
495 | }
496 |
497 | /* Set a height for color input */
498 | input[type="color"] {
499 | height: 2.5rem;
500 | padding: 0.2rem;
501 | }
502 |
503 | /* do not show border around file selector button */
504 | input[type="file"] {
505 | border: 0;
506 | }
507 |
508 | /* Misc body elements */
509 | hr {
510 | border: none;
511 | height: 1px;
512 | background: var(--border);
513 | margin: 1rem auto;
514 | }
515 |
516 | mark {
517 | padding: 2px 5px;
518 | border-radius: 4px;
519 | background-color: var(--marked);
520 | }
521 |
522 | img,
523 | video {
524 | max-width: 100%;
525 | height: auto;
526 | border-radius: 5px;
527 | }
528 |
529 | figure {
530 | margin: 0;
531 | text-align: center;
532 | }
533 |
534 | figcaption {
535 | font-size: 0.9rem;
536 | color: var(--text-light);
537 | margin-bottom: 1rem;
538 | }
539 |
540 | blockquote {
541 | margin: 2rem 0 2rem 2rem;
542 | padding: 0.4rem 0.8rem;
543 | border-left: 0.35rem solid var(--accent);
544 | color: var(--text-light);
545 | font-style: italic;
546 | }
547 |
548 | cite {
549 | font-size: 0.9rem;
550 | color: var(--text-light);
551 | font-style: normal;
552 | }
553 |
554 | dt {
555 | color: var(--text-light);
556 | }
557 |
558 | /* Use mono font for code elements */
559 | code,
560 | pre,
561 | pre span,
562 | kbd,
563 | samp {
564 | font-family: var(--mono-font);
565 | color: var(--code);
566 | }
567 |
568 | kbd {
569 | color: var(--preformatted);
570 | border: 1px solid var(--preformatted);
571 | border-bottom: 3px solid var(--preformatted);
572 | border-radius: 5px;
573 | padding: 0.1rem 0.4rem;
574 | }
575 |
576 | pre {
577 | padding: 1rem 1.4rem;
578 | max-width: 100%;
579 | overflow: auto;
580 | color: var(--preformatted);
581 | }
582 |
583 | /* Fix embedded code within pre */
584 | pre code {
585 | color: var(--preformatted);
586 | background: none;
587 | margin: 0;
588 | padding: 0;
589 | }
590 |
591 | /* Progress bars */
592 | /* Declarations are repeated because you */
593 | /* cannot combine vendor-specific selectors */
594 | progress {
595 | width: 100%;
596 | }
597 |
598 | progress:indeterminate {
599 | background-color: var(--accent-bg);
600 | }
601 |
602 | progress::-webkit-progress-bar {
603 | border-radius: 5px;
604 | background-color: var(--accent-bg);
605 | }
606 |
607 | progress::-webkit-progress-value {
608 | border-radius: 5px;
609 | background-color: var(--accent);
610 | }
611 |
612 | progress::-moz-progress-bar {
613 | border-radius: 5px;
614 | background-color: var(--accent);
615 | transition-property: width;
616 | transition-duration: 0.3s;
617 | }
618 |
619 | progress:indeterminate::-moz-progress-bar {
620 | background-color: var(--accent-bg);
621 | }
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: '9.0'
2 |
3 | settings:
4 | autoInstallPeers: true
5 | excludeLinksFromLockfile: false
6 |
7 | importers:
8 |
9 | .:
10 | dependencies:
11 | imagesloaded:
12 | specifier: ^4.1.4
13 | version: 4.1.4
14 | devDependencies:
15 | '@originjs/vite-plugin-commonjs':
16 | specifier: ^1.0.3
17 | version: 1.0.3
18 | '@testing-library/jest-dom':
19 | specifier: ^6.0.0
20 | version: 6.6.3
21 | '@testing-library/react':
22 | specifier: ^16.0.0
23 | version: 16.3.0(@testing-library/dom@8.19.0)(@types/react-dom@19.1.6(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
24 | '@types/flickity':
25 | specifier: ^2.2.0
26 | version: 2.2.11
27 | '@types/imagesloaded':
28 | specifier: ^4.1.0
29 | version: 4.1.7
30 | '@types/react':
31 | specifier: ^19.0.0
32 | version: 19.1.8
33 | '@types/react-dom':
34 | specifier: ^19.0.0
35 | version: 19.1.6(@types/react@19.1.8)
36 | '@types/react-syntax-highlighter':
37 | specifier: ^15.5.13
38 | version: 15.5.13
39 | '@vitejs/plugin-react':
40 | specifier: ^4.0.0
41 | version: 4.3.4(vite@6.0.6(@types/node@18.11.13))
42 | flickity:
43 | specifier: ^2.2.1
44 | version: 2.3.0
45 | jsdom:
46 | specifier: ^25.0.0
47 | version: 25.0.1
48 | prettier:
49 | specifier: ^3.0.0
50 | version: 3.5.3
51 | react:
52 | specifier: ^19.0.0
53 | version: 19.1.0
54 | react-dom:
55 | specifier: ^19.0.0
56 | version: 19.1.0(react@19.1.0)
57 | react-syntax-highlighter:
58 | specifier: ^15.6.1
59 | version: 15.6.1(react@19.1.0)
60 | typescript:
61 | specifier: ^5.0.0
62 | version: 5.8.3
63 | vite:
64 | specifier: ^6.0.0
65 | version: 6.0.6(@types/node@18.11.13)
66 | vite-plugin-dts:
67 | specifier: ^4.0.0
68 | version: 4.5.4(@types/node@18.11.13)(rollup@4.29.1)(typescript@5.8.3)(vite@6.0.6(@types/node@18.11.13))
69 | vitest:
70 | specifier: ^2.0.0
71 | version: 2.1.9(@types/node@18.11.13)(jsdom@25.0.1)
72 |
73 | packages:
74 |
75 | '@adobe/css-tools@4.4.3':
76 | resolution: {integrity: sha512-VQKMkwriZbaOgVCby1UDY/LDk5fIjhQicCvVPFqfe+69fWaPWydbWJ3wRt59/YzIwda1I81loas3oCoHxnqvdA==}
77 |
78 | '@ampproject/remapping@2.2.0':
79 | resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==}
80 | engines: {node: '>=6.0.0'}
81 |
82 | '@asamuzakjp/css-color@3.2.0':
83 | resolution: {integrity: sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==}
84 |
85 | '@babel/code-frame@7.26.2':
86 | resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==}
87 | engines: {node: '>=6.9.0'}
88 |
89 | '@babel/compat-data@7.26.3':
90 | resolution: {integrity: sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g==}
91 | engines: {node: '>=6.9.0'}
92 |
93 | '@babel/core@7.26.0':
94 | resolution: {integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==}
95 | engines: {node: '>=6.9.0'}
96 |
97 | '@babel/generator@7.26.3':
98 | resolution: {integrity: sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==}
99 | engines: {node: '>=6.9.0'}
100 |
101 | '@babel/helper-compilation-targets@7.25.9':
102 | resolution: {integrity: sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==}
103 | engines: {node: '>=6.9.0'}
104 |
105 | '@babel/helper-module-imports@7.25.9':
106 | resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==}
107 | engines: {node: '>=6.9.0'}
108 |
109 | '@babel/helper-module-transforms@7.26.0':
110 | resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==}
111 | engines: {node: '>=6.9.0'}
112 | peerDependencies:
113 | '@babel/core': ^7.0.0
114 |
115 | '@babel/helper-plugin-utils@7.25.9':
116 | resolution: {integrity: sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==}
117 | engines: {node: '>=6.9.0'}
118 |
119 | '@babel/helper-string-parser@7.25.9':
120 | resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==}
121 | engines: {node: '>=6.9.0'}
122 |
123 | '@babel/helper-string-parser@7.27.1':
124 | resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==}
125 | engines: {node: '>=6.9.0'}
126 |
127 | '@babel/helper-validator-identifier@7.25.9':
128 | resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==}
129 | engines: {node: '>=6.9.0'}
130 |
131 | '@babel/helper-validator-identifier@7.27.1':
132 | resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==}
133 | engines: {node: '>=6.9.0'}
134 |
135 | '@babel/helper-validator-option@7.25.9':
136 | resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==}
137 | engines: {node: '>=6.9.0'}
138 |
139 | '@babel/helpers@7.26.0':
140 | resolution: {integrity: sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==}
141 | engines: {node: '>=6.9.0'}
142 |
143 | '@babel/parser@7.26.3':
144 | resolution: {integrity: sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==}
145 | engines: {node: '>=6.0.0'}
146 | hasBin: true
147 |
148 | '@babel/parser@7.27.5':
149 | resolution: {integrity: sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg==}
150 | engines: {node: '>=6.0.0'}
151 | hasBin: true
152 |
153 | '@babel/plugin-transform-react-jsx-self@7.25.9':
154 | resolution: {integrity: sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==}
155 | engines: {node: '>=6.9.0'}
156 | peerDependencies:
157 | '@babel/core': ^7.0.0-0
158 |
159 | '@babel/plugin-transform-react-jsx-source@7.25.9':
160 | resolution: {integrity: sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==}
161 | engines: {node: '>=6.9.0'}
162 | peerDependencies:
163 | '@babel/core': ^7.0.0-0
164 |
165 | '@babel/runtime@7.20.6':
166 | resolution: {integrity: sha512-Q+8MqP7TiHMWzSfwiJwXCjyf4GYA4Dgw3emg/7xmwsdLJOZUp+nMqcOwOzzYheuM1rhDu8FSj2l0aoMygEuXuA==}
167 | engines: {node: '>=6.9.0'}
168 |
169 | '@babel/template@7.25.9':
170 | resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==}
171 | engines: {node: '>=6.9.0'}
172 |
173 | '@babel/traverse@7.26.4':
174 | resolution: {integrity: sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==}
175 | engines: {node: '>=6.9.0'}
176 |
177 | '@babel/types@7.26.3':
178 | resolution: {integrity: sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==}
179 | engines: {node: '>=6.9.0'}
180 |
181 | '@babel/types@7.27.6':
182 | resolution: {integrity: sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q==}
183 | engines: {node: '>=6.9.0'}
184 |
185 | '@csstools/color-helpers@5.0.2':
186 | resolution: {integrity: sha512-JqWH1vsgdGcw2RR6VliXXdA0/59LttzlU8UlRT/iUUsEeWfYq8I+K0yhihEUTTHLRm1EXvpsCx3083EU15ecsA==}
187 | engines: {node: '>=18'}
188 |
189 | '@csstools/css-calc@2.1.4':
190 | resolution: {integrity: sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==}
191 | engines: {node: '>=18'}
192 | peerDependencies:
193 | '@csstools/css-parser-algorithms': ^3.0.5
194 | '@csstools/css-tokenizer': ^3.0.4
195 |
196 | '@csstools/css-color-parser@3.0.10':
197 | resolution: {integrity: sha512-TiJ5Ajr6WRd1r8HSiwJvZBiJOqtH86aHpUjq5aEKWHiII2Qfjqd/HCWKPOW8EP4vcspXbHnXrwIDlu5savQipg==}
198 | engines: {node: '>=18'}
199 | peerDependencies:
200 | '@csstools/css-parser-algorithms': ^3.0.5
201 | '@csstools/css-tokenizer': ^3.0.4
202 |
203 | '@csstools/css-parser-algorithms@3.0.5':
204 | resolution: {integrity: sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==}
205 | engines: {node: '>=18'}
206 | peerDependencies:
207 | '@csstools/css-tokenizer': ^3.0.4
208 |
209 | '@csstools/css-tokenizer@3.0.4':
210 | resolution: {integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==}
211 | engines: {node: '>=18'}
212 |
213 | '@esbuild/aix-ppc64@0.21.5':
214 | resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==}
215 | engines: {node: '>=12'}
216 | cpu: [ppc64]
217 | os: [aix]
218 |
219 | '@esbuild/aix-ppc64@0.24.2':
220 | resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==}
221 | engines: {node: '>=18'}
222 | cpu: [ppc64]
223 | os: [aix]
224 |
225 | '@esbuild/android-arm64@0.21.5':
226 | resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==}
227 | engines: {node: '>=12'}
228 | cpu: [arm64]
229 | os: [android]
230 |
231 | '@esbuild/android-arm64@0.24.2':
232 | resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==}
233 | engines: {node: '>=18'}
234 | cpu: [arm64]
235 | os: [android]
236 |
237 | '@esbuild/android-arm@0.21.5':
238 | resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==}
239 | engines: {node: '>=12'}
240 | cpu: [arm]
241 | os: [android]
242 |
243 | '@esbuild/android-arm@0.24.2':
244 | resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==}
245 | engines: {node: '>=18'}
246 | cpu: [arm]
247 | os: [android]
248 |
249 | '@esbuild/android-x64@0.21.5':
250 | resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==}
251 | engines: {node: '>=12'}
252 | cpu: [x64]
253 | os: [android]
254 |
255 | '@esbuild/android-x64@0.24.2':
256 | resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==}
257 | engines: {node: '>=18'}
258 | cpu: [x64]
259 | os: [android]
260 |
261 | '@esbuild/darwin-arm64@0.21.5':
262 | resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==}
263 | engines: {node: '>=12'}
264 | cpu: [arm64]
265 | os: [darwin]
266 |
267 | '@esbuild/darwin-arm64@0.24.2':
268 | resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==}
269 | engines: {node: '>=18'}
270 | cpu: [arm64]
271 | os: [darwin]
272 |
273 | '@esbuild/darwin-x64@0.21.5':
274 | resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==}
275 | engines: {node: '>=12'}
276 | cpu: [x64]
277 | os: [darwin]
278 |
279 | '@esbuild/darwin-x64@0.24.2':
280 | resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==}
281 | engines: {node: '>=18'}
282 | cpu: [x64]
283 | os: [darwin]
284 |
285 | '@esbuild/freebsd-arm64@0.21.5':
286 | resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==}
287 | engines: {node: '>=12'}
288 | cpu: [arm64]
289 | os: [freebsd]
290 |
291 | '@esbuild/freebsd-arm64@0.24.2':
292 | resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==}
293 | engines: {node: '>=18'}
294 | cpu: [arm64]
295 | os: [freebsd]
296 |
297 | '@esbuild/freebsd-x64@0.21.5':
298 | resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==}
299 | engines: {node: '>=12'}
300 | cpu: [x64]
301 | os: [freebsd]
302 |
303 | '@esbuild/freebsd-x64@0.24.2':
304 | resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==}
305 | engines: {node: '>=18'}
306 | cpu: [x64]
307 | os: [freebsd]
308 |
309 | '@esbuild/linux-arm64@0.21.5':
310 | resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==}
311 | engines: {node: '>=12'}
312 | cpu: [arm64]
313 | os: [linux]
314 |
315 | '@esbuild/linux-arm64@0.24.2':
316 | resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==}
317 | engines: {node: '>=18'}
318 | cpu: [arm64]
319 | os: [linux]
320 |
321 | '@esbuild/linux-arm@0.21.5':
322 | resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==}
323 | engines: {node: '>=12'}
324 | cpu: [arm]
325 | os: [linux]
326 |
327 | '@esbuild/linux-arm@0.24.2':
328 | resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==}
329 | engines: {node: '>=18'}
330 | cpu: [arm]
331 | os: [linux]
332 |
333 | '@esbuild/linux-ia32@0.21.5':
334 | resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==}
335 | engines: {node: '>=12'}
336 | cpu: [ia32]
337 | os: [linux]
338 |
339 | '@esbuild/linux-ia32@0.24.2':
340 | resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==}
341 | engines: {node: '>=18'}
342 | cpu: [ia32]
343 | os: [linux]
344 |
345 | '@esbuild/linux-loong64@0.14.54':
346 | resolution: {integrity: sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==}
347 | engines: {node: '>=12'}
348 | cpu: [loong64]
349 | os: [linux]
350 |
351 | '@esbuild/linux-loong64@0.21.5':
352 | resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==}
353 | engines: {node: '>=12'}
354 | cpu: [loong64]
355 | os: [linux]
356 |
357 | '@esbuild/linux-loong64@0.24.2':
358 | resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==}
359 | engines: {node: '>=18'}
360 | cpu: [loong64]
361 | os: [linux]
362 |
363 | '@esbuild/linux-mips64el@0.21.5':
364 | resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==}
365 | engines: {node: '>=12'}
366 | cpu: [mips64el]
367 | os: [linux]
368 |
369 | '@esbuild/linux-mips64el@0.24.2':
370 | resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==}
371 | engines: {node: '>=18'}
372 | cpu: [mips64el]
373 | os: [linux]
374 |
375 | '@esbuild/linux-ppc64@0.21.5':
376 | resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==}
377 | engines: {node: '>=12'}
378 | cpu: [ppc64]
379 | os: [linux]
380 |
381 | '@esbuild/linux-ppc64@0.24.2':
382 | resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==}
383 | engines: {node: '>=18'}
384 | cpu: [ppc64]
385 | os: [linux]
386 |
387 | '@esbuild/linux-riscv64@0.21.5':
388 | resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==}
389 | engines: {node: '>=12'}
390 | cpu: [riscv64]
391 | os: [linux]
392 |
393 | '@esbuild/linux-riscv64@0.24.2':
394 | resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==}
395 | engines: {node: '>=18'}
396 | cpu: [riscv64]
397 | os: [linux]
398 |
399 | '@esbuild/linux-s390x@0.21.5':
400 | resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==}
401 | engines: {node: '>=12'}
402 | cpu: [s390x]
403 | os: [linux]
404 |
405 | '@esbuild/linux-s390x@0.24.2':
406 | resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==}
407 | engines: {node: '>=18'}
408 | cpu: [s390x]
409 | os: [linux]
410 |
411 | '@esbuild/linux-x64@0.21.5':
412 | resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==}
413 | engines: {node: '>=12'}
414 | cpu: [x64]
415 | os: [linux]
416 |
417 | '@esbuild/linux-x64@0.24.2':
418 | resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==}
419 | engines: {node: '>=18'}
420 | cpu: [x64]
421 | os: [linux]
422 |
423 | '@esbuild/netbsd-arm64@0.24.2':
424 | resolution: {integrity: sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==}
425 | engines: {node: '>=18'}
426 | cpu: [arm64]
427 | os: [netbsd]
428 |
429 | '@esbuild/netbsd-x64@0.21.5':
430 | resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==}
431 | engines: {node: '>=12'}
432 | cpu: [x64]
433 | os: [netbsd]
434 |
435 | '@esbuild/netbsd-x64@0.24.2':
436 | resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==}
437 | engines: {node: '>=18'}
438 | cpu: [x64]
439 | os: [netbsd]
440 |
441 | '@esbuild/openbsd-arm64@0.24.2':
442 | resolution: {integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==}
443 | engines: {node: '>=18'}
444 | cpu: [arm64]
445 | os: [openbsd]
446 |
447 | '@esbuild/openbsd-x64@0.21.5':
448 | resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==}
449 | engines: {node: '>=12'}
450 | cpu: [x64]
451 | os: [openbsd]
452 |
453 | '@esbuild/openbsd-x64@0.24.2':
454 | resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==}
455 | engines: {node: '>=18'}
456 | cpu: [x64]
457 | os: [openbsd]
458 |
459 | '@esbuild/sunos-x64@0.21.5':
460 | resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==}
461 | engines: {node: '>=12'}
462 | cpu: [x64]
463 | os: [sunos]
464 |
465 | '@esbuild/sunos-x64@0.24.2':
466 | resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==}
467 | engines: {node: '>=18'}
468 | cpu: [x64]
469 | os: [sunos]
470 |
471 | '@esbuild/win32-arm64@0.21.5':
472 | resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==}
473 | engines: {node: '>=12'}
474 | cpu: [arm64]
475 | os: [win32]
476 |
477 | '@esbuild/win32-arm64@0.24.2':
478 | resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==}
479 | engines: {node: '>=18'}
480 | cpu: [arm64]
481 | os: [win32]
482 |
483 | '@esbuild/win32-ia32@0.21.5':
484 | resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==}
485 | engines: {node: '>=12'}
486 | cpu: [ia32]
487 | os: [win32]
488 |
489 | '@esbuild/win32-ia32@0.24.2':
490 | resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==}
491 | engines: {node: '>=18'}
492 | cpu: [ia32]
493 | os: [win32]
494 |
495 | '@esbuild/win32-x64@0.21.5':
496 | resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==}
497 | engines: {node: '>=12'}
498 | cpu: [x64]
499 | os: [win32]
500 |
501 | '@esbuild/win32-x64@0.24.2':
502 | resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==}
503 | engines: {node: '>=18'}
504 | cpu: [x64]
505 | os: [win32]
506 |
507 | '@jridgewell/gen-mapping@0.1.1':
508 | resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==}
509 | engines: {node: '>=6.0.0'}
510 |
511 | '@jridgewell/gen-mapping@0.3.8':
512 | resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==}
513 | engines: {node: '>=6.0.0'}
514 |
515 | '@jridgewell/resolve-uri@3.1.0':
516 | resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==}
517 | engines: {node: '>=6.0.0'}
518 |
519 | '@jridgewell/set-array@1.1.2':
520 | resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
521 | engines: {node: '>=6.0.0'}
522 |
523 | '@jridgewell/set-array@1.2.1':
524 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
525 | engines: {node: '>=6.0.0'}
526 |
527 | '@jridgewell/sourcemap-codec@1.4.14':
528 | resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==}
529 |
530 | '@jridgewell/sourcemap-codec@1.5.0':
531 | resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
532 |
533 | '@jridgewell/trace-mapping@0.3.17':
534 | resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==}
535 |
536 | '@jridgewell/trace-mapping@0.3.25':
537 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
538 |
539 | '@microsoft/api-extractor-model@7.30.6':
540 | resolution: {integrity: sha512-znmFn69wf/AIrwHya3fxX6uB5etSIn6vg4Q4RB/tb5VDDs1rqREc+AvMC/p19MUN13CZ7+V/8pkYPTj7q8tftg==}
541 |
542 | '@microsoft/api-extractor@7.52.8':
543 | resolution: {integrity: sha512-cszYIcjiNscDoMB1CIKZ3My61+JOhpERGlGr54i6bocvGLrcL/wo9o+RNXMBrb7XgLtKaizZWUpqRduQuHQLdg==}
544 | hasBin: true
545 |
546 | '@microsoft/tsdoc-config@0.17.1':
547 | resolution: {integrity: sha512-UtjIFe0C6oYgTnad4q1QP4qXwLhe6tIpNTRStJ2RZEPIkqQPREAwE5spzVxsdn9UaEMUqhh0AqSx3X4nWAKXWw==}
548 |
549 | '@microsoft/tsdoc@0.15.1':
550 | resolution: {integrity: sha512-4aErSrCR/On/e5G2hDP0wjooqDdauzEbIq8hIkIe5pXV0rtWJZvdCEKL0ykZxex+IxIwBp0eGeV48hQN07dXtw==}
551 |
552 | '@originjs/vite-plugin-commonjs@1.0.3':
553 | resolution: {integrity: sha512-KuEXeGPptM2lyxdIEJ4R11+5ztipHoE7hy8ClZt3PYaOVQ/pyngd2alaSrPnwyFeOW1UagRBaQ752aA1dTMdOQ==}
554 |
555 | '@rollup/pluginutils@5.1.4':
556 | resolution: {integrity: sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==}
557 | engines: {node: '>=14.0.0'}
558 | peerDependencies:
559 | rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
560 | peerDependenciesMeta:
561 | rollup:
562 | optional: true
563 |
564 | '@rollup/rollup-android-arm-eabi@4.29.1':
565 | resolution: {integrity: sha512-ssKhA8RNltTZLpG6/QNkCSge+7mBQGUqJRisZ2MDQcEGaK93QESEgWK2iOpIDZ7k9zPVkG5AS3ksvD5ZWxmItw==}
566 | cpu: [arm]
567 | os: [android]
568 |
569 | '@rollup/rollup-android-arm64@4.29.1':
570 | resolution: {integrity: sha512-CaRfrV0cd+NIIcVVN/jx+hVLN+VRqnuzLRmfmlzpOzB87ajixsN/+9L5xNmkaUUvEbI5BmIKS+XTwXsHEb65Ew==}
571 | cpu: [arm64]
572 | os: [android]
573 |
574 | '@rollup/rollup-darwin-arm64@4.29.1':
575 | resolution: {integrity: sha512-2ORr7T31Y0Mnk6qNuwtyNmy14MunTAMx06VAPI6/Ju52W10zk1i7i5U3vlDRWjhOI5quBcrvhkCHyF76bI7kEw==}
576 | cpu: [arm64]
577 | os: [darwin]
578 |
579 | '@rollup/rollup-darwin-x64@4.29.1':
580 | resolution: {integrity: sha512-j/Ej1oanzPjmN0tirRd5K2/nncAhS9W6ICzgxV+9Y5ZsP0hiGhHJXZ2JQ53iSSjj8m6cRY6oB1GMzNn2EUt6Ng==}
581 | cpu: [x64]
582 | os: [darwin]
583 |
584 | '@rollup/rollup-freebsd-arm64@4.29.1':
585 | resolution: {integrity: sha512-91C//G6Dm/cv724tpt7nTyP+JdN12iqeXGFM1SqnljCmi5yTXriH7B1r8AD9dAZByHpKAumqP1Qy2vVNIdLZqw==}
586 | cpu: [arm64]
587 | os: [freebsd]
588 |
589 | '@rollup/rollup-freebsd-x64@4.29.1':
590 | resolution: {integrity: sha512-hEioiEQ9Dec2nIRoeHUP6hr1PSkXzQaCUyqBDQ9I9ik4gCXQZjJMIVzoNLBRGet+hIUb3CISMh9KXuCcWVW/8w==}
591 | cpu: [x64]
592 | os: [freebsd]
593 |
594 | '@rollup/rollup-linux-arm-gnueabihf@4.29.1':
595 | resolution: {integrity: sha512-Py5vFd5HWYN9zxBv3WMrLAXY3yYJ6Q/aVERoeUFwiDGiMOWsMs7FokXihSOaT/PMWUty/Pj60XDQndK3eAfE6A==}
596 | cpu: [arm]
597 | os: [linux]
598 |
599 | '@rollup/rollup-linux-arm-musleabihf@4.29.1':
600 | resolution: {integrity: sha512-RiWpGgbayf7LUcuSNIbahr0ys2YnEERD4gYdISA06wa0i8RALrnzflh9Wxii7zQJEB2/Eh74dX4y/sHKLWp5uQ==}
601 | cpu: [arm]
602 | os: [linux]
603 |
604 | '@rollup/rollup-linux-arm64-gnu@4.29.1':
605 | resolution: {integrity: sha512-Z80O+taYxTQITWMjm/YqNoe9d10OX6kDh8X5/rFCMuPqsKsSyDilvfg+vd3iXIqtfmp+cnfL1UrYirkaF8SBZA==}
606 | cpu: [arm64]
607 | os: [linux]
608 |
609 | '@rollup/rollup-linux-arm64-musl@4.29.1':
610 | resolution: {integrity: sha512-fOHRtF9gahwJk3QVp01a/GqS4hBEZCV1oKglVVq13kcK3NeVlS4BwIFzOHDbmKzt3i0OuHG4zfRP0YoG5OF/rA==}
611 | cpu: [arm64]
612 | os: [linux]
613 |
614 | '@rollup/rollup-linux-loongarch64-gnu@4.29.1':
615 | resolution: {integrity: sha512-5a7q3tnlbcg0OodyxcAdrrCxFi0DgXJSoOuidFUzHZ2GixZXQs6Tc3CHmlvqKAmOs5eRde+JJxeIf9DonkmYkw==}
616 | cpu: [loong64]
617 | os: [linux]
618 |
619 | '@rollup/rollup-linux-powerpc64le-gnu@4.29.1':
620 | resolution: {integrity: sha512-9b4Mg5Yfz6mRnlSPIdROcfw1BU22FQxmfjlp/CShWwO3LilKQuMISMTtAu/bxmmrE6A902W2cZJuzx8+gJ8e9w==}
621 | cpu: [ppc64]
622 | os: [linux]
623 |
624 | '@rollup/rollup-linux-riscv64-gnu@4.29.1':
625 | resolution: {integrity: sha512-G5pn0NChlbRM8OJWpJFMX4/i8OEU538uiSv0P6roZcbpe/WfhEO+AT8SHVKfp8qhDQzaz7Q+1/ixMy7hBRidnQ==}
626 | cpu: [riscv64]
627 | os: [linux]
628 |
629 | '@rollup/rollup-linux-s390x-gnu@4.29.1':
630 | resolution: {integrity: sha512-WM9lIkNdkhVwiArmLxFXpWndFGuOka4oJOZh8EP3Vb8q5lzdSCBuhjavJsw68Q9AKDGeOOIHYzYm4ZFvmWez5g==}
631 | cpu: [s390x]
632 | os: [linux]
633 |
634 | '@rollup/rollup-linux-x64-gnu@4.29.1':
635 | resolution: {integrity: sha512-87xYCwb0cPGZFoGiErT1eDcssByaLX4fc0z2nRM6eMtV9njAfEE6OW3UniAoDhX4Iq5xQVpE6qO9aJbCFumKYQ==}
636 | cpu: [x64]
637 | os: [linux]
638 |
639 | '@rollup/rollup-linux-x64-musl@4.29.1':
640 | resolution: {integrity: sha512-xufkSNppNOdVRCEC4WKvlR1FBDyqCSCpQeMMgv9ZyXqqtKBfkw1yfGMTUTs9Qsl6WQbJnsGboWCp7pJGkeMhKA==}
641 | cpu: [x64]
642 | os: [linux]
643 |
644 | '@rollup/rollup-win32-arm64-msvc@4.29.1':
645 | resolution: {integrity: sha512-F2OiJ42m77lSkizZQLuC+jiZ2cgueWQL5YC9tjo3AgaEw+KJmVxHGSyQfDUoYR9cci0lAywv2Clmckzulcq6ig==}
646 | cpu: [arm64]
647 | os: [win32]
648 |
649 | '@rollup/rollup-win32-ia32-msvc@4.29.1':
650 | resolution: {integrity: sha512-rYRe5S0FcjlOBZQHgbTKNrqxCBUmgDJem/VQTCcTnA2KCabYSWQDrytOzX7avb79cAAweNmMUb/Zw18RNd4mng==}
651 | cpu: [ia32]
652 | os: [win32]
653 |
654 | '@rollup/rollup-win32-x64-msvc@4.29.1':
655 | resolution: {integrity: sha512-+10CMg9vt1MoHj6x1pxyjPSMjHTIlqs8/tBztXvPAx24SKs9jwVnKqHJumlH/IzhaPUaj3T6T6wfZr8okdXaIg==}
656 | cpu: [x64]
657 | os: [win32]
658 |
659 | '@rushstack/node-core-library@5.13.1':
660 | resolution: {integrity: sha512-5yXhzPFGEkVc9Fu92wsNJ9jlvdwz4RNb2bMso+/+TH0nMm1jDDDsOIf4l8GAkPxGuwPw5DH24RliWVfSPhlW/Q==}
661 | peerDependencies:
662 | '@types/node': '*'
663 | peerDependenciesMeta:
664 | '@types/node':
665 | optional: true
666 |
667 | '@rushstack/rig-package@0.5.3':
668 | resolution: {integrity: sha512-olzSSjYrvCNxUFZowevC3uz8gvKr3WTpHQ7BkpjtRpA3wK+T0ybep/SRUMfr195gBzJm5gaXw0ZMgjIyHqJUow==}
669 |
670 | '@rushstack/terminal@0.15.3':
671 | resolution: {integrity: sha512-DGJ0B2Vm69468kZCJkPj3AH5nN+nR9SPmC0rFHtzsS4lBQ7/dgOwtwVxYP7W9JPDMuRBkJ4KHmWKr036eJsj9g==}
672 | peerDependencies:
673 | '@types/node': '*'
674 | peerDependenciesMeta:
675 | '@types/node':
676 | optional: true
677 |
678 | '@rushstack/ts-command-line@5.0.1':
679 | resolution: {integrity: sha512-bsbUucn41UXrQK7wgM8CNM/jagBytEyJqXw/umtI8d68vFm1Jwxh1OtLrlW7uGZgjCWiiPH6ooUNa1aVsuVr3Q==}
680 |
681 | '@testing-library/dom@8.19.0':
682 | resolution: {integrity: sha512-6YWYPPpxG3e/xOo6HIWwB/58HukkwIVTOaZ0VwdMVjhRUX/01E4FtQbck9GazOOj7MXHc5RBzMrU86iBJHbI+A==}
683 | engines: {node: '>=12'}
684 |
685 | '@testing-library/jest-dom@6.6.3':
686 | resolution: {integrity: sha512-IteBhl4XqYNkM54f4ejhLRJiZNqcSCoXUOG2CPK7qbD322KjQozM4kHQOfkG2oln9b9HTYqs+Sae8vBATubxxA==}
687 | engines: {node: '>=14', npm: '>=6', yarn: '>=1'}
688 |
689 | '@testing-library/react@16.3.0':
690 | resolution: {integrity: sha512-kFSyxiEDwv1WLl2fgsq6pPBbw5aWKrsY2/noi1Id0TK0UParSF62oFQFGHXIyaG4pp2tEub/Zlel+fjjZILDsw==}
691 | engines: {node: '>=18'}
692 | peerDependencies:
693 | '@testing-library/dom': ^10.0.0
694 | '@types/react': ^18.0.0 || ^19.0.0
695 | '@types/react-dom': ^18.0.0 || ^19.0.0
696 | react: ^18.0.0 || ^19.0.0
697 | react-dom: ^18.0.0 || ^19.0.0
698 | peerDependenciesMeta:
699 | '@types/react':
700 | optional: true
701 | '@types/react-dom':
702 | optional: true
703 |
704 | '@types/argparse@1.0.38':
705 | resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==}
706 |
707 | '@types/aria-query@4.2.2':
708 | resolution: {integrity: sha512-HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig==}
709 |
710 | '@types/babel__core@7.20.5':
711 | resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
712 |
713 | '@types/babel__generator@7.6.8':
714 | resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==}
715 |
716 | '@types/babel__template@7.4.4':
717 | resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==}
718 |
719 | '@types/babel__traverse@7.20.6':
720 | resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==}
721 |
722 | '@types/estree@1.0.6':
723 | resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==}
724 |
725 | '@types/flickity@2.2.11':
726 | resolution: {integrity: sha512-Bnx/+lDEG/Oq9hcyD3gU0/ET5lCAxsoJ+fHVJk8bZil1a1aT6V8m3BaR0aDEBv7Pzm55xmGzRd+i4PQp7glVjg==}
727 |
728 | '@types/hast@2.3.10':
729 | resolution: {integrity: sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==}
730 |
731 | '@types/imagesloaded@4.1.7':
732 | resolution: {integrity: sha512-N380qYSNvYsrF+TtQ7SvxP5rs/XVI/6+l/aUKJjXiVc2y3YHzhmeP283sX16ZimW89DAGguZEGc19esP1cJeLg==}
733 |
734 | '@types/jquery@3.5.32':
735 | resolution: {integrity: sha512-b9Xbf4CkMqS02YH8zACqN1xzdxc3cO735Qe5AbSUFmyOiaWAbcpqh9Wna+Uk0vgACvoQHpWDg2rGdHkYPLmCiQ==}
736 |
737 | '@types/node@18.11.13':
738 | resolution: {integrity: sha512-IASpMGVcWpUsx5xBOrxMj7Bl8lqfuTY7FKAnPmu5cHkfQVWF8GulWS1jbRqA934qZL35xh5xN/+Xe/i26Bod4w==}
739 |
740 | '@types/react-dom@19.1.6':
741 | resolution: {integrity: sha512-4hOiT/dwO8Ko0gV1m/TJZYk3y0KBnY9vzDh7W+DH17b2HFSOGgdj33dhihPeuy3l0q23+4e+hoXHV6hCC4dCXw==}
742 | peerDependencies:
743 | '@types/react': ^19.0.0
744 |
745 | '@types/react-syntax-highlighter@15.5.13':
746 | resolution: {integrity: sha512-uLGJ87j6Sz8UaBAooU0T6lWJ0dBmjZgN1PZTrj05TNql2/XpC6+4HhMT5syIdFUUt+FASfCeLLv4kBygNU+8qA==}
747 |
748 | '@types/react@19.1.8':
749 | resolution: {integrity: sha512-AwAfQ2Wa5bCx9WP8nZL2uMZWod7J7/JSplxbTmBQ5ms6QpqNYm672H0Vu9ZVKVngQ+ii4R/byguVEUZQyeg44g==}
750 |
751 | '@types/sizzle@2.3.9':
752 | resolution: {integrity: sha512-xzLEyKB50yqCUPUJkIsrVvoWNfFUbIZI+RspLWt8u+tIW/BetMBZtgV2LY/2o+tYH8dRvQ+eoPf3NdhQCcLE2w==}
753 |
754 | '@types/unist@2.0.11':
755 | resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==}
756 |
757 | '@vitejs/plugin-react@4.3.4':
758 | resolution: {integrity: sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug==}
759 | engines: {node: ^14.18.0 || >=16.0.0}
760 | peerDependencies:
761 | vite: ^4.2.0 || ^5.0.0 || ^6.0.0
762 |
763 | '@vitest/expect@2.1.9':
764 | resolution: {integrity: sha512-UJCIkTBenHeKT1TTlKMJWy1laZewsRIzYighyYiJKZreqtdxSos/S1t+ktRMQWu2CKqaarrkeszJx1cgC5tGZw==}
765 |
766 | '@vitest/mocker@2.1.9':
767 | resolution: {integrity: sha512-tVL6uJgoUdi6icpxmdrn5YNo3g3Dxv+IHJBr0GXHaEdTcw3F+cPKnsXFhli6nO+f/6SDKPHEK1UN+k+TQv0Ehg==}
768 | peerDependencies:
769 | msw: ^2.4.9
770 | vite: ^5.0.0
771 | peerDependenciesMeta:
772 | msw:
773 | optional: true
774 | vite:
775 | optional: true
776 |
777 | '@vitest/pretty-format@2.1.9':
778 | resolution: {integrity: sha512-KhRIdGV2U9HOUzxfiHmY8IFHTdqtOhIzCpd8WRdJiE7D/HUcZVD0EgQCVjm+Q9gkUXWgBvMmTtZgIG48wq7sOQ==}
779 |
780 | '@vitest/runner@2.1.9':
781 | resolution: {integrity: sha512-ZXSSqTFIrzduD63btIfEyOmNcBmQvgOVsPNPe0jYtESiXkhd8u2erDLnMxmGrDCwHCCHE7hxwRDCT3pt0esT4g==}
782 |
783 | '@vitest/snapshot@2.1.9':
784 | resolution: {integrity: sha512-oBO82rEjsxLNJincVhLhaxxZdEtV0EFHMK5Kmx5sJ6H9L183dHECjiefOAdnqpIgT5eZwT04PoggUnW88vOBNQ==}
785 |
786 | '@vitest/spy@2.1.9':
787 | resolution: {integrity: sha512-E1B35FwzXXTs9FHNK6bDszs7mtydNi5MIfUWpceJ8Xbfb1gBMscAnwLbEu+B44ed6W3XjL9/ehLPHR1fkf1KLQ==}
788 |
789 | '@vitest/utils@2.1.9':
790 | resolution: {integrity: sha512-v0psaMSkNJ3A2NMrUEHFRzJtDPFn+/VWZ5WxImB21T9fjucJRmS7xCS3ppEnARb9y11OAzaD+P2Ps+b+BGX5iQ==}
791 |
792 | '@volar/language-core@2.4.14':
793 | resolution: {integrity: sha512-X6beusV0DvuVseaOEy7GoagS4rYHgDHnTrdOj5jeUb49fW5ceQyP9Ej5rBhqgz2wJggl+2fDbbojq1XKaxDi6w==}
794 |
795 | '@volar/source-map@2.4.14':
796 | resolution: {integrity: sha512-5TeKKMh7Sfxo8021cJfmBzcjfY1SsXsPMMjMvjY7ivesdnybqqS+GxGAoXHAOUawQTwtdUxgP65Im+dEmvWtYQ==}
797 |
798 | '@volar/typescript@2.4.14':
799 | resolution: {integrity: sha512-p8Z6f/bZM3/HyCdRNFZOEEzts51uV8WHeN8Tnfnm2EBv6FDB2TQLzfVx7aJvnl8ofKAOnS64B2O8bImBFaauRw==}
800 |
801 | '@vue/compiler-core@3.5.16':
802 | resolution: {integrity: sha512-AOQS2eaQOaaZQoL1u+2rCJIKDruNXVBZSiUD3chnUrsoX5ZTQMaCvXlWNIfxBJuU15r1o7+mpo5223KVtIhAgQ==}
803 |
804 | '@vue/compiler-dom@3.5.16':
805 | resolution: {integrity: sha512-SSJIhBr/teipXiXjmWOVWLnxjNGo65Oj/8wTEQz0nqwQeP75jWZ0n4sF24Zxoht1cuJoWopwj0J0exYwCJ0dCQ==}
806 |
807 | '@vue/compiler-vue2@2.7.16':
808 | resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==}
809 |
810 | '@vue/language-core@2.2.0':
811 | resolution: {integrity: sha512-O1ZZFaaBGkKbsRfnVH1ifOK1/1BUkyK+3SQsfnh6PmMmD4qJcTU8godCeA96jjDRTL6zgnK7YzCHfaUlH2r0Mw==}
812 | peerDependencies:
813 | typescript: '*'
814 | peerDependenciesMeta:
815 | typescript:
816 | optional: true
817 |
818 | '@vue/shared@3.5.16':
819 | resolution: {integrity: sha512-c/0fWy3Jw6Z8L9FmTyYfkpM5zklnqqa9+a6dz3DvONRKW2NEbh46BP0FHuLFSWi2TnQEtp91Z6zOWNrU6QiyPg==}
820 |
821 | acorn@8.15.0:
822 | resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==}
823 | engines: {node: '>=0.4.0'}
824 | hasBin: true
825 |
826 | agent-base@7.1.3:
827 | resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==}
828 | engines: {node: '>= 14'}
829 |
830 | ajv-draft-04@1.0.0:
831 | resolution: {integrity: sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==}
832 | peerDependencies:
833 | ajv: ^8.5.0
834 | peerDependenciesMeta:
835 | ajv:
836 | optional: true
837 |
838 | ajv-formats@3.0.1:
839 | resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==}
840 | peerDependencies:
841 | ajv: ^8.0.0
842 | peerDependenciesMeta:
843 | ajv:
844 | optional: true
845 |
846 | ajv@8.12.0:
847 | resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==}
848 |
849 | ajv@8.13.0:
850 | resolution: {integrity: sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==}
851 |
852 | alien-signals@0.4.14:
853 | resolution: {integrity: sha512-itUAVzhczTmP2U5yX67xVpsbbOiquusbWVyA9N+sy6+r6YVbFkahXvNCeEPWEOMhwDYwbVbGHFkVL03N9I5g+Q==}
854 |
855 | ansi-regex@5.0.1:
856 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
857 | engines: {node: '>=8'}
858 |
859 | ansi-styles@4.3.0:
860 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
861 | engines: {node: '>=8'}
862 |
863 | ansi-styles@5.2.0:
864 | resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
865 | engines: {node: '>=10'}
866 |
867 | argparse@1.0.10:
868 | resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
869 |
870 | aria-query@5.1.3:
871 | resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==}
872 |
873 | assertion-error@2.0.1:
874 | resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==}
875 | engines: {node: '>=12'}
876 |
877 | asynckit@0.4.0:
878 | resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
879 |
880 | available-typed-arrays@1.0.5:
881 | resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==}
882 | engines: {node: '>= 0.4'}
883 |
884 | balanced-match@1.0.2:
885 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
886 |
887 | brace-expansion@1.1.12:
888 | resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==}
889 |
890 | brace-expansion@2.0.2:
891 | resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==}
892 |
893 | browserslist@4.24.3:
894 | resolution: {integrity: sha512-1CPmv8iobE2fyRMV97dAcMVegvvWKxmq94hkLiAkUGwKVTyDLw33K+ZxiFrREKmmps4rIw6grcCFCnTMSZ/YiA==}
895 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
896 | hasBin: true
897 |
898 | cac@6.7.14:
899 | resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
900 | engines: {node: '>=8'}
901 |
902 | call-bind@1.0.2:
903 | resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==}
904 |
905 | caniuse-lite@1.0.30001690:
906 | resolution: {integrity: sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w==}
907 |
908 | chai@5.2.0:
909 | resolution: {integrity: sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==}
910 | engines: {node: '>=12'}
911 |
912 | chalk@3.0.0:
913 | resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==}
914 | engines: {node: '>=8'}
915 |
916 | chalk@4.1.2:
917 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
918 | engines: {node: '>=10'}
919 |
920 | character-entities-legacy@1.1.4:
921 | resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==}
922 |
923 | character-entities@1.2.4:
924 | resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==}
925 |
926 | character-reference-invalid@1.1.4:
927 | resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==}
928 |
929 | check-error@2.1.1:
930 | resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==}
931 | engines: {node: '>= 16'}
932 |
933 | color-convert@2.0.1:
934 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
935 | engines: {node: '>=7.0.0'}
936 |
937 | color-name@1.1.4:
938 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
939 |
940 | combined-stream@1.0.8:
941 | resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
942 | engines: {node: '>= 0.8'}
943 |
944 | comma-separated-tokens@1.0.8:
945 | resolution: {integrity: sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==}
946 |
947 | compare-versions@6.1.1:
948 | resolution: {integrity: sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==}
949 |
950 | concat-map@0.0.1:
951 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
952 |
953 | confbox@0.1.8:
954 | resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==}
955 |
956 | confbox@0.2.2:
957 | resolution: {integrity: sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==}
958 |
959 | convert-source-map@2.0.0:
960 | resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
961 |
962 | css.escape@1.5.1:
963 | resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==}
964 |
965 | cssstyle@4.4.0:
966 | resolution: {integrity: sha512-W0Y2HOXlPkb2yaKrCVRjinYKciu/qSLEmK0K9mcfDei3zwlnHFEHAs/Du3cIRwPqY+J4JsiBzUjoHyc8RsJ03A==}
967 | engines: {node: '>=18'}
968 |
969 | csstype@3.1.1:
970 | resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==}
971 |
972 | data-urls@5.0.0:
973 | resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==}
974 | engines: {node: '>=18'}
975 |
976 | de-indent@1.0.2:
977 | resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==}
978 |
979 | debug@4.3.4:
980 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
981 | engines: {node: '>=6.0'}
982 | peerDependencies:
983 | supports-color: '*'
984 | peerDependenciesMeta:
985 | supports-color:
986 | optional: true
987 |
988 | debug@4.4.1:
989 | resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==}
990 | engines: {node: '>=6.0'}
991 | peerDependencies:
992 | supports-color: '*'
993 | peerDependenciesMeta:
994 | supports-color:
995 | optional: true
996 |
997 | decimal.js@10.4.3:
998 | resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==}
999 |
1000 | deep-eql@5.0.2:
1001 | resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==}
1002 | engines: {node: '>=6'}
1003 |
1004 | deep-equal@2.1.0:
1005 | resolution: {integrity: sha512-2pxgvWu3Alv1PoWEyVg7HS8YhGlUFUV7N5oOvfL6d+7xAmLSemMwv/c8Zv/i9KFzxV5Kt5CAvQc70fLwVuf4UA==}
1006 |
1007 | define-properties@1.1.4:
1008 | resolution: {integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==}
1009 | engines: {node: '>= 0.4'}
1010 |
1011 | delayed-stream@1.0.0:
1012 | resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
1013 | engines: {node: '>=0.4.0'}
1014 |
1015 | desandro-matches-selector@2.0.2:
1016 | resolution: {integrity: sha512-+1q0nXhdzg1IpIJdMKalUwvvskeKnYyEe3shPRwedNcWtnhEKT3ZxvFjzywHDeGcKViIxTCAoOYQWP1qD7VNyg==}
1017 |
1018 | dom-accessibility-api@0.5.14:
1019 | resolution: {integrity: sha512-NMt+m9zFMPZe0JcY9gN224Qvk6qLIdqex29clBvc/y75ZBX9YA9wNK3frsYvu2DI1xcCIwxwnX+TlsJ2DSOADg==}
1020 |
1021 | dom-accessibility-api@0.6.3:
1022 | resolution: {integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==}
1023 |
1024 | electron-to-chromium@1.5.76:
1025 | resolution: {integrity: sha512-CjVQyG7n7Sr+eBXE86HIulnL5N8xZY1sgmOPGuq/F0Rr0FJq63lg0kEtOIDfZBk44FnDLf6FUJ+dsJcuiUDdDQ==}
1026 |
1027 | entities@4.4.0:
1028 | resolution: {integrity: sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==}
1029 | engines: {node: '>=0.12'}
1030 |
1031 | entities@4.5.0:
1032 | resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
1033 | engines: {node: '>=0.12'}
1034 |
1035 | es-get-iterator@1.1.2:
1036 | resolution: {integrity: sha512-+DTO8GYwbMCwbywjimwZMHp8AuYXOS2JZFWoi2AlPOS3ebnII9w/NLpNZtA7A0YLaVDw+O7KFCeoIV7OPvM7hQ==}
1037 |
1038 | es-module-lexer@1.7.0:
1039 | resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==}
1040 |
1041 | esbuild-android-64@0.14.54:
1042 | resolution: {integrity: sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==}
1043 | engines: {node: '>=12'}
1044 | cpu: [x64]
1045 | os: [android]
1046 |
1047 | esbuild-android-arm64@0.14.54:
1048 | resolution: {integrity: sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==}
1049 | engines: {node: '>=12'}
1050 | cpu: [arm64]
1051 | os: [android]
1052 |
1053 | esbuild-darwin-64@0.14.54:
1054 | resolution: {integrity: sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==}
1055 | engines: {node: '>=12'}
1056 | cpu: [x64]
1057 | os: [darwin]
1058 |
1059 | esbuild-darwin-arm64@0.14.54:
1060 | resolution: {integrity: sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==}
1061 | engines: {node: '>=12'}
1062 | cpu: [arm64]
1063 | os: [darwin]
1064 |
1065 | esbuild-freebsd-64@0.14.54:
1066 | resolution: {integrity: sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==}
1067 | engines: {node: '>=12'}
1068 | cpu: [x64]
1069 | os: [freebsd]
1070 |
1071 | esbuild-freebsd-arm64@0.14.54:
1072 | resolution: {integrity: sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==}
1073 | engines: {node: '>=12'}
1074 | cpu: [arm64]
1075 | os: [freebsd]
1076 |
1077 | esbuild-linux-32@0.14.54:
1078 | resolution: {integrity: sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==}
1079 | engines: {node: '>=12'}
1080 | cpu: [ia32]
1081 | os: [linux]
1082 |
1083 | esbuild-linux-64@0.14.54:
1084 | resolution: {integrity: sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==}
1085 | engines: {node: '>=12'}
1086 | cpu: [x64]
1087 | os: [linux]
1088 |
1089 | esbuild-linux-arm64@0.14.54:
1090 | resolution: {integrity: sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==}
1091 | engines: {node: '>=12'}
1092 | cpu: [arm64]
1093 | os: [linux]
1094 |
1095 | esbuild-linux-arm@0.14.54:
1096 | resolution: {integrity: sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==}
1097 | engines: {node: '>=12'}
1098 | cpu: [arm]
1099 | os: [linux]
1100 |
1101 | esbuild-linux-mips64le@0.14.54:
1102 | resolution: {integrity: sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==}
1103 | engines: {node: '>=12'}
1104 | cpu: [mips64el]
1105 | os: [linux]
1106 |
1107 | esbuild-linux-ppc64le@0.14.54:
1108 | resolution: {integrity: sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==}
1109 | engines: {node: '>=12'}
1110 | cpu: [ppc64]
1111 | os: [linux]
1112 |
1113 | esbuild-linux-riscv64@0.14.54:
1114 | resolution: {integrity: sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==}
1115 | engines: {node: '>=12'}
1116 | cpu: [riscv64]
1117 | os: [linux]
1118 |
1119 | esbuild-linux-s390x@0.14.54:
1120 | resolution: {integrity: sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==}
1121 | engines: {node: '>=12'}
1122 | cpu: [s390x]
1123 | os: [linux]
1124 |
1125 | esbuild-netbsd-64@0.14.54:
1126 | resolution: {integrity: sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==}
1127 | engines: {node: '>=12'}
1128 | cpu: [x64]
1129 | os: [netbsd]
1130 |
1131 | esbuild-openbsd-64@0.14.54:
1132 | resolution: {integrity: sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==}
1133 | engines: {node: '>=12'}
1134 | cpu: [x64]
1135 | os: [openbsd]
1136 |
1137 | esbuild-sunos-64@0.14.54:
1138 | resolution: {integrity: sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==}
1139 | engines: {node: '>=12'}
1140 | cpu: [x64]
1141 | os: [sunos]
1142 |
1143 | esbuild-windows-32@0.14.54:
1144 | resolution: {integrity: sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==}
1145 | engines: {node: '>=12'}
1146 | cpu: [ia32]
1147 | os: [win32]
1148 |
1149 | esbuild-windows-64@0.14.54:
1150 | resolution: {integrity: sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==}
1151 | engines: {node: '>=12'}
1152 | cpu: [x64]
1153 | os: [win32]
1154 |
1155 | esbuild-windows-arm64@0.14.54:
1156 | resolution: {integrity: sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==}
1157 | engines: {node: '>=12'}
1158 | cpu: [arm64]
1159 | os: [win32]
1160 |
1161 | esbuild@0.14.54:
1162 | resolution: {integrity: sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==}
1163 | engines: {node: '>=12'}
1164 | hasBin: true
1165 |
1166 | esbuild@0.21.5:
1167 | resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==}
1168 | engines: {node: '>=12'}
1169 | hasBin: true
1170 |
1171 | esbuild@0.24.2:
1172 | resolution: {integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==}
1173 | engines: {node: '>=18'}
1174 | hasBin: true
1175 |
1176 | escalade@3.2.0:
1177 | resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
1178 | engines: {node: '>=6'}
1179 |
1180 | estree-walker@2.0.2:
1181 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
1182 |
1183 | estree-walker@3.0.3:
1184 | resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
1185 |
1186 | ev-emitter@1.1.1:
1187 | resolution: {integrity: sha512-ipiDYhdQSCZ4hSbX4rMW+XzNKMD1prg/sTvoVmSLkuQ1MVlwjJQQA+sW8tMYR3BLUr9KjodFV4pvzunvRhd33Q==}
1188 |
1189 | expect-type@1.2.1:
1190 | resolution: {integrity: sha512-/kP8CAwxzLVEeFrMm4kMmy4CCDlpipyA7MYLVrdJIkV0fYF0UaigQHRsxHiuY/GEea+bh4KSv3TIlgr+2UL6bw==}
1191 | engines: {node: '>=12.0.0'}
1192 |
1193 | exsolve@1.0.5:
1194 | resolution: {integrity: sha512-pz5dvkYYKQ1AHVrgOzBKWeP4u4FRb3a6DNK2ucr0OoNwYIU4QWsJ+NM36LLzORT+z845MzKHHhpXiUF5nvQoJg==}
1195 |
1196 | fast-deep-equal@3.1.3:
1197 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
1198 |
1199 | fault@1.0.4:
1200 | resolution: {integrity: sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==}
1201 |
1202 | fizzy-ui-utils@2.0.7:
1203 | resolution: {integrity: sha512-CZXDVXQ1If3/r8s0T+v+qVeMshhfcuq0rqIFgJnrtd+Bu8GmDmqMjntjUePypVtjHXKJ6V4sw9zeyox34n9aCg==}
1204 |
1205 | flickity@2.3.0:
1206 | resolution: {integrity: sha512-x4cJBVywsaCWmId3I6wvBYJtWk3gcr+gz8UJQ48P57W5G7ER5OUgc3GUK0rtTrbMy/HYB9wL6u+I7EC4qrLO8g==}
1207 |
1208 | for-each@0.3.3:
1209 | resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
1210 |
1211 | form-data@4.0.0:
1212 | resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==}
1213 | engines: {node: '>= 6'}
1214 |
1215 | format@0.2.2:
1216 | resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==}
1217 | engines: {node: '>=0.4.x'}
1218 |
1219 | fs-extra@11.3.0:
1220 | resolution: {integrity: sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==}
1221 | engines: {node: '>=14.14'}
1222 |
1223 | fsevents@2.3.3:
1224 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
1225 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
1226 | os: [darwin]
1227 |
1228 | function-bind@1.1.1:
1229 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
1230 |
1231 | function-bind@1.1.2:
1232 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
1233 |
1234 | functions-have-names@1.2.3:
1235 | resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
1236 |
1237 | gensync@1.0.0-beta.2:
1238 | resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
1239 | engines: {node: '>=6.9.0'}
1240 |
1241 | get-intrinsic@1.1.3:
1242 | resolution: {integrity: sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==}
1243 |
1244 | get-size@2.0.3:
1245 | resolution: {integrity: sha512-lXNzT/h/dTjTxRbm9BXb+SGxxzkm97h/PCIKtlN/CBCxxmkkIVV21udumMS93MuVTDX583gqc94v3RjuHmI+2Q==}
1246 |
1247 | globals@11.12.0:
1248 | resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
1249 | engines: {node: '>=4'}
1250 |
1251 | gopd@1.0.1:
1252 | resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
1253 |
1254 | graceful-fs@4.2.10:
1255 | resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==}
1256 |
1257 | has-bigints@1.0.2:
1258 | resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
1259 |
1260 | has-flag@4.0.0:
1261 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
1262 | engines: {node: '>=8'}
1263 |
1264 | has-property-descriptors@1.0.0:
1265 | resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==}
1266 |
1267 | has-symbols@1.0.3:
1268 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
1269 | engines: {node: '>= 0.4'}
1270 |
1271 | has-tostringtag@1.0.0:
1272 | resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==}
1273 | engines: {node: '>= 0.4'}
1274 |
1275 | has@1.0.3:
1276 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
1277 | engines: {node: '>= 0.4.0'}
1278 |
1279 | hasown@2.0.2:
1280 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
1281 | engines: {node: '>= 0.4'}
1282 |
1283 | hast-util-parse-selector@2.2.5:
1284 | resolution: {integrity: sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==}
1285 |
1286 | hastscript@6.0.0:
1287 | resolution: {integrity: sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==}
1288 |
1289 | he@1.2.0:
1290 | resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
1291 | hasBin: true
1292 |
1293 | highlight.js@10.7.3:
1294 | resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==}
1295 |
1296 | highlightjs-vue@1.0.0:
1297 | resolution: {integrity: sha512-PDEfEF102G23vHmPhLyPboFCD+BkMGu+GuJe2d9/eH4FsCwvgBpnc9n0pGE+ffKdph38s6foEZiEjdgHdzp+IA==}
1298 |
1299 | html-encoding-sniffer@4.0.0:
1300 | resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==}
1301 | engines: {node: '>=18'}
1302 |
1303 | http-proxy-agent@7.0.2:
1304 | resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==}
1305 | engines: {node: '>= 14'}
1306 |
1307 | https-proxy-agent@7.0.6:
1308 | resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==}
1309 | engines: {node: '>= 14'}
1310 |
1311 | iconv-lite@0.6.3:
1312 | resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
1313 | engines: {node: '>=0.10.0'}
1314 |
1315 | imagesloaded@4.1.4:
1316 | resolution: {integrity: sha512-ltiBVcYpc/TYTF5nolkMNsnREHW+ICvfQ3Yla2Sgr71YFwQ86bDwV9hgpFhFtrGPuwEx5+LqOHIrdXBdoWwwsA==}
1317 |
1318 | import-lazy@4.0.0:
1319 | resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==}
1320 | engines: {node: '>=8'}
1321 |
1322 | indent-string@4.0.0:
1323 | resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
1324 | engines: {node: '>=8'}
1325 |
1326 | is-alphabetical@1.0.4:
1327 | resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==}
1328 |
1329 | is-alphanumerical@1.0.4:
1330 | resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==}
1331 |
1332 | is-arguments@1.1.1:
1333 | resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==}
1334 | engines: {node: '>= 0.4'}
1335 |
1336 | is-bigint@1.0.4:
1337 | resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==}
1338 |
1339 | is-boolean-object@1.1.2:
1340 | resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
1341 | engines: {node: '>= 0.4'}
1342 |
1343 | is-callable@1.2.7:
1344 | resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
1345 | engines: {node: '>= 0.4'}
1346 |
1347 | is-core-module@2.11.0:
1348 | resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==}
1349 |
1350 | is-core-module@2.16.1:
1351 | resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==}
1352 | engines: {node: '>= 0.4'}
1353 |
1354 | is-date-object@1.0.5:
1355 | resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
1356 | engines: {node: '>= 0.4'}
1357 |
1358 | is-decimal@1.0.4:
1359 | resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==}
1360 |
1361 | is-hexadecimal@1.0.4:
1362 | resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==}
1363 |
1364 | is-map@2.0.2:
1365 | resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==}
1366 |
1367 | is-number-object@1.0.7:
1368 | resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==}
1369 | engines: {node: '>= 0.4'}
1370 |
1371 | is-potential-custom-element-name@1.0.1:
1372 | resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==}
1373 |
1374 | is-regex@1.1.4:
1375 | resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
1376 | engines: {node: '>= 0.4'}
1377 |
1378 | is-set@2.0.2:
1379 | resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==}
1380 |
1381 | is-string@1.0.7:
1382 | resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
1383 | engines: {node: '>= 0.4'}
1384 |
1385 | is-symbol@1.0.4:
1386 | resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==}
1387 | engines: {node: '>= 0.4'}
1388 |
1389 | is-typed-array@1.1.10:
1390 | resolution: {integrity: sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==}
1391 | engines: {node: '>= 0.4'}
1392 |
1393 | is-weakmap@2.0.1:
1394 | resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==}
1395 |
1396 | is-weakset@2.0.2:
1397 | resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==}
1398 |
1399 | isarray@2.0.5:
1400 | resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
1401 |
1402 | jju@1.4.0:
1403 | resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==}
1404 |
1405 | js-tokens@4.0.0:
1406 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
1407 |
1408 | jsdom@25.0.1:
1409 | resolution: {integrity: sha512-8i7LzZj7BF8uplX+ZyOlIz86V6TAsSs+np6m1kpW9u0JWi4z/1t+FzcK1aek+ybTnAC4KhBL4uXCNT0wcUIeCw==}
1410 | engines: {node: '>=18'}
1411 | peerDependencies:
1412 | canvas: ^2.11.2
1413 | peerDependenciesMeta:
1414 | canvas:
1415 | optional: true
1416 |
1417 | jsesc@3.1.0:
1418 | resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==}
1419 | engines: {node: '>=6'}
1420 | hasBin: true
1421 |
1422 | json-schema-traverse@1.0.0:
1423 | resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}
1424 |
1425 | json5@2.2.3:
1426 | resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
1427 | engines: {node: '>=6'}
1428 | hasBin: true
1429 |
1430 | jsonfile@6.1.0:
1431 | resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
1432 |
1433 | kolorist@1.8.0:
1434 | resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==}
1435 |
1436 | local-pkg@1.1.1:
1437 | resolution: {integrity: sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg==}
1438 | engines: {node: '>=14'}
1439 |
1440 | lodash@4.17.21:
1441 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
1442 |
1443 | loupe@3.1.3:
1444 | resolution: {integrity: sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==}
1445 |
1446 | lowlight@1.20.0:
1447 | resolution: {integrity: sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw==}
1448 |
1449 | lru-cache@10.4.3:
1450 | resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
1451 |
1452 | lru-cache@5.1.1:
1453 | resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
1454 |
1455 | lru-cache@6.0.0:
1456 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
1457 | engines: {node: '>=10'}
1458 |
1459 | lz-string@1.4.4:
1460 | resolution: {integrity: sha512-0ckx7ZHRPqb0oUm8zNr+90mtf9DQB60H1wMCjBtfi62Kl3a7JbHob6gA2bC+xRvZoOL+1hzUK8jeuEIQE8svEQ==}
1461 | hasBin: true
1462 |
1463 | magic-string@0.30.17:
1464 | resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==}
1465 |
1466 | mime-db@1.52.0:
1467 | resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
1468 | engines: {node: '>= 0.6'}
1469 |
1470 | mime-types@2.1.35:
1471 | resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
1472 | engines: {node: '>= 0.6'}
1473 |
1474 | min-indent@1.0.1:
1475 | resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
1476 | engines: {node: '>=4'}
1477 |
1478 | minimatch@3.0.8:
1479 | resolution: {integrity: sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==}
1480 |
1481 | minimatch@9.0.5:
1482 | resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
1483 | engines: {node: '>=16 || 14 >=14.17'}
1484 |
1485 | mlly@1.7.4:
1486 | resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==}
1487 |
1488 | ms@2.1.2:
1489 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
1490 |
1491 | ms@2.1.3:
1492 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
1493 |
1494 | muggle-string@0.4.1:
1495 | resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==}
1496 |
1497 | nanoid@3.3.8:
1498 | resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==}
1499 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
1500 | hasBin: true
1501 |
1502 | node-releases@2.0.19:
1503 | resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==}
1504 |
1505 | nwsapi@2.2.20:
1506 | resolution: {integrity: sha512-/ieB+mDe4MrrKMT8z+mQL8klXydZWGR5Dowt4RAGKbJ3kIGEx3X4ljUo+6V73IXtUPWgfOlU5B9MlGxFO5T+cA==}
1507 |
1508 | object-inspect@1.12.2:
1509 | resolution: {integrity: sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==}
1510 |
1511 | object-is@1.1.5:
1512 | resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==}
1513 | engines: {node: '>= 0.4'}
1514 |
1515 | object-keys@1.1.1:
1516 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
1517 | engines: {node: '>= 0.4'}
1518 |
1519 | object.assign@4.1.4:
1520 | resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==}
1521 | engines: {node: '>= 0.4'}
1522 |
1523 | parse-entities@2.0.0:
1524 | resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==}
1525 |
1526 | parse5@7.1.2:
1527 | resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==}
1528 |
1529 | path-browserify@1.0.1:
1530 | resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==}
1531 |
1532 | path-parse@1.0.7:
1533 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
1534 |
1535 | pathe@1.1.2:
1536 | resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==}
1537 |
1538 | pathe@2.0.3:
1539 | resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==}
1540 |
1541 | pathval@2.0.0:
1542 | resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==}
1543 | engines: {node: '>= 14.16'}
1544 |
1545 | picocolors@1.1.1:
1546 | resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
1547 |
1548 | picomatch@4.0.2:
1549 | resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==}
1550 | engines: {node: '>=12'}
1551 |
1552 | pkg-types@1.3.1:
1553 | resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==}
1554 |
1555 | pkg-types@2.1.0:
1556 | resolution: {integrity: sha512-wmJwA+8ihJixSoHKxZJRBQG1oY8Yr9pGLzRmSsNms0iNWyHHAlZCa7mmKiFR10YPZuz/2k169JiS/inOjBCZ2A==}
1557 |
1558 | postcss@8.4.49:
1559 | resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==}
1560 | engines: {node: ^10 || ^12 || >=14}
1561 |
1562 | prettier@3.5.3:
1563 | resolution: {integrity: sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==}
1564 | engines: {node: '>=14'}
1565 | hasBin: true
1566 |
1567 | pretty-format@27.5.1:
1568 | resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==}
1569 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
1570 |
1571 | prismjs@1.27.0:
1572 | resolution: {integrity: sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA==}
1573 | engines: {node: '>=6'}
1574 |
1575 | prismjs@1.30.0:
1576 | resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==}
1577 | engines: {node: '>=6'}
1578 |
1579 | property-information@5.6.0:
1580 | resolution: {integrity: sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==}
1581 |
1582 | punycode@2.1.1:
1583 | resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==}
1584 | engines: {node: '>=6'}
1585 |
1586 | punycode@2.3.1:
1587 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
1588 | engines: {node: '>=6'}
1589 |
1590 | quansync@0.2.10:
1591 | resolution: {integrity: sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A==}
1592 |
1593 | react-dom@19.1.0:
1594 | resolution: {integrity: sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==}
1595 | peerDependencies:
1596 | react: ^19.1.0
1597 |
1598 | react-is@17.0.2:
1599 | resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==}
1600 |
1601 | react-refresh@0.14.2:
1602 | resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==}
1603 | engines: {node: '>=0.10.0'}
1604 |
1605 | react-syntax-highlighter@15.6.1:
1606 | resolution: {integrity: sha512-OqJ2/vL7lEeV5zTJyG7kmARppUjiB9h9udl4qHQjjgEos66z00Ia0OckwYfRxCSFrW8RJIBnsBwQsHZbVPspqg==}
1607 | peerDependencies:
1608 | react: '>= 0.14.0'
1609 |
1610 | react@19.1.0:
1611 | resolution: {integrity: sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==}
1612 | engines: {node: '>=0.10.0'}
1613 |
1614 | redent@3.0.0:
1615 | resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==}
1616 | engines: {node: '>=8'}
1617 |
1618 | refractor@3.6.0:
1619 | resolution: {integrity: sha512-MY9W41IOWxxk31o+YvFCNyNzdkc9M20NoZK5vq6jkv4I/uh2zkWcfudj0Q1fovjUQJrNewS9NMzeTtqPf+n5EA==}
1620 |
1621 | regenerator-runtime@0.13.11:
1622 | resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==}
1623 |
1624 | regexp.prototype.flags@1.4.3:
1625 | resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==}
1626 | engines: {node: '>= 0.4'}
1627 |
1628 | require-from-string@2.0.2:
1629 | resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
1630 | engines: {node: '>=0.10.0'}
1631 |
1632 | resolve@1.22.1:
1633 | resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==}
1634 | hasBin: true
1635 |
1636 | resolve@1.22.10:
1637 | resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==}
1638 | engines: {node: '>= 0.4'}
1639 | hasBin: true
1640 |
1641 | rollup@4.29.1:
1642 | resolution: {integrity: sha512-RaJ45M/kmJUzSWDs1Nnd5DdV4eerC98idtUOVr6FfKcgxqvjwHmxc5upLF9qZU9EpsVzzhleFahrT3shLuJzIw==}
1643 | engines: {node: '>=18.0.0', npm: '>=8.0.0'}
1644 | hasBin: true
1645 |
1646 | rrweb-cssom@0.7.1:
1647 | resolution: {integrity: sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==}
1648 |
1649 | rrweb-cssom@0.8.0:
1650 | resolution: {integrity: sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==}
1651 |
1652 | safer-buffer@2.1.2:
1653 | resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
1654 |
1655 | saxes@6.0.0:
1656 | resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==}
1657 | engines: {node: '>=v12.22.7'}
1658 |
1659 | scheduler@0.26.0:
1660 | resolution: {integrity: sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==}
1661 |
1662 | semver@6.3.1:
1663 | resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
1664 | hasBin: true
1665 |
1666 | semver@7.5.4:
1667 | resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==}
1668 | engines: {node: '>=10'}
1669 | hasBin: true
1670 |
1671 | side-channel@1.0.4:
1672 | resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==}
1673 |
1674 | siginfo@2.0.0:
1675 | resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==}
1676 |
1677 | source-map-js@1.2.1:
1678 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
1679 | engines: {node: '>=0.10.0'}
1680 |
1681 | source-map@0.6.1:
1682 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
1683 | engines: {node: '>=0.10.0'}
1684 |
1685 | space-separated-tokens@1.1.5:
1686 | resolution: {integrity: sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==}
1687 |
1688 | sprintf-js@1.0.3:
1689 | resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
1690 |
1691 | stackback@0.0.2:
1692 | resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
1693 |
1694 | std-env@3.9.0:
1695 | resolution: {integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==}
1696 |
1697 | string-argv@0.3.2:
1698 | resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==}
1699 | engines: {node: '>=0.6.19'}
1700 |
1701 | strip-indent@3.0.0:
1702 | resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
1703 | engines: {node: '>=8'}
1704 |
1705 | strip-json-comments@3.1.1:
1706 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
1707 | engines: {node: '>=8'}
1708 |
1709 | supports-color@7.2.0:
1710 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
1711 | engines: {node: '>=8'}
1712 |
1713 | supports-color@8.1.1:
1714 | resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
1715 | engines: {node: '>=10'}
1716 |
1717 | supports-preserve-symlinks-flag@1.0.0:
1718 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
1719 | engines: {node: '>= 0.4'}
1720 |
1721 | symbol-tree@3.2.4:
1722 | resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==}
1723 |
1724 | tinybench@2.9.0:
1725 | resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==}
1726 |
1727 | tinyexec@0.3.2:
1728 | resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==}
1729 |
1730 | tinypool@1.1.0:
1731 | resolution: {integrity: sha512-7CotroY9a8DKsKprEy/a14aCCm8jYVmR7aFy4fpkZM8sdpNJbKkixuNjgM50yCmip2ezc8z4N7k3oe2+rfRJCQ==}
1732 | engines: {node: ^18.0.0 || >=20.0.0}
1733 |
1734 | tinyrainbow@1.2.0:
1735 | resolution: {integrity: sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==}
1736 | engines: {node: '>=14.0.0'}
1737 |
1738 | tinyspy@3.0.2:
1739 | resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==}
1740 | engines: {node: '>=14.0.0'}
1741 |
1742 | tldts-core@6.1.86:
1743 | resolution: {integrity: sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==}
1744 |
1745 | tldts@6.1.86:
1746 | resolution: {integrity: sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==}
1747 | hasBin: true
1748 |
1749 | tough-cookie@5.1.2:
1750 | resolution: {integrity: sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==}
1751 | engines: {node: '>=16'}
1752 |
1753 | tr46@5.1.1:
1754 | resolution: {integrity: sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==}
1755 | engines: {node: '>=18'}
1756 |
1757 | typescript@5.8.2:
1758 | resolution: {integrity: sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==}
1759 | engines: {node: '>=14.17'}
1760 | hasBin: true
1761 |
1762 | typescript@5.8.3:
1763 | resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==}
1764 | engines: {node: '>=14.17'}
1765 | hasBin: true
1766 |
1767 | ufo@1.6.1:
1768 | resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==}
1769 |
1770 | unidragger@2.4.0:
1771 | resolution: {integrity: sha512-MueZK2oXuGE6OAlGKIrSXK2zCq+8yb1QUZgqyTDCSJzvwYL0g2Llrad+TtoQTYxtFnNyxxSw0IMnKNIgEMia1w==}
1772 |
1773 | unipointer@2.4.0:
1774 | resolution: {integrity: sha512-VjzDLPjGK7aYpQKH7bnDZS8X4axF5AFU/LQi+NQe1oyEHfaz6lWKhaQ7n4o7vJ1iJ4i2T0quCIfrQM139p05Sw==}
1775 |
1776 | universalify@2.0.1:
1777 | resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
1778 | engines: {node: '>= 10.0.0'}
1779 |
1780 | update-browserslist-db@1.1.1:
1781 | resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==}
1782 | hasBin: true
1783 | peerDependencies:
1784 | browserslist: '>= 4.21.0'
1785 |
1786 | uri-js@4.4.1:
1787 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
1788 |
1789 | vite-node@2.1.9:
1790 | resolution: {integrity: sha512-AM9aQ/IPrW/6ENLQg3AGY4K1N2TGZdR5e4gu/MmmR2xR3Ll1+dib+nook92g4TV3PXVyeyxdWwtaCAiUL0hMxA==}
1791 | engines: {node: ^18.0.0 || >=20.0.0}
1792 | hasBin: true
1793 |
1794 | vite-plugin-dts@4.5.4:
1795 | resolution: {integrity: sha512-d4sOM8M/8z7vRXHHq/ebbblfaxENjogAAekcfcDCCwAyvGqnPrc7f4NZbvItS+g4WTgerW0xDwSz5qz11JT3vg==}
1796 | peerDependencies:
1797 | typescript: '*'
1798 | vite: '*'
1799 | peerDependenciesMeta:
1800 | vite:
1801 | optional: true
1802 |
1803 | vite@5.4.19:
1804 | resolution: {integrity: sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA==}
1805 | engines: {node: ^18.0.0 || >=20.0.0}
1806 | hasBin: true
1807 | peerDependencies:
1808 | '@types/node': ^18.0.0 || >=20.0.0
1809 | less: '*'
1810 | lightningcss: ^1.21.0
1811 | sass: '*'
1812 | sass-embedded: '*'
1813 | stylus: '*'
1814 | sugarss: '*'
1815 | terser: ^5.4.0
1816 | peerDependenciesMeta:
1817 | '@types/node':
1818 | optional: true
1819 | less:
1820 | optional: true
1821 | lightningcss:
1822 | optional: true
1823 | sass:
1824 | optional: true
1825 | sass-embedded:
1826 | optional: true
1827 | stylus:
1828 | optional: true
1829 | sugarss:
1830 | optional: true
1831 | terser:
1832 | optional: true
1833 |
1834 | vite@6.0.6:
1835 | resolution: {integrity: sha512-NSjmUuckPmDU18bHz7QZ+bTYhRR0iA72cs2QAxCqDpafJ0S6qetco0LB3WW2OxlMHS0JmAv+yZ/R3uPmMyGTjQ==}
1836 | engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
1837 | hasBin: true
1838 | peerDependencies:
1839 | '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0
1840 | jiti: '>=1.21.0'
1841 | less: '*'
1842 | lightningcss: ^1.21.0
1843 | sass: '*'
1844 | sass-embedded: '*'
1845 | stylus: '*'
1846 | sugarss: '*'
1847 | terser: ^5.16.0
1848 | tsx: ^4.8.1
1849 | yaml: ^2.4.2
1850 | peerDependenciesMeta:
1851 | '@types/node':
1852 | optional: true
1853 | jiti:
1854 | optional: true
1855 | less:
1856 | optional: true
1857 | lightningcss:
1858 | optional: true
1859 | sass:
1860 | optional: true
1861 | sass-embedded:
1862 | optional: true
1863 | stylus:
1864 | optional: true
1865 | sugarss:
1866 | optional: true
1867 | terser:
1868 | optional: true
1869 | tsx:
1870 | optional: true
1871 | yaml:
1872 | optional: true
1873 |
1874 | vitest@2.1.9:
1875 | resolution: {integrity: sha512-MSmPM9REYqDGBI8439mA4mWhV5sKmDlBKWIYbA3lRb2PTHACE0mgKwA8yQ2xq9vxDTuk4iPrECBAEW2aoFXY0Q==}
1876 | engines: {node: ^18.0.0 || >=20.0.0}
1877 | hasBin: true
1878 | peerDependencies:
1879 | '@edge-runtime/vm': '*'
1880 | '@types/node': ^18.0.0 || >=20.0.0
1881 | '@vitest/browser': 2.1.9
1882 | '@vitest/ui': 2.1.9
1883 | happy-dom: '*'
1884 | jsdom: '*'
1885 | peerDependenciesMeta:
1886 | '@edge-runtime/vm':
1887 | optional: true
1888 | '@types/node':
1889 | optional: true
1890 | '@vitest/browser':
1891 | optional: true
1892 | '@vitest/ui':
1893 | optional: true
1894 | happy-dom:
1895 | optional: true
1896 | jsdom:
1897 | optional: true
1898 |
1899 | vscode-uri@3.1.0:
1900 | resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==}
1901 |
1902 | w3c-xmlserializer@5.0.0:
1903 | resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==}
1904 | engines: {node: '>=18'}
1905 |
1906 | webidl-conversions@7.0.0:
1907 | resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==}
1908 | engines: {node: '>=12'}
1909 |
1910 | whatwg-encoding@3.1.1:
1911 | resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==}
1912 | engines: {node: '>=18'}
1913 |
1914 | whatwg-mimetype@4.0.0:
1915 | resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==}
1916 | engines: {node: '>=18'}
1917 |
1918 | whatwg-url@14.2.0:
1919 | resolution: {integrity: sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==}
1920 | engines: {node: '>=18'}
1921 |
1922 | which-boxed-primitive@1.0.2:
1923 | resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
1924 |
1925 | which-collection@1.0.1:
1926 | resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==}
1927 |
1928 | which-typed-array@1.1.9:
1929 | resolution: {integrity: sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==}
1930 | engines: {node: '>= 0.4'}
1931 |
1932 | why-is-node-running@2.3.0:
1933 | resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==}
1934 | engines: {node: '>=8'}
1935 | hasBin: true
1936 |
1937 | ws@8.18.2:
1938 | resolution: {integrity: sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==}
1939 | engines: {node: '>=10.0.0'}
1940 | peerDependencies:
1941 | bufferutil: ^4.0.1
1942 | utf-8-validate: '>=5.0.2'
1943 | peerDependenciesMeta:
1944 | bufferutil:
1945 | optional: true
1946 | utf-8-validate:
1947 | optional: true
1948 |
1949 | xml-name-validator@5.0.0:
1950 | resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==}
1951 | engines: {node: '>=18'}
1952 |
1953 | xmlchars@2.2.0:
1954 | resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==}
1955 |
1956 | xtend@4.0.2:
1957 | resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
1958 | engines: {node: '>=0.4'}
1959 |
1960 | yallist@3.1.1:
1961 | resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
1962 |
1963 | yallist@4.0.0:
1964 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
1965 |
1966 | snapshots:
1967 |
1968 | '@adobe/css-tools@4.4.3': {}
1969 |
1970 | '@ampproject/remapping@2.2.0':
1971 | dependencies:
1972 | '@jridgewell/gen-mapping': 0.1.1
1973 | '@jridgewell/trace-mapping': 0.3.17
1974 |
1975 | '@asamuzakjp/css-color@3.2.0':
1976 | dependencies:
1977 | '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
1978 | '@csstools/css-color-parser': 3.0.10(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
1979 | '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
1980 | '@csstools/css-tokenizer': 3.0.4
1981 | lru-cache: 10.4.3
1982 |
1983 | '@babel/code-frame@7.26.2':
1984 | dependencies:
1985 | '@babel/helper-validator-identifier': 7.25.9
1986 | js-tokens: 4.0.0
1987 | picocolors: 1.1.1
1988 |
1989 | '@babel/compat-data@7.26.3': {}
1990 |
1991 | '@babel/core@7.26.0':
1992 | dependencies:
1993 | '@ampproject/remapping': 2.2.0
1994 | '@babel/code-frame': 7.26.2
1995 | '@babel/generator': 7.26.3
1996 | '@babel/helper-compilation-targets': 7.25.9
1997 | '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0)
1998 | '@babel/helpers': 7.26.0
1999 | '@babel/parser': 7.26.3
2000 | '@babel/template': 7.25.9
2001 | '@babel/traverse': 7.26.4
2002 | '@babel/types': 7.26.3
2003 | convert-source-map: 2.0.0
2004 | debug: 4.3.4
2005 | gensync: 1.0.0-beta.2
2006 | json5: 2.2.3
2007 | semver: 6.3.1
2008 | transitivePeerDependencies:
2009 | - supports-color
2010 |
2011 | '@babel/generator@7.26.3':
2012 | dependencies:
2013 | '@babel/parser': 7.26.3
2014 | '@babel/types': 7.26.3
2015 | '@jridgewell/gen-mapping': 0.3.8
2016 | '@jridgewell/trace-mapping': 0.3.25
2017 | jsesc: 3.1.0
2018 |
2019 | '@babel/helper-compilation-targets@7.25.9':
2020 | dependencies:
2021 | '@babel/compat-data': 7.26.3
2022 | '@babel/helper-validator-option': 7.25.9
2023 | browserslist: 4.24.3
2024 | lru-cache: 5.1.1
2025 | semver: 6.3.1
2026 |
2027 | '@babel/helper-module-imports@7.25.9':
2028 | dependencies:
2029 | '@babel/traverse': 7.26.4
2030 | '@babel/types': 7.26.3
2031 | transitivePeerDependencies:
2032 | - supports-color
2033 |
2034 | '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.0)':
2035 | dependencies:
2036 | '@babel/core': 7.26.0
2037 | '@babel/helper-module-imports': 7.25.9
2038 | '@babel/helper-validator-identifier': 7.25.9
2039 | '@babel/traverse': 7.26.4
2040 | transitivePeerDependencies:
2041 | - supports-color
2042 |
2043 | '@babel/helper-plugin-utils@7.25.9': {}
2044 |
2045 | '@babel/helper-string-parser@7.25.9': {}
2046 |
2047 | '@babel/helper-string-parser@7.27.1': {}
2048 |
2049 | '@babel/helper-validator-identifier@7.25.9': {}
2050 |
2051 | '@babel/helper-validator-identifier@7.27.1': {}
2052 |
2053 | '@babel/helper-validator-option@7.25.9': {}
2054 |
2055 | '@babel/helpers@7.26.0':
2056 | dependencies:
2057 | '@babel/template': 7.25.9
2058 | '@babel/types': 7.26.3
2059 |
2060 | '@babel/parser@7.26.3':
2061 | dependencies:
2062 | '@babel/types': 7.26.3
2063 |
2064 | '@babel/parser@7.27.5':
2065 | dependencies:
2066 | '@babel/types': 7.27.6
2067 |
2068 | '@babel/plugin-transform-react-jsx-self@7.25.9(@babel/core@7.26.0)':
2069 | dependencies:
2070 | '@babel/core': 7.26.0
2071 | '@babel/helper-plugin-utils': 7.25.9
2072 |
2073 | '@babel/plugin-transform-react-jsx-source@7.25.9(@babel/core@7.26.0)':
2074 | dependencies:
2075 | '@babel/core': 7.26.0
2076 | '@babel/helper-plugin-utils': 7.25.9
2077 |
2078 | '@babel/runtime@7.20.6':
2079 | dependencies:
2080 | regenerator-runtime: 0.13.11
2081 |
2082 | '@babel/template@7.25.9':
2083 | dependencies:
2084 | '@babel/code-frame': 7.26.2
2085 | '@babel/parser': 7.26.3
2086 | '@babel/types': 7.26.3
2087 |
2088 | '@babel/traverse@7.26.4':
2089 | dependencies:
2090 | '@babel/code-frame': 7.26.2
2091 | '@babel/generator': 7.26.3
2092 | '@babel/parser': 7.26.3
2093 | '@babel/template': 7.25.9
2094 | '@babel/types': 7.26.3
2095 | debug: 4.3.4
2096 | globals: 11.12.0
2097 | transitivePeerDependencies:
2098 | - supports-color
2099 |
2100 | '@babel/types@7.26.3':
2101 | dependencies:
2102 | '@babel/helper-string-parser': 7.25.9
2103 | '@babel/helper-validator-identifier': 7.25.9
2104 |
2105 | '@babel/types@7.27.6':
2106 | dependencies:
2107 | '@babel/helper-string-parser': 7.27.1
2108 | '@babel/helper-validator-identifier': 7.27.1
2109 |
2110 | '@csstools/color-helpers@5.0.2': {}
2111 |
2112 | '@csstools/css-calc@2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)':
2113 | dependencies:
2114 | '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
2115 | '@csstools/css-tokenizer': 3.0.4
2116 |
2117 | '@csstools/css-color-parser@3.0.10(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)':
2118 | dependencies:
2119 | '@csstools/color-helpers': 5.0.2
2120 | '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
2121 | '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4)
2122 | '@csstools/css-tokenizer': 3.0.4
2123 |
2124 | '@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4)':
2125 | dependencies:
2126 | '@csstools/css-tokenizer': 3.0.4
2127 |
2128 | '@csstools/css-tokenizer@3.0.4': {}
2129 |
2130 | '@esbuild/aix-ppc64@0.21.5':
2131 | optional: true
2132 |
2133 | '@esbuild/aix-ppc64@0.24.2':
2134 | optional: true
2135 |
2136 | '@esbuild/android-arm64@0.21.5':
2137 | optional: true
2138 |
2139 | '@esbuild/android-arm64@0.24.2':
2140 | optional: true
2141 |
2142 | '@esbuild/android-arm@0.21.5':
2143 | optional: true
2144 |
2145 | '@esbuild/android-arm@0.24.2':
2146 | optional: true
2147 |
2148 | '@esbuild/android-x64@0.21.5':
2149 | optional: true
2150 |
2151 | '@esbuild/android-x64@0.24.2':
2152 | optional: true
2153 |
2154 | '@esbuild/darwin-arm64@0.21.5':
2155 | optional: true
2156 |
2157 | '@esbuild/darwin-arm64@0.24.2':
2158 | optional: true
2159 |
2160 | '@esbuild/darwin-x64@0.21.5':
2161 | optional: true
2162 |
2163 | '@esbuild/darwin-x64@0.24.2':
2164 | optional: true
2165 |
2166 | '@esbuild/freebsd-arm64@0.21.5':
2167 | optional: true
2168 |
2169 | '@esbuild/freebsd-arm64@0.24.2':
2170 | optional: true
2171 |
2172 | '@esbuild/freebsd-x64@0.21.5':
2173 | optional: true
2174 |
2175 | '@esbuild/freebsd-x64@0.24.2':
2176 | optional: true
2177 |
2178 | '@esbuild/linux-arm64@0.21.5':
2179 | optional: true
2180 |
2181 | '@esbuild/linux-arm64@0.24.2':
2182 | optional: true
2183 |
2184 | '@esbuild/linux-arm@0.21.5':
2185 | optional: true
2186 |
2187 | '@esbuild/linux-arm@0.24.2':
2188 | optional: true
2189 |
2190 | '@esbuild/linux-ia32@0.21.5':
2191 | optional: true
2192 |
2193 | '@esbuild/linux-ia32@0.24.2':
2194 | optional: true
2195 |
2196 | '@esbuild/linux-loong64@0.14.54':
2197 | optional: true
2198 |
2199 | '@esbuild/linux-loong64@0.21.5':
2200 | optional: true
2201 |
2202 | '@esbuild/linux-loong64@0.24.2':
2203 | optional: true
2204 |
2205 | '@esbuild/linux-mips64el@0.21.5':
2206 | optional: true
2207 |
2208 | '@esbuild/linux-mips64el@0.24.2':
2209 | optional: true
2210 |
2211 | '@esbuild/linux-ppc64@0.21.5':
2212 | optional: true
2213 |
2214 | '@esbuild/linux-ppc64@0.24.2':
2215 | optional: true
2216 |
2217 | '@esbuild/linux-riscv64@0.21.5':
2218 | optional: true
2219 |
2220 | '@esbuild/linux-riscv64@0.24.2':
2221 | optional: true
2222 |
2223 | '@esbuild/linux-s390x@0.21.5':
2224 | optional: true
2225 |
2226 | '@esbuild/linux-s390x@0.24.2':
2227 | optional: true
2228 |
2229 | '@esbuild/linux-x64@0.21.5':
2230 | optional: true
2231 |
2232 | '@esbuild/linux-x64@0.24.2':
2233 | optional: true
2234 |
2235 | '@esbuild/netbsd-arm64@0.24.2':
2236 | optional: true
2237 |
2238 | '@esbuild/netbsd-x64@0.21.5':
2239 | optional: true
2240 |
2241 | '@esbuild/netbsd-x64@0.24.2':
2242 | optional: true
2243 |
2244 | '@esbuild/openbsd-arm64@0.24.2':
2245 | optional: true
2246 |
2247 | '@esbuild/openbsd-x64@0.21.5':
2248 | optional: true
2249 |
2250 | '@esbuild/openbsd-x64@0.24.2':
2251 | optional: true
2252 |
2253 | '@esbuild/sunos-x64@0.21.5':
2254 | optional: true
2255 |
2256 | '@esbuild/sunos-x64@0.24.2':
2257 | optional: true
2258 |
2259 | '@esbuild/win32-arm64@0.21.5':
2260 | optional: true
2261 |
2262 | '@esbuild/win32-arm64@0.24.2':
2263 | optional: true
2264 |
2265 | '@esbuild/win32-ia32@0.21.5':
2266 | optional: true
2267 |
2268 | '@esbuild/win32-ia32@0.24.2':
2269 | optional: true
2270 |
2271 | '@esbuild/win32-x64@0.21.5':
2272 | optional: true
2273 |
2274 | '@esbuild/win32-x64@0.24.2':
2275 | optional: true
2276 |
2277 | '@jridgewell/gen-mapping@0.1.1':
2278 | dependencies:
2279 | '@jridgewell/set-array': 1.1.2
2280 | '@jridgewell/sourcemap-codec': 1.4.14
2281 |
2282 | '@jridgewell/gen-mapping@0.3.8':
2283 | dependencies:
2284 | '@jridgewell/set-array': 1.2.1
2285 | '@jridgewell/sourcemap-codec': 1.4.14
2286 | '@jridgewell/trace-mapping': 0.3.25
2287 |
2288 | '@jridgewell/resolve-uri@3.1.0': {}
2289 |
2290 | '@jridgewell/set-array@1.1.2': {}
2291 |
2292 | '@jridgewell/set-array@1.2.1': {}
2293 |
2294 | '@jridgewell/sourcemap-codec@1.4.14': {}
2295 |
2296 | '@jridgewell/sourcemap-codec@1.5.0': {}
2297 |
2298 | '@jridgewell/trace-mapping@0.3.17':
2299 | dependencies:
2300 | '@jridgewell/resolve-uri': 3.1.0
2301 | '@jridgewell/sourcemap-codec': 1.4.14
2302 |
2303 | '@jridgewell/trace-mapping@0.3.25':
2304 | dependencies:
2305 | '@jridgewell/resolve-uri': 3.1.0
2306 | '@jridgewell/sourcemap-codec': 1.4.14
2307 |
2308 | '@microsoft/api-extractor-model@7.30.6(@types/node@18.11.13)':
2309 | dependencies:
2310 | '@microsoft/tsdoc': 0.15.1
2311 | '@microsoft/tsdoc-config': 0.17.1
2312 | '@rushstack/node-core-library': 5.13.1(@types/node@18.11.13)
2313 | transitivePeerDependencies:
2314 | - '@types/node'
2315 |
2316 | '@microsoft/api-extractor@7.52.8(@types/node@18.11.13)':
2317 | dependencies:
2318 | '@microsoft/api-extractor-model': 7.30.6(@types/node@18.11.13)
2319 | '@microsoft/tsdoc': 0.15.1
2320 | '@microsoft/tsdoc-config': 0.17.1
2321 | '@rushstack/node-core-library': 5.13.1(@types/node@18.11.13)
2322 | '@rushstack/rig-package': 0.5.3
2323 | '@rushstack/terminal': 0.15.3(@types/node@18.11.13)
2324 | '@rushstack/ts-command-line': 5.0.1(@types/node@18.11.13)
2325 | lodash: 4.17.21
2326 | minimatch: 3.0.8
2327 | resolve: 1.22.1
2328 | semver: 7.5.4
2329 | source-map: 0.6.1
2330 | typescript: 5.8.2
2331 | transitivePeerDependencies:
2332 | - '@types/node'
2333 |
2334 | '@microsoft/tsdoc-config@0.17.1':
2335 | dependencies:
2336 | '@microsoft/tsdoc': 0.15.1
2337 | ajv: 8.12.0
2338 | jju: 1.4.0
2339 | resolve: 1.22.10
2340 |
2341 | '@microsoft/tsdoc@0.15.1': {}
2342 |
2343 | '@originjs/vite-plugin-commonjs@1.0.3':
2344 | dependencies:
2345 | esbuild: 0.14.54
2346 |
2347 | '@rollup/pluginutils@5.1.4(rollup@4.29.1)':
2348 | dependencies:
2349 | '@types/estree': 1.0.6
2350 | estree-walker: 2.0.2
2351 | picomatch: 4.0.2
2352 | optionalDependencies:
2353 | rollup: 4.29.1
2354 |
2355 | '@rollup/rollup-android-arm-eabi@4.29.1':
2356 | optional: true
2357 |
2358 | '@rollup/rollup-android-arm64@4.29.1':
2359 | optional: true
2360 |
2361 | '@rollup/rollup-darwin-arm64@4.29.1':
2362 | optional: true
2363 |
2364 | '@rollup/rollup-darwin-x64@4.29.1':
2365 | optional: true
2366 |
2367 | '@rollup/rollup-freebsd-arm64@4.29.1':
2368 | optional: true
2369 |
2370 | '@rollup/rollup-freebsd-x64@4.29.1':
2371 | optional: true
2372 |
2373 | '@rollup/rollup-linux-arm-gnueabihf@4.29.1':
2374 | optional: true
2375 |
2376 | '@rollup/rollup-linux-arm-musleabihf@4.29.1':
2377 | optional: true
2378 |
2379 | '@rollup/rollup-linux-arm64-gnu@4.29.1':
2380 | optional: true
2381 |
2382 | '@rollup/rollup-linux-arm64-musl@4.29.1':
2383 | optional: true
2384 |
2385 | '@rollup/rollup-linux-loongarch64-gnu@4.29.1':
2386 | optional: true
2387 |
2388 | '@rollup/rollup-linux-powerpc64le-gnu@4.29.1':
2389 | optional: true
2390 |
2391 | '@rollup/rollup-linux-riscv64-gnu@4.29.1':
2392 | optional: true
2393 |
2394 | '@rollup/rollup-linux-s390x-gnu@4.29.1':
2395 | optional: true
2396 |
2397 | '@rollup/rollup-linux-x64-gnu@4.29.1':
2398 | optional: true
2399 |
2400 | '@rollup/rollup-linux-x64-musl@4.29.1':
2401 | optional: true
2402 |
2403 | '@rollup/rollup-win32-arm64-msvc@4.29.1':
2404 | optional: true
2405 |
2406 | '@rollup/rollup-win32-ia32-msvc@4.29.1':
2407 | optional: true
2408 |
2409 | '@rollup/rollup-win32-x64-msvc@4.29.1':
2410 | optional: true
2411 |
2412 | '@rushstack/node-core-library@5.13.1(@types/node@18.11.13)':
2413 | dependencies:
2414 | ajv: 8.13.0
2415 | ajv-draft-04: 1.0.0(ajv@8.13.0)
2416 | ajv-formats: 3.0.1(ajv@8.13.0)
2417 | fs-extra: 11.3.0
2418 | import-lazy: 4.0.0
2419 | jju: 1.4.0
2420 | resolve: 1.22.1
2421 | semver: 7.5.4
2422 | optionalDependencies:
2423 | '@types/node': 18.11.13
2424 |
2425 | '@rushstack/rig-package@0.5.3':
2426 | dependencies:
2427 | resolve: 1.22.1
2428 | strip-json-comments: 3.1.1
2429 |
2430 | '@rushstack/terminal@0.15.3(@types/node@18.11.13)':
2431 | dependencies:
2432 | '@rushstack/node-core-library': 5.13.1(@types/node@18.11.13)
2433 | supports-color: 8.1.1
2434 | optionalDependencies:
2435 | '@types/node': 18.11.13
2436 |
2437 | '@rushstack/ts-command-line@5.0.1(@types/node@18.11.13)':
2438 | dependencies:
2439 | '@rushstack/terminal': 0.15.3(@types/node@18.11.13)
2440 | '@types/argparse': 1.0.38
2441 | argparse: 1.0.10
2442 | string-argv: 0.3.2
2443 | transitivePeerDependencies:
2444 | - '@types/node'
2445 |
2446 | '@testing-library/dom@8.19.0':
2447 | dependencies:
2448 | '@babel/code-frame': 7.26.2
2449 | '@babel/runtime': 7.20.6
2450 | '@types/aria-query': 4.2.2
2451 | aria-query: 5.1.3
2452 | chalk: 4.1.2
2453 | dom-accessibility-api: 0.5.14
2454 | lz-string: 1.4.4
2455 | pretty-format: 27.5.1
2456 |
2457 | '@testing-library/jest-dom@6.6.3':
2458 | dependencies:
2459 | '@adobe/css-tools': 4.4.3
2460 | aria-query: 5.1.3
2461 | chalk: 3.0.0
2462 | css.escape: 1.5.1
2463 | dom-accessibility-api: 0.6.3
2464 | lodash: 4.17.21
2465 | redent: 3.0.0
2466 |
2467 | '@testing-library/react@16.3.0(@testing-library/dom@8.19.0)(@types/react-dom@19.1.6(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
2468 | dependencies:
2469 | '@babel/runtime': 7.20.6
2470 | '@testing-library/dom': 8.19.0
2471 | react: 19.1.0
2472 | react-dom: 19.1.0(react@19.1.0)
2473 | optionalDependencies:
2474 | '@types/react': 19.1.8
2475 | '@types/react-dom': 19.1.6(@types/react@19.1.8)
2476 |
2477 | '@types/argparse@1.0.38': {}
2478 |
2479 | '@types/aria-query@4.2.2': {}
2480 |
2481 | '@types/babel__core@7.20.5':
2482 | dependencies:
2483 | '@babel/parser': 7.26.3
2484 | '@babel/types': 7.26.3
2485 | '@types/babel__generator': 7.6.8
2486 | '@types/babel__template': 7.4.4
2487 | '@types/babel__traverse': 7.20.6
2488 |
2489 | '@types/babel__generator@7.6.8':
2490 | dependencies:
2491 | '@babel/types': 7.26.3
2492 |
2493 | '@types/babel__template@7.4.4':
2494 | dependencies:
2495 | '@babel/parser': 7.26.3
2496 | '@babel/types': 7.26.3
2497 |
2498 | '@types/babel__traverse@7.20.6':
2499 | dependencies:
2500 | '@babel/types': 7.26.3
2501 |
2502 | '@types/estree@1.0.6': {}
2503 |
2504 | '@types/flickity@2.2.11': {}
2505 |
2506 | '@types/hast@2.3.10':
2507 | dependencies:
2508 | '@types/unist': 2.0.11
2509 |
2510 | '@types/imagesloaded@4.1.7':
2511 | dependencies:
2512 | '@types/jquery': 3.5.32
2513 |
2514 | '@types/jquery@3.5.32':
2515 | dependencies:
2516 | '@types/sizzle': 2.3.9
2517 |
2518 | '@types/node@18.11.13':
2519 | optional: true
2520 |
2521 | '@types/react-dom@19.1.6(@types/react@19.1.8)':
2522 | dependencies:
2523 | '@types/react': 19.1.8
2524 |
2525 | '@types/react-syntax-highlighter@15.5.13':
2526 | dependencies:
2527 | '@types/react': 19.1.8
2528 |
2529 | '@types/react@19.1.8':
2530 | dependencies:
2531 | csstype: 3.1.1
2532 |
2533 | '@types/sizzle@2.3.9': {}
2534 |
2535 | '@types/unist@2.0.11': {}
2536 |
2537 | '@vitejs/plugin-react@4.3.4(vite@6.0.6(@types/node@18.11.13))':
2538 | dependencies:
2539 | '@babel/core': 7.26.0
2540 | '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.0)
2541 | '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.0)
2542 | '@types/babel__core': 7.20.5
2543 | react-refresh: 0.14.2
2544 | vite: 6.0.6(@types/node@18.11.13)
2545 | transitivePeerDependencies:
2546 | - supports-color
2547 |
2548 | '@vitest/expect@2.1.9':
2549 | dependencies:
2550 | '@vitest/spy': 2.1.9
2551 | '@vitest/utils': 2.1.9
2552 | chai: 5.2.0
2553 | tinyrainbow: 1.2.0
2554 |
2555 | '@vitest/mocker@2.1.9(vite@5.4.19(@types/node@18.11.13))':
2556 | dependencies:
2557 | '@vitest/spy': 2.1.9
2558 | estree-walker: 3.0.3
2559 | magic-string: 0.30.17
2560 | optionalDependencies:
2561 | vite: 5.4.19(@types/node@18.11.13)
2562 |
2563 | '@vitest/pretty-format@2.1.9':
2564 | dependencies:
2565 | tinyrainbow: 1.2.0
2566 |
2567 | '@vitest/runner@2.1.9':
2568 | dependencies:
2569 | '@vitest/utils': 2.1.9
2570 | pathe: 1.1.2
2571 |
2572 | '@vitest/snapshot@2.1.9':
2573 | dependencies:
2574 | '@vitest/pretty-format': 2.1.9
2575 | magic-string: 0.30.17
2576 | pathe: 1.1.2
2577 |
2578 | '@vitest/spy@2.1.9':
2579 | dependencies:
2580 | tinyspy: 3.0.2
2581 |
2582 | '@vitest/utils@2.1.9':
2583 | dependencies:
2584 | '@vitest/pretty-format': 2.1.9
2585 | loupe: 3.1.3
2586 | tinyrainbow: 1.2.0
2587 |
2588 | '@volar/language-core@2.4.14':
2589 | dependencies:
2590 | '@volar/source-map': 2.4.14
2591 |
2592 | '@volar/source-map@2.4.14': {}
2593 |
2594 | '@volar/typescript@2.4.14':
2595 | dependencies:
2596 | '@volar/language-core': 2.4.14
2597 | path-browserify: 1.0.1
2598 | vscode-uri: 3.1.0
2599 |
2600 | '@vue/compiler-core@3.5.16':
2601 | dependencies:
2602 | '@babel/parser': 7.27.5
2603 | '@vue/shared': 3.5.16
2604 | entities: 4.5.0
2605 | estree-walker: 2.0.2
2606 | source-map-js: 1.2.1
2607 |
2608 | '@vue/compiler-dom@3.5.16':
2609 | dependencies:
2610 | '@vue/compiler-core': 3.5.16
2611 | '@vue/shared': 3.5.16
2612 |
2613 | '@vue/compiler-vue2@2.7.16':
2614 | dependencies:
2615 | de-indent: 1.0.2
2616 | he: 1.2.0
2617 |
2618 | '@vue/language-core@2.2.0(typescript@5.8.3)':
2619 | dependencies:
2620 | '@volar/language-core': 2.4.14
2621 | '@vue/compiler-dom': 3.5.16
2622 | '@vue/compiler-vue2': 2.7.16
2623 | '@vue/shared': 3.5.16
2624 | alien-signals: 0.4.14
2625 | minimatch: 9.0.5
2626 | muggle-string: 0.4.1
2627 | path-browserify: 1.0.1
2628 | optionalDependencies:
2629 | typescript: 5.8.3
2630 |
2631 | '@vue/shared@3.5.16': {}
2632 |
2633 | acorn@8.15.0: {}
2634 |
2635 | agent-base@7.1.3: {}
2636 |
2637 | ajv-draft-04@1.0.0(ajv@8.13.0):
2638 | optionalDependencies:
2639 | ajv: 8.13.0
2640 |
2641 | ajv-formats@3.0.1(ajv@8.13.0):
2642 | optionalDependencies:
2643 | ajv: 8.13.0
2644 |
2645 | ajv@8.12.0:
2646 | dependencies:
2647 | fast-deep-equal: 3.1.3
2648 | json-schema-traverse: 1.0.0
2649 | require-from-string: 2.0.2
2650 | uri-js: 4.4.1
2651 |
2652 | ajv@8.13.0:
2653 | dependencies:
2654 | fast-deep-equal: 3.1.3
2655 | json-schema-traverse: 1.0.0
2656 | require-from-string: 2.0.2
2657 | uri-js: 4.4.1
2658 |
2659 | alien-signals@0.4.14: {}
2660 |
2661 | ansi-regex@5.0.1: {}
2662 |
2663 | ansi-styles@4.3.0:
2664 | dependencies:
2665 | color-convert: 2.0.1
2666 |
2667 | ansi-styles@5.2.0: {}
2668 |
2669 | argparse@1.0.10:
2670 | dependencies:
2671 | sprintf-js: 1.0.3
2672 |
2673 | aria-query@5.1.3:
2674 | dependencies:
2675 | deep-equal: 2.1.0
2676 |
2677 | assertion-error@2.0.1: {}
2678 |
2679 | asynckit@0.4.0: {}
2680 |
2681 | available-typed-arrays@1.0.5: {}
2682 |
2683 | balanced-match@1.0.2: {}
2684 |
2685 | brace-expansion@1.1.12:
2686 | dependencies:
2687 | balanced-match: 1.0.2
2688 | concat-map: 0.0.1
2689 |
2690 | brace-expansion@2.0.2:
2691 | dependencies:
2692 | balanced-match: 1.0.2
2693 |
2694 | browserslist@4.24.3:
2695 | dependencies:
2696 | caniuse-lite: 1.0.30001690
2697 | electron-to-chromium: 1.5.76
2698 | node-releases: 2.0.19
2699 | update-browserslist-db: 1.1.1(browserslist@4.24.3)
2700 |
2701 | cac@6.7.14: {}
2702 |
2703 | call-bind@1.0.2:
2704 | dependencies:
2705 | function-bind: 1.1.1
2706 | get-intrinsic: 1.1.3
2707 |
2708 | caniuse-lite@1.0.30001690: {}
2709 |
2710 | chai@5.2.0:
2711 | dependencies:
2712 | assertion-error: 2.0.1
2713 | check-error: 2.1.1
2714 | deep-eql: 5.0.2
2715 | loupe: 3.1.3
2716 | pathval: 2.0.0
2717 |
2718 | chalk@3.0.0:
2719 | dependencies:
2720 | ansi-styles: 4.3.0
2721 | supports-color: 7.2.0
2722 |
2723 | chalk@4.1.2:
2724 | dependencies:
2725 | ansi-styles: 4.3.0
2726 | supports-color: 7.2.0
2727 |
2728 | character-entities-legacy@1.1.4: {}
2729 |
2730 | character-entities@1.2.4: {}
2731 |
2732 | character-reference-invalid@1.1.4: {}
2733 |
2734 | check-error@2.1.1: {}
2735 |
2736 | color-convert@2.0.1:
2737 | dependencies:
2738 | color-name: 1.1.4
2739 |
2740 | color-name@1.1.4: {}
2741 |
2742 | combined-stream@1.0.8:
2743 | dependencies:
2744 | delayed-stream: 1.0.0
2745 |
2746 | comma-separated-tokens@1.0.8: {}
2747 |
2748 | compare-versions@6.1.1: {}
2749 |
2750 | concat-map@0.0.1: {}
2751 |
2752 | confbox@0.1.8: {}
2753 |
2754 | confbox@0.2.2: {}
2755 |
2756 | convert-source-map@2.0.0: {}
2757 |
2758 | css.escape@1.5.1: {}
2759 |
2760 | cssstyle@4.4.0:
2761 | dependencies:
2762 | '@asamuzakjp/css-color': 3.2.0
2763 | rrweb-cssom: 0.8.0
2764 |
2765 | csstype@3.1.1: {}
2766 |
2767 | data-urls@5.0.0:
2768 | dependencies:
2769 | whatwg-mimetype: 4.0.0
2770 | whatwg-url: 14.2.0
2771 |
2772 | de-indent@1.0.2: {}
2773 |
2774 | debug@4.3.4:
2775 | dependencies:
2776 | ms: 2.1.2
2777 |
2778 | debug@4.4.1:
2779 | dependencies:
2780 | ms: 2.1.3
2781 |
2782 | decimal.js@10.4.3: {}
2783 |
2784 | deep-eql@5.0.2: {}
2785 |
2786 | deep-equal@2.1.0:
2787 | dependencies:
2788 | call-bind: 1.0.2
2789 | es-get-iterator: 1.1.2
2790 | get-intrinsic: 1.1.3
2791 | is-arguments: 1.1.1
2792 | is-date-object: 1.0.5
2793 | is-regex: 1.1.4
2794 | isarray: 2.0.5
2795 | object-is: 1.1.5
2796 | object-keys: 1.1.1
2797 | object.assign: 4.1.4
2798 | regexp.prototype.flags: 1.4.3
2799 | side-channel: 1.0.4
2800 | which-boxed-primitive: 1.0.2
2801 | which-collection: 1.0.1
2802 | which-typed-array: 1.1.9
2803 |
2804 | define-properties@1.1.4:
2805 | dependencies:
2806 | has-property-descriptors: 1.0.0
2807 | object-keys: 1.1.1
2808 |
2809 | delayed-stream@1.0.0: {}
2810 |
2811 | desandro-matches-selector@2.0.2: {}
2812 |
2813 | dom-accessibility-api@0.5.14: {}
2814 |
2815 | dom-accessibility-api@0.6.3: {}
2816 |
2817 | electron-to-chromium@1.5.76: {}
2818 |
2819 | entities@4.4.0: {}
2820 |
2821 | entities@4.5.0: {}
2822 |
2823 | es-get-iterator@1.1.2:
2824 | dependencies:
2825 | call-bind: 1.0.2
2826 | get-intrinsic: 1.1.3
2827 | has-symbols: 1.0.3
2828 | is-arguments: 1.1.1
2829 | is-map: 2.0.2
2830 | is-set: 2.0.2
2831 | is-string: 1.0.7
2832 | isarray: 2.0.5
2833 |
2834 | es-module-lexer@1.7.0: {}
2835 |
2836 | esbuild-android-64@0.14.54:
2837 | optional: true
2838 |
2839 | esbuild-android-arm64@0.14.54:
2840 | optional: true
2841 |
2842 | esbuild-darwin-64@0.14.54:
2843 | optional: true
2844 |
2845 | esbuild-darwin-arm64@0.14.54:
2846 | optional: true
2847 |
2848 | esbuild-freebsd-64@0.14.54:
2849 | optional: true
2850 |
2851 | esbuild-freebsd-arm64@0.14.54:
2852 | optional: true
2853 |
2854 | esbuild-linux-32@0.14.54:
2855 | optional: true
2856 |
2857 | esbuild-linux-64@0.14.54:
2858 | optional: true
2859 |
2860 | esbuild-linux-arm64@0.14.54:
2861 | optional: true
2862 |
2863 | esbuild-linux-arm@0.14.54:
2864 | optional: true
2865 |
2866 | esbuild-linux-mips64le@0.14.54:
2867 | optional: true
2868 |
2869 | esbuild-linux-ppc64le@0.14.54:
2870 | optional: true
2871 |
2872 | esbuild-linux-riscv64@0.14.54:
2873 | optional: true
2874 |
2875 | esbuild-linux-s390x@0.14.54:
2876 | optional: true
2877 |
2878 | esbuild-netbsd-64@0.14.54:
2879 | optional: true
2880 |
2881 | esbuild-openbsd-64@0.14.54:
2882 | optional: true
2883 |
2884 | esbuild-sunos-64@0.14.54:
2885 | optional: true
2886 |
2887 | esbuild-windows-32@0.14.54:
2888 | optional: true
2889 |
2890 | esbuild-windows-64@0.14.54:
2891 | optional: true
2892 |
2893 | esbuild-windows-arm64@0.14.54:
2894 | optional: true
2895 |
2896 | esbuild@0.14.54:
2897 | optionalDependencies:
2898 | '@esbuild/linux-loong64': 0.14.54
2899 | esbuild-android-64: 0.14.54
2900 | esbuild-android-arm64: 0.14.54
2901 | esbuild-darwin-64: 0.14.54
2902 | esbuild-darwin-arm64: 0.14.54
2903 | esbuild-freebsd-64: 0.14.54
2904 | esbuild-freebsd-arm64: 0.14.54
2905 | esbuild-linux-32: 0.14.54
2906 | esbuild-linux-64: 0.14.54
2907 | esbuild-linux-arm: 0.14.54
2908 | esbuild-linux-arm64: 0.14.54
2909 | esbuild-linux-mips64le: 0.14.54
2910 | esbuild-linux-ppc64le: 0.14.54
2911 | esbuild-linux-riscv64: 0.14.54
2912 | esbuild-linux-s390x: 0.14.54
2913 | esbuild-netbsd-64: 0.14.54
2914 | esbuild-openbsd-64: 0.14.54
2915 | esbuild-sunos-64: 0.14.54
2916 | esbuild-windows-32: 0.14.54
2917 | esbuild-windows-64: 0.14.54
2918 | esbuild-windows-arm64: 0.14.54
2919 |
2920 | esbuild@0.21.5:
2921 | optionalDependencies:
2922 | '@esbuild/aix-ppc64': 0.21.5
2923 | '@esbuild/android-arm': 0.21.5
2924 | '@esbuild/android-arm64': 0.21.5
2925 | '@esbuild/android-x64': 0.21.5
2926 | '@esbuild/darwin-arm64': 0.21.5
2927 | '@esbuild/darwin-x64': 0.21.5
2928 | '@esbuild/freebsd-arm64': 0.21.5
2929 | '@esbuild/freebsd-x64': 0.21.5
2930 | '@esbuild/linux-arm': 0.21.5
2931 | '@esbuild/linux-arm64': 0.21.5
2932 | '@esbuild/linux-ia32': 0.21.5
2933 | '@esbuild/linux-loong64': 0.21.5
2934 | '@esbuild/linux-mips64el': 0.21.5
2935 | '@esbuild/linux-ppc64': 0.21.5
2936 | '@esbuild/linux-riscv64': 0.21.5
2937 | '@esbuild/linux-s390x': 0.21.5
2938 | '@esbuild/linux-x64': 0.21.5
2939 | '@esbuild/netbsd-x64': 0.21.5
2940 | '@esbuild/openbsd-x64': 0.21.5
2941 | '@esbuild/sunos-x64': 0.21.5
2942 | '@esbuild/win32-arm64': 0.21.5
2943 | '@esbuild/win32-ia32': 0.21.5
2944 | '@esbuild/win32-x64': 0.21.5
2945 |
2946 | esbuild@0.24.2:
2947 | optionalDependencies:
2948 | '@esbuild/aix-ppc64': 0.24.2
2949 | '@esbuild/android-arm': 0.24.2
2950 | '@esbuild/android-arm64': 0.24.2
2951 | '@esbuild/android-x64': 0.24.2
2952 | '@esbuild/darwin-arm64': 0.24.2
2953 | '@esbuild/darwin-x64': 0.24.2
2954 | '@esbuild/freebsd-arm64': 0.24.2
2955 | '@esbuild/freebsd-x64': 0.24.2
2956 | '@esbuild/linux-arm': 0.24.2
2957 | '@esbuild/linux-arm64': 0.24.2
2958 | '@esbuild/linux-ia32': 0.24.2
2959 | '@esbuild/linux-loong64': 0.24.2
2960 | '@esbuild/linux-mips64el': 0.24.2
2961 | '@esbuild/linux-ppc64': 0.24.2
2962 | '@esbuild/linux-riscv64': 0.24.2
2963 | '@esbuild/linux-s390x': 0.24.2
2964 | '@esbuild/linux-x64': 0.24.2
2965 | '@esbuild/netbsd-arm64': 0.24.2
2966 | '@esbuild/netbsd-x64': 0.24.2
2967 | '@esbuild/openbsd-arm64': 0.24.2
2968 | '@esbuild/openbsd-x64': 0.24.2
2969 | '@esbuild/sunos-x64': 0.24.2
2970 | '@esbuild/win32-arm64': 0.24.2
2971 | '@esbuild/win32-ia32': 0.24.2
2972 | '@esbuild/win32-x64': 0.24.2
2973 |
2974 | escalade@3.2.0: {}
2975 |
2976 | estree-walker@2.0.2: {}
2977 |
2978 | estree-walker@3.0.3:
2979 | dependencies:
2980 | '@types/estree': 1.0.6
2981 |
2982 | ev-emitter@1.1.1: {}
2983 |
2984 | expect-type@1.2.1: {}
2985 |
2986 | exsolve@1.0.5: {}
2987 |
2988 | fast-deep-equal@3.1.3: {}
2989 |
2990 | fault@1.0.4:
2991 | dependencies:
2992 | format: 0.2.2
2993 |
2994 | fizzy-ui-utils@2.0.7:
2995 | dependencies:
2996 | desandro-matches-selector: 2.0.2
2997 |
2998 | flickity@2.3.0:
2999 | dependencies:
3000 | desandro-matches-selector: 2.0.2
3001 | ev-emitter: 1.1.1
3002 | fizzy-ui-utils: 2.0.7
3003 | get-size: 2.0.3
3004 | unidragger: 2.4.0
3005 | unipointer: 2.4.0
3006 |
3007 | for-each@0.3.3:
3008 | dependencies:
3009 | is-callable: 1.2.7
3010 |
3011 | form-data@4.0.0:
3012 | dependencies:
3013 | asynckit: 0.4.0
3014 | combined-stream: 1.0.8
3015 | mime-types: 2.1.35
3016 |
3017 | format@0.2.2: {}
3018 |
3019 | fs-extra@11.3.0:
3020 | dependencies:
3021 | graceful-fs: 4.2.10
3022 | jsonfile: 6.1.0
3023 | universalify: 2.0.1
3024 |
3025 | fsevents@2.3.3:
3026 | optional: true
3027 |
3028 | function-bind@1.1.1: {}
3029 |
3030 | function-bind@1.1.2: {}
3031 |
3032 | functions-have-names@1.2.3: {}
3033 |
3034 | gensync@1.0.0-beta.2: {}
3035 |
3036 | get-intrinsic@1.1.3:
3037 | dependencies:
3038 | function-bind: 1.1.1
3039 | has: 1.0.3
3040 | has-symbols: 1.0.3
3041 |
3042 | get-size@2.0.3: {}
3043 |
3044 | globals@11.12.0: {}
3045 |
3046 | gopd@1.0.1:
3047 | dependencies:
3048 | get-intrinsic: 1.1.3
3049 |
3050 | graceful-fs@4.2.10: {}
3051 |
3052 | has-bigints@1.0.2: {}
3053 |
3054 | has-flag@4.0.0: {}
3055 |
3056 | has-property-descriptors@1.0.0:
3057 | dependencies:
3058 | get-intrinsic: 1.1.3
3059 |
3060 | has-symbols@1.0.3: {}
3061 |
3062 | has-tostringtag@1.0.0:
3063 | dependencies:
3064 | has-symbols: 1.0.3
3065 |
3066 | has@1.0.3:
3067 | dependencies:
3068 | function-bind: 1.1.1
3069 |
3070 | hasown@2.0.2:
3071 | dependencies:
3072 | function-bind: 1.1.2
3073 |
3074 | hast-util-parse-selector@2.2.5: {}
3075 |
3076 | hastscript@6.0.0:
3077 | dependencies:
3078 | '@types/hast': 2.3.10
3079 | comma-separated-tokens: 1.0.8
3080 | hast-util-parse-selector: 2.2.5
3081 | property-information: 5.6.0
3082 | space-separated-tokens: 1.1.5
3083 |
3084 | he@1.2.0: {}
3085 |
3086 | highlight.js@10.7.3: {}
3087 |
3088 | highlightjs-vue@1.0.0: {}
3089 |
3090 | html-encoding-sniffer@4.0.0:
3091 | dependencies:
3092 | whatwg-encoding: 3.1.1
3093 |
3094 | http-proxy-agent@7.0.2:
3095 | dependencies:
3096 | agent-base: 7.1.3
3097 | debug: 4.3.4
3098 | transitivePeerDependencies:
3099 | - supports-color
3100 |
3101 | https-proxy-agent@7.0.6:
3102 | dependencies:
3103 | agent-base: 7.1.3
3104 | debug: 4.3.4
3105 | transitivePeerDependencies:
3106 | - supports-color
3107 |
3108 | iconv-lite@0.6.3:
3109 | dependencies:
3110 | safer-buffer: 2.1.2
3111 |
3112 | imagesloaded@4.1.4:
3113 | dependencies:
3114 | ev-emitter: 1.1.1
3115 |
3116 | import-lazy@4.0.0: {}
3117 |
3118 | indent-string@4.0.0: {}
3119 |
3120 | is-alphabetical@1.0.4: {}
3121 |
3122 | is-alphanumerical@1.0.4:
3123 | dependencies:
3124 | is-alphabetical: 1.0.4
3125 | is-decimal: 1.0.4
3126 |
3127 | is-arguments@1.1.1:
3128 | dependencies:
3129 | call-bind: 1.0.2
3130 | has-tostringtag: 1.0.0
3131 |
3132 | is-bigint@1.0.4:
3133 | dependencies:
3134 | has-bigints: 1.0.2
3135 |
3136 | is-boolean-object@1.1.2:
3137 | dependencies:
3138 | call-bind: 1.0.2
3139 | has-tostringtag: 1.0.0
3140 |
3141 | is-callable@1.2.7: {}
3142 |
3143 | is-core-module@2.11.0:
3144 | dependencies:
3145 | has: 1.0.3
3146 |
3147 | is-core-module@2.16.1:
3148 | dependencies:
3149 | hasown: 2.0.2
3150 |
3151 | is-date-object@1.0.5:
3152 | dependencies:
3153 | has-tostringtag: 1.0.0
3154 |
3155 | is-decimal@1.0.4: {}
3156 |
3157 | is-hexadecimal@1.0.4: {}
3158 |
3159 | is-map@2.0.2: {}
3160 |
3161 | is-number-object@1.0.7:
3162 | dependencies:
3163 | has-tostringtag: 1.0.0
3164 |
3165 | is-potential-custom-element-name@1.0.1: {}
3166 |
3167 | is-regex@1.1.4:
3168 | dependencies:
3169 | call-bind: 1.0.2
3170 | has-tostringtag: 1.0.0
3171 |
3172 | is-set@2.0.2: {}
3173 |
3174 | is-string@1.0.7:
3175 | dependencies:
3176 | has-tostringtag: 1.0.0
3177 |
3178 | is-symbol@1.0.4:
3179 | dependencies:
3180 | has-symbols: 1.0.3
3181 |
3182 | is-typed-array@1.1.10:
3183 | dependencies:
3184 | available-typed-arrays: 1.0.5
3185 | call-bind: 1.0.2
3186 | for-each: 0.3.3
3187 | gopd: 1.0.1
3188 | has-tostringtag: 1.0.0
3189 |
3190 | is-weakmap@2.0.1: {}
3191 |
3192 | is-weakset@2.0.2:
3193 | dependencies:
3194 | call-bind: 1.0.2
3195 | get-intrinsic: 1.1.3
3196 |
3197 | isarray@2.0.5: {}
3198 |
3199 | jju@1.4.0: {}
3200 |
3201 | js-tokens@4.0.0: {}
3202 |
3203 | jsdom@25.0.1:
3204 | dependencies:
3205 | cssstyle: 4.4.0
3206 | data-urls: 5.0.0
3207 | decimal.js: 10.4.3
3208 | form-data: 4.0.0
3209 | html-encoding-sniffer: 4.0.0
3210 | http-proxy-agent: 7.0.2
3211 | https-proxy-agent: 7.0.6
3212 | is-potential-custom-element-name: 1.0.1
3213 | nwsapi: 2.2.20
3214 | parse5: 7.1.2
3215 | rrweb-cssom: 0.7.1
3216 | saxes: 6.0.0
3217 | symbol-tree: 3.2.4
3218 | tough-cookie: 5.1.2
3219 | w3c-xmlserializer: 5.0.0
3220 | webidl-conversions: 7.0.0
3221 | whatwg-encoding: 3.1.1
3222 | whatwg-mimetype: 4.0.0
3223 | whatwg-url: 14.2.0
3224 | ws: 8.18.2
3225 | xml-name-validator: 5.0.0
3226 | transitivePeerDependencies:
3227 | - bufferutil
3228 | - supports-color
3229 | - utf-8-validate
3230 |
3231 | jsesc@3.1.0: {}
3232 |
3233 | json-schema-traverse@1.0.0: {}
3234 |
3235 | json5@2.2.3: {}
3236 |
3237 | jsonfile@6.1.0:
3238 | dependencies:
3239 | universalify: 2.0.1
3240 | optionalDependencies:
3241 | graceful-fs: 4.2.10
3242 |
3243 | kolorist@1.8.0: {}
3244 |
3245 | local-pkg@1.1.1:
3246 | dependencies:
3247 | mlly: 1.7.4
3248 | pkg-types: 2.1.0
3249 | quansync: 0.2.10
3250 |
3251 | lodash@4.17.21: {}
3252 |
3253 | loupe@3.1.3: {}
3254 |
3255 | lowlight@1.20.0:
3256 | dependencies:
3257 | fault: 1.0.4
3258 | highlight.js: 10.7.3
3259 |
3260 | lru-cache@10.4.3: {}
3261 |
3262 | lru-cache@5.1.1:
3263 | dependencies:
3264 | yallist: 3.1.1
3265 |
3266 | lru-cache@6.0.0:
3267 | dependencies:
3268 | yallist: 4.0.0
3269 |
3270 | lz-string@1.4.4: {}
3271 |
3272 | magic-string@0.30.17:
3273 | dependencies:
3274 | '@jridgewell/sourcemap-codec': 1.5.0
3275 |
3276 | mime-db@1.52.0: {}
3277 |
3278 | mime-types@2.1.35:
3279 | dependencies:
3280 | mime-db: 1.52.0
3281 |
3282 | min-indent@1.0.1: {}
3283 |
3284 | minimatch@3.0.8:
3285 | dependencies:
3286 | brace-expansion: 1.1.12
3287 |
3288 | minimatch@9.0.5:
3289 | dependencies:
3290 | brace-expansion: 2.0.2
3291 |
3292 | mlly@1.7.4:
3293 | dependencies:
3294 | acorn: 8.15.0
3295 | pathe: 2.0.3
3296 | pkg-types: 1.3.1
3297 | ufo: 1.6.1
3298 |
3299 | ms@2.1.2: {}
3300 |
3301 | ms@2.1.3: {}
3302 |
3303 | muggle-string@0.4.1: {}
3304 |
3305 | nanoid@3.3.8: {}
3306 |
3307 | node-releases@2.0.19: {}
3308 |
3309 | nwsapi@2.2.20: {}
3310 |
3311 | object-inspect@1.12.2: {}
3312 |
3313 | object-is@1.1.5:
3314 | dependencies:
3315 | call-bind: 1.0.2
3316 | define-properties: 1.1.4
3317 |
3318 | object-keys@1.1.1: {}
3319 |
3320 | object.assign@4.1.4:
3321 | dependencies:
3322 | call-bind: 1.0.2
3323 | define-properties: 1.1.4
3324 | has-symbols: 1.0.3
3325 | object-keys: 1.1.1
3326 |
3327 | parse-entities@2.0.0:
3328 | dependencies:
3329 | character-entities: 1.2.4
3330 | character-entities-legacy: 1.1.4
3331 | character-reference-invalid: 1.1.4
3332 | is-alphanumerical: 1.0.4
3333 | is-decimal: 1.0.4
3334 | is-hexadecimal: 1.0.4
3335 |
3336 | parse5@7.1.2:
3337 | dependencies:
3338 | entities: 4.4.0
3339 |
3340 | path-browserify@1.0.1: {}
3341 |
3342 | path-parse@1.0.7: {}
3343 |
3344 | pathe@1.1.2: {}
3345 |
3346 | pathe@2.0.3: {}
3347 |
3348 | pathval@2.0.0: {}
3349 |
3350 | picocolors@1.1.1: {}
3351 |
3352 | picomatch@4.0.2: {}
3353 |
3354 | pkg-types@1.3.1:
3355 | dependencies:
3356 | confbox: 0.1.8
3357 | mlly: 1.7.4
3358 | pathe: 2.0.3
3359 |
3360 | pkg-types@2.1.0:
3361 | dependencies:
3362 | confbox: 0.2.2
3363 | exsolve: 1.0.5
3364 | pathe: 2.0.3
3365 |
3366 | postcss@8.4.49:
3367 | dependencies:
3368 | nanoid: 3.3.8
3369 | picocolors: 1.1.1
3370 | source-map-js: 1.2.1
3371 |
3372 | prettier@3.5.3: {}
3373 |
3374 | pretty-format@27.5.1:
3375 | dependencies:
3376 | ansi-regex: 5.0.1
3377 | ansi-styles: 5.2.0
3378 | react-is: 17.0.2
3379 |
3380 | prismjs@1.27.0: {}
3381 |
3382 | prismjs@1.30.0: {}
3383 |
3384 | property-information@5.6.0:
3385 | dependencies:
3386 | xtend: 4.0.2
3387 |
3388 | punycode@2.1.1: {}
3389 |
3390 | punycode@2.3.1: {}
3391 |
3392 | quansync@0.2.10: {}
3393 |
3394 | react-dom@19.1.0(react@19.1.0):
3395 | dependencies:
3396 | react: 19.1.0
3397 | scheduler: 0.26.0
3398 |
3399 | react-is@17.0.2: {}
3400 |
3401 | react-refresh@0.14.2: {}
3402 |
3403 | react-syntax-highlighter@15.6.1(react@19.1.0):
3404 | dependencies:
3405 | '@babel/runtime': 7.20.6
3406 | highlight.js: 10.7.3
3407 | highlightjs-vue: 1.0.0
3408 | lowlight: 1.20.0
3409 | prismjs: 1.30.0
3410 | react: 19.1.0
3411 | refractor: 3.6.0
3412 |
3413 | react@19.1.0: {}
3414 |
3415 | redent@3.0.0:
3416 | dependencies:
3417 | indent-string: 4.0.0
3418 | strip-indent: 3.0.0
3419 |
3420 | refractor@3.6.0:
3421 | dependencies:
3422 | hastscript: 6.0.0
3423 | parse-entities: 2.0.0
3424 | prismjs: 1.27.0
3425 |
3426 | regenerator-runtime@0.13.11: {}
3427 |
3428 | regexp.prototype.flags@1.4.3:
3429 | dependencies:
3430 | call-bind: 1.0.2
3431 | define-properties: 1.1.4
3432 | functions-have-names: 1.2.3
3433 |
3434 | require-from-string@2.0.2: {}
3435 |
3436 | resolve@1.22.1:
3437 | dependencies:
3438 | is-core-module: 2.11.0
3439 | path-parse: 1.0.7
3440 | supports-preserve-symlinks-flag: 1.0.0
3441 |
3442 | resolve@1.22.10:
3443 | dependencies:
3444 | is-core-module: 2.16.1
3445 | path-parse: 1.0.7
3446 | supports-preserve-symlinks-flag: 1.0.0
3447 |
3448 | rollup@4.29.1:
3449 | dependencies:
3450 | '@types/estree': 1.0.6
3451 | optionalDependencies:
3452 | '@rollup/rollup-android-arm-eabi': 4.29.1
3453 | '@rollup/rollup-android-arm64': 4.29.1
3454 | '@rollup/rollup-darwin-arm64': 4.29.1
3455 | '@rollup/rollup-darwin-x64': 4.29.1
3456 | '@rollup/rollup-freebsd-arm64': 4.29.1
3457 | '@rollup/rollup-freebsd-x64': 4.29.1
3458 | '@rollup/rollup-linux-arm-gnueabihf': 4.29.1
3459 | '@rollup/rollup-linux-arm-musleabihf': 4.29.1
3460 | '@rollup/rollup-linux-arm64-gnu': 4.29.1
3461 | '@rollup/rollup-linux-arm64-musl': 4.29.1
3462 | '@rollup/rollup-linux-loongarch64-gnu': 4.29.1
3463 | '@rollup/rollup-linux-powerpc64le-gnu': 4.29.1
3464 | '@rollup/rollup-linux-riscv64-gnu': 4.29.1
3465 | '@rollup/rollup-linux-s390x-gnu': 4.29.1
3466 | '@rollup/rollup-linux-x64-gnu': 4.29.1
3467 | '@rollup/rollup-linux-x64-musl': 4.29.1
3468 | '@rollup/rollup-win32-arm64-msvc': 4.29.1
3469 | '@rollup/rollup-win32-ia32-msvc': 4.29.1
3470 | '@rollup/rollup-win32-x64-msvc': 4.29.1
3471 | fsevents: 2.3.3
3472 |
3473 | rrweb-cssom@0.7.1: {}
3474 |
3475 | rrweb-cssom@0.8.0: {}
3476 |
3477 | safer-buffer@2.1.2: {}
3478 |
3479 | saxes@6.0.0:
3480 | dependencies:
3481 | xmlchars: 2.2.0
3482 |
3483 | scheduler@0.26.0: {}
3484 |
3485 | semver@6.3.1: {}
3486 |
3487 | semver@7.5.4:
3488 | dependencies:
3489 | lru-cache: 6.0.0
3490 |
3491 | side-channel@1.0.4:
3492 | dependencies:
3493 | call-bind: 1.0.2
3494 | get-intrinsic: 1.1.3
3495 | object-inspect: 1.12.2
3496 |
3497 | siginfo@2.0.0: {}
3498 |
3499 | source-map-js@1.2.1: {}
3500 |
3501 | source-map@0.6.1: {}
3502 |
3503 | space-separated-tokens@1.1.5: {}
3504 |
3505 | sprintf-js@1.0.3: {}
3506 |
3507 | stackback@0.0.2: {}
3508 |
3509 | std-env@3.9.0: {}
3510 |
3511 | string-argv@0.3.2: {}
3512 |
3513 | strip-indent@3.0.0:
3514 | dependencies:
3515 | min-indent: 1.0.1
3516 |
3517 | strip-json-comments@3.1.1: {}
3518 |
3519 | supports-color@7.2.0:
3520 | dependencies:
3521 | has-flag: 4.0.0
3522 |
3523 | supports-color@8.1.1:
3524 | dependencies:
3525 | has-flag: 4.0.0
3526 |
3527 | supports-preserve-symlinks-flag@1.0.0: {}
3528 |
3529 | symbol-tree@3.2.4: {}
3530 |
3531 | tinybench@2.9.0: {}
3532 |
3533 | tinyexec@0.3.2: {}
3534 |
3535 | tinypool@1.1.0: {}
3536 |
3537 | tinyrainbow@1.2.0: {}
3538 |
3539 | tinyspy@3.0.2: {}
3540 |
3541 | tldts-core@6.1.86: {}
3542 |
3543 | tldts@6.1.86:
3544 | dependencies:
3545 | tldts-core: 6.1.86
3546 |
3547 | tough-cookie@5.1.2:
3548 | dependencies:
3549 | tldts: 6.1.86
3550 |
3551 | tr46@5.1.1:
3552 | dependencies:
3553 | punycode: 2.3.1
3554 |
3555 | typescript@5.8.2: {}
3556 |
3557 | typescript@5.8.3: {}
3558 |
3559 | ufo@1.6.1: {}
3560 |
3561 | unidragger@2.4.0:
3562 | dependencies:
3563 | unipointer: 2.4.0
3564 |
3565 | unipointer@2.4.0:
3566 | dependencies:
3567 | ev-emitter: 1.1.1
3568 |
3569 | universalify@2.0.1: {}
3570 |
3571 | update-browserslist-db@1.1.1(browserslist@4.24.3):
3572 | dependencies:
3573 | browserslist: 4.24.3
3574 | escalade: 3.2.0
3575 | picocolors: 1.1.1
3576 |
3577 | uri-js@4.4.1:
3578 | dependencies:
3579 | punycode: 2.1.1
3580 |
3581 | vite-node@2.1.9(@types/node@18.11.13):
3582 | dependencies:
3583 | cac: 6.7.14
3584 | debug: 4.4.1
3585 | es-module-lexer: 1.7.0
3586 | pathe: 1.1.2
3587 | vite: 5.4.19(@types/node@18.11.13)
3588 | transitivePeerDependencies:
3589 | - '@types/node'
3590 | - less
3591 | - lightningcss
3592 | - sass
3593 | - sass-embedded
3594 | - stylus
3595 | - sugarss
3596 | - supports-color
3597 | - terser
3598 |
3599 | vite-plugin-dts@4.5.4(@types/node@18.11.13)(rollup@4.29.1)(typescript@5.8.3)(vite@6.0.6(@types/node@18.11.13)):
3600 | dependencies:
3601 | '@microsoft/api-extractor': 7.52.8(@types/node@18.11.13)
3602 | '@rollup/pluginutils': 5.1.4(rollup@4.29.1)
3603 | '@volar/typescript': 2.4.14
3604 | '@vue/language-core': 2.2.0(typescript@5.8.3)
3605 | compare-versions: 6.1.1
3606 | debug: 4.4.1
3607 | kolorist: 1.8.0
3608 | local-pkg: 1.1.1
3609 | magic-string: 0.30.17
3610 | typescript: 5.8.3
3611 | optionalDependencies:
3612 | vite: 6.0.6(@types/node@18.11.13)
3613 | transitivePeerDependencies:
3614 | - '@types/node'
3615 | - rollup
3616 | - supports-color
3617 |
3618 | vite@5.4.19(@types/node@18.11.13):
3619 | dependencies:
3620 | esbuild: 0.21.5
3621 | postcss: 8.4.49
3622 | rollup: 4.29.1
3623 | optionalDependencies:
3624 | '@types/node': 18.11.13
3625 | fsevents: 2.3.3
3626 |
3627 | vite@6.0.6(@types/node@18.11.13):
3628 | dependencies:
3629 | esbuild: 0.24.2
3630 | postcss: 8.4.49
3631 | rollup: 4.29.1
3632 | optionalDependencies:
3633 | '@types/node': 18.11.13
3634 | fsevents: 2.3.3
3635 |
3636 | vitest@2.1.9(@types/node@18.11.13)(jsdom@25.0.1):
3637 | dependencies:
3638 | '@vitest/expect': 2.1.9
3639 | '@vitest/mocker': 2.1.9(vite@5.4.19(@types/node@18.11.13))
3640 | '@vitest/pretty-format': 2.1.9
3641 | '@vitest/runner': 2.1.9
3642 | '@vitest/snapshot': 2.1.9
3643 | '@vitest/spy': 2.1.9
3644 | '@vitest/utils': 2.1.9
3645 | chai: 5.2.0
3646 | debug: 4.4.1
3647 | expect-type: 1.2.1
3648 | magic-string: 0.30.17
3649 | pathe: 1.1.2
3650 | std-env: 3.9.0
3651 | tinybench: 2.9.0
3652 | tinyexec: 0.3.2
3653 | tinypool: 1.1.0
3654 | tinyrainbow: 1.2.0
3655 | vite: 5.4.19(@types/node@18.11.13)
3656 | vite-node: 2.1.9(@types/node@18.11.13)
3657 | why-is-node-running: 2.3.0
3658 | optionalDependencies:
3659 | '@types/node': 18.11.13
3660 | jsdom: 25.0.1
3661 | transitivePeerDependencies:
3662 | - less
3663 | - lightningcss
3664 | - msw
3665 | - sass
3666 | - sass-embedded
3667 | - stylus
3668 | - sugarss
3669 | - supports-color
3670 | - terser
3671 |
3672 | vscode-uri@3.1.0: {}
3673 |
3674 | w3c-xmlserializer@5.0.0:
3675 | dependencies:
3676 | xml-name-validator: 5.0.0
3677 |
3678 | webidl-conversions@7.0.0: {}
3679 |
3680 | whatwg-encoding@3.1.1:
3681 | dependencies:
3682 | iconv-lite: 0.6.3
3683 |
3684 | whatwg-mimetype@4.0.0: {}
3685 |
3686 | whatwg-url@14.2.0:
3687 | dependencies:
3688 | tr46: 5.1.1
3689 | webidl-conversions: 7.0.0
3690 |
3691 | which-boxed-primitive@1.0.2:
3692 | dependencies:
3693 | is-bigint: 1.0.4
3694 | is-boolean-object: 1.1.2
3695 | is-number-object: 1.0.7
3696 | is-string: 1.0.7
3697 | is-symbol: 1.0.4
3698 |
3699 | which-collection@1.0.1:
3700 | dependencies:
3701 | is-map: 2.0.2
3702 | is-set: 2.0.2
3703 | is-weakmap: 2.0.1
3704 | is-weakset: 2.0.2
3705 |
3706 | which-typed-array@1.1.9:
3707 | dependencies:
3708 | available-typed-arrays: 1.0.5
3709 | call-bind: 1.0.2
3710 | for-each: 0.3.3
3711 | gopd: 1.0.1
3712 | has-tostringtag: 1.0.0
3713 | is-typed-array: 1.1.10
3714 |
3715 | why-is-node-running@2.3.0:
3716 | dependencies:
3717 | siginfo: 2.0.0
3718 | stackback: 0.0.2
3719 |
3720 | ws@8.18.2: {}
3721 |
3722 | xml-name-validator@5.0.0: {}
3723 |
3724 | xmlchars@2.2.0: {}
3725 |
3726 | xtend@4.0.2: {}
3727 |
3728 | yallist@3.1.1: {}
3729 |
3730 | yallist@4.0.0: {}
3731 |
--------------------------------------------------------------------------------