├── .gitignore
├── pnpm-workspace.yaml
├── .npmignore
├── .github
└── logo.png
├── index.js
├── demo
├── public
│ └── favicon.ico
├── src
│ ├── assets
│ │ └── logo.png
│ ├── main.js
│ ├── style.css
│ ├── components
│ │ └── HelloWorld.vue
│ └── App.vue
├── postcss.config.js
├── vite.config.js
├── tailwind.config.js
├── index.html
└── package.json
├── LICENCE
├── package.json
├── index.cjs
├── README.md
└── pnpm-lock.yaml
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
--------------------------------------------------------------------------------
/pnpm-workspace.yaml:
--------------------------------------------------------------------------------
1 | packages:
2 | - demo
3 |
--------------------------------------------------------------------------------
/.npmignore:
--------------------------------------------------------------------------------
1 | demo
2 | vite.config.js
3 | .github
4 | tailwind.config.js
5 | postcss.config.js
--------------------------------------------------------------------------------
/.github/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/craigrileyuk/tailwind-fluid-typography/HEAD/.github/logo.png
--------------------------------------------------------------------------------
/index.js:
--------------------------------------------------------------------------------
1 | import tailwindFluidTypography from "./index.cjs";
2 |
3 | export default tailwindFluidTypography;
--------------------------------------------------------------------------------
/demo/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/craigrileyuk/tailwind-fluid-typography/HEAD/demo/public/favicon.ico
--------------------------------------------------------------------------------
/demo/src/assets/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/craigrileyuk/tailwind-fluid-typography/HEAD/demo/src/assets/logo.png
--------------------------------------------------------------------------------
/demo/src/main.js:
--------------------------------------------------------------------------------
1 | import "./style.css";
2 |
3 | import { createApp } from "vue";
4 | import App from "./App.vue";
5 |
6 | createApp(App).mount("#app");
7 |
--------------------------------------------------------------------------------
/demo/postcss.config.js:
--------------------------------------------------------------------------------
1 | export default {
2 | plugins: {
3 | "postcss-import": {},
4 | "tailwindcss/nesting": {},
5 | tailwindcss: {},
6 | autoprefixer: {},
7 | },
8 | };
9 |
--------------------------------------------------------------------------------
/demo/vite.config.js:
--------------------------------------------------------------------------------
1 | import { defineConfig } from "vite";
2 | import vue from "@vitejs/plugin-vue";
3 |
4 | // https://vitejs.dev/config/
5 | export default defineConfig({
6 | plugins: [vue({})],
7 | });
8 |
--------------------------------------------------------------------------------
/demo/tailwind.config.js:
--------------------------------------------------------------------------------
1 | import fluidTypography from "tailwind-fluid-typography";
2 |
3 | export default {
4 | content: ["./index.html", "./src/**/*.{vue,js,ts,jsx,tsx}"],
5 | theme: {
6 | extend: {},
7 | },
8 | plugins: [fluidTypography],
9 | };
10 |
--------------------------------------------------------------------------------
/demo/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Tailwind Fluid Typography
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/demo/src/style.css:
--------------------------------------------------------------------------------
1 | @tailwind base;
2 | @tailwind components;
3 | @tailwind utilities;
4 |
5 | @layer utilities {
6 | .fluid-prose {
7 | :where(h1) {
8 | @apply fluid-5xl mb-0;
9 | }
10 | :where(h2) {
11 | @apply fluid-4xl mb-0;
12 | }
13 | :where(h3) {
14 | @apply fluid-3xl mb-0;
15 | }
16 | :where(h4) {
17 | @apply fluid-2xl mb-0;
18 | }
19 | :where(h5) {
20 | @apply fluid-xl mb-0;
21 | }
22 | :where(h6) {
23 | @apply fluid-lg mb-0;
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/demo/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "demo",
3 | "version": "1.0.0",
4 | "description": "",
5 | "main": "index.js",
6 | "type": "module",
7 | "scripts": {
8 | "dev": "vite",
9 | "build": "vite build",
10 | "preview": "vite preview"
11 | },
12 | "keywords": [],
13 | "author": "",
14 | "license": "MIT",
15 | "dependencies": {
16 | "tailwind-fluid-typography": "workspace:*"
17 | },
18 | "devDependencies": {
19 | "@vitejs/plugin-vue": "^5.2.1",
20 | "autoprefixer": "^10.4.20",
21 | "postcss": "^8.4.49",
22 | "postcss-import": "^16.1.0",
23 | "tailwindcss": "^3.4.17",
24 | "vite": "^6.0.7",
25 | "vue": "^3.5.0"
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/demo/src/components/HelloWorld.vue:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 | {{ msg }}
13 |
14 |
15 | Recommended IDE setup:
16 | VSCode
17 | +
18 | Volar
19 |
20 |
21 |
22 |
23 | Vite Documentation
24 |
25 | |
26 | Vue 3 Documentation
27 |
28 |
29 | count is: {{ count }}
30 |
31 | Edit
32 | components/HelloWorld.vue to test hot module replacement.
33 |
34 |
35 |
36 |
41 |
--------------------------------------------------------------------------------
/demo/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 | Fluid 5XL
3 | Fluid 4XL
4 | Fluid 3XL
5 | Fluid 2XL
6 | Fluid XL
7 | Fluid LG
8 | Fluid BASE
9 | Prose
10 |
11 |
12 |
13 |
14 | Fluid 5XL
15 | Fluid 4XL
16 | Fluid 3XL
17 | Fluid 2XL
18 | Fluid XL
19 | Fluid LG
20 | Fluid BASE
21 |
22 |
23 |
24 |
25 |
26 |
27 |
39 |
--------------------------------------------------------------------------------
/LICENCE:
--------------------------------------------------------------------------------
1 | he MIT License (MIT)
2 |
3 | Copyright © 2025 Craig Riley
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6 |
7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8 |
9 | THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
10 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "tailwind-fluid-typography",
3 | "version": "2.0.0",
4 | "description": "Fluid typography plugin for the tailwindcss framework",
5 | "main": "index.cjs",
6 | "module": "index.js",
7 | "exports": {
8 | "require": "./index.cjs",
9 | "import": "./index.js"
10 | },
11 | "type": "module",
12 | "contributors": [
13 | "Craig Riley"
14 | ],
15 | "scripts": {
16 | "dev": "pnpm --filter=demo run dev",
17 | "build": "pnpm --filter=demo run build",
18 | "preview": "pnpm --filter=demo run preview"
19 | },
20 | "repository": {
21 | "type": "git",
22 | "url": "git+https://github.com/craigrileyuk/tailwind-fluid-typography.git"
23 | },
24 | "keywords": [
25 | "tailwind",
26 | "tailwindcss",
27 | "plugin",
28 | "tailwindcss-plugin",
29 | "typography",
30 | "fluid",
31 | "responsive"
32 | ],
33 | "license": "MIT",
34 | "bugs": {
35 | "url": "https://github.com/craigrileyuk/tailwind-fluid-typography/issues"
36 | },
37 | "homepage": "https://github.com/craigrileyuk/tailwind-fluid-typography#readme",
38 | "peerDependencies": {
39 | "tailwindcss": ">=1.2.0"
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/index.cjs:
--------------------------------------------------------------------------------
1 | const plugin = require("tailwindcss/plugin");
2 |
3 | // React Demo: https://codesandbox.io/s/clamp-linear-intepolation-based-on-viewport-width-builder-xgkft
4 |
5 | function generateFluidRule(power, { minTypeScale, maxTypeScale, minScreenSize, maxScreenSize, remSize }) {
6 | const minFontSize = Math.pow(minTypeScale, power);
7 | const maxFontSize = Math.pow(maxTypeScale, power);
8 | // Transform the screen sizes from px values to expected rem values
9 | const minScreenSizeRem = minScreenSize / remSize;
10 | const maxScreenSizeRem = maxScreenSize / remSize;
11 | // Quick function to round calculations to a locked number of decimal places
12 | const r = (v) => v.toFixed(4);
13 |
14 | const slope = (maxFontSize - minFontSize) / (maxScreenSizeRem - minScreenSizeRem);
15 | let interpolation = minFontSize - slope * minScreenSizeRem;
16 | let sign = "+";
17 | if (interpolation < 0) {
18 | sign = "-";
19 | interpolation = Math.abs(interpolation);
20 | }
21 |
22 | // Return the formatted CSS value for the font-size
23 | return `clamp(${r(minFontSize)}rem, calc(${r(slope * 100)}vw ${sign} ${r(interpolation)}rem), ${r(
24 | maxFontSize
25 | )}rem)`;
26 | }
27 |
28 | const fluidTypography = function ({ addUtilities, theme }) {
29 | const fluidConfig = {};
30 | const hasCustomRem = !!theme("fluidTypography.remSize");
31 | /**
32 | * Suggested px value of rem. Since all browsers use 16, this is the default
33 | */
34 | fluidConfig.remSize = theme("fluidTypography.remSize", 16);
35 | /**
36 | * This controls the scale at which the font sizes will increase at the lowest bounds (e.g. on mobile devices)
37 | */
38 | fluidConfig.minTypeScale = theme("fluidTypography.minTypeScale", 1.2);
39 | /**
40 | * This controls the scale at which the font sizes will increase at the highest bounds (e.g. on desktop computers)
41 | */
42 | fluidConfig.maxTypeScale = theme("fluidTypography.maxTypeScale", 1.333);
43 | /**
44 | * The px size of the screen at which you want the font-size to stop decreasing
45 | */
46 | fluidConfig.minScreenSize = theme("fluidTypography.minScreenSize", 320);
47 | /**
48 | * The px size of the screen at which you want the font-size to stop increasing
49 | */
50 | fluidConfig.maxScreenSize = theme("fluidTypography.maxScreenSize", 1920);
51 | /**
52 | * The relative line-height of the headings
53 | */
54 | fluidConfig.lineHeight = theme("fluidTypography.lineHeight", 1.35);
55 |
56 | // letterSpacing sizes based on https://vuetifyjs.com/en/styles/text-and-typography/#typography
57 | const rules = {
58 | ".fluid-xs": {
59 | fontSize: generateFluidRule(-2, fluidConfig),
60 | letterSpacing: 0.2,
61 | },
62 | ".fluid-sm": {
63 | fontSize: generateFluidRule(-1, fluidConfig),
64 | lineHeight: 1.5,
65 | letterSpacing: 0.2,
66 | },
67 | ".fluid-base": {
68 | fontSize: hasCustomRem ? `${fluidConfig.remSize}px` : "1rem",
69 | lineHeight: 1.4,
70 | letterSpacing: 0.5,
71 | },
72 | ".fluid-lg": {
73 | fontSize: generateFluidRule(1, fluidConfig),
74 | letterSpacing: "0.009375em",
75 | },
76 | ".fluid-xl": {
77 | fontSize: generateFluidRule(2, fluidConfig),
78 | letterSpacing: "0.0125em",
79 | },
80 | ".fluid-2xl": {
81 | fontSize: generateFluidRule(3, fluidConfig),
82 | letterSpacing: "normal",
83 | },
84 |
85 | ".fluid-3xl": {
86 | fontSize: generateFluidRule(4, fluidConfig),
87 | letterSpacing: "0.0073529412em",
88 | },
89 |
90 | ".fluid-4xl": {
91 | fontSize: generateFluidRule(5, fluidConfig),
92 | letterSpacing: "normal",
93 | },
94 | ".fluid-5xl": {
95 | fontSize: generateFluidRule(6, fluidConfig),
96 | letterSpacing: "-0.0083333333em",
97 | },
98 | ".fluid-6xl": {
99 | fontSize: generateFluidRule(7, fluidConfig),
100 | letterSpacing: "-0.015625em",
101 | },
102 | ".fluid-7xl": {
103 | fontSize: generateFluidRule(8, fluidConfig),
104 | letterSpacing: "-0.0234375em",
105 | },
106 | ".fluid-8xl": {
107 | fontSize: generateFluidRule(9, fluidConfig),
108 | letterSpacing: "-0.03125em",
109 | },
110 | ".fluid-9xl": {
111 | fontSize: generateFluidRule(10, fluidConfig),
112 | letterSpacing: "-0.04em",
113 | },
114 | };
115 | /**
116 | * We use CSS variables here to allow the values to be overridden if used in a .fluid-prose style
117 | */
118 | const lh = "--fluid-line-height";
119 | const ls = "--fluid-letter-spacing";
120 | Object.keys(rules).map((key) => {
121 | const rule = rules[key];
122 | rule[lh] = rule.lineHeight?.toString() || fluidConfig.lineHeight?.toString();
123 | rule[ls] = rule.letterSpacing;
124 | rule.lineHeight = `var(${lh})`;
125 | rule.letterSpacing = `var(${ls})`;
126 | });
127 |
128 | addUtilities(rules);
129 | };
130 |
131 | module.exports = plugin(fluidTypography);
132 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | # Tailwind Fluid Typography
12 |
13 | Based on the fluid typography theory devised by [Mike Riethmuller](https://madebymike.com.au) and incorporating ideas from Google's Material Design spec, Tailwind Fluid Typography gives you a new set of utility classes that scale modularly depending on screen size.
14 |
15 | - Set breakpoints for when your type should start and stop scaling
16 | - Dual scaling system gives you the ability to set your desired scale for your lower breakpoint and for your higher breakpoint
17 | - Provides xs, sm, base, lg, xl, 2xl, 3xl, 4xl, 5xl, 6xl, 7xl, 8xl and 9xl font-sizes
18 |
19 | ## Installation
20 |
21 | ```
22 | npm i tailwind-fluid-typography
23 | // or
24 | yarn add tailwind-fluid-typography
25 | ```
26 |
27 | ```js
28 | // tailwind.config.js
29 | import fluidTypography from "tailwind-fluid-typography";
30 |
31 | export default {
32 | theme: {
33 | fluidTypography: {},
34 | },
35 | plugins: [fluidTypography],
36 | };
37 | ```
38 |
39 | ## Usage
40 |
41 | ```html
42 | Fluid Typography @ 4XL
43 | Fluid Typography @ 3XL
44 | Fluid Typography @ 2XL
45 | Fluid Typography @ XL
46 | Fluid Typography @ LG
47 | Fluid Typography @ LG
48 | Fluid Typography
49 | Fluid Typography @ SM
50 | Fluid Typography @ XS
51 | ```
52 |
53 | ## Customisation
54 |
55 | To customise the plugin settings, you can pass the following properties as part of a `fluidTypography` property on `theme`:
56 |
57 | | Name | Type | Default | Description |
58 | | ------------- | ------ | ------- | -------------------------------------------------------------- |
59 | | remSize | Number | 16 | The px size to assume for 1rem ( \* reference only ) |
60 | | minScreenSize | Number | 320 | The screen size (in px) at which to begin scaling |
61 | | maxScreenSize | Number | 1920 | The screen size (in px) at which to stop scaling |
62 | | minTypeScale | Number | 1.2 | The scaling factor to use at minScreenSize |
63 | | maxTypeScale | Number | 1.333 | The scaling factor to use at maxScreenSize |
64 | | lineHeight | Number | 1.35 | The line-height to use for heading classes |
65 |
66 | - _remSize is required as configuration for Tailwind to setup fluid typography classes. It does not change your actual html base REM size, you must do this yourself._
67 |
68 | For example:
69 |
70 | ```js
71 | theme: {
72 | fluidTypography: {
73 | remSize: 14,
74 | minScreenSize: 600,
75 | maxScreenSize: 1280,
76 | minTypeScale: 1.250,
77 | maxTypeScale: 1.618,
78 | lineHeight: 1.5
79 | }
80 | }
81 | ```
82 |
83 | ### Suggested type scales
84 |
85 | | | | |
86 | | ---------------- | ----- | -------------------- |
87 | | Minor Second | 1.067 | |
88 | | Major Second | 1.125 | |
89 | | Minor Third | 1.200 | default minTypeScale |
90 | | Major Third | 1.250 | |
91 | | Perfect Fourth | 1.333 | default maxTypeScale |
92 | | Augmented Fourth | 1.414 | |
93 | | Perfect Fifth | 1.500 | |
94 | | Golden Ratio | 1.618 | |
95 |
96 | ## Fluid Prose
97 |
98 | At times, you may need to render fluid typography of which you don't have direct control over the classes. Because the style requirements of this vary greatly between sites, we haven't included the functionality in the plugin itself, but it is easily implemented in your own Tailwind stylesheet:
99 |
100 | ```css
101 | @layer utilities {
102 | .fluid-prose {
103 | :where(h1) {
104 | @apply fluid-5xl mb-0;
105 | }
106 | :where(h2) {
107 | @apply fluid-4xl mb-0;
108 | }
109 | :where(h3) {
110 | @apply fluid-3xl mb-0;
111 | }
112 | :where(h4) {
113 | @apply fluid-2xl mb-0;
114 | }
115 | :where(h5) {
116 | @apply fluid-xl mb-0;
117 | }
118 | :where(h6) {
119 | @apply fluid-lg mb-0;
120 | }
121 | }
122 | }
123 | ```
124 |
125 | In case you were wondering, the `:where` selector comes with a CSS specificity of 0, so it is more easily overridden by other utility/custom classes than a normal ``-style rule.
126 |
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: '9.0'
2 |
3 | settings:
4 | autoInstallPeers: true
5 | excludeLinksFromLockfile: false
6 |
7 | importers:
8 |
9 | .:
10 | dependencies:
11 | tailwindcss:
12 | specifier: '>=1.2.0'
13 | version: 3.4.17
14 |
15 | demo:
16 | dependencies:
17 | tailwind-fluid-typography:
18 | specifier: workspace:*
19 | version: link:..
20 | devDependencies:
21 | '@vitejs/plugin-vue':
22 | specifier: ^5.2.1
23 | version: 5.2.1(vite@6.0.7(jiti@1.21.7)(yaml@2.7.0))(vue@3.5.13)
24 | autoprefixer:
25 | specifier: ^10.4.20
26 | version: 10.4.20(postcss@8.4.49)
27 | postcss:
28 | specifier: ^8.4.49
29 | version: 8.4.49
30 | postcss-import:
31 | specifier: ^16.1.0
32 | version: 16.1.0(postcss@8.4.49)
33 | tailwindcss:
34 | specifier: ^3.4.17
35 | version: 3.4.17
36 | vite:
37 | specifier: ^6.0.7
38 | version: 6.0.7(jiti@1.21.7)(yaml@2.7.0)
39 | vue:
40 | specifier: ^3.5.0
41 | version: 3.5.13
42 |
43 | packages:
44 |
45 | '@alloc/quick-lru@5.2.0':
46 | resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
47 | engines: {node: '>=10'}
48 |
49 | '@babel/helper-string-parser@7.25.9':
50 | resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==}
51 | engines: {node: '>=6.9.0'}
52 |
53 | '@babel/helper-validator-identifier@7.25.9':
54 | resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==}
55 | engines: {node: '>=6.9.0'}
56 |
57 | '@babel/parser@7.26.3':
58 | resolution: {integrity: sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==}
59 | engines: {node: '>=6.0.0'}
60 | hasBin: true
61 |
62 | '@babel/types@7.26.3':
63 | resolution: {integrity: sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==}
64 | engines: {node: '>=6.9.0'}
65 |
66 | '@esbuild/aix-ppc64@0.24.2':
67 | resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==}
68 | engines: {node: '>=18'}
69 | cpu: [ppc64]
70 | os: [aix]
71 |
72 | '@esbuild/android-arm64@0.24.2':
73 | resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==}
74 | engines: {node: '>=18'}
75 | cpu: [arm64]
76 | os: [android]
77 |
78 | '@esbuild/android-arm@0.24.2':
79 | resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==}
80 | engines: {node: '>=18'}
81 | cpu: [arm]
82 | os: [android]
83 |
84 | '@esbuild/android-x64@0.24.2':
85 | resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==}
86 | engines: {node: '>=18'}
87 | cpu: [x64]
88 | os: [android]
89 |
90 | '@esbuild/darwin-arm64@0.24.2':
91 | resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==}
92 | engines: {node: '>=18'}
93 | cpu: [arm64]
94 | os: [darwin]
95 |
96 | '@esbuild/darwin-x64@0.24.2':
97 | resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==}
98 | engines: {node: '>=18'}
99 | cpu: [x64]
100 | os: [darwin]
101 |
102 | '@esbuild/freebsd-arm64@0.24.2':
103 | resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==}
104 | engines: {node: '>=18'}
105 | cpu: [arm64]
106 | os: [freebsd]
107 |
108 | '@esbuild/freebsd-x64@0.24.2':
109 | resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==}
110 | engines: {node: '>=18'}
111 | cpu: [x64]
112 | os: [freebsd]
113 |
114 | '@esbuild/linux-arm64@0.24.2':
115 | resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==}
116 | engines: {node: '>=18'}
117 | cpu: [arm64]
118 | os: [linux]
119 |
120 | '@esbuild/linux-arm@0.24.2':
121 | resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==}
122 | engines: {node: '>=18'}
123 | cpu: [arm]
124 | os: [linux]
125 |
126 | '@esbuild/linux-ia32@0.24.2':
127 | resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==}
128 | engines: {node: '>=18'}
129 | cpu: [ia32]
130 | os: [linux]
131 |
132 | '@esbuild/linux-loong64@0.24.2':
133 | resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==}
134 | engines: {node: '>=18'}
135 | cpu: [loong64]
136 | os: [linux]
137 |
138 | '@esbuild/linux-mips64el@0.24.2':
139 | resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==}
140 | engines: {node: '>=18'}
141 | cpu: [mips64el]
142 | os: [linux]
143 |
144 | '@esbuild/linux-ppc64@0.24.2':
145 | resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==}
146 | engines: {node: '>=18'}
147 | cpu: [ppc64]
148 | os: [linux]
149 |
150 | '@esbuild/linux-riscv64@0.24.2':
151 | resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==}
152 | engines: {node: '>=18'}
153 | cpu: [riscv64]
154 | os: [linux]
155 |
156 | '@esbuild/linux-s390x@0.24.2':
157 | resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==}
158 | engines: {node: '>=18'}
159 | cpu: [s390x]
160 | os: [linux]
161 |
162 | '@esbuild/linux-x64@0.24.2':
163 | resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==}
164 | engines: {node: '>=18'}
165 | cpu: [x64]
166 | os: [linux]
167 |
168 | '@esbuild/netbsd-arm64@0.24.2':
169 | resolution: {integrity: sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==}
170 | engines: {node: '>=18'}
171 | cpu: [arm64]
172 | os: [netbsd]
173 |
174 | '@esbuild/netbsd-x64@0.24.2':
175 | resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==}
176 | engines: {node: '>=18'}
177 | cpu: [x64]
178 | os: [netbsd]
179 |
180 | '@esbuild/openbsd-arm64@0.24.2':
181 | resolution: {integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==}
182 | engines: {node: '>=18'}
183 | cpu: [arm64]
184 | os: [openbsd]
185 |
186 | '@esbuild/openbsd-x64@0.24.2':
187 | resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==}
188 | engines: {node: '>=18'}
189 | cpu: [x64]
190 | os: [openbsd]
191 |
192 | '@esbuild/sunos-x64@0.24.2':
193 | resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==}
194 | engines: {node: '>=18'}
195 | cpu: [x64]
196 | os: [sunos]
197 |
198 | '@esbuild/win32-arm64@0.24.2':
199 | resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==}
200 | engines: {node: '>=18'}
201 | cpu: [arm64]
202 | os: [win32]
203 |
204 | '@esbuild/win32-ia32@0.24.2':
205 | resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==}
206 | engines: {node: '>=18'}
207 | cpu: [ia32]
208 | os: [win32]
209 |
210 | '@esbuild/win32-x64@0.24.2':
211 | resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==}
212 | engines: {node: '>=18'}
213 | cpu: [x64]
214 | os: [win32]
215 |
216 | '@isaacs/cliui@8.0.2':
217 | resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
218 | engines: {node: '>=12'}
219 |
220 | '@jridgewell/gen-mapping@0.3.8':
221 | resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==}
222 | engines: {node: '>=6.0.0'}
223 |
224 | '@jridgewell/resolve-uri@3.1.2':
225 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
226 | engines: {node: '>=6.0.0'}
227 |
228 | '@jridgewell/set-array@1.2.1':
229 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
230 | engines: {node: '>=6.0.0'}
231 |
232 | '@jridgewell/sourcemap-codec@1.5.0':
233 | resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
234 |
235 | '@jridgewell/trace-mapping@0.3.25':
236 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
237 |
238 | '@nodelib/fs.scandir@2.1.5':
239 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
240 | engines: {node: '>= 8'}
241 |
242 | '@nodelib/fs.stat@2.0.5':
243 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
244 | engines: {node: '>= 8'}
245 |
246 | '@nodelib/fs.walk@1.2.8':
247 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
248 | engines: {node: '>= 8'}
249 |
250 | '@pkgjs/parseargs@0.11.0':
251 | resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
252 | engines: {node: '>=14'}
253 |
254 | '@rollup/rollup-android-arm-eabi@4.30.0':
255 | resolution: {integrity: sha512-qFcFto9figFLz2g25DxJ1WWL9+c91fTxnGuwhToCl8BaqDsDYMl/kOnBXAyAqkkzAWimYMSWNPWEjt+ADAHuoQ==}
256 | cpu: [arm]
257 | os: [android]
258 |
259 | '@rollup/rollup-android-arm64@4.30.0':
260 | resolution: {integrity: sha512-vqrQdusvVl7dthqNjWCL043qelBK+gv9v3ZiqdxgaJvmZyIAAXMjeGVSqZynKq69T7062T5VrVTuikKSAAVP6A==}
261 | cpu: [arm64]
262 | os: [android]
263 |
264 | '@rollup/rollup-darwin-arm64@4.30.0':
265 | resolution: {integrity: sha512-617pd92LhdA9+wpixnzsyhVft3szYiN16aNUMzVkf2N+yAk8UXY226Bfp36LvxYTUt7MO/ycqGFjQgJ0wlMaWQ==}
266 | cpu: [arm64]
267 | os: [darwin]
268 |
269 | '@rollup/rollup-darwin-x64@4.30.0':
270 | resolution: {integrity: sha512-Y3b4oDoaEhCypg8ajPqigKDcpi5ZZovemQl9Edpem0uNv6UUjXv7iySBpGIUTSs2ovWOzYpfw9EbFJXF/fJHWw==}
271 | cpu: [x64]
272 | os: [darwin]
273 |
274 | '@rollup/rollup-freebsd-arm64@4.30.0':
275 | resolution: {integrity: sha512-3REQJ4f90sFIBfa0BUokiCdrV/E4uIjhkWe1bMgCkhFXbf4D8YN6C4zwJL881GM818qVYE9BO3dGwjKhpo2ABA==}
276 | cpu: [arm64]
277 | os: [freebsd]
278 |
279 | '@rollup/rollup-freebsd-x64@4.30.0':
280 | resolution: {integrity: sha512-ZtY3Y8icbe3Cc+uQicsXG5L+CRGUfLZjW6j2gn5ikpltt3Whqjfo5mkyZ86UiuHF9Q3ZsaQeW7YswlHnN+lAcg==}
281 | cpu: [x64]
282 | os: [freebsd]
283 |
284 | '@rollup/rollup-linux-arm-gnueabihf@4.30.0':
285 | resolution: {integrity: sha512-bsPGGzfiHXMhQGuFGpmo2PyTwcrh2otL6ycSZAFTESviUoBOuxF7iBbAL5IJXc/69peXl5rAtbewBFeASZ9O0g==}
286 | cpu: [arm]
287 | os: [linux]
288 |
289 | '@rollup/rollup-linux-arm-musleabihf@4.30.0':
290 | resolution: {integrity: sha512-kvyIECEhs2DrrdfQf++maCWJIQ974EI4txlz1nNSBaCdtf7i5Xf1AQCEJWOC5rEBisdaMFFnOWNLYt7KpFqy5A==}
291 | cpu: [arm]
292 | os: [linux]
293 |
294 | '@rollup/rollup-linux-arm64-gnu@4.30.0':
295 | resolution: {integrity: sha512-CFE7zDNrokaotXu+shwIrmWrFxllg79vciH4E/zeK7NitVuWEaXRzS0mFfFvyhZfn8WfVOG/1E9u8/DFEgK7WQ==}
296 | cpu: [arm64]
297 | os: [linux]
298 |
299 | '@rollup/rollup-linux-arm64-musl@4.30.0':
300 | resolution: {integrity: sha512-MctNTBlvMcIBP0t8lV/NXiUwFg9oK5F79CxLU+a3xgrdJjfBLVIEHSAjQ9+ipofN2GKaMLnFFXLltg1HEEPaGQ==}
301 | cpu: [arm64]
302 | os: [linux]
303 |
304 | '@rollup/rollup-linux-loongarch64-gnu@4.30.0':
305 | resolution: {integrity: sha512-fBpoYwLEPivL3q368+gwn4qnYnr7GVwM6NnMo8rJ4wb0p/Y5lg88vQRRP077gf+tc25akuqd+1Sxbn9meODhwA==}
306 | cpu: [loong64]
307 | os: [linux]
308 |
309 | '@rollup/rollup-linux-powerpc64le-gnu@4.30.0':
310 | resolution: {integrity: sha512-1hiHPV6dUaqIMXrIjN+vgJqtfkLpqHS1Xsg0oUfUVD98xGp1wX89PIXgDF2DWra1nxAd8dfE0Dk59MyeKaBVAw==}
311 | cpu: [ppc64]
312 | os: [linux]
313 |
314 | '@rollup/rollup-linux-riscv64-gnu@4.30.0':
315 | resolution: {integrity: sha512-U0xcC80SMpEbvvLw92emHrNjlS3OXjAM0aVzlWfar6PR0ODWCTQtKeeB+tlAPGfZQXicv1SpWwRz9Hyzq3Jx3g==}
316 | cpu: [riscv64]
317 | os: [linux]
318 |
319 | '@rollup/rollup-linux-s390x-gnu@4.30.0':
320 | resolution: {integrity: sha512-VU/P/IODrNPasgZDLIFJmMiLGez+BN11DQWfTVlViJVabyF3JaeaJkP6teI8760f18BMGCQOW9gOmuzFaI1pUw==}
321 | cpu: [s390x]
322 | os: [linux]
323 |
324 | '@rollup/rollup-linux-x64-gnu@4.30.0':
325 | resolution: {integrity: sha512-laQVRvdbKmjXuFA3ZiZj7+U24FcmoPlXEi2OyLfbpY2MW1oxLt9Au8q9eHd0x6Pw/Kw4oe9gwVXWwIf2PVqblg==}
326 | cpu: [x64]
327 | os: [linux]
328 |
329 | '@rollup/rollup-linux-x64-musl@4.30.0':
330 | resolution: {integrity: sha512-3wzKzduS7jzxqcOvy/ocU/gMR3/QrHEFLge5CD7Si9fyHuoXcidyYZ6jyx8OPYmCcGm3uKTUl+9jUSAY74Ln5A==}
331 | cpu: [x64]
332 | os: [linux]
333 |
334 | '@rollup/rollup-win32-arm64-msvc@4.30.0':
335 | resolution: {integrity: sha512-jROwnI1+wPyuv696rAFHp5+6RFhXGGwgmgSfzE8e4xfit6oLRg7GyMArVUoM3ChS045OwWr9aTnU+2c1UdBMyw==}
336 | cpu: [arm64]
337 | os: [win32]
338 |
339 | '@rollup/rollup-win32-ia32-msvc@4.30.0':
340 | resolution: {integrity: sha512-duzweyup5WELhcXx5H1jokpr13i3BV9b48FMiikYAwk/MT1LrMYYk2TzenBd0jj4ivQIt58JWSxc19y4SvLP4g==}
341 | cpu: [ia32]
342 | os: [win32]
343 |
344 | '@rollup/rollup-win32-x64-msvc@4.30.0':
345 | resolution: {integrity: sha512-DYvxS0M07PvgvavMIybCOBYheyrqlui6ZQBHJs6GqduVzHSZ06TPPvlfvnYstjODHQ8UUXFwt5YE+h0jFI8kwg==}
346 | cpu: [x64]
347 | os: [win32]
348 |
349 | '@types/estree@1.0.6':
350 | resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==}
351 |
352 | '@vitejs/plugin-vue@5.2.1':
353 | resolution: {integrity: sha512-cxh314tzaWwOLqVes2gnnCtvBDcM1UMdn+iFR+UjAn411dPT3tOmqrJjbMd7koZpMAmBM/GqeV4n9ge7JSiJJQ==}
354 | engines: {node: ^18.0.0 || >=20.0.0}
355 | peerDependencies:
356 | vite: ^5.0.0 || ^6.0.0
357 | vue: ^3.2.25
358 |
359 | '@vue/compiler-core@3.5.13':
360 | resolution: {integrity: sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==}
361 |
362 | '@vue/compiler-dom@3.5.13':
363 | resolution: {integrity: sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==}
364 |
365 | '@vue/compiler-sfc@3.5.13':
366 | resolution: {integrity: sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==}
367 |
368 | '@vue/compiler-ssr@3.5.13':
369 | resolution: {integrity: sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==}
370 |
371 | '@vue/reactivity@3.5.13':
372 | resolution: {integrity: sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==}
373 |
374 | '@vue/runtime-core@3.5.13':
375 | resolution: {integrity: sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==}
376 |
377 | '@vue/runtime-dom@3.5.13':
378 | resolution: {integrity: sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==}
379 |
380 | '@vue/server-renderer@3.5.13':
381 | resolution: {integrity: sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==}
382 | peerDependencies:
383 | vue: 3.5.13
384 |
385 | '@vue/shared@3.5.13':
386 | resolution: {integrity: sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==}
387 |
388 | ansi-regex@5.0.1:
389 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
390 | engines: {node: '>=8'}
391 |
392 | ansi-regex@6.1.0:
393 | resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==}
394 | engines: {node: '>=12'}
395 |
396 | ansi-styles@4.3.0:
397 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
398 | engines: {node: '>=8'}
399 |
400 | ansi-styles@6.2.1:
401 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
402 | engines: {node: '>=12'}
403 |
404 | any-promise@1.3.0:
405 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
406 |
407 | anymatch@3.1.3:
408 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
409 | engines: {node: '>= 8'}
410 |
411 | arg@5.0.2:
412 | resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
413 |
414 | autoprefixer@10.4.20:
415 | resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==}
416 | engines: {node: ^10 || ^12 || >=14}
417 | hasBin: true
418 | peerDependencies:
419 | postcss: ^8.1.0
420 |
421 | balanced-match@1.0.2:
422 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
423 |
424 | binary-extensions@2.3.0:
425 | resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
426 | engines: {node: '>=8'}
427 |
428 | brace-expansion@2.0.1:
429 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
430 |
431 | braces@3.0.3:
432 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
433 | engines: {node: '>=8'}
434 |
435 | browserslist@4.24.3:
436 | resolution: {integrity: sha512-1CPmv8iobE2fyRMV97dAcMVegvvWKxmq94hkLiAkUGwKVTyDLw33K+ZxiFrREKmmps4rIw6grcCFCnTMSZ/YiA==}
437 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
438 | hasBin: true
439 |
440 | camelcase-css@2.0.1:
441 | resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
442 | engines: {node: '>= 6'}
443 |
444 | caniuse-lite@1.0.30001690:
445 | resolution: {integrity: sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w==}
446 |
447 | chokidar@3.6.0:
448 | resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
449 | engines: {node: '>= 8.10.0'}
450 |
451 | color-convert@2.0.1:
452 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
453 | engines: {node: '>=7.0.0'}
454 |
455 | color-name@1.1.4:
456 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
457 |
458 | commander@4.1.1:
459 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
460 | engines: {node: '>= 6'}
461 |
462 | cross-spawn@7.0.6:
463 | resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
464 | engines: {node: '>= 8'}
465 |
466 | cssesc@3.0.0:
467 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
468 | engines: {node: '>=4'}
469 | hasBin: true
470 |
471 | csstype@3.1.3:
472 | resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
473 |
474 | didyoumean@1.2.2:
475 | resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
476 |
477 | dlv@1.1.3:
478 | resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
479 |
480 | eastasianwidth@0.2.0:
481 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
482 |
483 | electron-to-chromium@1.5.76:
484 | resolution: {integrity: sha512-CjVQyG7n7Sr+eBXE86HIulnL5N8xZY1sgmOPGuq/F0Rr0FJq63lg0kEtOIDfZBk44FnDLf6FUJ+dsJcuiUDdDQ==}
485 |
486 | emoji-regex@8.0.0:
487 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
488 |
489 | emoji-regex@9.2.2:
490 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
491 |
492 | entities@4.5.0:
493 | resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
494 | engines: {node: '>=0.12'}
495 |
496 | esbuild@0.24.2:
497 | resolution: {integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==}
498 | engines: {node: '>=18'}
499 | hasBin: true
500 |
501 | escalade@3.2.0:
502 | resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
503 | engines: {node: '>=6'}
504 |
505 | estree-walker@2.0.2:
506 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
507 |
508 | fast-glob@3.3.3:
509 | resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==}
510 | engines: {node: '>=8.6.0'}
511 |
512 | fastq@1.18.0:
513 | resolution: {integrity: sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==}
514 |
515 | fill-range@7.1.1:
516 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
517 | engines: {node: '>=8'}
518 |
519 | foreground-child@3.3.0:
520 | resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==}
521 | engines: {node: '>=14'}
522 |
523 | fraction.js@4.3.7:
524 | resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
525 |
526 | fsevents@2.3.3:
527 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
528 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
529 | os: [darwin]
530 |
531 | function-bind@1.1.2:
532 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
533 |
534 | glob-parent@5.1.2:
535 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
536 | engines: {node: '>= 6'}
537 |
538 | glob-parent@6.0.2:
539 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
540 | engines: {node: '>=10.13.0'}
541 |
542 | glob@10.4.5:
543 | resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==}
544 | hasBin: true
545 |
546 | hasown@2.0.2:
547 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
548 | engines: {node: '>= 0.4'}
549 |
550 | is-binary-path@2.1.0:
551 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
552 | engines: {node: '>=8'}
553 |
554 | is-core-module@2.16.1:
555 | resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==}
556 | engines: {node: '>= 0.4'}
557 |
558 | is-extglob@2.1.1:
559 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
560 | engines: {node: '>=0.10.0'}
561 |
562 | is-fullwidth-code-point@3.0.0:
563 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
564 | engines: {node: '>=8'}
565 |
566 | is-glob@4.0.3:
567 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
568 | engines: {node: '>=0.10.0'}
569 |
570 | is-number@7.0.0:
571 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
572 | engines: {node: '>=0.12.0'}
573 |
574 | isexe@2.0.0:
575 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
576 |
577 | jackspeak@3.4.3:
578 | resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==}
579 |
580 | jiti@1.21.7:
581 | resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==}
582 | hasBin: true
583 |
584 | lilconfig@3.1.3:
585 | resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==}
586 | engines: {node: '>=14'}
587 |
588 | lines-and-columns@1.2.4:
589 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
590 |
591 | lru-cache@10.4.3:
592 | resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
593 |
594 | magic-string@0.30.17:
595 | resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==}
596 |
597 | merge2@1.4.1:
598 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
599 | engines: {node: '>= 8'}
600 |
601 | micromatch@4.0.8:
602 | resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
603 | engines: {node: '>=8.6'}
604 |
605 | minimatch@9.0.5:
606 | resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
607 | engines: {node: '>=16 || 14 >=14.17'}
608 |
609 | minipass@7.1.2:
610 | resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
611 | engines: {node: '>=16 || 14 >=14.17'}
612 |
613 | mz@2.7.0:
614 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
615 |
616 | nanoid@3.3.8:
617 | resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==}
618 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
619 | hasBin: true
620 |
621 | node-releases@2.0.19:
622 | resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==}
623 |
624 | normalize-path@3.0.0:
625 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
626 | engines: {node: '>=0.10.0'}
627 |
628 | normalize-range@0.1.2:
629 | resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
630 | engines: {node: '>=0.10.0'}
631 |
632 | object-assign@4.1.1:
633 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
634 | engines: {node: '>=0.10.0'}
635 |
636 | object-hash@3.0.0:
637 | resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
638 | engines: {node: '>= 6'}
639 |
640 | package-json-from-dist@1.0.1:
641 | resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==}
642 |
643 | path-key@3.1.1:
644 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
645 | engines: {node: '>=8'}
646 |
647 | path-parse@1.0.7:
648 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
649 |
650 | path-scurry@1.11.1:
651 | resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
652 | engines: {node: '>=16 || 14 >=14.18'}
653 |
654 | picocolors@1.1.1:
655 | resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
656 |
657 | picomatch@2.3.1:
658 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
659 | engines: {node: '>=8.6'}
660 |
661 | pify@2.3.0:
662 | resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
663 | engines: {node: '>=0.10.0'}
664 |
665 | pirates@4.0.6:
666 | resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
667 | engines: {node: '>= 6'}
668 |
669 | postcss-import@15.1.0:
670 | resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
671 | engines: {node: '>=14.0.0'}
672 | peerDependencies:
673 | postcss: ^8.0.0
674 |
675 | postcss-import@16.1.0:
676 | resolution: {integrity: sha512-7hsAZ4xGXl4MW+OKEWCnF6T5jqBw80/EE9aXg1r2yyn1RsVEU8EtKXbijEODa+rg7iih4bKf7vlvTGYR4CnPNg==}
677 | engines: {node: '>=18.0.0'}
678 | peerDependencies:
679 | postcss: ^8.0.0
680 |
681 | postcss-js@4.0.1:
682 | resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
683 | engines: {node: ^12 || ^14 || >= 16}
684 | peerDependencies:
685 | postcss: ^8.4.21
686 |
687 | postcss-load-config@4.0.2:
688 | resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==}
689 | engines: {node: '>= 14'}
690 | peerDependencies:
691 | postcss: '>=8.0.9'
692 | ts-node: '>=9.0.0'
693 | peerDependenciesMeta:
694 | postcss:
695 | optional: true
696 | ts-node:
697 | optional: true
698 |
699 | postcss-nested@6.2.0:
700 | resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==}
701 | engines: {node: '>=12.0'}
702 | peerDependencies:
703 | postcss: ^8.2.14
704 |
705 | postcss-selector-parser@6.1.2:
706 | resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==}
707 | engines: {node: '>=4'}
708 |
709 | postcss-value-parser@4.2.0:
710 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
711 |
712 | postcss@8.4.49:
713 | resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==}
714 | engines: {node: ^10 || ^12 || >=14}
715 |
716 | queue-microtask@1.2.3:
717 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
718 |
719 | read-cache@1.0.0:
720 | resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
721 |
722 | readdirp@3.6.0:
723 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
724 | engines: {node: '>=8.10.0'}
725 |
726 | resolve@1.22.10:
727 | resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==}
728 | engines: {node: '>= 0.4'}
729 | hasBin: true
730 |
731 | reusify@1.0.4:
732 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
733 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
734 |
735 | rollup@4.30.0:
736 | resolution: {integrity: sha512-sDnr1pcjTgUT69qBksNF1N1anwfbyYG6TBQ22b03bII8EdiUQ7J0TlozVaTMjT/eEJAO49e1ndV7t+UZfL1+vA==}
737 | engines: {node: '>=18.0.0', npm: '>=8.0.0'}
738 | hasBin: true
739 |
740 | run-parallel@1.2.0:
741 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
742 |
743 | shebang-command@2.0.0:
744 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
745 | engines: {node: '>=8'}
746 |
747 | shebang-regex@3.0.0:
748 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
749 | engines: {node: '>=8'}
750 |
751 | signal-exit@4.1.0:
752 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
753 | engines: {node: '>=14'}
754 |
755 | source-map-js@1.2.1:
756 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
757 | engines: {node: '>=0.10.0'}
758 |
759 | string-width@4.2.3:
760 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
761 | engines: {node: '>=8'}
762 |
763 | string-width@5.1.2:
764 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
765 | engines: {node: '>=12'}
766 |
767 | strip-ansi@6.0.1:
768 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
769 | engines: {node: '>=8'}
770 |
771 | strip-ansi@7.1.0:
772 | resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
773 | engines: {node: '>=12'}
774 |
775 | sucrase@3.35.0:
776 | resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==}
777 | engines: {node: '>=16 || 14 >=14.17'}
778 | hasBin: true
779 |
780 | supports-preserve-symlinks-flag@1.0.0:
781 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
782 | engines: {node: '>= 0.4'}
783 |
784 | tailwindcss@3.4.17:
785 | resolution: {integrity: sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==}
786 | engines: {node: '>=14.0.0'}
787 | hasBin: true
788 |
789 | thenify-all@1.6.0:
790 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
791 | engines: {node: '>=0.8'}
792 |
793 | thenify@3.3.1:
794 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
795 |
796 | to-regex-range@5.0.1:
797 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
798 | engines: {node: '>=8.0'}
799 |
800 | ts-interface-checker@0.1.13:
801 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
802 |
803 | update-browserslist-db@1.1.1:
804 | resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==}
805 | hasBin: true
806 | peerDependencies:
807 | browserslist: '>= 4.21.0'
808 |
809 | util-deprecate@1.0.2:
810 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
811 |
812 | vite@6.0.7:
813 | resolution: {integrity: sha512-RDt8r/7qx9940f8FcOIAH9PTViRrghKaK2K1jY3RaAURrEUbm9Du1mJ72G+jlhtG3WwodnfzY8ORQZbBavZEAQ==}
814 | engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
815 | hasBin: true
816 | peerDependencies:
817 | '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0
818 | jiti: '>=1.21.0'
819 | less: '*'
820 | lightningcss: ^1.21.0
821 | sass: '*'
822 | sass-embedded: '*'
823 | stylus: '*'
824 | sugarss: '*'
825 | terser: ^5.16.0
826 | tsx: ^4.8.1
827 | yaml: ^2.4.2
828 | peerDependenciesMeta:
829 | '@types/node':
830 | optional: true
831 | jiti:
832 | optional: true
833 | less:
834 | optional: true
835 | lightningcss:
836 | optional: true
837 | sass:
838 | optional: true
839 | sass-embedded:
840 | optional: true
841 | stylus:
842 | optional: true
843 | sugarss:
844 | optional: true
845 | terser:
846 | optional: true
847 | tsx:
848 | optional: true
849 | yaml:
850 | optional: true
851 |
852 | vue@3.5.13:
853 | resolution: {integrity: sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==}
854 | peerDependencies:
855 | typescript: '*'
856 | peerDependenciesMeta:
857 | typescript:
858 | optional: true
859 |
860 | which@2.0.2:
861 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
862 | engines: {node: '>= 8'}
863 | hasBin: true
864 |
865 | wrap-ansi@7.0.0:
866 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
867 | engines: {node: '>=10'}
868 |
869 | wrap-ansi@8.1.0:
870 | resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
871 | engines: {node: '>=12'}
872 |
873 | yaml@2.7.0:
874 | resolution: {integrity: sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==}
875 | engines: {node: '>= 14'}
876 | hasBin: true
877 |
878 | snapshots:
879 |
880 | '@alloc/quick-lru@5.2.0': {}
881 |
882 | '@babel/helper-string-parser@7.25.9': {}
883 |
884 | '@babel/helper-validator-identifier@7.25.9': {}
885 |
886 | '@babel/parser@7.26.3':
887 | dependencies:
888 | '@babel/types': 7.26.3
889 |
890 | '@babel/types@7.26.3':
891 | dependencies:
892 | '@babel/helper-string-parser': 7.25.9
893 | '@babel/helper-validator-identifier': 7.25.9
894 |
895 | '@esbuild/aix-ppc64@0.24.2':
896 | optional: true
897 |
898 | '@esbuild/android-arm64@0.24.2':
899 | optional: true
900 |
901 | '@esbuild/android-arm@0.24.2':
902 | optional: true
903 |
904 | '@esbuild/android-x64@0.24.2':
905 | optional: true
906 |
907 | '@esbuild/darwin-arm64@0.24.2':
908 | optional: true
909 |
910 | '@esbuild/darwin-x64@0.24.2':
911 | optional: true
912 |
913 | '@esbuild/freebsd-arm64@0.24.2':
914 | optional: true
915 |
916 | '@esbuild/freebsd-x64@0.24.2':
917 | optional: true
918 |
919 | '@esbuild/linux-arm64@0.24.2':
920 | optional: true
921 |
922 | '@esbuild/linux-arm@0.24.2':
923 | optional: true
924 |
925 | '@esbuild/linux-ia32@0.24.2':
926 | optional: true
927 |
928 | '@esbuild/linux-loong64@0.24.2':
929 | optional: true
930 |
931 | '@esbuild/linux-mips64el@0.24.2':
932 | optional: true
933 |
934 | '@esbuild/linux-ppc64@0.24.2':
935 | optional: true
936 |
937 | '@esbuild/linux-riscv64@0.24.2':
938 | optional: true
939 |
940 | '@esbuild/linux-s390x@0.24.2':
941 | optional: true
942 |
943 | '@esbuild/linux-x64@0.24.2':
944 | optional: true
945 |
946 | '@esbuild/netbsd-arm64@0.24.2':
947 | optional: true
948 |
949 | '@esbuild/netbsd-x64@0.24.2':
950 | optional: true
951 |
952 | '@esbuild/openbsd-arm64@0.24.2':
953 | optional: true
954 |
955 | '@esbuild/openbsd-x64@0.24.2':
956 | optional: true
957 |
958 | '@esbuild/sunos-x64@0.24.2':
959 | optional: true
960 |
961 | '@esbuild/win32-arm64@0.24.2':
962 | optional: true
963 |
964 | '@esbuild/win32-ia32@0.24.2':
965 | optional: true
966 |
967 | '@esbuild/win32-x64@0.24.2':
968 | optional: true
969 |
970 | '@isaacs/cliui@8.0.2':
971 | dependencies:
972 | string-width: 5.1.2
973 | string-width-cjs: string-width@4.2.3
974 | strip-ansi: 7.1.0
975 | strip-ansi-cjs: strip-ansi@6.0.1
976 | wrap-ansi: 8.1.0
977 | wrap-ansi-cjs: wrap-ansi@7.0.0
978 |
979 | '@jridgewell/gen-mapping@0.3.8':
980 | dependencies:
981 | '@jridgewell/set-array': 1.2.1
982 | '@jridgewell/sourcemap-codec': 1.5.0
983 | '@jridgewell/trace-mapping': 0.3.25
984 |
985 | '@jridgewell/resolve-uri@3.1.2': {}
986 |
987 | '@jridgewell/set-array@1.2.1': {}
988 |
989 | '@jridgewell/sourcemap-codec@1.5.0': {}
990 |
991 | '@jridgewell/trace-mapping@0.3.25':
992 | dependencies:
993 | '@jridgewell/resolve-uri': 3.1.2
994 | '@jridgewell/sourcemap-codec': 1.5.0
995 |
996 | '@nodelib/fs.scandir@2.1.5':
997 | dependencies:
998 | '@nodelib/fs.stat': 2.0.5
999 | run-parallel: 1.2.0
1000 |
1001 | '@nodelib/fs.stat@2.0.5': {}
1002 |
1003 | '@nodelib/fs.walk@1.2.8':
1004 | dependencies:
1005 | '@nodelib/fs.scandir': 2.1.5
1006 | fastq: 1.18.0
1007 |
1008 | '@pkgjs/parseargs@0.11.0':
1009 | optional: true
1010 |
1011 | '@rollup/rollup-android-arm-eabi@4.30.0':
1012 | optional: true
1013 |
1014 | '@rollup/rollup-android-arm64@4.30.0':
1015 | optional: true
1016 |
1017 | '@rollup/rollup-darwin-arm64@4.30.0':
1018 | optional: true
1019 |
1020 | '@rollup/rollup-darwin-x64@4.30.0':
1021 | optional: true
1022 |
1023 | '@rollup/rollup-freebsd-arm64@4.30.0':
1024 | optional: true
1025 |
1026 | '@rollup/rollup-freebsd-x64@4.30.0':
1027 | optional: true
1028 |
1029 | '@rollup/rollup-linux-arm-gnueabihf@4.30.0':
1030 | optional: true
1031 |
1032 | '@rollup/rollup-linux-arm-musleabihf@4.30.0':
1033 | optional: true
1034 |
1035 | '@rollup/rollup-linux-arm64-gnu@4.30.0':
1036 | optional: true
1037 |
1038 | '@rollup/rollup-linux-arm64-musl@4.30.0':
1039 | optional: true
1040 |
1041 | '@rollup/rollup-linux-loongarch64-gnu@4.30.0':
1042 | optional: true
1043 |
1044 | '@rollup/rollup-linux-powerpc64le-gnu@4.30.0':
1045 | optional: true
1046 |
1047 | '@rollup/rollup-linux-riscv64-gnu@4.30.0':
1048 | optional: true
1049 |
1050 | '@rollup/rollup-linux-s390x-gnu@4.30.0':
1051 | optional: true
1052 |
1053 | '@rollup/rollup-linux-x64-gnu@4.30.0':
1054 | optional: true
1055 |
1056 | '@rollup/rollup-linux-x64-musl@4.30.0':
1057 | optional: true
1058 |
1059 | '@rollup/rollup-win32-arm64-msvc@4.30.0':
1060 | optional: true
1061 |
1062 | '@rollup/rollup-win32-ia32-msvc@4.30.0':
1063 | optional: true
1064 |
1065 | '@rollup/rollup-win32-x64-msvc@4.30.0':
1066 | optional: true
1067 |
1068 | '@types/estree@1.0.6': {}
1069 |
1070 | '@vitejs/plugin-vue@5.2.1(vite@6.0.7(jiti@1.21.7)(yaml@2.7.0))(vue@3.5.13)':
1071 | dependencies:
1072 | vite: 6.0.7(jiti@1.21.7)(yaml@2.7.0)
1073 | vue: 3.5.13
1074 |
1075 | '@vue/compiler-core@3.5.13':
1076 | dependencies:
1077 | '@babel/parser': 7.26.3
1078 | '@vue/shared': 3.5.13
1079 | entities: 4.5.0
1080 | estree-walker: 2.0.2
1081 | source-map-js: 1.2.1
1082 |
1083 | '@vue/compiler-dom@3.5.13':
1084 | dependencies:
1085 | '@vue/compiler-core': 3.5.13
1086 | '@vue/shared': 3.5.13
1087 |
1088 | '@vue/compiler-sfc@3.5.13':
1089 | dependencies:
1090 | '@babel/parser': 7.26.3
1091 | '@vue/compiler-core': 3.5.13
1092 | '@vue/compiler-dom': 3.5.13
1093 | '@vue/compiler-ssr': 3.5.13
1094 | '@vue/shared': 3.5.13
1095 | estree-walker: 2.0.2
1096 | magic-string: 0.30.17
1097 | postcss: 8.4.49
1098 | source-map-js: 1.2.1
1099 |
1100 | '@vue/compiler-ssr@3.5.13':
1101 | dependencies:
1102 | '@vue/compiler-dom': 3.5.13
1103 | '@vue/shared': 3.5.13
1104 |
1105 | '@vue/reactivity@3.5.13':
1106 | dependencies:
1107 | '@vue/shared': 3.5.13
1108 |
1109 | '@vue/runtime-core@3.5.13':
1110 | dependencies:
1111 | '@vue/reactivity': 3.5.13
1112 | '@vue/shared': 3.5.13
1113 |
1114 | '@vue/runtime-dom@3.5.13':
1115 | dependencies:
1116 | '@vue/reactivity': 3.5.13
1117 | '@vue/runtime-core': 3.5.13
1118 | '@vue/shared': 3.5.13
1119 | csstype: 3.1.3
1120 |
1121 | '@vue/server-renderer@3.5.13(vue@3.5.13)':
1122 | dependencies:
1123 | '@vue/compiler-ssr': 3.5.13
1124 | '@vue/shared': 3.5.13
1125 | vue: 3.5.13
1126 |
1127 | '@vue/shared@3.5.13': {}
1128 |
1129 | ansi-regex@5.0.1: {}
1130 |
1131 | ansi-regex@6.1.0: {}
1132 |
1133 | ansi-styles@4.3.0:
1134 | dependencies:
1135 | color-convert: 2.0.1
1136 |
1137 | ansi-styles@6.2.1: {}
1138 |
1139 | any-promise@1.3.0: {}
1140 |
1141 | anymatch@3.1.3:
1142 | dependencies:
1143 | normalize-path: 3.0.0
1144 | picomatch: 2.3.1
1145 |
1146 | arg@5.0.2: {}
1147 |
1148 | autoprefixer@10.4.20(postcss@8.4.49):
1149 | dependencies:
1150 | browserslist: 4.24.3
1151 | caniuse-lite: 1.0.30001690
1152 | fraction.js: 4.3.7
1153 | normalize-range: 0.1.2
1154 | picocolors: 1.1.1
1155 | postcss: 8.4.49
1156 | postcss-value-parser: 4.2.0
1157 |
1158 | balanced-match@1.0.2: {}
1159 |
1160 | binary-extensions@2.3.0: {}
1161 |
1162 | brace-expansion@2.0.1:
1163 | dependencies:
1164 | balanced-match: 1.0.2
1165 |
1166 | braces@3.0.3:
1167 | dependencies:
1168 | fill-range: 7.1.1
1169 |
1170 | browserslist@4.24.3:
1171 | dependencies:
1172 | caniuse-lite: 1.0.30001690
1173 | electron-to-chromium: 1.5.76
1174 | node-releases: 2.0.19
1175 | update-browserslist-db: 1.1.1(browserslist@4.24.3)
1176 |
1177 | camelcase-css@2.0.1: {}
1178 |
1179 | caniuse-lite@1.0.30001690: {}
1180 |
1181 | chokidar@3.6.0:
1182 | dependencies:
1183 | anymatch: 3.1.3
1184 | braces: 3.0.3
1185 | glob-parent: 5.1.2
1186 | is-binary-path: 2.1.0
1187 | is-glob: 4.0.3
1188 | normalize-path: 3.0.0
1189 | readdirp: 3.6.0
1190 | optionalDependencies:
1191 | fsevents: 2.3.3
1192 |
1193 | color-convert@2.0.1:
1194 | dependencies:
1195 | color-name: 1.1.4
1196 |
1197 | color-name@1.1.4: {}
1198 |
1199 | commander@4.1.1: {}
1200 |
1201 | cross-spawn@7.0.6:
1202 | dependencies:
1203 | path-key: 3.1.1
1204 | shebang-command: 2.0.0
1205 | which: 2.0.2
1206 |
1207 | cssesc@3.0.0: {}
1208 |
1209 | csstype@3.1.3: {}
1210 |
1211 | didyoumean@1.2.2: {}
1212 |
1213 | dlv@1.1.3: {}
1214 |
1215 | eastasianwidth@0.2.0: {}
1216 |
1217 | electron-to-chromium@1.5.76: {}
1218 |
1219 | emoji-regex@8.0.0: {}
1220 |
1221 | emoji-regex@9.2.2: {}
1222 |
1223 | entities@4.5.0: {}
1224 |
1225 | esbuild@0.24.2:
1226 | optionalDependencies:
1227 | '@esbuild/aix-ppc64': 0.24.2
1228 | '@esbuild/android-arm': 0.24.2
1229 | '@esbuild/android-arm64': 0.24.2
1230 | '@esbuild/android-x64': 0.24.2
1231 | '@esbuild/darwin-arm64': 0.24.2
1232 | '@esbuild/darwin-x64': 0.24.2
1233 | '@esbuild/freebsd-arm64': 0.24.2
1234 | '@esbuild/freebsd-x64': 0.24.2
1235 | '@esbuild/linux-arm': 0.24.2
1236 | '@esbuild/linux-arm64': 0.24.2
1237 | '@esbuild/linux-ia32': 0.24.2
1238 | '@esbuild/linux-loong64': 0.24.2
1239 | '@esbuild/linux-mips64el': 0.24.2
1240 | '@esbuild/linux-ppc64': 0.24.2
1241 | '@esbuild/linux-riscv64': 0.24.2
1242 | '@esbuild/linux-s390x': 0.24.2
1243 | '@esbuild/linux-x64': 0.24.2
1244 | '@esbuild/netbsd-arm64': 0.24.2
1245 | '@esbuild/netbsd-x64': 0.24.2
1246 | '@esbuild/openbsd-arm64': 0.24.2
1247 | '@esbuild/openbsd-x64': 0.24.2
1248 | '@esbuild/sunos-x64': 0.24.2
1249 | '@esbuild/win32-arm64': 0.24.2
1250 | '@esbuild/win32-ia32': 0.24.2
1251 | '@esbuild/win32-x64': 0.24.2
1252 |
1253 | escalade@3.2.0: {}
1254 |
1255 | estree-walker@2.0.2: {}
1256 |
1257 | fast-glob@3.3.3:
1258 | dependencies:
1259 | '@nodelib/fs.stat': 2.0.5
1260 | '@nodelib/fs.walk': 1.2.8
1261 | glob-parent: 5.1.2
1262 | merge2: 1.4.1
1263 | micromatch: 4.0.8
1264 |
1265 | fastq@1.18.0:
1266 | dependencies:
1267 | reusify: 1.0.4
1268 |
1269 | fill-range@7.1.1:
1270 | dependencies:
1271 | to-regex-range: 5.0.1
1272 |
1273 | foreground-child@3.3.0:
1274 | dependencies:
1275 | cross-spawn: 7.0.6
1276 | signal-exit: 4.1.0
1277 |
1278 | fraction.js@4.3.7: {}
1279 |
1280 | fsevents@2.3.3:
1281 | optional: true
1282 |
1283 | function-bind@1.1.2: {}
1284 |
1285 | glob-parent@5.1.2:
1286 | dependencies:
1287 | is-glob: 4.0.3
1288 |
1289 | glob-parent@6.0.2:
1290 | dependencies:
1291 | is-glob: 4.0.3
1292 |
1293 | glob@10.4.5:
1294 | dependencies:
1295 | foreground-child: 3.3.0
1296 | jackspeak: 3.4.3
1297 | minimatch: 9.0.5
1298 | minipass: 7.1.2
1299 | package-json-from-dist: 1.0.1
1300 | path-scurry: 1.11.1
1301 |
1302 | hasown@2.0.2:
1303 | dependencies:
1304 | function-bind: 1.1.2
1305 |
1306 | is-binary-path@2.1.0:
1307 | dependencies:
1308 | binary-extensions: 2.3.0
1309 |
1310 | is-core-module@2.16.1:
1311 | dependencies:
1312 | hasown: 2.0.2
1313 |
1314 | is-extglob@2.1.1: {}
1315 |
1316 | is-fullwidth-code-point@3.0.0: {}
1317 |
1318 | is-glob@4.0.3:
1319 | dependencies:
1320 | is-extglob: 2.1.1
1321 |
1322 | is-number@7.0.0: {}
1323 |
1324 | isexe@2.0.0: {}
1325 |
1326 | jackspeak@3.4.3:
1327 | dependencies:
1328 | '@isaacs/cliui': 8.0.2
1329 | optionalDependencies:
1330 | '@pkgjs/parseargs': 0.11.0
1331 |
1332 | jiti@1.21.7: {}
1333 |
1334 | lilconfig@3.1.3: {}
1335 |
1336 | lines-and-columns@1.2.4: {}
1337 |
1338 | lru-cache@10.4.3: {}
1339 |
1340 | magic-string@0.30.17:
1341 | dependencies:
1342 | '@jridgewell/sourcemap-codec': 1.5.0
1343 |
1344 | merge2@1.4.1: {}
1345 |
1346 | micromatch@4.0.8:
1347 | dependencies:
1348 | braces: 3.0.3
1349 | picomatch: 2.3.1
1350 |
1351 | minimatch@9.0.5:
1352 | dependencies:
1353 | brace-expansion: 2.0.1
1354 |
1355 | minipass@7.1.2: {}
1356 |
1357 | mz@2.7.0:
1358 | dependencies:
1359 | any-promise: 1.3.0
1360 | object-assign: 4.1.1
1361 | thenify-all: 1.6.0
1362 |
1363 | nanoid@3.3.8: {}
1364 |
1365 | node-releases@2.0.19: {}
1366 |
1367 | normalize-path@3.0.0: {}
1368 |
1369 | normalize-range@0.1.2: {}
1370 |
1371 | object-assign@4.1.1: {}
1372 |
1373 | object-hash@3.0.0: {}
1374 |
1375 | package-json-from-dist@1.0.1: {}
1376 |
1377 | path-key@3.1.1: {}
1378 |
1379 | path-parse@1.0.7: {}
1380 |
1381 | path-scurry@1.11.1:
1382 | dependencies:
1383 | lru-cache: 10.4.3
1384 | minipass: 7.1.2
1385 |
1386 | picocolors@1.1.1: {}
1387 |
1388 | picomatch@2.3.1: {}
1389 |
1390 | pify@2.3.0: {}
1391 |
1392 | pirates@4.0.6: {}
1393 |
1394 | postcss-import@15.1.0(postcss@8.4.49):
1395 | dependencies:
1396 | postcss: 8.4.49
1397 | postcss-value-parser: 4.2.0
1398 | read-cache: 1.0.0
1399 | resolve: 1.22.10
1400 |
1401 | postcss-import@16.1.0(postcss@8.4.49):
1402 | dependencies:
1403 | postcss: 8.4.49
1404 | postcss-value-parser: 4.2.0
1405 | read-cache: 1.0.0
1406 | resolve: 1.22.10
1407 |
1408 | postcss-js@4.0.1(postcss@8.4.49):
1409 | dependencies:
1410 | camelcase-css: 2.0.1
1411 | postcss: 8.4.49
1412 |
1413 | postcss-load-config@4.0.2(postcss@8.4.49):
1414 | dependencies:
1415 | lilconfig: 3.1.3
1416 | yaml: 2.7.0
1417 | optionalDependencies:
1418 | postcss: 8.4.49
1419 |
1420 | postcss-nested@6.2.0(postcss@8.4.49):
1421 | dependencies:
1422 | postcss: 8.4.49
1423 | postcss-selector-parser: 6.1.2
1424 |
1425 | postcss-selector-parser@6.1.2:
1426 | dependencies:
1427 | cssesc: 3.0.0
1428 | util-deprecate: 1.0.2
1429 |
1430 | postcss-value-parser@4.2.0: {}
1431 |
1432 | postcss@8.4.49:
1433 | dependencies:
1434 | nanoid: 3.3.8
1435 | picocolors: 1.1.1
1436 | source-map-js: 1.2.1
1437 |
1438 | queue-microtask@1.2.3: {}
1439 |
1440 | read-cache@1.0.0:
1441 | dependencies:
1442 | pify: 2.3.0
1443 |
1444 | readdirp@3.6.0:
1445 | dependencies:
1446 | picomatch: 2.3.1
1447 |
1448 | resolve@1.22.10:
1449 | dependencies:
1450 | is-core-module: 2.16.1
1451 | path-parse: 1.0.7
1452 | supports-preserve-symlinks-flag: 1.0.0
1453 |
1454 | reusify@1.0.4: {}
1455 |
1456 | rollup@4.30.0:
1457 | dependencies:
1458 | '@types/estree': 1.0.6
1459 | optionalDependencies:
1460 | '@rollup/rollup-android-arm-eabi': 4.30.0
1461 | '@rollup/rollup-android-arm64': 4.30.0
1462 | '@rollup/rollup-darwin-arm64': 4.30.0
1463 | '@rollup/rollup-darwin-x64': 4.30.0
1464 | '@rollup/rollup-freebsd-arm64': 4.30.0
1465 | '@rollup/rollup-freebsd-x64': 4.30.0
1466 | '@rollup/rollup-linux-arm-gnueabihf': 4.30.0
1467 | '@rollup/rollup-linux-arm-musleabihf': 4.30.0
1468 | '@rollup/rollup-linux-arm64-gnu': 4.30.0
1469 | '@rollup/rollup-linux-arm64-musl': 4.30.0
1470 | '@rollup/rollup-linux-loongarch64-gnu': 4.30.0
1471 | '@rollup/rollup-linux-powerpc64le-gnu': 4.30.0
1472 | '@rollup/rollup-linux-riscv64-gnu': 4.30.0
1473 | '@rollup/rollup-linux-s390x-gnu': 4.30.0
1474 | '@rollup/rollup-linux-x64-gnu': 4.30.0
1475 | '@rollup/rollup-linux-x64-musl': 4.30.0
1476 | '@rollup/rollup-win32-arm64-msvc': 4.30.0
1477 | '@rollup/rollup-win32-ia32-msvc': 4.30.0
1478 | '@rollup/rollup-win32-x64-msvc': 4.30.0
1479 | fsevents: 2.3.3
1480 |
1481 | run-parallel@1.2.0:
1482 | dependencies:
1483 | queue-microtask: 1.2.3
1484 |
1485 | shebang-command@2.0.0:
1486 | dependencies:
1487 | shebang-regex: 3.0.0
1488 |
1489 | shebang-regex@3.0.0: {}
1490 |
1491 | signal-exit@4.1.0: {}
1492 |
1493 | source-map-js@1.2.1: {}
1494 |
1495 | string-width@4.2.3:
1496 | dependencies:
1497 | emoji-regex: 8.0.0
1498 | is-fullwidth-code-point: 3.0.0
1499 | strip-ansi: 6.0.1
1500 |
1501 | string-width@5.1.2:
1502 | dependencies:
1503 | eastasianwidth: 0.2.0
1504 | emoji-regex: 9.2.2
1505 | strip-ansi: 7.1.0
1506 |
1507 | strip-ansi@6.0.1:
1508 | dependencies:
1509 | ansi-regex: 5.0.1
1510 |
1511 | strip-ansi@7.1.0:
1512 | dependencies:
1513 | ansi-regex: 6.1.0
1514 |
1515 | sucrase@3.35.0:
1516 | dependencies:
1517 | '@jridgewell/gen-mapping': 0.3.8
1518 | commander: 4.1.1
1519 | glob: 10.4.5
1520 | lines-and-columns: 1.2.4
1521 | mz: 2.7.0
1522 | pirates: 4.0.6
1523 | ts-interface-checker: 0.1.13
1524 |
1525 | supports-preserve-symlinks-flag@1.0.0: {}
1526 |
1527 | tailwindcss@3.4.17:
1528 | dependencies:
1529 | '@alloc/quick-lru': 5.2.0
1530 | arg: 5.0.2
1531 | chokidar: 3.6.0
1532 | didyoumean: 1.2.2
1533 | dlv: 1.1.3
1534 | fast-glob: 3.3.3
1535 | glob-parent: 6.0.2
1536 | is-glob: 4.0.3
1537 | jiti: 1.21.7
1538 | lilconfig: 3.1.3
1539 | micromatch: 4.0.8
1540 | normalize-path: 3.0.0
1541 | object-hash: 3.0.0
1542 | picocolors: 1.1.1
1543 | postcss: 8.4.49
1544 | postcss-import: 15.1.0(postcss@8.4.49)
1545 | postcss-js: 4.0.1(postcss@8.4.49)
1546 | postcss-load-config: 4.0.2(postcss@8.4.49)
1547 | postcss-nested: 6.2.0(postcss@8.4.49)
1548 | postcss-selector-parser: 6.1.2
1549 | resolve: 1.22.10
1550 | sucrase: 3.35.0
1551 | transitivePeerDependencies:
1552 | - ts-node
1553 |
1554 | thenify-all@1.6.0:
1555 | dependencies:
1556 | thenify: 3.3.1
1557 |
1558 | thenify@3.3.1:
1559 | dependencies:
1560 | any-promise: 1.3.0
1561 |
1562 | to-regex-range@5.0.1:
1563 | dependencies:
1564 | is-number: 7.0.0
1565 |
1566 | ts-interface-checker@0.1.13: {}
1567 |
1568 | update-browserslist-db@1.1.1(browserslist@4.24.3):
1569 | dependencies:
1570 | browserslist: 4.24.3
1571 | escalade: 3.2.0
1572 | picocolors: 1.1.1
1573 |
1574 | util-deprecate@1.0.2: {}
1575 |
1576 | vite@6.0.7(jiti@1.21.7)(yaml@2.7.0):
1577 | dependencies:
1578 | esbuild: 0.24.2
1579 | postcss: 8.4.49
1580 | rollup: 4.30.0
1581 | optionalDependencies:
1582 | fsevents: 2.3.3
1583 | jiti: 1.21.7
1584 | yaml: 2.7.0
1585 |
1586 | vue@3.5.13:
1587 | dependencies:
1588 | '@vue/compiler-dom': 3.5.13
1589 | '@vue/compiler-sfc': 3.5.13
1590 | '@vue/runtime-dom': 3.5.13
1591 | '@vue/server-renderer': 3.5.13(vue@3.5.13)
1592 | '@vue/shared': 3.5.13
1593 |
1594 | which@2.0.2:
1595 | dependencies:
1596 | isexe: 2.0.0
1597 |
1598 | wrap-ansi@7.0.0:
1599 | dependencies:
1600 | ansi-styles: 4.3.0
1601 | string-width: 4.2.3
1602 | strip-ansi: 6.0.1
1603 |
1604 | wrap-ansi@8.1.0:
1605 | dependencies:
1606 | ansi-styles: 6.2.1
1607 | string-width: 5.1.2
1608 | strip-ansi: 7.1.0
1609 |
1610 | yaml@2.7.0: {}
1611 |
--------------------------------------------------------------------------------