a reactive (signals based) hypermedia web framework (wip) stormlightlabs.github.io/volt/
hypermedia frontend signals
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

refactor: modularize css

* added postcss to minify

+1812 -777
+48 -27
README.md
··· 32 32 33 33 ```sh 34 34 volt/ 35 - ├── package.json 36 - ├── tsconfig.json 37 - ├── vite.config.ts 38 - ├── README.md 39 - ├── src/ 40 - │ ├── index.ts # entry point 41 - │ ├── core/ 42 - │ │ ├── signal.ts # reactive primitives 43 - │ │ ├── dom.ts # DOM helpers 44 - │ │ ├── patch.ts # JSON patch engine 45 - │ │ ├── stream.ts # SSE / WebSocket layer 46 - │ │ ├── plugin.ts # plugin registration API 47 - │ │ └── binder.ts # mounts and binds data-volt-* attributes 48 - │ └── plugins/ 49 - │ ├── persist.ts 50 - │ ├── scroll.ts 51 - │ ├── animate.ts 52 - │ └── url.ts 53 - └── test/ 54 - ├── setupTests.ts 55 - ├── core/ 56 - │ ├── signal.test.ts 57 - │ ├── dom.test.ts 58 - │ └── patch.test.ts 59 - └── integration/ 60 - ├── mount.test.ts 61 - └── plugin.persist.test.ts 35 + ├── dev/ 36 + ├── docs/ 37 + ├── examples/ 38 + ├── lib 39 + │ ├── index.html 40 + │ ├── public 41 + │ ├── src 42 + │ │ ├── core 43 + │ │ │ ├── asyncEffect.ts 44 + │ │ │ ├── binder.ts 45 + │ │ │ ├── charge.ts 46 + │ │ │ ├── dom.ts 47 + │ │ │ ├── evaluator.ts 48 + │ │ │ ├── http.ts 49 + │ │ │ ├── lifecycle.ts 50 + │ │ │ ├── plugin.ts 51 + │ │ │ ├── reactive.ts 52 + │ │ │ ├── shared.ts 53 + │ │ │ ├── signal.ts 54 + │ │ │ ├── ssr.ts 55 + │ │ │ └── tracker.ts 56 + │ │ ├── debug 57 + │ │ │ ├── graph.ts 58 + │ │ │ ├── logger.ts 59 + │ │ │ └── registry.ts 60 + │ │ ├── debug.ts 61 + │ │ ├── demo/ 62 + │ │ ├── index.ts 63 + │ │ ├── main.ts 64 + │ │ ├── plugins 65 + │ │ │ ├── persist.ts 66 + │ │ │ ├── scroll.ts 67 + │ │ │ └── url.ts 68 + │ │ ├── styles 69 + │ │ │ ├── index.css 70 + │ │ │ ├── variables.css 71 + │ │ │ ├── typography.css 72 + │ │ │ ├── forms.css 73 + │ │ │ ├── components.css 74 + │ │ │ ├── collections.css 75 + │ │ │ ├── media.css 76 + │ │ │ └── base.css 77 + │ │ └── types 78 + │ │ ├── helpers.ts 79 + │ │ └── volt.d.ts 80 + │ └── test/ 81 + └── README.md 82 + 62 83 ``` 63 84 64 85 ## License
+16 -3
docs/css/volt-css.md
··· 92 92 <head> 93 93 <meta charset="UTF-8"> 94 94 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 95 - <link rel="stylesheet" href="/src/styles/base.css"> 95 + <link rel="stylesheet" href="volt.css"> 96 96 <title>My Document</title> 97 97 </head> 98 98 <body> 99 99 <!-- Your markup --> 100 100 </body> 101 101 </html> 102 + ``` 103 + 104 + Or import in JavaScript/TypeScript: 105 + 106 + ```js 107 + import 'volt/styles'; 102 108 ``` 103 109 104 110 ### Example Document Structure ··· 180 186 181 187 ### CSS Custom Properties 182 188 183 - All design tokens are defined as CSS custom properties (CSS variables) in the `:root` selector. Override them to customize the appearance: 189 + All design tokens are defined as CSS custom properties (CSS variables) in `variables.css`. 190 + Override them in your own stylesheet to customize the appearance: 184 191 185 192 ```css 193 + /* Load Volt CSS first */ 194 + @import 'volt.css'; 195 + 196 + /* Then override variables */ 186 197 :root { 187 198 /* Change the accent color */ 188 199 --color-accent: #d63384; ··· 199 210 } 200 211 ``` 201 212 202 - ### Properties 213 + See `variables.css` for the complete list of available tokens. 214 + 215 + ### Available Properties 203 216 204 217 **Typography**: 205 218
+7 -1
lib/package.json
··· 5 5 "type": "module", 6 6 "scripts": { 7 7 "dev": "vite", 8 - "build": "tsc && vite build", 8 + "build": "pnpm build:lib && pnpm build:css", 9 9 "build:lib": "tsc && vite build --mode lib", 10 + "build:css": "postcss src/styles/index.css -o dist/volt.css", 11 + "build:css:min": "postcss src/styles/index.css -o dist/volt.min.css --env production", 10 12 "preview": "vite preview", 11 13 "test": "vitest", 12 14 "test:run": "vitest run", ··· 16 18 "@testing-library/dom": "^10.4.1", 17 19 "@testing-library/jest-dom": "^6.9.1", 18 20 "@vitest/coverage-v8": "3.2.4", 21 + "cssnano": "^7.1.1", 19 22 "dprint": "^0.50.2", 20 23 "jsdom": "^27.0.0", 24 + "postcss": "^8.5.6", 25 + "postcss-cli": "^11.0.1", 26 + "postcss-import": "^16.1.1", 21 27 "vite": "npm:rolldown-vite@7.1.14" 22 28 } 23 29 }
+1
lib/postcss.config.js
··· 1 + export default { plugins: { "postcss-import": {}, "cssnano": {} } };
+4 -668
lib/src/styles/base.css
··· 1 - /* 2 - 8b d8 88 3 - `8b d8' 88 ,d 4 - `8b d8' 88 88 5 - `8b d8' ,adPPYba, 88 MM88MMM ,adPPYba, ,adPPYba, ,adPPYba, 6 - `8b d8' a8" "8a 88 88 a8" "" I8[ "" I8[ "" 7 - `8b d8' 8b d8 88 88 8b `"Y8ba, `"Y8ba, 8 - `888' "8a, ,a8" 88 88, 888 "8a, ,aa aa ]8I aa ]8I 9 - `8' `"YbbdP"' 88 "Y888 888 `"Ybbd8"' `"YbbdP"' `"YbbdP"' 10 - */ 11 - 12 - /** 13 - * Volt CSS - Classless stylesheet for elegant, readable web documents 14 - * 15 - * Design Philosophy: 16 - * - Classless: Style semantic HTML5 elements directly 17 - * - Dual theme: Automatic light/dark mode via prefers-color-scheme 18 - * - Typography-first: Optimized for reading and information density 19 - * - Accessible: WCAG AA contrast ratios, keyboard navigation support 20 - * - Responsive: Mobile-first, adapts gracefully to all screen sizes 21 - * 22 - * Inspired by: magick.css, latex-css, sakura, matcha, mvp.css 23 - */ 24 - 25 - @import url('https://fonts.googleapis.com/css2?family=Google+Sans+Code:ital,wght@0,300..800;1,300..800&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&display=swap'); 26 - 27 - /** 28 - * Root-level CSS variables define the design system. 29 - * 30 - * Light theme is default, dark theme overrides via media query. 31 - */ 32 - :root { 33 - /* Typography Scale - Modular scale based on 1.25 ratio */ 34 - --font-size-base: 18px; 35 - --font-size-sm: 0.889rem; 36 - --font-size-lg: 1.125rem; 37 - --font-size-xl: 1.266rem; 38 - --font-size-2xl: 1.424rem; 39 - --font-size-3xl: 1.802rem; 40 - --font-size-4xl: 2.027rem; 41 - --font-size-5xl: 2.566rem; 42 - 43 - --font-sans: "Inter", sans-serif; 44 - --font-serif: "Libre Baskerville", serif; 45 - --font-mono: "Google Sans Code", monospace; 46 - 47 - /* Spacing Scale - Based on 0.5rem increments */ 48 - --space-xs: 0.25rem; 49 - --space-sm: 0.5rem; 50 - --space-md: 1rem; 51 - --space-lg: 1.5rem; 52 - --space-xl: 2rem; 53 - --space-2xl: 3rem; 54 - --space-3xl: 4rem; 55 - 56 - --line-height-tight: 1.25; 57 - --line-height-base: 1.6; 58 - --line-height-relaxed: 1.8; 59 - 60 - --content-width: 79ch; 61 - /* Width of margin notes */ 62 - --sidenote-width: 18rem; 63 - /* Space between content and sidenotes */ 64 - --sidenote-gap: 2rem; 65 - 66 - --color-bg: #fefefe; 67 - /* For code blocks, tables */ 68 - --color-bg-alt: #f5f5f5; 69 - --color-text: #1a1a1a; 70 - --color-text-muted: #666666; 71 - /* Links, primary actions */ 72 - --color-accent: #0066cc; 73 - --color-accent-hover: #0052a3; 74 - --color-border: #d4d4d4; 75 - --color-code-bg: #f8f8f8; 76 - /* Highlighted text */ 77 - --color-mark: #fff3cd; 78 - --color-success: #22863a; 79 - --color-warning: #bf8700; 80 - --color-error: #cb2431; 81 - 82 - --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05); 83 - --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.07); 84 - --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1); 85 - 86 - /* Border Radius */ 87 - --radius-xs: 1px; 88 - --radius-sm: 3px; 89 - --radius-md: 6px; 90 - --radius-lg: 8px; 91 - 92 - --transition-fast: 150ms ease-in-out; 93 - --transition-base: 250ms ease-in-out; 94 - } 95 - 96 - /** 97 - * Dark Theme Overrides 98 - * 99 - * Automatically applied when user prefers dark color scheme 100 - */ 101 - @media (prefers-color-scheme: dark) { 102 - :root { 103 - --color-bg: #1a1a1a; 104 - --color-bg-alt: #2a2a2a; 105 - --color-text: #e6e6e6; 106 - --color-text-muted: #a0a0a0; 107 - --color-accent: #4da6ff; 108 - --color-accent-hover: #66b3ff; 109 - --color-border: #404040; 110 - --color-code-bg: #2a2a2a; 111 - --color-mark: #4a4a00; 112 - --color-success: #34d058; 113 - --color-warning: #ffdf5d; 114 - --color-error: #f97583; 115 - 116 - --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3); 117 - --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.4); 118 - --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.5); 119 - } 120 - } 1 + /* ========================================================================== */ 2 + /* Base Rules & Reset */ 3 + /* ========================================================================== */ 121 4 122 5 *, *::before, *::after { 123 6 box-sizing: border-box; ··· 157 40 padding: var(--space-2xl) var(--space-lg); 158 41 } 159 42 160 - /** 161 - * Headings hierarchy 162 - * - Uses modular scale for harmonious sizing 163 - * - Tighter line-height for larger text improves readability 164 - */ 165 - h1, h2, h3, h4, h5, h6 { 166 - font-weight: 700; 167 - line-height: var(--line-height-tight); 168 - color: var(--color-text); 169 - margin-top: var(--space-2xl); 170 - margin-bottom: var(--space-md); 171 - letter-spacing: -0.02em; 172 - } 173 - 174 - h1 { 175 - font-size: var(--font-size-5xl); 176 - margin-top: 0; 177 - } 178 - 179 - h2 { 180 - font-size: var(--font-size-4xl); 181 - } 182 - 183 - h3 { 184 - font-size: var(--font-size-3xl); 185 - } 186 - 187 - h4 { 188 - font-size: var(--font-size-2xl); 189 - } 190 - 191 - h5 { 192 - font-size: var(--font-size-xl); 193 - } 194 - 195 - h6 { 196 - font-size: var(--font-size-lg); 197 - color: var(--color-text-muted); 198 - text-transform: uppercase; 199 - letter-spacing: 0.05em; 200 - } 201 - 202 - /** 203 - * Paragraph spacing 204 - * 205 - * Generous spacing between paragraphs aids scanning 206 - */ 207 - p { 208 - margin-bottom: var(--space-lg); 209 - max-width: var(--content-width); 210 - } 211 - 212 - /** 213 - * First paragraph after headings - No top margin 214 - * 215 - * Inspired by tufte.css 216 - */ 217 - h1 + p, h2 + p, h3 + p, h4 + p, h5 + p, h6 + p { 218 - margin-top: 0; 219 - } 220 - 221 - /** 222 - * Links 223 - * 224 - * Uses accent color with underline for clarity 225 - */ 226 - a { 227 - color: var(--color-accent); 228 - text-decoration: underline; 229 - text-decoration-thickness: 1px; 230 - text-underline-offset: 2px; 231 - transition: color var(--transition-fast); 232 - } 233 - 234 - a:hover { 235 - color: var(--color-accent-hover); 236 - } 237 - 238 - a:focus-visible { 239 - outline: 2px solid var(--color-accent); 240 - outline-offset: 2px; 241 - border-radius: var(--radius-sm); 242 - } 243 - 244 - em { 245 - font-style: italic; 246 - } 247 - 248 - strong { 249 - font-weight: 700; 250 - } 251 - 252 - mark { 253 - background-color: var(--color-mark); 254 - padding: 0.1em 0.2em; 255 - border-radius: var(--radius-sm); 256 - } 257 - 258 - /** 259 - * Subscript and superscript 260 - * 261 - * Prevents them from affecting line height 262 - */ 263 - sub, sup { 264 - font-size: 0.75em; 265 - line-height: 0; 266 - position: relative; 267 - vertical-align: baseline; 268 - } 269 - 270 - sup { 271 - top: -0.5em; 272 - } 273 - 274 - sub { 275 - bottom: -0.25em; 276 - } 277 - 278 - /** 279 - * Small text 280 - * Also used for Tufte-style sidenotes (see sidenotes section) 281 - */ 282 - small { 283 - font-size: var(--font-size-sm); 284 - color: var(--color-text-muted); 285 - } 286 - 287 - /** 288 - * List spacing and indentation 289 - * 290 - * Nested lists inherit spacing 291 - */ 292 - ul, ol { 293 - margin-bottom: var(--space-lg); 294 - padding-left: var(--space-xl); 295 - max-width: var(--content-width); 296 - } 297 - 298 - /** 299 - * List items 300 - */ 301 - li { 302 - margin-bottom: var(--space-sm); 303 - } 304 - 305 - li::marker { 306 - color: var(--color-accent); 307 - } 308 - 309 - /** 310 - * Nested lists - Reduced spacing 311 - */ 312 - li > ul, li > ol { 313 - margin-top: var(--space-sm); 314 - margin-bottom: var(--space-sm); 315 - } 316 - 317 - /** 318 - * Description lists - For key-value pairs 319 - */ 320 - dl { 321 - margin-bottom: var(--space-lg); 322 - max-width: var(--content-width); 323 - } 324 - 325 - dt { 326 - font-weight: 700; 327 - margin-top: var(--space-md); 328 - margin-bottom: var(--space-xs); 329 - } 330 - 331 - dd { 332 - margin-left: var(--space-xl); 333 - margin-bottom: var(--space-sm); 334 - color: var(--color-text-muted); 335 - } 336 43 337 44 /** 338 45 * Sidenotes using <small> elements ··· 384 91 } 385 92 } 386 93 387 - /** 388 - * Blockquote styling 389 - * Left border for visual distinction, italic for emphasis 390 - */ 391 - blockquote { 392 - margin: var(--space-xl) 0; 393 - padding: var(--space-md) var(--space-lg); 394 - border-left: 4px solid var(--color-accent); 395 - background-color: var(--color-bg-alt); 396 - font-style: italic; 397 - color: var(--color-text-muted); 398 - max-width: var(--content-width); 399 - border-radius: var(--radius-sm); 400 - } 401 - 402 - blockquote p:last-child { 403 - margin-bottom: 0; 404 - } 405 - 406 - /** 407 - * Citation element 408 - */ 409 - cite { 410 - font-style: normal; 411 - font-size: var(--font-size-sm); 412 - color: var(--color-text-muted); 413 - } 414 - 415 - blockquote cite::before { 416 - /* em dash */ 417 - content: "— "; 418 - } 419 - 420 - /** 421 - * Inline code 422 - * 423 - * Monospace font with subtle background 424 - */ 425 - code { 426 - font-family: var(--font-mono); 427 - font-size: 0.9em; 428 - padding: 0.15em 0.4em; 429 - color: var(--color-text); 430 - background-color: var(--color-code-bg); 431 - border: 1px solid var(--color-border); 432 - border-radius: var(--radius-sm); 433 - } 434 - 435 - /** 436 - * Keyboard input 437 - * 438 - * Styled like keys on a keyboard 439 - */ 440 - kbd { 441 - font-family: var(--font-mono); 442 - font-size: 0.9em; 443 - padding: 0.15em 0.4em; 444 - background-color: var(--color-bg-alt); 445 - border: 1px solid var(--color-border); 446 - border-radius: var(--radius-sm); 447 - box-shadow: 0 1px 0 var(--color-border), 0 0 0 2px var(--color-bg) inset; 448 - } 449 - 450 - samp { 451 - font-family: var(--font-mono); 452 - font-size: 0.9em; 453 - } 454 - 455 - var { 456 - font-family: var(--font-mono); 457 - font-style: normal; 458 - font-weight: 600; 459 - } 460 - 461 - /** 462 - * Preformatted code blocks 463 - * 464 - * Horizontal scrolling for overflow, no word wrap 465 - */ 466 - pre { 467 - margin: var(--space-xl) 0; 468 - padding: var(--space-lg); 469 - color: var(--color-text); 470 - background-color: var(--color-code-bg); 471 - border: 1px solid var(--color-border); 472 - border-radius: var(--radius-md); 473 - overflow-x: auto; 474 - max-width: var(--content-width); 475 - line-height: var(--line-height-base); 476 - } 477 - 478 - pre code { 479 - padding: 0; 480 - color: inherit; 481 - background: none; 482 - border: none; 483 - font-size: 0.875rem; 484 - } 485 - 486 - 487 - hr { 488 - margin: var(--space-3xl) auto; 489 - border: none; 490 - border-top: 1px solid var(--color-border); 491 - max-width: 50%; 492 - } 493 - 494 - table { 495 - width: 100%; 496 - max-width: var(--content-width); 497 - margin: var(--space-xl) 0; 498 - border-collapse: collapse; 499 - overflow-x: auto; 500 - display: block; 501 - } 502 - 503 - thead { 504 - background-color: var(--color-bg-alt); 505 - border-bottom: 2px solid var(--color-border); 506 - } 507 - 508 - th { 509 - padding: var(--space-sm) var(--space-md); 510 - text-align: left; 511 - font-weight: 700; 512 - color: var(--color-text); 513 - } 514 - 515 - td { 516 - padding: var(--space-sm) var(--space-md); 517 - border-bottom: 1px solid var(--color-border); 518 - } 519 - 520 - tbody tr:nth-child(even) { 521 - background-color: var(--color-bg-alt); 522 - } 523 - 524 - tbody tr:hover { 525 - background-color: var(--color-border); 526 - transition: background-color var(--transition-fast); 527 - } 528 - 529 - form { 530 - margin: var(--space-xl) 0; 531 - max-width: var(--content-width); 532 - } 533 - 534 - fieldset { 535 - border: 1px solid var(--color-border); 536 - border-radius: var(--radius-md); 537 - padding: var(--space-lg); 538 - margin-bottom: var(--space-lg); 539 - } 540 - 541 - legend { 542 - font-weight: 700; 543 - padding: 0 var(--space-sm); 544 - color: var(--color-text); 545 - } 546 - 547 - label { 548 - display: block; 549 - margin-bottom: var(--space-xs); 550 - font-weight: 600; 551 - color: var(--color-text); 552 - } 553 - 554 - label:has(+ input[required])::after, 555 - label:has(+ textarea[required])::after, 556 - label:has(+ select[required])::after { 557 - content: " *"; 558 - color: var(--color-error); 559 - } 560 - 561 - input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]), 562 - select, 563 - textarea { 564 - width: 100%; 565 - padding: var(--space-sm) var(--space-md); 566 - font-family: inherit; 567 - font-size: 1rem; 568 - line-height: var(--line-height-base); 569 - color: var(--color-text); 570 - background-color: var(--color-bg); 571 - border: 1px solid var(--color-border); 572 - border-radius: var(--radius-sm); 573 - transition: border-color var(--transition-fast), box-shadow var(--transition-fast); 574 - margin-bottom: var(--space-md); 575 - } 576 - 577 - input:focus, 578 - select:focus, 579 - textarea:focus { 580 - outline: none; 581 - border-color: var(--color-accent); 582 - box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.1); 583 - } 584 - 585 - input:disabled, 586 - select:disabled, 587 - textarea:disabled { 588 - opacity: 0.6; 589 - cursor: not-allowed; 590 - background-color: var(--color-bg-alt); 591 - } 592 - 593 - textarea { 594 - resize: vertical; 595 - min-height: 8rem; 596 - } 597 - 598 - input[type="checkbox"], 599 - input[type="radio"] { 600 - margin-right: var(--space-xs); 601 - accent-color: var(--color-accent); 602 - } 603 - 604 - input[type="file"] { 605 - padding: var(--space-sm); 606 - border: 1px dashed var(--color-border); 607 - border-radius: var(--radius-sm); 608 - cursor: pointer; 609 - margin-bottom: var(--space-md); 610 - } 611 - 612 - input[type="range"] { 613 - width: 100%; 614 - margin: var(--space-md) 0; 615 - accent-color: var(--color-accent); 616 - } 617 - 618 - progress, meter { 619 - width: 100%; 620 - height: 1.5rem; 621 - margin: var(--space-md) 0; 622 - border-radius: var(--radius-sm); 623 - overflow: hidden; 624 - } 625 - 626 - button, 627 - input[type="submit"], 628 - input[type="button"], 629 - input[type="reset"] { 630 - display: inline-block; 631 - padding: var(--space-sm) var(--space-lg); 632 - font-family: inherit; 633 - font-size: 1rem; 634 - font-weight: 600; 635 - line-height: 1; 636 - color: white; 637 - background-color: var(--color-accent); 638 - border: none; 639 - border-radius: var(--radius-md); 640 - cursor: pointer; 641 - text-decoration: none; 642 - transition: background-color var(--transition-fast), transform var(--transition-fast); 643 - margin-right: var(--space-sm); 644 - margin-bottom: var(--space-sm); 645 - } 646 - 647 - button:hover, 648 - input[type="submit"]:hover, 649 - input[type="button"]:hover { 650 - background-color: var(--color-accent-hover); 651 - } 652 - 653 - button:active, 654 - input[type="submit"]:active, 655 - input[type="button"]:active { 656 - transform: translateY(1px); 657 - } 658 - 659 - input[type="reset"] { 660 - background-color: var(--color-bg-alt); 661 - color: var(--color-text); 662 - border: 1px solid var(--color-border); 663 - } 664 - 665 - input[type="reset"]:hover { 666 - background-color: var(--color-border); 667 - } 668 - 669 - button:disabled, 670 - input[type="submit"]:disabled, 671 - input[type="button"]:disabled { 672 - opacity: 0.6; 673 - cursor: not-allowed; 674 - transform: none; 675 - } 676 - 677 - button:focus-visible, 678 - input[type="submit"]:focus-visible, 679 - input[type="button"]:focus-visible { 680 - outline: 2px solid var(--color-accent); 681 - outline-offset: 2px; 682 - } 683 - 684 - /** 685 - * Images are responsive by default, maintains aspect ratio 686 - */ 687 - img { 688 - max-width: 100%; 689 - height: auto; 690 - display: block; 691 - border-radius: var(--radius-sm); 692 - } 693 - 694 - /** 695 - * Figures with captions 696 - * Common in academic and technical writing 697 - */ 698 - figure { 699 - margin: var(--space-xl) 0; 700 - max-width: var(--content-width); 701 - } 702 - 703 - figcaption { 704 - margin-top: var(--space-sm); 705 - font-size: var(--font-size-sm); 706 - color: var(--color-text-muted); 707 - font-style: italic; 708 - text-align: center; 709 - } 710 - 711 - video, audio { 712 - max-width: 100%; 713 - margin: var(--space-xl) 0; 714 - } 715 - 716 - canvas, svg { 717 - max-width: 100%; 718 - height: auto; 719 - } 720 - 721 - iframe { 722 - max-width: 100%; 723 - border: 1px solid var(--color-border); 724 - border-radius: var(--radius-md); 725 - margin: var(--space-xl) 0; 726 - } 727 - 728 94 article, section { 729 95 margin-bottom: var(--space-3xl); 730 96 } ··· 766 132 767 133 nav li { 768 134 margin: 0; 769 - } 770 - 771 - /** 772 - * Details and Summary 773 - * 774 - * Disclosure widget for expandable content 775 - */ 776 - details { 777 - margin: var(--space-lg) 0; 778 - padding: var(--space-md); 779 - border: 1px solid var(--color-border); 780 - border-radius: var(--radius-md); 781 - max-width: var(--content-width); 782 - } 783 - 784 - summary { 785 - font-weight: 700; 786 - cursor: pointer; 787 - user-select: none; 788 - padding: var(--space-sm); 789 - margin: calc(-1 * var(--space-sm)); 790 - transition: background-color var(--transition-fast); 791 - } 792 - 793 - summary:hover { 794 - background-color: var(--color-bg-alt); 795 - } 796 - 797 - details[open] summary { 798 - margin-bottom: var(--space-md); 799 - border-bottom: 1px solid var(--color-border); 800 135 } 801 136 802 137 /** ··· 903 238 font-size: var(--font-size-sm); 904 239 } 905 240 } 241 +
+85
lib/src/styles/collections.css
··· 1 + /** 2 + * List spacing and indentation 3 + * 4 + * Nested lists inherit spacing 5 + */ 6 + ul, ol { 7 + margin-bottom: var(--space-lg); 8 + padding-left: var(--space-xl); 9 + max-width: var(--content-width); 10 + } 11 + 12 + /** 13 + * List items 14 + */ 15 + li { 16 + margin-bottom: var(--space-sm); 17 + } 18 + 19 + li::marker { 20 + color: var(--color-accent); 21 + } 22 + 23 + /** 24 + * Nested lists - Reduced spacing 25 + */ 26 + li > ul, li > ol { 27 + margin-top: var(--space-sm); 28 + margin-bottom: var(--space-sm); 29 + } 30 + 31 + /** 32 + * Description lists - For key-value pairs 33 + */ 34 + dl { 35 + margin-bottom: var(--space-lg); 36 + max-width: var(--content-width); 37 + } 38 + 39 + dt { 40 + font-weight: 700; 41 + margin-top: var(--space-md); 42 + margin-bottom: var(--space-xs); 43 + } 44 + 45 + dd { 46 + margin-left: var(--space-xl); 47 + margin-bottom: var(--space-sm); 48 + color: var(--color-text-muted); 49 + } 50 + 51 + 52 + table { 53 + width: 100%; 54 + max-width: var(--content-width); 55 + margin: var(--space-xl) 0; 56 + border-collapse: collapse; 57 + overflow-x: auto; 58 + display: block; 59 + } 60 + 61 + thead { 62 + background-color: var(--color-bg-alt); 63 + border-bottom: 2px solid var(--color-border); 64 + } 65 + 66 + th { 67 + padding: var(--space-sm) var(--space-md); 68 + text-align: left; 69 + font-weight: 700; 70 + color: var(--color-text); 71 + } 72 + 73 + td { 74 + padding: var(--space-sm) var(--space-md); 75 + border-bottom: 1px solid var(--color-border); 76 + } 77 + 78 + tbody tr:nth-child(even) { 79 + background-color: var(--color-bg-alt); 80 + } 81 + 82 + tbody tr:hover { 83 + background-color: var(--color-border); 84 + transition: background-color var(--transition-fast); 85 + }
+158
lib/src/styles/components.css
··· 1 + /* ========================================================================== */ 2 + /* Components */ 3 + /* ========================================================================== */ 4 + 5 + /** 6 + * Dialog (Modal) 7 + * 8 + * Native <dialog> element provides semantic modal functionality. 9 + * Structure: <dialog><article><header>...</header>content<footer>...</footer></article></dialog> 10 + * Close buttons should use aria-label="Close" for targeting. 11 + */ 12 + dialog { 13 + border: none; 14 + padding: 0; 15 + margin: auto; 16 + max-width: min(90vw, 600px); 17 + max-height: 90vh; 18 + background-color: var(--color-bg); 19 + border-radius: var(--radius-lg); 20 + box-shadow: var(--shadow-lg); 21 + overflow: hidden; 22 + } 23 + 24 + dialog::backdrop { 25 + background-color: rgba(0, 0, 0, 0.5); 26 + backdrop-filter: blur(4px); 27 + } 28 + 29 + @media (prefers-color-scheme: dark) { 30 + dialog::backdrop { 31 + background-color: rgba(0, 0, 0, 0.7); 32 + } 33 + } 34 + 35 + dialog article { 36 + margin: 0; 37 + padding: 0; 38 + display: flex; 39 + flex-direction: column; 40 + max-height: 90vh; 41 + } 42 + 43 + dialog header { 44 + position: relative; 45 + border-bottom: 1px solid var(--color-border); 46 + padding: var(--space-lg); 47 + margin: 0; 48 + } 49 + 50 + dialog header h1, 51 + dialog header h2, 52 + dialog header h3, 53 + dialog header h4, 54 + dialog header h5, 55 + dialog header h6 { 56 + margin-top: 0; 57 + margin-bottom: 0; 58 + padding-right: var(--space-3xl); 59 + } 60 + 61 + dialog header button[aria-label="Close"], 62 + dialog header button[aria-label="close"] { 63 + position: absolute; 64 + top: var(--space-lg); 65 + right: var(--space-lg); 66 + background: none; 67 + border: none; 68 + font-size: 1.75rem; 69 + line-height: 1; 70 + padding: var(--space-xs); 71 + margin: 0; 72 + width: auto; 73 + color: var(--color-text-muted); 74 + cursor: pointer; 75 + transition: color var(--transition-fast), transform var(--transition-fast); 76 + } 77 + 78 + dialog header button[aria-label="Close"]:hover, 79 + dialog header button[aria-label="close"]:hover { 80 + color: var(--color-text); 81 + background: none; 82 + transform: scale(1.1); 83 + } 84 + 85 + dialog article > :not(header):not(footer) { 86 + padding: var(--space-lg); 87 + overflow-y: auto; 88 + flex: 1; 89 + } 90 + 91 + dialog form { 92 + margin: 0; 93 + max-width: none; 94 + } 95 + 96 + dialog footer { 97 + border-top: 1px solid var(--color-border); 98 + padding: var(--space-lg); 99 + margin: 0; 100 + display: flex; 101 + gap: var(--space-md); 102 + justify-content: flex-end; 103 + flex-wrap: wrap; 104 + } 105 + 106 + dialog footer button { 107 + margin: 0; 108 + } 109 + 110 + @media (max-width: 768px) { 111 + dialog { 112 + max-width: 95vw; 113 + max-height: 95vh; 114 + } 115 + 116 + dialog header, 117 + dialog article > :not(header):not(footer), 118 + dialog footer { 119 + padding: var(--space-md); 120 + } 121 + 122 + dialog header button[aria-label="Close"], 123 + dialog header button[aria-label="close"] { 124 + top: var(--space-md); 125 + right: var(--space-md); 126 + } 127 + } 128 + 129 + /** 130 + * Accordian 131 + * 132 + * implemented as details and summary 133 + */ 134 + details { 135 + margin: var(--space-lg) 0; 136 + padding: var(--space-md); 137 + border: 1px solid var(--color-border); 138 + border-radius: var(--radius-md); 139 + max-width: var(--content-width); 140 + } 141 + 142 + summary { 143 + font-weight: 700; 144 + cursor: pointer; 145 + user-select: none; 146 + padding: var(--space-sm); 147 + margin: calc(-1 * var(--space-sm)); 148 + transition: background-color var(--transition-fast); 149 + } 150 + 151 + summary:hover { 152 + background-color: var(--color-bg-alt); 153 + } 154 + 155 + details[open] summary { 156 + margin-bottom: var(--space-md); 157 + border-bottom: 1px solid var(--color-border); 158 + }
+155
lib/src/styles/forms.css
··· 1 + 2 + form { 3 + margin: var(--space-xl) 0; 4 + max-width: var(--content-width); 5 + } 6 + 7 + fieldset { 8 + border: 1px solid var(--color-border); 9 + border-radius: var(--radius-md); 10 + padding: var(--space-lg); 11 + margin-bottom: var(--space-lg); 12 + } 13 + 14 + legend { 15 + font-weight: 700; 16 + padding: 0 var(--space-sm); 17 + color: var(--color-text); 18 + } 19 + 20 + label { 21 + display: block; 22 + margin-bottom: var(--space-xs); 23 + font-weight: 600; 24 + color: var(--color-text); 25 + } 26 + 27 + label:has(+ input[required])::after, 28 + label:has(+ textarea[required])::after, 29 + label:has(+ select[required])::after { 30 + content: " *"; 31 + color: var(--color-error); 32 + } 33 + 34 + input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]), 35 + select, 36 + textarea { 37 + width: 100%; 38 + padding: var(--space-sm) var(--space-md); 39 + font-family: inherit; 40 + font-size: 1rem; 41 + line-height: var(--line-height-base); 42 + color: var(--color-text); 43 + background-color: var(--color-bg); 44 + border: 1px solid var(--color-border); 45 + border-radius: var(--radius-sm); 46 + transition: border-color var(--transition-fast), box-shadow var(--transition-fast); 47 + margin-bottom: var(--space-md); 48 + } 49 + 50 + input:focus, 51 + select:focus, 52 + textarea:focus { 53 + outline: none; 54 + border-color: var(--color-accent); 55 + box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.1); 56 + } 57 + 58 + input:disabled, 59 + select:disabled, 60 + textarea:disabled { 61 + opacity: 0.6; 62 + cursor: not-allowed; 63 + background-color: var(--color-bg-alt); 64 + } 65 + 66 + textarea { 67 + resize: vertical; 68 + min-height: 8rem; 69 + } 70 + 71 + input[type="checkbox"], 72 + input[type="radio"] { 73 + margin-right: var(--space-xs); 74 + accent-color: var(--color-accent); 75 + } 76 + 77 + input[type="file"] { 78 + padding: var(--space-sm); 79 + border: 1px dashed var(--color-border); 80 + border-radius: var(--radius-sm); 81 + cursor: pointer; 82 + margin-bottom: var(--space-md); 83 + } 84 + 85 + input[type="range"] { 86 + width: 100%; 87 + margin: var(--space-md) 0; 88 + accent-color: var(--color-accent); 89 + } 90 + 91 + progress, meter { 92 + width: 100%; 93 + height: 1.5rem; 94 + margin: var(--space-md) 0; 95 + border-radius: var(--radius-sm); 96 + overflow: hidden; 97 + } 98 + 99 + button, 100 + input[type="submit"], 101 + input[type="button"], 102 + input[type="reset"] { 103 + display: inline-block; 104 + padding: var(--space-sm) var(--space-lg); 105 + font-family: inherit; 106 + font-size: 1rem; 107 + font-weight: 600; 108 + line-height: 1; 109 + color: white; 110 + background-color: var(--color-accent); 111 + border: none; 112 + border-radius: var(--radius-md); 113 + cursor: pointer; 114 + text-decoration: none; 115 + transition: background-color var(--transition-fast), transform var(--transition-fast); 116 + margin-right: var(--space-sm); 117 + margin-bottom: var(--space-sm); 118 + } 119 + 120 + button:hover, 121 + input[type="submit"]:hover, 122 + input[type="button"]:hover { 123 + background-color: var(--color-accent-hover); 124 + } 125 + 126 + button:active, 127 + input[type="submit"]:active, 128 + input[type="button"]:active { 129 + transform: translateY(1px); 130 + } 131 + 132 + input[type="reset"] { 133 + background-color: var(--color-bg-alt); 134 + color: var(--color-text); 135 + border: 1px solid var(--color-border); 136 + } 137 + 138 + input[type="reset"]:hover { 139 + background-color: var(--color-border); 140 + } 141 + 142 + button:disabled, 143 + input[type="submit"]:disabled, 144 + input[type="button"]:disabled { 145 + opacity: 0.6; 146 + cursor: not-allowed; 147 + transform: none; 148 + } 149 + 150 + button:focus-visible, 151 + input[type="submit"]:focus-visible, 152 + input[type="button"]:focus-visible { 153 + outline: 2px solid var(--color-accent); 154 + outline-offset: 2px; 155 + }
+34
lib/src/styles/index.css
··· 1 + /* 2 + 8b d8 88 3 + `8b d8' 88 ,d 4 + `8b d8' 88 88 5 + `8b d8' ,adPPYba, 88 MM88MMM ,adPPYba, ,adPPYba, ,adPPYba, 6 + `8b d8' a8" "8a 88 88 a8" "" I8[ "" I8[ "" 7 + `8b d8' 8b d8 88 88 8b `"Y8ba, `"Y8ba, 8 + `888' "8a, ,a8" 88 88, 888 "8a, ,aa aa ]8I aa ]8I 9 + `8' `"YbbdP"' 88 "Y888 888 `"Ybbd8"' `"YbbdP"' `"YbbdP"' 10 + */ 11 + 12 + /** 13 + * Volt CSS - Classless stylesheet for elegant, readable web documents 14 + * 15 + * Design Philosophy: 16 + * - Classless: Style semantic HTML5 elements directly 17 + * - Dual theme: Automatic light/dark mode via prefers-color-scheme 18 + * - Typography-first: Optimized for reading and information density 19 + * - Accessible: WCAG AA contrast ratios, keyboard navigation support 20 + * - Responsive: Mobile-first, adapts gracefully to all screen sizes 21 + * 22 + * Inspired by: magick.css, latex-css, sakura, matcha, mvp.css 23 + */ 24 + 25 + @import url('https://fonts.googleapis.com/css2?family=Google+Sans+Code:ital,wght@0,300..800;1,300..800&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&display=swap'); 26 + 27 + /* Design system tokens */ 28 + @import './variables.css'; 29 + @import './base.css'; 30 + @import './typography.css'; 31 + @import './forms.css'; 32 + @import './components.css'; 33 + @import './collections.css'; 34 + @import './media.css';
+43
lib/src/styles/media.css
··· 1 + /** 2 + * Images are responsive by default, maintains aspect ratio 3 + */ 4 + img { 5 + max-width: 100%; 6 + height: auto; 7 + display: block; 8 + border-radius: var(--radius-sm); 9 + } 10 + 11 + /** 12 + * Figures with captions 13 + * Common in academic and technical writing 14 + */ 15 + figure { 16 + margin: var(--space-xl) 0; 17 + max-width: var(--content-width); 18 + } 19 + 20 + figcaption { 21 + margin-top: var(--space-sm); 22 + font-size: var(--font-size-sm); 23 + color: var(--color-text-muted); 24 + font-style: italic; 25 + text-align: center; 26 + } 27 + 28 + video, audio { 29 + max-width: 100%; 30 + margin: var(--space-xl) 0; 31 + } 32 + 33 + canvas, svg { 34 + max-width: 100%; 35 + height: auto; 36 + } 37 + 38 + iframe { 39 + max-width: 100%; 40 + border: 1px solid var(--color-border); 41 + border-radius: var(--radius-md); 42 + margin: var(--space-xl) 0; 43 + }
+233
lib/src/styles/typography.css
··· 1 + /* ========================================================================== */ 2 + /* Typography & Inline Elements */ 3 + /* ========================================================================== */ 4 + 5 + /** 6 + * Headings hierarchy 7 + * - Uses modular scale for harmonious sizing 8 + * - Tighter line-height for larger text improves readability 9 + */ 10 + h1, h2, h3, h4, h5, h6 { 11 + font-weight: 700; 12 + line-height: var(--line-height-tight); 13 + color: var(--color-text); 14 + margin-top: var(--space-2xl); 15 + margin-bottom: var(--space-md); 16 + letter-spacing: -0.02em; 17 + } 18 + 19 + h1 { 20 + font-size: var(--font-size-5xl); 21 + margin-top: 0; 22 + } 23 + 24 + h2 { 25 + font-size: var(--font-size-4xl); 26 + } 27 + 28 + h3 { 29 + font-size: var(--font-size-3xl); 30 + } 31 + 32 + h4 { 33 + font-size: var(--font-size-2xl); 34 + } 35 + 36 + h5 { 37 + font-size: var(--font-size-xl); 38 + } 39 + 40 + h6 { 41 + font-size: var(--font-size-lg); 42 + color: var(--color-text-muted); 43 + text-transform: uppercase; 44 + letter-spacing: 0.05em; 45 + } 46 + 47 + p { 48 + margin-bottom: var(--space-lg); 49 + max-width: var(--content-width); 50 + } 51 + 52 + /** 53 + * First paragraph after headings - No top margin 54 + * 55 + * Inspired by tufte.css 56 + */ 57 + h1 + p, h2 + p, h3 + p, h4 + p, h5 + p, h6 + p { 58 + margin-top: 0; 59 + } 60 + 61 + /** 62 + * Links 63 + * 64 + * Uses accent color with underline 65 + */ 66 + a { 67 + color: var(--color-accent); 68 + text-decoration: underline; 69 + text-decoration-thickness: 1px; 70 + text-underline-offset: 2px; 71 + transition: color var(--transition-fast); 72 + } 73 + 74 + a:hover { 75 + color: var(--color-accent-hover); 76 + } 77 + 78 + a:focus-visible { 79 + outline: 2px solid var(--color-accent); 80 + outline-offset: 2px; 81 + border-radius: var(--radius-sm); 82 + } 83 + 84 + em { 85 + font-style: italic; 86 + } 87 + 88 + strong { 89 + font-weight: 700; 90 + } 91 + 92 + mark { 93 + background-color: var(--color-mark); 94 + padding: 0.1em 0.2em; 95 + border-radius: var(--radius-sm); 96 + } 97 + 98 + /** 99 + * Subscript and superscript 100 + * 101 + * Prevents them from affecting line height 102 + */ 103 + sub, sup { 104 + font-size: 0.75em; 105 + line-height: 0; 106 + position: relative; 107 + vertical-align: baseline; 108 + } 109 + 110 + sup { 111 + top: -0.5em; 112 + } 113 + 114 + sub { 115 + bottom: -0.25em; 116 + } 117 + 118 + /** 119 + * Small text 120 + * Also used for Tufte-style sidenotes (see sidenotes section) 121 + */ 122 + small { 123 + font-size: var(--font-size-sm); 124 + color: var(--color-text-muted); 125 + } 126 + 127 + /** 128 + * Blockquote styling 129 + * Left border for visual distinction, italic for emphasis 130 + */ 131 + blockquote { 132 + margin: var(--space-xl) 0; 133 + padding: var(--space-md) var(--space-lg); 134 + border-left: 4px solid var(--color-accent); 135 + background-color: var(--color-bg-alt); 136 + font-style: italic; 137 + color: var(--color-text-muted); 138 + max-width: var(--content-width); 139 + border-radius: var(--radius-sm); 140 + } 141 + 142 + blockquote p:last-child { 143 + margin-bottom: 0; 144 + } 145 + 146 + /** 147 + * Citation element 148 + */ 149 + cite { 150 + font-style: normal; 151 + font-size: var(--font-size-sm); 152 + color: var(--color-text-muted); 153 + } 154 + 155 + blockquote cite::before { 156 + /* em dash */ 157 + content: "— "; 158 + } 159 + 160 + 161 + /** 162 + * Inline code 163 + * 164 + * Monospace font with subtle background 165 + */ 166 + code { 167 + font-family: var(--font-mono); 168 + font-size: 0.9em; 169 + padding: 0.15em 0.4em; 170 + color: var(--color-text); 171 + background-color: var(--color-code-bg); 172 + border: 1px solid var(--color-border); 173 + border-radius: var(--radius-sm); 174 + } 175 + 176 + /** 177 + * Keyboard input 178 + * 179 + * Styled like keys on a keyboard 180 + */ 181 + kbd { 182 + font-family: var(--font-mono); 183 + font-size: 0.9em; 184 + padding: 0.15em 0.4em; 185 + background-color: var(--color-bg-alt); 186 + border: 1px solid var(--color-border); 187 + border-radius: var(--radius-sm); 188 + box-shadow: 0 1px 0 var(--color-border), 0 0 0 2px var(--color-bg) inset; 189 + } 190 + 191 + samp { 192 + font-family: var(--font-mono); 193 + font-size: 0.9em; 194 + } 195 + 196 + var { 197 + font-family: var(--font-mono); 198 + font-style: normal; 199 + font-weight: 600; 200 + } 201 + 202 + /** 203 + * Preformatted code blocks 204 + * 205 + * Horizontal scrolling for overflow, no word wrap 206 + */ 207 + pre { 208 + margin: var(--space-xl) 0; 209 + padding: var(--space-lg); 210 + color: var(--color-text); 211 + background-color: var(--color-code-bg); 212 + border: 1px solid var(--color-border); 213 + border-radius: var(--radius-md); 214 + overflow-x: auto; 215 + max-width: var(--content-width); 216 + line-height: var(--line-height-base); 217 + } 218 + 219 + pre code { 220 + padding: 0; 221 + color: inherit; 222 + background: none; 223 + border: none; 224 + font-size: 0.875rem; 225 + } 226 + 227 + 228 + hr { 229 + margin: var(--space-3xl) auto; 230 + border: none; 231 + border-top: 1px solid var(--color-border); 232 + max-width: 50%; 233 + }
+96
lib/src/styles/variables.css
··· 1 + /** 2 + * Volt CSS Variables 3 + * 4 + * Design system tokens for the Volt CSS framework. 5 + * Light theme is default, dark theme overrides via media query. 6 + */ 7 + 8 + :root { 9 + /* Typography Scale - Modular scale based on 1.25 ratio */ 10 + --font-size-base: 18px; 11 + --font-size-sm: 0.889rem; 12 + --font-size-lg: 1.125rem; 13 + --font-size-xl: 1.266rem; 14 + --font-size-2xl: 1.424rem; 15 + --font-size-3xl: 1.802rem; 16 + --font-size-4xl: 2.027rem; 17 + --font-size-5xl: 2.566rem; 18 + 19 + --font-sans: "Inter", sans-serif; 20 + --font-serif: "Libre Baskerville", serif; 21 + --font-mono: "Google Sans Code", monospace; 22 + 23 + /* Spacing Scale - Based on 0.5rem increments */ 24 + --space-xs: 0.25rem; 25 + --space-sm: 0.5rem; 26 + --space-md: 1rem; 27 + --space-lg: 1.5rem; 28 + --space-xl: 2rem; 29 + --space-2xl: 3rem; 30 + --space-3xl: 4rem; 31 + 32 + --line-height-tight: 1.25; 33 + --line-height-base: 1.6; 34 + --line-height-relaxed: 1.8; 35 + 36 + --content-width: 79ch; 37 + /* Width of margin notes */ 38 + --sidenote-width: 18rem; 39 + /* Space between content and sidenotes */ 40 + --sidenote-gap: 2rem; 41 + 42 + --color-bg: #fefefe; 43 + /* For code blocks, tables */ 44 + --color-bg-alt: #f5f5f5; 45 + --color-text: #1a1a1a; 46 + --color-text-muted: #666666; 47 + /* Links, primary actions */ 48 + --color-accent: #0066cc; 49 + --color-accent-hover: #0052a3; 50 + --color-border: #d4d4d4; 51 + --color-code-bg: #f8f8f8; 52 + /* Highlighted text */ 53 + --color-mark: #fff3cd; 54 + --color-success: #22863a; 55 + --color-warning: #bf8700; 56 + --color-error: #cb2431; 57 + 58 + --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05); 59 + --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.07); 60 + --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1); 61 + 62 + /* Border Radius */ 63 + --radius-xs: 1px; 64 + --radius-sm: 3px; 65 + --radius-md: 6px; 66 + --radius-lg: 8px; 67 + 68 + --transition-fast: 150ms ease-in-out; 69 + --transition-base: 250ms ease-in-out; 70 + } 71 + 72 + /** 73 + * Dark Theme Overrides 74 + * 75 + * Automatically applied when user prefers dark color scheme 76 + */ 77 + @media (prefers-color-scheme: dark) { 78 + :root { 79 + --color-bg: #1a1a1a; 80 + --color-bg-alt: #2a2a2a; 81 + --color-text: #e6e6e6; 82 + --color-text-muted: #a0a0a0; 83 + --color-accent: #4da6ff; 84 + --color-accent-hover: #66b3ff; 85 + --color-border: #404040; 86 + --color-code-bg: #2a2a2a; 87 + --color-mark: #4a4a00; 88 + --color-success: #34d058; 89 + --color-warning: #ffdf5d; 90 + --color-error: #f97583; 91 + 92 + --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3); 93 + --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.4); 94 + --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.5); 95 + } 96 + }
+1 -1
lib/tsconfig.json
··· 29 29 "$volt": ["./src/index.ts"] 30 30 } 31 31 }, 32 - "include": ["src", "test", "eslint.config.js", "vite.config.ts"] 32 + "include": ["src", "test", "eslint.config.js", "vite.config.ts", "postcss.config.js"] 33 33 }
+931 -77
pnpm-lock.yaml
··· 37 37 version: 8.46.1(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3) 38 38 vitest: 39 39 specifier: ^3.2.4 40 - version: 3.2.4(@types/node@24.8.1)(jiti@2.6.1)(jsdom@27.0.0(postcss@8.5.6))(terser@5.44.0)(yaml@2.8.1) 40 + version: 3.2.4(@types/node@24.8.1)(jiti@2.6.1)(jsdom@27.0.0)(terser@5.44.0)(yaml@2.8.1) 41 41 42 42 dev: 43 43 dependencies: ··· 81 81 '@vitest/coverage-v8': 82 82 specifier: 3.2.4 83 83 version: 3.2.4(vitest@3.2.4(@types/node@24.8.1)(jiti@2.6.1)(jsdom@27.0.0(postcss@8.5.6))(terser@5.44.0)(yaml@2.8.1)) 84 + cssnano: 85 + specifier: ^7.1.1 86 + version: 7.1.1(postcss@8.5.6) 84 87 dprint: 85 88 specifier: ^0.50.2 86 89 version: 0.50.2 87 90 jsdom: 88 91 specifier: ^27.0.0 89 92 version: 27.0.0(postcss@8.5.6) 93 + postcss: 94 + specifier: ^8.5.6 95 + version: 8.5.6 96 + postcss-cli: 97 + specifier: ^11.0.1 98 + version: 11.0.1(jiti@2.6.1)(postcss@8.5.6) 99 + postcss-import: 100 + specifier: ^16.1.1 101 + version: 16.1.1(postcss@8.5.6) 90 102 vite: 91 103 specifier: npm:rolldown-vite@7.1.14 92 104 version: rolldown-vite@7.1.14(@types/node@24.8.1)(jiti@2.6.1)(terser@5.44.0)(yaml@2.8.1) ··· 452 464 '@oxc-project/types@0.93.0': 453 465 resolution: {integrity: sha512-yNtwmWZIBtJsMr5TEfoZFDxIWV6OdScOpza/f5YxbqUMJk+j6QX3Cf3jgZShGEFYWQJ5j9mJ6jM0tZHu2J9Yrg==} 454 466 455 - '@oxc-project/types@0.94.0': 456 - resolution: {integrity: sha512-+UgQT/4o59cZfH6Cp7G0hwmqEQ0wE+AdIwhikdwnhWI9Dp8CgSY081+Q3O67/wq3VJu8mgUEB93J9EHHn70fOw==} 467 + '@oxc-project/types@0.95.0': 468 + resolution: {integrity: sha512-vACy7vhpMPhjEJhULNxrdR0D943TkA/MigMpJCHmBHvMXxRStRi/dPtTlfQ3uDwWSzRpT8z+7ImjZVf8JWBocQ==} 457 469 458 470 '@pkgjs/parseargs@0.11.0': 459 471 resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} ··· 468 480 cpu: [arm64] 469 481 os: [android] 470 482 471 - '@rolldown/binding-android-arm64@1.0.0-beta.43': 472 - resolution: {integrity: sha512-TP8bcPOb1s6UmY5syhXrDn9k0XkYcw+XaoylTN4cJxf0JOVS2j682I3aTcpfT51hOFGr2bRwNKN9RZ19XxeQbA==} 483 + '@rolldown/binding-android-arm64@1.0.0-beta.44': 484 + resolution: {integrity: sha512-g9ejDOehJFhxC1DIXQuZQ9bKv4lRDioOTL42cJjFjqKPl1L7DVb9QQQE1FxokGEIMr6FezLipxwnzOXWe7DNPg==} 473 485 engines: {node: ^20.19.0 || >=22.12.0} 474 486 cpu: [arm64] 475 487 os: [android] ··· 480 492 cpu: [arm64] 481 493 os: [darwin] 482 494 483 - '@rolldown/binding-darwin-arm64@1.0.0-beta.43': 484 - resolution: {integrity: sha512-kuVWnZsE4vEjMF/10SbSUyzucIW2zmdsqFghYMqy+fsjXnRHg0luTU6qWF8IqJf4Cbpm9NEZRnjIEPpAbdiSNQ==} 495 + '@rolldown/binding-darwin-arm64@1.0.0-beta.44': 496 + resolution: {integrity: sha512-PxAW1PXLPmCzfhfKIS53kwpjLGTUdIfX4Ht+l9mj05C3lYCGaGowcNsYi2rdxWH24vSTmeK+ajDNRmmmrK0M7g==} 485 497 engines: {node: ^20.19.0 || >=22.12.0} 486 498 cpu: [arm64] 487 499 os: [darwin] ··· 492 504 cpu: [x64] 493 505 os: [darwin] 494 506 495 - '@rolldown/binding-darwin-x64@1.0.0-beta.43': 496 - resolution: {integrity: sha512-u9Ps4sh6lcmJ3vgLtyEg/x4jlhI64U0mM93Ew+tlfFdLDe7yKyA+Fe80cpr2n1mNCeZXrvTSbZluKpXQ0GxLjw==} 507 + '@rolldown/binding-darwin-x64@1.0.0-beta.44': 508 + resolution: {integrity: sha512-/CtQqs1oO9uSb5Ju60rZvsdjE7Pzn8EK2ISAdl2jedjMzeD/4neNyCbwyJOAPzU+GIQTZVyrFZJX+t7HXR1R/g==} 497 509 engines: {node: ^20.19.0 || >=22.12.0} 498 510 cpu: [x64] 499 511 os: [darwin] ··· 504 516 cpu: [x64] 505 517 os: [freebsd] 506 518 507 - '@rolldown/binding-freebsd-x64@1.0.0-beta.43': 508 - resolution: {integrity: sha512-h9lUtVtXgfbk/tnicMpbFfZ3DJvk5Zn2IvmlC1/e0+nUfwoc/TFqpfrRRqcNBXk/e+xiWMSKv6b0MF8N+Rtvlg==} 519 + '@rolldown/binding-freebsd-x64@1.0.0-beta.44': 520 + resolution: {integrity: sha512-V5Q5W9c4+2GJ4QabmjmVV6alY97zhC/MZBaLkDtHwGy3qwzbM4DYgXUbun/0a8AH5hGhuU27tUIlYz6ZBlvgOA==} 509 521 engines: {node: ^20.19.0 || >=22.12.0} 510 522 cpu: [x64] 511 523 os: [freebsd] ··· 516 528 cpu: [arm] 517 529 os: [linux] 518 530 519 - '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.43': 520 - resolution: {integrity: sha512-IX2C6bA6wM2rX/RvD75ko+ix9yxPKjKGGq7pOhB8wGI4Z4fqX5B1nDHga/qMDmAdCAR1m9ymzxkmqhm/AFYf7A==} 531 + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.44': 532 + resolution: {integrity: sha512-X6adjkHeFqKsTU0FXdNN9HY4LDozPqIfHcnXovE5RkYLWIjMWuc489mIZ6iyhrMbCqMUla9IOsh5dvXSGT9o9A==} 521 533 engines: {node: ^20.19.0 || >=22.12.0} 522 534 cpu: [arm] 523 535 os: [linux] ··· 528 540 cpu: [arm64] 529 541 os: [linux] 530 542 531 - '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.43': 532 - resolution: {integrity: sha512-mcjd57vEj+CEQbZAzUiaxNzNgwwgOpFtZBWcINm8DNscvkXl5b/s622Z1dqGNWSdrZmdjdC6LWMvu8iHM6v9sQ==} 543 + '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.44': 544 + resolution: {integrity: sha512-kRRKGZI4DXWa6ANFr3dLA85aSVkwPdgXaRjfanwY84tfc3LncDiIjyWCb042e3ckPzYhHSZ3LmisO+cdOIYL6Q==} 533 545 engines: {node: ^20.19.0 || >=22.12.0} 534 546 cpu: [arm64] 535 547 os: [linux] ··· 540 552 cpu: [arm64] 541 553 os: [linux] 542 554 543 - '@rolldown/binding-linux-arm64-musl@1.0.0-beta.43': 544 - resolution: {integrity: sha512-Pa8QMwlkrztTo/1mVjZmPIQ44tCSci10TBqxzVBvXVA5CFh5EpiEi99fPSll2dHG2uT4dCOMeC6fIhyDdb0zXA==} 555 + '@rolldown/binding-linux-arm64-musl@1.0.0-beta.44': 556 + resolution: {integrity: sha512-hMtiN9xX1NhxXBa2U3Up4XkVcsVp2h73yYtMDY59z9CDLEZLrik9RVLhBL5QtoX4zZKJ8HZKJtWuGYvtmkCbIQ==} 545 557 engines: {node: ^20.19.0 || >=22.12.0} 546 558 cpu: [arm64] 547 559 os: [linux] ··· 552 564 cpu: [x64] 553 565 os: [linux] 554 566 555 - '@rolldown/binding-linux-x64-gnu@1.0.0-beta.43': 556 - resolution: {integrity: sha512-BgynXKMjeaX4AfWLARhOKDetBOOghnSiVRjAHVvhiAaDXgdQN8e65mSmXRiVoVtD3cHXx/cfU8Gw0p0K+qYKVQ==} 567 + '@rolldown/binding-linux-x64-gnu@1.0.0-beta.44': 568 + resolution: {integrity: sha512-rd1LzbpXQuR8MTG43JB9VyXDjG7ogSJbIkBpZEHJ8oMKzL6j47kQT5BpIXrg3b5UVygW9QCI2fpFdMocT5Kudg==} 557 569 engines: {node: ^20.19.0 || >=22.12.0} 558 570 cpu: [x64] 559 571 os: [linux] ··· 564 576 cpu: [x64] 565 577 os: [linux] 566 578 567 - '@rolldown/binding-linux-x64-musl@1.0.0-beta.43': 568 - resolution: {integrity: sha512-VIsoPlOB/tDSAw9CySckBYysoIBqLeps1/umNSYUD8pMtalJyzMTneAVI1HrUdf4ceFmQ5vARoLIXSsPwVFxNg==} 579 + '@rolldown/binding-linux-x64-musl@1.0.0-beta.44': 580 + resolution: {integrity: sha512-qI2IiPqmPRW25exXkuQr3TlweCDc05YvvbSDRPCuPsWkwb70dTiSoXn8iFxT4PWqTi71wWHg1Wyta9PlVhX5VA==} 569 581 engines: {node: ^20.19.0 || >=22.12.0} 570 582 cpu: [x64] 571 583 os: [linux] ··· 576 588 cpu: [arm64] 577 589 os: [openharmony] 578 590 579 - '@rolldown/binding-openharmony-arm64@1.0.0-beta.43': 580 - resolution: {integrity: sha512-YDXTxVJG67PqTQMKyjVJSddoPbSWJ4yRz/E3xzTLHqNrTDGY0UuhG8EMr8zsYnfH/0cPFJ3wjQd/hJWHuR6nkA==} 591 + '@rolldown/binding-openharmony-arm64@1.0.0-beta.44': 592 + resolution: {integrity: sha512-+vHvEc1pL5iJRFlldLC8mjm6P4Qciyfh2bh5ZI6yxDQKbYhCHRKNURaKz1mFcwxhVL5YMYsLyaqM3qizVif9MQ==} 581 593 engines: {node: ^20.19.0 || >=22.12.0} 582 594 cpu: [arm64] 583 595 os: [openharmony] ··· 587 599 engines: {node: '>=14.0.0'} 588 600 cpu: [wasm32] 589 601 590 - '@rolldown/binding-wasm32-wasi@1.0.0-beta.43': 591 - resolution: {integrity: sha512-3M+2DmorXvDuAIGYQ9Z93Oy1G9ETkejLwdXXb1uRTgKN9pMcu7N+KG2zDrJwqyxeeLIFE22AZGtSJm3PJbNu9Q==} 602 + '@rolldown/binding-wasm32-wasi@1.0.0-beta.44': 603 + resolution: {integrity: sha512-XSgLxRrtFj6RpTeMYmmQDAwHjKseYGKUn5LPiIdW4Cq+f5SBSStL2ToBDxkbdxKPEbCZptnLPQ/nfKcAxrC8Xg==} 592 604 engines: {node: '>=14.0.0'} 593 605 cpu: [wasm32] 594 606 ··· 598 610 cpu: [arm64] 599 611 os: [win32] 600 612 601 - '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.43': 602 - resolution: {integrity: sha512-/B1j1pJs33y9ywtslOMxryUPHq8zIGu/OGEc2gyed0slimJ8fX2uR/SaJVhB4+NEgCFIeYDR4CX6jynAkeRuCA==} 613 + '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.44': 614 + resolution: {integrity: sha512-cF1LJdDIX02cJrFrX3wwQ6IzFM7I74BYeKFkzdcIA4QZ0+2WA7/NsKIgjvrunupepWb1Y6PFWdRlHSaz5AW1Wg==} 603 615 engines: {node: ^20.19.0 || >=22.12.0} 604 616 cpu: [arm64] 605 617 os: [win32] ··· 610 622 cpu: [ia32] 611 623 os: [win32] 612 624 613 - '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.43': 614 - resolution: {integrity: sha512-29oG1swCz7hNP+CQYrsM4EtylsKwuYzM8ljqbqC5TsQwmKat7P8ouDpImsqg/GZxFSXcPP9ezQm0Q0wQwGM3JA==} 625 + '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.44': 626 + resolution: {integrity: sha512-5uaJonDafhHiMn+iEh7qUp3QQ4Gihv3lEOxKfN8Vwadpy0e+5o28DWI42DpJ9YBYMrVy4JOWJ/3etB/sptpUwA==} 615 627 engines: {node: ^20.19.0 || >=22.12.0} 616 628 cpu: [ia32] 617 629 os: [win32] ··· 622 634 cpu: [x64] 623 635 os: [win32] 624 636 625 - '@rolldown/binding-win32-x64-msvc@1.0.0-beta.43': 626 - resolution: {integrity: sha512-eWBV1Ef3gfGNehxVGCyXs7wLayRIgCmyItuCZwYYXW5bsk4EvR4n2GP5m3ohjnx7wdiY3nLmwQfH2Knb5gbNZw==} 637 + '@rolldown/binding-win32-x64-msvc@1.0.0-beta.44': 638 + resolution: {integrity: sha512-vsqhWAFJkkmgfBN/lkLCWTXF1PuPhMjfnAyru48KvF7mVh2+K7WkKYHezF3Fjz4X/mPScOcIv+g6cf6wnI6eWg==} 627 639 engines: {node: ^20.19.0 || >=22.12.0} 628 640 cpu: [x64] 629 641 os: [win32] ··· 631 643 '@rolldown/pluginutils@1.0.0-beta.41': 632 644 resolution: {integrity: sha512-ycMEPrS3StOIeb87BT3/+bu+blEtyvwQ4zmo2IcJQy0Rd1DAAhKksA0iUZ3MYSpJtjlPhg0Eo6mvVS6ggPhRbw==} 633 645 634 - '@rolldown/pluginutils@1.0.0-beta.43': 635 - resolution: {integrity: sha512-5Uxg7fQUCmfhax7FJke2+8B6cqgeUJUD9o2uXIKXhD+mG0mL6NObmVoi9wXEU1tY89mZKgAYA6fTbftx3q2ZPQ==} 646 + '@rolldown/pluginutils@1.0.0-beta.44': 647 + resolution: {integrity: sha512-g6eW7Zwnr2c5RADIoqziHoVs6b3W5QTQ4+qbpfjbkMJ9x+8Og211VW/oot2dj9dVwaK/UyC6Yo+02gV+wWQVNg==} 636 648 637 649 '@shikijs/core@2.5.0': 638 650 resolution: {integrity: sha512-uu/8RExTKtavlpH7XqnVYBrfBkUc20ngXiX9NSrBhOVZYv/7XQRKUyhtkeflY5QsxC0GbJThCerruZfsUaSldg==} ··· 774 786 resolution: {integrity: sha512-7Yx/SXSOcQq5HiiV3orevHUFn+pmMB4cgbEkDYgnkUWb0WfeQ/wa2yFv6D5ICiCQOVpjA7vYDXrC7AGO8yjDHA==} 775 787 engines: {node: ^18.0.0 || >=20.0.0} 776 788 peerDependencies: 777 - vite: ^5.0.0 || ^6.0.0 789 + vite: npm:rolldown-vite@7.1.14 778 790 vue: ^3.2.25 779 791 780 792 '@vitest/coverage-v8@3.2.4': ··· 793 805 resolution: {integrity: sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==} 794 806 peerDependencies: 795 807 msw: ^2.4.9 796 - vite: ^5.0.0 || ^6.0.0 || ^7.0.0-0 808 + vite: npm:rolldown-vite@7.1.14 797 809 peerDependenciesMeta: 798 810 msw: 799 811 optional: true ··· 948 960 resolution: {integrity: sha512-HqZ5rWlFjGiV0tDm3UxxgNRqsOTniqoKZu0pIAfh7TZQMGuZK+hH0drySty0si0QXj1ieop4+SkSfPZBPPkHig==} 949 961 engines: {node: '>=14'} 950 962 963 + anymatch@3.1.3: 964 + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 965 + engines: {node: '>= 8'} 966 + 951 967 argparse@2.0.1: 952 968 resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 953 969 ··· 982 998 bidi-js@1.0.3: 983 999 resolution: {integrity: sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==} 984 1000 1001 + binary-extensions@2.3.0: 1002 + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} 1003 + engines: {node: '>=8'} 1004 + 985 1005 birpc@2.6.1: 986 1006 resolution: {integrity: sha512-LPnFhlDpdSH6FJhJyn4M0kFO7vtQ5iPw24FnG0y21q09xC7e8+1LeR31S1MAIrDAHp4m7aas4bEkTDTvMAtebQ==} 1007 + 1008 + boolbase@1.0.0: 1009 + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} 987 1010 988 1011 brace-expansion@1.1.12: 989 1012 resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} ··· 1028 1051 resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 1029 1052 engines: {node: '>=6'} 1030 1053 1054 + caniuse-api@3.0.0: 1055 + resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} 1056 + 1031 1057 caniuse-lite@1.0.30001751: 1032 1058 resolution: {integrity: sha512-A0QJhug0Ly64Ii3eIqHu5X51ebln3k4yTUkY1j8drqpWHVreg/VLijN48cZ1bYPiqOQuqpkIKnzr/Ul8V+p6Cw==} 1033 1059 ··· 1059 1085 resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} 1060 1086 engines: {node: '>= 16'} 1061 1087 1088 + chokidar@3.6.0: 1089 + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} 1090 + engines: {node: '>= 8.10.0'} 1091 + 1062 1092 chokidar@4.0.3: 1063 1093 resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} 1064 1094 engines: {node: '>= 14.16.0'} ··· 1074 1104 resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} 1075 1105 engines: {node: '>=4'} 1076 1106 1107 + cliui@8.0.1: 1108 + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} 1109 + engines: {node: '>=12'} 1110 + 1077 1111 color-convert@2.0.1: 1078 1112 resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 1079 1113 engines: {node: '>=7.0.0'} 1080 1114 1081 1115 color-name@1.1.4: 1082 1116 resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 1117 + 1118 + colord@2.9.3: 1119 + resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} 1083 1120 1084 1121 comma-separated-tokens@2.0.3: 1085 1122 resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} 1123 + 1124 + commander@11.1.0: 1125 + resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} 1126 + engines: {node: '>=16'} 1086 1127 1087 1128 commander@14.0.1: 1088 1129 resolution: {integrity: sha512-2JkV3gUZUVrbNA+1sjBOYLsMZ5cEEl8GTFP2a4AVz5hvasAMCQ1D2l2le/cX+pV4N6ZU17zjUahLpIXRrnWL8A==} ··· 1112 1153 resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} 1113 1154 engines: {node: '>= 8'} 1114 1155 1156 + css-declaration-sorter@7.3.0: 1157 + resolution: {integrity: sha512-LQF6N/3vkAMYF4xoHLJfG718HRJh34Z8BnNhd6bosOMIVjMlhuZK5++oZa3uYAgrI5+7x2o27gUqTR2U/KjUOQ==} 1158 + engines: {node: ^14 || ^16 || >=18} 1159 + peerDependencies: 1160 + postcss: ^8.0.9 1161 + 1162 + css-select@5.2.2: 1163 + resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==} 1164 + 1165 + css-tree@2.2.1: 1166 + resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==} 1167 + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} 1168 + 1115 1169 css-tree@3.1.0: 1116 1170 resolution: {integrity: sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==} 1117 1171 engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} 1118 1172 1173 + css-what@6.2.2: 1174 + resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==} 1175 + engines: {node: '>= 6'} 1176 + 1119 1177 css.escape@1.5.1: 1120 1178 resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==} 1121 1179 1180 + cssesc@3.0.0: 1181 + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} 1182 + engines: {node: '>=4'} 1183 + hasBin: true 1184 + 1185 + cssnano-preset-default@7.0.9: 1186 + resolution: {integrity: sha512-tCD6AAFgYBOVpMBX41KjbvRh9c2uUjLXRyV7KHSIrwHiq5Z9o0TFfUCoM3TwVrRsRteN3sVXGNvjVNxYzkpTsA==} 1187 + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1188 + peerDependencies: 1189 + postcss: ^8.4.32 1190 + 1191 + cssnano-utils@5.0.1: 1192 + resolution: {integrity: sha512-ZIP71eQgG9JwjVZsTPSqhc6GHgEr53uJ7tK5///VfyWj6Xp2DBmixWHqJgPno+PqATzn48pL42ww9x5SSGmhZg==} 1193 + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1194 + peerDependencies: 1195 + postcss: ^8.4.32 1196 + 1197 + cssnano@7.1.1: 1198 + resolution: {integrity: sha512-fm4D8ti0dQmFPeF8DXSAA//btEmqCOgAc/9Oa3C1LW94h5usNrJEfrON7b4FkPZgnDEn6OUs5NdxiJZmAtGOpQ==} 1199 + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1200 + peerDependencies: 1201 + postcss: ^8.4.32 1202 + 1203 + csso@5.0.5: 1204 + resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} 1205 + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} 1206 + 1122 1207 cssstyle@5.3.1: 1123 1208 resolution: {integrity: sha512-g5PC9Aiph9eiczFpcgUhd9S4UUO3F+LHGRIi5NUMZ+4xtoIYbHNZwZnWA2JsFGe8OU8nl4WyaEFiZuGuxlutJQ==} 1124 1209 engines: {node: '>=20'} ··· 1152 1237 defu@6.1.4: 1153 1238 resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} 1154 1239 1240 + dependency-graph@1.0.0: 1241 + resolution: {integrity: sha512-cW3gggJ28HZ/LExwxP2B++aiKxhJXMSIt9K48FOXQkm+vuG5gyatXnLsONRJdzO/7VfjDIiaOOa/bs4l464Lwg==} 1242 + engines: {node: '>=4'} 1243 + 1155 1244 dequal@2.0.3: 1156 1245 resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} 1157 1246 engines: {node: '>=6'} ··· 1175 1264 1176 1265 dom-accessibility-api@0.6.3: 1177 1266 resolution: {integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==} 1267 + 1268 + dom-serializer@2.0.0: 1269 + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} 1270 + 1271 + domelementtype@2.3.0: 1272 + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} 1273 + 1274 + domhandler@5.0.3: 1275 + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} 1276 + engines: {node: '>= 4'} 1277 + 1278 + domutils@3.2.2: 1279 + resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} 1178 1280 1179 1281 dotenv@17.2.3: 1180 1282 resolution: {integrity: sha512-JVUnt+DUIzu87TABbhPmNfVdBDt18BLOWjMUFJMSi/Qqg7NTYtabbvSNJGOJ7afbRuv9D/lngizHtP7QyLQ+9w==} ··· 1351 1453 resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} 1352 1454 engines: {node: '>=14'} 1353 1455 1456 + fs-extra@11.3.2: 1457 + resolution: {integrity: sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==} 1458 + engines: {node: '>=14.14'} 1459 + 1354 1460 fsevents@2.3.3: 1355 1461 resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 1356 1462 engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1357 1463 os: [darwin] 1464 + 1465 + function-bind@1.1.2: 1466 + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 1467 + 1468 + get-caller-file@2.0.5: 1469 + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} 1470 + engines: {node: 6.* || 8.* || >= 10.*} 1358 1471 1359 1472 get-tsconfig@4.12.0: 1360 1473 resolution: {integrity: sha512-LScr2aNr2FbjAjZh2C6X6BxRx1/x+aTDExct/xyq2XKbYOiG5c0aK7pMsSuyc0brz3ibr/lbQiHD9jzt4lccJw==} ··· 1383 1496 resolution: {integrity: sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw==} 1384 1497 engines: {node: '>=18'} 1385 1498 1499 + graceful-fs@4.2.11: 1500 + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 1501 + 1386 1502 graphemer@1.4.0: 1387 1503 resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} 1388 1504 ··· 1390 1506 resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1391 1507 engines: {node: '>=8'} 1392 1508 1509 + hasown@2.0.2: 1510 + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} 1511 + engines: {node: '>= 0.4'} 1512 + 1393 1513 hast-util-to-html@9.0.5: 1394 1514 resolution: {integrity: sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==} 1395 1515 ··· 1445 1565 resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} 1446 1566 engines: {node: '>=12'} 1447 1567 1568 + is-binary-path@2.1.0: 1569 + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 1570 + engines: {node: '>=8'} 1571 + 1448 1572 is-builtin-module@5.0.0: 1449 1573 resolution: {integrity: sha512-f4RqJKBUe5rQkJ2eJEJBXSticB3hGbN9j0yxxMQFqIW89Jp9WYFtzfTcRlstDKVUTRzSOTLKRfO9vIztenwtxA==} 1450 1574 engines: {node: '>=18.20'} 1451 1575 1576 + is-core-module@2.16.1: 1577 + resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} 1578 + engines: {node: '>= 0.4'} 1579 + 1452 1580 is-extglob@2.1.1: 1453 1581 resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1454 1582 engines: {node: '>=0.10.0'} ··· 1539 1667 jsonc-parser@3.3.1: 1540 1668 resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} 1541 1669 1670 + jsonfile@6.2.0: 1671 + resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==} 1672 + 1542 1673 keyv@4.5.4: 1543 1674 resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} 1544 1675 ··· 1615 1746 lightningcss@1.30.2: 1616 1747 resolution: {integrity: sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==} 1617 1748 engines: {node: '>= 12.0.0'} 1749 + 1750 + lilconfig@3.1.3: 1751 + resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} 1752 + engines: {node: '>=14'} 1618 1753 1619 1754 locate-path@6.0.0: 1620 1755 resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 1621 1756 engines: {node: '>=10'} 1622 1757 1758 + lodash.memoize@4.1.2: 1759 + resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} 1760 + 1623 1761 lodash.merge@4.6.2: 1624 1762 resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 1763 + 1764 + lodash.uniq@4.5.0: 1765 + resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} 1625 1766 1626 1767 loupe@3.2.1: 1627 1768 resolution: {integrity: sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==} ··· 1652 1793 1653 1794 mdast-util-to-hast@13.2.0: 1654 1795 resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==} 1796 + 1797 + mdn-data@2.0.28: 1798 + resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} 1655 1799 1656 1800 mdn-data@2.12.2: 1657 1801 resolution: {integrity: sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==} ··· 1716 1860 1717 1861 node-releases@2.0.25: 1718 1862 resolution: {integrity: sha512-4auku8B/vw5psvTiiN9j1dAOsXvMoGqJuKJcR+dTdqiXEK20mMTk1UEo3HS16LeGQsVG6+qKTPM9u/qQ2LqATA==} 1863 + 1864 + normalize-path@3.0.0: 1865 + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 1866 + engines: {node: '>=0.10.0'} 1867 + 1868 + nth-check@2.1.1: 1869 + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} 1719 1870 1720 1871 nypm@0.6.2: 1721 1872 resolution: {integrity: sha512-7eM+hpOtrKrBDCh7Ypu2lJ9Z7PNZBdi/8AT3AX8xoCj43BBVHD0hPSTEvMtkMpfs8FCqBGhxB+uToIQimA111g==} ··· 1761 1912 resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 1762 1913 engines: {node: '>=8'} 1763 1914 1915 + path-parse@1.0.7: 1916 + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 1917 + 1764 1918 path-scurry@1.11.1: 1765 1919 resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} 1766 1920 engines: {node: '>=16 || 14 >=14.18'} ··· 1789 1943 resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} 1790 1944 engines: {node: '>=12'} 1791 1945 1946 + pify@2.3.0: 1947 + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} 1948 + engines: {node: '>=0.10.0'} 1949 + 1792 1950 pkg-types@2.3.0: 1793 1951 resolution: {integrity: sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==} 1794 1952 ··· 1796 1954 resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} 1797 1955 engines: {node: '>=4'} 1798 1956 1957 + postcss-calc@10.1.1: 1958 + resolution: {integrity: sha512-NYEsLHh8DgG/PRH2+G9BTuUdtf9ViS+vdoQ0YA5OQdGsfN4ztiwtDWNtBl9EKeqNMFnIu8IKZ0cLxEQ5r5KVMw==} 1959 + engines: {node: ^18.12 || ^20.9 || >=22.0} 1960 + peerDependencies: 1961 + postcss: ^8.4.38 1962 + 1963 + postcss-cli@11.0.1: 1964 + resolution: {integrity: sha512-0UnkNPSayHKRe/tc2YGW6XnSqqOA9eqpiRMgRlV1S6HdGi16vwJBx7lviARzbV1HpQHqLLRH3o8vTcB0cLc+5g==} 1965 + engines: {node: '>=18'} 1966 + hasBin: true 1967 + peerDependencies: 1968 + postcss: ^8.0.0 1969 + 1970 + postcss-colormin@7.0.4: 1971 + resolution: {integrity: sha512-ziQuVzQZBROpKpfeDwmrG+Vvlr0YWmY/ZAk99XD+mGEBuEojoFekL41NCsdhyNUtZI7DPOoIWIR7vQQK9xwluw==} 1972 + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1973 + peerDependencies: 1974 + postcss: ^8.4.32 1975 + 1976 + postcss-convert-values@7.0.7: 1977 + resolution: {integrity: sha512-HR9DZLN04Xbe6xugRH6lS4ZQH2zm/bFh/ZyRkpedZozhvh+awAfbA0P36InO4fZfDhvYfNJeNvlTf1sjwGbw/A==} 1978 + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1979 + peerDependencies: 1980 + postcss: ^8.4.32 1981 + 1982 + postcss-discard-comments@7.0.4: 1983 + resolution: {integrity: sha512-6tCUoql/ipWwKtVP/xYiFf1U9QgJ0PUvxN7pTcsQ8Ns3Fnwq1pU5D5s1MhT/XySeLq6GXNvn37U46Ded0TckWg==} 1984 + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1985 + peerDependencies: 1986 + postcss: ^8.4.32 1987 + 1988 + postcss-discard-duplicates@7.0.2: 1989 + resolution: {integrity: sha512-eTonaQvPZ/3i1ASDHOKkYwAybiM45zFIc7KXils4mQmHLqIswXD9XNOKEVxtTFnsmwYzF66u4LMgSr0abDlh5w==} 1990 + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1991 + peerDependencies: 1992 + postcss: ^8.4.32 1993 + 1994 + postcss-discard-empty@7.0.1: 1995 + resolution: {integrity: sha512-cFrJKZvcg/uxB6Ijr4l6qmn3pXQBna9zyrPC+sK0zjbkDUZew+6xDltSF7OeB7rAtzaaMVYSdbod+sZOCWnMOg==} 1996 + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1997 + peerDependencies: 1998 + postcss: ^8.4.32 1999 + 2000 + postcss-discard-overridden@7.0.1: 2001 + resolution: {integrity: sha512-7c3MMjjSZ/qYrx3uc1940GSOzN1Iqjtlqe8uoSg+qdVPYyRb0TILSqqmtlSFuE4mTDECwsm397Ya7iXGzfF7lg==} 2002 + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 2003 + peerDependencies: 2004 + postcss: ^8.4.32 2005 + 2006 + postcss-import@16.1.1: 2007 + resolution: {integrity: sha512-2xVS1NCZAfjtVdvXiyegxzJ447GyqCeEI5V7ApgQVOWnros1p5lGNovJNapwPpMombyFBfqDwt7AD3n2l0KOfQ==} 2008 + engines: {node: '>=18.0.0'} 2009 + peerDependencies: 2010 + postcss: ^8.0.0 2011 + 2012 + postcss-load-config@5.1.0: 2013 + resolution: {integrity: sha512-G5AJ+IX0aD0dygOE0yFZQ/huFFMSNneyfp0e3/bT05a8OfPC5FUoZRPfGijUdGOJNMewJiwzcHJXFafFzeKFVA==} 2014 + engines: {node: '>= 18'} 2015 + peerDependencies: 2016 + jiti: '>=1.21.0' 2017 + postcss: '>=8.0.9' 2018 + tsx: ^4.8.1 2019 + peerDependenciesMeta: 2020 + jiti: 2021 + optional: true 2022 + postcss: 2023 + optional: true 2024 + tsx: 2025 + optional: true 2026 + 2027 + postcss-merge-longhand@7.0.5: 2028 + resolution: {integrity: sha512-Kpu5v4Ys6QI59FxmxtNB/iHUVDn9Y9sYw66D6+SZoIk4QTz1prC4aYkhIESu+ieG1iylod1f8MILMs1Em3mmIw==} 2029 + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 2030 + peerDependencies: 2031 + postcss: ^8.4.32 2032 + 2033 + postcss-merge-rules@7.0.6: 2034 + resolution: {integrity: sha512-2jIPT4Tzs8K87tvgCpSukRQ2jjd+hH6Bb8rEEOUDmmhOeTcqDg5fEFK8uKIu+Pvc3//sm3Uu6FRqfyv7YF7+BQ==} 2035 + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 2036 + peerDependencies: 2037 + postcss: ^8.4.32 2038 + 2039 + postcss-minify-font-values@7.0.1: 2040 + resolution: {integrity: sha512-2m1uiuJeTplll+tq4ENOQSzB8LRnSUChBv7oSyFLsJRtUgAAJGP6LLz0/8lkinTgxrmJSPOEhgY1bMXOQ4ZXhQ==} 2041 + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 2042 + peerDependencies: 2043 + postcss: ^8.4.32 2044 + 2045 + postcss-minify-gradients@7.0.1: 2046 + resolution: {integrity: sha512-X9JjaysZJwlqNkJbUDgOclyG3jZEpAMOfof6PUZjPnPrePnPG62pS17CjdM32uT1Uq1jFvNSff9l7kNbmMSL2A==} 2047 + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 2048 + peerDependencies: 2049 + postcss: ^8.4.32 2050 + 2051 + postcss-minify-params@7.0.4: 2052 + resolution: {integrity: sha512-3OqqUddfH8c2e7M35W6zIwv7jssM/3miF9cbCSb1iJiWvtguQjlxZGIHK9JRmc8XAKmE2PFGtHSM7g/VcW97sw==} 2053 + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 2054 + peerDependencies: 2055 + postcss: ^8.4.32 2056 + 2057 + postcss-minify-selectors@7.0.5: 2058 + resolution: {integrity: sha512-x2/IvofHcdIrAm9Q+p06ZD1h6FPcQ32WtCRVodJLDR+WMn8EVHI1kvLxZuGKz/9EY5nAmI6lIQIrpo4tBy5+ug==} 2059 + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 2060 + peerDependencies: 2061 + postcss: ^8.4.32 2062 + 2063 + postcss-normalize-charset@7.0.1: 2064 + resolution: {integrity: sha512-sn413ofhSQHlZFae//m9FTOfkmiZ+YQXsbosqOWRiVQncU2BA3daX3n0VF3cG6rGLSFVc5Di/yns0dFfh8NFgQ==} 2065 + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 2066 + peerDependencies: 2067 + postcss: ^8.4.32 2068 + 2069 + postcss-normalize-display-values@7.0.1: 2070 + resolution: {integrity: sha512-E5nnB26XjSYz/mGITm6JgiDpAbVuAkzXwLzRZtts19jHDUBFxZ0BkXAehy0uimrOjYJbocby4FVswA/5noOxrQ==} 2071 + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 2072 + peerDependencies: 2073 + postcss: ^8.4.32 2074 + 2075 + postcss-normalize-positions@7.0.1: 2076 + resolution: {integrity: sha512-pB/SzrIP2l50ZIYu+yQZyMNmnAcwyYb9R1fVWPRxm4zcUFCY2ign7rcntGFuMXDdd9L2pPNUgoODDk91PzRZuQ==} 2077 + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 2078 + peerDependencies: 2079 + postcss: ^8.4.32 2080 + 2081 + postcss-normalize-repeat-style@7.0.1: 2082 + resolution: {integrity: sha512-NsSQJ8zj8TIDiF0ig44Byo3Jk9e4gNt9x2VIlJudnQQ5DhWAHJPF4Tr1ITwyHio2BUi/I6Iv0HRO7beHYOloYQ==} 2083 + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 2084 + peerDependencies: 2085 + postcss: ^8.4.32 2086 + 2087 + postcss-normalize-string@7.0.1: 2088 + resolution: {integrity: sha512-QByrI7hAhsoze992kpbMlJSbZ8FuCEc1OT9EFbZ6HldXNpsdpZr+YXC5di3UEv0+jeZlHbZcoCADgb7a+lPmmQ==} 2089 + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 2090 + peerDependencies: 2091 + postcss: ^8.4.32 2092 + 2093 + postcss-normalize-timing-functions@7.0.1: 2094 + resolution: {integrity: sha512-bHifyuuSNdKKsnNJ0s8fmfLMlvsQwYVxIoUBnowIVl2ZAdrkYQNGVB4RxjfpvkMjipqvbz0u7feBZybkl/6NJg==} 2095 + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 2096 + peerDependencies: 2097 + postcss: ^8.4.32 2098 + 2099 + postcss-normalize-unicode@7.0.4: 2100 + resolution: {integrity: sha512-LvIURTi1sQoZqj8mEIE8R15yvM+OhbR1avynMtI9bUzj5gGKR/gfZFd8O7VMj0QgJaIFzxDwxGl/ASMYAkqO8g==} 2101 + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 2102 + peerDependencies: 2103 + postcss: ^8.4.32 2104 + 2105 + postcss-normalize-url@7.0.1: 2106 + resolution: {integrity: sha512-sUcD2cWtyK1AOL/82Fwy1aIVm/wwj5SdZkgZ3QiUzSzQQofrbq15jWJ3BA7Z+yVRwamCjJgZJN0I9IS7c6tgeQ==} 2107 + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 2108 + peerDependencies: 2109 + postcss: ^8.4.32 2110 + 2111 + postcss-normalize-whitespace@7.0.1: 2112 + resolution: {integrity: sha512-vsbgFHMFQrJBJKrUFJNZ2pgBeBkC2IvvoHjz1to0/0Xk7sII24T0qFOiJzG6Fu3zJoq/0yI4rKWi7WhApW+EFA==} 2113 + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 2114 + peerDependencies: 2115 + postcss: ^8.4.32 2116 + 2117 + postcss-ordered-values@7.0.2: 2118 + resolution: {integrity: sha512-AMJjt1ECBffF7CEON/Y0rekRLS6KsePU6PRP08UqYW4UGFRnTXNrByUzYK1h8AC7UWTZdQ9O3Oq9kFIhm0SFEw==} 2119 + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 2120 + peerDependencies: 2121 + postcss: ^8.4.32 2122 + 2123 + postcss-reduce-initial@7.0.4: 2124 + resolution: {integrity: sha512-rdIC9IlMBn7zJo6puim58Xd++0HdbvHeHaPgXsimMfG1ijC5A9ULvNLSE0rUKVJOvNMcwewW4Ga21ngyJjY/+Q==} 2125 + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 2126 + peerDependencies: 2127 + postcss: ^8.4.32 2128 + 2129 + postcss-reduce-transforms@7.0.1: 2130 + resolution: {integrity: sha512-MhyEbfrm+Mlp/36hvZ9mT9DaO7dbncU0CvWI8V93LRkY6IYlu38OPg3FObnuKTUxJ4qA8HpurdQOo5CyqqO76g==} 2131 + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 2132 + peerDependencies: 2133 + postcss: ^8.4.32 2134 + 2135 + postcss-reporter@7.1.0: 2136 + resolution: {integrity: sha512-/eoEylGWyy6/DOiMP5lmFRdmDKThqgn7D6hP2dXKJI/0rJSO1ADFNngZfDzxL0YAxFvws+Rtpuji1YIHj4mySA==} 2137 + engines: {node: '>=10'} 2138 + peerDependencies: 2139 + postcss: ^8.1.0 2140 + 2141 + postcss-selector-parser@7.1.0: 2142 + resolution: {integrity: sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==} 2143 + engines: {node: '>=4'} 2144 + 2145 + postcss-svgo@7.1.0: 2146 + resolution: {integrity: sha512-KnAlfmhtoLz6IuU3Sij2ycusNs4jPW+QoFE5kuuUOK8awR6tMxZQrs5Ey3BUz7nFCzT3eqyFgqkyrHiaU2xx3w==} 2147 + engines: {node: ^18.12.0 || ^20.9.0 || >= 18} 2148 + peerDependencies: 2149 + postcss: ^8.4.32 2150 + 2151 + postcss-unique-selectors@7.0.4: 2152 + resolution: {integrity: sha512-pmlZjsmEAG7cHd7uK3ZiNSW6otSZ13RHuZ/4cDN/bVglS5EpF2r2oxY99SuOHa8m7AWoBCelTS3JPpzsIs8skQ==} 2153 + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 2154 + peerDependencies: 2155 + postcss: ^8.4.32 2156 + 2157 + postcss-value-parser@4.2.0: 2158 + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} 2159 + 1799 2160 postcss@8.5.6: 1800 2161 resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} 1801 2162 engines: {node: ^10 || ^12 || >=14} ··· 1811 2172 resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} 1812 2173 engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 1813 2174 2175 + pretty-hrtime@1.0.3: 2176 + resolution: {integrity: sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==} 2177 + engines: {node: '>= 0.8'} 2178 + 1814 2179 property-information@7.1.0: 1815 2180 resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==} 1816 2181 ··· 1830 2195 react-is@17.0.2: 1831 2196 resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} 1832 2197 2198 + read-cache@1.0.0: 2199 + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} 2200 + 2201 + readdirp@3.6.0: 2202 + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 2203 + engines: {node: '>=8.10.0'} 2204 + 1833 2205 readdirp@4.1.2: 1834 2206 resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} 1835 2207 engines: {node: '>= 14.18.0'} ··· 1855 2227 resolution: {integrity: sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==} 1856 2228 hasBin: true 1857 2229 2230 + require-directory@2.1.1: 2231 + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} 2232 + engines: {node: '>=0.10.0'} 2233 + 1858 2234 require-from-string@2.0.2: 1859 2235 resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} 1860 2236 engines: {node: '>=0.10.0'} ··· 1865 2241 1866 2242 resolve-pkg-maps@1.0.0: 1867 2243 resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} 2244 + 2245 + resolve@1.22.10: 2246 + resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} 2247 + engines: {node: '>= 0.4'} 2248 + hasBin: true 1868 2249 1869 2250 reusify@1.1.0: 1870 2251 resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} ··· 1937 2318 engines: {node: ^20.19.0 || >=22.12.0} 1938 2319 hasBin: true 1939 2320 1940 - rolldown@1.0.0-beta.43: 1941 - resolution: {integrity: sha512-6RcqyRx0tY1MlRLnjXPp/849Rl/CPFhzpGGwNPEPjKwqBMqPq/Rbbkxasa8s0x+IkUk46ty4jazb5skZ/Vgdhw==} 2321 + rolldown@1.0.0-beta.44: 2322 + resolution: {integrity: sha512-gcqgyCi3g93Fhr49PKvymE8PoaGS0sf6ajQrsYaQ8o5de6aUEbD6rJZiJbhOfpcqOnycgsAsUNPYri1h25NgsQ==} 1942 2323 engines: {node: ^20.19.0 || >=22.12.0} 1943 2324 hasBin: true 1944 2325 ··· 1951 2332 safer-buffer@2.1.2: 1952 2333 resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} 1953 2334 2335 + sax@1.4.1: 2336 + resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} 2337 + 1954 2338 saxes@6.0.0: 1955 2339 resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} 1956 2340 engines: {node: '>=v12.22.7'} ··· 1980 2364 signal-exit@4.1.0: 1981 2365 resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} 1982 2366 engines: {node: '>=14'} 2367 + 2368 + slash@5.1.0: 2369 + resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} 2370 + engines: {node: '>=14.16'} 1983 2371 1984 2372 source-map-js@1.2.1: 1985 2373 resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} ··· 2039 2427 strip-literal@3.1.0: 2040 2428 resolution: {integrity: sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==} 2041 2429 2430 + stylehacks@7.0.6: 2431 + resolution: {integrity: sha512-iitguKivmsueOmTO0wmxURXBP8uqOO+zikLGZ7Mm9e/94R4w5T999Js2taS/KBOnQ/wdC3jN3vNSrkGDrlnqQg==} 2432 + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 2433 + peerDependencies: 2434 + postcss: ^8.4.32 2435 + 2042 2436 superjson@2.2.2: 2043 2437 resolution: {integrity: sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q==} 2044 2438 engines: {node: '>=16'} ··· 2047 2441 resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 2048 2442 engines: {node: '>=8'} 2049 2443 2444 + supports-preserve-symlinks-flag@1.0.0: 2445 + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 2446 + engines: {node: '>= 0.4'} 2447 + 2448 + svgo@4.0.0: 2449 + resolution: {integrity: sha512-VvrHQ+9uniE+Mvx3+C9IEe/lWasXCU0nXMY2kZeLrHNICuRiC8uMPyM14UEaMOFA5mhyQqEkB02VoQ16n3DLaw==} 2450 + engines: {node: '>=16'} 2451 + hasBin: true 2452 + 2050 2453 symbol-tree@3.2.4: 2051 2454 resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} 2052 2455 ··· 2061 2464 test-exclude@7.0.1: 2062 2465 resolution: {integrity: sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==} 2063 2466 engines: {node: '>=18'} 2467 + 2468 + thenby@1.3.4: 2469 + resolution: {integrity: sha512-89Gi5raiWA3QZ4b2ePcEwswC3me9JIg+ToSgtE0JWeCynLnLxNr/f9G+xfo9K+Oj4AFdom8YNJjibIARTJmapQ==} 2064 2470 2065 2471 tinybench@2.9.0: 2066 2472 resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} ··· 2181 2587 unist-util-visit@5.0.0: 2182 2588 resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} 2183 2589 2590 + universalify@2.0.1: 2591 + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} 2592 + engines: {node: '>= 10.0.0'} 2593 + 2184 2594 update-browserslist-db@1.1.3: 2185 2595 resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} 2186 2596 hasBin: true ··· 2190 2600 uri-js@4.4.1: 2191 2601 resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 2192 2602 2603 + util-deprecate@1.0.2: 2604 + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 2605 + 2193 2606 vfile-message@4.0.3: 2194 2607 resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==} 2195 2608 ··· 2310 2723 xmlchars@2.2.0: 2311 2724 resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} 2312 2725 2726 + y18n@5.0.8: 2727 + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} 2728 + engines: {node: '>=10'} 2729 + 2313 2730 yaml@2.8.1: 2314 2731 resolution: {integrity: sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==} 2315 2732 engines: {node: '>= 14.6'} 2316 2733 hasBin: true 2734 + 2735 + yargs-parser@21.1.1: 2736 + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} 2737 + engines: {node: '>=12'} 2738 + 2739 + yargs@17.7.2: 2740 + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} 2741 + engines: {node: '>=12'} 2317 2742 2318 2743 yocto-queue@0.1.0: 2319 2744 resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} ··· 2714 3139 2715 3140 '@oxc-project/types@0.93.0': {} 2716 3141 2717 - '@oxc-project/types@0.94.0': {} 3142 + '@oxc-project/types@0.95.0': {} 2718 3143 2719 3144 '@pkgjs/parseargs@0.11.0': 2720 3145 optional: true ··· 2726 3151 '@rolldown/binding-android-arm64@1.0.0-beta.41': 2727 3152 optional: true 2728 3153 2729 - '@rolldown/binding-android-arm64@1.0.0-beta.43': 3154 + '@rolldown/binding-android-arm64@1.0.0-beta.44': 2730 3155 optional: true 2731 3156 2732 3157 '@rolldown/binding-darwin-arm64@1.0.0-beta.41': 2733 3158 optional: true 2734 3159 2735 - '@rolldown/binding-darwin-arm64@1.0.0-beta.43': 3160 + '@rolldown/binding-darwin-arm64@1.0.0-beta.44': 2736 3161 optional: true 2737 3162 2738 3163 '@rolldown/binding-darwin-x64@1.0.0-beta.41': 2739 3164 optional: true 2740 3165 2741 - '@rolldown/binding-darwin-x64@1.0.0-beta.43': 3166 + '@rolldown/binding-darwin-x64@1.0.0-beta.44': 2742 3167 optional: true 2743 3168 2744 3169 '@rolldown/binding-freebsd-x64@1.0.0-beta.41': 2745 3170 optional: true 2746 3171 2747 - '@rolldown/binding-freebsd-x64@1.0.0-beta.43': 3172 + '@rolldown/binding-freebsd-x64@1.0.0-beta.44': 2748 3173 optional: true 2749 3174 2750 3175 '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.41': 2751 3176 optional: true 2752 3177 2753 - '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.43': 3178 + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.44': 2754 3179 optional: true 2755 3180 2756 3181 '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.41': 2757 3182 optional: true 2758 3183 2759 - '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.43': 3184 + '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.44': 2760 3185 optional: true 2761 3186 2762 3187 '@rolldown/binding-linux-arm64-musl@1.0.0-beta.41': 2763 3188 optional: true 2764 3189 2765 - '@rolldown/binding-linux-arm64-musl@1.0.0-beta.43': 3190 + '@rolldown/binding-linux-arm64-musl@1.0.0-beta.44': 2766 3191 optional: true 2767 3192 2768 3193 '@rolldown/binding-linux-x64-gnu@1.0.0-beta.41': 2769 3194 optional: true 2770 3195 2771 - '@rolldown/binding-linux-x64-gnu@1.0.0-beta.43': 3196 + '@rolldown/binding-linux-x64-gnu@1.0.0-beta.44': 2772 3197 optional: true 2773 3198 2774 3199 '@rolldown/binding-linux-x64-musl@1.0.0-beta.41': 2775 3200 optional: true 2776 3201 2777 - '@rolldown/binding-linux-x64-musl@1.0.0-beta.43': 3202 + '@rolldown/binding-linux-x64-musl@1.0.0-beta.44': 2778 3203 optional: true 2779 3204 2780 3205 '@rolldown/binding-openharmony-arm64@1.0.0-beta.41': 2781 3206 optional: true 2782 3207 2783 - '@rolldown/binding-openharmony-arm64@1.0.0-beta.43': 3208 + '@rolldown/binding-openharmony-arm64@1.0.0-beta.44': 2784 3209 optional: true 2785 3210 2786 3211 '@rolldown/binding-wasm32-wasi@1.0.0-beta.41': ··· 2788 3213 '@napi-rs/wasm-runtime': 1.0.7 2789 3214 optional: true 2790 3215 2791 - '@rolldown/binding-wasm32-wasi@1.0.0-beta.43': 3216 + '@rolldown/binding-wasm32-wasi@1.0.0-beta.44': 2792 3217 dependencies: 2793 3218 '@napi-rs/wasm-runtime': 1.0.7 2794 3219 optional: true ··· 2796 3221 '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.41': 2797 3222 optional: true 2798 3223 2799 - '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.43': 3224 + '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.44': 2800 3225 optional: true 2801 3226 2802 3227 '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.41': 2803 3228 optional: true 2804 3229 2805 - '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.43': 3230 + '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.44': 2806 3231 optional: true 2807 3232 2808 3233 '@rolldown/binding-win32-x64-msvc@1.0.0-beta.41': 2809 3234 optional: true 2810 3235 2811 - '@rolldown/binding-win32-x64-msvc@1.0.0-beta.43': 3236 + '@rolldown/binding-win32-x64-msvc@1.0.0-beta.44': 2812 3237 optional: true 2813 3238 2814 3239 '@rolldown/pluginutils@1.0.0-beta.41': {} 2815 3240 2816 - '@rolldown/pluginutils@1.0.0-beta.43': {} 3241 + '@rolldown/pluginutils@1.0.0-beta.44': {} 2817 3242 2818 3243 '@shikijs/core@2.5.0': 2819 3244 dependencies: ··· 3032 3457 std-env: 3.10.0 3033 3458 test-exclude: 7.0.1 3034 3459 tinyrainbow: 2.0.0 3035 - vitest: 3.2.4(@types/node@24.8.1)(jiti@2.6.1)(jsdom@27.0.0(postcss@8.5.6))(terser@5.44.0)(yaml@2.8.1) 3460 + vitest: 3.2.4(@types/node@24.8.1)(jiti@2.6.1)(jsdom@27.0.0)(terser@5.44.0)(yaml@2.8.1) 3036 3461 transitivePeerDependencies: 3037 3462 - supports-color 3038 3463 ··· 3224 3649 3225 3650 ansis@4.2.0: {} 3226 3651 3652 + anymatch@3.1.3: 3653 + dependencies: 3654 + normalize-path: 3.0.0 3655 + picomatch: 2.3.1 3656 + 3227 3657 argparse@2.0.1: {} 3228 3658 3229 3659 args-tokenizer@0.3.0: {} ··· 3255 3685 dependencies: 3256 3686 require-from-string: 2.0.2 3257 3687 3688 + binary-extensions@2.3.0: {} 3689 + 3258 3690 birpc@2.6.1: {} 3691 + 3692 + boolbase@1.0.0: {} 3259 3693 3260 3694 brace-expansion@1.1.12: 3261 3695 dependencies: ··· 3319 3753 3320 3754 callsites@3.1.0: {} 3321 3755 3756 + caniuse-api@3.0.0: 3757 + dependencies: 3758 + browserslist: 4.26.3 3759 + caniuse-lite: 1.0.30001751 3760 + lodash.memoize: 4.1.2 3761 + lodash.uniq: 4.5.0 3762 + 3322 3763 caniuse-lite@1.0.30001751: {} 3323 3764 3324 3765 ccount@2.0.1: {} ··· 3346 3787 3347 3788 check-error@2.1.1: {} 3348 3789 3790 + chokidar@3.6.0: 3791 + dependencies: 3792 + anymatch: 3.1.3 3793 + braces: 3.0.3 3794 + glob-parent: 5.1.2 3795 + is-binary-path: 2.1.0 3796 + is-glob: 4.0.3 3797 + normalize-path: 3.0.0 3798 + readdirp: 3.6.0 3799 + optionalDependencies: 3800 + fsevents: 2.3.3 3801 + 3349 3802 chokidar@4.0.3: 3350 3803 dependencies: 3351 3804 readdirp: 4.1.2 ··· 3359 3812 clean-regexp@1.0.0: 3360 3813 dependencies: 3361 3814 escape-string-regexp: 1.0.5 3815 + 3816 + cliui@8.0.1: 3817 + dependencies: 3818 + string-width: 4.2.3 3819 + strip-ansi: 6.0.1 3820 + wrap-ansi: 7.0.0 3362 3821 3363 3822 color-convert@2.0.1: 3364 3823 dependencies: ··· 3366 3825 3367 3826 color-name@1.1.4: {} 3368 3827 3828 + colord@2.9.3: {} 3829 + 3369 3830 comma-separated-tokens@2.0.3: {} 3831 + 3832 + commander@11.1.0: {} 3370 3833 3371 3834 commander@14.0.1: {} 3372 3835 ··· 3392 3855 shebang-command: 2.0.0 3393 3856 which: 2.0.2 3394 3857 3858 + css-declaration-sorter@7.3.0(postcss@8.5.6): 3859 + dependencies: 3860 + postcss: 8.5.6 3861 + 3862 + css-select@5.2.2: 3863 + dependencies: 3864 + boolbase: 1.0.0 3865 + css-what: 6.2.2 3866 + domhandler: 5.0.3 3867 + domutils: 3.2.2 3868 + nth-check: 2.1.1 3869 + 3870 + css-tree@2.2.1: 3871 + dependencies: 3872 + mdn-data: 2.0.28 3873 + source-map-js: 1.2.1 3874 + 3395 3875 css-tree@3.1.0: 3396 3876 dependencies: 3397 3877 mdn-data: 2.12.2 3398 3878 source-map-js: 1.2.1 3399 3879 3880 + css-what@6.2.2: {} 3881 + 3400 3882 css.escape@1.5.1: {} 3401 3883 3884 + cssesc@3.0.0: {} 3885 + 3886 + cssnano-preset-default@7.0.9(postcss@8.5.6): 3887 + dependencies: 3888 + browserslist: 4.26.3 3889 + css-declaration-sorter: 7.3.0(postcss@8.5.6) 3890 + cssnano-utils: 5.0.1(postcss@8.5.6) 3891 + postcss: 8.5.6 3892 + postcss-calc: 10.1.1(postcss@8.5.6) 3893 + postcss-colormin: 7.0.4(postcss@8.5.6) 3894 + postcss-convert-values: 7.0.7(postcss@8.5.6) 3895 + postcss-discard-comments: 7.0.4(postcss@8.5.6) 3896 + postcss-discard-duplicates: 7.0.2(postcss@8.5.6) 3897 + postcss-discard-empty: 7.0.1(postcss@8.5.6) 3898 + postcss-discard-overridden: 7.0.1(postcss@8.5.6) 3899 + postcss-merge-longhand: 7.0.5(postcss@8.5.6) 3900 + postcss-merge-rules: 7.0.6(postcss@8.5.6) 3901 + postcss-minify-font-values: 7.0.1(postcss@8.5.6) 3902 + postcss-minify-gradients: 7.0.1(postcss@8.5.6) 3903 + postcss-minify-params: 7.0.4(postcss@8.5.6) 3904 + postcss-minify-selectors: 7.0.5(postcss@8.5.6) 3905 + postcss-normalize-charset: 7.0.1(postcss@8.5.6) 3906 + postcss-normalize-display-values: 7.0.1(postcss@8.5.6) 3907 + postcss-normalize-positions: 7.0.1(postcss@8.5.6) 3908 + postcss-normalize-repeat-style: 7.0.1(postcss@8.5.6) 3909 + postcss-normalize-string: 7.0.1(postcss@8.5.6) 3910 + postcss-normalize-timing-functions: 7.0.1(postcss@8.5.6) 3911 + postcss-normalize-unicode: 7.0.4(postcss@8.5.6) 3912 + postcss-normalize-url: 7.0.1(postcss@8.5.6) 3913 + postcss-normalize-whitespace: 7.0.1(postcss@8.5.6) 3914 + postcss-ordered-values: 7.0.2(postcss@8.5.6) 3915 + postcss-reduce-initial: 7.0.4(postcss@8.5.6) 3916 + postcss-reduce-transforms: 7.0.1(postcss@8.5.6) 3917 + postcss-svgo: 7.1.0(postcss@8.5.6) 3918 + postcss-unique-selectors: 7.0.4(postcss@8.5.6) 3919 + 3920 + cssnano-utils@5.0.1(postcss@8.5.6): 3921 + dependencies: 3922 + postcss: 8.5.6 3923 + 3924 + cssnano@7.1.1(postcss@8.5.6): 3925 + dependencies: 3926 + cssnano-preset-default: 7.0.9(postcss@8.5.6) 3927 + lilconfig: 3.1.3 3928 + postcss: 8.5.6 3929 + 3930 + csso@5.0.5: 3931 + dependencies: 3932 + css-tree: 2.2.1 3933 + 3402 3934 cssstyle@5.3.1(postcss@8.5.6): 3403 3935 dependencies: 3404 3936 '@asamuzakjp/css-color': 4.0.5 ··· 3426 3958 3427 3959 defu@6.1.4: {} 3428 3960 3961 + dependency-graph@1.0.0: {} 3962 + 3429 3963 dequal@2.0.3: {} 3430 3964 3431 3965 destr@2.0.5: {} ··· 3441 3975 dom-accessibility-api@0.5.16: {} 3442 3976 3443 3977 dom-accessibility-api@0.6.3: {} 3978 + 3979 + dom-serializer@2.0.0: 3980 + dependencies: 3981 + domelementtype: 2.3.0 3982 + domhandler: 5.0.3 3983 + entities: 4.5.0 3984 + 3985 + domelementtype@2.3.0: {} 3986 + 3987 + domhandler@5.0.3: 3988 + dependencies: 3989 + domelementtype: 2.3.0 3990 + 3991 + domutils@3.2.2: 3992 + dependencies: 3993 + dom-serializer: 2.0.0 3994 + domelementtype: 2.3.0 3995 + domhandler: 5.0.3 3444 3996 3445 3997 dotenv@17.2.3: {} 3446 3998 ··· 3635 4187 cross-spawn: 7.0.6 3636 4188 signal-exit: 4.1.0 3637 4189 4190 + fs-extra@11.3.2: 4191 + dependencies: 4192 + graceful-fs: 4.2.11 4193 + jsonfile: 6.2.0 4194 + universalify: 2.0.1 4195 + 3638 4196 fsevents@2.3.3: 3639 4197 optional: true 4198 + 4199 + function-bind@1.1.2: {} 4200 + 4201 + get-caller-file@2.0.5: {} 3640 4202 3641 4203 get-tsconfig@4.12.0: 3642 4204 dependencies: ··· 3672 4234 3673 4235 globals@16.4.0: {} 3674 4236 4237 + graceful-fs@4.2.11: {} 4238 + 3675 4239 graphemer@1.4.0: {} 3676 4240 3677 4241 has-flag@4.0.0: {} 4242 + 4243 + hasown@2.0.2: 4244 + dependencies: 4245 + function-bind: 1.1.2 3678 4246 3679 4247 hast-util-to-html@9.0.5: 3680 4248 dependencies: ··· 3737 4305 3738 4306 indent-string@5.0.0: {} 3739 4307 4308 + is-binary-path@2.1.0: 4309 + dependencies: 4310 + binary-extensions: 2.3.0 4311 + 3740 4312 is-builtin-module@5.0.0: 3741 4313 dependencies: 3742 4314 builtin-modules: 5.0.0 4315 + 4316 + is-core-module@2.16.1: 4317 + dependencies: 4318 + hasown: 2.0.2 3743 4319 3744 4320 is-extglob@2.1.1: {} 3745 4321 ··· 3834 4410 3835 4411 jsonc-parser@3.3.1: {} 3836 4412 4413 + jsonfile@6.2.0: 4414 + dependencies: 4415 + universalify: 2.0.1 4416 + optionalDependencies: 4417 + graceful-fs: 4.2.11 4418 + 3837 4419 keyv@4.5.4: 3838 4420 dependencies: 3839 4421 json-buffer: 3.0.1 ··· 3892 4474 lightningcss-win32-arm64-msvc: 1.30.2 3893 4475 lightningcss-win32-x64-msvc: 1.30.2 3894 4476 4477 + lilconfig@3.1.3: {} 4478 + 3895 4479 locate-path@6.0.0: 3896 4480 dependencies: 3897 4481 p-locate: 5.0.0 3898 4482 4483 + lodash.memoize@4.1.2: {} 4484 + 3899 4485 lodash.merge@4.6.2: {} 4486 + 4487 + lodash.uniq@4.5.0: {} 3900 4488 3901 4489 loupe@3.2.1: {} 3902 4490 ··· 3933 4521 unist-util-position: 5.0.0 3934 4522 unist-util-visit: 5.0.0 3935 4523 vfile: 6.0.3 4524 + 4525 + mdn-data@2.0.28: {} 3936 4526 3937 4527 mdn-data@2.12.2: {} 3938 4528 ··· 3986 4576 3987 4577 node-releases@2.0.25: {} 3988 4578 4579 + normalize-path@3.0.0: {} 4580 + 4581 + nth-check@2.1.1: 4582 + dependencies: 4583 + boolbase: 1.0.0 4584 + 3989 4585 nypm@0.6.2: 3990 4586 dependencies: 3991 4587 citty: 0.1.6 ··· 4035 4631 4036 4632 path-key@3.1.1: {} 4037 4633 4634 + path-parse@1.0.7: {} 4635 + 4038 4636 path-scurry@1.11.1: 4039 4637 dependencies: 4040 4638 lru-cache: 10.4.3 ··· 4054 4652 4055 4653 picomatch@4.0.3: {} 4056 4654 4655 + pify@2.3.0: {} 4656 + 4057 4657 pkg-types@2.3.0: 4058 4658 dependencies: 4059 4659 confbox: 0.2.2 ··· 4062 4662 4063 4663 pluralize@8.0.0: {} 4064 4664 4665 + postcss-calc@10.1.1(postcss@8.5.6): 4666 + dependencies: 4667 + postcss: 8.5.6 4668 + postcss-selector-parser: 7.1.0 4669 + postcss-value-parser: 4.2.0 4670 + 4671 + postcss-cli@11.0.1(jiti@2.6.1)(postcss@8.5.6): 4672 + dependencies: 4673 + chokidar: 3.6.0 4674 + dependency-graph: 1.0.0 4675 + fs-extra: 11.3.2 4676 + picocolors: 1.1.1 4677 + postcss: 8.5.6 4678 + postcss-load-config: 5.1.0(jiti@2.6.1)(postcss@8.5.6) 4679 + postcss-reporter: 7.1.0(postcss@8.5.6) 4680 + pretty-hrtime: 1.0.3 4681 + read-cache: 1.0.0 4682 + slash: 5.1.0 4683 + tinyglobby: 0.2.15 4684 + yargs: 17.7.2 4685 + transitivePeerDependencies: 4686 + - jiti 4687 + - tsx 4688 + 4689 + postcss-colormin@7.0.4(postcss@8.5.6): 4690 + dependencies: 4691 + browserslist: 4.26.3 4692 + caniuse-api: 3.0.0 4693 + colord: 2.9.3 4694 + postcss: 8.5.6 4695 + postcss-value-parser: 4.2.0 4696 + 4697 + postcss-convert-values@7.0.7(postcss@8.5.6): 4698 + dependencies: 4699 + browserslist: 4.26.3 4700 + postcss: 8.5.6 4701 + postcss-value-parser: 4.2.0 4702 + 4703 + postcss-discard-comments@7.0.4(postcss@8.5.6): 4704 + dependencies: 4705 + postcss: 8.5.6 4706 + postcss-selector-parser: 7.1.0 4707 + 4708 + postcss-discard-duplicates@7.0.2(postcss@8.5.6): 4709 + dependencies: 4710 + postcss: 8.5.6 4711 + 4712 + postcss-discard-empty@7.0.1(postcss@8.5.6): 4713 + dependencies: 4714 + postcss: 8.5.6 4715 + 4716 + postcss-discard-overridden@7.0.1(postcss@8.5.6): 4717 + dependencies: 4718 + postcss: 8.5.6 4719 + 4720 + postcss-import@16.1.1(postcss@8.5.6): 4721 + dependencies: 4722 + postcss: 8.5.6 4723 + postcss-value-parser: 4.2.0 4724 + read-cache: 1.0.0 4725 + resolve: 1.22.10 4726 + 4727 + postcss-load-config@5.1.0(jiti@2.6.1)(postcss@8.5.6): 4728 + dependencies: 4729 + lilconfig: 3.1.3 4730 + yaml: 2.8.1 4731 + optionalDependencies: 4732 + jiti: 2.6.1 4733 + postcss: 8.5.6 4734 + 4735 + postcss-merge-longhand@7.0.5(postcss@8.5.6): 4736 + dependencies: 4737 + postcss: 8.5.6 4738 + postcss-value-parser: 4.2.0 4739 + stylehacks: 7.0.6(postcss@8.5.6) 4740 + 4741 + postcss-merge-rules@7.0.6(postcss@8.5.6): 4742 + dependencies: 4743 + browserslist: 4.26.3 4744 + caniuse-api: 3.0.0 4745 + cssnano-utils: 5.0.1(postcss@8.5.6) 4746 + postcss: 8.5.6 4747 + postcss-selector-parser: 7.1.0 4748 + 4749 + postcss-minify-font-values@7.0.1(postcss@8.5.6): 4750 + dependencies: 4751 + postcss: 8.5.6 4752 + postcss-value-parser: 4.2.0 4753 + 4754 + postcss-minify-gradients@7.0.1(postcss@8.5.6): 4755 + dependencies: 4756 + colord: 2.9.3 4757 + cssnano-utils: 5.0.1(postcss@8.5.6) 4758 + postcss: 8.5.6 4759 + postcss-value-parser: 4.2.0 4760 + 4761 + postcss-minify-params@7.0.4(postcss@8.5.6): 4762 + dependencies: 4763 + browserslist: 4.26.3 4764 + cssnano-utils: 5.0.1(postcss@8.5.6) 4765 + postcss: 8.5.6 4766 + postcss-value-parser: 4.2.0 4767 + 4768 + postcss-minify-selectors@7.0.5(postcss@8.5.6): 4769 + dependencies: 4770 + cssesc: 3.0.0 4771 + postcss: 8.5.6 4772 + postcss-selector-parser: 7.1.0 4773 + 4774 + postcss-normalize-charset@7.0.1(postcss@8.5.6): 4775 + dependencies: 4776 + postcss: 8.5.6 4777 + 4778 + postcss-normalize-display-values@7.0.1(postcss@8.5.6): 4779 + dependencies: 4780 + postcss: 8.5.6 4781 + postcss-value-parser: 4.2.0 4782 + 4783 + postcss-normalize-positions@7.0.1(postcss@8.5.6): 4784 + dependencies: 4785 + postcss: 8.5.6 4786 + postcss-value-parser: 4.2.0 4787 + 4788 + postcss-normalize-repeat-style@7.0.1(postcss@8.5.6): 4789 + dependencies: 4790 + postcss: 8.5.6 4791 + postcss-value-parser: 4.2.0 4792 + 4793 + postcss-normalize-string@7.0.1(postcss@8.5.6): 4794 + dependencies: 4795 + postcss: 8.5.6 4796 + postcss-value-parser: 4.2.0 4797 + 4798 + postcss-normalize-timing-functions@7.0.1(postcss@8.5.6): 4799 + dependencies: 4800 + postcss: 8.5.6 4801 + postcss-value-parser: 4.2.0 4802 + 4803 + postcss-normalize-unicode@7.0.4(postcss@8.5.6): 4804 + dependencies: 4805 + browserslist: 4.26.3 4806 + postcss: 8.5.6 4807 + postcss-value-parser: 4.2.0 4808 + 4809 + postcss-normalize-url@7.0.1(postcss@8.5.6): 4810 + dependencies: 4811 + postcss: 8.5.6 4812 + postcss-value-parser: 4.2.0 4813 + 4814 + postcss-normalize-whitespace@7.0.1(postcss@8.5.6): 4815 + dependencies: 4816 + postcss: 8.5.6 4817 + postcss-value-parser: 4.2.0 4818 + 4819 + postcss-ordered-values@7.0.2(postcss@8.5.6): 4820 + dependencies: 4821 + cssnano-utils: 5.0.1(postcss@8.5.6) 4822 + postcss: 8.5.6 4823 + postcss-value-parser: 4.2.0 4824 + 4825 + postcss-reduce-initial@7.0.4(postcss@8.5.6): 4826 + dependencies: 4827 + browserslist: 4.26.3 4828 + caniuse-api: 3.0.0 4829 + postcss: 8.5.6 4830 + 4831 + postcss-reduce-transforms@7.0.1(postcss@8.5.6): 4832 + dependencies: 4833 + postcss: 8.5.6 4834 + postcss-value-parser: 4.2.0 4835 + 4836 + postcss-reporter@7.1.0(postcss@8.5.6): 4837 + dependencies: 4838 + picocolors: 1.1.1 4839 + postcss: 8.5.6 4840 + thenby: 1.3.4 4841 + 4842 + postcss-selector-parser@7.1.0: 4843 + dependencies: 4844 + cssesc: 3.0.0 4845 + util-deprecate: 1.0.2 4846 + 4847 + postcss-svgo@7.1.0(postcss@8.5.6): 4848 + dependencies: 4849 + postcss: 8.5.6 4850 + postcss-value-parser: 4.2.0 4851 + svgo: 4.0.0 4852 + 4853 + postcss-unique-selectors@7.0.4(postcss@8.5.6): 4854 + dependencies: 4855 + postcss: 8.5.6 4856 + postcss-selector-parser: 7.1.0 4857 + 4858 + postcss-value-parser@4.2.0: {} 4859 + 4065 4860 postcss@8.5.6: 4066 4861 dependencies: 4067 4862 nanoid: 3.3.11 ··· 4078 4873 ansi-styles: 5.2.0 4079 4874 react-is: 17.0.2 4080 4875 4876 + pretty-hrtime@1.0.3: {} 4877 + 4081 4878 property-information@7.1.0: {} 4082 4879 4083 4880 punycode@2.3.1: {} ··· 4093 4890 4094 4891 react-is@17.0.2: {} 4095 4892 4893 + read-cache@1.0.0: 4894 + dependencies: 4895 + pify: 2.3.0 4896 + 4897 + readdirp@3.6.0: 4898 + dependencies: 4899 + picomatch: 2.3.1 4900 + 4096 4901 readdirp@4.1.2: {} 4097 4902 4098 4903 redent@3.0.0: ··· 4116 4921 dependencies: 4117 4922 jsesc: 3.0.2 4118 4923 4924 + require-directory@2.1.1: {} 4925 + 4119 4926 require-from-string@2.0.2: {} 4120 4927 4121 4928 resolve-from@4.0.0: {} 4122 4929 4123 4930 resolve-pkg-maps@1.0.0: {} 4124 4931 4932 + resolve@1.22.10: 4933 + dependencies: 4934 + is-core-module: 2.16.1 4935 + path-parse: 1.0.7 4936 + supports-preserve-symlinks-flag: 1.0.0 4937 + 4125 4938 reusify@1.1.0: {} 4126 4939 4127 4940 rfdc@1.4.1: {} 4128 4941 4129 - rolldown-plugin-dts@0.16.12(rolldown@1.0.0-beta.43)(typescript@5.9.3): 4942 + rolldown-plugin-dts@0.16.12(rolldown@1.0.0-beta.44)(typescript@5.9.3): 4130 4943 dependencies: 4131 4944 '@babel/generator': 7.28.3 4132 4945 '@babel/parser': 7.28.4 ··· 4137 4950 dts-resolver: 2.1.2 4138 4951 get-tsconfig: 4.12.0 4139 4952 magic-string: 0.30.19 4140 - rolldown: 1.0.0-beta.43 4953 + rolldown: 1.0.0-beta.44 4141 4954 optionalDependencies: 4142 4955 typescript: 5.9.3 4143 4956 transitivePeerDependencies: ··· 4181 4994 '@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.41 4182 4995 '@rolldown/binding-win32-x64-msvc': 1.0.0-beta.41 4183 4996 4184 - rolldown@1.0.0-beta.43: 4997 + rolldown@1.0.0-beta.44: 4185 4998 dependencies: 4186 - '@oxc-project/types': 0.94.0 4187 - '@rolldown/pluginutils': 1.0.0-beta.43 4188 - ansis: 4.2.0 4999 + '@oxc-project/types': 0.95.0 5000 + '@rolldown/pluginutils': 1.0.0-beta.44 4189 5001 optionalDependencies: 4190 - '@rolldown/binding-android-arm64': 1.0.0-beta.43 4191 - '@rolldown/binding-darwin-arm64': 1.0.0-beta.43 4192 - '@rolldown/binding-darwin-x64': 1.0.0-beta.43 4193 - '@rolldown/binding-freebsd-x64': 1.0.0-beta.43 4194 - '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-beta.43 4195 - '@rolldown/binding-linux-arm64-gnu': 1.0.0-beta.43 4196 - '@rolldown/binding-linux-arm64-musl': 1.0.0-beta.43 4197 - '@rolldown/binding-linux-x64-gnu': 1.0.0-beta.43 4198 - '@rolldown/binding-linux-x64-musl': 1.0.0-beta.43 4199 - '@rolldown/binding-openharmony-arm64': 1.0.0-beta.43 4200 - '@rolldown/binding-wasm32-wasi': 1.0.0-beta.43 4201 - '@rolldown/binding-win32-arm64-msvc': 1.0.0-beta.43 4202 - '@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.43 4203 - '@rolldown/binding-win32-x64-msvc': 1.0.0-beta.43 5002 + '@rolldown/binding-android-arm64': 1.0.0-beta.44 5003 + '@rolldown/binding-darwin-arm64': 1.0.0-beta.44 5004 + '@rolldown/binding-darwin-x64': 1.0.0-beta.44 5005 + '@rolldown/binding-freebsd-x64': 1.0.0-beta.44 5006 + '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-beta.44 5007 + '@rolldown/binding-linux-arm64-gnu': 1.0.0-beta.44 5008 + '@rolldown/binding-linux-arm64-musl': 1.0.0-beta.44 5009 + '@rolldown/binding-linux-x64-gnu': 1.0.0-beta.44 5010 + '@rolldown/binding-linux-x64-musl': 1.0.0-beta.44 5011 + '@rolldown/binding-openharmony-arm64': 1.0.0-beta.44 5012 + '@rolldown/binding-wasm32-wasi': 1.0.0-beta.44 5013 + '@rolldown/binding-win32-arm64-msvc': 1.0.0-beta.44 5014 + '@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.44 5015 + '@rolldown/binding-win32-x64-msvc': 1.0.0-beta.44 4204 5016 4205 5017 rrweb-cssom@0.8.0: {} 4206 5018 ··· 4210 5022 4211 5023 safer-buffer@2.1.2: {} 4212 5024 5025 + sax@1.4.1: {} 5026 + 4213 5027 saxes@6.0.0: 4214 5028 dependencies: 4215 5029 xmlchars: 2.2.0 ··· 4238 5052 siginfo@2.0.0: {} 4239 5053 4240 5054 signal-exit@4.1.0: {} 5055 + 5056 + slash@5.1.0: {} 4241 5057 4242 5058 source-map-js@1.2.1: {} 4243 5059 ··· 4293 5109 dependencies: 4294 5110 js-tokens: 9.0.1 4295 5111 5112 + stylehacks@7.0.6(postcss@8.5.6): 5113 + dependencies: 5114 + browserslist: 4.26.3 5115 + postcss: 8.5.6 5116 + postcss-selector-parser: 7.1.0 5117 + 4296 5118 superjson@2.2.2: 4297 5119 dependencies: 4298 5120 copy-anything: 3.0.5 ··· 4301 5123 dependencies: 4302 5124 has-flag: 4.0.0 4303 5125 5126 + supports-preserve-symlinks-flag@1.0.0: {} 5127 + 5128 + svgo@4.0.0: 5129 + dependencies: 5130 + commander: 11.1.0 5131 + css-select: 5.2.2 5132 + css-tree: 3.1.0 5133 + css-what: 6.2.2 5134 + csso: 5.0.5 5135 + picocolors: 1.1.1 5136 + sax: 1.4.1 5137 + 4304 5138 symbol-tree@3.2.4: {} 4305 5139 4306 5140 tabbable@6.2.0: {} ··· 4317 5151 '@istanbuljs/schema': 0.1.3 4318 5152 glob: 10.4.5 4319 5153 minimatch: 9.0.5 5154 + 5155 + thenby@1.3.4: {} 4320 5156 4321 5157 tinybench@2.9.0: {} 4322 5158 ··· 4370 5206 diff: 8.0.2 4371 5207 empathic: 2.0.0 4372 5208 hookable: 5.5.3 4373 - rolldown: 1.0.0-beta.43 4374 - rolldown-plugin-dts: 0.16.12(rolldown@1.0.0-beta.43)(typescript@5.9.3) 5209 + rolldown: 1.0.0-beta.44 5210 + rolldown-plugin-dts: 0.16.12(rolldown@1.0.0-beta.44)(typescript@5.9.3) 4375 5211 semver: 7.7.3 4376 5212 tinyexec: 1.0.1 4377 5213 tinyglobby: 0.2.15 ··· 4438 5274 unist-util-is: 6.0.1 4439 5275 unist-util-visit-parents: 6.0.2 4440 5276 5277 + universalify@2.0.1: {} 5278 + 4441 5279 update-browserslist-db@1.1.3(browserslist@4.26.3): 4442 5280 dependencies: 4443 5281 browserslist: 4.26.3 ··· 4447 5285 uri-js@4.4.1: 4448 5286 dependencies: 4449 5287 punycode: 2.3.1 5288 + 5289 + util-deprecate@1.0.2: {} 4450 5290 4451 5291 vfile-message@4.0.3: 4452 5292 dependencies: ··· 4531 5371 - universal-cookie 4532 5372 - yaml 4533 5373 4534 - vitest@3.2.4(@types/node@24.8.1)(jiti@2.6.1)(jsdom@27.0.0(postcss@8.5.6))(terser@5.44.0)(yaml@2.8.1): 5374 + vitest@3.2.4(@types/node@24.8.1)(jiti@2.6.1)(jsdom@27.0.0)(terser@5.44.0)(yaml@2.8.1): 4535 5375 dependencies: 4536 5376 '@types/chai': 5.2.2 4537 5377 '@vitest/expect': 3.2.4 ··· 4629 5469 4630 5470 xmlchars@2.2.0: {} 4631 5471 5472 + y18n@5.0.8: {} 5473 + 4632 5474 yaml@2.8.1: {} 5475 + 5476 + yargs-parser@21.1.1: {} 5477 + 5478 + yargs@17.7.2: 5479 + dependencies: 5480 + cliui: 8.0.1 5481 + escalade: 3.2.0 5482 + get-caller-file: 2.0.5 5483 + require-directory: 2.1.1 5484 + string-width: 4.2.3 5485 + y18n: 5.0.8 5486 + yargs-parser: 21.1.1 4633 5487 4634 5488 yocto-queue@0.1.0: {} 4635 5489