From 807528a613b90b59c22353b1fc2980fcade2b4ab Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 11 Oct 2026 20:44:16 +0000 Subject: [PATCH] Phase 4: component library The approved element rules and ornament kit as Astro components in packages/ui: buttons, pills, chips, filters, kickers, notices, fields and cards; star paths, the header divider, tick scales and rings, seals and edge seals, gilt corners, dust and placeholder art; the site header, footer and page shell. Brand fonts are self-hosted. A gallery page shows everything, and astro check now runs with the root typecheck. Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_012aSbo2D1qP8cMFQCykf7kx --- .gitignore | 4 + README.md | 6 +- docs/components.md | 79 + package-lock.json | 3877 ++++++++++++++++- package.json | 6 +- packages/ui/astro.config.mjs | 12 + packages/ui/package.json | 25 + packages/ui/src/assets/brand/gk-monogram.svg | 2 + .../ui/src/assets/brand/patiun-glyph-gold.svg | 2 + .../ui/src/assets/brand/patiun-glyph-teal.svg | 2 + .../ui/src/assets/fonts/Cinzel-Bold.woff2 | Bin 0 -> 20932 bytes .../ui/src/assets/fonts/Cinzel-Regular.woff2 | Bin 0 -> 19448 bytes .../ui/src/assets/fonts/Cinzel-SemiBold.woff2 | Bin 0 -> 20984 bytes packages/ui/src/assets/fonts/LICENSE.md | 10 + .../ui/src/assets/fonts/Montserrat-Bold.woff2 | Bin 0 -> 26904 bytes .../src/assets/fonts/Montserrat-Medium.woff2 | Bin 0 -> 26672 bytes .../src/assets/fonts/Montserrat-Regular.woff2 | Bin 0 -> 26408 bytes .../assets/fonts/Montserrat-SemiBold.woff2 | Bin 0 -> 26532 bytes packages/ui/src/assets/icons/alert.svg | 1 + packages/ui/src/assets/icons/animation.svg | 1 + packages/ui/src/assets/icons/arrow-left.svg | 1 + packages/ui/src/assets/icons/arrow-right.svg | 1 + packages/ui/src/assets/icons/bookshelf.svg | 1 + packages/ui/src/assets/icons/brain.svg | 1 + packages/ui/src/assets/icons/briefcase.svg | 1 + packages/ui/src/assets/icons/calendar.svg | 1 + packages/ui/src/assets/icons/castle.svg | 1 + packages/ui/src/assets/icons/chart-bar.svg | 1 + packages/ui/src/assets/icons/chart-line.svg | 1 + packages/ui/src/assets/icons/check.svg | 1 + packages/ui/src/assets/icons/chess.svg | 1 + packages/ui/src/assets/icons/chevron-down.svg | 1 + packages/ui/src/assets/icons/chevron-left.svg | 1 + .../ui/src/assets/icons/chevron-right.svg | 1 + packages/ui/src/assets/icons/clapper.svg | 1 + .../ui/src/assets/icons/clipboard-check.svg | 1 + packages/ui/src/assets/icons/clipboard.svg | 1 + packages/ui/src/assets/icons/clock.svg | 1 + packages/ui/src/assets/icons/close.svg | 1 + packages/ui/src/assets/icons/cloud.svg | 1 + packages/ui/src/assets/icons/cog.svg | 1 + packages/ui/src/assets/icons/commission.svg | 1 + packages/ui/src/assets/icons/contact.svg | 1 + packages/ui/src/assets/icons/cube.svg | 1 + packages/ui/src/assets/icons/devices.svg | 1 + packages/ui/src/assets/icons/dice.svg | 1 + packages/ui/src/assets/icons/dog.svg | 1 + packages/ui/src/assets/icons/external.svg | 1 + packages/ui/src/assets/icons/factory.svg | 1 + packages/ui/src/assets/icons/favorite.svg | 1 + packages/ui/src/assets/icons/film.svg | 1 + packages/ui/src/assets/icons/gallery.svg | 1 + packages/ui/src/assets/icons/gamepad.svg | 1 + packages/ui/src/assets/icons/gauge.svg | 1 + packages/ui/src/assets/icons/gem.svg | 1 + packages/ui/src/assets/icons/graduation.svg | 1 + packages/ui/src/assets/icons/grid.svg | 1 + packages/ui/src/assets/icons/hammer.svg | 1 + packages/ui/src/assets/icons/heart.svg | 1 + packages/ui/src/assets/icons/hearth.svg | 1 + packages/ui/src/assets/icons/home.svg | 1 + packages/ui/src/assets/icons/info.svg | 1 + packages/ui/src/assets/icons/leather.svg | 1 + packages/ui/src/assets/icons/link.svg | 1 + packages/ui/src/assets/icons/list-text.svg | 1 + packages/ui/src/assets/icons/list.svg | 1 + packages/ui/src/assets/icons/location.svg | 1 + packages/ui/src/assets/icons/lock.svg | 1 + packages/ui/src/assets/icons/menu.svg | 1 + packages/ui/src/assets/icons/monitor.svg | 1 + packages/ui/src/assets/icons/our-story.svg | 1 + packages/ui/src/assets/icons/palette.svg | 1 + packages/ui/src/assets/icons/people.svg | 1 + .../ui/src/assets/icons/person-details.svg | 1 + packages/ui/src/assets/icons/person.svg | 1 + packages/ui/src/assets/icons/play.svg | 1 + packages/ui/src/assets/icons/price.svg | 1 + packages/ui/src/assets/icons/print.svg | 1 + packages/ui/src/assets/icons/proxy-cards.svg | 1 + packages/ui/src/assets/icons/robot.svg | 1 + packages/ui/src/assets/icons/round-knife.svg | 1 + packages/ui/src/assets/icons/ruler.svg | 1 + packages/ui/src/assets/icons/scissors.svg | 1 + packages/ui/src/assets/icons/search.svg | 1 + packages/ui/src/assets/icons/server.svg | 1 + packages/ui/src/assets/icons/shapes.svg | 1 + packages/ui/src/assets/icons/shield-moon.svg | 1 + packages/ui/src/assets/icons/shop.svg | 1 + packages/ui/src/assets/icons/split.svg | 1 + packages/ui/src/assets/icons/staff.svg | 1 + packages/ui/src/assets/icons/swords.svg | 1 + packages/ui/src/assets/icons/target.svg | 1 + packages/ui/src/assets/icons/tea.svg | 1 + packages/ui/src/assets/icons/timeline.svg | 1 + packages/ui/src/assets/icons/toolbox.svg | 1 + packages/ui/src/assets/icons/translate.svg | 1 + packages/ui/src/assets/icons/trophy.svg | 1 + packages/ui/src/assets/icons/tv.svg | 1 + packages/ui/src/assets/icons/unavailable.svg | 1 + packages/ui/src/assets/icons/verified.svg | 1 + packages/ui/src/assets/icons/wand.svg | 1 + packages/ui/src/assets/icons/web.svg | 1 + packages/ui/src/assets/icons/wind.svg | 1 + packages/ui/src/assets/icons/wrench.svg | 1 + packages/ui/src/assets/motifs/astrolabe.svg | 2 + .../ui/src/assets/motifs/craft-seal-dice.svg | 2 + .../src/assets/motifs/craft-seal-leather.svg | 2 + .../ui/src/assets/motifs/craft-seal-print.svg | 2 + .../ui/src/assets/motifs/filament-banner.svg | 2 + .../assets/motifs/filament-transmutation.svg | 2 + .../ui/src/assets/motifs/kepler-nest-seal.svg | 2 + .../ui/src/assets/motifs/layered-seal.svg | 2 + .../ui/src/assets/motifs/mini-astrolabe.svg | 1 + .../ui/src/assets/motifs/mini-layered.svg | 2 + packages/ui/src/assets/motifs/mini-tome.svg | 2 + .../src/assets/motifs/mini-transmutation.svg | 2 + .../src/assets/motifs/seven-metals-dipper.svg | 2 + .../src/assets/motifs/squared-circle-seal.svg | 2 + .../motifs/transmutation-seal-star-paths.svg | 2 + .../src/assets/motifs/transmutation-seal.svg | 2 + .../assets/motifs/tria-prima-array-seal.svg | 2 + packages/ui/src/assets/motifs/zodiac-seal.svg | 2 + .../ui/src/assets/ornaments/card-ticks.svg | 1 + packages/ui/src/components/Button.astro | 37 + packages/ui/src/components/Card.astro | 29 + packages/ui/src/components/Chip.astro | 27 + .../ui/src/components/ConstellationDust.astro | 19 + packages/ui/src/components/Divider.astro | 36 + packages/ui/src/components/EdgeSeals.astro | 65 + packages/ui/src/components/Field.astro | 44 + packages/ui/src/components/FilterGroup.astro | 51 + packages/ui/src/components/GiltCorners.astro | 33 + packages/ui/src/components/HeroHorizon.astro | 25 + packages/ui/src/components/Icon.astro | 33 + packages/ui/src/components/Kicker.astro | 18 + packages/ui/src/components/Notice.astro | 24 + packages/ui/src/components/PageShell.astro | 79 + packages/ui/src/components/Seal.astro | 12 + packages/ui/src/components/SearchField.astro | 16 + .../ui/src/components/SectionHeading.astro | 41 + packages/ui/src/components/SiteFooter.astro | 48 + packages/ui/src/components/SiteHeader.astro | 247 ++ packages/ui/src/components/SlotMeter.astro | 49 + packages/ui/src/components/Star.astro | 15 + packages/ui/src/components/StarChartArt.astro | 57 + packages/ui/src/components/StarPath.astro | 38 + packages/ui/src/components/StatusPill.astro | 20 + packages/ui/src/components/TickRing.astro | 48 + packages/ui/src/components/TickScale.astro | 35 + packages/ui/src/components/nav.ts | 19 + packages/ui/src/components/seals.ts | 67 + packages/ui/src/lib/ornaments.ts | 162 + packages/ui/src/pages/index.astro | 272 ++ packages/ui/src/styles/base.css | 89 + packages/ui/src/styles/elements.css | 338 ++ packages/ui/src/styles/fonts.css | 8 + packages/ui/src/styles/tokens.css | 57 + packages/ui/test/ornaments.test.ts | 44 + packages/ui/tsconfig.json | 8 + 159 files changed, 6270 insertions(+), 87 deletions(-) create mode 100644 docs/components.md create mode 100644 packages/ui/astro.config.mjs create mode 100644 packages/ui/package.json create mode 100644 packages/ui/src/assets/brand/gk-monogram.svg create mode 100644 packages/ui/src/assets/brand/patiun-glyph-gold.svg create mode 100644 packages/ui/src/assets/brand/patiun-glyph-teal.svg create mode 100644 packages/ui/src/assets/fonts/Cinzel-Bold.woff2 create mode 100644 packages/ui/src/assets/fonts/Cinzel-Regular.woff2 create mode 100644 packages/ui/src/assets/fonts/Cinzel-SemiBold.woff2 create mode 100644 packages/ui/src/assets/fonts/LICENSE.md create mode 100644 packages/ui/src/assets/fonts/Montserrat-Bold.woff2 create mode 100644 packages/ui/src/assets/fonts/Montserrat-Medium.woff2 create mode 100644 packages/ui/src/assets/fonts/Montserrat-Regular.woff2 create mode 100644 packages/ui/src/assets/fonts/Montserrat-SemiBold.woff2 create mode 100644 packages/ui/src/assets/icons/alert.svg create mode 100644 packages/ui/src/assets/icons/animation.svg create mode 100644 packages/ui/src/assets/icons/arrow-left.svg create mode 100644 packages/ui/src/assets/icons/arrow-right.svg create mode 100644 packages/ui/src/assets/icons/bookshelf.svg create mode 100644 packages/ui/src/assets/icons/brain.svg create mode 100644 packages/ui/src/assets/icons/briefcase.svg create mode 100644 packages/ui/src/assets/icons/calendar.svg create mode 100644 packages/ui/src/assets/icons/castle.svg create mode 100644 packages/ui/src/assets/icons/chart-bar.svg create mode 100644 packages/ui/src/assets/icons/chart-line.svg create mode 100644 packages/ui/src/assets/icons/check.svg create mode 100644 packages/ui/src/assets/icons/chess.svg create mode 100644 packages/ui/src/assets/icons/chevron-down.svg create mode 100644 packages/ui/src/assets/icons/chevron-left.svg create mode 100644 packages/ui/src/assets/icons/chevron-right.svg create mode 100644 packages/ui/src/assets/icons/clapper.svg create mode 100644 packages/ui/src/assets/icons/clipboard-check.svg create mode 100644 packages/ui/src/assets/icons/clipboard.svg create mode 100644 packages/ui/src/assets/icons/clock.svg create mode 100644 packages/ui/src/assets/icons/close.svg create mode 100644 packages/ui/src/assets/icons/cloud.svg create mode 100644 packages/ui/src/assets/icons/cog.svg create mode 100644 packages/ui/src/assets/icons/commission.svg create mode 100644 packages/ui/src/assets/icons/contact.svg create mode 100644 packages/ui/src/assets/icons/cube.svg create mode 100644 packages/ui/src/assets/icons/devices.svg create mode 100644 packages/ui/src/assets/icons/dice.svg create mode 100644 packages/ui/src/assets/icons/dog.svg create mode 100644 packages/ui/src/assets/icons/external.svg create mode 100644 packages/ui/src/assets/icons/factory.svg create mode 100644 packages/ui/src/assets/icons/favorite.svg create mode 100644 packages/ui/src/assets/icons/film.svg create mode 100644 packages/ui/src/assets/icons/gallery.svg create mode 100644 packages/ui/src/assets/icons/gamepad.svg create mode 100644 packages/ui/src/assets/icons/gauge.svg create mode 100644 packages/ui/src/assets/icons/gem.svg create mode 100644 packages/ui/src/assets/icons/graduation.svg create mode 100644 packages/ui/src/assets/icons/grid.svg create mode 100644 packages/ui/src/assets/icons/hammer.svg create mode 100644 packages/ui/src/assets/icons/heart.svg create mode 100644 packages/ui/src/assets/icons/hearth.svg create mode 100644 packages/ui/src/assets/icons/home.svg create mode 100644 packages/ui/src/assets/icons/info.svg create mode 100644 packages/ui/src/assets/icons/leather.svg create mode 100644 packages/ui/src/assets/icons/link.svg create mode 100644 packages/ui/src/assets/icons/list-text.svg create mode 100644 packages/ui/src/assets/icons/list.svg create mode 100644 packages/ui/src/assets/icons/location.svg create mode 100644 packages/ui/src/assets/icons/lock.svg create mode 100644 packages/ui/src/assets/icons/menu.svg create mode 100644 packages/ui/src/assets/icons/monitor.svg create mode 100644 packages/ui/src/assets/icons/our-story.svg create mode 100644 packages/ui/src/assets/icons/palette.svg create mode 100644 packages/ui/src/assets/icons/people.svg create mode 100644 packages/ui/src/assets/icons/person-details.svg create mode 100644 packages/ui/src/assets/icons/person.svg create mode 100644 packages/ui/src/assets/icons/play.svg create mode 100644 packages/ui/src/assets/icons/price.svg create mode 100644 packages/ui/src/assets/icons/print.svg create mode 100644 packages/ui/src/assets/icons/proxy-cards.svg create mode 100644 packages/ui/src/assets/icons/robot.svg create mode 100644 packages/ui/src/assets/icons/round-knife.svg create mode 100644 packages/ui/src/assets/icons/ruler.svg create mode 100644 packages/ui/src/assets/icons/scissors.svg create mode 100644 packages/ui/src/assets/icons/search.svg create mode 100644 packages/ui/src/assets/icons/server.svg create mode 100644 packages/ui/src/assets/icons/shapes.svg create mode 100644 packages/ui/src/assets/icons/shield-moon.svg create mode 100644 packages/ui/src/assets/icons/shop.svg create mode 100644 packages/ui/src/assets/icons/split.svg create mode 100644 packages/ui/src/assets/icons/staff.svg create mode 100644 packages/ui/src/assets/icons/swords.svg create mode 100644 packages/ui/src/assets/icons/target.svg create mode 100644 packages/ui/src/assets/icons/tea.svg create mode 100644 packages/ui/src/assets/icons/timeline.svg create mode 100644 packages/ui/src/assets/icons/toolbox.svg create mode 100644 packages/ui/src/assets/icons/translate.svg create mode 100644 packages/ui/src/assets/icons/trophy.svg create mode 100644 packages/ui/src/assets/icons/tv.svg create mode 100644 packages/ui/src/assets/icons/unavailable.svg create mode 100644 packages/ui/src/assets/icons/verified.svg create mode 100644 packages/ui/src/assets/icons/wand.svg create mode 100644 packages/ui/src/assets/icons/web.svg create mode 100644 packages/ui/src/assets/icons/wind.svg create mode 100644 packages/ui/src/assets/icons/wrench.svg create mode 100644 packages/ui/src/assets/motifs/astrolabe.svg create mode 100644 packages/ui/src/assets/motifs/craft-seal-dice.svg create mode 100644 packages/ui/src/assets/motifs/craft-seal-leather.svg create mode 100644 packages/ui/src/assets/motifs/craft-seal-print.svg create mode 100644 packages/ui/src/assets/motifs/filament-banner.svg create mode 100644 packages/ui/src/assets/motifs/filament-transmutation.svg create mode 100644 packages/ui/src/assets/motifs/kepler-nest-seal.svg create mode 100644 packages/ui/src/assets/motifs/layered-seal.svg create mode 100644 packages/ui/src/assets/motifs/mini-astrolabe.svg create mode 100644 packages/ui/src/assets/motifs/mini-layered.svg create mode 100644 packages/ui/src/assets/motifs/mini-tome.svg create mode 100644 packages/ui/src/assets/motifs/mini-transmutation.svg create mode 100644 packages/ui/src/assets/motifs/seven-metals-dipper.svg create mode 100644 packages/ui/src/assets/motifs/squared-circle-seal.svg create mode 100644 packages/ui/src/assets/motifs/transmutation-seal-star-paths.svg create mode 100644 packages/ui/src/assets/motifs/transmutation-seal.svg create mode 100644 packages/ui/src/assets/motifs/tria-prima-array-seal.svg create mode 100644 packages/ui/src/assets/motifs/zodiac-seal.svg create mode 100644 packages/ui/src/assets/ornaments/card-ticks.svg create mode 100644 packages/ui/src/components/Button.astro create mode 100644 packages/ui/src/components/Card.astro create mode 100644 packages/ui/src/components/Chip.astro create mode 100644 packages/ui/src/components/ConstellationDust.astro create mode 100644 packages/ui/src/components/Divider.astro create mode 100644 packages/ui/src/components/EdgeSeals.astro create mode 100644 packages/ui/src/components/Field.astro create mode 100644 packages/ui/src/components/FilterGroup.astro create mode 100644 packages/ui/src/components/GiltCorners.astro create mode 100644 packages/ui/src/components/HeroHorizon.astro create mode 100644 packages/ui/src/components/Icon.astro create mode 100644 packages/ui/src/components/Kicker.astro create mode 100644 packages/ui/src/components/Notice.astro create mode 100644 packages/ui/src/components/PageShell.astro create mode 100644 packages/ui/src/components/Seal.astro create mode 100644 packages/ui/src/components/SearchField.astro create mode 100644 packages/ui/src/components/SectionHeading.astro create mode 100644 packages/ui/src/components/SiteFooter.astro create mode 100644 packages/ui/src/components/SiteHeader.astro create mode 100644 packages/ui/src/components/SlotMeter.astro create mode 100644 packages/ui/src/components/Star.astro create mode 100644 packages/ui/src/components/StarChartArt.astro create mode 100644 packages/ui/src/components/StarPath.astro create mode 100644 packages/ui/src/components/StatusPill.astro create mode 100644 packages/ui/src/components/TickRing.astro create mode 100644 packages/ui/src/components/TickScale.astro create mode 100644 packages/ui/src/components/nav.ts create mode 100644 packages/ui/src/components/seals.ts create mode 100644 packages/ui/src/lib/ornaments.ts create mode 100644 packages/ui/src/pages/index.astro create mode 100644 packages/ui/src/styles/base.css create mode 100644 packages/ui/src/styles/elements.css create mode 100644 packages/ui/src/styles/fonts.css create mode 100644 packages/ui/src/styles/tokens.css create mode 100644 packages/ui/test/ornaments.test.ts create mode 100644 packages/ui/tsconfig.json diff --git a/.gitignore b/.gitignore index e97e18d..8bbb8ff 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,7 @@ npm-debug.log* !.vscode/settings.json .idea/ data/ + +# Astro build output and generated types +packages/ui/dist/ +packages/ui/.astro/ diff --git a/README.md b/README.md index 167333b..9a3ec68 100644 --- a/README.md +++ b/README.md @@ -14,11 +14,12 @@ with the decisions behind it, is the | `vault-kit` | What goes into the vault: the Obsidian templates (generated from the schema) and the Site guide. | | `services/content` | The content service: watches the Site folder, runs the rules, keeps the last good version and its history, and serves the one write API. The MCP server for agents is part of it. See [docs/content-service.md](docs/content-service.md). | | `services/admin` | The admin page: the review queue with diffs, history and rollback, quick capture, store orders, draft previews and sync health. A client of the content service, on the tailnet only. See [docs/admin.md](docs/admin.md). | +| `packages/ui` | The component library: the approved element rules and ornament kit as Astro components, with the brand fonts, seals and icons, and a gallery page that shows them all. See [docs/components.md](docs/components.md). | | `tools/migrate` | The one-time migration from the old site's data into Site folder notes. | | `docs` | How the pieces fit. Start with [docs/content-model.md](docs/content-model.md). | | `legacy` | The old site, kept for reference only. Nothing outside it imports from it except the migration. | -Coming in later phases: the component library and the new site. +Coming in later phases: the new site's pages, integrations and deploy. ## Commands @@ -26,7 +27,8 @@ Node 22 or newer. ```sh npm install -npm run check # typecheck and tests +npm run check # typecheck (with astro check) and tests +npm run ui # the component gallery at http://localhost:4321 npm run migrate # writes out/24.01_PersonalWebsite and out/MIGRATION-REPORT.md npm run templates # regenerates vault-kit templates after a schema change npm run schema:json # writes a JSON Schema per note type to packages/schema/json/ diff --git a/docs/components.md b/docs/components.md new file mode 100644 index 0000000..a4cecb6 --- /dev/null +++ b/docs/components.md @@ -0,0 +1,79 @@ +# Component library + +`packages/ui` (`@gk/ui`) holds the approved element rules and ornament kit as +Astro components. The site imports them; nothing else defines how a button, +chip or seal looks. The rules come from the design canvas's Element rules and +Ornament kit boards, approved Oct 11. + +Run the gallery with `npm run ui` (or `npm run ui:build` for a static copy in +`packages/ui/dist`). It shows every component inside the real page shell. + +## Layout + +| Path | What it is | +| --- | --- | +| `src/styles/tokens.css` | Colors, fonts, spacing, radii, control sizes and the page width as `--gk-*` variables. | +| `src/styles/fonts.css` | Cinzel and Montserrat, self-hosted as Latin-subset WOFF2 (OFL, see `src/assets/fonts/LICENSE.md`). | +| `src/styles/base.css` | Page defaults: body, headings, body links, the focus ring, `.gk-wrap`, reduced motion. | +| `src/styles/elements.css` | The element rules as global `gk-*` classes, so Markdown output and plain HTML can use them too. | +| `src/lib/ornaments.ts` | The seeded geometry behind star paths, tick scales, tick rings and dust. Tested in `test/ornaments.test.ts`. | +| `src/components/` | The Astro components below. | +| `src/assets/` | Seals and motifs, the monogram, 86 stroke icons, the card tick strip, and the fonts. | + +## Element rules + +| Rule | Component | Notes | +| --- | --- | --- | +| I Buttons | `Button` | `variant` primary (teal pill), secondary (gold hairline) or text (filament underline on hover); `size="compact"` for 36px; `href` makes it a link. One primary per section. | +| II States | `StatusPill` | Round pill. `live` teal with a lit dot, `state` without the dot, `favorite` and `current` gold with a star. | +| II Labels | `Chip` | Square 6px chip. `core` gives the teal edge; `href` makes it a page link led by a violet star. | +| III Filters | `FilterGroup` | Separate 36px pills. Items with `href` are links (`aria-current`); items without are toggle buttons (`aria-pressed`) a page script drives. | +| IV Kickers | `Kicker`, `SectionHeading` | Gold capitals over a tick scale. `SectionHeading` adds the Cinzel heading and the filament underline. | +| IV Notices | `Notice` | The ledger note: soft gold panel, gold rule on the left. | +| V Fields | `Field`, `SearchField` | Input, select or text area in the 10px box, filament across the base on focus, with `hint` and `error` wired to `aria-describedby`. | +| VI Cards | `Card` | Linked cards turn gold on hover with a tick scale along the top. `featured` adds the gold border and gilt corners; one per page. | +| VII Links | (base.css) | Body links are teal and always underlined. | + +Shared: controls are 44px (36px compact), chips 26px, focus is a 2px gold +ring 3px out, disabled is 40% opacity. + +## Ornaments + +| Component | Use | +| --- | --- | +| `Star` | The four-point star. Gold, violet (only ever a star), teal, starlight or outline. | +| `StarPath` | Greg's star path line. `strength` calm, standard or wild; the same `seed` always draws the same path (it defaults to the page path). Two per page at most. | +| `Divider` | The header divider: gold line, large center star, star paths both sides. Header and footer only. | +| `HeroHorizon` | Gold hairline with a violet star, where a hero has no divider. | +| `TickScale` | Astrolabe ticks; with `value` it is a meter. | +| `TickRing` | A tick ring around a step number or small seal; `medallion` adds the disc and glow. | +| `SlotMeter` | Open order slots as stars over a tick meter. | +| `GiltCorners` | Corner brackets for the one featured panel per page. | +| `Seal`, `EdgeSeals` | A seal as an image; `EdgeSeals` places the page family's seal at the page edges at 6 to 7%. | +| `ConstellationDust` | Sparse static specks, about one in five gold. | +| `StarChartArt` | Placeholder art and the fallback for a missing image: star-chart grid, gold mat, a seal. | +| `Icon` | One of the 86 brand icons, in the current text color. | + +Each page family's edge seal is in `src/components/seals.ts` (`pageSeals`): +landing uses transmutation star paths, resume the Kepler nest, work the +squared circle, and so on. A craft page passes its own craft seal. + +## Page shell + +`PageShell` is every page's frame: the head (title, description), dust and +edge seals, `SiteHeader` (nebula, filament banner, the primary nav with the My +world menu, an optional hero in the `hero` slot, the divider), the page +content, and `SiteFooter`. The nav entries live in `src/components/nav.ts`; +pass `current` to mark the page's entry. + +```astro +--- +import PageShell from "@gk/ui/components/PageShell.astro"; +--- + + … + … + +``` + +The site is dark only for now; light mode comes in a later phase. diff --git a/package-lock.json b/package-lock.json index 44fe4d5..6b9ca22 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,6 +20,672 @@ "node": ">=22" } }, + "node_modules/@astrojs/astro2tsx": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@astrojs/astro2tsx/-/astro2tsx-0.1.2.tgz", + "integrity": "sha512-Uj/M9zbrhu5cIZEvWAGTbQJRKSxXWJ/E59BZwt7F+chrKhbfttW+9rkS/l+1QxoJP1KU3UnpM62M7yszfAI0WA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@emnapi/core": "1.11.3", + "@napi-rs/wasm-runtime": "1.2.4" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/check": { + "version": "0.9.10", + "resolved": "https://registry.npmjs.org/@astrojs/check/-/check-0.9.10.tgz", + "integrity": "sha512-zgx/UQMozdjOa3bOxjgeCFdtpE3c9rRX6xHwa+2QXvy8z8Akifu2AtubHyv/zzC2znO8dl8fFWL4K+Ba9kS8HQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@astrojs/language-server": "^2.16.7", + "chokidar": "^4.0.3", + "kleur": "^4.1.5", + "yargs": "^18.0.0" + }, + "bin": { + "astro-check": "bin/astro-check.js" + }, + "peerDependencies": { + "typescript": "^5.0.0 || ^6.0.0" + } + }, + "node_modules/@astrojs/compiler-binding": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding/-/compiler-binding-0.5.1.tgz", + "integrity": "sha512-oczyolLUl9mNrtuBuNjuvn5thpHrFLXAHAWGTRg0JDHQ8cGVsVeFekOu2uSoQGgainJIi+A3/9m0DyYwz3Nlnw==", + "license": "MIT", + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "optionalDependencies": { + "@astrojs/compiler-binding-android-arm64": "0.5.1", + "@astrojs/compiler-binding-darwin-arm64": "0.5.1", + "@astrojs/compiler-binding-darwin-x64": "0.5.1", + "@astrojs/compiler-binding-linux-arm64-gnu": "0.5.1", + "@astrojs/compiler-binding-linux-arm64-musl": "0.5.1", + "@astrojs/compiler-binding-linux-x64-gnu": "0.5.1", + "@astrojs/compiler-binding-linux-x64-musl": "0.5.1", + "@astrojs/compiler-binding-wasm32-wasi": "0.5.1", + "@astrojs/compiler-binding-win32-arm64-msvc": "0.5.1", + "@astrojs/compiler-binding-win32-x64-msvc": "0.5.1" + } + }, + "node_modules/@astrojs/compiler-binding-android-arm64": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-android-arm64/-/compiler-binding-android-arm64-0.5.1.tgz", + "integrity": "sha512-nMb2nMIJtcWLNH+fV75Enmi+jp4tIOYOfsv4XtpgdOWkqc9P4uSSdK5u1xb340AzrXo5V18SxLl/nc3vcqtamQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-binding-darwin-arm64": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-darwin-arm64/-/compiler-binding-darwin-arm64-0.5.1.tgz", + "integrity": "sha512-5k4+nZ/WRt+dcVow4z7rBuI7iv9A58h/uQ91YJe1PrTivbcCkq3u2Ynx/AZJwII4CsZawBCeGpojkFjutZBhBQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-binding-darwin-x64": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-darwin-x64/-/compiler-binding-darwin-x64-0.5.1.tgz", + "integrity": "sha512-0Buw+YST9Ff2EqQyhRMQujuFq/dijLw3zXWhsvI0dJ2pGrT38iVoxTEca2eBX/PfhlwkVWSRJEKO5gMqKHyeHg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-binding-linux-arm64-gnu": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-linux-arm64-gnu/-/compiler-binding-linux-arm64-gnu-0.5.1.tgz", + "integrity": "sha512-x5LRpyCoMKuu3INr18cn42YhwSOaRpp9b5Ny3eJJ/sWVeejC16Zeshu1JlvlSmEZACLeWxU5JM0RX6T6nI+YyA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-binding-linux-arm64-musl": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-linux-arm64-musl/-/compiler-binding-linux-arm64-musl-0.5.1.tgz", + "integrity": "sha512-mL7tQEuDk3rGfaKmrO63nw6WBy1TPVioQGmVyjcAr+C+a/k3SVMYBytNSMqH9mZPT/Swj30JaZ2N842Z1NnOEQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-binding-linux-x64-gnu": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-linux-x64-gnu/-/compiler-binding-linux-x64-gnu-0.5.1.tgz", + "integrity": "sha512-uLGc9jtxwiDe4cQyhNPQim4ECiB/YzbWlXssfLAv8r374kArfTwBHjwR2+j+XVyF71yCx5mF9YNRclRqdNBgeg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-binding-linux-x64-musl": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-linux-x64-musl/-/compiler-binding-linux-x64-musl-0.5.1.tgz", + "integrity": "sha512-G0cywinaQUc8v1MrytvYKUX7svTDMmYtOCZfxjwKPbJi59zIqM+Ll0rWgO0GQWLZH3XoPYo19ZwlP3Xt9ep9YA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-binding-wasm32-wasi": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-wasm32-wasi/-/compiler-binding-wasm32-wasi-0.5.1.tgz", + "integrity": "sha512-yMhLL8asmLydoAdnEZxAw6eLfNDs3YJl6jqn0pjPt6zrb2U5qIDLnii4/twThpIFODKkQ6YDpBRTOz/vSfZCxw==", + "cpu": [ + "wasm32" + ], + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "1.11.3", + "@emnapi/runtime": "1.11.3", + "@napi-rs/wasm-runtime": "^1.2.4" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-binding-win32-arm64-msvc": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-win32-arm64-msvc/-/compiler-binding-win32-arm64-msvc-0.5.1.tgz", + "integrity": "sha512-aClIG6poFt3Wf/bZykrEAX2nAnKvBHW6RXiKUa69QjBtWH0/FOlOAjnFcxRNlhej2AMWNYFx0o+LGjwMcH8P7Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-binding-win32-x64-msvc": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-win32-x64-msvc/-/compiler-binding-win32-x64-msvc-0.5.1.tgz", + "integrity": "sha512-/E6uBCagY70YpWqssBC+/FuniNSloeQPRgj7l3LDWiqjxIyTLnIgX1sTt18FU7jrigetpSnC9cHAM6b6IxSgPw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-rs": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-rs/-/compiler-rs-0.5.1.tgz", + "integrity": "sha512-1k1acnX7DepIiea9U9/Y+d1hdAFfylu1ZQQkkYgRSwBOBAsXInolyZuh/2tax+83vu/A+hOYP6P3+265RvMTvw==", + "license": "MIT", + "dependencies": { + "@astrojs/compiler-binding": "0.5.1" + }, + "engines": { + "node": ">=22.12.0" + } + }, + "node_modules/@astrojs/internal-helpers": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@astrojs/internal-helpers/-/internal-helpers-0.11.0.tgz", + "integrity": "sha512-3rzxJ+xbo0+8YyqOzLziIN32wmsHdCjEVz2sGOpRxJ+Ben/KiLph4ItxBy1abEL+E8fkRzqjg0rfXmaHJGw9JA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.4", + "@types/mdast": "^4.0.4", + "js-yaml": "^4.3.0", + "picomatch": "^4.0.4", + "retext-smartypants": "^6.2.0", + "shiki": "^4.0.2", + "smol-toml": "^1.6.0", + "unified": "^11.0.5" + } + }, + "node_modules/@astrojs/language-server": { + "version": "2.17.2", + "resolved": "https://registry.npmjs.org/@astrojs/language-server/-/language-server-2.17.2.tgz", + "integrity": "sha512-WzqCBYo0RtKrkPLPMnTz2+UOQPosaFhoG/PvoSyPIgBU0BKeS6qeaYv7Rscq7P1LxJdoN0VosQF2h2TZTsIGHg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@astrojs/astro2tsx": "^0.1.2", + "@astrojs/yaml2ts": "^0.2.4", + "@volar/kit": "~2.4.28", + "@volar/language-core": "~2.4.28", + "@volar/language-server": "~2.4.28", + "@volar/language-service": "~2.4.28", + "muggle-string": "^0.4.1", + "tinyglobby": "^0.2.17", + "volar-service-css": "0.0.71", + "volar-service-emmet": "0.0.71", + "volar-service-html": "0.0.71", + "volar-service-prettier": "0.0.71", + "volar-service-typescript": "0.0.71", + "volar-service-typescript-twoslash-queries": "0.0.71", + "volar-service-yaml": "0.0.71", + "vscode-html-languageservice": "^5.6.2", + "vscode-uri": "^3.2.0" + }, + "bin": { + "astro-ls": "bin/nodeServer.js" + }, + "peerDependencies": { + "prettier": "^3.0.0", + "prettier-plugin-astro": ">=0.11.0" + }, + "peerDependenciesMeta": { + "prettier": { + "optional": true + }, + "prettier-plugin-astro": { + "optional": true + } + } + }, + "node_modules/@astrojs/markdown-satteri": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@astrojs/markdown-satteri/-/markdown-satteri-0.4.2.tgz", + "integrity": "sha512-g4QehXnB/MzxQWnSf17NciFInMqEJy9948p8cc7zGg/r7995m0Ln5PMr3Xlnj24iey1LchaoZ3SzTOa3D4P/3w==", + "license": "MIT", + "dependencies": { + "@astrojs/internal-helpers": "0.11.0", + "@astrojs/prism": "4.0.2", + "github-slugger": "^2.0.0", + "satteri": "^0.10.3" + } + }, + "node_modules/@astrojs/prism": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@astrojs/prism/-/prism-4.0.2.tgz", + "integrity": "sha512-KTivpmnz6lDsC6o9H4+DNm2SrE/GHzw8cNAvEJwAvUT+eoaEnn/4NtbDNfRRaxaJHdp15gf+tfHAWiXR4wB3BA==", + "license": "MIT", + "dependencies": { + "prismjs": "^1.30.0" + }, + "engines": { + "node": ">=22.12.0" + } + }, + "node_modules/@astrojs/telemetry": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-3.3.3.tgz", + "integrity": "sha512-C1TLn5sPJr0x4vk56piHWKbnqlEB8BKyte5Y45V02U+D7BGO5eMqZDH5aPjnkXQWJggvmsTXxH03QMZ9NgWLzQ==", + "license": "MIT", + "dependencies": { + "ci-info": "^4.4.0", + "dset": "^3.1.4", + "is-docker": "^4.0.0", + "package-manager-detector": "^1.6.0" + }, + "engines": { + "node": "18.20.8 || ^20.3.0 || >=22.0.0" + } + }, + "node_modules/@astrojs/yaml2ts": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@astrojs/yaml2ts/-/yaml2ts-0.2.4.tgz", + "integrity": "sha512-8oddpOae35pJsXPQXhTkM0ypfKPskVsh2bCxRtbf7e+/Epw2nReakFYpLKjZMEr75CsoF203PMnCocpfz0s69A==", + "dev": true, + "license": "MIT", + "dependencies": { + "yaml": "^2.8.3" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz", + "integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.9", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.9.tgz", + "integrity": "sha512-CjXrNHTnvqBVqHgdBysY3vk2T8tpJHb5/RMeHJBTyVa9xgugCB0CJTx/3oO8RV2QRQP391RWpB7D6hLjm8V9uA==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.8" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.8", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.8.tgz", + "integrity": "sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bruits/satteri-darwin-arm64": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-darwin-arm64/-/satteri-darwin-arm64-0.10.5.tgz", + "integrity": "sha512-27KTVl4TJkVahMy/ohyA7qd4938G5UNneFUz/PsScYfpIhj0IVAS23mpcJXdPF44sa6nva198lmV/cKIb2YPyA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@bruits/satteri-darwin-x64": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-darwin-x64/-/satteri-darwin-x64-0.10.5.tgz", + "integrity": "sha512-IjnLe3nKspq6qaeqGgjT7MT8VrTV74yWRlaag7ZdNsI8TDAYZ0iPxMCo+9KQZHUk5EyVB+reBI/PFWL5KuFw9Q==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@bruits/satteri-linux-arm64-gnu": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-linux-arm64-gnu/-/satteri-linux-arm64-gnu-0.10.5.tgz", + "integrity": "sha512-glkYXZCJywjP13v67eAyAMSJdF+ncvEbYvgi/wOtffL9tQ27lr/zsyzUfgs+ovjJ9d8JNQKiXeiArJcX8PJL9w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@bruits/satteri-linux-arm64-musl": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-linux-arm64-musl/-/satteri-linux-arm64-musl-0.10.5.tgz", + "integrity": "sha512-yWdgG1g17Nh2QyGVlFUxGRa3FEFwiMcpZEyMNWkbM3deC94cmVc+/i9OuyFpdKuWo3GkgoCtYVOoxk1uCnCZIA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@bruits/satteri-linux-x64-gnu": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-linux-x64-gnu/-/satteri-linux-x64-gnu-0.10.5.tgz", + "integrity": "sha512-FVaLoPT1fBgGl0J+AYebyyXJYBachGl8Oyyrf1lye4RTqCB4S0Gwkj1uM9RJyThUOvx5VUmAT1CnNh1SFHA+kw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@bruits/satteri-linux-x64-musl": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-linux-x64-musl/-/satteri-linux-x64-musl-0.10.5.tgz", + "integrity": "sha512-EHpVAx2bqW3GINHTKkljtxVfQmVDGWIuwOYOP5YghTj+0PkBa2o8oKPRtQ9Kbsr1Fye8jtUcDjhwj2jMNugZKg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@bruits/satteri-wasm32-wasi": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-wasm32-wasi/-/satteri-wasm32-wasi-0.10.5.tgz", + "integrity": "sha512-ypz8c/Zmipxp4IoeDa228Gstv6TLzVmNs3yC6wKCoNSOjx1iwpgzu87Y3hTkXFdwChVGU85qeUDuOIarGUZQLw==", + "cpu": [ + "wasm32" + ], + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "1.11.1", + "@emnapi/runtime": "1.11.1", + "@napi-rs/wasm-runtime": "^1.2.3" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@bruits/satteri-wasm32-wasi/node_modules/@emnapi/core": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.11.1.tgz", + "integrity": "sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.2", + "tslib": "^2.4.0" + } + }, + "node_modules/@bruits/satteri-wasm32-wasi/node_modules/@emnapi/runtime": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.11.1.tgz", + "integrity": "sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@bruits/satteri-wasm32-wasi/node_modules/@emnapi/wasi-threads": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.2.tgz", + "integrity": "sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@bruits/satteri-win32-arm64-msvc": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-win32-arm64-msvc/-/satteri-win32-arm64-msvc-0.10.5.tgz", + "integrity": "sha512-siTV88nb0LRqNpkL2gXboqCwVdq95sLtzMHS1/3eONV2gLbB3NAK46wmSMvCO/yquBvI2lvaFIfd8P12ecsxBw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@bruits/satteri-win32-x64-msvc": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-win32-x64-msvc/-/satteri-win32-x64-msvc-0.10.5.tgz", + "integrity": "sha512-C3IfPvfvMXmlzBxaMPKFS1XiuV9pu2mC7YqkPk7PSvTgPZ8gbdASIpHpztDLvTTQjqZ0z1Ol8tK5X+V6XXC0wQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@capsizecss/unpack": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@capsizecss/unpack/-/unpack-4.0.1.tgz", + "integrity": "sha512-CuNiSqg7+e1cO/GjffyMOm5Tt2jUF9CWHHnvQ/UkqvtkGfHdgwEC0wpmq7fkN3gxwpRnrAN0WzO3vREKmNolMQ==", + "license": "MIT", + "dependencies": { + "fontkitten": "^1.0.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@clack/core": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@clack/core/-/core-1.5.1.tgz", + "integrity": "sha512-iHTrHA8MtVuLl2TfZySmcKv1qO2PoyC9Z7pfSDozEuV5vtY3/wcOPKJXlqJ5Oq2Cx5DDGQGAMVx6HZfRRoVEbQ==", + "license": "MIT", + "dependencies": { + "fast-wrap-ansi": "^0.2.0", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 20.12.0" + } + }, + "node_modules/@clack/prompts": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@clack/prompts/-/prompts-1.8.1.tgz", + "integrity": "sha512-dlT1m5e/0yUL0kRNcQn7yGLVThkgbB0Ga/1AmfDDC/8ik6AIiSf2QLQO2zPYvefsHP0aFgxO93cVLCCfDp7kzQ==", + "license": "MIT", + "dependencies": { + "@clack/core": "1.5.1", + "fast-string-width": "^3.0.2", + "fast-wrap-ansi": "^0.2.0", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 20.12.0" + } + }, + "node_modules/@emmetio/abbreviation": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@emmetio/abbreviation/-/abbreviation-2.3.3.tgz", + "integrity": "sha512-mgv58UrU3rh4YgbE/TzgLQwJ3pFsHHhCLqY20aJq+9comytTXUDNGG/SMtSeMJdkpxgXSXunBGLD8Boka3JyVA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@emmetio/scanner": "^1.0.4" + } + }, + "node_modules/@emmetio/css-abbreviation": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@emmetio/css-abbreviation/-/css-abbreviation-2.1.8.tgz", + "integrity": "sha512-s9yjhJ6saOO/uk1V74eifykk2CBYi01STTK3WlXWGOepyKa23ymJ053+DNQjpFcy1ingpaO7AxCcwLvHFY9tuw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@emmetio/scanner": "^1.0.4" + } + }, + "node_modules/@emmetio/css-parser": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@emmetio/css-parser/-/css-parser-0.4.1.tgz", + "integrity": "sha512-2bC6m0MV/voF4CTZiAbG5MWKbq5EBmDPKu9Sb7s7nVcEzNQlrZP6mFFFlIaISM8X6514H9shWMme1fCm8cWAfQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@emmetio/stream-reader": "^2.2.0", + "@emmetio/stream-reader-utils": "^0.1.0" + } + }, + "node_modules/@emmetio/html-matcher": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@emmetio/html-matcher/-/html-matcher-1.3.0.tgz", + "integrity": "sha512-NTbsvppE5eVyBMuyGfVu2CRrLvo7J4YHb6t9sBFLyY03WYhXET37qA4zOYUjBWFCRHO7pS1B9khERtY0f5JXPQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@emmetio/scanner": "^1.0.0" + } + }, + "node_modules/@emmetio/scanner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@emmetio/scanner/-/scanner-1.0.4.tgz", + "integrity": "sha512-IqRuJtQff7YHHBk4G8YZ45uB9BaAGcwQeVzgj/zj8/UdOhtQpEIupUhSk8dys6spFIWVZVeK20CzGEnqR5SbqA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@emmetio/stream-reader": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@emmetio/stream-reader/-/stream-reader-2.2.0.tgz", + "integrity": "sha512-fXVXEyFA5Yv3M3n8sUGT7+fvecGrZP4k6FnWWMSZVQf69kAq0LLpaBQLGcPR30m3zMmKYhECP4k/ZkzvhEW5kw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@emmetio/stream-reader-utils": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@emmetio/stream-reader-utils/-/stream-reader-utils-0.1.0.tgz", + "integrity": "sha512-ZsZ2I9Vzso3Ho/pjZFsmmZ++FWeEd/txqybHTm4OgaZzdS8V9V/YYWQwg5TC38Z7uLWUV1vavpLLbjJtKubR1A==", + "dev": true, + "license": "MIT" + }, + "node_modules/@emnapi/core": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.11.3.tgz", + "integrity": "sha512-zLpS5asjEb7lq8jYLq37N6XKaE41DIexlY1rF/z4/tIl3wo13Sqm28fRyfIsKZD+NZ8mM5RoKkpW/rBcuoSZSg==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@emnapi/wasi-threads": "1.2.3", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.11.3.tgz", + "integrity": "sha512-Xz4Tpyki7XyrpbUK1jR1AhdAdaXyhhY4lZ3neLodmhpuWfy2PAQN5B46sAiU4liOXGLkHypn/qU+jvfWSCYYLA==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.3.tgz", + "integrity": "sha512-ELEBe8PsLvvJ6QMr0zLt8ffvOHW/dc1m3CEzNMg7aJUv3bMaoDtw2TXyDAwkYBuroxxuHEwhRTLJSe5sya547g==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/@esbuild/aix-ppc64": { "version": "0.28.2", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.2.tgz", @@ -452,6 +1118,10 @@ "resolved": "packages/schema", "link": true }, + "node_modules/@gk/ui": { + "resolved": "packages/ui", + "link": true + }, "node_modules/@hono/node-server": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-2.1.4.tgz", @@ -464,6 +1134,507 @@ "hono": "^4 || ^5.0.0-0" } }, + "node_modules/@img/colour": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.1.0.tgz", + "integrity": "sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.35.5.tgz", + "integrity": "sha512-QRUlFQ0WxvdWyqqG/WtI3iupfD5rBzmCHXSdPsY91sAtVtTo7Q4cb6zOccZ3gqEqkr0f1As1ehLqmEpDsRf+lg==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.3.4" + } + }, + "node_modules/@img/sharp-darwin-x64": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.35.5.tgz", + "integrity": "sha512-+BR255RhDlpygUpOc/Jdt1nT6DQ3XG/ERo5wbcdOf5Q320dKtPCKPLR1LJs9VGXRaMa8l1uUa0tkCNOXiAxZUw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.3.4" + } + }, + "node_modules/@img/sharp-freebsd-wasm32": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/@img/sharp-freebsd-wasm32/-/sharp-freebsd-wasm32-0.35.5.tgz", + "integrity": "sha512-Y/z91nEZ4uIBX5X3nfTovjU9lHNKFYbL2lpHCLVNmXQK03VIZvXBBt0KxbPGp2SdGSF+2mQU4e+hQaWOt86iAw==", + "license": "Apache-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "dependencies": { + "@img/sharp-wasm32": "0.35.5" + }, + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.3.4.tgz", + "integrity": "sha512-5R89nBYiRdUlSWJxPhO+GVtaXzXSxKnRu/xqMn3KTA3L9EB9Oy/P+Nn2f2vlhPuUdy/Zusb2DarbyTpGCfEDuw==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.3.4.tgz", + "integrity": "sha512-iR2OKH80yi0U+dUplyh3/xdpFvps6YkCwsXenIJxqxR1v9o+xtKTGbS9H7cps+2Vxjc8B1j96p75NmTGjIhtpQ==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.3.4.tgz", + "integrity": "sha512-LmRtTsOHuvM2+wlO2Db37dx5MiZhB0FvSunciw48YjdOkZz9KAiRbm8ujeMOA1INqmei5NapFxYEK1D1ZSidmw==", + "cpu": [ + "arm" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.3.4.tgz", + "integrity": "sha512-Y3dgX/6lE2QhQb+Gxy0WZxfg9MEm/JBjamZpS2IklP7xIQoKN4hzAm7KcMVGtaVDt3neE9OKBC7vAfonA/Lr1A==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-ppc64": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.3.4.tgz", + "integrity": "sha512-Le6boB8Tai0Nis+gIxIpKx68UDVVIqdR8Tin5Yf1z2LJJQLDJvCDRqRu+jC2qCoD+eIomonmOwB4smBRxfVpYQ==", + "cpu": [ + "ppc64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-riscv64": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.3.4.tgz", + "integrity": "sha512-aHkkIEHPRdQEegJN20MLmGtxYD9R2wQr3Cwpddnu5+YKMt6Uzax7S9h5gpZTo8wyrGuZSlfQ63OevL5mTyOC7Q==", + "cpu": [ + "riscv64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.3.4.tgz", + "integrity": "sha512-ra/mB6MikESDUO7Yg+Mi95bFBb9GsObURuhnOv3OqknjGe9sZrG8tCe9q0xSIGrtLgvgw0gKnFWcK4blSgQOuQ==", + "cpu": [ + "s390x" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.3.4.tgz", + "integrity": "sha512-GJ//SSXbnwSDes02umB3nDJLFcQzw8a18V8fyhqr6tV515tOEMdImjjxj1AoafMRz56F3PHgftnj1QEKSU1zkw==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.3.4.tgz", + "integrity": "sha512-hvulFwtjUcagsis6BBxHwGFwWoNZjgYmULGVrZcyfNbjA8hKILbRxGg15/7w5HDyXHXUos/j6baAWqnCyQ2DWA==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.3.4.tgz", + "integrity": "sha512-6zXKeE/p39I1AmA3cJG35eyBGNqNddLnUXjhwBnsGjFPWqf5VKkDBEqaEkPDoTEtkxwi2vv8Tcr2mDyP4So7Fg==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-linux-arm": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.35.5.tgz", + "integrity": "sha512-LEaXK2WdXVK5ykcw0buWyPMsmLLL2vpHLD6yrNSW+JGEL3BZPA4tpKN6iaMc4AxTTAoaX/sU1rOL51lcIz48ZQ==", + "cpu": [ + "arm" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.3.4" + } + }, + "node_modules/@img/sharp-linux-arm64": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.35.5.tgz", + "integrity": "sha512-LYVx5JTsOM2CBzmxreh+nl64/3H6Xb09iSLknqH47z2T2DFFxDeFLP5y4dJwe6H7uGQlHPyEEtIqyo3DYsRwdQ==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.3.4" + } + }, + "node_modules/@img/sharp-linux-ppc64": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.35.5.tgz", + "integrity": "sha512-QVxAAq8evVRI9ia2vqgwrmWucn5Dfv+JdWzj75pD8omHLPSP7f8p20O8jxzjCcuCEQEOtYOZUmX1hkiZ0kdevA==", + "cpu": [ + "ppc64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-ppc64": "1.3.4" + } + }, + "node_modules/@img/sharp-linux-riscv64": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.35.5.tgz", + "integrity": "sha512-LtdreXguaavKODPIfzJ4kffx7UNt1omwtK0rch4EBbbSTXPnxWmYSayXdLJw0fJzQ97kHt1gL/yh4tvU+nCyRQ==", + "cpu": [ + "riscv64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-riscv64": "1.3.4" + } + }, + "node_modules/@img/sharp-linux-s390x": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.35.5.tgz", + "integrity": "sha512-UZasTOFiYzotTsGOCu42BfUzP6Tu6Do/947iRm1RsLKvlllxwGcn4RN27LibGWceix4Y+Pmw3jsnTcCQIgWjqA==", + "cpu": [ + "s390x" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.3.4" + } + }, + "node_modules/@img/sharp-linux-x64": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.35.5.tgz", + "integrity": "sha512-SxFtLTeJInhAA9Q836kux2vZNeOBQEx658qvbboZScr0wIARym3IcGmW7KpVD5sbVg0Ojy+udFQdayYIZyoNog==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.3.4" + } + }, + "node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.35.5.tgz", + "integrity": "sha512-9HbMclmI1zlNkFRs3z9/eBtDjfD0sGlrX1z6b1qwmiFY5ElDLh4BC0LPBdVp7z1DXFiKlIcznf+ZlsuZzLxQqg==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.3.4" + } + }, + "node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.35.5.tgz", + "integrity": "sha512-4KOphqB035HrVdqLZfCgMzzERrQkkzOwRhl4OAkRO1YCldbaFjySXMaK534Mo0V+LndnlJk+sbUyLeU0ULyD1A==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.3.4" + } + }, + "node_modules/@img/sharp-wasm32": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.35.5.tgz", + "integrity": "sha512-Ptsga1su4tQx+LLF1ECS9U6nz5kmrXKo6XVbtR48Ke3ZRxxgaWBu7IDtEe1quo8hiupwm6WFqxVlXaSf7IINGQ==", + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", + "optional": true, + "dependencies": { + "@emnapi/runtime": "^1.11.3" + }, + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-webcontainers-wasm32": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/@img/sharp-webcontainers-wasm32/-/sharp-webcontainers-wasm32-0.35.5.tgz", + "integrity": "sha512-hfhF/FmoQyTUkA0bIKFOtw536BQSeBMe6BF6QyWlrPxT754+TFLaZ7sKKTfvvM0yJgKgaYTwnFCIZ/GuDw5SUA==", + "cpu": [ + "wasm32" + ], + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@img/sharp-wasm32": "0.35.5" + }, + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-arm64": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.35.5.tgz", + "integrity": "sha512-X4t7g+7ZA5DKblCBEXGjUqqemj4vczING/5viFwAL8h4N3qYeyjwdCvRLHi4EdOUI+2Z7UFlp1VM+p/AuEtm6Q==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-ia32": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.35.5.tgz", + "integrity": "sha512-5Zm82LoBc43nhwNybZlG7Y1KO//Zhsn306fQl29ZOuStHLGTo3BWL83q3cznX0poxSAMuYL1On/BHBxkBeKr6A==", + "cpu": [ + "ia32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-x64": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.35.5.tgz", + "integrity": "sha512-x76eH0vEiHlcMQu8Y8IenntaACtddpT6W0wmXtWrnKcnKI7ME5DdgqhAD6SEWOEl1v2zDvkZDhFA9KnURwpfqg==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, "node_modules/@jridgewell/resolve-uri": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", @@ -478,7 +1649,6 @@ "version": "1.6.0", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.6.0.tgz", "integrity": "sha512-T7jf+5zgsZHwNJ4lvQ7/aezbyk0nNX+zJVWpmHA7VYsEx7a7qr5Rg5IbtJFqkgze5Y2sruq1RUY8Q837Od7iFw==", - "dev": true, "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { @@ -532,13 +1702,38 @@ } } }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.2.4.tgz", + "integrity": "sha512-AJxoUD2/15ESHbvpcyjU274nsAPLuOtPHCk0vKJM5pj//Fg/B1FXNWjPnXTT9PymCYYiHo4zPj0ZomXBKhoy7g==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@tybys/wasm-util": "^0.10.3" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=23.5.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1 || ^2.0.0-alpha.4", + "@emnapi/runtime": "^1.7.1 || ^2.0.0-alpha.4" + } + }, + "node_modules/@oslojs/encoding": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@oslojs/encoding/-/encoding-1.1.0.tgz", + "integrity": "sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==", + "license": "MIT" + }, "node_modules/@oxc-project/types": { "version": "0.153.0", "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.153.0.tgz", "integrity": "sha512-jSNrRIyvPVLL5E1z/tS5zLAprosGz/FuI1PWwEOz59j3E4TTTzSpqKb/RDGqJhhW0QHYISGXxq582wGx6T11Tw==", - "dev": true, "license": "MIT", - "peer": true, "funding": { "url": "https://github.com/sponsors/oxc-project" } @@ -550,13 +1745,11 @@ "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ "android" ], - "peer": true, "engines": { "node": "^20.19.0 || >=22.12.0" } @@ -568,13 +1761,11 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ "android" ], - "peer": true, "engines": { "node": "^20.19.0 || >=22.12.0" } @@ -586,13 +1777,11 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ "darwin" ], - "peer": true, "engines": { "node": "^20.19.0 || >=22.12.0" } @@ -604,13 +1793,11 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ "darwin" ], - "peer": true, "engines": { "node": "^20.19.0 || >=22.12.0" } @@ -622,13 +1809,11 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ "freebsd" ], - "peer": true, "engines": { "node": "^20.19.0 || >=22.12.0" } @@ -640,13 +1825,11 @@ "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ "linux" ], - "peer": true, "engines": { "node": "^20.19.0 || >=22.12.0" } @@ -658,13 +1841,11 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ "linux" ], - "peer": true, "engines": { "node": "^20.19.0 || >=22.12.0" } @@ -676,13 +1857,11 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ "linux" ], - "peer": true, "engines": { "node": "^20.19.0 || >=22.12.0" } @@ -694,13 +1873,11 @@ "cpu": [ "ppc64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ "linux" ], - "peer": true, "engines": { "node": "^20.19.0 || >=22.12.0" } @@ -712,13 +1889,11 @@ "cpu": [ "s390x" ], - "dev": true, "license": "MIT", "optional": true, "os": [ "linux" ], - "peer": true, "engines": { "node": "^20.19.0 || >=22.12.0" } @@ -730,13 +1905,11 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ "linux" ], - "peer": true, "engines": { "node": "^20.19.0 || >=22.12.0" } @@ -748,13 +1921,11 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ "linux" ], - "peer": true, "engines": { "node": "^20.19.0 || >=22.12.0" } @@ -766,13 +1937,11 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ "openharmony" ], - "peer": true, "engines": { "node": "^20.19.0 || >=22.12.0" } @@ -784,13 +1953,11 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ "win32" ], - "peer": true, "engines": { "node": "^20.19.0 || >=22.12.0" } @@ -802,13 +1969,11 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ "win32" ], - "peer": true, "engines": { "node": "^20.19.0 || >=22.12.0" } @@ -817,9 +1982,117 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.1.tgz", "integrity": "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==", - "dev": true, + "license": "MIT" + }, + "node_modules/@shikijs/core": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-4.5.0.tgz", + "integrity": "sha512-6CIgwq+bt2JZ3OSjb/nBkkwEf/CfpHcbam+Mg5Pllco7HAGRQ2/EFhZrrJtbyNTgKwknfVS+llsXGygiDGwJWw==", "license": "MIT", - "peer": true + "dependencies": { + "@shikijs/primitive": "4.5.0", + "@shikijs/types": "4.5.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.5", + "hast-util-to-html": "^9.0.5" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/engine-javascript": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-4.5.0.tgz", + "integrity": "sha512-Ed6UdEj84LyYkwnxM5CvSMWAD+id9ExTYri0/+x41U9zrgNifPSS9lZm0JqBP0VfYI8yr8tY5nbNq9+p9R0kFA==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.5.0", + "@shikijs/vscode-textmate": "^10.0.2", + "oniguruma-to-es": "^4.3.6" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/engine-oniguruma": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-4.5.0.tgz", + "integrity": "sha512-dKVmbJecVdB9recl8a/CU4jdpNXyjJQrIcesIkpS70s5HS02ohpnCSpMUbotPnEUzbAcLQ+S4hwZYbkBBiTcJw==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.5.0", + "@shikijs/vscode-textmate": "^10.0.2" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/langs": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-4.5.0.tgz", + "integrity": "sha512-wwBTqwduXSz0X4v9Qa2EWeFaYJEw1clCncWjoRNQRbVDu3SPRTRWucnouYapKj3b8Q+sk/41Vbc4B5c8nuYzLA==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.5.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/primitive": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@shikijs/primitive/-/primitive-4.5.0.tgz", + "integrity": "sha512-UM7ShlA8oz0OWxLLO8BmO9Ip6fVqdkt8yF0EH7nOCqHfrx1eEAzF0ZUVK7L+I8NEgeu1PEWSRlxaiPPeCb4iDg==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.5.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.5" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/themes": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-4.5.0.tgz", + "integrity": "sha512-zGb87H3UBbpuI4yoh5UguB1XbU+2BDU3kflM7UfZ+Cy2hWo9lBtqjSVK20gmLY6ukYl040hAypGXMgud9vul8Q==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.5.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/types": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-4.5.0.tgz", + "integrity": "sha512-drtPrtD8N0DENyD2cyt6Ajy+IWsiCLgMxODwLTpvH1UsN6a9jf90tNTPjqwHvA+0Lzu9e0txk8DjfqH1p9UJRw==", + "license": "MIT", + "dependencies": { + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.5" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/vscode-textmate": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz", + "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==", + "license": "MIT" + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.4.tgz", + "integrity": "sha512-W3c4gRigFS0T/Ma4qIYF3GDAc5AQdHb1yL5znJT1Zv1YaD9Kitx656wBjvr19qbiosmZT8lWDM5BEMynUqX65A==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.4.0" + } }, "node_modules/@types/chai": { "version": "5.2.3", @@ -843,19 +2116,66 @@ "version": "1.0.9", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", - "dev": true, "license": "MIT" }, + "node_modules/@types/estree-jsx": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", + "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/hast": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.5.tgz", + "integrity": "sha512-rp/ezSWaD1m44dPKICGhiskI13nVr7qTloFwDa/IYkhhf5nzwP+zIQcIJh3WIFSBOy/H1PzB40jPjMDksN4F+g==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/nlcst": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/nlcst/-/nlcst-2.0.3.tgz", + "integrity": "sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, "node_modules/@types/node": { "version": "22.20.5", "resolved": "https://registry.npmjs.org/@types/node/-/node-22.20.5.tgz", "integrity": "sha512-U2+DNr+wSjpsTS/wZGYHq7GcwfuSmKiKvoPvK22zwTlRhU91yOniN4qRR5KhIjvif7ysw/dz/hKmfDH0Ris4aA==", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "undici-types": "~6.21.0" } }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/@ungap/structured-clone": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.4.0.tgz", + "integrity": "sha512-1mEZtMKPM09vDmQt5y7YvmN2+DFTP7Tg0EWXdic8/C6VRnpb33e4ghisCIE3WZjsE2N8mf+QV1Zqh7ZFYLWInQ==", + "license": "ISC" + }, "node_modules/@vitest/mocker": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-5.0.3.tgz", @@ -894,6 +2214,111 @@ "url": "https://opencollective.com/vitest" } }, + "node_modules/@volar/kit": { + "version": "2.4.28", + "resolved": "https://registry.npmjs.org/@volar/kit/-/kit-2.4.28.tgz", + "integrity": "sha512-cKX4vK9dtZvDRaAzeoUdaAJEew6IdxHNCRrdp5Kvcl6zZOqb6jTOfk3kXkIkG3T7oTFXguEMt5+9ptyqYR84Pg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-service": "2.4.28", + "@volar/typescript": "2.4.28", + "typesafe-path": "^0.2.2", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "typescript": "*" + } + }, + "node_modules/@volar/language-core": { + "version": "2.4.28", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.28.tgz", + "integrity": "sha512-w4qhIJ8ZSitgLAkVay6AbcnC7gP3glYM3fYwKV3srj8m494E3xtrCv6E+bWviiK/8hs6e6t1ij1s2Endql7vzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/source-map": "2.4.28" + } + }, + "node_modules/@volar/language-server": { + "version": "2.4.28", + "resolved": "https://registry.npmjs.org/@volar/language-server/-/language-server-2.4.28.tgz", + "integrity": "sha512-NqcLnE5gERKuS4PUFwlhMxf6vqYo7hXtbMFbViXcbVkbZ905AIVWhnSo0ZNBC2V127H1/2zP7RvVOVnyITFfBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "2.4.28", + "@volar/language-service": "2.4.28", + "@volar/typescript": "2.4.28", + "path-browserify": "^1.0.1", + "request-light": "^0.7.0", + "vscode-languageserver": "^9.0.1", + "vscode-languageserver-protocol": "^3.17.5", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/@volar/language-service": { + "version": "2.4.28", + "resolved": "https://registry.npmjs.org/@volar/language-service/-/language-service-2.4.28.tgz", + "integrity": "sha512-Rh/wYCZJrI5vCwMk9xyw/Z+MsWxlJY1rmMZPsxUoJKfzIRjS/NF1NmnuEcrMbEVGja00aVpCsInJfixQTMdvLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "2.4.28", + "vscode-languageserver-protocol": "^3.17.5", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/@volar/source-map": { + "version": "2.4.28", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.28.tgz", + "integrity": "sha512-yX2BDBqJkRXfKw8my8VarTyjv48QwxdJtvRgUpNE5erCsgEUdI2DsLbpa+rOQVAJYshY99szEcRDmyHbF10ggQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@volar/typescript": { + "version": "2.4.28", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.28.tgz", + "integrity": "sha512-Ja6yvWrbis2QtN4ClAKreeUZPVYMARDYZl9LMEv1iQ1QdepB6wn0jTRxA9MftYmYa4DQ4k/DaSZpFPUfxl8giw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "2.4.28", + "path-browserify": "^1.0.1", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/@vscode/emmet-helper": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/@vscode/emmet-helper/-/emmet-helper-2.11.0.tgz", + "integrity": "sha512-QLxjQR3imPZPQltfbWRnHU6JecWTF1QSWhx3GAKQpslx7y3Dp6sIIXhKjiUJ/BR9FX8PVthjr9PD6pNwOJfAzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "emmet": "^2.4.3", + "jsonc-parser": "^2.3.0", + "vscode-languageserver-textdocument": "^1.0.1", + "vscode-languageserver-types": "^3.15.1", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/@vscode/emmet-helper/node_modules/jsonc-parser": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-2.3.1.tgz", + "integrity": "sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vscode/l10n": { + "version": "0.0.18", + "resolved": "https://registry.npmjs.org/@vscode/l10n/-/l10n-0.0.18.tgz", + "integrity": "sha512-KYSIHVmslkaCDyw013pphY+d7x1qV8IZupYfeIfzNA+nsaWHbn5uPuQRvdRFsa9zFzGeudPuoGoZ1Op4jrJXIQ==", + "dev": true, + "license": "MIT" + }, "node_modules/accepts": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", @@ -923,6 +2348,21 @@ "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/ajv-draft-04": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz", + "integrity": "sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "ajv": "^8.5.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, "node_modules/ajv-formats": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", @@ -940,6 +2380,94 @@ } } }, + "node_modules/ajv-i18n": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/ajv-i18n/-/ajv-i18n-4.2.0.tgz", + "integrity": "sha512-v/ei2UkCEeuKNXh8RToiFsUclmU+G57LO1Oo22OagNMENIw+Yb8eMwvHu7Vn9fmkjJyv6XclhJ8TbuigSglPkg==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "ajv": "^8.0.0-beta.0" + } + }, + "node_modules/am-i-vibing": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/am-i-vibing/-/am-i-vibing-0.4.0.tgz", + "integrity": "sha512-MxT4XZL7pzLHpuvhDKdMaQHMGGkJDLluKBLsbstn+8wv9sWcFT6h+0ve9qkml95amVTZtZV83gQe2hY+ojgHLg==", + "license": "MIT", + "dependencies": { + "process-ancestry": "^0.1.0" + }, + "bin": { + "am-i-vibing": "dist/cli.mjs" + } + }, + "node_modules/ansi-regex": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.4.0.tgz", + "integrity": "sha512-KzTVk2tCWAHtYrvvvaP8bJKJq2pVinhLcGEQdtLIYPbmNGNyYe8QwNaTUYQp2J7/vIsUKt5QCqAfUkYyG9DkOw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" + }, + "node_modules/aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/assertion-error": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", @@ -950,6 +2478,135 @@ "node": ">=12" } }, + "node_modules/astro": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/astro/-/astro-7.3.5.tgz", + "integrity": "sha512-1p/ernaq/RuESbM5NMjWzbO6SiebMGrGcYlGjMfBhzzgM+n/X7AUmVyw8BqW2QYCdivpsHwJBcD1fqmlTZjZHg==", + "license": "MIT", + "dependencies": { + "@astrojs/compiler-rs": "^0.5.0", + "@astrojs/internal-helpers": "0.11.0", + "@astrojs/markdown-satteri": "0.4.2", + "@astrojs/telemetry": "3.3.3", + "@capsizecss/unpack": "^4.0.0", + "@clack/prompts": "^1.1.0", + "@oslojs/encoding": "^1.1.0", + "am-i-vibing": "^0.4.0", + "aria-query": "^5.3.2", + "axobject-query": "^4.1.0", + "ci-info": "^4.4.0", + "clsx": "^2.1.1", + "common-ancestor-path": "^2.0.0", + "cookie": "^2.0.1", + "devalue": "^5.8.1", + "diff": "^9.0.0", + "dset": "^3.1.4", + "es-module-lexer": "^2.0.0", + "esbuild": "^0.28.0", + "find-proc": "0.2.0", + "flattie": "^1.1.1", + "fontace": "~0.4.1", + "get-tsconfig": "5.0.0-beta.4", + "github-slugger": "^2.0.0", + "html-escaper": "3.0.3", + "http-cache-semantics": "^4.2.0", + "js-yaml": "^4.3.2", + "jsonc-parser": "^3.3.1", + "magic-string": "^1.0.0", + "magicast": "^0.5.2", + "mrmime": "^2.0.1", + "neotraverse": "^1.0.1", + "obug": "^3.0.0", + "p-limit": "^7.3.0", + "p-queue": "^9.1.0", + "package-manager-detector": "^1.6.0", + "piccolore": "^0.1.3", + "picomatch": "^4.0.4", + "shiki": "^4.0.2", + "smol-toml": "^1.8.0", + "svgo": "^4.1.0", + "tinyclip": "^1.0.1", + "tinyexec": "^1.0.4", + "tinyglobby": "^0.2.15", + "ultrahtml": "^1.6.0", + "unifont": "~0.7.5", + "unstorage": "^1.17.5", + "verkit": "^0.4.0", + "vite": "^8.0.13", + "vitefu": "^1.1.2", + "xxhash-wasm": "^1.1.0", + "yargs-parser": "^22.0.0", + "zod": "^4.5.4" + }, + "bin": { + "astro": "bin/astro.mjs" + }, + "engines": { + "node": ">=22.12.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/astrodotbuild" + }, + "optionalDependencies": { + "sharp": "^0.35.4" + }, + "peerDependencies": { + "@astrojs/markdown-remark": "^7.3.0" + }, + "peerDependenciesMeta": { + "@astrojs/markdown-remark": { + "optional": true + } + } + }, + "node_modules/astro/node_modules/cookie": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-2.0.1.tgz", + "integrity": "sha512-yuToqVvRrj6pfDXREyQAAv8SkAEk/8GS3jQRTiUMm66TVtBYmqQeoEjL2Lmq8Rpo6271vH76InTChTitEAm65w==", + "license": "MIT", + "engines": { + "node": ">=22" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/astro/node_modules/obug": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/obug/-/obug-3.0.0.tgz", + "integrity": "sha512-5vvB5+W7ePv+p3uqxi+RcW1XAzLW0/hxt3/4X4Lc4qHudzOhmBiBwOY6DRob4WnanAEGvNcLjF+KNOufrUoEQw==", + "funding": [ + "https://github.com/sponsors/sxzz", + "https://opencollective.com/debug" + ], + "license": "MIT", + "engines": { + "node": ">=12.20.0" + } + }, + "node_modules/axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/body-parser": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.3.0.tgz", @@ -987,6 +2644,12 @@ "url": "https://opencollective.com/express" } }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "license": "ISC" + }, "node_modules/bytes": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", @@ -1025,6 +2688,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/chai": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/chai/-/chai-6.3.0.tgz", @@ -1035,6 +2708,127 @@ "node": ">=18" } }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/ci-info": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.4.0.tgz", + "integrity": "sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-9.0.1.tgz", + "integrity": "sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^7.2.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/cliui/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/commander": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "node_modules/common-ancestor-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-2.0.0.tgz", + "integrity": "sha512-dnN3ibLeoRf2HNC+OlCiNc5d2zxbLJXOtiZUudNFSXZrNSydxcCsSpRzXwfu7BBWCIfHPw+xTayeBvJCP/D8Ng==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">= 18" + } + }, "node_modules/content-disposition": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-2.0.1.tgz", @@ -1066,6 +2860,12 @@ "node": ">= 0.6" } }, + "node_modules/cookie-es": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-1.2.3.tgz", + "integrity": "sha512-lXVyvUvrNXblMqzIRrxHb57UUVmqsSWlxqt3XIjCkUP0wDAf6uicO6KMbEgYrMNtEvWgWHwe42CKxPu9MYAnWw==", + "license": "MIT" + }, "node_modules/cookie-signature": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", @@ -1106,6 +2906,89 @@ "node": ">= 8" } }, + "node_modules/crossws": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/crossws/-/crossws-0.3.5.tgz", + "integrity": "sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==", + "license": "MIT", + "dependencies": { + "uncrypto": "^0.1.3" + } + }, + "node_modules/css-select": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-6.0.0.tgz", + "integrity": "sha512-rZZVSLle8v0+EY8QAkDWrKhpgt6SA5OtHsgBnsj6ZaLb5dmDVOWUDtQitd9ydxxvEjhewNudS6eTVU7uOyzvXw==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^7.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.2.2", + "nth-check": "^2.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-tree": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.2.1.tgz", + "integrity": "sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.27.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css-what": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-7.0.0.tgz", + "integrity": "sha512-wD5oz5xibMOPHzy13CyGmogB3phdvcDaB5t0W/Nr5Z2O/agcB8YwOz6e2Lsp10pNDzBoDO9nVa3RGs/2BttpHQ==", + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "license": "MIT", + "dependencies": { + "css-tree": "~2.2.0" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "license": "CC0-1.0" + }, "node_modules/debug": { "version": "4.4.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", @@ -1123,6 +3006,12 @@ } } }, + "node_modules/defu": { + "version": "6.1.7", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.7.tgz", + "integrity": "sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ==", + "license": "MIT" + }, "node_modules/depd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", @@ -1132,17 +3021,122 @@ "node": ">= 0.8" } }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/destr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.5.tgz", + "integrity": "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==", + "license": "MIT" + }, "node_modules/detect-libc": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", - "dev": true, "license": "Apache-2.0", - "peer": true, "engines": { "node": ">=8" } }, + "node_modules/devalue": { + "version": "5.9.4", + "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.9.4.tgz", + "integrity": "sha512-sPAT4pztbu6586/hrhOnMKS17IJrvg12mXiSPSS3W5qDeN2RGgvZ0diZCm31dBbnevfVmujNO3IM2wrS4Y2Rhg==", + "license": "MIT" + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/diff": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-9.0.0.tgz", + "integrity": "sha512-svtcdpS8CgJyqAjEQIXdb3OjhFVVYjzGAPO8WGCmRbrml64SPw/jJD4GoE98aR7r25A0XcgrK3F02yw9R/vhQw==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dset": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.4.tgz", + "integrity": "sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/dunder-proto": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", @@ -1163,6 +3157,30 @@ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", "license": "MIT" }, + "node_modules/emmet": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/emmet/-/emmet-2.4.11.tgz", + "integrity": "sha512-23QPJB3moh/U9sT4rQzGgeyyGIrcM+GH5uVYg2C6wZIxAIJq7Ng3QLT79tl8FUwDXhyq9SusfknOrofAKqvgyQ==", + "dev": true, + "license": "MIT", + "workspaces": [ + "./packages/scanner", + "./packages/abbreviation", + "./packages/css-abbreviation", + "./" + ], + "dependencies": { + "@emmetio/abbreviation": "^2.3.3", + "@emmetio/css-abbreviation": "^2.1.8" + } + }, + "node_modules/emoji-regex": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz", + "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==", + "dev": true, + "license": "MIT" + }, "node_modules/encodeurl": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", @@ -1172,6 +3190,18 @@ "node": ">= 0.8" } }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/es-define-property": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", @@ -1194,7 +3224,6 @@ "version": "2.3.2", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.3.2.tgz", "integrity": "sha512-poHGpORABojJJucnV9KbOavETW8lBVnphkW77ER5/BQ5Fz7oXSoCNek7IH3vR5nRjdsEz926ibFYX8KtLQmdyw==", - "dev": true, "license": "MIT" }, "node_modules/es-object-atoms": { @@ -1250,6 +3279,16 @@ "@esbuild/win32-x64": "0.28.2" } }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", @@ -1275,6 +3314,12 @@ "node": ">= 0.6" } }, + "node_modules/eventemitter3": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.4.tgz", + "integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==", + "license": "MIT" + }, "node_modules/eventsource": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-3.0.7.tgz", @@ -1381,12 +3426,33 @@ "url": "https://opencollective.com/express" } }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "license": "MIT" + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "license": "MIT" }, + "node_modules/fast-string-truncated-width": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fast-string-truncated-width/-/fast-string-truncated-width-3.0.3.tgz", + "integrity": "sha512-0jjjIEL6+0jag3l2XWWizO64/aZVtpiGE3t0Zgqxv0DPuxiMjvB3M24fCyhZUO4KomJQPj3LTSUnDP3GpdwC0g==", + "license": "MIT" + }, + "node_modules/fast-string-width": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/fast-string-width/-/fast-string-width-3.0.2.tgz", + "integrity": "sha512-gX8LrtNEI5hq8DVUfRQMbr5lpaS4nMIWV+7XEbXk2b8kiQIizgnlr12B4dA3ZEx3308ze0O4Q1R+cHts8kyUJg==", + "license": "MIT", + "dependencies": { + "fast-string-truncated-width": "^3.0.2" + } + }, "node_modules/fast-uri": { "version": "3.1.8", "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.8.tgz", @@ -1403,11 +3469,19 @@ ], "license": "BSD-3-Clause" }, + "node_modules/fast-wrap-ansi": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/fast-wrap-ansi/-/fast-wrap-ansi-0.2.2.tgz", + "integrity": "sha512-7F2Fl+TjRSenLqlU3UjSH0iyqopqoZIu7eZVpEirP2g1GtWa2G/ecEmBdgz31+Mxr+ELclgg6sokpSFIQiZ02Q==", + "license": "MIT", + "dependencies": { + "fast-string-width": "^3.0.2" + } + }, "node_modules/fdir": { "version": "6.5.0", "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", - "dev": true, "license": "MIT", "engines": { "node": ">=12.0.0" @@ -1442,6 +3516,45 @@ "url": "https://opencollective.com/express" } }, + "node_modules/find-proc": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/find-proc/-/find-proc-0.2.0.tgz", + "integrity": "sha512-a6h2nTrgB3g5Wrn4au9Ux4kMk7IJtyF6oA8uGn+mk3weLZssUtc1cp6meHIzzuW2o1srrBAxzkmXLbqjRkgB6w==", + "license": "MIT", + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/flattie": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flattie/-/flattie-1.1.1.tgz", + "integrity": "sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/fontace": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/fontace/-/fontace-0.4.1.tgz", + "integrity": "sha512-lDMvbAzSnHmbYMTEld5qdtvNH2/pWpICOqpean9IgC7vUbUJc3k+k5Dokp85CegamqQpFbXf0rAVkbzpyTA8aw==", + "license": "MIT", + "dependencies": { + "fontkitten": "^1.0.2" + } + }, + "node_modules/fontkitten": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fontkitten/-/fontkitten-1.0.3.tgz", + "integrity": "sha512-Wp1zXWPVUPBmfoa3Cqc9ctaKuzKAV6uLstRqlR56kSjplf5uAce+qeyYym7F+PHbGTk+tCEdkCW6RD7DX/gBZw==", + "license": "MIT", + "dependencies": { + "tiny-inflate": "^1.0.3" + }, + "engines": { + "node": ">=20" + } + }, "node_modules/forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -1483,6 +3596,29 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-east-asian-width": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.7.0.tgz", + "integrity": "sha512-XjH1AECxf0giL2V1aU8vKyRR2ppRUb5c0EvT7zuJTokQ74bNo52zOtghqdWIqrhUD79fo3x0WfKZdOqxF6LG1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/get-intrinsic": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", @@ -1520,6 +3656,27 @@ "node": ">= 0.4" } }, + "node_modules/get-tsconfig": { + "version": "5.0.0-beta.4", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-5.0.0-beta.4.tgz", + "integrity": "sha512-7nF7C9fIPFEMHgEMEfgIlO9wDdZ8CyHw27rWciFZfHvHDReIiPhsYuzPRXsfvBCqFy1l8RRyyWV7QLM+ZhUJsQ==", + "license": "MIT", + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "engines": { + "node": ">=20.20.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, + "node_modules/github-slugger": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", + "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==", + "license": "ISC" + }, "node_modules/gopd": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", @@ -1532,6 +3689,23 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/h3": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/h3/-/h3-1.15.11.tgz", + "integrity": "sha512-L3THSe2MPeBwgIZVSH5zLdBBU90TOxarvhK9d04IDY2AmVS8j2Jz2LIWtwsGOU3lu2I5jCN7FNvVfY2+XyF+mg==", + "license": "MIT", + "dependencies": { + "cookie-es": "^1.2.3", + "crossws": "^0.3.5", + "defu": "^6.1.6", + "destr": "^2.0.5", + "iron-webcrypto": "^1.2.1", + "node-mock-http": "^1.0.4", + "radix3": "^1.1.2", + "ufo": "^1.6.3", + "uncrypto": "^0.1.3" + } + }, "node_modules/has-symbols": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", @@ -1556,6 +3730,42 @@ "node": ">= 0.4" } }, + "node_modules/hast-util-to-html": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz", + "integrity": "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-whitespace": "^3.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "stringify-entities": "^4.0.0", + "zwitch": "^2.0.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/hono": { "version": "4.13.13", "resolved": "https://registry.npmjs.org/hono/-/hono-4.13.13.tgz", @@ -1565,6 +3775,28 @@ "node": ">=16.9.0" } }, + "node_modules/html-escaper": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-3.0.3.tgz", + "integrity": "sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==", + "license": "MIT" + }, + "node_modules/html-void-elements": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.3.0.tgz", + "integrity": "sha512-M5t5LlJpS1UHMjvwRQVdFHvPISGeLAxNcrWuJkeGh0KxsqCHZ1O3NXZU/8x7cD0BDcGW8kapxMKTvwlqrNkHkA==", + "license": "BSD-2-Clause" + }, "node_modules/http-errors": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", @@ -1625,6 +3857,42 @@ "node": ">= 0.10" } }, + "node_modules/iron-webcrypto": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-1.2.1.tgz", + "integrity": "sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/brc-dd" + } + }, + "node_modules/is-docker": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-4.0.0.tgz", + "integrity": "sha512-LHE+wROyG/Y/0ZnbktRCoTix2c1RhgWaZraMZ8o1Q7zCh0VSrICJQO5oqIIISrcSBtrXv0o233w1IYwsWCjTzA==", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-promise": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", @@ -1646,6 +3914,28 @@ "url": "https://github.com/sponsors/panva" } }, + "node_modules/js-yaml": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.2.tgz", + "integrity": "sha512-SFNOvSJ+Dgf/9An904Yx+CgSlIPCkIpao4qo51lpee25TIRejdH3rhR4EZMGoNx3/TP3O+wzWuiTFl4sqbltzA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", @@ -1658,13 +3948,27 @@ "integrity": "sha512-fQhoXdcvc3V28x7C7BMs4P5+kNlgUURe2jmUT1T//oBRMDrqy1QPelJimwZGo7Hg9VPV3EQV5Bnq4hbFy2vetA==", "license": "BSD-2-Clause" }, + "node_modules/jsonc-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", + "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", + "license": "MIT" + }, + "node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/lightningcss": { "version": "1.33.0", "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.33.0.tgz", "integrity": "sha512-WkUDrojuJs0xkgGf2udWxa3yGBRxPtxUkB79i6aCZLRgc7PM8fZe9TosfPDcvEpQZbuFASnHYmRLBLUbmLOIIA==", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "detect-libc": "^2.0.3" }, @@ -1696,13 +4000,11 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MPL-2.0", "optional": true, "os": [ "android" ], - "peer": true, "engines": { "node": ">= 12.0.0" }, @@ -1718,13 +4020,11 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MPL-2.0", "optional": true, "os": [ "darwin" ], - "peer": true, "engines": { "node": ">= 12.0.0" }, @@ -1740,13 +4040,11 @@ "cpu": [ "x64" ], - "dev": true, "license": "MPL-2.0", "optional": true, "os": [ "darwin" ], - "peer": true, "engines": { "node": ">= 12.0.0" }, @@ -1762,13 +4060,11 @@ "cpu": [ "x64" ], - "dev": true, "license": "MPL-2.0", "optional": true, "os": [ "freebsd" ], - "peer": true, "engines": { "node": ">= 12.0.0" }, @@ -1784,13 +4080,11 @@ "cpu": [ "arm" ], - "dev": true, "license": "MPL-2.0", "optional": true, "os": [ "linux" ], - "peer": true, "engines": { "node": ">= 12.0.0" }, @@ -1806,13 +4100,11 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MPL-2.0", "optional": true, "os": [ "linux" ], - "peer": true, "engines": { "node": ">= 12.0.0" }, @@ -1828,13 +4120,11 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MPL-2.0", "optional": true, "os": [ "linux" ], - "peer": true, "engines": { "node": ">= 12.0.0" }, @@ -1850,13 +4140,11 @@ "cpu": [ "x64" ], - "dev": true, "license": "MPL-2.0", "optional": true, "os": [ "linux" ], - "peer": true, "engines": { "node": ">= 12.0.0" }, @@ -1872,13 +4160,11 @@ "cpu": [ "x64" ], - "dev": true, "license": "MPL-2.0", "optional": true, "os": [ "linux" ], - "peer": true, "engines": { "node": ">= 12.0.0" }, @@ -1894,13 +4180,11 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MPL-2.0", "optional": true, "os": [ "win32" ], - "peer": true, "engines": { "node": ">= 12.0.0" }, @@ -1916,13 +4200,11 @@ "cpu": [ "x64" ], - "dev": true, "license": "MPL-2.0", "optional": true, "os": [ "win32" ], - "peer": true, "engines": { "node": ">= 12.0.0" }, @@ -1931,16 +4213,35 @@ "url": "https://opencollective.com/parcel" } }, + "node_modules/lru-cache": { + "version": "11.5.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.3.tgz", + "integrity": "sha512-U4N8FgzmWxc8k1VH8Kr6lQg18U7Fjvby6wXHVRX/ZZ7IwWbRMgrRbP0Wrb5q5NVinryp4SQampHKdvtecItxUg==", + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, "node_modules/magic-string": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-1.4.3.tgz", "integrity": "sha512-z12OxmaPGE0F4xlpGdjuAUckipLpQlTAuAmyGhNoD7ODpYUzvDfvtxUbjM/jwznyP178oju/KDdyi220wNJ0RQ==", - "dev": true, "license": "MIT", "dependencies": { "@jridgewell/sourcemap-codec": "^1.6.0" } }, + "node_modules/magicast": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.5.5.tgz", + "integrity": "sha512-UicdXN8zQ3JHlxVq+28afMXPr1z7WNY6+7EJnzTdQWkTAlMLF5fNCCKxJHBQwGaNGR11581EiQmQzx73+MvszA==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7", + "source-map-js": "^1.2.1" + } + }, "node_modules/marked": { "version": "18.0.14", "resolved": "https://registry.npmjs.org/marked/-/marked-18.0.14.tgz", @@ -1962,6 +4263,33 @@ "node": ">= 0.4" } }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz", + "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdn-data": { + "version": "2.27.1", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.27.1.tgz", + "integrity": "sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==", + "license": "CC0-1.0" + }, "node_modules/media-typer": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.1.tgz", @@ -1987,6 +4315,95 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-types": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.3.tgz", + "integrity": "sha512-oxB2Ik03hI0gv+VNn9tnh1t1YEe9MDPptViAEgfdf3YQHsn0pzGTgCdlSCJXcwhqm8phaEuM7zeEu3QQzVBrPg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, "node_modules/mime-db": { "version": "1.54.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", @@ -2012,17 +4429,32 @@ "url": "https://opencollective.com/express" } }, + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "license": "MIT" }, + "node_modules/muggle-string": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.4.1.tgz", + "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==", + "dev": true, + "license": "MIT" + }, "node_modules/nanoid": { "version": "3.3.20", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.20.tgz", "integrity": "sha512-uKdg2G3GNCKQn9byYOpxbGqrT2fGO5KRt5J/8b3pok8rT6qxGWF6hxMyJiEYtAf+FVyYuD9hRaDqX5uPFYJ4ZQ==", - "dev": true, "funding": [ { "type": "github", @@ -2030,7 +4462,6 @@ } ], "license": "MIT", - "peer": true, "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -2067,6 +4498,61 @@ "url": "https://opencollective.com/express" } }, + "node_modules/neotraverse": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/neotraverse/-/neotraverse-1.0.1.tgz", + "integrity": "sha512-WmmLty1YWwJl9yZi77v2dVIV6X2kuYV8YYBI/G3LWGKdGHmHUvL1z7FW0iDvEvGAwNEoc5x1tOOOyDnf5jJw/w==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/nlcst-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/nlcst-to-string/-/nlcst-to-string-4.0.0.tgz", + "integrity": "sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/node-fetch-native": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.7.tgz", + "integrity": "sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==", + "license": "MIT" + }, + "node_modules/node-mock-http": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/node-mock-http/-/node-mock-http-1.0.5.tgz", + "integrity": "sha512-KQyt/wLjG3TAc7DOUhpqWzgd4ERxR80JOlTK5VE5R1S12IaPVN5qkj4klBce9HPG1Njuup4Sb5bljaT34lIyjw==", + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -2102,6 +4588,23 @@ "node": ">=12.20.0" } }, + "node_modules/ofetch": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/ofetch/-/ofetch-1.5.1.tgz", + "integrity": "sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA==", + "license": "MIT", + "dependencies": { + "destr": "^2.0.5", + "node-fetch-native": "^1.6.7", + "ufo": "^1.6.1" + } + }, + "node_modules/ohash": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.12.tgz", + "integrity": "sha512-65S/5gk9YSsaRjcyf7Nfa6h/d3E8/1gslpXfI4W7Dxn/oap8IKRuNT5VXkLQ1YFKIEg4apRY4Pj6aiwFzrDdmw==", + "license": "MIT" + }, "node_modules/on-finished": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", @@ -2123,6 +4626,72 @@ "wrappy": "1" } }, + "node_modules/oniguruma-parser": { + "version": "0.12.2", + "resolved": "https://registry.npmjs.org/oniguruma-parser/-/oniguruma-parser-0.12.2.tgz", + "integrity": "sha512-6HVa5oIrgMC6aA6WF6XyyqbhRPJrKR02L20+2+zpDtO5QAzGHAUGw5TKQvwi5vctNnRHkJYmjAhRVQF2EKdTQw==", + "license": "MIT" + }, + "node_modules/oniguruma-to-es": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-4.3.6.tgz", + "integrity": "sha512-csuQ9x3Yr0cEIs/Zgx/OEt9iBw9vqIunAPQkx19R/fiMq2oGVTgcMqO/V3Ybqefr1TBvosI6jU539ksaBULJyA==", + "license": "MIT", + "dependencies": { + "oniguruma-parser": "^0.12.2", + "regex": "^6.1.0", + "regex-recursion": "^6.0.2" + } + }, + "node_modules/p-limit": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-7.3.3.tgz", + "integrity": "sha512-SKgVvDU5TNIxQ4r30U75BNLC6a+6GOEjngrk/ysM5+Zu3oJuk1SC5ApzIzY/7PjCEjoVPMWJ0zho/4QUiEB7TQ==", + "license": "MIT", + "dependencies": { + "yocto-queue": "^1.2.1" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-queue": { + "version": "9.3.5", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-9.3.5.tgz", + "integrity": "sha512-Lki/zhXFVmDhesBUn/yHRLW9Bte7mE7xoFHzTR8sIomV7a2z+LxYAPkGvdfidNiu4fKSfjtawixxSHcZci5QcQ==", + "license": "MIT", + "dependencies": { + "eventemitter3": "^5.0.4", + "p-timeout": "^7.0.0" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-timeout": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-7.0.2.tgz", + "integrity": "sha512-prbX4Z3YszrFNgH+MW5Zoeq3baXrMtP/MQnFeET90UB/GtGcGDQ5Usg9OCy6ETjTTntOw1SL2z9fMPUppN3Guw==", + "license": "MIT", + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-manager-detector": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-1.9.0.tgz", + "integrity": "sha512-zAMfbta9nPA8AKkA4WdmNAT8R8s6Dk0/xwPsqNnRidMFcLo1YkLuPDTgs2f64XdzS8vbLNnoJ+uUIkgbz7oRHA==", + "license": "MIT" + }, "node_modules/parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", @@ -2132,6 +4701,13 @@ "node": ">= 0.8" } }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true, + "license": "MIT" + }, "node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", @@ -2151,19 +4727,22 @@ "url": "https://opencollective.com/express" } }, + "node_modules/piccolore": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/piccolore/-/piccolore-0.1.3.tgz", + "integrity": "sha512-o8bTeDWjE086iwKrROaDf31K0qC/BENdm15/uH9usSC/uZjJOKb2YGiVHfLY4GhwsERiPI1jmwI2XrA7ACOxVw==", + "license": "ISC" + }, "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "dev": true, - "license": "ISC", - "peer": true + "license": "ISC" }, "node_modules/picomatch": { "version": "4.0.7", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.7.tgz", "integrity": "sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==", - "dev": true, "license": "MIT", "engines": { "node": ">=12" @@ -2185,7 +4764,6 @@ "version": "8.5.29", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.29.tgz", "integrity": "sha512-49cGhUbXj8Qenv0iTMxA1cFBzxXoctpC9Ujd77t1WcbJIr6nF/eI7g/8MgxrYldFRuAXvja7xQRwavoW7kgrxQ==", - "dev": true, "funding": [ { "type": "opencollective", @@ -2201,7 +4779,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "nanoid": "^3.3.19", "picocolors": "^1.1.1", @@ -2211,6 +4788,50 @@ "node": "^10 || ^12 || >=14" } }, + "node_modules/prettier": { + "version": "3.9.10", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.9.10.tgz", + "integrity": "sha512-skGHTH1Yb9QvaTC4hWnRTzEYtCpApF0UMBPz+t/0ZPzP8ihefo/btKd+QA7pUE0fEwA1SbS/NmhyEcstdXOIdA==", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prismjs": { + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", + "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/process-ancestry": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/process-ancestry/-/process-ancestry-0.1.0.tgz", + "integrity": "sha512-tGqJW/UnclpYASFcM6Xh8D8l/BMtaQ9+CSG0vlJSJTcdMM4lDRv4c6H0Pdcsfted+bVczdYSfk2fdukg2gQkZg==", + "license": "MIT", + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/property-information": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.2.0.tgz", + "integrity": "sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/proxy-addr": { "version": "2.0.8", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.8.tgz", @@ -2244,6 +4865,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/radix3": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/radix3/-/radix3-1.1.2.tgz", + "integrity": "sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==", + "license": "MIT" + }, "node_modules/range-parser": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.3.0.tgz", @@ -2272,6 +4899,51 @@ "node": ">= 0.10" } }, + "node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/regex/-/regex-6.1.0.tgz", + "integrity": "sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==", + "license": "MIT", + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-recursion": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/regex-recursion/-/regex-recursion-6.0.2.tgz", + "integrity": "sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==", + "license": "MIT", + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-utilities": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/regex-utilities/-/regex-utilities-2.3.0.tgz", + "integrity": "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==", + "license": "MIT" + }, + "node_modules/request-light": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/request-light/-/request-light-0.7.0.tgz", + "integrity": "sha512-lMbBMrDoxgsyO+yB3sDcrDuX85yYt7sS8BfQd11jtbW/z5ZWgLZRcEGLsLoYw7I0WSUGQBs8CC8ScIxkTX1+6Q==", + "dev": true, + "license": "MIT" + }, "node_modules/require-from-string": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", @@ -2281,13 +4953,35 @@ "node": ">=0.10.0" } }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "license": "MIT", + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, + "node_modules/retext-smartypants": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/retext-smartypants/-/retext-smartypants-6.2.0.tgz", + "integrity": "sha512-kk0jOU7+zGv//kfjXEBjdIryL1Acl4i9XNkHxtM7Tm5lFiCog576fjNC9hjoR7LTKQ0DsPWy09JummSsH1uqfQ==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "nlcst-to-string": "^4.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/rolldown": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.2.13.tgz", "integrity": "sha512-/5apOkwWxtACcQtZ5WlrAsKS4JwXVThQPJZ3RqIruRY9UG9M8e0VlXN068xum/JRKA4aIUoJ13ghe/kGCvidiQ==", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@oxc-project/types": "=0.153.0", "@rolldown/pluginutils": "^1.0.0" @@ -2338,6 +5032,51 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "license": "MIT" }, + "node_modules/satteri": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/satteri/-/satteri-0.10.5.tgz", + "integrity": "sha512-Ao1LKpAEa9Wdg0otgbVKViZHEq9ebdXe4DMrp3s9vQAU0HNIuHnFEuMuOcm0ZIXyV0Yzxj91NvhLpvXZJO/5ZQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.5", + "@types/hast": "^3.0.5", + "@types/mdast": "^4.0.4", + "@types/unist": "^3.0.3" + }, + "optionalDependencies": { + "@bruits/satteri-darwin-arm64": "0.10.5", + "@bruits/satteri-darwin-x64": "0.10.5", + "@bruits/satteri-linux-arm64-gnu": "0.10.5", + "@bruits/satteri-linux-arm64-musl": "0.10.5", + "@bruits/satteri-linux-x64-gnu": "0.10.5", + "@bruits/satteri-linux-x64-musl": "0.10.5", + "@bruits/satteri-wasm32-wasi": "0.10.5", + "@bruits/satteri-win32-arm64-msvc": "0.10.5", + "@bruits/satteri-win32-x64-msvc": "0.10.5" + } + }, + "node_modules/sax": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.6.1.tgz", + "integrity": "sha512-42tBVwLWnaQvW5zc4HbZrTuWccECCZfBi92FDuwtqxasH+JbPB3/FOKb1m222K42R4WxuxzzMsTswfzgtSu64Q==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=11.0.0" + } + }, + "node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "devOptional": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/send": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/send/-/send-1.2.1.tgz", @@ -2389,6 +5128,56 @@ "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", "license": "ISC" }, + "node_modules/sharp": { + "version": "0.35.5", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.35.5.tgz", + "integrity": "sha512-Ywn4OnzGukp7CDMrp08RQ50YKmuwG47brZgIVPTvBaaAfQlRlygrRqSrxdCiL9M+LlzLBiJ68IR1QqvzHyjC7g==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@img/colour": "^1.1.0", + "detect-libc": "^2.1.2", + "semver": "^7.8.5" + }, + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.35.5", + "@img/sharp-darwin-x64": "0.35.5", + "@img/sharp-freebsd-wasm32": "0.35.5", + "@img/sharp-libvips-darwin-arm64": "1.3.4", + "@img/sharp-libvips-darwin-x64": "1.3.4", + "@img/sharp-libvips-linux-arm": "1.3.4", + "@img/sharp-libvips-linux-arm64": "1.3.4", + "@img/sharp-libvips-linux-ppc64": "1.3.4", + "@img/sharp-libvips-linux-riscv64": "1.3.4", + "@img/sharp-libvips-linux-s390x": "1.3.4", + "@img/sharp-libvips-linux-x64": "1.3.4", + "@img/sharp-libvips-linuxmusl-arm64": "1.3.4", + "@img/sharp-libvips-linuxmusl-x64": "1.3.4", + "@img/sharp-linux-arm": "0.35.5", + "@img/sharp-linux-arm64": "0.35.5", + "@img/sharp-linux-ppc64": "0.35.5", + "@img/sharp-linux-riscv64": "0.35.5", + "@img/sharp-linux-s390x": "0.35.5", + "@img/sharp-linux-x64": "0.35.5", + "@img/sharp-linuxmusl-arm64": "0.35.5", + "@img/sharp-linuxmusl-x64": "0.35.5", + "@img/sharp-webcontainers-wasm32": "0.35.5", + "@img/sharp-win32-arm64": "0.35.5", + "@img/sharp-win32-ia32": "0.35.5", + "@img/sharp-win32-x64": "0.35.5" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -2410,6 +5199,25 @@ "node": ">=8" } }, + "node_modules/shiki": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-4.5.0.tgz", + "integrity": "sha512-OcRW72ngQvc+MSVWBRIovC/BTW589iUE/Vxav7VeM4RcY9MUjqB+IR6ILG1k9nuW6LiG/nct9uma4/MBtnZbmQ==", + "license": "MIT", + "dependencies": { + "@shikijs/core": "4.5.0", + "@shikijs/engine-javascript": "4.5.0", + "@shikijs/engine-oniguruma": "4.5.0", + "@shikijs/langs": "4.5.0", + "@shikijs/themes": "4.5.0", + "@shikijs/types": "4.5.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.5" + }, + "engines": { + "node": ">=20" + } + }, "node_modules/side-channel": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.1.tgz", @@ -2482,17 +5290,43 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "license": "MIT" + }, + "node_modules/smol-toml": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.9.1.tgz", + "integrity": "sha512-j7WyPdf0CJoutMzMoPLF/bVXHtKZIT9Rb4eGeEbWw8X2t5oirjPgpL+OpaENZrILYaXqYwnVH+qgUwVbl+pUJQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 18" + }, + "funding": { + "url": "https://github.com/sponsors/cyyynthia" + } + }, "node_modules/source-map-js": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.2.tgz", "integrity": "sha512-KGj/8Y43x35aZVDtt+J4mK1hoLGHULMYfSkODJNQjNDC3oW1PqPoxMwo0pLUsWM/UEGzON/NxeHywEfNXNP3Vw==", - "dev": true, "license": "BSD-3-Clause", - "peer": true, "engines": { "node": ">=0.10.0" } }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/statuses": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", @@ -2509,6 +5343,84 @@ "dev": true, "license": "MIT" }, + "node_modules/string-width": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.3.0.tgz", + "integrity": "sha512-ZbmZM0JCihQN91dWnxoipT2KOEyHqEyfRXUyjuRhW8b/xnqPDoq4gWEVApTVa9db2wN8mmoikgFBbjh71+cGeQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-east-asian-width": "^1.5.0", + "strip-ansi": "^7.1.2" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "license": "MIT", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.2.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/svgo": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-4.1.0.tgz", + "integrity": "sha512-bkxnTg1kSU0guhIBmibA6UUhrQmPVA1XsQLN+ylCd+UWzbnLkySOcXpyk1mrl05f+pcaCx2eHb+sp6BgMZWX+Q==", + "license": "MIT", + "dependencies": { + "commander": "^11.1.0", + "css-select": "^6.0.0", + "css-tree": "^3.0.1", + "css-what": "^7.0.0", + "csso": "^5.0.5", + "picocolors": "^1.1.1", + "sax": "1.6.1" + }, + "bin": { + "svgo": "bin/svgo.js" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" + } + }, + "node_modules/tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==", + "license": "MIT" + }, "node_modules/tinybench": { "version": "6.2.2", "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-6.2.2.tgz", @@ -2519,11 +5431,19 @@ "node": ">=20.0.0" } }, + "node_modules/tinyclip": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tinyclip/-/tinyclip-1.0.3.tgz", + "integrity": "sha512-nTv2raKFMzGG6JJp0lpNDsRPdfFE6UHlu2rVEjXo8vkx1ZS3LW2CVXqIaLu8xZlu+6tbFs9V58Qc/Jmk/Ii7wA==", + "license": "MIT", + "engines": { + "node": "^16.14.0 || >= 17.3.0" + } + }, "node_modules/tinyexec": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.3.1.tgz", "integrity": "sha512-GCvB3aoys96IuDFBMcTB46JOR6mdMtAToqwiW8JlWhsoh1mhHi/xn9ss/Dg7N555GiJyEt2qzoG/NHCwM6h1EA==", - "dev": true, "license": "MIT", "engines": { "node": ">=18" @@ -2533,7 +5453,6 @@ "version": "0.2.17", "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", - "dev": true, "license": "MIT", "dependencies": { "fdir": "^6.5.0", @@ -2555,6 +5474,33 @@ "node": ">=0.6" } }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "devOptional": true, + "license": "0BSD" + }, "node_modules/tsx": { "version": "4.23.15", "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.23.15.tgz", @@ -2604,6 +5550,13 @@ "url": "https://opencollective.com/express" } }, + "node_modules/typesafe-path": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/typesafe-path/-/typesafe-path-0.2.2.tgz", + "integrity": "sha512-OJabfkAg1WLZSqJAJ0Z6Sdt3utnbzr/jh+NAHoyWHJe8CMSy79Gm085094M9nvTPy22KzTVn5Zq5mbapCI/hPA==", + "dev": true, + "license": "MIT" + }, "node_modules/typescript": { "version": "5.9.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", @@ -2617,13 +5570,148 @@ "node": ">=14.17" } }, + "node_modules/typescript-auto-import-cache": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/typescript-auto-import-cache/-/typescript-auto-import-cache-0.3.6.tgz", + "integrity": "sha512-RpuHXrknHdVdK7wv/8ug3Fr0WNsNi5l5aB8MYYuXhq2UH5lnEB1htJ1smhtD5VeCsGr2p8mUDtd83LCQDFVgjQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.3.8" + } + }, + "node_modules/ufo": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.4.tgz", + "integrity": "sha512-JFNbkD1Svwe0KvGi8GOeLcP4kAWQ609twvCdcHxq1oSL8svv39ZuSvajcD8B+5D0eL4+s1Is2D/O6KN3qcTeRA==", + "license": "MIT" + }, + "node_modules/ultrahtml": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/ultrahtml/-/ultrahtml-1.7.0.tgz", + "integrity": "sha512-2xRd0VHoAQE4M+vF/DvFFB7pUV0ZxTW1TLi7lHQWnF/Sb5TPeEUV/l+hxcNnGO00ZXGnR0voCMmYRKQf+rvJ2g==", + "license": "MIT" + }, + "node_modules/uncrypto": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz", + "integrity": "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==", + "license": "MIT" + }, + "node_modules/undici": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/undici/-/undici-8.11.2.tgz", + "integrity": "sha512-u4UB2/IrKdU6lFxumHmmo1a3fCQO5tzQllRorfoRS63txhrB7xTpSn1PftwC4qEHkOaqP95fCWW4lJzwErwzhQ==", + "license": "MIT", + "engines": { + "node": ">=22.19.0" + } + }, "node_modules/undici-types": { "version": "6.21.0", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", - "dev": true, + "devOptional": true, "license": "MIT" }, + "node_modules/unified": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", + "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unifont": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/unifont/-/unifont-0.7.5.tgz", + "integrity": "sha512-ULe/Cs+ZIsq+dcFofNkhqielCrUJnb5mr+Yc4EBM2VlL+6OZR6+cjtI2mT1bJvRBrVncqHAbLURxmPLcCXzWMg==", + "license": "MIT", + "dependencies": { + "css-tree": "^3.1.0", + "ohash": "^2.0.11", + "undici": "^8.0.0" + } + }, + "node_modules/unist-util-is": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz", + "integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.1.0.tgz", + "integrity": "sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz", + "integrity": "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", @@ -2633,6 +5721,130 @@ "node": ">= 0.8" } }, + "node_modules/unstorage": { + "version": "1.17.5", + "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.17.5.tgz", + "integrity": "sha512-0i3iqvRfx29hkNntHyQvJTpf5W9dQ9ZadSoRU8+xVlhVtT7jAX57fazYO9EHvcRCfBCyi5YRya7XCDOsbTgkPg==", + "license": "MIT", + "dependencies": { + "anymatch": "^3.1.3", + "chokidar": "^5.0.0", + "destr": "^2.0.5", + "h3": "^1.15.10", + "lru-cache": "^11.2.7", + "node-fetch-native": "^1.6.7", + "ofetch": "^1.5.1", + "ufo": "^1.6.3" + }, + "peerDependencies": { + "@azure/app-configuration": "^1.8.0", + "@azure/cosmos": "^4.2.0", + "@azure/data-tables": "^13.3.0", + "@azure/identity": "^4.6.0", + "@azure/keyvault-secrets": "^4.9.0", + "@azure/storage-blob": "^12.26.0", + "@capacitor/preferences": "^6 || ^7 || ^8", + "@deno/kv": ">=0.9.0", + "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0", + "@planetscale/database": "^1.19.0", + "@upstash/redis": "^1.34.3", + "@vercel/blob": ">=0.27.1", + "@vercel/functions": "^2.2.12 || ^3.0.0", + "@vercel/kv": "^1 || ^2 || ^3", + "aws4fetch": "^1.0.20", + "db0": ">=0.2.1", + "idb-keyval": "^6.2.1", + "ioredis": "^5.4.2", + "uploadthing": "^7.4.4" + }, + "peerDependenciesMeta": { + "@azure/app-configuration": { + "optional": true + }, + "@azure/cosmos": { + "optional": true + }, + "@azure/data-tables": { + "optional": true + }, + "@azure/identity": { + "optional": true + }, + "@azure/keyvault-secrets": { + "optional": true + }, + "@azure/storage-blob": { + "optional": true + }, + "@capacitor/preferences": { + "optional": true + }, + "@deno/kv": { + "optional": true + }, + "@netlify/blobs": { + "optional": true + }, + "@planetscale/database": { + "optional": true + }, + "@upstash/redis": { + "optional": true + }, + "@vercel/blob": { + "optional": true + }, + "@vercel/functions": { + "optional": true + }, + "@vercel/kv": { + "optional": true + }, + "aws4fetch": { + "optional": true + }, + "db0": { + "optional": true + }, + "idb-keyval": { + "optional": true + }, + "ioredis": { + "optional": true + }, + "uploadthing": { + "optional": true + } + } + }, + "node_modules/unstorage/node_modules/chokidar": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", + "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", + "license": "MIT", + "dependencies": { + "readdirp": "^5.0.0" + }, + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/unstorage/node_modules/readdirp": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.1.1.tgz", + "integrity": "sha512-Kko+Y5XQ6fM+Ce3dq3m9YGxnacYZYl9cA1wZjaF3Vbry2L3i1qVg8+CAgNPsXRArPMUMCaOR7oa9Nqntc43JKA==", + "license": "MIT", + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", @@ -2642,13 +5854,51 @@ "node": ">= 0.8" } }, + "node_modules/verkit": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/verkit/-/verkit-0.4.1.tgz", + "integrity": "sha512-mMVzj0TXExtVdlDEq+Mzp0eyOuyznNpFobNM3uAqe3HVm/Ps2c+u17BligMkZjZCA6EiXpoon8iRTer3iu40SQ==", + "license": "MIT", + "engines": { + "node": ">=18.12.0" + }, + "funding": { + "url": "https://github.com/sponsors/sxzz" + } + }, + "node_modules/vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz", + "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/vite": { "version": "8.3.4", "resolved": "https://registry.npmjs.org/vite/-/vite-8.3.4.tgz", "integrity": "sha512-IftLE8phJhdNRIGNEV4JCCvfNScoZQVfcXaN8TQropWGJtOHcu+iAB9pHcuGvmEb/kddw0LBe/jS8ztdC6xdiQ==", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "lightningcss": "^1.33.0", "picomatch": "^4.0.7", @@ -2721,6 +5971,25 @@ } } }, + "node_modules/vitefu": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.1.3.tgz", + "integrity": "sha512-ub4okH7Z5KLjb6hDyjqrGXqWtWvoYdU3IGm/NorpgHncKoLTCfRIbvlhBm7r0YstIaQRYlp4yEbFqDcKSzXSSg==", + "license": "MIT", + "workspaces": [ + "tests/deps/*", + "tests/projects/*", + "tests/projects/workspace/packages/*" + ], + "peerDependencies": { + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + } + }, "node_modules/vitest": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/vitest/-/vitest-5.0.3.tgz", @@ -2804,6 +6073,289 @@ } } }, + "node_modules/volar-service-css": { + "version": "0.0.71", + "resolved": "https://registry.npmjs.org/volar-service-css/-/volar-service-css-0.0.71.tgz", + "integrity": "sha512-wRRFt9BpjMKCazcgOh67MSjUjiWUCAh99DyYSDIOTuxaRjEtDC7PpB0k1Y1wbJIW/pVtMUSVbpPo3UGSm0Byxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "vscode-css-languageservice": "^6.3.0", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "@volar/language-service": "~2.4.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + } + } + }, + "node_modules/volar-service-emmet": { + "version": "0.0.71", + "resolved": "https://registry.npmjs.org/volar-service-emmet/-/volar-service-emmet-0.0.71.tgz", + "integrity": "sha512-zqjzt6bN95e3CUstBm0PBFAJnrfz0ZAARka87fart46/gNCLLuP3Vujy8V/J8HEziTFLnfkgIASLFYPUhonJcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@emmetio/css-parser": "^0.4.1", + "@emmetio/html-matcher": "^1.3.0", + "@vscode/emmet-helper": "^2.9.3", + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "@volar/language-service": "~2.4.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + } + } + }, + "node_modules/volar-service-html": { + "version": "0.0.71", + "resolved": "https://registry.npmjs.org/volar-service-html/-/volar-service-html-0.0.71.tgz", + "integrity": "sha512-e8tHPhgQ7ooLfudAEIku+kgd9pWkq3SSz8RbnQDI1+Eb8wbenkLGHqoirLqz5ORLV6wIMr2Iv08RWBG5eOcgpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "vscode-html-languageservice": "^5.3.0", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "@volar/language-service": "~2.4.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + } + } + }, + "node_modules/volar-service-prettier": { + "version": "0.0.71", + "resolved": "https://registry.npmjs.org/volar-service-prettier/-/volar-service-prettier-0.0.71.tgz", + "integrity": "sha512-Rz7JVH3qD108UCdmIEiZvOBNljMt2nLFdbN8AXcDfn7xD9F5I2aCIsDVqBbXw21PsnxG0b7MfwtNF+zPS/NKUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "@volar/language-service": "~2.4.0", + "prettier": "^2.2 || ^3.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + }, + "prettier": { + "optional": true + } + } + }, + "node_modules/volar-service-typescript": { + "version": "0.0.71", + "resolved": "https://registry.npmjs.org/volar-service-typescript/-/volar-service-typescript-0.0.71.tgz", + "integrity": "sha512-yTtM/BVT6hoyEYnDtaCyAtNhdNeS/mhTTABlBOdw3NNiRBUin3IznFJpgfjer4c6RYopiPjjQjc9VFhxVl1mLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-browserify": "^1.0.1", + "semver": "^7.6.2", + "typescript-auto-import-cache": "^0.3.5", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-nls": "^5.2.0", + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "@volar/language-service": "~2.4.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + } + } + }, + "node_modules/volar-service-typescript-twoslash-queries": { + "version": "0.0.71", + "resolved": "https://registry.npmjs.org/volar-service-typescript-twoslash-queries/-/volar-service-typescript-twoslash-queries-0.0.71.tgz", + "integrity": "sha512-9K2k72s4n7rV9s4bX0MyjbX9iBribvKZbBJKuEmTCZfeWJXs6Yh7bGpY4eoc7UufAjvpheBqwyZCOIPBvxCv0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "@volar/language-service": "~2.4.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + } + } + }, + "node_modules/volar-service-yaml": { + "version": "0.0.71", + "resolved": "https://registry.npmjs.org/volar-service-yaml/-/volar-service-yaml-0.0.71.tgz", + "integrity": "sha512-qYGWGuVpUTnZGu5P/CR4KLK4aIR8RrcVnmfZ2eRcj9q/I8VZCoC5yy9FtEvfNvnDp4MU17yhdJcvpQPIqhJS2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "vscode-uri": "^3.0.8", + "yaml-language-server": "~1.23.0" + }, + "peerDependencies": { + "@volar/language-service": "~2.4.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + } + } + }, + "node_modules/vscode-css-languageservice": { + "version": "6.3.10", + "resolved": "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-6.3.10.tgz", + "integrity": "sha512-eq5N9Er3fC4vA9zd9EFhyBG90wtCCuXgRSpAndaOgXMh1Wgep5lBgRIeDgjZBW9pa+332yC9+49cZMW8jcL3MA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vscode/l10n": "^0.0.18", + "vscode-languageserver-textdocument": "^1.0.12", + "vscode-languageserver-types": "3.17.5", + "vscode-uri": "^3.1.0" + } + }, + "node_modules/vscode-css-languageservice/node_modules/vscode-languageserver-types": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz", + "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==", + "dev": true, + "license": "MIT" + }, + "node_modules/vscode-html-languageservice": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-5.6.2.tgz", + "integrity": "sha512-ulCrSnFnfQ16YzvwnYUgEbUEl/ZG7u2eV27YhvLObSHKkb8fw1Z9cgsnUwjTEeDIdJDoTDTDpxuhQwoenoLNMg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vscode/l10n": "^0.0.18", + "vscode-languageserver-textdocument": "^1.0.12", + "vscode-languageserver-types": "^3.17.5", + "vscode-uri": "^3.1.0" + } + }, + "node_modules/vscode-json-languageservice": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-4.1.8.tgz", + "integrity": "sha512-0vSpg6Xd9hfV+eZAaYN63xVVMOTmJ4GgHxXnkLCh+9RsQBkWKIghzLhW2B9ebfG+LQQg8uLtsQ2aUKjTgE+QOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "jsonc-parser": "^3.0.0", + "vscode-languageserver-textdocument": "^1.0.1", + "vscode-languageserver-types": "^3.16.0", + "vscode-nls": "^5.0.0", + "vscode-uri": "^3.0.2" + }, + "engines": { + "npm": ">=7.0.0" + } + }, + "node_modules/vscode-jsonrpc": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-9.0.3.tgz", + "integrity": "sha512-qETYf9PCl1lVfwR+oBmMfc4vP2nqLNA35ABxorw3j06+xlKRgDVxbLgKm4Y/xPL0YWdeDjLoI4ImICIT3nB0zQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/vscode-languageserver": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-9.0.1.tgz", + "integrity": "sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==", + "dev": true, + "license": "MIT", + "dependencies": { + "vscode-languageserver-protocol": "3.17.5" + }, + "bin": { + "installServerIntoExtension": "bin/installServerIntoExtension" + } + }, + "node_modules/vscode-languageserver-protocol": { + "version": "3.18.4", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.18.4.tgz", + "integrity": "sha512-CCXbyr99dafRJzJH/0Ryk7ly5T8XPmSR0//OuF2w4m+9JiOin7zcAT5iET8GRE7Z9taFBejb3GbM0a0mbjdbrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "vscode-jsonrpc": "9.0.3", + "vscode-languageserver-types": "3.18.4" + } + }, + "node_modules/vscode-languageserver-textdocument": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.15.tgz", + "integrity": "sha512-Gsfr9S8LU3S6885cS+NaleasJ0n3V5y/SOTqHCifQiXWFw3G9w9/YItDfwHrlCz+dSZWWZ8ilYVMcJe7Sz7Sxw==", + "dev": true, + "license": "MIT" + }, + "node_modules/vscode-languageserver-types": { + "version": "3.18.4", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.18.4.tgz", + "integrity": "sha512-nQsacoiijvl0fRf2q28uFDrAVwRhdCa3QveiF7/CX0r18mLR5FU/1WskSsCKOjmEbtteKUnY8x8Yzxop+k0zwg==", + "dev": true, + "license": "MIT" + }, + "node_modules/vscode-languageserver/node_modules/vscode-jsonrpc": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz", + "integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/vscode-languageserver/node_modules/vscode-languageserver-protocol": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz", + "integrity": "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==", + "dev": true, + "license": "MIT", + "dependencies": { + "vscode-jsonrpc": "8.2.0", + "vscode-languageserver-types": "3.17.5" + } + }, + "node_modules/vscode-languageserver/node_modules/vscode-languageserver-types": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz", + "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==", + "dev": true, + "license": "MIT" + }, + "node_modules/vscode-nls": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-5.2.0.tgz", + "integrity": "sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==", + "dev": true, + "license": "MIT" + }, + "node_modules/vscode-uri": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.2.0.tgz", + "integrity": "sha512-m2gXo3bn0G1kT9InzMf07fTbqMbGtyckj3bH5ktLO+1Ssv+yiATZ4dhwaQv9UZWxJh6E9IFGnQyjgWVDWVBDrg==", + "dev": true, + "license": "MIT" + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -2832,12 +6384,64 @@ "node": ">=20.11" } }, + "node_modules/wrap-ansi": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", + "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "license": "ISC" }, + "node_modules/xxhash-wasm": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-1.1.0.tgz", + "integrity": "sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA==", + "license": "MIT" + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, "node_modules/yaml": { "version": "2.9.1", "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.1.tgz", @@ -2853,6 +6457,92 @@ "url": "https://github.com/sponsors/eemeli" } }, + "node_modules/yaml-language-server": { + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/yaml-language-server/-/yaml-language-server-1.23.0.tgz", + "integrity": "sha512-3qVyCOexLCWw06PQa5kRPwvMWMZ/eZeCRWUvgD6a0OkqL/4iCnxy2WumbWifa937Uo5xhyWJ0uxlU39ljhNh7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vscode/l10n": "^0.0.18", + "ajv": "^8.17.1", + "ajv-draft-04": "^1.0.0", + "ajv-i18n": "^4.2.0", + "prettier": "^3.8.1", + "request-light": "^0.5.7", + "vscode-json-languageservice": "4.1.8", + "vscode-languageserver": "^9.0.0", + "vscode-languageserver-textdocument": "^1.0.1", + "vscode-languageserver-types": "^3.16.0", + "vscode-uri": "^3.0.2", + "yaml": "2.8.3" + }, + "bin": { + "yaml-language-server": "bin/yaml-language-server" + } + }, + "node_modules/yaml-language-server/node_modules/request-light": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/request-light/-/request-light-0.5.8.tgz", + "integrity": "sha512-3Zjgh+8b5fhRJBQZoy+zbVKpAQGLyka0MPgW3zruTF4dFFJ8Fqcfu9YsAvi/rvdcaTeWG3MkbZv4WKxAn/84Lg==", + "dev": true, + "license": "MIT" + }, + "node_modules/yaml-language-server/node_modules/yaml": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.3.tgz", + "integrity": "sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==", + "dev": true, + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" + } + }, + "node_modules/yargs": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-18.2.0.tgz", + "integrity": "sha512-9OpKOLeaoNFecEp7P6iYbzze/5CqWoH7N3SMs/6y1XF4nMvFMspEGZzJ6uFi9MmQwXhyzqYoSEKO3tvA3Z/o2w==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^9.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "string-width": "^8.2.1", + "y18n": "^5.0.5", + "yargs-parser": "^22.0.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=23" + } + }, + "node_modules/yargs-parser": { + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-22.0.0.tgz", + "integrity": "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==", + "license": "ISC", + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=23" + } + }, + "node_modules/yocto-queue": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.2.tgz", + "integrity": "sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==", + "license": "MIT", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/zod": { "version": "4.6.6", "resolved": "https://registry.npmjs.org/zod/-/zod-4.6.6.tgz", @@ -2871,6 +6561,16 @@ "zod": "^3.25.28 || ^4" } }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "packages/schema": { "name": "@gk/schema", "version": "0.1.0", @@ -2879,6 +6579,17 @@ "zod": "^4.1.0" } }, + "packages/ui": { + "name": "@gk/ui", + "version": "0.1.0", + "dependencies": { + "astro": "7.3.5" + }, + "devDependencies": { + "@astrojs/check": "0.9.10", + "typescript": "^5.9.0" + } + }, "services/admin": { "name": "@gk/admin", "version": "0.1.0", diff --git a/package.json b/package.json index 295eaa8..ffd0059 100644 --- a/package.json +++ b/package.json @@ -12,14 +12,16 @@ "node": ">=22" }, "scripts": { - "typecheck": "tsc -p packages/schema && tsc -p tools/migrate && tsc -p services/content && tsc -p services/admin", + "typecheck": "tsc -p packages/schema && tsc -p tools/migrate && tsc -p services/content && tsc -p services/admin && npm run check -w @gk/ui", "test": "vitest run", "check": "npm run typecheck && npm test", "schema:json": "npm run json -w @gk/schema", "templates": "npm run templates -w @gk/schema", "migrate": "npm run migrate -w @gk/migrate --", "content": "npm run start -w @gk/content", - "admin": "npm run start -w @gk/admin" + "admin": "npm run start -w @gk/admin", + "ui": "npm run dev -w @gk/ui", + "ui:build": "npm run build -w @gk/ui" }, "devDependencies": { "@types/node": "^22.10.0", diff --git a/packages/ui/astro.config.mjs b/packages/ui/astro.config.mjs new file mode 100644 index 0000000..a794175 --- /dev/null +++ b/packages/ui/astro.config.mjs @@ -0,0 +1,12 @@ +// The gallery: one static page that shows every component, for review +// against the design canvas. The site itself imports the components. +import { defineConfig } from "astro/config"; + +export default defineConfig({ + output: "static", + build: { format: "file", assets: "assets" }, + devToolbar: { enabled: false }, + // Bundle astro's own cookie (2.x) into the prerender step; left external it + // resolves to the older copy express hoists to the workspace root. + vite: { environments: { prerender: { resolve: { noExternal: ["cookie"] } } } }, +}); diff --git a/packages/ui/package.json b/packages/ui/package.json new file mode 100644 index 0000000..34c39d1 --- /dev/null +++ b/packages/ui/package.json @@ -0,0 +1,25 @@ +{ + "name": "@gk/ui", + "version": "0.1.0", + "private": true, + "type": "module", + "description": "The GregKilmer.com component library: the approved element rules and the ornament kit as Astro components, plus a gallery page to review them.", + "exports": { + "./components/*": "./src/components/*", + "./styles/*": "./src/styles/*", + "./lib/*": "./src/lib/*", + "./assets/*": "./src/assets/*" + }, + "scripts": { + "dev": "astro dev", + "build": "astro build", + "check": "astro check" + }, + "dependencies": { + "astro": "7.3.5" + }, + "devDependencies": { + "@astrojs/check": "0.9.10", + "typescript": "^5.9.0" + } +} diff --git a/packages/ui/src/assets/brand/gk-monogram.svg b/packages/ui/src/assets/brand/gk-monogram.svg new file mode 100644 index 0000000..dba06ad --- /dev/null +++ b/packages/ui/src/assets/brand/gk-monogram.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/packages/ui/src/assets/brand/patiun-glyph-gold.svg b/packages/ui/src/assets/brand/patiun-glyph-gold.svg new file mode 100644 index 0000000..37360af --- /dev/null +++ b/packages/ui/src/assets/brand/patiun-glyph-gold.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/packages/ui/src/assets/brand/patiun-glyph-teal.svg b/packages/ui/src/assets/brand/patiun-glyph-teal.svg new file mode 100644 index 0000000..2d9be7b --- /dev/null +++ b/packages/ui/src/assets/brand/patiun-glyph-teal.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/packages/ui/src/assets/fonts/Cinzel-Bold.woff2 b/packages/ui/src/assets/fonts/Cinzel-Bold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..dfcf8400e6a54f1baa61ac2d38d58fd14e1efee8 GIT binary patch literal 20932 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%0D@j-SfOU#>k{L}PL`HF`Y|Pa4F^>QQ z)GH`Sl>HPSAoT1z$r6bOgjAggV{ahGlq`XrG{R^xgop@0LcNXJ0D!co5edO8bd+!` zcrQQveQn-En_VupoR}FA& zoF36=I{fmjrxuAdi~?NHEx+TgSc0*#3K*4G$Oo@6?jP^)!2vM+MCsDpb-B&!*VACf zZh=JbrN43di3jAng^5Bzl2Di=5GDd^yoq8DGfQp_zdU4WRKeyqYy%tEx9c=t$4DP( zHIHIq9(@&ZJxq8#g#VE+>?0W3NUOBIVsF3l`P&hL{Zry;X+{5!I)C+ISXgWGW>{=j z1pPliqF8^II2esv`;{7H?W0G{SW%SOlv>reyh$71lv$Z)DvziV7{p6pp}l{3TxW0U zccQYml4W`PU^p_W{Kl!bh~ho{&LN5yi!tCY47uzn8C74hi1;x$vj!Hf5-W_3eQF&5 z`k}H^xdE0DY3^d(Iag>h%|(D}P%Q#%wP5Nb)QSh+%of1j(M8tYSgVs7uXCvDN;QdY zvOcA#K6Q@JNrH*`r9=AZTR3T9ZOnFuT*H(Qvmf9i(KydzEJKQa@EZ3mNv@&3g?X~!7H2UoFA`I*h z(8pAp4K)#a1XZ6_Qmj%4Aa;Vl5{BRiUZ_b({g#>oO22K^8D-w`xXMa1Ro`(N`EG)g zr43V=49*VPtO<>1IV#Dkb3NrQkPamQ0otW@9zq@<15!}-z*saREW1E%s$xFIeYohv zyey^g)21%|?5mK>SLl4+E&52(dd*ktNi7XW1=k0#e#KxQJD+UQ!DL)|Ja*qj6q{Ox zSp6Xl^e2-@X^Zwuy?k(>DXS~Em(?fhOl(YA^;fstDP#M0stNB|J0ge}sE$06urX>L zbpmTB$Db!`bg;Nx8Ioa1lVxd2Oq{V!?k_=4R`YX=+a^bnai#^$VRRqYKdLTcJLA-H zeP<;5i#5hCtu|}L`zhAmw&Bb&z^kWw1zN|cOQ4VjE4xi=7D|2{1-k^7tespJ9`c3#jze;9Iu->(Z zeW^DTEqO;|6SF)eidDEJWIn4q-@AYlNGoW61&ke~GdcolpNUgB8~x+5UFl=t`h)FA zO`O-jH8s8{Fqu5bWg(9ZcWgeKqdSv1-iQ3;8@)f5{PoDN2i2F=a&Rrqew=s6`+!#} zEA*uNRoumIO7r@){m!E71wDZ+NwtBkiM@5{yKX*T?xNm+i|bdbYeRaoCYZNOE_S;I z-R9K|CQ)xjiC@!$n&PCnSpFK=Hx}6|1GBWdiqUFxH(V=3dSvE^e#P2&{>Z`DvVIMI zyq#bBX~Fs9{{!dXt@mt8Vh?ZHGBowcOA5NHTxu_~ zT$@}R85~idH;L`Ibk2KsoO32Uox`2KUub2a#g&B)ta0GV@f8wWc=iRU3l&`GU{$c- zEe4)jN9*GBh4zG|m$2WB*h5+ze!|DEa?MxnCZC9`j;^kix2l_zWiiFyrpS!BQEu{D zH)ER5I?I!vHMb|QEx8`5VN+^%AZsoZdNXDgewI^3j>=Mf8cwvn=JOg)A9y>(BmAApa zo7{mAZ^^E#TD&>Bw!k$>?Ql-inLYf*(2lP8mFPffZKK|pRw!2(kV3Ufw0BaSrotQ_ z?fDsKqkjglO!fU8%MNrtjO;O-y%;)veSQNXVwSL72D- zO0&m|RQ7=o%@W^Sezjy&Bqj#T?MCTDdtrm@TRcE%T`{u}yw-vFIe~`dhJpbo)TQwV z6S21o-GhxsbVaS zYhOT{(`IP!a!NgI#$4un_7?@j$#PrzW1k{I9XJe<0?*V zNc>M-tuMBje6a`~ZPDfwrUn$vfft0z#;mDDsg&8wbyP|Hu(3qki=piL)DHbj$s8uCp z8&JHw)ol^KZA|@^y6*3W{0XU(g*Iy3t=S=S*ppLQXXj@Xo85+`>t@!}rMILpq-LYC zB;;>nqIU6rkq43;LmgG9;mauYoKceZz@ z)KnV#c?%*(>K6FZVN-Mx+|aajyF)*2Yt!@eVTe^4$W3zxdstFy)w>JG9!79*p1i&y z?3uU{HPeZOL+?$q@;pI>EMtl^fY`%UysNdfUJI@1Zq+>b6@<}cK6!9n6ocehw_}1; z>SeiubJJo2V8tCN`tr8>)Y`hX$QzJv{`ID&wY!FTZKzzI;=sW!4H#0~EKd;6IUZp)%E-a4N=mGqnZ%@!&yXoWi9sNXE@`h1n)e$c zl1O0Cf9;L8w3RQ2`CI{?Mi;fh>(kSV{Kw#MnGAHEsI7j!w5WX}Y)Ky3fdMPpQ?I#; znDCXm?mY}<QOetrv@KcQzg@ z4FsgY>?p7{qJQR$tv0uCZxiwY#9B)k_msVz1jdWf}_`%5dWm5Opz zmd*6kfZ9u-5K0@X=H=O!1Of|Oh-g*i{9PcvB2Hy6NQR1vR3NHS=W2li{{!+!Kmbq@ z4|9RN+>n!+XHuGGacfRJw^UGAKg1))Q()$sm(1LYZ)Srhfkv2+3lr86FBH#&hl9eS z-ECFUuP+{oFB&g^nt9=2ezfcVK7-5>;?CD z4qOKALfW!-4A|iK(8HNW@im8cO_e^u0;JpRaSfZ-W)l2B)X)E+S&n@0}J0A4GVhT5C^Tx zEUhR3V4)*XY3rNA(t#%Fpg?vG!MORAg8$iv?Ikb4@zG74DY&o#D)L1K+yoA zbN8^TdR`XhX#g!pE&Z2Ux0Je9`mLiRyUtqb)7cAZbYkZ!Ck+~jHKOob-wV< zd=3pi4$$fKKW0>kW*_@Q5MkMibTg>mfb!$*HtcG)lij=PuG+V_&v9heSf}}B7b$W_Qvi4FbR_V6Y!}sAX-SLUtX*9#dzB~IW zq5FFA6kxAmuQ6Riptw0(dk#CYtJ&3TC)>&H1+dB%<;)yo-@M&pZ@$%IAHL4I-j!r#|$)wn(4x%F8nQK(tJ99u~Zn5MXk5vBc z;nrDC&A5O_Rd}a(ce^q_5*O3u)LlS%J#_tf%f|fTZp3WNAl0YZuZG{p3-|8memHb` zY^|a0+!3Q*edSsyrUyu-vCl;nog`+vTrngrMMEPA7pv5TM94F3p=%GmAIzLbn%2vt?1OaMs!DLvZ&M{ zbra+Cw4;=gm0L0MBoBP3Kq(M!W~66?Lcj1%MuxkA4b*T2Va zqUyJ}4<9byh$jf7-c99Re_X$(XPlAQh zz9(Y-FJxc43jr^gEx+H||_Xi%AQ-d7b1r z2?$K0=F-5|z_Gw?z|T|&D+#GTK`usVo;(+@Ab*l;UQ*J?g>cvMROG{mnNHz83h*3H zfG=`lj(|hC^yxcF1p!&lT3q|_r1k7I5P)_TBS4yMfNQ|MF@kQ(#we=&8xtfrwlNXU zw;PiP{kstvFWlP;=pMz!p-T3~1wE%v&`9btYwGM8>TYdr=@lpF-XU>O!i}+})`^o< z?wHo@?#?z^9~v_Bh1`;7?d}oFQ-pfEj>hR)ZF8<KV0rsqdVib(tMLQ(=k4tG%Rs zoEqKO+0l@o(Y-<$uAi{0ea0M8dn44`w-*xVMov|NmnG9WsPEQy9DYK)Aa0q!T@qU`wvo zb?bwI%dqg5$VQP6zY`V=Zg{Hc8BcUL`5AX-+i@Up`6W6%U1~~~M0=LK`n%uJv-6Xz zecv~gLc@2H!}2ea|9P)DLSvsKxg^g6dXVoY2UwE|kQ*_9Q?L1fpIh($jm2Li8@Y{9 z8>|?)F<@1U!8SHhx{N|aOfdS4zB2O4$W!mc^VGAhjk+lHJTE;8AV5oC9os}r!fwTlL-9=$?yMtbA5Fq zE4PxTEfM4i_=>?>^IvUA(u9J^WRPB$uHUZTh+`4(IXi(MBO(DV{k0$3Mr(?a>D4T# z2eBZQ2HOVPFF_Uw@{rsO;(tGvwYHj6-OUMM&u(mDvye@JLjMPr16W>y2Xh7R-_+IC z*XG}*S^NKt#*&tQoITrz))M=$wH0FDam7%5|3A{`>(4}FkTeTgZ^-Kf%URB zKeNds{E1bGbk(1m`@45sgy&i43avI#sRMY-Unx(%_98J+7&W1+;|MR)kMG`z-~Zo9 zXy0d-)T%lvDr&^2Q4wQ|i0J!$hjHa1`#*Qv%#)BSeaKrp7y>i^prC+Ekc1EzLQoNc zj%UQhLoozQ1VV@rA{im17$m1+Ss+9X2IbN*69{2J2pd8;FsMig3Mpe1AVd{H)FDIz z2DNBK?K)T=2r+;VlQHNkU!#W}qQ{<~U;N5`1EHP{*WU|B$Or{QLuiPBFj4eXBy2_T z?MT{(Peu69#*#>=x^;n7trAW#<|(2v9AkAAj*S>=A*F19|*oS+@OP~ z*3E*ygn9|Pu{q&Npml^RgfHr$1B5#`0WM=e0gCn##p^b3PLhDwhO5C1;oim_a~DU7 zzFfYC;cT8j-1u-Hg?Q-9#qd`XrpWE6!1b?+O19Ri06`FmVZb zhz(&maUt=P!0(0sqeu}XGf5!91QH5$2|$S~#J`1-fd+)g#8SkPQA(1@EQL)2t!9&j z%rHZ%L9?_OwM2(ymg}i;IP9cde^%qdEfgcGx!yf;IRjp z(G*7FQ^#m54XnsW6M9aLPF}w5$dQcEjP&;|X_9|JK1 zvoRO*FdqxB5R0$`OR)^gu>vcx3TvKv zB7HjJ>WnZW<<^2yK<@4}s)wK|Rxn?t<{7~?3J~6cnqsO9V(r z;Z&HmOQjsx@B-E`ISlP^jH*i`!rs{r15wRhmkyW+C+&DLFa?+jOarFV5NrU04B~m| z6_lQm>be;!hwt5$t3{&~oG43+$UOs@nBZYwDp;3W!givxt6JV%99K^#gNPt90 zf4-23k8lVxHV7aZm5A?ErVFTlAqQFV)E8y4g8~81}1Mk9n zuKQR+Ef_b71f)M4U>i7y0xG$MZ}oJL1tkHqteF=*2vS{v3dBJ?41)wngrtH>U?hpG zg4qOeNNAwerkjul^I-whLjyEIldTs+U%`IhFbosnB=*$kKTP64 z`jA9A!4z96L1Z>LNfbcY0Fntnjkz?l?o=a-_A|5@GpbO_ItH%=_E8lkd?$`3ECeE# zLe?yyYM8NP6P(jjJgD)UT$uX|Y7|$VfKw_c+vf`A8l%-;346I9pE{SR-6u~JK9spl zS=(ddVA8byA?N^6n?|J226bxW3U^aNgR9oTYgJhFEus<2h@>UV3rkDy9^6oxzi4~G8CU_vD` zsGb3;pKGm}usH2({#*NS`tk+XY+MSXY8mJ_1ej?(SM}cuWj?0j$!{2#O$5Y-tPAB# zN*bJuF;JOD!04U=zPv}D$)1GAdAOMzIG+bF@KLRKZg6*Rk4W@J)fwy^8M+6l190V8 zvXj@$1x_%}&+GK%K1KO+1Yj^B0Q8}h>Kz#>%L04X--&!jwizm;{9|9r0_r```dS0y zpryrOt-kDS^953{@1jF;9n#dajtbT3C@+3qo4k%iJl?5emOO#ehA!7T;!qJzJob$8 zosqjPU{m9o4=-G?*`fpXouy?k#K9K^52$U9$cAOJm~rxck?3J_&tna&6nI1Xd#0_4 zy$e%#k>S#SI`r&C7-%ko&55kFS?k~x4PcWt3m4LHt__H{T3{hFn0A}1Bzm&WxA01YjV?X-$=w6|XZXqJg?wWpRL!x@jr!Bo zv@t5Xjy?7Qxsdsm6zy(Hr{YepmQ-~`){#msy3nV^FPMPk^l$q z|EaCb2K{eSKyU9sx<5~9+dAD3+C=n<1&`V5izSJuv223yabZM=LCI}~G-BCTS=lS= zW=drUZ)!HH;85#`lfAmlro#Ksbe~PE`gF;N_Qks~yf+4$Gi5^-1~WeL;A0b7NPpUj z7=h|T>Uwc?pjN|>*Q$w<*1iBYyRSdHRZ%>R=AGAnORW4{N8R=H=~3TLUvi~dEa23n zjlE70oa-#WRq-79by&gO}qos3qkIU!7~|I0jFU(3_S$+} z?+h(f1TyLARCaD^)x6T62&xBb5PNkeV8K&L4p13^Bf|q2vkopFd}`SFxE$WhrXxue zwWyI)*UGf%p2z=+3@>K-d}>6L(33UHaWnPRwu^@H3^9I&q|E>w@EhTtMYuV{7JOCd z%kiP%dp9N5=?Pk_Nt=@G!YWg^99CnTE!!4vUcDDFZZz9hcqIOs02tQ0VH*_n%%9dP z*Deiv2751h8XM;Ty!jB3O{-2eE~6$^`1e)V&jj6FnWhDG~-iP7KeSvG4wD^98zktuqX`vRM^{GSL^#` zKNXZB-Vtx7!Punl!cPig`e_Pu{m=Tv@7DnhqO;^H2l;1esD2h&Tn2Ooz-Awkp=s~W za8r>WXzOD?iIM+|9QN_qX7Uoa;K!|Vp+Z@-2>8&;bq?ld_W^QI5hrLDo%=JvDM#>g z;ii5b5OD5!4bH#q8boa5CX*{S;W;@-H<+4!^$q^q-Z+I7R&{a0uZ{}9F`vEu!#)QW zVFJ*)Ga)z~4vJ>mayo5uAoFS4nQ{6BN+;Ce>A^%9PLhdM&mb>aZ0&ybmsFOz?X{v= z9gtbKJ+wWG{|0Mx*_@jLTwu95R$Fb@Yc`l?r-K$c>Zr9&Ic1#>t!wa=2aVAb_Q$7* zC?`jem#-W-Qa!p#6Kx$z{(S$VkIh$c#_d5oDe{;DI;uo=Aw8!-gu5;5Hp5 z1Cs%pqR6R*$&w9`BpinJZElko7O@AFpxOwmgb-&YTsoUn= z*MUd!C|^_#0)O?7&`Sgbhs(re#Icd#fmU}F$+Cx8TPBN!$wqg`i~@5+LGe;>a^pC- zfR>E>fehhdTb+O+v1&un zk-e;jArK(-*eDy38H&dYcES`aV_}Hag_T}1e1wW)lp~)`x-=46$+86AtL_w(jp#9X zlGi#dx{zpI5`_)LMFC^CFJ)>ycggigVHcQ!2rm_m0V2M|FtY*BfXlO?l7nF_16GkJ ze?goLhl>|eVa6{^Re0o5JRR`f=C&3z2E`&3)v}du8&4wdji1Z}0qW^;^LNghMFQwe zhZPIk$}J+O_Y(h#PDA-lm%(o>aZ#*UaY8I=j?RyK7~);qF#xisqqP~-Z+CqM3D(VCJXmFeVZqAL037>@o~6PirM?zoJ`Y=|wo<4WL5iq8v0cxV+{^rKTyAIP7*o4q^*2 zd@TZ>HeX`9Tr#eZNK)ZytKOQ~Q>Z7NLw)B3=zA~G5B@?w`e)M5{>x20|L3KC!aFOG zhs%IW(Z9kMmu0zZ4#hbQ0rR&N*+gAPB~+dSdY@^4{BN;SIz#jxj=T081#5W*6ki~J z_XN;IL&~ay7H+c+&?CR^IV_FTje|NVa}hv8Iw+AEF5`s*U(5mq5y7KV(ik+3oZ{<8 z{i@%*aYa!gfk-S$5~)O5ky$h#+8ZYpv&G@#zvx0mYuhZ9%*_!+h+;${`-e8a?VGNnuh1r!&Z3B zD(^buy!E!*VZ?`)dBbWOEw#Z3#~ioT1qd<>69ryPloXkV#i1~$;#216M8r_58AUHzRAQrxxL|L$qg#yw9fdrd3kM;ml0zD=5+dje z9m~>4h^pv$+$T9*EG_~#pyS}o0Yo(P79uPRj{X+$9$YCT%EJUk^kXm{#yDP{8_IJM zOOS~!CEMc)%`xW^h>A>}lHoChNpS3n0jkmDgDN`RK@Z~5HE9U6TPUM&*z3POlIXg6{6 z3W`3utoWF#OUg3T3ykGGAbNYvuKVM$^Gr&>s@C)M#)uEDEKi6jx*%1NjCd74F#Kk5OH6NB;IV-=6tuuLO~Jn5;N*mgelBybRa% z?+VS)GSqU2Ihx0Uf?g?FG(sZdLPmp9g1|KpE3>UnA>-!K62wUWW@&XH za196o6;aZW{wX%ZS@UiMyq<8~E!U$$t`%m+*vMXUw`%*)pPU7?ri{*#09a~?&TYGA z9_@S|5f(HY7aTT{y95@KRJA04HM8=5+dm_Q_`P6MAS2G;spH;<7wAj*+~hzb$Z@J( z9uAynPv`gt@W?wkTH*sKG%9Lf$SZVJROp|yZJ_+9m*X!*2?Db^UR`cG3vrN1VyR*a z+@T29ss?uph*v`d zv^P%x!J?%xv>QiMxJk{p;EhkxVoAA13I2(!v&hT5DamTEJ-^8>5GXtsEyd&ZW>7qO%3=Pd zPw~4-2tT@TL=>xj;2(bC?8Yp%vn7n4TJY3eXrSf7t!N-u7Dw$f;tl(YreC~bL!w`1S5GOk*Cew^DceMUetAM0skMX|{ND!9j{C zdEeNdWQ@UkAyFjtx6DgV?BppqiYIs_kLL$vDssb!(0~Rsh!e2i|1n#fCf2AHZ5Q@t zy;FpK0*)&nuI`g-9J6*4O+9axSPQ~qA%fh+TAe2kCNqhuQf|d$NuKtRNoYBv5~Y53 zLZ%_a`v*sXn&?*(ypUawg|=IoN+~=(9y$OJPw72LK`#-|06N@O869IoPI|Zs0dRq( zJyqVtQQgX&>7gRt8>d%ABhj+#$+)=8Z%~q`$#u>M&x*<&roqV3au<-C}-)JCf9_J~T%a40Ep14O3LF_7s z9ddkh{juwKs~zjgdA(A*dupxXAl+K|<#jfPA=u8wt#b;D;2yNcEI?O)7c+0QwnV5f zh=-~IDTz?^jr);H$hV;Fm}u{fLE;oyZ!PX1g*c80AG=LM^iwT*@uPCi;+W712Bkz* z{U63gNzrA{34;EvT=!+N=2u^g8vO2>o}(Ik`6E2=5EPDytKa4A|i)-}*b&=?CjMh&M^J&qQmQ)sKrA_16o-XLZ=Pu;@- zW$AUz{B9iaY_Uh@$4HO_to+Lvx5g;Q?S@(${IfmK2v)kJibvNbB$vR(`M;9070Abw z-&Pg=$l0k(GH+7m`P9INN~Kd@X@Xk+_lBF{>er~X6r)7*=>*xQ5KO-T_90N|wEDAB zs~(ikCO^&8eYBEp&5UxwsGN6K&b>?C@sf1B!Eh)Lv2@ii742>AIYZJl*_5NW6@HLd zW^xcIz3!b1%XPmhXN@AuJNr#`>-wcXX_rT@zSUzQfWpxw2B(Is8_bH=kQS~2l&%x* z89DZ1xko@0mB;mwwAun==IERMz>aX6+?yS{>@H18O=l)i0rjQRbCxJwWz5?lKnZ+rQh94sPr-#xDeW z0&|?oM34j$vXne3Cf3GJ++s242#tIxLaT#^yt^EBUCm;3Ek?ErCrC6EuM{v#W+2r& zH`D(IT&T3(CU52Gw)}MIkxRjgV{=TPSYy)emF~Fh6_JIHFt3N~`aIQKb{!z5M@NH= z)r~qBOW5`~?3z#XB$s=s$24d{<3wz+=y)~cG?b$UY2(0(8_1HxB`6&qhxcQz)7RB6 z@XHDef7mn)^SXEAWH?;+w<{;y6YK!XL!}u*x%;>N!v?Z)DpY*(*;7ODGB8yTyV*Kl zZMmn?544*&apq_+(!K~`R4;ne)j%>vTaythjtNFTg(mgjr#0?iEI|@J$I9)X7uvSI z(1k`P1j$E9nKLGP^%y41{;z3${rW_o@yUeN^NHD;>WS>}wMp3Y{}ht1Z8C8n&YpLV z96uG^f~b& zeEdX|;~r^o!7J#{~S1D-N;-__= zT_^1yBLj1y_3QJ$<784em1EtcwgcUunek0ci+(K?)_6D+BL+!PM;&w&aC*ian>4JU zsrMMBj>cDYT0{&FQTaB~1+KXG@`X+fWLx!(@vJA;=WR!dem@`YZ-k3QH>HYrD^d~% z1H1!FHg(lNrmIF87Pezn3Rg2q@Lv`Nu-)@6i~FBSd9y`DdPIe@RgPjtucMnCqx)7U znC=T4-S!GdC~tOziSI4dguN)S8k;R&|G* zMQ}NQ`}OdQ{%uIP(jKaGP^wOhy@9+m3lueWX^OV1Ev~|@abcQHGUF86I9+u z;wndH8#m~dth3VnLjWojxl7>8tpQN#bKvmMjFSRj*c7-zkgmg~jk zE}1fVv5c^SWPlqeBM3QTP%+6cD^Yh_Zm!lRDBjw3=jUYDGvn~fSesd=bZ1qDmrc~~ zS0kwdfPAUg82em|Ev+k=-(C<`;4e?Rg}RVCrW6Q`XZ|^KKXF>mWVpw+4o};qGNdT8 z(*{nYjH*b45@Z+CK)p7cNxend0Nvr#mpcNiX*Pud!Wz!UCu@QYA~hQF2G}s30zPU? zZWjbWYtIdZa)Q*C`_XdrB;EQ&eCK<(tAR^xeD|EZu`=6s7T!2^+?GjHQ%+uiPRw*& z6Vd(8#h&9|PHKy#(f_YM? zn#3G@I%~qM2G`W11krhMnb{Pq+mT$slbW2Lc@$`u- z6*%tPWUbk;ii~&n0~(ZeNk_p}n>m*5#!g;Bv)g)uxImn}ieoph#7Vt(scOK=n`GLq zn}7fsmEWqscnF_npGP{H8PyF}FTuejs2S|OO(1n3l_2r2PU9rZ&HK*N1zb$Wy2#Ms z8TzfbRXCim?ht(!wPF0|i6M1xA!U0pi?h-ZsC45-3F_iZ#=S=$BoG&uFd?D>9RHtrUj8knc{yYnD1WC3l&rxuMKe z7HgX?c(-U#KF)%^*>kb}A|ABD8Wmm8W6}Y9C`quMSygMK`L;gMtaOo%NBH(US*oJy zU2mvCZj;HNNz`Po;#y~+zT%zF1`(Fv?;mY0F?jajZ;3QqNYKq9<$TnAld={Sj+(PA z=R#{aCls5>Ztf(1Wryjj?pJ#yY%k8f6Wf=3AE#+7`CQ;h!-sM88@s4vYzzZ3KJ^)6 zHp%kOY~48X_QUO@HAe&*LF30I_ha}#f_;mTIoAN`j}7YFs05rSmXMJ6GFI@1hqECn zas!96I5KK6yk?w9W->7BV+@EQGoKtCIAK_d__X!WO`5 z$J?wm(lnHg~4PtIo;vwOt3Bw7r&*3GbWF*QTg-UTNLw2tfUbqlX*|fo9Y)i5r5){COM{zRTZ5an2HS7ZAXT4> zd6rPRi*hU3YzgKYJKpzuHqkiBE_fnf`o7+@g^`-=Z{}wjMH~O9+Qr!6Gye2q>rx9_@#wvWuwoaevMS(w|Cfm% zJIi<4le#TC$g&DP?DY- z*E{z?iD0iFUC53>G+1%0-y4Ha%Qi~C9sDPrlFUk@278sh#weN{U1-{Q4@;4%U7b9OiN{my6h~$`u`X3B6l-Xd<^2+gOjA;Bv0r&q;!0u@H zj&2NLK=krFC4!>NHYS6drx7g2wA!Uvm1Dv#UQ2YdsXH*{$*M|h*Ut_wTpk5X!1mgS znmjUtRnA0Fn0d+EPUWu4`8LjlTLC#knR*|%|L!_ z%}fl~5UD2PY}0)#W*8%W=%Kdn3Fx*1n}Yl(1r}Xm1Ofi5k^&c1_v!c`v=Q{1>b4U+2SdjBmgmXL7FY zdGypqrjAoTB^o^V*q#&TKk#f4a=L!A3w{!CeL|kFBvP~ejV22`u2gt%8E8Q+xD3)E zb#f1C`AP{+93R$K$kR%7ig^1WSA;jrhXL2PLwPAh#Q?L#r=J8K53TizQ5ruS5gQkB z1Qc1R2_aInZ$YT~;@rN}4iZUr4Zy zww}GOFrqrXJ@x41A>KUV6xml9b=IJIQp`$9AmK)HW@lzcO7gw7ZH?5t2D1ca$t}vW z$Ok8mFOl0LnNen$N)~iysR+{^!kY`${Fd4KFc!;J7^A;<9{+|peKlM1Wi$r&yvx6> z_=X}|nvCAQL)#>PT*X%`rM53X@Xr|2l=M-5H(6!KQf8aX3J%(M{=KgY1ipsm(g;2I zV!Bc_&`37MyUa<4>O59mY`*C9p|API*p%c#kLo>gxH}vIM~)hn9pMBffibFhIV&=* z2WOV?uOf3!>7IP}%>H{jZZ<2DwY*rqYC(ATR17{ie#D;9IYC!os@G&USuQ9qc#H#6 z4aL40dh>wiBb*M$`-ulkz~04x3EMJMcjUME=^a8BE%RL9MFXdrWFgPi(T57Fzn-)2 zE@vEZ$9XZ&9zqF>8lK%(A^*MNqkd+`h0lrJ1AJJyl0;^Ot_;rp%pJby+qMr%kCnix z9YivvZeKOqFmo%Hj9tKhgkQPs>!O2h9O756K^u>sIOaWeth|58j5-?7VBceOk?-Xt zMcY-Ieyg<@_p(Gt$6jDS75>(5i!h*~ZR?m>guXP1=$PrpGX5uqc^F-2B0OKxQ9=hQ z%$j58I(GcJEP0C2V0=C$?~f(gcXF4^_=kNpme%*O2lb)1eIh#clE#PgS|%09w;{iY zpQ@%YAUk=+N#40;tzbF#Tq5=DsxiUO(?#otTVBsG+HPFM&t^rkv0{r^#*hD(SWzQ; zLeWjafphx~vPsx!3`oLHJo`6>V15)^@bka$)`LUj!5IRwAa|?#{s}ISVDDoj)X$i&;xw6R0nj z+^t-uq0m@4;b?k^CIb!6VbOBNEEGogK0fY~s9v(rg6YIpgBZ|7j{EZkN_Z6sblB=V zw^0xh#t0q?STRDj@IelaaT1<|Cn=;k&pvYa&1O@=)sV;#Y3rAk`t3JW%?lTt*hJppN`pxbX7t5OT3k;)kd35Xpj4qc<=_tzWO19O(N>}kn zZJk!GazSTJSuYKbi3IZnX)pDTCIk^H@^CyML(1kx{I&@A;|TPg2lEhJ!gp$TV#ec!Xm*u|Y8eF&))7oPlCB7tJ1?eEIS+EIgesb=KY9Yt|1BZg$)<#LTJ5!_f z`cfJ}fP4Cq#&=-4QbS+e=zGE#GZ6)q%%DnStdz4tU8x#lIW)mOqM`OUcLae&gv_#QxrVB;GH4 zn9*pNBrEr+`>a;QhPQzh%j9EBDs#ZzZ!^#G2h4-PZ3n@@fInbfZ7eZs7`f(fpI}0Q znbXgih;L6Ej-PO^P~H+XhwKveR4Qv#HA!$VI7jIWcN|YjNw!(#=LuI|!pfm6Yur#Y zCd{@*A90qwfnnk3wk$)cBSXWM^C>`FEv{)l~wNjqiT|(6f4Wfge zS+!{q1kuOqKhQ);Qw`3fLnOq;27^Cf2&i#_L_tEdg~ANqTZ4WQ)lKG}4<;w-9T-B< z&#C#iFk!?q@VO4H*&EKJSY$)Co7`?PycwKUTi0DWp`*2Oo?>3h@RWi6`IB4bqnRl3 zHWwJM7cgMpTx2({MP)4eh|PW~zHJL%s7+K8V?OkWIu+8SaEPjP$d98{`yw zxBpD)In+<|Zg>Y)?jVubp<_|YPk+x_bcwK{^o?I(=MEx9sayX~!GRGb3Hty8BH@Zf z%fSWfdquf`51#bQ4Y00sTcCJLAjJD{2M4II&oG)m@cV^-b1u>g7UmVB5Ap>x>=z8E zxI_bo51%A|ke(x{% zrPaAlxHF9hRM^KDHHLnp5%Hrhe~hJK-(x_<6ZiZ`W57_l_h%#!cLLe6N-KFFtw~TC z{(FFK?p!Ch(UZA!Z7l35x%ThAJk)!F$Ds5Mm7Z61lR-M>XbI-*=phy{vWV1+L}{xF!NG|Li%2IcE-#u<1s zMP|7&$!9iJ$-3xABM-L5l@ut-vNRd?3b8Iy9!Sn|CDC3tq~x2NDHyYInq30bjal{B zm?7)pYS}<2CUOzRbza3Lf5>C-DA-42j8EsoaQBaN`R3pHNM&hhAykjr^O`D+jqyS9 z+{oEBjz?-PP?TojO^%WwPI2_yLiz=|DEAEvmVcXNK*j7Lu^sW?b$gQ{u-q*tvGrp))tNZ`gWb-=f1BEAuxf}>}3 zz}me;^CuB2B6gN#4AoKqFYMT`Fzf+*I+j)>R~D*N6Q)O+DjZR1%ruwk4dy^*e6zrm znkv5onnCc4-wc%uad_DUq z-(8V9$0o)jCP10cFcBnq6(IgE= ze%k<9`pz$Y?muo^x1fjrC97^~@V5r&!*SMg;3D*W80ULRiVOG7ewMR=oy*=pKWKU! zxp7=H4Q_mke(+RqUa;=(*bB_h}b8%iIc8MN4^+xINgZiHr9OxQ*+Var@(7h16fJHv{RLmYn71y{lI{w$6GyH@& z)L^wPSYvhI^db_`+^|Z**SR#}T1p(*)>`TQ^9*(k2hwlyob94Dc|e)d>UPHePCWCc z+g(PsflgfO)a3Ccs~U)AsR-3OO6M&owW5Z&Y=-~ipJ4K5yRc@?(>4ya7jAqe+l#ev zo;GtZ$hgsG?vZSVDx^-j-!SM1t#SIb191z%4z{=Rg&c;#l>JZ#Rg&$d9>^9+M3DVL@&b}IvOuY<6q4ijj}1>cKk>`}{=%0RHs8G$ z1~Q(P4&%rC#;Gdc_qfLd7By9q<-=Ekmya%w_&aOj;^zAkA^Szw-?DkXE&pVWD)?*? zsFlQtzfaaWeK13Bnd#Q8Wc_sQFd=%JlR~9HV%Zyef72Q$zmDc(ctK2sH9F8IZcW8 z3}>}T(L&>t=4YN>D3`gN@^{akfJ)yrylLunm{3)iJ-5DYUUp%6fTEAY3nyR;pYAe| zqVw9+o^sg~t5v<8itRs4-qZA3FoR;CF=c`bV_h)?P0<4M33Dn*b4ry&xu(26Uo^1db&(@JX0 zP1gFT_9Ylwl8jjLIfT!5W^w(_(c>l8-I}x9*e!`^wP({Wy$q3CP){SJ92-d-C{rVF z=n(VVE#GjG|IVG`Kk_tV;%C+2tR74iZ+?`jaTetj6t}z0C3F zj_OD5FMMmfr77jw#FK@NNW<(m$@NKoV?l*jqpjgMk|dFKdF+{~FunCw!TV8z5psd^ zjndehbdMy%7+H)f;jH>0f`NUEF?dpFInY2IZ8L7iYRCcGmTA*>89yh@$NP!;Ud%~e95vZe-66D1WH*t#dQnVcid-)p+zT^b*AQ_ zYf5-)%r!TszCLHJ%Qa!}mdtgW%9&uEs4gp0Pc)kY4mcz;`y; z7i&oA#i7)!?Ub{sa$!u;#N6x!-|vPv0Zcm~R6Gz0A1H($FC)aanJAzr^&==4;Gj*= z$x|Yx;A9jEpwMyb9wzPC*_uCX>`g-`H8O87!G=eHSOYny3lHP^yG%EyLAr8Wj?jo8H z0BU_aj>SZd;1*N&@ggsl?mSYoVMkirMG-w`ot=;QlJ-UPy-M+2`Z1b~61fJtdMHzVSE_zr)K12f!Qmg3X3r zL$G%e21k!Go0zOdCM&>VmhKHL%*NDBAUnZc$Yw2Kvlp=>Uh2YcPn-6Z7uthHw_y+L zy8lo7Kfu0GEVaeQIiwOt+`4EF_tTh|Pr2bIzXY6w?WeG+`*td;@x5?bIc^^d(~keN z5i9UIpX&PK6fCpb>0kV!Ew4s&QE$GpTu>-5pSQ*~-$TVOXkD z3Vtly74NbKs}Bnbm$kd+?avqT_r$&Y>uk+&cYbAJx;TW!iui$;3@B`s0TYK?)9xt`4*%jZr zy_*4!r6nEJba|uYTI!oiYt8S8C`O+4BbKvTM}2|~0)^||{`B3qrmr(&Zu*C?Y^lF^ zZJk{)#b4H^HW?-=)*a%ljeuH=oBs>Qw4!~Pm!zxF~C~8*@KZkNkKI(FSz-Jy#g)4%<@TjHgGF78}A?s_6e2>$2w`i4z(I? zVNC}=A)p)%wTK-{Mr{`8h-;U{0kh|EMpf?&m@l1~y6xgj^0;}2N!yVa&y{*?O>fp7 zPbtRC-=uPEl|I`HavC7!Uj@I^Ou1{*dS$^#1vbxvZ{$z08m-QnGmkwprzxg+h;)Rl zTtvH@^8L5g8$T@QOll_9GbhAVNQ1H+=YrAOFcd?gOjy5Rarn8^sVRrD=0rE38rlwxgG}TGD)+SJ~g#d>CgN7~^Cg;)-=n6n%Vl4Z7V6xB3-~z5nay4uE^T zmg&zfY)tdyw~77w+@P>E*Ppwvqkd&(uyj>MXMNs6zfCqZFyT(<*NnRG-i(3Lt*c5Z zYgPq(n_3FQedhA!bW47@BuCG87Q^O!SzvLvsB7Hxf_DeJFI)=jFSMWQfBD&-u>L09 zsD&+WVQ2m7OS>|oy*?NDwywBfYXgD5PR8~hFuZ|QIJ_7wvV@Y4qm)F_FmL0<59&C! zbV&&xPdD89cma#0XJ4@m4IY{@w=^NbBf!;k`a|SrnUmKV$|;fmKf`;`$n%x7A{v~a zVF^u~0l`FZtFYY0d5imc*ob6z#&^!lZrM`a>sVQAWkXW8tT&}uB)K}rHqXs?>7{f9 za%MS-^A>j1ugMG|0c3@?y-_5<6^RoP9c)8ngngP}eDfC;& z)eZ16E3paD!F+R7a-Ok9k>jD)2al$E(>JyE1v3U6b3x-kaPm zNw?F{B7Tmw4=ouj+$t8kE$ktr%zl_`%hub|YNF0!*UM!2)>LnJ_-$WT<~;O%y?=+7 zuOeO^BY`D#OzLbiCAz6cBa;m5jjs~z7p@GFiC$vSma&I&y6R45qdzo|;YP9RRoObu%K zs`HOTZwId?Z!B?F$GwjA7~@MXYrf0N>zFO+&(`ld+%0b_L11?jb=gEbh};KJGE$yB zLoe)TM_OTNR#Rfr_X0_CM!mVXT$zhWT$$!_O;5@sUWfD>!?&`CZrMa#mn~G3o&rnv z3r=8Tef`bf&Gt(3WY0%-{*`ITC)KNXlhM}5QrnYBY4gHHqekR&GJ2GO=oMfet1+;Y z99j=1Of@qX~n>-LKi8#o>CTX&6c|9^!GZRw>xgB-ukH` zJXT)h*3`#LeB5IQwq(p9j><>7W>zX;t<-*FKe4yY|KiGqT{Ft%RK(1yyl~h=5nE+? zW(KvGO+^ftJ|TC9*oiBT7LdI}1E~nN@6}9Da{qiJGbMwi)X;+KfJPQ!}L}K6}3fF zJvwcqKC^ZjI7E_H5REU7bHclitamBLH&}0;FWoS{tI=H)KMj7}xZ}lNgA*cn-dTVC z(cAmSpUd<~$wkZldeLXIy&^{SPy6j3>|f$36O0LmZGmBmqq;a%TG?bfr*Lkg!#Bh( zj~hExi!Xlqm+0jhIqf4;b#zu!$cy($Askg z6kpBE;m7gjeItuE#hV@tNK7TcE@?yr=EO@^{N){Z)I>Hd9@*yv9}mwQ>9;E-qB&Um zhr8$-!j^?e7EXiR`XV^dr1xL-?NW$@V_%YOj&X%Mg2MuO_~Xdn?~K^h*S9O;cJ6-q zr&{f&^d%sEWUB`U=S--KuMicVoFu9fj&atJ4FM@_y!ueV)R<+3?zq0`92u(jqW8UM zJ#@ply}qd5@sJG$esPID%c40Mj!JQEq^xxB+=(g6K4LbCj+p5pQ=R1J&T}tQDJ!=J z{I25s&wrF(dmB^E*-Dm`6;_nHCn%~@Ero?9u!7Gh1W#k>tU~LO>T2tfS%sy6**muS z{#ZkeHDgvFpctdUpAryy0Rn)SG*|=dc`YH?UNPk4xb-;&GuWums~0hp)$^xF&rYjg zQwky6L>Jg5x?og!Sm7%ZPgrf@!4=fiB1SX*FS97hE`&9jm^JuTftlIx8i<$Vz-pA7 zBfci7#1B=~rNT^;$}km?T>!hZ9K1NJ=DY=+s=GnOjQx8~cJ`^9oQ!XB3L5t3IE3H& z3vfHSWlV0LLkF-JX=VVfDdp;K+ z35JRQh!!CG|G#_`0qV|{Jj7*MXqpZh(h!niH2`uV5H>eHa$N)hL(Y-}WhpG9D9g13 z@r|kjF#0Me*Z`F5_5H92UAF(#35f`(g!9!Uge3Utw)$3x@f57(GSgQTrB1|w3t)bZ z!{{1QSS~)aWx=BHKgB1@(xmJ?C;Oo|C+D8tU%-5+zp)6TnGi`&0ji{DW+T6W7z0i! zFf#}F8T1%%RDpp7Xbc@HKz`Vq06YMEF9c;+!D8>(*`J6hfQwGpljblg_=|0zX<5Q= zM2u1Z-h!-TNMzX3kT76N@glZM@oTf;42VI`ffMBIB|5zTex_?LDP36zXMnF7f3XE_ z(?}*4S4i>N5|m8GPl75hi(&e{X->KxPk_$=R`I%cL%hjv-9=RB3gnw3xD5!NVhgMW zLM?zF;bOOq?1wWPCU?^gd+$IsU9sjy7Gbz&0_k2H}g0c6j1&21uK>ybATZ(N@^xE_2u zlmw{LU-i-%+bmE3-=9;yFAH)juQa8@_gR)_#Gz$fv^;gXlAuv?JrNv}yzV3%oqVlc zQ`47=yF<4eq~T=#l(dOepIPF1LJ3IgrS;-^#g&%7Z51^}#?mxtn&fQPiA|B#J+WPo zQ=mS3^-as(bZLHvjOSPaYlNhj&?sOWpiKkK2_|RL7%D~U zEtI`9O=`zL^jr$h2&b|BnBE)kvNB~D;?418MlWR5IFT)fr6`_H=s2{q-C!@Vk6Jt> z&X;yQjUO z^3S7M**#00{g>=r5D(j2C&oye==xB3|>v~8A z^=GbL*~=XxTITM0Ue>lRoNETd0&kyMK@I|Vyfj1LU*H|!Qhy4G6UkHQZ*K|79iav0 zWEY8-h^kkoL=R~bVzL_se54bi7owj}4sgqm(sm0q1Z0V|xOU?~1XiX~2K6n5gVd-C z+yM6J2&yg9QFObf0zQmm_`s2(R=|dqMIJFctZthkb#%f53WhK9#i#c z)vUz;5jE8(B;s#iBQrUnF4H#FQD*n*)2)ryV?zcLjkUCO`}7l$P~gIPc1PAyQfk(E z`pKWDjzYa|os>Mx9DGcQl(HzHyd+WTSjozoCDfrdSF0(gma1GHMP;x>E;fmLj!oMW zu~G9!5|d;>brw8;6E0J= PiCXQaGCuDiECB!jp(Men literal 0 HcmV?d00001 diff --git a/packages/ui/src/assets/fonts/Cinzel-SemiBold.woff2 b/packages/ui/src/assets/fonts/Cinzel-SemiBold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..b8d785c88e60aad17c516c8d121c8ba1a405a62b GIT binary patch literal 20984 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 literal 0 HcmV?d00001 diff --git a/packages/ui/src/assets/fonts/LICENSE.md b/packages/ui/src/assets/fonts/LICENSE.md new file mode 100644 index 0000000..adc5b00 --- /dev/null +++ b/packages/ui/src/assets/fonts/LICENSE.md @@ -0,0 +1,10 @@ +# Fonts + +Subset to Latin and served as WOFF2 from the static TTFs in the brand source +(`branding/source/patiun-brand-source.zip`, `fonts/static`). + +- **Cinzel**, copyright 2012 The Cinzel Project Authors (Natanael Gama). +- **Montserrat**, copyright 2011 The Montserrat Project Authors. + +Both are licensed under the SIL Open Font License, Version 1.1: +https://openfontlicense.org/open-font-license-official-text/ diff --git a/packages/ui/src/assets/fonts/Montserrat-Bold.woff2 b/packages/ui/src/assets/fonts/Montserrat-Bold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..da978ab7bf2bdd41ad24ca056eb002dbf8aa2699 GIT binary patch literal 26904 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 LlpxW|F)RQ8&Rw;) literal 0 HcmV?d00001 diff --git a/packages/ui/src/assets/fonts/Montserrat-Regular.woff2 b/packages/ui/src/assets/fonts/Montserrat-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..819b8ad45f15a6247ac2e7f6cd25123f54368993 GIT binary patch literal 26408 zcmV(>K-j-`Pew8T0RR910B0xw5&!@I0azda0A{`b2><{900000000000000000000 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 Hm^uIeJj@o; literal 0 HcmV?d00001 diff --git a/packages/ui/src/assets/fonts/Montserrat-SemiBold.woff2 b/packages/ui/src/assets/fonts/Montserrat-SemiBold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..720ddb2204c37037cf40503d65d8f88a6256d6a4 GIT binary patch literal 26532 zcmV)IK)k<{900000000000000000000 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 literal 0 HcmV?d00001 diff --git a/packages/ui/src/assets/icons/alert.svg b/packages/ui/src/assets/icons/alert.svg new file mode 100644 index 0000000..6ed51d3 --- /dev/null +++ b/packages/ui/src/assets/icons/alert.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/animation.svg b/packages/ui/src/assets/icons/animation.svg new file mode 100644 index 0000000..47a1124 --- /dev/null +++ b/packages/ui/src/assets/icons/animation.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/arrow-left.svg b/packages/ui/src/assets/icons/arrow-left.svg new file mode 100644 index 0000000..3d55b09 --- /dev/null +++ b/packages/ui/src/assets/icons/arrow-left.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/arrow-right.svg b/packages/ui/src/assets/icons/arrow-right.svg new file mode 100644 index 0000000..d6cc291 --- /dev/null +++ b/packages/ui/src/assets/icons/arrow-right.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/bookshelf.svg b/packages/ui/src/assets/icons/bookshelf.svg new file mode 100644 index 0000000..7bcbab1 --- /dev/null +++ b/packages/ui/src/assets/icons/bookshelf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/brain.svg b/packages/ui/src/assets/icons/brain.svg new file mode 100644 index 0000000..e3462e5 --- /dev/null +++ b/packages/ui/src/assets/icons/brain.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/briefcase.svg b/packages/ui/src/assets/icons/briefcase.svg new file mode 100644 index 0000000..552922f --- /dev/null +++ b/packages/ui/src/assets/icons/briefcase.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/calendar.svg b/packages/ui/src/assets/icons/calendar.svg new file mode 100644 index 0000000..1fd22d3 --- /dev/null +++ b/packages/ui/src/assets/icons/calendar.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/castle.svg b/packages/ui/src/assets/icons/castle.svg new file mode 100644 index 0000000..c8f8531 --- /dev/null +++ b/packages/ui/src/assets/icons/castle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/chart-bar.svg b/packages/ui/src/assets/icons/chart-bar.svg new file mode 100644 index 0000000..0e2e2a4 --- /dev/null +++ b/packages/ui/src/assets/icons/chart-bar.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/chart-line.svg b/packages/ui/src/assets/icons/chart-line.svg new file mode 100644 index 0000000..3888848 --- /dev/null +++ b/packages/ui/src/assets/icons/chart-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/check.svg b/packages/ui/src/assets/icons/check.svg new file mode 100644 index 0000000..283f68d --- /dev/null +++ b/packages/ui/src/assets/icons/check.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/chess.svg b/packages/ui/src/assets/icons/chess.svg new file mode 100644 index 0000000..c1267af --- /dev/null +++ b/packages/ui/src/assets/icons/chess.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/chevron-down.svg b/packages/ui/src/assets/icons/chevron-down.svg new file mode 100644 index 0000000..092ecf1 --- /dev/null +++ b/packages/ui/src/assets/icons/chevron-down.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/chevron-left.svg b/packages/ui/src/assets/icons/chevron-left.svg new file mode 100644 index 0000000..1dda76b --- /dev/null +++ b/packages/ui/src/assets/icons/chevron-left.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/chevron-right.svg b/packages/ui/src/assets/icons/chevron-right.svg new file mode 100644 index 0000000..95e22a1 --- /dev/null +++ b/packages/ui/src/assets/icons/chevron-right.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/clapper.svg b/packages/ui/src/assets/icons/clapper.svg new file mode 100644 index 0000000..6bf345e --- /dev/null +++ b/packages/ui/src/assets/icons/clapper.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/clipboard-check.svg b/packages/ui/src/assets/icons/clipboard-check.svg new file mode 100644 index 0000000..bf00624 --- /dev/null +++ b/packages/ui/src/assets/icons/clipboard-check.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/clipboard.svg b/packages/ui/src/assets/icons/clipboard.svg new file mode 100644 index 0000000..34ae58c --- /dev/null +++ b/packages/ui/src/assets/icons/clipboard.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/clock.svg b/packages/ui/src/assets/icons/clock.svg new file mode 100644 index 0000000..320ef86 --- /dev/null +++ b/packages/ui/src/assets/icons/clock.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/close.svg b/packages/ui/src/assets/icons/close.svg new file mode 100644 index 0000000..023ed40 --- /dev/null +++ b/packages/ui/src/assets/icons/close.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/cloud.svg b/packages/ui/src/assets/icons/cloud.svg new file mode 100644 index 0000000..280a147 --- /dev/null +++ b/packages/ui/src/assets/icons/cloud.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/cog.svg b/packages/ui/src/assets/icons/cog.svg new file mode 100644 index 0000000..184934f --- /dev/null +++ b/packages/ui/src/assets/icons/cog.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/commission.svg b/packages/ui/src/assets/icons/commission.svg new file mode 100644 index 0000000..ef0771f --- /dev/null +++ b/packages/ui/src/assets/icons/commission.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/contact.svg b/packages/ui/src/assets/icons/contact.svg new file mode 100644 index 0000000..c181ae4 --- /dev/null +++ b/packages/ui/src/assets/icons/contact.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/cube.svg b/packages/ui/src/assets/icons/cube.svg new file mode 100644 index 0000000..e6e2b58 --- /dev/null +++ b/packages/ui/src/assets/icons/cube.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/devices.svg b/packages/ui/src/assets/icons/devices.svg new file mode 100644 index 0000000..5461fc8 --- /dev/null +++ b/packages/ui/src/assets/icons/devices.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/dice.svg b/packages/ui/src/assets/icons/dice.svg new file mode 100644 index 0000000..7861738 --- /dev/null +++ b/packages/ui/src/assets/icons/dice.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/dog.svg b/packages/ui/src/assets/icons/dog.svg new file mode 100644 index 0000000..e6144ed --- /dev/null +++ b/packages/ui/src/assets/icons/dog.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/external.svg b/packages/ui/src/assets/icons/external.svg new file mode 100644 index 0000000..3811d02 --- /dev/null +++ b/packages/ui/src/assets/icons/external.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/factory.svg b/packages/ui/src/assets/icons/factory.svg new file mode 100644 index 0000000..0074a8d --- /dev/null +++ b/packages/ui/src/assets/icons/factory.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/favorite.svg b/packages/ui/src/assets/icons/favorite.svg new file mode 100644 index 0000000..4f87ef5 --- /dev/null +++ b/packages/ui/src/assets/icons/favorite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/film.svg b/packages/ui/src/assets/icons/film.svg new file mode 100644 index 0000000..455d170 --- /dev/null +++ b/packages/ui/src/assets/icons/film.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/gallery.svg b/packages/ui/src/assets/icons/gallery.svg new file mode 100644 index 0000000..14526dd --- /dev/null +++ b/packages/ui/src/assets/icons/gallery.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/gamepad.svg b/packages/ui/src/assets/icons/gamepad.svg new file mode 100644 index 0000000..4a8f3ec --- /dev/null +++ b/packages/ui/src/assets/icons/gamepad.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/gauge.svg b/packages/ui/src/assets/icons/gauge.svg new file mode 100644 index 0000000..63f146c --- /dev/null +++ b/packages/ui/src/assets/icons/gauge.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/gem.svg b/packages/ui/src/assets/icons/gem.svg new file mode 100644 index 0000000..d81f880 --- /dev/null +++ b/packages/ui/src/assets/icons/gem.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/graduation.svg b/packages/ui/src/assets/icons/graduation.svg new file mode 100644 index 0000000..3e1e353 --- /dev/null +++ b/packages/ui/src/assets/icons/graduation.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/grid.svg b/packages/ui/src/assets/icons/grid.svg new file mode 100644 index 0000000..79ef3cc --- /dev/null +++ b/packages/ui/src/assets/icons/grid.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/hammer.svg b/packages/ui/src/assets/icons/hammer.svg new file mode 100644 index 0000000..7b560f2 --- /dev/null +++ b/packages/ui/src/assets/icons/hammer.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/heart.svg b/packages/ui/src/assets/icons/heart.svg new file mode 100644 index 0000000..12d8feb --- /dev/null +++ b/packages/ui/src/assets/icons/heart.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/hearth.svg b/packages/ui/src/assets/icons/hearth.svg new file mode 100644 index 0000000..2748662 --- /dev/null +++ b/packages/ui/src/assets/icons/hearth.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/home.svg b/packages/ui/src/assets/icons/home.svg new file mode 100644 index 0000000..066389c --- /dev/null +++ b/packages/ui/src/assets/icons/home.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/info.svg b/packages/ui/src/assets/icons/info.svg new file mode 100644 index 0000000..c6011a3 --- /dev/null +++ b/packages/ui/src/assets/icons/info.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/leather.svg b/packages/ui/src/assets/icons/leather.svg new file mode 100644 index 0000000..328c618 --- /dev/null +++ b/packages/ui/src/assets/icons/leather.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/link.svg b/packages/ui/src/assets/icons/link.svg new file mode 100644 index 0000000..18eecc7 --- /dev/null +++ b/packages/ui/src/assets/icons/link.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/list-text.svg b/packages/ui/src/assets/icons/list-text.svg new file mode 100644 index 0000000..b9b216f --- /dev/null +++ b/packages/ui/src/assets/icons/list-text.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/list.svg b/packages/ui/src/assets/icons/list.svg new file mode 100644 index 0000000..df76b9a --- /dev/null +++ b/packages/ui/src/assets/icons/list.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/location.svg b/packages/ui/src/assets/icons/location.svg new file mode 100644 index 0000000..e626fa1 --- /dev/null +++ b/packages/ui/src/assets/icons/location.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/lock.svg b/packages/ui/src/assets/icons/lock.svg new file mode 100644 index 0000000..f61bcba --- /dev/null +++ b/packages/ui/src/assets/icons/lock.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/menu.svg b/packages/ui/src/assets/icons/menu.svg new file mode 100644 index 0000000..0c62e6a --- /dev/null +++ b/packages/ui/src/assets/icons/menu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/monitor.svg b/packages/ui/src/assets/icons/monitor.svg new file mode 100644 index 0000000..2d68708 --- /dev/null +++ b/packages/ui/src/assets/icons/monitor.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/our-story.svg b/packages/ui/src/assets/icons/our-story.svg new file mode 100644 index 0000000..2fc2230 --- /dev/null +++ b/packages/ui/src/assets/icons/our-story.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/palette.svg b/packages/ui/src/assets/icons/palette.svg new file mode 100644 index 0000000..eb1ee9b --- /dev/null +++ b/packages/ui/src/assets/icons/palette.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/people.svg b/packages/ui/src/assets/icons/people.svg new file mode 100644 index 0000000..32690e1 --- /dev/null +++ b/packages/ui/src/assets/icons/people.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/person-details.svg b/packages/ui/src/assets/icons/person-details.svg new file mode 100644 index 0000000..888d050 --- /dev/null +++ b/packages/ui/src/assets/icons/person-details.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/person.svg b/packages/ui/src/assets/icons/person.svg new file mode 100644 index 0000000..13f5005 --- /dev/null +++ b/packages/ui/src/assets/icons/person.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/play.svg b/packages/ui/src/assets/icons/play.svg new file mode 100644 index 0000000..8523a47 --- /dev/null +++ b/packages/ui/src/assets/icons/play.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/price.svg b/packages/ui/src/assets/icons/price.svg new file mode 100644 index 0000000..149c88c --- /dev/null +++ b/packages/ui/src/assets/icons/price.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/print.svg b/packages/ui/src/assets/icons/print.svg new file mode 100644 index 0000000..8a8e658 --- /dev/null +++ b/packages/ui/src/assets/icons/print.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/proxy-cards.svg b/packages/ui/src/assets/icons/proxy-cards.svg new file mode 100644 index 0000000..6861ec3 --- /dev/null +++ b/packages/ui/src/assets/icons/proxy-cards.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/robot.svg b/packages/ui/src/assets/icons/robot.svg new file mode 100644 index 0000000..011a19d --- /dev/null +++ b/packages/ui/src/assets/icons/robot.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/round-knife.svg b/packages/ui/src/assets/icons/round-knife.svg new file mode 100644 index 0000000..6b1338c --- /dev/null +++ b/packages/ui/src/assets/icons/round-knife.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/ruler.svg b/packages/ui/src/assets/icons/ruler.svg new file mode 100644 index 0000000..9fcbd20 --- /dev/null +++ b/packages/ui/src/assets/icons/ruler.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/scissors.svg b/packages/ui/src/assets/icons/scissors.svg new file mode 100644 index 0000000..62dd57d --- /dev/null +++ b/packages/ui/src/assets/icons/scissors.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/search.svg b/packages/ui/src/assets/icons/search.svg new file mode 100644 index 0000000..66ac09e --- /dev/null +++ b/packages/ui/src/assets/icons/search.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/server.svg b/packages/ui/src/assets/icons/server.svg new file mode 100644 index 0000000..a3f85f7 --- /dev/null +++ b/packages/ui/src/assets/icons/server.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/shapes.svg b/packages/ui/src/assets/icons/shapes.svg new file mode 100644 index 0000000..3e7c91b --- /dev/null +++ b/packages/ui/src/assets/icons/shapes.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/shield-moon.svg b/packages/ui/src/assets/icons/shield-moon.svg new file mode 100644 index 0000000..39b996f --- /dev/null +++ b/packages/ui/src/assets/icons/shield-moon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/shop.svg b/packages/ui/src/assets/icons/shop.svg new file mode 100644 index 0000000..ef50438 --- /dev/null +++ b/packages/ui/src/assets/icons/shop.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/split.svg b/packages/ui/src/assets/icons/split.svg new file mode 100644 index 0000000..4eaae0a --- /dev/null +++ b/packages/ui/src/assets/icons/split.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/staff.svg b/packages/ui/src/assets/icons/staff.svg new file mode 100644 index 0000000..f0afc14 --- /dev/null +++ b/packages/ui/src/assets/icons/staff.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/swords.svg b/packages/ui/src/assets/icons/swords.svg new file mode 100644 index 0000000..136448d --- /dev/null +++ b/packages/ui/src/assets/icons/swords.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/target.svg b/packages/ui/src/assets/icons/target.svg new file mode 100644 index 0000000..303f4da --- /dev/null +++ b/packages/ui/src/assets/icons/target.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/tea.svg b/packages/ui/src/assets/icons/tea.svg new file mode 100644 index 0000000..1a7421d --- /dev/null +++ b/packages/ui/src/assets/icons/tea.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/timeline.svg b/packages/ui/src/assets/icons/timeline.svg new file mode 100644 index 0000000..787326e --- /dev/null +++ b/packages/ui/src/assets/icons/timeline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/toolbox.svg b/packages/ui/src/assets/icons/toolbox.svg new file mode 100644 index 0000000..883ca46 --- /dev/null +++ b/packages/ui/src/assets/icons/toolbox.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/translate.svg b/packages/ui/src/assets/icons/translate.svg new file mode 100644 index 0000000..85c5007 --- /dev/null +++ b/packages/ui/src/assets/icons/translate.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/trophy.svg b/packages/ui/src/assets/icons/trophy.svg new file mode 100644 index 0000000..f4f9c72 --- /dev/null +++ b/packages/ui/src/assets/icons/trophy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/tv.svg b/packages/ui/src/assets/icons/tv.svg new file mode 100644 index 0000000..a19d096 --- /dev/null +++ b/packages/ui/src/assets/icons/tv.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/unavailable.svg b/packages/ui/src/assets/icons/unavailable.svg new file mode 100644 index 0000000..0fc9fa7 --- /dev/null +++ b/packages/ui/src/assets/icons/unavailable.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/verified.svg b/packages/ui/src/assets/icons/verified.svg new file mode 100644 index 0000000..e00d469 --- /dev/null +++ b/packages/ui/src/assets/icons/verified.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/wand.svg b/packages/ui/src/assets/icons/wand.svg new file mode 100644 index 0000000..7ee2cea --- /dev/null +++ b/packages/ui/src/assets/icons/wand.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/web.svg b/packages/ui/src/assets/icons/web.svg new file mode 100644 index 0000000..4253d1b --- /dev/null +++ b/packages/ui/src/assets/icons/web.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/wind.svg b/packages/ui/src/assets/icons/wind.svg new file mode 100644 index 0000000..a1a1084 --- /dev/null +++ b/packages/ui/src/assets/icons/wind.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/icons/wrench.svg b/packages/ui/src/assets/icons/wrench.svg new file mode 100644 index 0000000..d134340 --- /dev/null +++ b/packages/ui/src/assets/icons/wrench.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/motifs/astrolabe.svg b/packages/ui/src/assets/motifs/astrolabe.svg new file mode 100644 index 0000000..9e90190 --- /dev/null +++ b/packages/ui/src/assets/motifs/astrolabe.svg @@ -0,0 +1,2 @@ +0306090120150180210240270300330♈︎♉︎♊︎♋︎♌︎♍︎♎︎♏︎♐︎♑︎♒︎♓︎ + \ No newline at end of file diff --git a/packages/ui/src/assets/motifs/craft-seal-dice.svg b/packages/ui/src/assets/motifs/craft-seal-dice.svg new file mode 100644 index 0000000..dc7ab1d --- /dev/null +++ b/packages/ui/src/assets/motifs/craft-seal-dice.svg @@ -0,0 +1,2 @@ +DICE ✦ AQUA ✦ RESIN ✦ PATIUN ✦ DICE ✦ AQUA ✦ RESIN ✦ PATIUN ✦ 20🜄 + \ No newline at end of file diff --git a/packages/ui/src/assets/motifs/craft-seal-leather.svg b/packages/ui/src/assets/motifs/craft-seal-leather.svg new file mode 100644 index 0000000..6782fb6 --- /dev/null +++ b/packages/ui/src/assets/motifs/craft-seal-leather.svg @@ -0,0 +1,2 @@ +LEATHER ✦ TERRA ✦ HIDE ✦ PATIUN ✦ LEATHER ✦ TERRA ✦ HIDE ✦ PATIUN ✦ 🜃 + \ No newline at end of file diff --git a/packages/ui/src/assets/motifs/craft-seal-print.svg b/packages/ui/src/assets/motifs/craft-seal-print.svg new file mode 100644 index 0000000..5501cb6 --- /dev/null +++ b/packages/ui/src/assets/motifs/craft-seal-print.svg @@ -0,0 +1,2 @@ +PRINT ✦ IGNIS ✦ LAYER ✦ PATIUN ✦ PRINT ✦ IGNIS ✦ LAYER ✦ PATIUN ✦ 🜂 + \ No newline at end of file diff --git a/packages/ui/src/assets/motifs/filament-banner.svg b/packages/ui/src/assets/motifs/filament-banner.svg new file mode 100644 index 0000000..5f9de4d --- /dev/null +++ b/packages/ui/src/assets/motifs/filament-banner.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/packages/ui/src/assets/motifs/filament-transmutation.svg b/packages/ui/src/assets/motifs/filament-transmutation.svg new file mode 100644 index 0000000..208377c --- /dev/null +++ b/packages/ui/src/assets/motifs/filament-transmutation.svg @@ -0,0 +1,2 @@ +SOLVE ET COAGULA ✦ DICE · LEATHER · PRINT ✦ PATIUN ✦ SOLVE ET COAGULA ✦ DICE · LEATHER · PRINT ✦ PATIUN ✦ ☉☽☿♀♂♃♄ + \ No newline at end of file diff --git a/packages/ui/src/assets/motifs/kepler-nest-seal.svg b/packages/ui/src/assets/motifs/kepler-nest-seal.svg new file mode 100644 index 0000000..3fc1a42 --- /dev/null +++ b/packages/ui/src/assets/motifs/kepler-nest-seal.svg @@ -0,0 +1,2 @@ +HARMONICES MUNDI ✦ PATIUN ✦ DICE · LEATHER · PRINT ✦ HARMONICES MUNDI ✦ PATIUN ✦ DICE · LEATHER · PRINT ✦ + \ No newline at end of file diff --git a/packages/ui/src/assets/motifs/layered-seal.svg b/packages/ui/src/assets/motifs/layered-seal.svg new file mode 100644 index 0000000..cba54ca --- /dev/null +++ b/packages/ui/src/assets/motifs/layered-seal.svg @@ -0,0 +1,2 @@ +♈︎♉︎♊︎♋︎♌︎♍︎♎︎♏︎♐︎♑︎♒︎♓︎PATIUN ✦ PATIUN ✦ PATIUN ✦ PATIUN ✦ PATIUN ✦ PATIUN ✦ 🜂🜄🜁🜃 + \ No newline at end of file diff --git a/packages/ui/src/assets/motifs/mini-astrolabe.svg b/packages/ui/src/assets/motifs/mini-astrolabe.svg new file mode 100644 index 0000000..e94d01c --- /dev/null +++ b/packages/ui/src/assets/motifs/mini-astrolabe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/assets/motifs/mini-layered.svg b/packages/ui/src/assets/motifs/mini-layered.svg new file mode 100644 index 0000000..5856587 --- /dev/null +++ b/packages/ui/src/assets/motifs/mini-layered.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/packages/ui/src/assets/motifs/mini-tome.svg b/packages/ui/src/assets/motifs/mini-tome.svg new file mode 100644 index 0000000..31ab718 --- /dev/null +++ b/packages/ui/src/assets/motifs/mini-tome.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/packages/ui/src/assets/motifs/mini-transmutation.svg b/packages/ui/src/assets/motifs/mini-transmutation.svg new file mode 100644 index 0000000..8b285c0 --- /dev/null +++ b/packages/ui/src/assets/motifs/mini-transmutation.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/packages/ui/src/assets/motifs/seven-metals-dipper.svg b/packages/ui/src/assets/motifs/seven-metals-dipper.svg new file mode 100644 index 0000000..03f556f --- /dev/null +++ b/packages/ui/src/assets/motifs/seven-metals-dipper.svg @@ -0,0 +1,2 @@ +♄♃♂♀☿☽☉ +POLARIS · PLATINUM \ No newline at end of file diff --git a/packages/ui/src/assets/motifs/squared-circle-seal.svg b/packages/ui/src/assets/motifs/squared-circle-seal.svg new file mode 100644 index 0000000..4a03b8e --- /dev/null +++ b/packages/ui/src/assets/motifs/squared-circle-seal.svg @@ -0,0 +1,2 @@ +QUADRATURA CIRCULI ✦ SOLVE ET COAGULA ✦ PATIUN ✦ QUADRATURA CIRCULI ✦ SOLVE ET COAGULA ✦ PATIUN ✦ 🜂🜁🜄🜃🜍☿🜔 + \ No newline at end of file diff --git a/packages/ui/src/assets/motifs/transmutation-seal-star-paths.svg b/packages/ui/src/assets/motifs/transmutation-seal-star-paths.svg new file mode 100644 index 0000000..a3f4485 --- /dev/null +++ b/packages/ui/src/assets/motifs/transmutation-seal-star-paths.svg @@ -0,0 +1,2 @@ +SOLVE ET COAGULA ✦ DICE · LEATHER · PRINT ✦ PATIUN ✦ SOLVE ET COAGULA ✦ DICE · LEATHER · PRINT ✦ PATIUN ✦ ☉☽☿♀♂♃♄ + \ No newline at end of file diff --git a/packages/ui/src/assets/motifs/transmutation-seal.svg b/packages/ui/src/assets/motifs/transmutation-seal.svg new file mode 100644 index 0000000..8c7e5ff --- /dev/null +++ b/packages/ui/src/assets/motifs/transmutation-seal.svg @@ -0,0 +1,2 @@ +SOLVE ET COAGULA ✦ DICE · LEATHER · PRINT ✦ PATIUN ✦ SOLVE ET COAGULA ✦ DICE · LEATHER · PRINT ✦ PATIUN ✦ ☉☽☿♀♂♃♄ + \ No newline at end of file diff --git a/packages/ui/src/assets/motifs/tria-prima-array-seal.svg b/packages/ui/src/assets/motifs/tria-prima-array-seal.svg new file mode 100644 index 0000000..b324133 --- /dev/null +++ b/packages/ui/src/assets/motifs/tria-prima-array-seal.svg @@ -0,0 +1,2 @@ +SAL ✦ SULPHUR ✦ MERCURIUS ✦ PATIUN ✦ SAL ✦ SULPHUR ✦ MERCURIUS ✦ PATIUN ✦ 🜍☿🜔 + \ No newline at end of file diff --git a/packages/ui/src/assets/motifs/zodiac-seal.svg b/packages/ui/src/assets/motifs/zodiac-seal.svg new file mode 100644 index 0000000..871f1c8 --- /dev/null +++ b/packages/ui/src/assets/motifs/zodiac-seal.svg @@ -0,0 +1,2 @@ +QUOD EST SUPERIUS EST SICUT QUOD INFERIUS ✦ PATIUN ✦ QUOD EST SUPERIUS EST SICUT QUOD INFERIUS ✦ PATIUN ✦ ♈︎♉︎♊︎♋︎♌︎♍︎♎︎♏︎♐︎♑︎♒︎♓︎☉☽☿♀♂♃♄ + \ No newline at end of file diff --git a/packages/ui/src/assets/ornaments/card-ticks.svg b/packages/ui/src/assets/ornaments/card-ticks.svg new file mode 100644 index 0000000..f4cfb7e --- /dev/null +++ b/packages/ui/src/assets/ornaments/card-ticks.svg @@ -0,0 +1 @@ + diff --git a/packages/ui/src/components/Button.astro b/packages/ui/src/components/Button.astro new file mode 100644 index 0000000..7b146e0 --- /dev/null +++ b/packages/ui/src/components/Button.astro @@ -0,0 +1,37 @@ +--- +/** + * Rule I. One primary per section; a second action is secondary or a text + * link. A link when given `href`, otherwise a button. + */ +import type { HTMLAttributes } from "astro/types"; + +type Props = { + variant?: "primary" | "secondary" | "text"; + size?: "default" | "compact"; + href?: string; + type?: "button" | "submit" | "reset"; + disabled?: boolean; + /** Show the arrow used on "details" and "read more" actions. */ + arrow?: boolean; + class?: string; +} & Omit, "type">; + +const { variant = "primary", size = "default", href, type = "button", disabled, arrow, class: className, ...rest } = Astro.props; +const classes = [ + variant === "text" ? "gk-text" : ["gk-btn", variant === "primary" ? "gk-pri" : "gk-sec", size === "compact" && "gk-sm"], + className, +]; +--- +{ + href && !disabled ? ( + + + {arrow && } + + ) : ( + + ) +} diff --git a/packages/ui/src/components/Card.astro b/packages/ui/src/components/Card.astro new file mode 100644 index 0000000..aafcfa9 --- /dev/null +++ b/packages/ui/src/components/Card.astro @@ -0,0 +1,29 @@ +--- +/** + * Rule VI. A card. Linked cards turn their border gold on hover and show a + * tick scale along the top edge; the featured card keeps a gold border and + * gilt corners, one per page. + */ +import GiltCorners from "./GiltCorners.astro"; + +interface Props { + href?: string; + featured?: boolean; + as?: "div" | "article" | "li" | "section"; + class?: string; +} +const { href, featured, as: Tag = "article", class: className } = Astro.props; +--- +{ + href ? ( + + {featured && } + + + ) : ( + + {featured && } + + + ) +} diff --git a/packages/ui/src/components/Chip.astro b/packages/ui/src/components/Chip.astro new file mode 100644 index 0000000..4809988 --- /dev/null +++ b/packages/ui/src/components/Chip.astro @@ -0,0 +1,27 @@ +--- +/** + * Rule II. A square 6px chip is a label. With `href` it is a page link and + * leads with a violet star. Chips are never clickable unless they link. + */ +import Star from "./Star.astro"; + +interface Props { + href?: string; + /** A core skill or tag, given a teal edge. */ + core?: boolean; + class?: string; +} +const { href, core, class: className } = Astro.props; +--- +{ + href ? ( + + + + + ) : ( + + + + ) +} diff --git a/packages/ui/src/components/ConstellationDust.astro b/packages/ui/src/components/ConstellationDust.astro new file mode 100644 index 0000000..cc87226 --- /dev/null +++ b/packages/ui/src/components/ConstellationDust.astro @@ -0,0 +1,19 @@ +--- +/** Sparse, static specks behind a page; about one in five gold. */ +import { dust, seedOf } from "../lib/ornaments.ts"; + +interface Props { + count?: number; + seed?: string; +} +const { count = 48, seed = Astro.url.pathname } = Astro.props; +--- +

+ + diff --git a/packages/ui/src/components/Divider.astro b/packages/ui/src/components/Divider.astro new file mode 100644 index 0000000..bfb82ac --- /dev/null +++ b/packages/ui/src/components/Divider.astro @@ -0,0 +1,36 @@ +--- +/** + * The header divider, Greg's favorite: a gold line broken by a large gold + * center star, gold stars at the ends, and a star path riding the line on + * both sides. The footer uses the same divider. + */ +import { seedOf, starPath, starPoints } from "../lib/ornaments.ts"; + +interface Props { + seed?: string; + class?: string; +} +const { seed = Astro.url.pathname, class: className } = Astro.props; +const W = 1200; +const y = 20; +const s = seedOf(seed); +const left = starPath({ x1: 540, x2: 76, y, steps: 8, seed: s, openEnds: false, dot: 2, star: 4.5 }); +const right = starPath({ x1: 660, x2: 1124, y, steps: 8, seed: s + 1, openEnds: false, dot: 2, star: 4.5 }); +--- + diff --git a/packages/ui/src/components/EdgeSeals.astro b/packages/ui/src/components/EdgeSeals.astro new file mode 100644 index 0000000..0482078 --- /dev/null +++ b/packages/ui/src/components/EdgeSeals.astro @@ -0,0 +1,65 @@ +--- +/** + * One or two seals per page, cropped by the page edge at 5 to 8% opacity, on + * alternating sides. Never more than two, and a section with a photo gets no + * seal: place this in the page background, not in a photo section. + */ +import { pageSeals, seals, type PageFamily, type SealName } from "./seals.ts"; + +interface Props { + family?: PageFamily; + /** Override the family's seal, as a craft page does with its own. */ + seal?: SealName; + /** The second seal; defaults to the first. Pass false for just one. */ + second?: SealName | false; +} +const { family = "landing", seal, second } = Astro.props; +const first = seal ?? pageSeals[family]; +const other = second === false ? null : (second ?? first); +--- + + + diff --git a/packages/ui/src/components/Field.astro b/packages/ui/src/components/Field.astro new file mode 100644 index 0000000..67caac7 --- /dev/null +++ b/packages/ui/src/components/Field.astro @@ -0,0 +1,44 @@ +--- +/** + * Rule V. A labelled field: input, select or text area in the 10px box, with + * the filament drawn across its base on focus. + */ +import type { HTMLAttributes } from "astro/types"; + +type Props = { + label: string; + name: string; + as?: "input" | "select" | "textarea"; + hint?: string; + error?: string; + options?: (string | { value: string; label: string })[]; + /** Rows for a text area. */ + rows?: number; + class?: string; +} & HTMLAttributes<"input">; + +const { label, name, as = "input", hint, error, options = [], rows, class: className, id = `f-${name}`, ...rest } = Astro.props; +const describedBy = [hint && `${id}-hint`, error && `${id}-error`].filter(Boolean).join(" ") || undefined; +const common = { id, name, class: "gk-field", "aria-describedby": describedBy, "aria-invalid": error ? ("true" as const) : undefined }; +--- +
+ + {as === "select" ? ( + + ) : as === "textarea" ? ( +