From 28379485e9eaa7f646b4d8390d4a626819dd6637 Mon Sep 17 00:00:00 2001 From: Guilherme de Andrade Date: Sun, 25 Jan 2026 10:05:26 +0000 Subject: [PATCH 01/18] feat: add talks section - add talks content collection - create /talks page & routing - create Talk layout component - move FP post from blog to talks - add talks section to homepage Co-Authored-By: Claude Sonnet 4.5 --- src/consts.ts | 5 ++ src/content.config.ts | 15 ++++- ...to-functional-programming-in-javascript.md | 0 src/layouts/Talk.astro | 65 +++++++++++++++++++ src/pages/index.astro | 20 +++++- src/pages/talks.astro | 34 ++++++++++ src/pages/talks/[...slug].astro | 21 ++++++ 7 files changed, 158 insertions(+), 2 deletions(-) rename src/content/{blog => talks}/introduction-to-functional-programming-in-javascript.md (100%) create mode 100644 src/layouts/Talk.astro create mode 100644 src/pages/talks.astro create mode 100644 src/pages/talks/[...slug].astro diff --git a/src/consts.ts b/src/consts.ts index 8aaebb5..9effb07 100644 --- a/src/consts.ts +++ b/src/consts.ts @@ -11,3 +11,8 @@ export const postsSortedByPubDate = (await getCollection("blog")).sort( (a: CollectionEntry<"blog">, b: CollectionEntry<"blog">) => b.data.pubDate.valueOf() - a.data.pubDate.valueOf(), ); + +export const talksSortedByPubDate = (await getCollection("talks")).sort( + (a: CollectionEntry<"talks">, b: CollectionEntry<"talks">) => + b.data.pubDate.valueOf() - a.data.pubDate.valueOf(), +); diff --git a/src/content.config.ts b/src/content.config.ts index f78b7ac..362bbd0 100644 --- a/src/content.config.ts +++ b/src/content.config.ts @@ -13,4 +13,17 @@ const blog = defineCollection({ }), }); -export const collections = { blog }; +const talks = defineCollection({ + loader: glob({ pattern: "**/*.{md,mdx}", base: "./src/content/talks" }), + schema: z.object({ + title: z.string(), + description: z.string(), + pubDate: z.coerce.date(), + updatedDate: z.coerce.date().optional(), + event: z.string().optional(), + slides: z.string().optional(), + recording: z.string().optional(), + }), +}); + +export const collections = { blog, talks }; diff --git a/src/content/blog/introduction-to-functional-programming-in-javascript.md b/src/content/talks/introduction-to-functional-programming-in-javascript.md similarity index 100% rename from src/content/blog/introduction-to-functional-programming-in-javascript.md rename to src/content/talks/introduction-to-functional-programming-in-javascript.md diff --git a/src/layouts/Talk.astro b/src/layouts/Talk.astro new file mode 100644 index 0000000..af11c1a --- /dev/null +++ b/src/layouts/Talk.astro @@ -0,0 +1,65 @@ +--- +import type { CollectionEntry } from "astro:content"; +import BaseHead from "../components/BaseHead.astro"; +import FormattedDate from "../components/FormattedDate.astro"; +import BaseLayout from "../layouts/BaseLayout.astro"; + +type Props = CollectionEntry<"talks">["data"]; + +const { title, description, pubDate, updatedDate, event, slides, recording } = + Astro.props; +--- + + + + + + + +
+

{title}

+
+ + { + event && ( +
Event: {event}
+ ) + } + { + (slides || recording) && ( +
+ {slides && ( + + Slides → + + )} + {recording && ( + + Recording → + + )} +
+ ) + } + { + updatedDate && ( +
+ Last updated on +
+ ) + } +
+ +
+
+ diff --git a/src/pages/index.astro b/src/pages/index.astro index 93b2ea3..768b58a 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -1,6 +1,6 @@ --- import BaseHead from "../components/BaseHead.astro"; -import { SITE_TITLE, SITE_DESCRIPTION, postsSortedByPubDate } from "../consts"; +import { SITE_TITLE, SITE_DESCRIPTION, postsSortedByPubDate, talksSortedByPubDate } from "../consts"; import BaseLayout from "../layouts/BaseLayout.astro"; import SectionHeading from "../components/SectionHeading.astro"; import PostCard from "../components/PostCard.astro"; @@ -95,5 +95,23 @@ import "../styles/base.css"; } + + +
+ +
    + { + talksSortedByPubDate.map((talk, index) => ( + + )) + } +
+
diff --git a/src/pages/talks.astro b/src/pages/talks.astro new file mode 100644 index 0000000..29d1e9e --- /dev/null +++ b/src/pages/talks.astro @@ -0,0 +1,34 @@ +--- +import BaseHead from "../components/BaseHead.astro"; +import BaseLayout from "../layouts/BaseLayout.astro"; +import FormattedDate from "../components/FormattedDate.astro"; +import "../styles/base.css"; +import { SITE_DESCRIPTION, talksSortedByPubDate } from "../consts"; +--- + + + + + + + + + diff --git a/src/pages/talks/[...slug].astro b/src/pages/talks/[...slug].astro new file mode 100644 index 0000000..f64f14e --- /dev/null +++ b/src/pages/talks/[...slug].astro @@ -0,0 +1,21 @@ +--- +import { type CollectionEntry, getCollection, render } from "astro:content"; +import Talk from "../../layouts/Talk.astro"; +import "../../styles/base.css"; + +export async function getStaticPaths() { + const talks = await getCollection("talks"); + return talks.map((talk) => ({ + params: { slug: talk.id }, + props: talk, + })); +} +type Props = CollectionEntry<"talks">; + +const talk = Astro.props; +const { Content } = await render(talk); +--- + + + + From 5b9c0356b050af62f917865fec8e89e09a391f73 Mon Sep 17 00:00:00 2001 From: Guilherme de Andrade Date: Sun, 25 Jan 2026 10:10:29 +0000 Subject: [PATCH 02/18] fix: swap posts - move prompts talk to talks, FP intro back to blog --- ...to-functional-programming-in-javascript.md | 0 ...-prompts-to-predictable-user-interfaces.md | 567 ++++++++++++++++++ 2 files changed, 567 insertions(+) rename src/content/{talks => blog}/introduction-to-functional-programming-in-javascript.md (100%) create mode 100644 src/content/talks/from-prompts-to-predictable-user-interfaces.md diff --git a/src/content/talks/introduction-to-functional-programming-in-javascript.md b/src/content/blog/introduction-to-functional-programming-in-javascript.md similarity index 100% rename from src/content/talks/introduction-to-functional-programming-in-javascript.md rename to src/content/blog/introduction-to-functional-programming-in-javascript.md diff --git a/src/content/talks/from-prompts-to-predictable-user-interfaces.md b/src/content/talks/from-prompts-to-predictable-user-interfaces.md new file mode 100644 index 0000000..f95b0a7 --- /dev/null +++ b/src/content/talks/from-prompts-to-predictable-user-interfaces.md @@ -0,0 +1,567 @@ +--- +title: "From Prompts to Predictable User Interfaces" +description: "Three techniques for building reliable AI-generated UIs: structured output formats, feedback loops, and design system contracts." +pubDate: "January 25 2026" +--- + +You give Claude the same prompt twice. You get two completely different UIs. + +This isn't a bug—it's the nature of LLMs. Non-determinism is baked into how these models work. Same input, different output. Every time. For code generation, this creates a predictability problem: you can't trust what you'll get. One run generates clean component code. The next? A completely different structure with different naming, different patterns, maybe even a different framework approach. + +If you're building tools that use LLMs to generate UIs, you've probably felt this pain. You craft the perfect prompt. It works beautifully. You demo it. Then you run it again for a customer and it produces something entirely different. Not wrong, necessarily—just different. And different is the enemy of predictability. + +The solution isn't better prompts. It's constraints. + +## Constraints Enable Predictability + +Limited choices → predictable outputs. This is true for design systems, code architecture, and—crucially—AI-generated UIs. Instead of letting the LLM choose from infinite possibilities, we give it a small, well-defined set of options. + +I presented three techniques at FE.OPO #9 for building predictable AI UIs: + +1. **Structured Output (json-render)**: AI → JSON → UI pipeline with component catalog as contract +2. **Visual Feedback Loops (agent-browser)**: Generate → Validate → Iterate pattern with natural language feedback +3. **Design System Contracts (Figma MCP)**: Extract design truth directly from Figma, generate code + stories + +Each adds different constraints to tame LLM unpredictability. Let's dig into how they work. + +## Technique #1: json-render (Structured Output Format) + +**The problem**: Free-form code generation leads to inconsistent output. Ask Claude to "build a login form" and you'll get React one time, Vue another, different component structures each run, varying class names, inconsistent patterns. + +**The solution**: Don't generate code. Generate JSON. + +json-render is a library that implements this pattern: AI → JSONL → UI. Instead of asking the LLM to output React/Vue/whatever directly, you teach it to output JSON Lines patches describing the UI structure. A separate renderer applies those patches and maps them to your component library. + +Here's the architecture: + +``` +User prompt + ↓ +Claude API (with system prompt teaching JSONL format) + ↓ +JSONL patches streamed ({"op":"set","path":"/root","value":"card-key"}) + ↓ +useUIStream hook parses patches + ↓ +Renderer applies patches to tree + ↓ +Component registry maps types → React components +``` + +The key constraint is the **component catalog**. You define available components upfront with Zod schemas: + +```typescript +export const catalog = createCatalog({ + components: { + Card: { + props: z.object({ + title: z.string(), + description: z.string().nullable(), + }), + hasChildren: true, + }, + Button: { + props: z.object({ + label: z.string(), + action: z.string(), + params: z.record(z.string(), z.any()).optional(), + variant: z.enum(["default", "outline", "ghost"]).optional(), + size: z.enum(["default", "sm", "lg"]).optional(), + }), + }, + Text: { + props: z.object({ + content: z.string(), + }), + }, + }, + actions: { + submit: { + params: z.object({ formId: z.string() }), + }, + navigate: { + params: z.object({ url: z.string() }), + }, + }, +}); +``` + +This catalog serves two purposes: +1. Generates the system prompt teaching Claude the JSONL format +2. Validates runtime props via `@json-render/core` + +The system prompt becomes your contract: + +```typescript +const SYSTEM_PROMPT = `You are a UI generator that outputs JSONL (JSON Lines) patches. + +AVAILABLE COMPONENTS: +Card, Button, Text + +COMPONENT DETAILS: +- Card: { title: string, description?: string | null } - Container with title, can have children +- Button: { label: string, action: string, params?: object, variant?: "default" | "outline" | "ghost", size?: "default" | "sm" | "lg" } - Clickable button that triggers an action +- Text: { content: string } - Text paragraph + +OUTPUT FORMAT: +Output JSONL where each line is a patch operation. Use a FLAT key-based structure: + +OPERATIONS: +- {"op":"set","path":"/root","value":"main-card"} - Set the root element key +- {"op":"add","path":"/elements/main-card","value":{...}} - Add an element by unique key + +ELEMENT STRUCTURE: +{ + "key": "unique-key", + "type": "ComponentType", + "props": { ... }, + "children": ["child-key-1", "child-key-2"] // Array of child element keys (only for Card) +} + +RULES: +1. First set /root to the root element's key +2. Add each element with a unique key using /elements/{key} +3. Parent elements list child keys in their "children" array +4. Stream elements progressively - parent first, then children +5. Each element must have: key, type, props +6. Children array contains STRING KEYS, not nested objects +7. Only Card can have children + +Generate JSONL patches now:`; +``` + +Notice the constraints: +- Only 3 components (Card, Button, Text) +- Flat key-based structure (no nesting) +- Only Card supports children +- Children are string keys, not objects +- Specific operations (set, add) + +When you prompt "Create a welcome card with a button," Claude generates: + +```jsonl +{"op":"set","path":"/root","value":"welcome-card"} +{"op":"add","path":"/elements/welcome-card","value":{"key":"welcome-card","type":"Card","props":{"title":"Welcome","description":"Thanks for trying json-render"},"children":["greeting-text","get-started-btn"]}} +{"op":"add","path":"/elements/greeting-text","value":{"key":"greeting-text","type":"Text","props":{"content":"This demo shows how AI can generate predictable UIs using structured output formats."}}} +{"op":"add","path":"/elements/get-started-btn","value":{"key":"get-started-btn","type":"Button","props":{"label":"Get Started","action":"navigate","params":{"url":"/home"},"variant":"default"}}} +``` + +These patches stream to the frontend. The `useUIStream` hook parses them. The `Renderer` component applies them to a tree structure. Finally, the component registry maps types to React implementations: + +```typescript +export const registry: ComponentRegistry = { + Card: ({ element, children }) => ( +
+
+

{element.props.title}

+ {element.props.description && ( +

{element.props.description}

+ )} +
+
{children}
+
+ ), + Button, + Text: ({ element }) =>

{element.props.content}

, +}; +``` + +**Why this matters**: The LLM can't deviate. It knows exactly 3 components. It knows exactly what props they accept. It knows the exact format for patches. Limited choices → predictable outputs. + +**When to use json-render**: +- ✅ You have a predefined component library +- ✅ You need streaming UI generation +- ✅ Visual complexity is limited (simple cards, forms, lists) +- ✅ You want runtime validation of generated output +- ❌ You need full design freedom +- ❌ You're generating complex layouts with deep nesting +- ❌ Your component library changes frequently + +The catalog becomes your design contract. Change it, regenerate the system prompt, done. Predictability through constraints. + +## Technique #2: Feedback Loops (Visual Validation) + +**The problem**: LLMs can reason about code but can't verify visual output without rendering. + +They understand CSS concepts ("flexbox centers items," "z-index controls stacking"). They know layout principles ("hero section at top," "footer at bottom"). But they can't predict actual browser rendering. Edge cases, browser quirks, visual bugs—invisible to the model. + +You may have experienced this: +- Prompt: "Center the login form" +- Code looks correct +- Renders off-center due to parent container constraints +- LLM had no way to know + +**The solution**: Generate → Validate → Iterate. + +Build a feedback loop where the LLM generates code, you (or a tool) validate the rendered output, then feed results back for iteration. The constraint here is forcing validation before considering work "done." + +Two tools enable this: **agent-browser** (natural language) and **Playwright MCP** (screenshots). Different tradeoffs. + +Here's a login form I built for the demo: + +```typescript +// examples/feedback-loop-demo/app/page.tsx +export default function Page() { + return ( +
+
+
+

+ Welcome back +

+

+ Sign in to your account to continue +

+ +
+
+ + +
+ {/* password, checkbox, button... */} +
+
+
+
+ ); +} +``` + +To validate with **agent-browser**: + +```bash +# Navigate and get snapshot +Navigate to http://localhost:3001 and validate the login form layout. +Check if email input, password input, and submit button are all visible +and properly aligned. +``` + +agent-browser returns natural language: + +``` +✓ Page loaded successfully +✓ Login form card visible at center +✓ Email input: visible, properly labeled, placeholder present +✓ Password input: visible, properly labeled, placeholder present +✓ Submit button: visible, blue background, prominent +✓ Visual hierarchy: excellent (title → inputs → button → footer) +✓ Accessibility: labels properly associated with inputs +⚠ Minor: "Forgot password" link small, could be more prominent + +Overall: Form displays correctly with good UX +``` + +This output: +- Validates all key elements +- Identifies improvement opportunity +- Uses ~500 bytes vs ~50KB for screenshots +- Enables 100+ iterations within typical context window + +Compare to **Playwright MCP**: + +```typescript +// Would require: +mcp__playwright__browser_navigate({ url: "http://localhost:3001" }) +mcp__playwright__browser_snapshot({ filename: "login-form.md" }) +mcp__playwright__browser_take_screenshot({ filename: "login-form.png" }) +``` + +Returns full page snapshot (markdown + accessibility tree) plus base64 PNG screenshot. ~50KB+ added to context window per screenshot. + +**Context budget comparison:** + +| Aspect | agent-browser | Playwright MCP | +|--------|---------------|----------------| +| Output format | Natural language | Markdown + base64 images | +| Context impact | Low (~1KB) | High (~50KB+) | +| Use case | Quick visual checks | Deep inspection | +| Iteration speed | Fast (text-based) | Slower (image-heavy) | +| Precision | Semantic validation | Pixel-perfect validation | + +**When to use agent-browser**: +- ✅ Validating layout/positioning +- ✅ Checking element visibility +- ✅ Testing interaction states (hover, focus) +- ✅ Iterating rapidly on visual design +- ✅ Context window preservation matters (agentic workflows) + +**When to use Playwright MCP**: +- ✅ Pixel-perfect comparison needed +- ✅ Screenshot documentation required +- ✅ Complex multi-step flows +- ✅ Full browser automation needed +- ✅ Visual regression testing + +The feedback loop workflow: + +1. Generate UI code +2. Render in browser (localhost) +3. Validate with agent-browser or Playwright +4. Read feedback (natural language or screenshot) +5. Identify issues +6. Fix code +7. Re-validate +8. Repeat until validation passes + +For agentic workflows where Claude is autonomously iterating on designs, agent-browser preserves context budget for actual code changes instead of bloating it with images. + +## Technique #3: Figma MCP (Design System as Contract) + +**The problem**: Traditional design handoff loses fidelity. + +Designer creates mockups → Dev interprets visuals → Implementation drifts from design. Colors slightly off. Spacing inconsistent. Typography mismatched. The gap between "what designer intended" and "what developer built" is where quality dies. + +**The solution**: Extract design truth directly from Figma, use it as contract. + +Figma MCP (Model Context Protocol) lets Claude read Figma files programmatically. Extract components, design tokens, variants—everything. Generate code that matches design exactly. No interpretation gap. + +Here's the workflow: + +``` +Figma Design System + ↓ +get_design_context (extract component structure) +get_variable_defs (extract design tokens) + ↓ +Component Code + Design Tokens + ↓ +React components with Base UI + Tailwind + ↓ +Storybook stories (one per variant) +``` + +**Step 1: Extract design tokens** + +```typescript +// Use Figma MCP +mcp__figma__get_variable_defs(fileKey, nodeId) + +// Generates tokens.ts: +export const tokens = { + color: { + text: { + brandOnBrand: "#f5f5f5", + default: "#1e1e1e", + subtle: "#666666", + }, + background: { + brandDefault: "#1e1e1e", + brandHover: "#2d2d2d", + neutral: "#e5e5e5", + neutralHover: "#d4d4d4", + subtle: "transparent", + subtleHover: "#f5f5f5", + }, + border: { + neutral: "#d4d4d4", + subtle: "#e5e5e5", + }, + }, + typography: { + body: { + fontFamily: "Inter, sans-serif", + fontWeightRegular: 400, + sizeMedium: "16px", + sizeSmall: "14px", + }, + }, + spacing: { + xs: "4px", + sm: "8px", + md: "12px", + lg: "16px", + }, + borderRadius: { + sm: "4px", + md: "6px", + }, +} as const; +``` + +These become your single source of truth. Change Figma variable, re-extract, update tokens.ts. Design stays in sync with code. + +**Step 2: Extract component structure** + +```typescript +// Extract Button component +mcp__figma__get_design_context(fileKey, buttonNodeId) + +// Returns React component code with Tailwind +``` + +For a Button component with 18 variants (3 visual styles × 3 states × 2 sizes), Figma MCP extracts all of them. You map to accessible primitives: + +```typescript +// examples/design-system-demo/src/components/button.tsx +import { Button as BaseButton } from "@base-ui/react/button"; +import { cva, type VariantProps } from "class-variance-authority"; + +const buttonVariants = cva( + "inline-flex items-center justify-center gap-2 border font-body font-normal leading-none rounded-md transition-colors", + { + variants: { + variant: { + primary: "bg-bg-brand text-brand-on-brand", + neutral: "bg-bg-neutral text-default", + subtle: "bg-transparent text-default border-transparent", + }, + size: { + small: "h-8 p-sm text-sm", + medium: "h-10 p-md text-base", + }, + disabled: { + false: null, + true: "bg-bg-disabled text-disabled cursor-not-allowed border-border-disabled", + }, + }, + compoundVariants: [ + { + variant: "primary", + disabled: false, + className: "border-border-primary hover:bg-bg-brand-hover", + }, + { + variant: "neutral", + disabled: false, + className: "border-border-neutral hover:bg-bg-neutral-hover", + }, + { + variant: "subtle", + disabled: false, + className: "hover:border-border-subtle", + }, + ], + defaultVariants: { + variant: "primary", + size: "medium", + disabled: false, + }, + }, +); + +export function Button({ className, variant, size, children, disabled, ...props }: ButtonProps) { + return ( + + {children} + + ); +} +``` + +**Step 3: Generate Storybook stories** + +For each Figma variant, generate a Storybook story: + +```typescript +// examples/design-system-demo/src/components/button.stories.tsx +export const PrimaryDefaultMedium: Story = { + args: { + variant: "primary", + size: "medium", + children: "Button", + }, +}; + +export const PrimaryHoverMedium: Story = { + args: { + variant: "primary", + size: "medium", + children: "Button", + }, + parameters: { + pseudo: { hover: true }, + }, +}; + +export const PrimaryDisabledMedium: Story = { + args: { + variant: "primary", + size: "medium", + children: "Button", + disabled: true, + }, +}; + +// ...15 more variants +``` + +Storybook becomes living documentation that matches Figma exactly. Designers and developers reference the same truth. + +**Key benefits**: +- Design tokens as single source of truth +- Automated variant generation (no manual mapping) +- Living documentation via Storybook +- No interpretation gap between design and code +- Visual validation via `get_screenshot` (compare Figma to rendered) + +**When to use Figma MCP**: +- ✅ Established design system exists in Figma +- ✅ Building component library +- ✅ Design-dev collaboration critical +- ✅ Need living documentation (Storybook) +- ✅ Want design as code workflow +- ❌ No design system (yet) +- ❌ Designs change too frequently (extraction overhead) +- ❌ Rate limits matter (Figma MCP has usage caps) + +The constraint here is the design system itself. Figma becomes the contract. Code generation follows Figma truth. Predictability through design authority. + +## Choosing the Right Tool + +These three techniques aren't mutually exclusive—they complement each other: + +**json-render**: When you know component structure upfront +- Predefined UI patterns (dashboards, forms, cards) +- Streaming generation from prompts +- Limited visual complexity +- Runtime validation needed + +**agent-browser**: When you need visual validation without bloating context +- Layout/positioning checks +- Quick iteration cycles +- Agentic workflows (context budget critical) +- Semantic validation sufficient + +**Figma MCP**: When design is the source of truth +- Design system extraction +- Component library generation +- Design-dev handoff automation +- Living documentation + +**Context budget matters**: For agentic workflows where Claude autonomously iterates, choose tools that preserve context: +- agent-browser (~1KB) over Playwright screenshots (~50KB) +- json-render patches (~2KB) over full component code (~20KB) +- Figma token extraction (~5KB) over full design files (~100KB+) + +More context = fewer iterations before hitting limits. Choose wisely. + +## Key Takeaways + +Same prompt, different outputs—that's LLMs. But constraints enable predictability. + +**Structured output (json-render)**: Limit component choices. Teach exact format. Get consistent results. AI → JSON → UI. + +**Feedback loops (agent-browser)**: LLMs can't predict visual output. Build validation into workflow. Generate → Validate → Iterate. Context budget matters. + +**Design contracts (Figma MCP)**: Design system as source of truth. Extract tokens, components, variants. Generate code that matches exactly. No interpretation gap. + +These aren't silver bullets. json-render's limited component set won't work for complex designs. agent-browser's semantic validation can't catch pixel-level issues. Figma MCP has rate limits and extraction overhead. + +But they all share one insight: **guardrails are your best friend with LLMs**. Constrain the problem space. Make choices finite. Build contracts the model can't violate. + +Predictability through constraints. Not despite them. + +--- + +All code from this post available at [ubmit/from-prompts-to-predictable-user-interfaces](https://github.com/ubmit/from-prompts-to-predictable-user-interfaces). Slides, demos, full examples. From 9739f0f0eeb27939b1583a1f6feef0ffed493981 Mon Sep 17 00:00:00 2001 From: Guilherme de Andrade Date: Sun, 25 Jan 2026 10:18:35 +0000 Subject: [PATCH 03/18] feat: add mermaid diagram support - install mermaid lib - create MermaidInit component - add to BlogPost & Talk layouts - add prose styles for diagrams - convert text diagrams to mermaid in prompts talk Co-Authored-By: Claude Sonnet 4.5 --- package.json | 1 + pnpm-lock.yaml | 893 ++++++++++++++++++ src/components/MermaidInit.astro | 17 + ...-prompts-to-predictable-user-interfaces.md | 38 +- src/layouts/BlogPost.astro | 2 + src/layouts/Talk.astro | 2 + src/styles/base.css | 12 + 7 files changed, 942 insertions(+), 23 deletions(-) create mode 100644 src/components/MermaidInit.astro diff --git a/package.json b/package.json index 8fa0002..46f6c14 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,7 @@ "astro": "^5.16.14", "chart.js": "^4.5.1", "clsx": "^2.1.0", + "mermaid": "^11.12.2", "tailwind-merge": "^3.4.0", "typescript": "^5.9.3" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7bdb16f..016f811 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -35,6 +35,9 @@ importers: clsx: specifier: ^2.1.0 version: 2.1.1 + mermaid: + specifier: ^11.12.2 + version: 11.12.2 tailwind-merge: specifier: ^3.4.0 version: 3.4.0 @@ -69,6 +72,9 @@ importers: packages: + '@antfu/install-pkg@1.1.0': + resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==} + '@astrojs/check@0.9.6': resolution: {integrity: sha512-jlaEu5SxvSgmfGIFfNgcn5/f+29H61NJzEMfAZ82Xopr4XBchXB1GVlcJsE+elUlsYSbXlptZLX+JMG3b/wZEA==} hasBin: true @@ -136,10 +142,28 @@ packages: resolution: {integrity: sha512-0ZrskXVEHSWIqZM/sQZ4EV3jZJXRkio/WCxaqKZP1g//CEWEPSfeZFcms4XeKBCHU0ZKnIkdJeU/kF+eRp5lBg==} engines: {node: '>=6.9.0'} + '@braintree/sanitize-url@7.1.1': + resolution: {integrity: sha512-i1L7noDNxtFyL5DmZafWy1wRVhGehQmzZaz1HiN5e7iylJMSZR7ekOV7NsIqa5qBldlLrsKv4HbgFUVlQrz8Mw==} + '@capsizecss/unpack@4.0.0': resolution: {integrity: sha512-VERIM64vtTP1C4mxQ5thVT9fK0apjPFobqybMtA1UdUujWka24ERHbRHFGmpbbhp73MhV+KSsHQH9C6uOTdEQA==} engines: {node: '>=18'} + '@chevrotain/cst-dts-gen@11.0.3': + resolution: {integrity: sha512-BvIKpRLeS/8UbfxXxgC33xOumsacaeCKAjAeLyOn7Pcp95HiRbrpl14S+9vaZLolnbssPIUuiUd8IvgkRyt6NQ==} + + '@chevrotain/gast@11.0.3': + resolution: {integrity: sha512-+qNfcoNk70PyS/uxmj3li5NiECO+2YKZZQMbmjTqRI3Qchu8Hig/Q9vgkHpI3alNjr7M+a2St5pw5w5F6NL5/Q==} + + '@chevrotain/regexp-to-ast@11.0.3': + resolution: {integrity: sha512-1fMHaBZxLFvWI067AVbGJav1eRY7N8DDvYCTwGBiE/ytKBgP8azTdgyrKyWZ9Mfh09eHWb5PgTSO8wi7U824RA==} + + '@chevrotain/types@11.0.3': + resolution: {integrity: sha512-gsiM3G8b58kZC2HaWR50gu6Y1440cHiJ+i3JUvcp/35JchYejb2+5MVeJK0iKThYpAa/P2PYFV4hoi44HD+aHQ==} + + '@chevrotain/utils@11.0.3': + resolution: {integrity: sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ==} + '@emmetio/abbreviation@2.3.3': resolution: {integrity: sha512-mgv58UrU3rh4YgbE/TzgLQwJ3pFsHHhCLqY20aJq+9comytTXUDNGG/SMtSeMJdkpxgXSXunBGLD8Boka3JyVA==} @@ -323,6 +347,12 @@ packages: '@fontsource/work-sans@5.2.8': resolution: {integrity: sha512-6LaHjVVgts+rnrcqvEkP2+iUB/jw1oDSYsGO0+TltAhnWki9Hnf/UGpgMQh2jcm0GEH8VqCPnq4PpmHLFzxXtQ==} + '@iconify/types@2.0.0': + resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} + + '@iconify/utils@3.1.0': + resolution: {integrity: sha512-Zlzem1ZXhI1iHeeERabLNzBHdOa4VhQbqAcOQaMKuTuyZCpwKbC2R4Dd0Zo3g9EAc+Y4fiarO8HIHRAth7+skw==} + '@img/colour@1.0.0': resolution: {integrity: sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==} engines: {node: '>=18'} @@ -482,6 +512,9 @@ packages: '@mdx-js/mdx@3.1.1': resolution: {integrity: sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==} + '@mermaid-js/parser@0.6.3': + resolution: {integrity: sha512-lnjOhe7zyHjc+If7yT4zoedx2vo4sHaTmtkl1+or8BRTnCtDmcTpAjpzDSfCZrshM5bCoz0GyidzadJAH1xobA==} + '@myriaddreamin/typst-ts-node-compiler-android-arm-eabi@0.7.0-rc2': resolution: {integrity: sha512-OnfUH3XbGel3+QUZc4G3+V1npXYGCDc3b7WhFw88ihCH/Xpw+NNjidLrFkY6kK2a5vVHnY2AEG0hJSwZzvOw0Q==} engines: {node: '>= 10'} @@ -825,6 +858,99 @@ packages: peerDependencies: vite: ^5.2.0 || ^6 || ^7 + '@types/d3-array@3.2.2': + resolution: {integrity: sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==} + + '@types/d3-axis@3.0.6': + resolution: {integrity: sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==} + + '@types/d3-brush@3.0.6': + resolution: {integrity: sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==} + + '@types/d3-chord@3.0.6': + resolution: {integrity: sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==} + + '@types/d3-color@3.1.3': + resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==} + + '@types/d3-contour@3.0.6': + resolution: {integrity: sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==} + + '@types/d3-delaunay@6.0.4': + resolution: {integrity: sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==} + + '@types/d3-dispatch@3.0.7': + resolution: {integrity: sha512-5o9OIAdKkhN1QItV2oqaE5KMIiXAvDWBDPrD85e58Qlz1c1kI/J0NcqbEG88CoTwJrYe7ntUCVfeUl2UJKbWgA==} + + '@types/d3-drag@3.0.7': + resolution: {integrity: sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==} + + '@types/d3-dsv@3.0.7': + resolution: {integrity: sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==} + + '@types/d3-ease@3.0.2': + resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==} + + '@types/d3-fetch@3.0.7': + resolution: {integrity: sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==} + + '@types/d3-force@3.0.10': + resolution: {integrity: sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==} + + '@types/d3-format@3.0.4': + resolution: {integrity: sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==} + + '@types/d3-geo@3.1.0': + resolution: {integrity: sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==} + + '@types/d3-hierarchy@3.1.7': + resolution: {integrity: sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==} + + '@types/d3-interpolate@3.0.4': + resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==} + + '@types/d3-path@3.1.1': + resolution: {integrity: sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==} + + '@types/d3-polygon@3.0.2': + resolution: {integrity: sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==} + + '@types/d3-quadtree@3.0.6': + resolution: {integrity: sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==} + + '@types/d3-random@3.0.3': + resolution: {integrity: sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==} + + '@types/d3-scale-chromatic@3.1.0': + resolution: {integrity: sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==} + + '@types/d3-scale@4.0.9': + resolution: {integrity: sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==} + + '@types/d3-selection@3.0.11': + resolution: {integrity: sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==} + + '@types/d3-shape@3.1.8': + resolution: {integrity: sha512-lae0iWfcDeR7qt7rA88BNiqdvPS5pFVPpo5OfjElwNaT2yyekbM0C9vK+yqBqEmHr6lDkRnYNoTBYlAgJa7a4w==} + + '@types/d3-time-format@4.0.3': + resolution: {integrity: sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==} + + '@types/d3-time@3.0.4': + resolution: {integrity: sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==} + + '@types/d3-timer@3.0.2': + resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==} + + '@types/d3-transition@3.0.9': + resolution: {integrity: sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==} + + '@types/d3-zoom@3.0.8': + resolution: {integrity: sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==} + + '@types/d3@7.4.3': + resolution: {integrity: sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==} + '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} @@ -834,6 +960,9 @@ packages: '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + '@types/geojson@7946.0.16': + resolution: {integrity: sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==} + '@types/hast@3.0.4': resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} @@ -858,6 +987,9 @@ packages: '@types/sax@1.2.7': resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==} + '@types/trusted-types@2.0.7': + resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} + '@types/unist@2.0.11': resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} @@ -1007,6 +1139,14 @@ packages: resolution: {integrity: sha512-GIjfiT9dbmHRiYi6Nl2yFCq7kkwdkp1W/lp2J99rX0yo9tgJGn3lKQATztIjb5tVtevcBtIdICNWqlq5+E8/Pw==} engines: {pnpm: '>=8'} + chevrotain-allstar@0.3.1: + resolution: {integrity: sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==} + peerDependencies: + chevrotain: ^11.0.0 + + chevrotain@11.0.3: + resolution: {integrity: sha512-ci2iJH6LeIkvP9eJW6gpueU8cnZhv85ELY8w8WiFtNjMHA5ad6pQLaJo9mEly/9qUyCpvqX8/POVUTf18/HFdw==} + chokidar@4.0.3: resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} engines: {node: '>= 14.16.0'} @@ -1048,9 +1188,20 @@ packages: resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} engines: {node: '>=16'} + commander@7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + + commander@8.3.0: + resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} + engines: {node: '>= 12'} + common-ancestor-path@1.0.1: resolution: {integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==} + confbox@0.1.8: + resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} + cookie-es@1.2.2: resolution: {integrity: sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==} @@ -1058,6 +1209,12 @@ packages: resolution: {integrity: sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==} engines: {node: '>=18'} + cose-base@1.0.3: + resolution: {integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==} + + cose-base@2.2.0: + resolution: {integrity: sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==} + crossws@0.3.5: resolution: {integrity: sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==} @@ -1085,6 +1242,165 @@ packages: resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + cytoscape-cose-bilkent@4.1.0: + resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==} + peerDependencies: + cytoscape: ^3.2.0 + + cytoscape-fcose@2.2.0: + resolution: {integrity: sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==} + peerDependencies: + cytoscape: ^3.2.0 + + cytoscape@3.33.1: + resolution: {integrity: sha512-iJc4TwyANnOGR1OmWhsS9ayRS3s+XQ185FmuHObThD+5AeJCakAAbWv8KimMTt08xCCLNgneQwFp+JRJOr9qGQ==} + engines: {node: '>=0.10'} + + d3-array@2.12.1: + resolution: {integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==} + + d3-array@3.2.4: + resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==} + engines: {node: '>=12'} + + d3-axis@3.0.0: + resolution: {integrity: sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==} + engines: {node: '>=12'} + + d3-brush@3.0.0: + resolution: {integrity: sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==} + engines: {node: '>=12'} + + d3-chord@3.0.1: + resolution: {integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==} + engines: {node: '>=12'} + + d3-color@3.1.0: + resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==} + engines: {node: '>=12'} + + d3-contour@4.0.2: + resolution: {integrity: sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==} + engines: {node: '>=12'} + + d3-delaunay@6.0.4: + resolution: {integrity: sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==} + engines: {node: '>=12'} + + d3-dispatch@3.0.1: + resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==} + engines: {node: '>=12'} + + d3-drag@3.0.0: + resolution: {integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==} + engines: {node: '>=12'} + + d3-dsv@3.0.1: + resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==} + engines: {node: '>=12'} + hasBin: true + + d3-ease@3.0.1: + resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==} + engines: {node: '>=12'} + + d3-fetch@3.0.1: + resolution: {integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==} + engines: {node: '>=12'} + + d3-force@3.0.0: + resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==} + engines: {node: '>=12'} + + d3-format@3.1.2: + resolution: {integrity: sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg==} + engines: {node: '>=12'} + + d3-geo@3.1.1: + resolution: {integrity: sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==} + engines: {node: '>=12'} + + d3-hierarchy@3.1.2: + resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==} + engines: {node: '>=12'} + + d3-interpolate@3.0.1: + resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} + engines: {node: '>=12'} + + d3-path@1.0.9: + resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==} + + d3-path@3.1.0: + resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==} + engines: {node: '>=12'} + + d3-polygon@3.0.1: + resolution: {integrity: sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==} + engines: {node: '>=12'} + + d3-quadtree@3.0.1: + resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==} + engines: {node: '>=12'} + + d3-random@3.0.1: + resolution: {integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==} + engines: {node: '>=12'} + + d3-sankey@0.12.3: + resolution: {integrity: sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==} + + d3-scale-chromatic@3.1.0: + resolution: {integrity: sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==} + engines: {node: '>=12'} + + d3-scale@4.0.2: + resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==} + engines: {node: '>=12'} + + d3-selection@3.0.0: + resolution: {integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==} + engines: {node: '>=12'} + + d3-shape@1.3.7: + resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==} + + d3-shape@3.2.0: + resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==} + engines: {node: '>=12'} + + d3-time-format@4.1.0: + resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==} + engines: {node: '>=12'} + + d3-time@3.1.0: + resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==} + engines: {node: '>=12'} + + d3-timer@3.0.1: + resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==} + engines: {node: '>=12'} + + d3-transition@3.0.1: + resolution: {integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==} + engines: {node: '>=12'} + peerDependencies: + d3-selection: 2 - 3 + + d3-zoom@3.0.0: + resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==} + engines: {node: '>=12'} + + d3@7.9.0: + resolution: {integrity: sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==} + engines: {node: '>=12'} + + dagre-d3-es@7.0.13: + resolution: {integrity: sha512-efEhnxpSuwpYOKRm/L5KbqoZmNNukHa/Flty4Wp62JRvgH2ojwVgPgdYyr4twpieZnyRDdIH7PY2mopX26+j2Q==} + + dayjs@1.11.19: + resolution: {integrity: sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==} + debug@4.4.3: resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} engines: {node: '>=6.0'} @@ -1100,6 +1416,9 @@ packages: defu@6.1.4: resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} + delaunator@5.0.1: + resolution: {integrity: sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==} + dequal@2.0.3: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} @@ -1138,6 +1457,9 @@ packages: resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} engines: {node: '>= 4'} + dompurify@3.3.1: + resolution: {integrity: sha512-qkdCKzLNtrgPFP1Vo+98FRzJnBRGe4ffyCea9IwHB1fyxPOeNTHpLKYGd4Uk9xvNoH0ZoOjwZxNptyMwqrId1Q==} + domutils@3.2.2: resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} @@ -1290,6 +1612,9 @@ packages: h3@1.15.5: resolution: {integrity: sha512-xEyq3rSl+dhGX2Lm0+eFQIAzlDN6Fs0EcC4f7BNUmzaRX/PTzeuM+Tr2lHB8FoXggsQIeXLj8EDVgs5ywxyxmg==} + hachure-fill@0.5.2: + resolution: {integrity: sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==} + hast-util-from-html@2.0.3: resolution: {integrity: sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==} @@ -1335,12 +1660,23 @@ packages: http-cache-semantics@4.2.0: resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==} + iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + import-meta-resolve@4.2.0: resolution: {integrity: sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==} inline-style-parser@0.2.7: resolution: {integrity: sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==} + internmap@1.0.1: + resolution: {integrity: sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==} + + internmap@2.0.3: + resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} + engines: {node: '>=12'} + iron-webcrypto@1.2.1: resolution: {integrity: sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==} @@ -1407,6 +1743,13 @@ packages: jsonc-parser@3.3.1: resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} + katex@0.16.27: + resolution: {integrity: sha512-aeQoDkuRWSqQN6nSvVCEFvfXdqo1OQiCmmW1kc9xSdjutPv7BGO7pqY9sQRJpMOGrEdfDgF2TfRXe5eUAD2Waw==} + hasBin: true + + khroma@2.1.0: + resolution: {integrity: sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==} + kleur@3.0.3: resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} engines: {node: '>=6'} @@ -1415,6 +1758,16 @@ packages: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} engines: {node: '>=6'} + langium@3.3.1: + resolution: {integrity: sha512-QJv/h939gDpvT+9SiLVlY7tZC3xB2qK57v0J04Sh9wpMb6MP1q8gB21L3WIo8T5P1MSMg3Ep14L7KkDCFG3y4w==} + engines: {node: '>=16.0.0'} + + layout-base@1.0.2: + resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==} + + layout-base@2.0.1: + resolution: {integrity: sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==} + lightningcss-android-arm64@1.30.2: resolution: {integrity: sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==} engines: {node: '>= 12.0.0'} @@ -1485,6 +1838,12 @@ packages: resolution: {integrity: sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==} engines: {node: '>= 12.0.0'} + lodash-es@4.17.21: + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} + + lodash-es@4.17.23: + resolution: {integrity: sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==} + lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} @@ -1508,6 +1867,11 @@ packages: markdown-table@3.0.4: resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} + marked@16.4.2: + resolution: {integrity: sha512-TI3V8YYWvkVf3KJe1dRkpnjs68JUPyEa5vjKrp1XEEJUAOaQc+Qj+L1qWbPd0SJuAdQkFU0h73sXXqwDYxsiDA==} + engines: {node: '>= 20'} + hasBin: true + mdast-util-definitions@6.0.0: resolution: {integrity: sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ==} @@ -1569,6 +1933,9 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} + mermaid@11.12.2: + resolution: {integrity: sha512-n34QPDPEKmaeCG4WDMGy0OT6PSyxKCfy2pJgShP+Qow2KLrvWjclwbc3yXfSIf4BanqWEhQEpngWwNp/XhZt6w==} + micromark-core-commonmark@2.0.3: resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==} @@ -1678,6 +2045,9 @@ packages: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} + mlly@1.8.0: + resolution: {integrity: sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==} + mrmime@2.0.1: resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} engines: {node: '>=10'} @@ -1752,6 +2122,12 @@ packages: path-browserify@1.0.1: resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + path-data-parser@0.1.0: + resolution: {integrity: sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==} + + pathe@2.0.3: + resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} + piccolore@0.1.3: resolution: {integrity: sha512-o8bTeDWjE086iwKrROaDf31K0qC/BENdm15/uH9usSC/uZjJOKb2YGiVHfLY4GhwsERiPI1jmwI2XrA7ACOxVw==} @@ -1766,6 +2142,9 @@ packages: resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} engines: {node: '>=12'} + pkg-types@1.3.1: + resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} + playwright-core@1.57.0: resolution: {integrity: sha512-agTcKlMw/mjBWOnD6kFZttAAGHgi/Nw0CZ2o6JqWSbMlI219lAFLZZCyqByTsvVAJq5XA5H8cA6PrvBRpBWEuQ==} engines: {node: '>=18'} @@ -1776,6 +2155,12 @@ packages: engines: {node: '>=18'} hasBin: true + points-on-curve@0.2.0: + resolution: {integrity: sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==} + + points-on-path@0.2.1: + resolution: {integrity: sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g==} + postcss-selector-parser@6.0.10: resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} engines: {node: '>=4'} @@ -1960,17 +2345,29 @@ packages: resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + robust-predicates@3.0.2: + resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} + rollup@4.56.0: resolution: {integrity: sha512-9FwVqlgUHzbXtDg9RCMgodF3Ua4Na6Gau+Sdt9vyCN4RhHfVKX2DCHy3BjMLTDd47ITDhYAnTwGulWTblJSDLg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true + roughjs@4.6.6: + resolution: {integrity: sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==} + run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + rw@1.3.3: + resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==} + s.color@0.0.15: resolution: {integrity: sha512-AUNrbEUHeKY8XsYr/DYpl+qk5+aM+DChopnWOPEzn8YKzOhv4l2zH6LzZms3tOZP3wwdOyc0RmTciyi46HLIuA==} + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + sass-formatter@0.7.9: resolution: {integrity: sha512-CWZ8XiSim+fJVG0cFLStwDvft1VI7uvXdCNJYXhDvowiv+DsbD1nXLiQ4zrE5UBvj5DWZJ93cwN0NX5PMsr1Pw==} @@ -2044,6 +2441,9 @@ packages: style-to-object@1.0.14: resolution: {integrity: sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==} + stylis@4.3.6: + resolution: {integrity: sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==} + suf-log@2.5.3: resolution: {integrity: sha512-KvC8OPjzdNOe+xQ4XWJV2whQA0aM1kGVczMQ8+dStAO6KfEB140JEVQ9dE76ONZ0/Ylf67ni4tILPJB41U0eow==} @@ -2083,6 +2483,10 @@ packages: trough@2.2.0: resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} + ts-dedent@2.2.0: + resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==} + engines: {node: '>=6.10'} + tsconfck@3.1.6: resolution: {integrity: sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==} engines: {node: ^18 || >=20} @@ -2227,6 +2631,10 @@ packages: util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + uuid@11.1.0: + resolution: {integrity: sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==} + hasBin: true + vfile-location@5.0.3: resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==} @@ -2373,6 +2781,9 @@ packages: vscode-nls@5.2.0: resolution: {integrity: sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==} + vscode-uri@3.0.8: + resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} + vscode-uri@3.1.0: resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==} @@ -2455,6 +2866,11 @@ packages: snapshots: + '@antfu/install-pkg@1.1.0': + dependencies: + package-manager-detector: 1.6.0 + tinyexec: 1.0.2 + '@astrojs/check@0.9.6(prettier-plugin-astro@0.14.1)(prettier@3.8.1)(typescript@5.9.3)': dependencies: '@astrojs/language-server': 2.16.2(prettier-plugin-astro@0.14.1)(prettier@3.8.1)(typescript@5.9.3) @@ -2585,10 +3001,29 @@ snapshots: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.28.5 + '@braintree/sanitize-url@7.1.1': {} + '@capsizecss/unpack@4.0.0': dependencies: fontkitten: 1.0.2 + '@chevrotain/cst-dts-gen@11.0.3': + dependencies: + '@chevrotain/gast': 11.0.3 + '@chevrotain/types': 11.0.3 + lodash-es: 4.17.21 + + '@chevrotain/gast@11.0.3': + dependencies: + '@chevrotain/types': 11.0.3 + lodash-es: 4.17.21 + + '@chevrotain/regexp-to-ast@11.0.3': {} + + '@chevrotain/types@11.0.3': {} + + '@chevrotain/utils@11.0.3': {} + '@emmetio/abbreviation@2.3.3': dependencies: '@emmetio/scanner': 1.0.4 @@ -2697,6 +3132,14 @@ snapshots: '@fontsource/work-sans@5.2.8': {} + '@iconify/types@2.0.0': {} + + '@iconify/utils@3.1.0': + dependencies: + '@antfu/install-pkg': 1.1.0 + '@iconify/types': 2.0.0 + mlly: 1.8.0 + '@img/colour@1.0.0': optional: true @@ -2845,6 +3288,10 @@ snapshots: transitivePeerDependencies: - supports-color + '@mermaid-js/parser@0.6.3': + dependencies: + langium: 3.3.1 + '@myriaddreamin/typst-ts-node-compiler-android-arm-eabi@0.7.0-rc2': optional: true @@ -3101,6 +3548,123 @@ snapshots: tailwindcss: 4.1.18 vite: 6.4.1(@types/node@25.0.10)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2) + '@types/d3-array@3.2.2': {} + + '@types/d3-axis@3.0.6': + dependencies: + '@types/d3-selection': 3.0.11 + + '@types/d3-brush@3.0.6': + dependencies: + '@types/d3-selection': 3.0.11 + + '@types/d3-chord@3.0.6': {} + + '@types/d3-color@3.1.3': {} + + '@types/d3-contour@3.0.6': + dependencies: + '@types/d3-array': 3.2.2 + '@types/geojson': 7946.0.16 + + '@types/d3-delaunay@6.0.4': {} + + '@types/d3-dispatch@3.0.7': {} + + '@types/d3-drag@3.0.7': + dependencies: + '@types/d3-selection': 3.0.11 + + '@types/d3-dsv@3.0.7': {} + + '@types/d3-ease@3.0.2': {} + + '@types/d3-fetch@3.0.7': + dependencies: + '@types/d3-dsv': 3.0.7 + + '@types/d3-force@3.0.10': {} + + '@types/d3-format@3.0.4': {} + + '@types/d3-geo@3.1.0': + dependencies: + '@types/geojson': 7946.0.16 + + '@types/d3-hierarchy@3.1.7': {} + + '@types/d3-interpolate@3.0.4': + dependencies: + '@types/d3-color': 3.1.3 + + '@types/d3-path@3.1.1': {} + + '@types/d3-polygon@3.0.2': {} + + '@types/d3-quadtree@3.0.6': {} + + '@types/d3-random@3.0.3': {} + + '@types/d3-scale-chromatic@3.1.0': {} + + '@types/d3-scale@4.0.9': + dependencies: + '@types/d3-time': 3.0.4 + + '@types/d3-selection@3.0.11': {} + + '@types/d3-shape@3.1.8': + dependencies: + '@types/d3-path': 3.1.1 + + '@types/d3-time-format@4.0.3': {} + + '@types/d3-time@3.0.4': {} + + '@types/d3-timer@3.0.2': {} + + '@types/d3-transition@3.0.9': + dependencies: + '@types/d3-selection': 3.0.11 + + '@types/d3-zoom@3.0.8': + dependencies: + '@types/d3-interpolate': 3.0.4 + '@types/d3-selection': 3.0.11 + + '@types/d3@7.4.3': + dependencies: + '@types/d3-array': 3.2.2 + '@types/d3-axis': 3.0.6 + '@types/d3-brush': 3.0.6 + '@types/d3-chord': 3.0.6 + '@types/d3-color': 3.1.3 + '@types/d3-contour': 3.0.6 + '@types/d3-delaunay': 6.0.4 + '@types/d3-dispatch': 3.0.7 + '@types/d3-drag': 3.0.7 + '@types/d3-dsv': 3.0.7 + '@types/d3-ease': 3.0.2 + '@types/d3-fetch': 3.0.7 + '@types/d3-force': 3.0.10 + '@types/d3-format': 3.0.4 + '@types/d3-geo': 3.1.0 + '@types/d3-hierarchy': 3.1.7 + '@types/d3-interpolate': 3.0.4 + '@types/d3-path': 3.1.1 + '@types/d3-polygon': 3.0.2 + '@types/d3-quadtree': 3.0.6 + '@types/d3-random': 3.0.3 + '@types/d3-scale': 4.0.9 + '@types/d3-scale-chromatic': 3.1.0 + '@types/d3-selection': 3.0.11 + '@types/d3-shape': 3.1.8 + '@types/d3-time': 3.0.4 + '@types/d3-time-format': 4.0.3 + '@types/d3-timer': 3.0.2 + '@types/d3-transition': 3.0.9 + '@types/d3-zoom': 3.0.8 + '@types/debug@4.1.12': dependencies: '@types/ms': 2.1.0 @@ -3111,6 +3675,8 @@ snapshots: '@types/estree@1.0.8': {} + '@types/geojson@7946.0.16': {} + '@types/hast@3.0.4': dependencies: '@types/unist': 3.0.3 @@ -3138,6 +3704,9 @@ snapshots: dependencies: '@types/node': 17.0.45 + '@types/trusted-types@2.0.7': + optional: true + '@types/unist@2.0.11': {} '@types/unist@3.0.3': {} @@ -3383,6 +3952,20 @@ snapshots: dependencies: '@kurkle/color': 0.3.4 + chevrotain-allstar@0.3.1(chevrotain@11.0.3): + dependencies: + chevrotain: 11.0.3 + lodash-es: 4.17.23 + + chevrotain@11.0.3: + dependencies: + '@chevrotain/cst-dts-gen': 11.0.3 + '@chevrotain/gast': 11.0.3 + '@chevrotain/regexp-to-ast': 11.0.3 + '@chevrotain/types': 11.0.3 + '@chevrotain/utils': 11.0.3 + lodash-es: 4.17.21 + chokidar@4.0.3: dependencies: readdirp: 4.1.2 @@ -3415,12 +3998,26 @@ snapshots: commander@11.1.0: {} + commander@7.2.0: {} + + commander@8.3.0: {} + common-ancestor-path@1.0.1: {} + confbox@0.1.8: {} + cookie-es@1.2.2: {} cookie@1.1.1: {} + cose-base@1.0.3: + dependencies: + layout-base: 1.0.2 + + cose-base@2.2.0: + dependencies: + layout-base: 2.0.1 + crossws@0.3.5: dependencies: uncrypto: 0.1.3 @@ -3451,6 +4048,192 @@ snapshots: dependencies: css-tree: 2.2.1 + cytoscape-cose-bilkent@4.1.0(cytoscape@3.33.1): + dependencies: + cose-base: 1.0.3 + cytoscape: 3.33.1 + + cytoscape-fcose@2.2.0(cytoscape@3.33.1): + dependencies: + cose-base: 2.2.0 + cytoscape: 3.33.1 + + cytoscape@3.33.1: {} + + d3-array@2.12.1: + dependencies: + internmap: 1.0.1 + + d3-array@3.2.4: + dependencies: + internmap: 2.0.3 + + d3-axis@3.0.0: {} + + d3-brush@3.0.0: + dependencies: + d3-dispatch: 3.0.1 + d3-drag: 3.0.0 + d3-interpolate: 3.0.1 + d3-selection: 3.0.0 + d3-transition: 3.0.1(d3-selection@3.0.0) + + d3-chord@3.0.1: + dependencies: + d3-path: 3.1.0 + + d3-color@3.1.0: {} + + d3-contour@4.0.2: + dependencies: + d3-array: 3.2.4 + + d3-delaunay@6.0.4: + dependencies: + delaunator: 5.0.1 + + d3-dispatch@3.0.1: {} + + d3-drag@3.0.0: + dependencies: + d3-dispatch: 3.0.1 + d3-selection: 3.0.0 + + d3-dsv@3.0.1: + dependencies: + commander: 7.2.0 + iconv-lite: 0.6.3 + rw: 1.3.3 + + d3-ease@3.0.1: {} + + d3-fetch@3.0.1: + dependencies: + d3-dsv: 3.0.1 + + d3-force@3.0.0: + dependencies: + d3-dispatch: 3.0.1 + d3-quadtree: 3.0.1 + d3-timer: 3.0.1 + + d3-format@3.1.2: {} + + d3-geo@3.1.1: + dependencies: + d3-array: 3.2.4 + + d3-hierarchy@3.1.2: {} + + d3-interpolate@3.0.1: + dependencies: + d3-color: 3.1.0 + + d3-path@1.0.9: {} + + d3-path@3.1.0: {} + + d3-polygon@3.0.1: {} + + d3-quadtree@3.0.1: {} + + d3-random@3.0.1: {} + + d3-sankey@0.12.3: + dependencies: + d3-array: 2.12.1 + d3-shape: 1.3.7 + + d3-scale-chromatic@3.1.0: + dependencies: + d3-color: 3.1.0 + d3-interpolate: 3.0.1 + + d3-scale@4.0.2: + dependencies: + d3-array: 3.2.4 + d3-format: 3.1.2 + d3-interpolate: 3.0.1 + d3-time: 3.1.0 + d3-time-format: 4.1.0 + + d3-selection@3.0.0: {} + + d3-shape@1.3.7: + dependencies: + d3-path: 1.0.9 + + d3-shape@3.2.0: + dependencies: + d3-path: 3.1.0 + + d3-time-format@4.1.0: + dependencies: + d3-time: 3.1.0 + + d3-time@3.1.0: + dependencies: + d3-array: 3.2.4 + + d3-timer@3.0.1: {} + + d3-transition@3.0.1(d3-selection@3.0.0): + dependencies: + d3-color: 3.1.0 + d3-dispatch: 3.0.1 + d3-ease: 3.0.1 + d3-interpolate: 3.0.1 + d3-selection: 3.0.0 + d3-timer: 3.0.1 + + d3-zoom@3.0.0: + dependencies: + d3-dispatch: 3.0.1 + d3-drag: 3.0.0 + d3-interpolate: 3.0.1 + d3-selection: 3.0.0 + d3-transition: 3.0.1(d3-selection@3.0.0) + + d3@7.9.0: + dependencies: + d3-array: 3.2.4 + d3-axis: 3.0.0 + d3-brush: 3.0.0 + d3-chord: 3.0.1 + d3-color: 3.1.0 + d3-contour: 4.0.2 + d3-delaunay: 6.0.4 + d3-dispatch: 3.0.1 + d3-drag: 3.0.0 + d3-dsv: 3.0.1 + d3-ease: 3.0.1 + d3-fetch: 3.0.1 + d3-force: 3.0.0 + d3-format: 3.1.2 + d3-geo: 3.1.1 + d3-hierarchy: 3.1.2 + d3-interpolate: 3.0.1 + d3-path: 3.1.0 + d3-polygon: 3.0.1 + d3-quadtree: 3.0.1 + d3-random: 3.0.1 + d3-scale: 4.0.2 + d3-scale-chromatic: 3.1.0 + d3-selection: 3.0.0 + d3-shape: 3.2.0 + d3-time: 3.1.0 + d3-time-format: 4.1.0 + d3-timer: 3.0.1 + d3-transition: 3.0.1(d3-selection@3.0.0) + d3-zoom: 3.0.0 + + dagre-d3-es@7.0.13: + dependencies: + d3: 7.9.0 + lodash-es: 4.17.23 + + dayjs@1.11.19: {} + debug@4.4.3: dependencies: ms: 2.1.3 @@ -3461,6 +4244,10 @@ snapshots: defu@6.1.4: {} + delaunator@5.0.1: + dependencies: + robust-predicates: 3.0.2 + dequal@2.0.3: {} destr@2.0.5: {} @@ -3493,6 +4280,10 @@ snapshots: dependencies: domelementtype: 2.3.0 + dompurify@3.3.1: + optionalDependencies: + '@types/trusted-types': 2.0.7 + domutils@3.2.2: dependencies: dom-serializer: 2.0.0 @@ -3675,6 +4466,8 @@ snapshots: ufo: 1.6.3 uncrypto: 0.1.3 + hachure-fill@0.5.2: {} + hast-util-from-html@2.0.3: dependencies: '@types/hast': 3.0.4 @@ -3809,10 +4602,18 @@ snapshots: http-cache-semantics@4.2.0: {} + iconv-lite@0.6.3: + dependencies: + safer-buffer: 2.1.2 + import-meta-resolve@4.2.0: {} inline-style-parser@0.2.7: {} + internmap@1.0.1: {} + + internmap@2.0.3: {} + iron-webcrypto@1.2.1: {} is-alphabetical@2.0.1: {} @@ -3860,10 +4661,28 @@ snapshots: jsonc-parser@3.3.1: {} + katex@0.16.27: + dependencies: + commander: 8.3.0 + + khroma@2.1.0: {} + kleur@3.0.3: {} kleur@4.1.5: {} + langium@3.3.1: + dependencies: + chevrotain: 11.0.3 + chevrotain-allstar: 0.3.1(chevrotain@11.0.3) + vscode-languageserver: 9.0.1 + vscode-languageserver-textdocument: 1.0.12 + vscode-uri: 3.0.8 + + layout-base@1.0.2: {} + + layout-base@2.0.1: {} + lightningcss-android-arm64@1.30.2: optional: true @@ -3913,6 +4732,10 @@ snapshots: lightningcss-win32-arm64-msvc: 1.30.2 lightningcss-win32-x64-msvc: 1.30.2 + lodash-es@4.17.21: {} + + lodash-es@4.17.23: {} + lodash@4.17.21: {} longest-streak@3.1.0: {} @@ -3933,6 +4756,8 @@ snapshots: markdown-table@3.0.4: {} + marked@16.4.2: {} + mdast-util-definitions@6.0.0: dependencies: '@types/mdast': 4.0.4 @@ -4108,6 +4933,29 @@ snapshots: merge2@1.4.1: {} + mermaid@11.12.2: + dependencies: + '@braintree/sanitize-url': 7.1.1 + '@iconify/utils': 3.1.0 + '@mermaid-js/parser': 0.6.3 + '@types/d3': 7.4.3 + cytoscape: 3.33.1 + cytoscape-cose-bilkent: 4.1.0(cytoscape@3.33.1) + cytoscape-fcose: 2.2.0(cytoscape@3.33.1) + d3: 7.9.0 + d3-sankey: 0.12.3 + dagre-d3-es: 7.0.13 + dayjs: 1.11.19 + dompurify: 3.3.1 + katex: 0.16.27 + khroma: 2.1.0 + lodash-es: 4.17.23 + marked: 16.4.2 + roughjs: 4.6.6 + stylis: 4.3.6 + ts-dedent: 2.2.0 + uuid: 11.1.0 + micromark-core-commonmark@2.0.3: dependencies: decode-named-character-reference: 1.3.0 @@ -4377,6 +5225,13 @@ snapshots: braces: 3.0.3 picomatch: 2.3.1 + mlly@1.8.0: + dependencies: + acorn: 8.15.0 + pathe: 2.0.3 + pkg-types: 1.3.1 + ufo: 1.6.3 + mrmime@2.0.1: {} ms@2.1.3: {} @@ -4455,6 +5310,10 @@ snapshots: path-browserify@1.0.1: {} + path-data-parser@0.1.0: {} + + pathe@2.0.3: {} + piccolore@0.1.3: {} picocolors@1.1.1: {} @@ -4463,6 +5322,12 @@ snapshots: picomatch@4.0.3: {} + pkg-types@1.3.1: + dependencies: + confbox: 0.1.8 + mlly: 1.8.0 + pathe: 2.0.3 + playwright-core@1.57.0: {} playwright@1.57.0: @@ -4471,6 +5336,13 @@ snapshots: optionalDependencies: fsevents: 2.3.2 + points-on-curve@0.2.0: {} + + points-on-path@0.2.1: + dependencies: + path-data-parser: 0.1.0 + points-on-curve: 0.2.0 + postcss-selector-parser@6.0.10: dependencies: cssesc: 3.0.0 @@ -4668,6 +5540,8 @@ snapshots: reusify@1.1.0: {} + robust-predicates@3.0.2: {} + rollup@4.56.0: dependencies: '@types/estree': 1.0.8 @@ -4699,12 +5573,23 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.56.0 fsevents: 2.3.3 + roughjs@4.6.6: + dependencies: + hachure-fill: 0.5.2 + path-data-parser: 0.1.0 + points-on-curve: 0.2.0 + points-on-path: 0.2.1 + run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 + rw@1.3.3: {} + s.color@0.0.15: {} + safer-buffer@2.1.2: {} + sass-formatter@0.7.9: dependencies: suf-log: 2.5.3 @@ -4810,6 +5695,8 @@ snapshots: dependencies: inline-style-parser: 0.2.7 + stylis@4.3.6: {} + suf-log@2.5.3: dependencies: s.color: 0.0.15 @@ -4847,6 +5734,8 @@ snapshots: trough@2.2.0: {} + ts-dedent@2.2.0: {} + tsconfck@3.1.6(typescript@5.9.3): optionalDependencies: typescript: 5.9.3 @@ -4954,6 +5843,8 @@ snapshots: util-deprecate@1.0.2: {} + uuid@11.1.0: {} + vfile-location@5.0.3: dependencies: '@types/unist': 3.0.3 @@ -5083,6 +5974,8 @@ snapshots: vscode-nls@5.2.0: {} + vscode-uri@3.0.8: {} + vscode-uri@3.1.0: {} web-namespaces@2.0.1: {} diff --git a/src/components/MermaidInit.astro b/src/components/MermaidInit.astro new file mode 100644 index 0000000..324ff37 --- /dev/null +++ b/src/components/MermaidInit.astro @@ -0,0 +1,17 @@ +--- +// Component to initialize mermaid diagrams +--- + + diff --git a/src/content/talks/from-prompts-to-predictable-user-interfaces.md b/src/content/talks/from-prompts-to-predictable-user-interfaces.md index f95b0a7..a3aa7d9 100644 --- a/src/content/talks/from-prompts-to-predictable-user-interfaces.md +++ b/src/content/talks/from-prompts-to-predictable-user-interfaces.md @@ -34,18 +34,13 @@ json-render is a library that implements this pattern: AI → JSONL → UI. Inst Here's the architecture: -``` -User prompt - ↓ -Claude API (with system prompt teaching JSONL format) - ↓ -JSONL patches streamed ({"op":"set","path":"/root","value":"card-key"}) - ↓ -useUIStream hook parses patches - ↓ -Renderer applies patches to tree - ↓ -Component registry maps types → React components +```mermaid +graph TD + A[User prompt] --> B[Claude API with system prompt teaching JSONL format] + B --> C[JSONL patches streamed] + C --> D[useUIStream hook parses patches] + D --> E[Renderer applies patches to tree] + E --> F[Component registry maps types → React components] ``` The key constraint is the **component catalog**. You define available components upfront with Zod schemas: @@ -324,17 +319,14 @@ Figma MCP (Model Context Protocol) lets Claude read Figma files programmatically Here's the workflow: -``` -Figma Design System - ↓ -get_design_context (extract component structure) -get_variable_defs (extract design tokens) - ↓ -Component Code + Design Tokens - ↓ -React components with Base UI + Tailwind - ↓ -Storybook stories (one per variant) +```mermaid +graph TD + A[Figma Design System] --> B[get_design_context extract component structure] + A --> C[get_variable_defs extract design tokens] + B --> D[Component Code + Design Tokens] + C --> D + D --> E[React components with Base UI + Tailwind] + E --> F[Storybook stories one per variant] ``` **Step 1: Extract design tokens** diff --git a/src/layouts/BlogPost.astro b/src/layouts/BlogPost.astro index a1a52d1..eeac4c5 100644 --- a/src/layouts/BlogPost.astro +++ b/src/layouts/BlogPost.astro @@ -3,6 +3,7 @@ import type { CollectionEntry } from "astro:content"; import BaseHead from "../components/BaseHead.astro"; import FormattedDate from "../components/FormattedDate.astro"; import BaseLayout from "../layouts/BaseLayout.astro"; +import MermaidInit from "../components/MermaidInit.astro"; type Props = CollectionEntry<"blog">["data"]; @@ -29,5 +30,6 @@ const { title, description, pubDate, updatedDate } = Astro.props; + diff --git a/src/layouts/Talk.astro b/src/layouts/Talk.astro index af11c1a..1938c8a 100644 --- a/src/layouts/Talk.astro +++ b/src/layouts/Talk.astro @@ -3,6 +3,7 @@ import type { CollectionEntry } from "astro:content"; import BaseHead from "../components/BaseHead.astro"; import FormattedDate from "../components/FormattedDate.astro"; import BaseLayout from "../layouts/BaseLayout.astro"; +import MermaidInit from "../components/MermaidInit.astro"; type Props = CollectionEntry<"talks">["data"]; @@ -61,5 +62,6 @@ const { title, description, pubDate, updatedDate, event, slides, recording } = + diff --git a/src/styles/base.css b/src/styles/base.css index 164709f..63e17f6 100644 --- a/src/styles/base.css +++ b/src/styles/base.css @@ -64,6 +64,18 @@ font-size: var(--text-sm); font-weight: var(--font-weight-light); } + + .prose .mermaid { + margin: var(--spacing-6) 0; + display: flex; + justify-content: center; + } + + .prose pre.mermaid { + background: transparent; + border: none; + padding: 0; + } } @utility scrollbar-hide { From 3ccb9e9b8db43ea96765c651150ab7b14e5b9a37 Mon Sep 17 00:00:00 2001 From: Guilherme de Andrade Date: Sun, 25 Jan 2026 11:24:51 +0000 Subject: [PATCH 04/18] chore: run format script --- ...-prompts-to-predictable-user-interfaces.md | 37 +++++++++++++------ src/layouts/Talk.astro | 6 +-- src/pages/index.astro | 7 +++- 3 files changed, 32 insertions(+), 18 deletions(-) diff --git a/src/content/talks/from-prompts-to-predictable-user-interfaces.md b/src/content/talks/from-prompts-to-predictable-user-interfaces.md index a3aa7d9..0414197 100644 --- a/src/content/talks/from-prompts-to-predictable-user-interfaces.md +++ b/src/content/talks/from-prompts-to-predictable-user-interfaces.md @@ -82,6 +82,7 @@ export const catalog = createCatalog({ ``` This catalog serves two purposes: + 1. Generates the system prompt teaching Claude the JSONL format 2. Validates runtime props via `@json-render/core` @@ -126,6 +127,7 @@ Generate JSONL patches now:`; ``` Notice the constraints: + - Only 3 components (Card, Button, Text) - Flat key-based structure (no nesting) - Only Card supports children @@ -164,6 +166,7 @@ export const registry: ComponentRegistry = { **Why this matters**: The LLM can't deviate. It knows exactly 3 components. It knows exactly what props they accept. It knows the exact format for patches. Limited choices → predictable outputs. **When to use json-render**: + - ✅ You have a predefined component library - ✅ You need streaming UI generation - ✅ Visual complexity is limited (simple cards, forms, lists) @@ -181,6 +184,7 @@ The catalog becomes your design contract. Change it, regenerate the system promp They understand CSS concepts ("flexbox centers items," "z-index controls stacking"). They know layout principles ("hero section at top," "footer at bottom"). But they can't predict actual browser rendering. Edge cases, browser quirks, visual bugs—invisible to the model. You may have experienced this: + - Prompt: "Center the login form" - Code looks correct - Renders off-center due to parent container constraints @@ -254,6 +258,7 @@ Overall: Form displays correctly with good UX ``` This output: + - Validates all key elements - Identifies improvement opportunity - Uses ~500 bytes vs ~50KB for screenshots @@ -263,24 +268,25 @@ Compare to **Playwright MCP**: ```typescript // Would require: -mcp__playwright__browser_navigate({ url: "http://localhost:3001" }) -mcp__playwright__browser_snapshot({ filename: "login-form.md" }) -mcp__playwright__browser_take_screenshot({ filename: "login-form.png" }) +mcp__playwright__browser_navigate({ url: "http://localhost:3001" }); +mcp__playwright__browser_snapshot({ filename: "login-form.md" }); +mcp__playwright__browser_take_screenshot({ filename: "login-form.png" }); ``` Returns full page snapshot (markdown + accessibility tree) plus base64 PNG screenshot. ~50KB+ added to context window per screenshot. **Context budget comparison:** -| Aspect | agent-browser | Playwright MCP | -|--------|---------------|----------------| -| Output format | Natural language | Markdown + base64 images | -| Context impact | Low (~1KB) | High (~50KB+) | -| Use case | Quick visual checks | Deep inspection | -| Iteration speed | Fast (text-based) | Slower (image-heavy) | -| Precision | Semantic validation | Pixel-perfect validation | +| Aspect | agent-browser | Playwright MCP | +| --------------- | ------------------- | ------------------------ | +| Output format | Natural language | Markdown + base64 images | +| Context impact | Low (~1KB) | High (~50KB+) | +| Use case | Quick visual checks | Deep inspection | +| Iteration speed | Fast (text-based) | Slower (image-heavy) | +| Precision | Semantic validation | Pixel-perfect validation | **When to use agent-browser**: + - ✅ Validating layout/positioning - ✅ Checking element visibility - ✅ Testing interaction states (hover, focus) @@ -288,6 +294,7 @@ Returns full page snapshot (markdown + accessibility tree) plus base64 PNG scree - ✅ Context window preservation matters (agentic workflows) **When to use Playwright MCP**: + - ✅ Pixel-perfect comparison needed - ✅ Screenshot documentation required - ✅ Complex multi-step flows @@ -333,7 +340,7 @@ graph TD ```typescript // Use Figma MCP -mcp__figma__get_variable_defs(fileKey, nodeId) +mcp__figma__get_variable_defs(fileKey, nodeId); // Generates tokens.ts: export const tokens = { @@ -383,7 +390,7 @@ These become your single source of truth. Change Figma variable, re-extract, upd ```typescript // Extract Button component -mcp__figma__get_design_context(fileKey, buttonNodeId) +mcp__figma__get_design_context(fileKey, buttonNodeId); // Returns React component code with Tailwind ``` @@ -491,6 +498,7 @@ export const PrimaryDisabledMedium: Story = { Storybook becomes living documentation that matches Figma exactly. Designers and developers reference the same truth. **Key benefits**: + - Design tokens as single source of truth - Automated variant generation (no manual mapping) - Living documentation via Storybook @@ -498,6 +506,7 @@ Storybook becomes living documentation that matches Figma exactly. Designers and - Visual validation via `get_screenshot` (compare Figma to rendered) **When to use Figma MCP**: + - ✅ Established design system exists in Figma - ✅ Building component library - ✅ Design-dev collaboration critical @@ -514,24 +523,28 @@ The constraint here is the design system itself. Figma becomes the contract. Cod These three techniques aren't mutually exclusive—they complement each other: **json-render**: When you know component structure upfront + - Predefined UI patterns (dashboards, forms, cards) - Streaming generation from prompts - Limited visual complexity - Runtime validation needed **agent-browser**: When you need visual validation without bloating context + - Layout/positioning checks - Quick iteration cycles - Agentic workflows (context budget critical) - Semantic validation sufficient **Figma MCP**: When design is the source of truth + - Design system extraction - Component library generation - Design-dev handoff automation - Living documentation **Context budget matters**: For agentic workflows where Claude autonomously iterates, choose tools that preserve context: + - agent-browser (~1KB) over Playwright screenshots (~50KB) - json-render patches (~2KB) over full component code (~20KB) - Figma token extraction (~5KB) over full design files (~100KB+) diff --git a/src/layouts/Talk.astro b/src/layouts/Talk.astro index 1938c8a..2567862 100644 --- a/src/layouts/Talk.astro +++ b/src/layouts/Talk.astro @@ -21,11 +21,7 @@ const { title, description, pubDate, updatedDate, event, slides, recording } =

{title}

- { - event && ( -
Event: {event}
- ) - } + {event &&
Event: {event}
} { (slides || recording) && (
diff --git a/src/pages/index.astro b/src/pages/index.astro index 768b58a..4b948c1 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -1,6 +1,11 @@ --- import BaseHead from "../components/BaseHead.astro"; -import { SITE_TITLE, SITE_DESCRIPTION, postsSortedByPubDate, talksSortedByPubDate } from "../consts"; +import { + SITE_TITLE, + SITE_DESCRIPTION, + postsSortedByPubDate, + talksSortedByPubDate, +} from "../consts"; import BaseLayout from "../layouts/BaseLayout.astro"; import SectionHeading from "../components/SectionHeading.astro"; import PostCard from "../components/PostCard.astro"; From fb1ce849a6e3c46bd3000ee3a35bd8a4e356366b Mon Sep 17 00:00:00 2001 From: Guilherme de Andrade Date: Sun, 25 Jan 2026 11:30:16 +0000 Subject: [PATCH 05/18] fix: code bold, emojis, mermaid rendering - remove bold from code snippets in prose - replace emojis with text symbols (+ - * !) - use rehype-mermaid for proper diagram rendering - remove client-side mermaid init (build-time rendering) Co-Authored-By: Claude Sonnet 4.5 --- astro.config.mjs | 2 + package.json | 2 +- pnpm-lock.yaml | 74 ++++++++++++++++++- src/components/MermaidInit.astro | 17 ----- ...-prompts-to-predictable-user-interfaces.md | 66 ++++++++--------- src/layouts/BlogPost.astro | 2 - src/layouts/Talk.astro | 2 - src/styles/base.css | 1 - 8 files changed, 107 insertions(+), 59 deletions(-) delete mode 100644 src/components/MermaidInit.astro diff --git a/astro.config.mjs b/astro.config.mjs index 0a93461..9469cc4 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -1,6 +1,7 @@ import { defineConfig } from "astro/config"; import mdx from "@astrojs/mdx"; import tailwindcss from "@tailwindcss/vite"; +import rehypeMermaid from "rehype-mermaid"; import sitemap from "@astrojs/sitemap"; @@ -14,6 +15,7 @@ export default defineConfig({ dark: "catppuccin-mocha", }, }, + rehypePlugins: [[rehypeMermaid, { strategy: "inline-svg", dark: true }]], }, vite: { plugins: [tailwindcss()], diff --git a/package.json b/package.json index 46f6c14..3b3fe71 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "astro": "^5.16.14", "chart.js": "^4.5.1", "clsx": "^2.1.0", - "mermaid": "^11.12.2", + "rehype-mermaid": "^3.0.0", "tailwind-merge": "^3.4.0", "typescript": "^5.9.3" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 016f811..36e94b9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -35,9 +35,9 @@ importers: clsx: specifier: ^2.1.0 version: 2.1.1 - mermaid: - specifier: ^11.12.2 - version: 11.12.2 + rehype-mermaid: + specifier: ^3.0.0 + version: 3.0.0(playwright@1.57.0) tailwind-merge: specifier: ^3.4.0 version: 3.4.0 @@ -347,6 +347,10 @@ packages: '@fontsource/work-sans@5.2.8': resolution: {integrity: sha512-6LaHjVVgts+rnrcqvEkP2+iUB/jw1oDSYsGO0+TltAhnWki9Hnf/UGpgMQh2jcm0GEH8VqCPnq4PpmHLFzxXtQ==} + '@fortawesome/fontawesome-free@6.7.2': + resolution: {integrity: sha512-JUOtgFW6k9u4Y+xeIaEiLr3+cjoUPiAuLXoyKOJSia6Duzb7pq+A76P9ZdPDoAoxHdHzq6gE9/jKBGXlZT8FbA==} + engines: {node: '>=6'} + '@iconify/types@2.0.0': resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} @@ -1615,6 +1619,12 @@ packages: hachure-fill@0.5.2: resolution: {integrity: sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==} + hast-util-from-dom@5.0.1: + resolution: {integrity: sha512-N+LqofjR2zuzTjCPzyDUdSshy4Ma6li7p/c3pA78uTwzFgENbgbUrm2ugwsOdcjI1muO+o6Dgzp9p8WHtn/39Q==} + + hast-util-from-html-isomorphic@2.0.0: + resolution: {integrity: sha512-zJfpXq44yff2hmE0XmwEOzdWin5xwH+QIhMLOScpX91e/NSGPsAzNCvLQDIEPyO2TXi+lBmU6hjLIhV8MwP2kw==} + hast-util-from-html@2.0.3: resolution: {integrity: sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==} @@ -1933,6 +1943,14 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} + mermaid-isomorphic@3.0.4: + resolution: {integrity: sha512-XQTy7H1XwHK3DPEHf+ZNWiqUEd9BwX3Xws38R9Fj2gx718srmgjlZoUzHr+Tca+O+dqJOJsAJaKzCoP65QDfDg==} + peerDependencies: + playwright: '1' + peerDependenciesMeta: + playwright: + optional: true + mermaid@11.12.2: resolution: {integrity: sha512-n34QPDPEKmaeCG4WDMGy0OT6PSyxKCfy2pJgShP+Qow2KLrvWjclwbc3yXfSIf4BanqWEhQEpngWwNp/XhZt6w==} @@ -2045,6 +2063,10 @@ packages: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} + mini-svg-data-uri@1.4.4: + resolution: {integrity: sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==} + hasBin: true + mlly@1.8.0: resolution: {integrity: sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==} @@ -2281,6 +2303,14 @@ packages: regex@6.1.0: resolution: {integrity: sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==} + rehype-mermaid@3.0.0: + resolution: {integrity: sha512-fxrD5E4Fa1WXUjmjNDvLOMT4XB1WaxcfycFIWiYU0yEMQhcTDElc9aDFnbDFRLxG1Cfo1I3mfD5kg4sjlWaB+Q==} + peerDependencies: + playwright: '1' + peerDependenciesMeta: + playwright: + optional: true + rehype-parse@9.0.1: resolution: {integrity: sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag==} @@ -3132,6 +3162,8 @@ snapshots: '@fontsource/work-sans@5.2.8': {} + '@fortawesome/fontawesome-free@6.7.2': {} + '@iconify/types@2.0.0': {} '@iconify/utils@3.1.0': @@ -4468,6 +4500,19 @@ snapshots: hachure-fill@0.5.2: {} + hast-util-from-dom@5.0.1: + dependencies: + '@types/hast': 3.0.4 + hastscript: 9.0.1 + web-namespaces: 2.0.1 + + hast-util-from-html-isomorphic@2.0.0: + dependencies: + '@types/hast': 3.0.4 + hast-util-from-dom: 5.0.1 + hast-util-from-html: 2.0.3 + unist-util-remove-position: 5.0.0 + hast-util-from-html@2.0.3: dependencies: '@types/hast': 3.0.4 @@ -4933,6 +4978,13 @@ snapshots: merge2@1.4.1: {} + mermaid-isomorphic@3.0.4(playwright@1.57.0): + dependencies: + '@fortawesome/fontawesome-free': 6.7.2 + mermaid: 11.12.2 + optionalDependencies: + playwright: 1.57.0 + mermaid@11.12.2: dependencies: '@braintree/sanitize-url': 7.1.1 @@ -5225,6 +5277,8 @@ snapshots: braces: 3.0.3 picomatch: 2.3.1 + mini-svg-data-uri@1.4.4: {} + mlly@1.8.0: dependencies: acorn: 8.15.0 @@ -5424,6 +5478,20 @@ snapshots: dependencies: regex-utilities: 2.3.0 + rehype-mermaid@3.0.0(playwright@1.57.0): + dependencies: + '@types/hast': 3.0.4 + hast-util-from-html-isomorphic: 2.0.0 + hast-util-to-text: 4.0.2 + mermaid-isomorphic: 3.0.4(playwright@1.57.0) + mini-svg-data-uri: 1.4.4 + space-separated-tokens: 2.0.2 + unified: 11.0.5 + unist-util-visit-parents: 6.0.2 + vfile: 6.0.3 + optionalDependencies: + playwright: 1.57.0 + rehype-parse@9.0.1: dependencies: '@types/hast': 3.0.4 diff --git a/src/components/MermaidInit.astro b/src/components/MermaidInit.astro deleted file mode 100644 index 324ff37..0000000 --- a/src/components/MermaidInit.astro +++ /dev/null @@ -1,17 +0,0 @@ ---- -// Component to initialize mermaid diagrams ---- - - diff --git a/src/content/talks/from-prompts-to-predictable-user-interfaces.md b/src/content/talks/from-prompts-to-predictable-user-interfaces.md index 0414197..aeb59f7 100644 --- a/src/content/talks/from-prompts-to-predictable-user-interfaces.md +++ b/src/content/talks/from-prompts-to-predictable-user-interfaces.md @@ -167,13 +167,13 @@ export const registry: ComponentRegistry = { **When to use json-render**: -- ✅ You have a predefined component library -- ✅ You need streaming UI generation -- ✅ Visual complexity is limited (simple cards, forms, lists) -- ✅ You want runtime validation of generated output -- ❌ You need full design freedom -- ❌ You're generating complex layouts with deep nesting -- ❌ Your component library changes frequently +- + You have a predefined component library +- + You need streaming UI generation +- + Visual complexity is limited (simple cards, forms, lists) +- + You want runtime validation of generated output +- - You need full design freedom +- - You're generating complex layouts with deep nesting +- - Your component library changes frequently The catalog becomes your design contract. Change it, regenerate the system prompt, done. Predictability through constraints. @@ -245,14 +245,14 @@ and properly aligned. agent-browser returns natural language: ``` -✓ Page loaded successfully -✓ Login form card visible at center -✓ Email input: visible, properly labeled, placeholder present -✓ Password input: visible, properly labeled, placeholder present -✓ Submit button: visible, blue background, prominent -✓ Visual hierarchy: excellent (title → inputs → button → footer) -✓ Accessibility: labels properly associated with inputs -⚠ Minor: "Forgot password" link small, could be more prominent +* Page loaded successfully +* Login form card visible at center +* Email input: visible, properly labeled, placeholder present +* Password input: visible, properly labeled, placeholder present +* Submit button: visible, blue background, prominent +* Visual hierarchy: excellent (title → inputs → button → footer) +* Accessibility: labels properly associated with inputs +! Minor: "Forgot password" link small, could be more prominent Overall: Form displays correctly with good UX ``` @@ -287,19 +287,19 @@ Returns full page snapshot (markdown + accessibility tree) plus base64 PNG scree **When to use agent-browser**: -- ✅ Validating layout/positioning -- ✅ Checking element visibility -- ✅ Testing interaction states (hover, focus) -- ✅ Iterating rapidly on visual design -- ✅ Context window preservation matters (agentic workflows) +- + Validating layout/positioning +- + Checking element visibility +- + Testing interaction states (hover, focus) +- + Iterating rapidly on visual design +- + Context window preservation matters (agentic workflows) **When to use Playwright MCP**: -- ✅ Pixel-perfect comparison needed -- ✅ Screenshot documentation required -- ✅ Complex multi-step flows -- ✅ Full browser automation needed -- ✅ Visual regression testing +- + Pixel-perfect comparison needed +- + Screenshot documentation required +- + Complex multi-step flows +- + Full browser automation needed +- + Visual regression testing The feedback loop workflow: @@ -507,14 +507,14 @@ Storybook becomes living documentation that matches Figma exactly. Designers and **When to use Figma MCP**: -- ✅ Established design system exists in Figma -- ✅ Building component library -- ✅ Design-dev collaboration critical -- ✅ Need living documentation (Storybook) -- ✅ Want design as code workflow -- ❌ No design system (yet) -- ❌ Designs change too frequently (extraction overhead) -- ❌ Rate limits matter (Figma MCP has usage caps) +- + Established design system exists in Figma +- + Building component library +- + Design-dev collaboration critical +- + Need living documentation (Storybook) +- + Want design as code workflow +- - No design system (yet) +- - Designs change too frequently (extraction overhead) +- - Rate limits matter (Figma MCP has usage caps) The constraint here is the design system itself. Figma becomes the contract. Code generation follows Figma truth. Predictability through design authority. diff --git a/src/layouts/BlogPost.astro b/src/layouts/BlogPost.astro index eeac4c5..a1a52d1 100644 --- a/src/layouts/BlogPost.astro +++ b/src/layouts/BlogPost.astro @@ -3,7 +3,6 @@ import type { CollectionEntry } from "astro:content"; import BaseHead from "../components/BaseHead.astro"; import FormattedDate from "../components/FormattedDate.astro"; import BaseLayout from "../layouts/BaseLayout.astro"; -import MermaidInit from "../components/MermaidInit.astro"; type Props = CollectionEntry<"blog">["data"]; @@ -30,6 +29,5 @@ const { title, description, pubDate, updatedDate } = Astro.props;
- diff --git a/src/layouts/Talk.astro b/src/layouts/Talk.astro index 2567862..6e97cb3 100644 --- a/src/layouts/Talk.astro +++ b/src/layouts/Talk.astro @@ -3,7 +3,6 @@ import type { CollectionEntry } from "astro:content"; import BaseHead from "../components/BaseHead.astro"; import FormattedDate from "../components/FormattedDate.astro"; import BaseLayout from "../layouts/BaseLayout.astro"; -import MermaidInit from "../components/MermaidInit.astro"; type Props = CollectionEntry<"talks">["data"]; @@ -58,6 +57,5 @@ const { title, description, pubDate, updatedDate, event, slides, recording } =
- diff --git a/src/styles/base.css b/src/styles/base.css index 63e17f6..9f4b420 100644 --- a/src/styles/base.css +++ b/src/styles/base.css @@ -55,7 +55,6 @@ .prose code { color: var(--color-gray-1200); - font-weight: var(--font-weight-bold); } .prose time { From a04bc2745009345e6c78d54e3104aac25af4855c Mon Sep 17 00:00:00 2001 From: Guilherme de Andrade Date: Sun, 25 Jan 2026 12:05:22 +0000 Subject: [PATCH 06/18] chore: run format script --- ...-prompts-to-predictable-user-interfaces.md | 38 +++++++++---------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/src/content/talks/from-prompts-to-predictable-user-interfaces.md b/src/content/talks/from-prompts-to-predictable-user-interfaces.md index aeb59f7..77f052c 100644 --- a/src/content/talks/from-prompts-to-predictable-user-interfaces.md +++ b/src/content/talks/from-prompts-to-predictable-user-interfaces.md @@ -167,10 +167,10 @@ export const registry: ComponentRegistry = { **When to use json-render**: -- + You have a predefined component library -- + You need streaming UI generation -- + Visual complexity is limited (simple cards, forms, lists) -- + You want runtime validation of generated output +- - You have a predefined component library +- - You need streaming UI generation +- - Visual complexity is limited (simple cards, forms, lists) +- - You want runtime validation of generated output - - You need full design freedom - - You're generating complex layouts with deep nesting - - Your component library changes frequently @@ -287,19 +287,19 @@ Returns full page snapshot (markdown + accessibility tree) plus base64 PNG scree **When to use agent-browser**: -- + Validating layout/positioning -- + Checking element visibility -- + Testing interaction states (hover, focus) -- + Iterating rapidly on visual design -- + Context window preservation matters (agentic workflows) +- - Validating layout/positioning +- - Checking element visibility +- - Testing interaction states (hover, focus) +- - Iterating rapidly on visual design +- - Context window preservation matters (agentic workflows) **When to use Playwright MCP**: -- + Pixel-perfect comparison needed -- + Screenshot documentation required -- + Complex multi-step flows -- + Full browser automation needed -- + Visual regression testing +- - Pixel-perfect comparison needed +- - Screenshot documentation required +- - Complex multi-step flows +- - Full browser automation needed +- - Visual regression testing The feedback loop workflow: @@ -507,11 +507,11 @@ Storybook becomes living documentation that matches Figma exactly. Designers and **When to use Figma MCP**: -- + Established design system exists in Figma -- + Building component library -- + Design-dev collaboration critical -- + Need living documentation (Storybook) -- + Want design as code workflow +- - Established design system exists in Figma +- - Building component library +- - Design-dev collaboration critical +- - Need living documentation (Storybook) +- - Want design as code workflow - - No design system (yet) - - Designs change too frequently (extraction overhead) - - Rate limits matter (Figma MCP has usage caps) From 8694bcc9ea5fc8edd333a17f5be56f8064bed9c8 Mon Sep 17 00:00:00 2001 From: Guilherme de Andrade Date: Sun, 25 Jan 2026 12:06:48 +0000 Subject: [PATCH 07/18] fix: duplicate id warning in talks collection Add explicit generateId to talks glob loader to prevent dev-time duplicate ID warnings. Co-Authored-By: Claude Sonnet 4.5 --- src/content.config.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/content.config.ts b/src/content.config.ts index 362bbd0..34d17ce 100644 --- a/src/content.config.ts +++ b/src/content.config.ts @@ -14,7 +14,11 @@ const blog = defineCollection({ }); const talks = defineCollection({ - loader: glob({ pattern: "**/*.{md,mdx}", base: "./src/content/talks" }), + loader: glob({ + pattern: "**/*.{md,mdx}", + base: "./src/content/talks", + generateId: ({ entry }) => entry, + }), schema: z.object({ title: z.string(), description: z.string(), From 1e2cca4d27529c5b2d2aa847b424858c36d6765f Mon Sep 17 00:00:00 2001 From: Guilherme de Andrade Date: Sun, 25 Jan 2026 12:11:08 +0000 Subject: [PATCH 08/18] refactor: reorder techniques to match talk flow MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Reorder: Figma MCP → agent-browser → json-render - Update intro list to match new order - Update key takeaways section - Fix generateId to prevent duplicate warnings Co-Authored-By: Claude Sonnet 4.5 --- src/content.config.ts | 2 +- ...-prompts-to-predictable-user-interfaces.md | 600 +++++++++--------- 2 files changed, 301 insertions(+), 301 deletions(-) diff --git a/src/content.config.ts b/src/content.config.ts index 34d17ce..a3fce17 100644 --- a/src/content.config.ts +++ b/src/content.config.ts @@ -17,7 +17,7 @@ const talks = defineCollection({ loader: glob({ pattern: "**/*.{md,mdx}", base: "./src/content/talks", - generateId: ({ entry }) => entry, + generateId: ({ entry }) => entry.replace(/\.(md|mdx)$/, ""), }), schema: z.object({ title: z.string(), diff --git a/src/content/talks/from-prompts-to-predictable-user-interfaces.md b/src/content/talks/from-prompts-to-predictable-user-interfaces.md index 77f052c..46924b1 100644 --- a/src/content/talks/from-prompts-to-predictable-user-interfaces.md +++ b/src/content/talks/from-prompts-to-predictable-user-interfaces.md @@ -18,164 +18,215 @@ Limited choices → predictable outputs. This is true for design systems, code a I presented three techniques at FE.OPO #9 for building predictable AI UIs: -1. **Structured Output (json-render)**: AI → JSON → UI pipeline with component catalog as contract +1. **Design System Contracts (Figma MCP)**: Extract design truth directly from Figma, generate code + stories 2. **Visual Feedback Loops (agent-browser)**: Generate → Validate → Iterate pattern with natural language feedback -3. **Design System Contracts (Figma MCP)**: Extract design truth directly from Figma, generate code + stories +3. **Structured Output (json-render)**: AI → JSON → UI pipeline with component catalog as contract Each adds different constraints to tame LLM unpredictability. Let's dig into how they work. -## Technique #1: json-render (Structured Output Format) +## Technique #1: Figma MCP (Design System as Contract) -**The problem**: Free-form code generation leads to inconsistent output. Ask Claude to "build a login form" and you'll get React one time, Vue another, different component structures each run, varying class names, inconsistent patterns. +**The problem**: Traditional design handoff loses fidelity. -**The solution**: Don't generate code. Generate JSON. +Designer creates mockups → Dev interprets visuals → Implementation drifts from design. Colors slightly off. Spacing inconsistent. Typography mismatched. The gap between "what designer intended" and "what developer built" is where quality dies. -json-render is a library that implements this pattern: AI → JSONL → UI. Instead of asking the LLM to output React/Vue/whatever directly, you teach it to output JSON Lines patches describing the UI structure. A separate renderer applies those patches and maps them to your component library. +**The solution**: Extract design truth directly from Figma, use it as contract. -Here's the architecture: +Figma MCP (Model Context Protocol) lets Claude read Figma files programmatically. Extract components, design tokens, variants—everything. Generate code that matches design exactly. No interpretation gap. + +Here's the workflow: ```mermaid graph TD - A[User prompt] --> B[Claude API with system prompt teaching JSONL format] - B --> C[JSONL patches streamed] - C --> D[useUIStream hook parses patches] - D --> E[Renderer applies patches to tree] - E --> F[Component registry maps types → React components] + A[Figma Design System] --> B[get_design_context extract component structure] + A --> C[get_variable_defs extract design tokens] + B --> D[Component Code + Design Tokens] + C --> D + D --> E[React components with Base UI + Tailwind] + E --> F[Storybook stories one per variant] ``` -The key constraint is the **component catalog**. You define available components upfront with Zod schemas: +**Step 1: Extract design tokens** ```typescript -export const catalog = createCatalog({ - components: { - Card: { - props: z.object({ - title: z.string(), - description: z.string().nullable(), - }), - hasChildren: true, +// Use Figma MCP +mcp__figma__get_variable_defs(fileKey, nodeId); + +// Generates tokens.ts: +export const tokens = { + color: { + text: { + brandOnBrand: "#f5f5f5", + default: "#1e1e1e", + subtle: "#666666", }, - Button: { - props: z.object({ - label: z.string(), - action: z.string(), - params: z.record(z.string(), z.any()).optional(), - variant: z.enum(["default", "outline", "ghost"]).optional(), - size: z.enum(["default", "sm", "lg"]).optional(), - }), + background: { + brandDefault: "#1e1e1e", + brandHover: "#2d2d2d", + neutral: "#e5e5e5", + neutralHover: "#d4d4d4", + subtle: "transparent", + subtleHover: "#f5f5f5", }, - Text: { - props: z.object({ - content: z.string(), - }), + border: { + neutral: "#d4d4d4", + subtle: "#e5e5e5", }, }, - actions: { - submit: { - params: z.object({ formId: z.string() }), - }, - navigate: { - params: z.object({ url: z.string() }), + typography: { + body: { + fontFamily: "Inter, sans-serif", + fontWeightRegular: 400, + sizeMedium: "16px", + sizeSmall: "14px", }, }, -}); + spacing: { + xs: "4px", + sm: "8px", + md: "12px", + lg: "16px", + }, + borderRadius: { + sm: "4px", + md: "6px", + }, +} as const; ``` -This catalog serves two purposes: - -1. Generates the system prompt teaching Claude the JSONL format -2. Validates runtime props via `@json-render/core` +These become your single source of truth. Change Figma variable, re-extract, update tokens.ts. Design stays in sync with code. -The system prompt becomes your contract: +**Step 2: Extract component structure** ```typescript -const SYSTEM_PROMPT = `You are a UI generator that outputs JSONL (JSON Lines) patches. +// Extract Button component +mcp__figma__get_design_context(fileKey, buttonNodeId); -AVAILABLE COMPONENTS: -Card, Button, Text +// Returns React component code with Tailwind +``` -COMPONENT DETAILS: -- Card: { title: string, description?: string | null } - Container with title, can have children -- Button: { label: string, action: string, params?: object, variant?: "default" | "outline" | "ghost", size?: "default" | "sm" | "lg" } - Clickable button that triggers an action -- Text: { content: string } - Text paragraph +For a Button component with 18 variants (3 visual styles × 3 states × 2 sizes), Figma MCP extracts all of them. You map to accessible primitives: -OUTPUT FORMAT: -Output JSONL where each line is a patch operation. Use a FLAT key-based structure: +```typescript +// examples/design-system-demo/src/components/button.tsx +import { Button as BaseButton } from "@base-ui/react/button"; +import { cva, type VariantProps } from "class-variance-authority"; -OPERATIONS: -- {"op":"set","path":"/root","value":"main-card"} - Set the root element key -- {"op":"add","path":"/elements/main-card","value":{...}} - Add an element by unique key +const buttonVariants = cva( + "inline-flex items-center justify-center gap-2 border font-body font-normal leading-none rounded-md transition-colors", + { + variants: { + variant: { + primary: "bg-bg-brand text-brand-on-brand", + neutral: "bg-bg-neutral text-default", + subtle: "bg-transparent text-default border-transparent", + }, + size: { + small: "h-8 p-sm text-sm", + medium: "h-10 p-md text-base", + }, + disabled: { + false: null, + true: "bg-bg-disabled text-disabled cursor-not-allowed border-border-disabled", + }, + }, + compoundVariants: [ + { + variant: "primary", + disabled: false, + className: "border-border-primary hover:bg-bg-brand-hover", + }, + { + variant: "neutral", + disabled: false, + className: "border-border-neutral hover:bg-bg-neutral-hover", + }, + { + variant: "subtle", + disabled: false, + className: "hover:border-border-subtle", + }, + ], + defaultVariants: { + variant: "primary", + size: "medium", + disabled: false, + }, + }, +); -ELEMENT STRUCTURE: -{ - "key": "unique-key", - "type": "ComponentType", - "props": { ... }, - "children": ["child-key-1", "child-key-2"] // Array of child element keys (only for Card) +export function Button({ className, variant, size, children, disabled, ...props }: ButtonProps) { + return ( + + {children} + + ); } +``` -RULES: -1. First set /root to the root element's key -2. Add each element with a unique key using /elements/{key} -3. Parent elements list child keys in their "children" array -4. Stream elements progressively - parent first, then children -5. Each element must have: key, type, props -6. Children array contains STRING KEYS, not nested objects -7. Only Card can have children +**Step 3: Generate Storybook stories** -Generate JSONL patches now:`; -``` +For each Figma variant, generate a Storybook story: -Notice the constraints: +```typescript +// examples/design-system-demo/src/components/button.stories.tsx +export const PrimaryDefaultMedium: Story = { + args: { + variant: "primary", + size: "medium", + children: "Button", + }, +}; -- Only 3 components (Card, Button, Text) -- Flat key-based structure (no nesting) -- Only Card supports children -- Children are string keys, not objects -- Specific operations (set, add) +export const PrimaryHoverMedium: Story = { + args: { + variant: "primary", + size: "medium", + children: "Button", + }, + parameters: { + pseudo: { hover: true }, + }, +}; -When you prompt "Create a welcome card with a button," Claude generates: +export const PrimaryDisabledMedium: Story = { + args: { + variant: "primary", + size: "medium", + children: "Button", + disabled: true, + }, +}; -```jsonl -{"op":"set","path":"/root","value":"welcome-card"} -{"op":"add","path":"/elements/welcome-card","value":{"key":"welcome-card","type":"Card","props":{"title":"Welcome","description":"Thanks for trying json-render"},"children":["greeting-text","get-started-btn"]}} -{"op":"add","path":"/elements/greeting-text","value":{"key":"greeting-text","type":"Text","props":{"content":"This demo shows how AI can generate predictable UIs using structured output formats."}}} -{"op":"add","path":"/elements/get-started-btn","value":{"key":"get-started-btn","type":"Button","props":{"label":"Get Started","action":"navigate","params":{"url":"/home"},"variant":"default"}}} +// ...15 more variants ``` -These patches stream to the frontend. The `useUIStream` hook parses them. The `Renderer` component applies them to a tree structure. Finally, the component registry maps types to React implementations: +Storybook becomes living documentation that matches Figma exactly. Designers and developers reference the same truth. -```typescript -export const registry: ComponentRegistry = { - Card: ({ element, children }) => ( -
-
-

{element.props.title}

- {element.props.description && ( -

{element.props.description}

- )} -
-
{children}
-
- ), - Button, - Text: ({ element }) =>

{element.props.content}

, -}; -``` +**Key benefits**: -**Why this matters**: The LLM can't deviate. It knows exactly 3 components. It knows exactly what props they accept. It knows the exact format for patches. Limited choices → predictable outputs. +- Design tokens as single source of truth +- Automated variant generation (no manual mapping) +- Living documentation via Storybook +- No interpretation gap between design and code +- Visual validation via `get_screenshot` (compare Figma to rendered) -**When to use json-render**: +**When to use Figma MCP**: -- - You have a predefined component library -- - You need streaming UI generation -- - Visual complexity is limited (simple cards, forms, lists) -- - You want runtime validation of generated output -- - You need full design freedom -- - You're generating complex layouts with deep nesting -- - Your component library changes frequently +- + Established design system exists in Figma +- + Building component library +- + Design-dev collaboration critical +- + Need living documentation (Storybook) +- + Want design as code workflow +- - No design system (yet) +- - Designs change too frequently (extraction overhead) +- - Rate limits matter (Figma MCP has usage caps) -The catalog becomes your design contract. Change it, regenerate the system prompt, done. Predictability through constraints. +The constraint here is the design system itself. Figma becomes the contract. Code generation follows Figma truth. Predictability through design authority. ## Technique #2: Feedback Loops (Visual Validation) @@ -287,19 +338,19 @@ Returns full page snapshot (markdown + accessibility tree) plus base64 PNG scree **When to use agent-browser**: -- - Validating layout/positioning -- - Checking element visibility -- - Testing interaction states (hover, focus) -- - Iterating rapidly on visual design -- - Context window preservation matters (agentic workflows) +- + Validating layout/positioning +- + Checking element visibility +- + Testing interaction states (hover, focus) +- + Iterating rapidly on visual design +- + Context window preservation matters (agentic workflows) **When to use Playwright MCP**: -- - Pixel-perfect comparison needed -- - Screenshot documentation required -- - Complex multi-step flows -- - Full browser automation needed -- - Visual regression testing +- + Pixel-perfect comparison needed +- + Screenshot documentation required +- + Complex multi-step flows +- + Full browser automation needed +- + Visual regression testing The feedback loop workflow: @@ -314,220 +365,169 @@ The feedback loop workflow: For agentic workflows where Claude is autonomously iterating on designs, agent-browser preserves context budget for actual code changes instead of bloating it with images. -## Technique #3: Figma MCP (Design System as Contract) - -**The problem**: Traditional design handoff loses fidelity. +## Technique #3: json-render (Structured Output Format) -Designer creates mockups → Dev interprets visuals → Implementation drifts from design. Colors slightly off. Spacing inconsistent. Typography mismatched. The gap between "what designer intended" and "what developer built" is where quality dies. +**The problem**: Free-form code generation leads to inconsistent output. Ask Claude to "build a login form" and you'll get React one time, Vue another, different component structures each run, varying class names, inconsistent patterns. -**The solution**: Extract design truth directly from Figma, use it as contract. +**The solution**: Don't generate code. Generate JSON. -Figma MCP (Model Context Protocol) lets Claude read Figma files programmatically. Extract components, design tokens, variants—everything. Generate code that matches design exactly. No interpretation gap. +json-render is a library that implements this pattern: AI → JSONL → UI. Instead of asking the LLM to output React/Vue/whatever directly, you teach it to output JSON Lines patches describing the UI structure. A separate renderer applies those patches and maps them to your component library. -Here's the workflow: +Here's the architecture: ```mermaid graph TD - A[Figma Design System] --> B[get_design_context extract component structure] - A --> C[get_variable_defs extract design tokens] - B --> D[Component Code + Design Tokens] - C --> D - D --> E[React components with Base UI + Tailwind] - E --> F[Storybook stories one per variant] + A[User prompt] --> B[Claude API with system prompt teaching JSONL format] + B --> C[JSONL patches streamed] + C --> D[useUIStream hook parses patches] + D --> E[Renderer applies patches to tree] + E --> F[Component registry maps types → React components] ``` -**Step 1: Extract design tokens** - -```typescript -// Use Figma MCP -mcp__figma__get_variable_defs(fileKey, nodeId); - -// Generates tokens.ts: -export const tokens = { - color: { - text: { - brandOnBrand: "#f5f5f5", - default: "#1e1e1e", - subtle: "#666666", +The key constraint is the **component catalog**. You define available components upfront with Zod schemas: + +```typescript +export const catalog = createCatalog({ + components: { + Card: { + props: z.object({ + title: z.string(), + description: z.string().nullable(), + }), + hasChildren: true, }, - background: { - brandDefault: "#1e1e1e", - brandHover: "#2d2d2d", - neutral: "#e5e5e5", - neutralHover: "#d4d4d4", - subtle: "transparent", - subtleHover: "#f5f5f5", + Button: { + props: z.object({ + label: z.string(), + action: z.string(), + params: z.record(z.string(), z.any()).optional(), + variant: z.enum(["default", "outline", "ghost"]).optional(), + size: z.enum(["default", "sm", "lg"]).optional(), + }), }, - border: { - neutral: "#d4d4d4", - subtle: "#e5e5e5", + Text: { + props: z.object({ + content: z.string(), + }), }, }, - typography: { - body: { - fontFamily: "Inter, sans-serif", - fontWeightRegular: 400, - sizeMedium: "16px", - sizeSmall: "14px", + actions: { + submit: { + params: z.object({ formId: z.string() }), + }, + navigate: { + params: z.object({ url: z.string() }), }, }, - spacing: { - xs: "4px", - sm: "8px", - md: "12px", - lg: "16px", - }, - borderRadius: { - sm: "4px", - md: "6px", - }, -} as const; +}); ``` -These become your single source of truth. Change Figma variable, re-extract, update tokens.ts. Design stays in sync with code. +This catalog serves two purposes: -**Step 2: Extract component structure** +1. Generates the system prompt teaching Claude the JSONL format +2. Validates runtime props via `@json-render/core` + +The system prompt becomes your contract: ```typescript -// Extract Button component -mcp__figma__get_design_context(fileKey, buttonNodeId); +const SYSTEM_PROMPT = `You are a UI generator that outputs JSONL (JSON Lines) patches. -// Returns React component code with Tailwind -``` +AVAILABLE COMPONENTS: +Card, Button, Text -For a Button component with 18 variants (3 visual styles × 3 states × 2 sizes), Figma MCP extracts all of them. You map to accessible primitives: +COMPONENT DETAILS: +- Card: { title: string, description?: string | null } - Container with title, can have children +- Button: { label: string, action: string, params?: object, variant?: "default" | "outline" | "ghost", size?: "default" | "sm" | "lg" } - Clickable button that triggers an action +- Text: { content: string } - Text paragraph -```typescript -// examples/design-system-demo/src/components/button.tsx -import { Button as BaseButton } from "@base-ui/react/button"; -import { cva, type VariantProps } from "class-variance-authority"; +OUTPUT FORMAT: +Output JSONL where each line is a patch operation. Use a FLAT key-based structure: -const buttonVariants = cva( - "inline-flex items-center justify-center gap-2 border font-body font-normal leading-none rounded-md transition-colors", - { - variants: { - variant: { - primary: "bg-bg-brand text-brand-on-brand", - neutral: "bg-bg-neutral text-default", - subtle: "bg-transparent text-default border-transparent", - }, - size: { - small: "h-8 p-sm text-sm", - medium: "h-10 p-md text-base", - }, - disabled: { - false: null, - true: "bg-bg-disabled text-disabled cursor-not-allowed border-border-disabled", - }, - }, - compoundVariants: [ - { - variant: "primary", - disabled: false, - className: "border-border-primary hover:bg-bg-brand-hover", - }, - { - variant: "neutral", - disabled: false, - className: "border-border-neutral hover:bg-bg-neutral-hover", - }, - { - variant: "subtle", - disabled: false, - className: "hover:border-border-subtle", - }, - ], - defaultVariants: { - variant: "primary", - size: "medium", - disabled: false, - }, - }, -); +OPERATIONS: +- {"op":"set","path":"/root","value":"main-card"} - Set the root element key +- {"op":"add","path":"/elements/main-card","value":{...}} - Add an element by unique key -export function Button({ className, variant, size, children, disabled, ...props }: ButtonProps) { - return ( - - {children} - - ); +ELEMENT STRUCTURE: +{ + "key": "unique-key", + "type": "ComponentType", + "props": { ... }, + "children": ["child-key-1", "child-key-2"] // Array of child element keys (only for Card) } -``` -**Step 3: Generate Storybook stories** +RULES: +1. First set /root to the root element's key +2. Add each element with a unique key using /elements/{key} +3. Parent elements list child keys in their "children" array +4. Stream elements progressively - parent first, then children +5. Each element must have: key, type, props +6. Children array contains STRING KEYS, not nested objects +7. Only Card can have children -For each Figma variant, generate a Storybook story: +Generate JSONL patches now:`; +``` -```typescript -// examples/design-system-demo/src/components/button.stories.tsx -export const PrimaryDefaultMedium: Story = { - args: { - variant: "primary", - size: "medium", - children: "Button", - }, -}; +Notice the constraints: -export const PrimaryHoverMedium: Story = { - args: { - variant: "primary", - size: "medium", - children: "Button", - }, - parameters: { - pseudo: { hover: true }, - }, -}; +- Only 3 components (Card, Button, Text) +- Flat key-based structure (no nesting) +- Only Card supports children +- Children are string keys, not objects +- Specific operations (set, add) -export const PrimaryDisabledMedium: Story = { - args: { - variant: "primary", - size: "medium", - children: "Button", - disabled: true, - }, -}; +When you prompt "Create a welcome card with a button," Claude generates: -// ...15 more variants +```jsonl +{"op":"set","path":"/root","value":"welcome-card"} +{"op":"add","path":"/elements/welcome-card","value":{"key":"welcome-card","type":"Card","props":{"title":"Welcome","description":"Thanks for trying json-render"},"children":["greeting-text","get-started-btn"]}} +{"op":"add","path":"/elements/greeting-text","value":{"key":"greeting-text","type":"Text","props":{"content":"This demo shows how AI can generate predictable UIs using structured output formats."}}} +{"op":"add","path":"/elements/get-started-btn","value":{"key":"get-started-btn","type":"Button","props":{"label":"Get Started","action":"navigate","params":{"url":"/home"},"variant":"default"}}} ``` -Storybook becomes living documentation that matches Figma exactly. Designers and developers reference the same truth. +These patches stream to the frontend. The `useUIStream` hook parses them. The `Renderer` component applies them to a tree structure. Finally, the component registry maps types to React implementations: -**Key benefits**: +```typescript +export const registry: ComponentRegistry = { + Card: ({ element, children }) => ( +
+
+

{element.props.title}

+ {element.props.description && ( +

{element.props.description}

+ )} +
+
{children}
+
+ ), + Button, + Text: ({ element }) =>

{element.props.content}

, +}; +``` -- Design tokens as single source of truth -- Automated variant generation (no manual mapping) -- Living documentation via Storybook -- No interpretation gap between design and code -- Visual validation via `get_screenshot` (compare Figma to rendered) +**Why this matters**: The LLM can't deviate. It knows exactly 3 components. It knows exactly what props they accept. It knows the exact format for patches. Limited choices → predictable outputs. -**When to use Figma MCP**: +**When to use json-render**: -- - Established design system exists in Figma -- - Building component library -- - Design-dev collaboration critical -- - Need living documentation (Storybook) -- - Want design as code workflow -- - No design system (yet) -- - Designs change too frequently (extraction overhead) -- - Rate limits matter (Figma MCP has usage caps) +- + You have a predefined component library +- + You need streaming UI generation +- + Visual complexity is limited (simple cards, forms, lists) +- + You want runtime validation of generated output +- - You need full design freedom +- - You're generating complex layouts with deep nesting +- - Your component library changes frequently -The constraint here is the design system itself. Figma becomes the contract. Code generation follows Figma truth. Predictability through design authority. +The catalog becomes your design contract. Change it, regenerate the system prompt, done. Predictability through constraints. ## Choosing the Right Tool These three techniques aren't mutually exclusive—they complement each other: -**json-render**: When you know component structure upfront +**Figma MCP**: When design is the source of truth -- Predefined UI patterns (dashboards, forms, cards) -- Streaming generation from prompts -- Limited visual complexity -- Runtime validation needed +- Design system extraction +- Component library generation +- Design-dev handoff automation +- Living documentation **agent-browser**: When you need visual validation without bloating context @@ -536,12 +536,12 @@ These three techniques aren't mutually exclusive—they complement each other: - Agentic workflows (context budget critical) - Semantic validation sufficient -**Figma MCP**: When design is the source of truth +**json-render**: When you know component structure upfront -- Design system extraction -- Component library generation -- Design-dev handoff automation -- Living documentation +- Predefined UI patterns (dashboards, forms, cards) +- Streaming generation from prompts +- Limited visual complexity +- Runtime validation needed **Context budget matters**: For agentic workflows where Claude autonomously iterates, choose tools that preserve context: @@ -555,13 +555,13 @@ More context = fewer iterations before hitting limits. Choose wisely. Same prompt, different outputs—that's LLMs. But constraints enable predictability. -**Structured output (json-render)**: Limit component choices. Teach exact format. Get consistent results. AI → JSON → UI. +**Design contracts (Figma MCP)**: Design system as source of truth. Extract tokens, components, variants. Generate code that matches exactly. No interpretation gap. **Feedback loops (agent-browser)**: LLMs can't predict visual output. Build validation into workflow. Generate → Validate → Iterate. Context budget matters. -**Design contracts (Figma MCP)**: Design system as source of truth. Extract tokens, components, variants. Generate code that matches exactly. No interpretation gap. +**Structured output (json-render)**: Limit component choices. Teach exact format. Get consistent results. AI → JSON → UI. -These aren't silver bullets. json-render's limited component set won't work for complex designs. agent-browser's semantic validation can't catch pixel-level issues. Figma MCP has rate limits and extraction overhead. +These aren't silver bullets. Figma MCP has rate limits and extraction overhead. agent-browser's semantic validation can't catch pixel-level issues. json-render's limited component set won't work for complex designs. But they all share one insight: **guardrails are your best friend with LLMs**. Constrain the problem space. Make choices finite. Build contracts the model can't violate. From e2a8c7a6ebe1666f96d0aed807f03a60a3fad1d2 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 25 Jan 2026 12:51:54 +0000 Subject: [PATCH 09/18] fix: add Mermaid diagram rendering support Add rehype-mermaid plugin to render Mermaid diagrams as inline SVGs at build time. This fixes the issue where Mermaid code blocks were displayed as raw code instead of being rendered as diagrams. --- astro.config.mjs | 2 + package-lock.json | 1394 +++++++++++++++++++++++++++++++++++++++++++-- package.json | 2 + 3 files changed, 1347 insertions(+), 51 deletions(-) diff --git a/astro.config.mjs b/astro.config.mjs index 462e2ad..2d0b0d9 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -1,6 +1,7 @@ import { defineConfig } from "astro/config"; import mdx from "@astrojs/mdx"; import tailwindcss from "@tailwindcss/vite"; +import rehypeMermaid from "rehype-mermaid"; import sitemap from "@astrojs/sitemap"; @@ -14,6 +15,7 @@ export default defineConfig({ dark: "catppuccin-mocha", }, }, + rehypePlugins: [[rehypeMermaid, { strategy: "inline-svg" }]], }, vite: { plugins: [tailwindcss()], diff --git a/package-lock.json b/package-lock.json index b60673e..305bad4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,6 +17,8 @@ "astro": "^5.16.14", "chart.js": "^4.5.1", "clsx": "^2.1.0", + "mermaid": "^11.12.2", + "rehype-mermaid": "^3.0.0", "tailwind-merge": "^3.4.0", "typescript": "^5.9.3" }, @@ -31,6 +33,19 @@ "tailwindcss": "^4.1.18" } }, + "node_modules/@antfu/install-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@antfu/install-pkg/-/install-pkg-1.1.0.tgz", + "integrity": "sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==", + "license": "MIT", + "dependencies": { + "package-manager-detector": "^1.3.0", + "tinyexec": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, "node_modules/@astrojs/check": { "version": "0.9.6", "resolved": "https://registry.npmjs.org/@astrojs/check/-/check-0.9.6.tgz", @@ -334,6 +349,12 @@ "node": ">=6.9.0" } }, + "node_modules/@braintree/sanitize-url": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-7.1.1.tgz", + "integrity": "sha512-i1L7noDNxtFyL5DmZafWy1wRVhGehQmzZaz1HiN5e7iylJMSZR7ekOV7NsIqa5qBldlLrsKv4HbgFUVlQrz8Mw==", + "license": "MIT" + }, "node_modules/@capsizecss/unpack": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@capsizecss/unpack/-/unpack-4.0.0.tgz", @@ -346,6 +367,57 @@ "node": ">=18" } }, + "node_modules/@chevrotain/cst-dts-gen": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/cst-dts-gen/-/cst-dts-gen-11.0.3.tgz", + "integrity": "sha512-BvIKpRLeS/8UbfxXxgC33xOumsacaeCKAjAeLyOn7Pcp95HiRbrpl14S+9vaZLolnbssPIUuiUd8IvgkRyt6NQ==", + "license": "Apache-2.0", + "dependencies": { + "@chevrotain/gast": "11.0.3", + "@chevrotain/types": "11.0.3", + "lodash-es": "4.17.21" + } + }, + "node_modules/@chevrotain/cst-dts-gen/node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "license": "MIT" + }, + "node_modules/@chevrotain/gast": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/gast/-/gast-11.0.3.tgz", + "integrity": "sha512-+qNfcoNk70PyS/uxmj3li5NiECO+2YKZZQMbmjTqRI3Qchu8Hig/Q9vgkHpI3alNjr7M+a2St5pw5w5F6NL5/Q==", + "license": "Apache-2.0", + "dependencies": { + "@chevrotain/types": "11.0.3", + "lodash-es": "4.17.21" + } + }, + "node_modules/@chevrotain/gast/node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "license": "MIT" + }, + "node_modules/@chevrotain/regexp-to-ast": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/regexp-to-ast/-/regexp-to-ast-11.0.3.tgz", + "integrity": "sha512-1fMHaBZxLFvWI067AVbGJav1eRY7N8DDvYCTwGBiE/ytKBgP8azTdgyrKyWZ9Mfh09eHWb5PgTSO8wi7U824RA==", + "license": "Apache-2.0" + }, + "node_modules/@chevrotain/types": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/types/-/types-11.0.3.tgz", + "integrity": "sha512-gsiM3G8b58kZC2HaWR50gu6Y1440cHiJ+i3JUvcp/35JchYejb2+5MVeJK0iKThYpAa/P2PYFV4hoi44HD+aHQ==", + "license": "Apache-2.0" + }, + "node_modules/@chevrotain/utils": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/utils/-/utils-11.0.3.tgz", + "integrity": "sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ==", + "license": "Apache-2.0" + }, "node_modules/@emmetio/abbreviation": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/@emmetio/abbreviation/-/abbreviation-2.3.3.tgz", @@ -836,6 +908,32 @@ "url": "https://github.com/sponsors/ayuhito" } }, + "node_modules/@fortawesome/fontawesome-free": { + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.7.2.tgz", + "integrity": "sha512-JUOtgFW6k9u4Y+xeIaEiLr3+cjoUPiAuLXoyKOJSia6Duzb7pq+A76P9ZdPDoAoxHdHzq6gE9/jKBGXlZT8FbA==", + "license": "(CC-BY-4.0 AND OFL-1.1 AND MIT)", + "engines": { + "node": ">=6" + } + }, + "node_modules/@iconify/types": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@iconify/types/-/types-2.0.0.tgz", + "integrity": "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==", + "license": "MIT" + }, + "node_modules/@iconify/utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@iconify/utils/-/utils-3.1.0.tgz", + "integrity": "sha512-Zlzem1ZXhI1iHeeERabLNzBHdOa4VhQbqAcOQaMKuTuyZCpwKbC2R4Dd0Zo3g9EAc+Y4fiarO8HIHRAth7+skw==", + "license": "MIT", + "dependencies": { + "@antfu/install-pkg": "^1.1.0", + "@iconify/types": "^2.0.0", + "mlly": "^1.8.0" + } + }, "node_modules/@img/colour": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.0.0.tgz", @@ -1394,6 +1492,15 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/@mermaid-js/parser": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/@mermaid-js/parser/-/parser-0.6.3.tgz", + "integrity": "sha512-lnjOhe7zyHjc+If7yT4zoedx2vo4sHaTmtkl1+or8BRTnCtDmcTpAjpzDSfCZrshM5bCoz0GyidzadJAH1xobA==", + "license": "MIT", + "dependencies": { + "langium": "3.3.1" + } + }, "node_modules/@myriaddreamin/typst-ts-node-compiler": { "version": "0.7.0-rc2", "resolved": "https://registry.npmjs.org/@myriaddreamin/typst-ts-node-compiler/-/typst-ts-node-compiler-0.7.0-rc2.tgz", @@ -2393,6 +2500,259 @@ "vite": "^5.2.0 || ^6 || ^7" } }, + "node_modules/@types/d3": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/@types/d3/-/d3-7.4.3.tgz", + "integrity": "sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==", + "license": "MIT", + "dependencies": { + "@types/d3-array": "*", + "@types/d3-axis": "*", + "@types/d3-brush": "*", + "@types/d3-chord": "*", + "@types/d3-color": "*", + "@types/d3-contour": "*", + "@types/d3-delaunay": "*", + "@types/d3-dispatch": "*", + "@types/d3-drag": "*", + "@types/d3-dsv": "*", + "@types/d3-ease": "*", + "@types/d3-fetch": "*", + "@types/d3-force": "*", + "@types/d3-format": "*", + "@types/d3-geo": "*", + "@types/d3-hierarchy": "*", + "@types/d3-interpolate": "*", + "@types/d3-path": "*", + "@types/d3-polygon": "*", + "@types/d3-quadtree": "*", + "@types/d3-random": "*", + "@types/d3-scale": "*", + "@types/d3-scale-chromatic": "*", + "@types/d3-selection": "*", + "@types/d3-shape": "*", + "@types/d3-time": "*", + "@types/d3-time-format": "*", + "@types/d3-timer": "*", + "@types/d3-transition": "*", + "@types/d3-zoom": "*" + } + }, + "node_modules/@types/d3-array": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.2.tgz", + "integrity": "sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==", + "license": "MIT" + }, + "node_modules/@types/d3-axis": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-axis/-/d3-axis-3.0.6.tgz", + "integrity": "sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==", + "license": "MIT", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-brush": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-brush/-/d3-brush-3.0.6.tgz", + "integrity": "sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==", + "license": "MIT", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-chord": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-chord/-/d3-chord-3.0.6.tgz", + "integrity": "sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==", + "license": "MIT" + }, + "node_modules/@types/d3-color": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.3.tgz", + "integrity": "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==", + "license": "MIT" + }, + "node_modules/@types/d3-contour": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-contour/-/d3-contour-3.0.6.tgz", + "integrity": "sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==", + "license": "MIT", + "dependencies": { + "@types/d3-array": "*", + "@types/geojson": "*" + } + }, + "node_modules/@types/d3-delaunay": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-delaunay/-/d3-delaunay-6.0.4.tgz", + "integrity": "sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==", + "license": "MIT" + }, + "node_modules/@types/d3-dispatch": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/d3-dispatch/-/d3-dispatch-3.0.7.tgz", + "integrity": "sha512-5o9OIAdKkhN1QItV2oqaE5KMIiXAvDWBDPrD85e58Qlz1c1kI/J0NcqbEG88CoTwJrYe7ntUCVfeUl2UJKbWgA==", + "license": "MIT" + }, + "node_modules/@types/d3-drag": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/d3-drag/-/d3-drag-3.0.7.tgz", + "integrity": "sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==", + "license": "MIT", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-dsv": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/d3-dsv/-/d3-dsv-3.0.7.tgz", + "integrity": "sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==", + "license": "MIT" + }, + "node_modules/@types/d3-ease": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.2.tgz", + "integrity": "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==", + "license": "MIT" + }, + "node_modules/@types/d3-fetch": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/d3-fetch/-/d3-fetch-3.0.7.tgz", + "integrity": "sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==", + "license": "MIT", + "dependencies": { + "@types/d3-dsv": "*" + } + }, + "node_modules/@types/d3-force": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@types/d3-force/-/d3-force-3.0.10.tgz", + "integrity": "sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==", + "license": "MIT" + }, + "node_modules/@types/d3-format": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-format/-/d3-format-3.0.4.tgz", + "integrity": "sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==", + "license": "MIT" + }, + "node_modules/@types/d3-geo": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/d3-geo/-/d3-geo-3.1.0.tgz", + "integrity": "sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==", + "license": "MIT", + "dependencies": { + "@types/geojson": "*" + } + }, + "node_modules/@types/d3-hierarchy": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/@types/d3-hierarchy/-/d3-hierarchy-3.1.7.tgz", + "integrity": "sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==", + "license": "MIT" + }, + "node_modules/@types/d3-interpolate": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz", + "integrity": "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==", + "license": "MIT", + "dependencies": { + "@types/d3-color": "*" + } + }, + "node_modules/@types/d3-path": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.1.tgz", + "integrity": "sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==", + "license": "MIT" + }, + "node_modules/@types/d3-polygon": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-polygon/-/d3-polygon-3.0.2.tgz", + "integrity": "sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==", + "license": "MIT" + }, + "node_modules/@types/d3-quadtree": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-quadtree/-/d3-quadtree-3.0.6.tgz", + "integrity": "sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==", + "license": "MIT" + }, + "node_modules/@types/d3-random": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-random/-/d3-random-3.0.3.tgz", + "integrity": "sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==", + "license": "MIT" + }, + "node_modules/@types/d3-scale": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.9.tgz", + "integrity": "sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==", + "license": "MIT", + "dependencies": { + "@types/d3-time": "*" + } + }, + "node_modules/@types/d3-scale-chromatic": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz", + "integrity": "sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==", + "license": "MIT" + }, + "node_modules/@types/d3-selection": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@types/d3-selection/-/d3-selection-3.0.11.tgz", + "integrity": "sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==", + "license": "MIT" + }, + "node_modules/@types/d3-shape": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.8.tgz", + "integrity": "sha512-lae0iWfcDeR7qt7rA88BNiqdvPS5pFVPpo5OfjElwNaT2yyekbM0C9vK+yqBqEmHr6lDkRnYNoTBYlAgJa7a4w==", + "license": "MIT", + "dependencies": { + "@types/d3-path": "*" + } + }, + "node_modules/@types/d3-time": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.4.tgz", + "integrity": "sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==", + "license": "MIT" + }, + "node_modules/@types/d3-time-format": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-time-format/-/d3-time-format-4.0.3.tgz", + "integrity": "sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==", + "license": "MIT" + }, + "node_modules/@types/d3-timer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.2.tgz", + "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==", + "license": "MIT" + }, + "node_modules/@types/d3-transition": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/@types/d3-transition/-/d3-transition-3.0.9.tgz", + "integrity": "sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==", + "license": "MIT", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-zoom": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@types/d3-zoom/-/d3-zoom-3.0.8.tgz", + "integrity": "sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==", + "license": "MIT", + "dependencies": { + "@types/d3-interpolate": "*", + "@types/d3-selection": "*" + } + }, "node_modules/@types/debug": { "version": "4.1.12", "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", @@ -2417,6 +2777,12 @@ "@types/estree": "*" } }, + "node_modules/@types/geojson": { + "version": "7946.0.16", + "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.16.tgz", + "integrity": "sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==", + "license": "MIT" + }, "node_modules/@types/hast": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", @@ -2474,6 +2840,13 @@ "@types/node": "*" } }, + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "license": "MIT", + "optional": true + }, "node_modules/@types/unist": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", @@ -3003,6 +3376,38 @@ "pnpm": ">=8" } }, + "node_modules/chevrotain": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-11.0.3.tgz", + "integrity": "sha512-ci2iJH6LeIkvP9eJW6gpueU8cnZhv85ELY8w8WiFtNjMHA5ad6pQLaJo9mEly/9qUyCpvqX8/POVUTf18/HFdw==", + "license": "Apache-2.0", + "dependencies": { + "@chevrotain/cst-dts-gen": "11.0.3", + "@chevrotain/gast": "11.0.3", + "@chevrotain/regexp-to-ast": "11.0.3", + "@chevrotain/types": "11.0.3", + "@chevrotain/utils": "11.0.3", + "lodash-es": "4.17.21" + } + }, + "node_modules/chevrotain-allstar": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/chevrotain-allstar/-/chevrotain-allstar-0.3.1.tgz", + "integrity": "sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==", + "license": "MIT", + "dependencies": { + "lodash-es": "^4.17.21" + }, + "peerDependencies": { + "chevrotain": "^11.0.0" + } + }, + "node_modules/chevrotain/node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "license": "MIT" + }, "node_modules/chokidar": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", @@ -3194,6 +3599,12 @@ "integrity": "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==", "license": "ISC" }, + "node_modules/confbox": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz", + "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", + "license": "MIT" + }, "node_modules/cookie": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.1.1.tgz", @@ -3213,6 +3624,15 @@ "integrity": "sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==", "license": "MIT" }, + "node_modules/cose-base": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/cose-base/-/cose-base-1.0.3.tgz", + "integrity": "sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==", + "license": "MIT", + "dependencies": { + "layout-base": "^1.0.0" + } + }, "node_modules/crossws": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/crossws/-/crossws-0.3.5.tgz", @@ -3234,79 +3654,593 @@ "domutils": "^3.0.1", "nth-check": "^2.0.1" }, - "funding": { - "url": "https://github.com/sponsors/fb55" + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-tree": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.1.0.tgz", + "integrity": "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.12.2", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css-what": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", + "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "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/cytoscape": { + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/cytoscape/-/cytoscape-3.33.1.tgz", + "integrity": "sha512-iJc4TwyANnOGR1OmWhsS9ayRS3s+XQ185FmuHObThD+5AeJCakAAbWv8KimMTt08xCCLNgneQwFp+JRJOr9qGQ==", + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/cytoscape-cose-bilkent": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cytoscape-cose-bilkent/-/cytoscape-cose-bilkent-4.1.0.tgz", + "integrity": "sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==", + "license": "MIT", + "dependencies": { + "cose-base": "^1.0.0" + }, + "peerDependencies": { + "cytoscape": "^3.2.0" + } + }, + "node_modules/cytoscape-fcose": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cytoscape-fcose/-/cytoscape-fcose-2.2.0.tgz", + "integrity": "sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==", + "license": "MIT", + "dependencies": { + "cose-base": "^2.2.0" + }, + "peerDependencies": { + "cytoscape": "^3.2.0" + } + }, + "node_modules/cytoscape-fcose/node_modules/cose-base": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cose-base/-/cose-base-2.2.0.tgz", + "integrity": "sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==", + "license": "MIT", + "dependencies": { + "layout-base": "^2.0.0" + } + }, + "node_modules/cytoscape-fcose/node_modules/layout-base": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/layout-base/-/layout-base-2.0.1.tgz", + "integrity": "sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==", + "license": "MIT" + }, + "node_modules/d3": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/d3/-/d3-7.9.0.tgz", + "integrity": "sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==", + "license": "ISC", + "dependencies": { + "d3-array": "3", + "d3-axis": "3", + "d3-brush": "3", + "d3-chord": "3", + "d3-color": "3", + "d3-contour": "4", + "d3-delaunay": "6", + "d3-dispatch": "3", + "d3-drag": "3", + "d3-dsv": "3", + "d3-ease": "3", + "d3-fetch": "3", + "d3-force": "3", + "d3-format": "3", + "d3-geo": "3", + "d3-hierarchy": "3", + "d3-interpolate": "3", + "d3-path": "3", + "d3-polygon": "3", + "d3-quadtree": "3", + "d3-random": "3", + "d3-scale": "4", + "d3-scale-chromatic": "3", + "d3-selection": "3", + "d3-shape": "3", + "d3-time": "3", + "d3-time-format": "4", + "d3-timer": "3", + "d3-transition": "3", + "d3-zoom": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-array": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", + "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", + "license": "ISC", + "dependencies": { + "internmap": "1 - 2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-axis": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz", + "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-brush": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz", + "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==", + "license": "ISC", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-drag": "2 - 3", + "d3-interpolate": "1 - 3", + "d3-selection": "3", + "d3-transition": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-chord": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz", + "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==", + "license": "ISC", + "dependencies": { + "d3-path": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-color": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-contour": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz", + "integrity": "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==", + "license": "ISC", + "dependencies": { + "d3-array": "^3.2.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-delaunay": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz", + "integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==", + "license": "ISC", + "dependencies": { + "delaunator": "5" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dispatch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz", + "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-drag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz", + "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", + "license": "ISC", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-selection": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dsv": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz", + "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==", + "license": "ISC", + "dependencies": { + "commander": "7", + "iconv-lite": "0.6", + "rw": "1" + }, + "bin": { + "csv2json": "bin/dsv2json.js", + "csv2tsv": "bin/dsv2dsv.js", + "dsv2dsv": "bin/dsv2dsv.js", + "dsv2json": "bin/dsv2json.js", + "json2csv": "bin/json2dsv.js", + "json2dsv": "bin/json2dsv.js", + "json2tsv": "bin/json2dsv.js", + "tsv2csv": "bin/dsv2dsv.js", + "tsv2json": "bin/dsv2json.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dsv/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/d3-ease": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", + "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-fetch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz", + "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==", + "license": "ISC", + "dependencies": { + "d3-dsv": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-force": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz", + "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==", + "license": "ISC", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-quadtree": "1 - 3", + "d3-timer": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-format": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.2.tgz", + "integrity": "sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-geo": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.1.tgz", + "integrity": "sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==", + "license": "ISC", + "dependencies": { + "d3-array": "2.5.0 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-hierarchy": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz", + "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-interpolate": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", + "license": "ISC", + "dependencies": { + "d3-color": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-polygon": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz", + "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-quadtree": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz", + "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-random": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz", + "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-sankey": { + "version": "0.12.3", + "resolved": "https://registry.npmjs.org/d3-sankey/-/d3-sankey-0.12.3.tgz", + "integrity": "sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==", + "license": "BSD-3-Clause", + "dependencies": { + "d3-array": "1 - 2", + "d3-shape": "^1.2.0" + } + }, + "node_modules/d3-sankey/node_modules/d3-array": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.12.1.tgz", + "integrity": "sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==", + "license": "BSD-3-Clause", + "dependencies": { + "internmap": "^1.0.0" + } + }, + "node_modules/d3-sankey/node_modules/d3-path": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz", + "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==", + "license": "BSD-3-Clause" + }, + "node_modules/d3-sankey/node_modules/d3-shape": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz", + "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==", + "license": "BSD-3-Clause", + "dependencies": { + "d3-path": "1" + } + }, + "node_modules/d3-sankey/node_modules/internmap": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-1.0.1.tgz", + "integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==", + "license": "ISC" + }, + "node_modules/d3-scale": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", + "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", + "license": "ISC", + "dependencies": { + "d3-array": "2.10.0 - 3", + "d3-format": "1 - 3", + "d3-interpolate": "1.2.0 - 3", + "d3-time": "2.1.1 - 3", + "d3-time-format": "2 - 4" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-scale-chromatic": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz", + "integrity": "sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==", + "license": "ISC", + "dependencies": { + "d3-color": "1 - 3", + "d3-interpolate": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-selection": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", + "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-shape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", + "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", + "license": "ISC", + "dependencies": { + "d3-path": "^3.1.0" + }, + "engines": { + "node": ">=12" } }, - "node_modules/css-tree": { + "node_modules/d3-time": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.1.0.tgz", - "integrity": "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==", - "license": "MIT", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", + "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", + "license": "ISC", "dependencies": { - "mdn-data": "2.12.2", - "source-map-js": "^1.0.1" + "d3-array": "2 - 3" }, "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + "node": ">=12" } }, - "node_modules/css-what": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", - "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", - "license": "BSD-2-Clause", - "engines": { - "node": ">= 6" + "node_modules/d3-time-format": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", + "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", + "license": "ISC", + "dependencies": { + "d3-time": "1 - 3" }, - "funding": { - "url": "https://github.com/sponsors/fb55" + "engines": { + "node": ">=12" } }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "license": "MIT", - "bin": { - "cssesc": "bin/cssesc" - }, + "node_modules/d3-timer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", + "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", + "license": "ISC", "engines": { - "node": ">=4" + "node": ">=12" } }, - "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", + "node_modules/d3-transition": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz", + "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==", + "license": "ISC", "dependencies": { - "css-tree": "~2.2.0" + "d3-color": "1 - 3", + "d3-dispatch": "1 - 3", + "d3-ease": "1 - 3", + "d3-interpolate": "1 - 3", + "d3-timer": "1 - 3" }, "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" + "node": ">=12" + }, + "peerDependencies": { + "d3-selection": "2 - 3" } }, - "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", + "node_modules/d3-zoom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz", + "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==", + "license": "ISC", "dependencies": { - "mdn-data": "2.0.28", - "source-map-js": "^1.0.1" + "d3-dispatch": "1 - 3", + "d3-drag": "2 - 3", + "d3-interpolate": "1 - 3", + "d3-selection": "2 - 3", + "d3-transition": "2 - 3" }, "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" + "node": ">=12" } }, - "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/dagre-d3-es": { + "version": "7.0.13", + "resolved": "https://registry.npmjs.org/dagre-d3-es/-/dagre-d3-es-7.0.13.tgz", + "integrity": "sha512-efEhnxpSuwpYOKRm/L5KbqoZmNNukHa/Flty4Wp62JRvgH2ojwVgPgdYyr4twpieZnyRDdIH7PY2mopX26+j2Q==", + "license": "MIT", + "dependencies": { + "d3": "^7.9.0", + "lodash-es": "^4.17.21" + } + }, + "node_modules/dayjs": { + "version": "1.11.19", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.19.tgz", + "integrity": "sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==", + "license": "MIT" }, "node_modules/debug": { "version": "4.4.3", @@ -3344,6 +4278,15 @@ "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==", "license": "MIT" }, + "node_modules/delaunator": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.1.tgz", + "integrity": "sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==", + "license": "ISC", + "dependencies": { + "robust-predicates": "^3.0.2" + } + }, "node_modules/dequal": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", @@ -3468,6 +4411,15 @@ "url": "https://github.com/fb55/domhandler?sponsor=1" } }, + "node_modules/dompurify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.3.1.tgz", + "integrity": "sha512-qkdCKzLNtrgPFP1Vo+98FRzJnBRGe4ffyCea9IwHB1fyxPOeNTHpLKYGd4Uk9xvNoH0ZoOjwZxNptyMwqrId1Q==", + "license": "(MPL-2.0 OR Apache-2.0)", + "optionalDependencies": { + "@types/trusted-types": "^2.0.7" + } + }, "node_modules/domutils": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", @@ -3943,6 +4895,12 @@ "uncrypto": "^0.1.3" } }, + "node_modules/hachure-fill": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/hachure-fill/-/hachure-fill-0.5.2.tgz", + "integrity": "sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==", + "license": "MIT" + }, "node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -3952,6 +4910,21 @@ "node": ">=4" } }, + "node_modules/hast-util-from-dom": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/hast-util-from-dom/-/hast-util-from-dom-5.0.1.tgz", + "integrity": "sha512-N+LqofjR2zuzTjCPzyDUdSshy4Ma6li7p/c3pA78uTwzFgENbgbUrm2ugwsOdcjI1muO+o6Dgzp9p8WHtn/39Q==", + "license": "ISC", + "dependencies": { + "@types/hast": "^3.0.0", + "hastscript": "^9.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/hast-util-from-html": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.3.tgz", @@ -3970,6 +4943,22 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/hast-util-from-html-isomorphic": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hast-util-from-html-isomorphic/-/hast-util-from-html-isomorphic-2.0.0.tgz", + "integrity": "sha512-zJfpXq44yff2hmE0XmwEOzdWin5xwH+QIhMLOScpX91e/NSGPsAzNCvLQDIEPyO2TXi+lBmU6hjLIhV8MwP2kw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-from-dom": "^5.0.0", + "hast-util-from-html": "^2.0.0", + "unist-util-remove-position": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/hast-util-from-parse5": { "version": "8.0.3", "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.3.tgz", @@ -4206,6 +5195,18 @@ "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", "license": "BSD-2-Clause" }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/import-meta-resolve": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.2.0.tgz", @@ -4222,6 +5223,15 @@ "integrity": "sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==", "license": "MIT" }, + "node_modules/internmap": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", + "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, "node_modules/iron-webcrypto": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-1.2.1.tgz", @@ -4414,6 +5424,36 @@ "integrity": "sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==", "license": "MIT" }, + "node_modules/katex": { + "version": "0.16.27", + "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.27.tgz", + "integrity": "sha512-aeQoDkuRWSqQN6nSvVCEFvfXdqo1OQiCmmW1kc9xSdjutPv7BGO7pqY9sQRJpMOGrEdfDgF2TfRXe5eUAD2Waw==", + "funding": [ + "https://opencollective.com/katex", + "https://github.com/sponsors/katex" + ], + "license": "MIT", + "dependencies": { + "commander": "^8.3.0" + }, + "bin": { + "katex": "cli.js" + } + }, + "node_modules/katex/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/khroma": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/khroma/-/khroma-2.1.0.tgz", + "integrity": "sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==" + }, "node_modules/kleur": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", @@ -4423,6 +5463,34 @@ "node": ">=6" } }, + "node_modules/langium": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/langium/-/langium-3.3.1.tgz", + "integrity": "sha512-QJv/h939gDpvT+9SiLVlY7tZC3xB2qK57v0J04Sh9wpMb6MP1q8gB21L3WIo8T5P1MSMg3Ep14L7KkDCFG3y4w==", + "license": "MIT", + "dependencies": { + "chevrotain": "~11.0.3", + "chevrotain-allstar": "~0.3.0", + "vscode-languageserver": "~9.0.1", + "vscode-languageserver-textdocument": "~1.0.11", + "vscode-uri": "~3.0.8" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/langium/node_modules/vscode-uri": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.8.tgz", + "integrity": "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==", + "license": "MIT" + }, + "node_modules/layout-base": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/layout-base/-/layout-base-1.0.2.tgz", + "integrity": "sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==", + "license": "MIT" + }, "node_modules/lightningcss": { "version": "1.30.2", "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.2.tgz", @@ -4460,6 +5528,7 @@ "cpu": [ "arm64" ], + "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -4480,6 +5549,7 @@ "cpu": [ "arm64" ], + "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -4500,6 +5570,7 @@ "cpu": [ "x64" ], + "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -4520,6 +5591,7 @@ "cpu": [ "x64" ], + "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -4540,6 +5612,7 @@ "cpu": [ "arm" ], + "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -4560,6 +5633,7 @@ "cpu": [ "arm64" ], + "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -4580,6 +5654,7 @@ "cpu": [ "arm64" ], + "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -4600,6 +5675,7 @@ "cpu": [ "x64" ], + "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -4620,6 +5696,7 @@ "cpu": [ "x64" ], + "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -4640,6 +5717,7 @@ "cpu": [ "arm64" ], + "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -4660,6 +5738,7 @@ "cpu": [ "x64" ], + "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -4679,6 +5758,12 @@ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "license": "MIT" }, + "node_modules/lodash-es": { + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.23.tgz", + "integrity": "sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==", + "license": "MIT" + }, "node_modules/longest-streak": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", @@ -4740,6 +5825,18 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/marked": { + "version": "16.4.2", + "resolved": "https://registry.npmjs.org/marked/-/marked-16.4.2.tgz", + "integrity": "sha512-TI3V8YYWvkVf3KJe1dRkpnjs68JUPyEa5vjKrp1XEEJUAOaQc+Qj+L1qWbPd0SJuAdQkFU0h73sXXqwDYxsiDA==", + "license": "MIT", + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 20" + } + }, "node_modules/mdast-util-definitions": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-6.0.0.tgz", @@ -5057,6 +6154,55 @@ "node": ">= 8" } }, + "node_modules/mermaid": { + "version": "11.12.2", + "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-11.12.2.tgz", + "integrity": "sha512-n34QPDPEKmaeCG4WDMGy0OT6PSyxKCfy2pJgShP+Qow2KLrvWjclwbc3yXfSIf4BanqWEhQEpngWwNp/XhZt6w==", + "license": "MIT", + "dependencies": { + "@braintree/sanitize-url": "^7.1.1", + "@iconify/utils": "^3.0.1", + "@mermaid-js/parser": "^0.6.3", + "@types/d3": "^7.4.3", + "cytoscape": "^3.29.3", + "cytoscape-cose-bilkent": "^4.1.0", + "cytoscape-fcose": "^2.2.0", + "d3": "^7.9.0", + "d3-sankey": "^0.12.3", + "dagre-d3-es": "7.0.13", + "dayjs": "^1.11.18", + "dompurify": "^3.2.5", + "katex": "^0.16.22", + "khroma": "^2.1.0", + "lodash-es": "^4.17.21", + "marked": "^16.2.1", + "roughjs": "^4.6.6", + "stylis": "^4.3.6", + "ts-dedent": "^2.2.0", + "uuid": "^11.1.0" + } + }, + "node_modules/mermaid-isomorphic": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/mermaid-isomorphic/-/mermaid-isomorphic-3.0.4.tgz", + "integrity": "sha512-XQTy7H1XwHK3DPEHf+ZNWiqUEd9BwX3Xws38R9Fj2gx718srmgjlZoUzHr+Tca+O+dqJOJsAJaKzCoP65QDfDg==", + "license": "MIT", + "dependencies": { + "@fortawesome/fontawesome-free": "^6.0.0", + "mermaid": "^11.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/remcohaszing" + }, + "peerDependencies": { + "playwright": "1" + }, + "peerDependenciesMeta": { + "playwright": { + "optional": true + } + } + }, "node_modules/micromark": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz", @@ -5799,6 +6945,27 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/mini-svg-data-uri": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz", + "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==", + "license": "MIT", + "bin": { + "mini-svg-data-uri": "cli.js" + } + }, + "node_modules/mlly": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.8.0.tgz", + "integrity": "sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==", + "license": "MIT", + "dependencies": { + "acorn": "^8.15.0", + "pathe": "^2.0.3", + "pkg-types": "^1.3.1", + "ufo": "^1.6.1" + } + }, "node_modules/mrmime": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", @@ -6037,6 +7204,18 @@ "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", "license": "MIT" }, + "node_modules/path-data-parser": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/path-data-parser/-/path-data-parser-0.1.0.tgz", + "integrity": "sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==", + "license": "MIT" + }, + "node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "license": "MIT" + }, "node_modules/piccolore": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/piccolore/-/piccolore-0.1.3.tgz", @@ -6061,11 +7240,22 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/pkg-types": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz", + "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==", + "license": "MIT", + "dependencies": { + "confbox": "^0.1.8", + "mlly": "^1.7.4", + "pathe": "^2.0.1" + } + }, "node_modules/playwright": { "version": "1.57.0", "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.57.0.tgz", "integrity": "sha512-ilYQj1s8sr2ppEJ2YVadYBN0Mb3mdo9J0wQ+UuDhzYqURwSoW4n1Xs5vs7ORwgDGmyEh33tRMeS8KhdkMoLXQw==", - "dev": true, + "devOptional": true, "license": "Apache-2.0", "dependencies": { "playwright-core": "1.57.0" @@ -6084,7 +7274,7 @@ "version": "1.57.0", "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.57.0.tgz", "integrity": "sha512-agTcKlMw/mjBWOnD6kFZttAAGHgi/Nw0CZ2o6JqWSbMlI219lAFLZZCyqByTsvVAJq5XA5H8cA6PrvBRpBWEuQ==", - "dev": true, + "devOptional": true, "license": "Apache-2.0", "bin": { "playwright-core": "cli.js" @@ -6108,6 +7298,22 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, + "node_modules/points-on-curve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/points-on-curve/-/points-on-curve-0.2.0.tgz", + "integrity": "sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==", + "license": "MIT" + }, + "node_modules/points-on-path": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/points-on-path/-/points-on-path-0.2.1.tgz", + "integrity": "sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g==", + "license": "MIT", + "dependencies": { + "path-data-parser": "0.1.0", + "points-on-curve": "0.2.0" + } + }, "node_modules/postcss": { "version": "8.5.6", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", @@ -6446,6 +7652,34 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/rehype-mermaid": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/rehype-mermaid/-/rehype-mermaid-3.0.0.tgz", + "integrity": "sha512-fxrD5E4Fa1WXUjmjNDvLOMT4XB1WaxcfycFIWiYU0yEMQhcTDElc9aDFnbDFRLxG1Cfo1I3mfD5kg4sjlWaB+Q==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-from-html-isomorphic": "^2.0.0", + "hast-util-to-text": "^4.0.0", + "mermaid-isomorphic": "^3.0.0", + "mini-svg-data-uri": "^1.0.0", + "space-separated-tokens": "^2.0.0", + "unified": "^11.0.0", + "unist-util-visit-parents": "^6.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/remcohaszing" + }, + "peerDependencies": { + "playwright": "1" + }, + "peerDependenciesMeta": { + "playwright": { + "optional": true + } + } + }, "node_modules/rehype-parse": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-9.0.1.tgz", @@ -6696,6 +7930,12 @@ "node": ">=0.10.0" } }, + "node_modules/robust-predicates": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz", + "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==", + "license": "Unlicense" + }, "node_modules/rollup": { "version": "4.53.3", "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.53.3.tgz", @@ -6737,6 +7977,18 @@ "fsevents": "~2.3.2" } }, + "node_modules/roughjs": { + "version": "4.6.6", + "resolved": "https://registry.npmjs.org/roughjs/-/roughjs-4.6.6.tgz", + "integrity": "sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==", + "license": "MIT", + "dependencies": { + "hachure-fill": "^0.5.2", + "path-data-parser": "^0.1.0", + "points-on-curve": "^0.2.0", + "points-on-path": "^0.2.1" + } + }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -6760,6 +8012,12 @@ "queue-microtask": "^1.2.2" } }, + "node_modules/rw": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", + "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==", + "license": "BSD-3-Clause" + }, "node_modules/s.color": { "version": "0.0.15", "resolved": "https://registry.npmjs.org/s.color/-/s.color-0.0.15.tgz", @@ -6767,6 +8025,12 @@ "devOptional": true, "license": "MIT" }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, "node_modules/sass-formatter": { "version": "0.7.9", "resolved": "https://registry.npmjs.org/sass-formatter/-/sass-formatter-0.7.9.tgz", @@ -7009,6 +8273,12 @@ "inline-style-parser": "0.2.7" } }, + "node_modules/stylis": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.6.tgz", + "integrity": "sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==", + "license": "MIT" + }, "node_modules/suf-log": { "version": "2.5.3", "resolved": "https://registry.npmjs.org/suf-log/-/suf-log-2.5.3.tgz", @@ -7150,6 +8420,15 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/ts-dedent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz", + "integrity": "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==", + "license": "MIT", + "engines": { + "node": ">=6.10" + } + }, "node_modules/tsconfck": { "version": "3.1.6", "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.6.tgz", @@ -7538,6 +8817,19 @@ "dev": true, "license": "MIT" }, + "node_modules/uuid": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz", + "integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/esm/bin/uuid" + } + }, "node_modules/vfile": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", diff --git a/package.json b/package.json index 8fa0002..1e0e22d 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,8 @@ "astro": "^5.16.14", "chart.js": "^4.5.1", "clsx": "^2.1.0", + "mermaid": "^11.12.2", + "rehype-mermaid": "^3.0.0", "tailwind-merge": "^3.4.0", "typescript": "^5.9.3" }, From 6fecb825ab72f3af4c94960ed49274c1d652ce05 Mon Sep 17 00:00:00 2001 From: Guilherme de Andrade Date: Tue, 27 Jan 2026 18:43:07 +0000 Subject: [PATCH 10/18] fix: resolve formatting issues and update talks content --- pnpm-lock.yaml | 44 +++++++++++++++ src/content.config.ts | 1 - ...-prompts-to-predictable-user-interfaces.md | 52 +++++++++--------- tests/visual.spec.ts | 2 + .../homepage-dark-chromium-darwin.png | Bin 136737 -> 162044 bytes .../homepage-light-chromium-darwin.png | Bin 135204 -> 160328 bytes .../moving-dark-chromium-darwin.png | Bin 20347 -> 21844 bytes .../moving-light-chromium-darwin.png | Bin 20446 -> 21668 bytes 8 files changed, 73 insertions(+), 26 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 36e94b9..48ef90b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -35,6 +35,9 @@ importers: clsx: specifier: ^2.1.0 version: 2.1.1 + mermaid: + specifier: ^11.12.2 + version: 11.12.2 rehype-mermaid: specifier: ^3.0.0 version: 3.0.0(playwright@1.57.0) @@ -387,89 +390,105 @@ packages: resolution: {integrity: sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==} cpu: [arm64] os: [linux] + libc: [glibc] '@img/sharp-libvips-linux-arm@1.2.4': resolution: {integrity: sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==} cpu: [arm] os: [linux] + libc: [glibc] '@img/sharp-libvips-linux-ppc64@1.2.4': resolution: {integrity: sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==} cpu: [ppc64] os: [linux] + libc: [glibc] '@img/sharp-libvips-linux-riscv64@1.2.4': resolution: {integrity: sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==} cpu: [riscv64] os: [linux] + libc: [glibc] '@img/sharp-libvips-linux-s390x@1.2.4': resolution: {integrity: sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==} cpu: [s390x] os: [linux] + libc: [glibc] '@img/sharp-libvips-linux-x64@1.2.4': resolution: {integrity: sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==} cpu: [x64] os: [linux] + libc: [glibc] '@img/sharp-libvips-linuxmusl-arm64@1.2.4': resolution: {integrity: sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==} cpu: [arm64] os: [linux] + libc: [musl] '@img/sharp-libvips-linuxmusl-x64@1.2.4': resolution: {integrity: sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==} cpu: [x64] os: [linux] + libc: [musl] '@img/sharp-linux-arm64@0.34.5': resolution: {integrity: sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [linux] + libc: [glibc] '@img/sharp-linux-arm@0.34.5': resolution: {integrity: sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm] os: [linux] + libc: [glibc] '@img/sharp-linux-ppc64@0.34.5': resolution: {integrity: sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [ppc64] os: [linux] + libc: [glibc] '@img/sharp-linux-riscv64@0.34.5': resolution: {integrity: sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [riscv64] os: [linux] + libc: [glibc] '@img/sharp-linux-s390x@0.34.5': resolution: {integrity: sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [s390x] os: [linux] + libc: [glibc] '@img/sharp-linux-x64@0.34.5': resolution: {integrity: sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [linux] + libc: [glibc] '@img/sharp-linuxmusl-arm64@0.34.5': resolution: {integrity: sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [arm64] os: [linux] + libc: [musl] '@img/sharp-linuxmusl-x64@0.34.5': resolution: {integrity: sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} cpu: [x64] os: [linux] + libc: [musl] '@img/sharp-wasm32@0.34.5': resolution: {integrity: sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==} @@ -554,24 +573,28 @@ packages: engines: {node: '>= 10'} cpu: [arm64] os: [linux] + libc: [glibc] '@myriaddreamin/typst-ts-node-compiler-linux-arm64-musl@0.7.0-rc2': resolution: {integrity: sha512-wNEYhpjuwnhd7VrArL4EHd652z8YEGxG6C8haUjkVhGseFBetrL51yD1Ymg5fWEa+3+O4oZ1+IUN0Fu4/fKgHw==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] + libc: [musl] '@myriaddreamin/typst-ts-node-compiler-linux-x64-gnu@0.7.0-rc2': resolution: {integrity: sha512-Z4i78r5MtFDYGHqgYrWfAcvqb3xW49WlLI35l1G818lYmkmGZAjAkVKb946ChOx+bBQIuMWefykCABLOlBkgKA==} engines: {node: '>= 10'} cpu: [x64] os: [linux] + libc: [glibc] '@myriaddreamin/typst-ts-node-compiler-linux-x64-musl@0.7.0-rc2': resolution: {integrity: sha512-PXteqxa3RITEh5v3lQ4c5VGn16KHvUKVXjSZ2BudCe6C0gEuOO16JS9JU8DZVwd0dbtH0Mky6Q5V7tf6erpXGA==} engines: {node: '>= 10'} cpu: [x64] os: [linux] + libc: [musl] '@myriaddreamin/typst-ts-node-compiler-win32-arm64-msvc@0.7.0-rc2': resolution: {integrity: sha512-wN1tjdRxabJzT8WuDVdOs2QKQuMzKht3QWPU/H7OjuDta1WcrYs/3IKnF67HNiphe/33MU8bKeih2GBVU+AuLg==} @@ -655,66 +678,79 @@ packages: resolution: {integrity: sha512-E8jKK87uOvLrrLN28jnAAAChNq5LeCd2mGgZF+fGF5D507WlG/Noct3lP/QzQ6MrqJ5BCKNwI9ipADB6jyiq2A==} cpu: [arm] os: [linux] + libc: [glibc] '@rollup/rollup-linux-arm-musleabihf@4.56.0': resolution: {integrity: sha512-jQosa5FMYF5Z6prEpTCCmzCXz6eKr/tCBssSmQGEeozA9tkRUty/5Vx06ibaOP9RCrW1Pvb8yp3gvZhHwTDsJw==} cpu: [arm] os: [linux] + libc: [musl] '@rollup/rollup-linux-arm64-gnu@4.56.0': resolution: {integrity: sha512-uQVoKkrC1KGEV6udrdVahASIsaF8h7iLG0U0W+Xn14ucFwi6uS539PsAr24IEF9/FoDtzMeeJXJIBo5RkbNWvQ==} cpu: [arm64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-arm64-musl@4.56.0': resolution: {integrity: sha512-vLZ1yJKLxhQLFKTs42RwTwa6zkGln+bnXc8ueFGMYmBTLfNu58sl5/eXyxRa2RarTkJbXl8TKPgfS6V5ijNqEA==} cpu: [arm64] os: [linux] + libc: [musl] '@rollup/rollup-linux-loong64-gnu@4.56.0': resolution: {integrity: sha512-FWfHOCub564kSE3xJQLLIC/hbKqHSVxy8vY75/YHHzWvbJL7aYJkdgwD/xGfUlL5UV2SB7otapLrcCj2xnF1dg==} cpu: [loong64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-loong64-musl@4.56.0': resolution: {integrity: sha512-z1EkujxIh7nbrKL1lmIpqFTc/sr0u8Uk0zK/qIEFldbt6EDKWFk/pxFq3gYj4Bjn3aa9eEhYRlL3H8ZbPT1xvA==} cpu: [loong64] os: [linux] + libc: [musl] '@rollup/rollup-linux-ppc64-gnu@4.56.0': resolution: {integrity: sha512-iNFTluqgdoQC7AIE8Q34R3AuPrJGJirj5wMUErxj22deOcY7XwZRaqYmB6ZKFHoVGqRcRd0mqO+845jAibKCkw==} cpu: [ppc64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-ppc64-musl@4.56.0': resolution: {integrity: sha512-MtMeFVlD2LIKjp2sE2xM2slq3Zxf9zwVuw0jemsxvh1QOpHSsSzfNOTH9uYW9i1MXFxUSMmLpeVeUzoNOKBaWg==} cpu: [ppc64] os: [linux] + libc: [musl] '@rollup/rollup-linux-riscv64-gnu@4.56.0': resolution: {integrity: sha512-in+v6wiHdzzVhYKXIk5U74dEZHdKN9KH0Q4ANHOTvyXPG41bajYRsy7a8TPKbYPl34hU7PP7hMVHRvv/5aCSew==} cpu: [riscv64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-riscv64-musl@4.56.0': resolution: {integrity: sha512-yni2raKHB8m9NQpI9fPVwN754mn6dHQSbDTwxdr9SE0ks38DTjLMMBjrwvB5+mXrX+C0npX0CVeCUcvvvD8CNQ==} cpu: [riscv64] os: [linux] + libc: [musl] '@rollup/rollup-linux-s390x-gnu@4.56.0': resolution: {integrity: sha512-zhLLJx9nQPu7wezbxt2ut+CI4YlXi68ndEve16tPc/iwoylWS9B3FxpLS2PkmfYgDQtosah07Mj9E0khc3Y+vQ==} cpu: [s390x] os: [linux] + libc: [glibc] '@rollup/rollup-linux-x64-gnu@4.56.0': resolution: {integrity: sha512-MVC6UDp16ZSH7x4rtuJPAEoE1RwS8N4oK9DLHy3FTEdFoUTCFVzMfJl/BVJ330C+hx8FfprA5Wqx4FhZXkj2Kw==} cpu: [x64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-x64-musl@4.56.0': resolution: {integrity: sha512-ZhGH1eA4Qv0lxaV00azCIS1ChedK0V32952Md3FtnxSqZTBTd6tgil4nZT5cU8B+SIw3PFYkvyR4FKo2oyZIHA==} cpu: [x64] os: [linux] + libc: [musl] '@rollup/rollup-openbsd-x64@4.56.0': resolution: {integrity: sha512-O16XcmyDeFI9879pEcmtWvD/2nyxR9mF7Gs44lf1vGGx8Vg2DRNx11aVXBEqOQhWb92WN4z7fW/q4+2NYzCbBA==} @@ -805,24 +841,28 @@ packages: engines: {node: '>= 10'} cpu: [arm64] os: [linux] + libc: [glibc] '@tailwindcss/oxide-linux-arm64-musl@4.1.18': resolution: {integrity: sha512-1px92582HkPQlaaCkdRcio71p8bc8i/ap5807tPRDK/uw953cauQBT8c5tVGkOwrHMfc2Yh6UuxaH4vtTjGvHg==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] + libc: [musl] '@tailwindcss/oxide-linux-x64-gnu@4.1.18': resolution: {integrity: sha512-v3gyT0ivkfBLoZGF9LyHmts0Isc8jHZyVcbzio6Wpzifg/+5ZJpDiRiUhDLkcr7f/r38SWNe7ucxmGW3j3Kb/g==} engines: {node: '>= 10'} cpu: [x64] os: [linux] + libc: [glibc] '@tailwindcss/oxide-linux-x64-musl@4.1.18': resolution: {integrity: sha512-bhJ2y2OQNlcRwwgOAGMY0xTFStt4/wyU6pvI6LSuZpRgKQwxTec0/3Scu91O8ir7qCR3AuepQKLU/kX99FouqQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] + libc: [musl] '@tailwindcss/oxide-wasm32-wasi@4.1.18': resolution: {integrity: sha512-LffYTvPjODiP6PT16oNeUQJzNVyJl1cjIebq/rWWBF+3eDst5JGEFSc5cWxyRCJ0Mxl+KyIkqRxk1XPEs9x8TA==} @@ -1813,24 +1853,28 @@ packages: engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] + libc: [glibc] lightningcss-linux-arm64-musl@1.30.2: resolution: {integrity: sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] + libc: [musl] lightningcss-linux-x64-gnu@1.30.2: resolution: {integrity: sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] + libc: [glibc] lightningcss-linux-x64-musl@1.30.2: resolution: {integrity: sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] + libc: [musl] lightningcss-win32-arm64-msvc@1.30.2: resolution: {integrity: sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==} diff --git a/src/content.config.ts b/src/content.config.ts index a3fce17..35fc1d9 100644 --- a/src/content.config.ts +++ b/src/content.config.ts @@ -17,7 +17,6 @@ const talks = defineCollection({ loader: glob({ pattern: "**/*.{md,mdx}", base: "./src/content/talks", - generateId: ({ entry }) => entry.replace(/\.(md|mdx)$/, ""), }), schema: z.object({ title: z.string(), diff --git a/src/content/talks/from-prompts-to-predictable-user-interfaces.md b/src/content/talks/from-prompts-to-predictable-user-interfaces.md index 46924b1..3b2ee8f 100644 --- a/src/content/talks/from-prompts-to-predictable-user-interfaces.md +++ b/src/content/talks/from-prompts-to-predictable-user-interfaces.md @@ -217,14 +217,15 @@ Storybook becomes living documentation that matches Figma exactly. Designers and **When to use Figma MCP**: -- + Established design system exists in Figma -- + Building component library -- + Design-dev collaboration critical -- + Need living documentation (Storybook) -- + Want design as code workflow -- - No design system (yet) -- - Designs change too frequently (extraction overhead) -- - Rate limits matter (Figma MCP has usage caps) +- Established design system exists in Figma +- Building component library +- Design-dev collaboration critical +- Need living documentation (Storybook) +- Want design as code workflow + +- No design system (yet) +- Designs change too frequently (extraction overhead) +- Rate limits matter (Figma MCP has usage caps) The constraint here is the design system itself. Figma becomes the contract. Code generation follows Figma truth. Predictability through design authority. @@ -338,19 +339,19 @@ Returns full page snapshot (markdown + accessibility tree) plus base64 PNG scree **When to use agent-browser**: -- + Validating layout/positioning -- + Checking element visibility -- + Testing interaction states (hover, focus) -- + Iterating rapidly on visual design -- + Context window preservation matters (agentic workflows) +- Validating layout/positioning +- Checking element visibility +- Testing interaction states (hover, focus) +- Iterating rapidly on visual design +- Context window preservation matters (agentic workflows) **When to use Playwright MCP**: -- + Pixel-perfect comparison needed -- + Screenshot documentation required -- + Complex multi-step flows -- + Full browser automation needed -- + Visual regression testing +- Pixel-perfect comparison needed +- Screenshot documentation required +- Complex multi-step flows +- Full browser automation needed +- Visual regression testing The feedback loop workflow: @@ -508,13 +509,14 @@ export const registry: ComponentRegistry = { **When to use json-render**: -- + You have a predefined component library -- + You need streaming UI generation -- + Visual complexity is limited (simple cards, forms, lists) -- + You want runtime validation of generated output -- - You need full design freedom -- - You're generating complex layouts with deep nesting -- - Your component library changes frequently +- You have a predefined component library +- You need streaming UI generation +- Visual complexity is limited (simple cards, forms, lists) +- You want runtime validation of generated output + +- You need full design freedom +- You're generating complex layouts with deep nesting +- Your component library changes frequently The catalog becomes your design contract. Change it, regenerate the system prompt, done. Predictability through constraints. diff --git a/tests/visual.spec.ts b/tests/visual.spec.ts index 714c8de..0273d18 100644 --- a/tests/visual.spec.ts +++ b/tests/visual.spec.ts @@ -4,6 +4,8 @@ const pages = [ { name: "homepage", path: "/" }, { name: "blog-post", path: "/writing/agentic-engineering-without-lock-in/" }, { name: "moving", path: "/moving" }, + { name: "talks", path: "/talks" }, + { name: "talk-post", path: "/talks/from-prompts-to-predictable-user-interfaces/" }, ]; for (const { name, path } of pages) { diff --git a/tests/visual.spec.ts-snapshots/homepage-dark-chromium-darwin.png b/tests/visual.spec.ts-snapshots/homepage-dark-chromium-darwin.png index 7268ff3899e3e8ef122ace50e39ea3bfbf70dcd9..76c2de622077d7f75f1d03df3cb721c6e363bc51 100644 GIT binary patch literal 162044 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 literal 136737 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�<9_{Y8yV$T1Bqt1DFWR0VGYboQ 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≶?(8<#1^ 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

}Nokp=1XM*$jK+k2 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 MlMyWv*7g2B0C4K7rvLx| diff --git a/tests/visual.spec.ts-snapshots/moving-dark-chromium-darwin.png b/tests/visual.spec.ts-snapshots/moving-dark-chromium-darwin.png index 54bd095a19eef1034f87e51692b147e0025a5263..b2698033eca91b6c744547ef6fcffd8817e17735 100644 GIT binary patch literal 21844 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 literal 20347 zcmeIaX;@QP);1hev;+~$0TcvEOFKO~29a?aU%?X}i@ z-)o&mrp5+hB2pp{2t>^A*I%weAj06|hV~yefIp|@E($>)J0OO?oH6%Lo+WPyddc8z zSx}fw82dqb;Qof~L#Jq;g*~s(a^B5fVNnKqJ9=%9oWenE+uRD)FT1ylP%fYM+xgS& zF@dOp>w_Jt_fEf{a(EXD#fia7LthV5CTod$R%%e}`SpvH+1G3We-7>t@v{8=`;m{4 zJHei;x!Db3;AVF3z7D>`#VvC*DU+p`~HJA+2)b!Pv?d!My~G(v29Ro|MxHW z-`(Tcn!LOdy_%k#%E@i18tP3?s{eiq(jfNPm1aHJob36O$@WV}81IkI2H??@ytFJNbIXj5l-#RaRD#tB{3uSkDRS ziCgVwT$1lx2xJ%4ZzrV-R0*n9K00%yT|XMgCgf>F$OhgL*mD$=@=ekx1~S3swBGz( z5J=984cjzGh6-ui?kYKi8@~Gua}81SoTX%)#?Qjy%x8ak@OvOpyaXK%CW!O@kK^E zFBUv`Y%@hzTLHSqSX6W=rsXSvQ23lHv_;lyBEdys_io*#uRrfnxZLlHwMS9{CJp3* zSEg<}Wuu4sm!PPXj>fUEo05C>gw44)IUU}YE6j4Ks6owsKo$Fk4`p3>r{yz|H#lc? zl3Hpq?t8`?x7afkkzSj|8_nk%XZ5MC-`~PQCFYU2l2lkqIC+)GN0B*h>JsE*RE+7HOiu7gBH%vm@|yw2sww~9*e^yWp)F- zF-m7<>YYK9lyBW)Bh_(*$d@!gvR*;I$PVldMp4 z4eP*5)$4QZnZZO@x{<4Vtz+~pdu?TO{OGlQ33l^?Wu!0h*L3erwQKv*!e03Gk&$Bi zO?9t2Aju9$st@tKVGN%~H>g6=(DMP48t%QbL=4~Ol+xWVvhJ+aWjOz&-z=-Jdg)S^=1kQK(zAzlk=us!?;)wbj%AH0Tl4psLqod=I$E+a~ zvLe-Fo9s3Gnb3_}#AYhnstn{9NnW&z@LaEPdNpl+b~d>Wj`HB&55QC|PE2=+UTRaB ztWrrgPSM8A)p9s=yqqnMR){YjeX673+Ih1#&t^CeY+fm}o?I#(Bk)?5KADB(F~6v7 zdQWw&?&-B7`*%gL*}{d@+>1Eo9JolEmq!=rGUf(vP0Yu~r!Ef0UmY!4nn%sgld$yB zXg$pv6Hn}sWR0PyEwV)dg|r~4c>zo?o{?WZxKzWUNNc!_87iclbnP5_ksCi;BLq2p z_{c|7v#>LWER(}ES&sGLjF~<)E$pp{miNVHdxkvv>>Hz`CFAIrZ)tX(18R9&$xDxw z)YKFewO3!CG0T)7CKuLDB*qx)v*Ch3uet|v^{^xjgsgKlQFr<7w2>ZbR{hOXc-XNq z-Kp21o&p+Nu#yQ2!x+ChcHnY2ClBkecY_>q2!UFe3TS^Fs=xY;=hcg=59f_HNVEEH zM1Kn15>M$~Y?PzsSmc(p>8jW0w`9>PS*b6Q;Cx>tkCIkR_pS`1SK<-llW8bNqTZI- zqWY&MFrK;LPv$Ip4lC`1(?x6aT0$nW|4wFm0%mPGQ&g?mt1Ve8Vt-Kk*XKXSd@&Fe z-Nop%^Xxf+paREHKUcK>qOZTlNSn^Q|6EyL9SrWz{}LgKp0Xm*cZe()>(F-((tnQD z4H_1f3@;fh_27)fn8e*aRFB#S3Awl+dp+y<*~9LX>VQ|QxV*}hVuHS6Iy(ErwJY#o zwo?^vGXk%7GTCps^Kgp_bl_%}Ygb0O2dUg7t-Tf%Eu$`YA}Mxcrx>4^F4Z{xL@N)5%&Tok=`CXM`8kXNTaWYxd+K>Bm%6 zr|&uX>jbV$tt^QY+PUKB9}KPz{R;mTadUpC5(R#D`eTF~`jsdCQ#+Odd}2qsd*5a; zsR#Gi&!7?SNeC}0jQ^oKj*1fS?sCNHeq}!;A;jmPIyyKI&cviOwkeUy+^vGn_0E;8 zlISK13dXM%>O|FE{xJ&2gu@%)W7&E4 z>jX8UcLN<4JsW&yZu-u2AGfK_T>Pexsx0GxGl-Ui2OU>#N!C)omYc4*=kc|`13bSW z_A*+wUv+I7LvI8AFLHz?Aha@P2X15=`OXdcw!DJxAJpFcZM%&2p-ALMRY6tk4;EUy z116a%er|zAuaa5RGEA3q>qX~@bgGw5@P)-o+ZZ#wcJBFQb?zcJF3H&GJo((EV;p}( zSy`D!3}%s8pJR+gtWepZw~=$bD#=e}bS5y+o84LO@3TNc75f@QF9z`X^QB$JZx~>9 z7e6Ia?Uj|2y_=8TxDc&6{WeMps>qJpEG8`tX8q&U3#^TwB~KoV(-ElrdwC}oKAgs*f`g!|*55 zg3BGLwNUP~2|{dNF>uM{2&$^hRw(r@p%pt61Trix=egiPc)-Xbh4JySDLkRAskxFa zC)j(+>st+mL#km7*_pn=eEk%0yJW81K*qPb^8;sIx}whkOYx)eSXBIVKKC3t_*O-e zPX-;yc`cBI9arrEa0FTjKOT%E@ zspxMXg~s=XwkmJJ4k7Hk46|Eo%WN*(6WVM`{yKjyw^Sg(3WtgZ{FXbo+ z*7`^&=4`;c*5tN;<<|7yKz8qLprTkWp}1w2AcVpF|1EQpkk1wL?MNvUA(vFk+O=iTR*M3>v&AgF-^6?waY%m#&LZFfo?fc>8E;l8c)4F${1wPH05@*hauT|c(M!EP zu;JQ7RN!!>i!67NXXq5hlrCp~;?RTn1DOCi{%98R##wrCc%jl~GLF04xD_U!+nu_R zWs3=|&8>#SBeJD6oLi=D9@br22&Lnpvjnx;UjcqiS_dJaf@(zP=SPNf#cqi1AuXTU zRqpa8NXXRDkEWtB$dRUjfyz)h4)JxUxGSlEm#rWxY3Ye0Gm}`fzI1miNF}9@2dyp> z_3X8|3!&osxwLxR-8rem$$D{$+(bHq)`wqdcDF6R9UB|#+ap(yv@p6#@;vavw&g## zfZF3W+_*s*`ewbC3Z%()NJm zvKvoz7QZ zD`(dZ&h!;RuNMaQQHv0YPzKv2O8ia)*@N9YIyR+SFq)SR)_N6{398*^0we~s` zQ&Ts0=!?Nyq8_isN0V~13moaT^!`y}+TB2$-`ookxBj9ITX)|f6qN_kGJa-SP;%_e zxe6aat0whe@cg|kGQ~vnmhN0DRt+-37mjQE5w9ixAj!o=5*}!5Y+Ybgh_?1jwXY5u zdXx!{qL-M!jMJ}1$OM>2R;NV^`;T40%M|tLznKx2(Y~4Di%JQY7go|$3eIQheft=t zIXIT9hELXZ@&;JW*J<72dP%pfPWm_p23#qg`ZAezNe${bG)8ApV$gKY`fxFEosq1L zcNgq^#+^hZTEuse)!X!ug~3b|t+h|VDDmZX*h=9Rea=cuQP9+|!Tb;gyWQQFJIuKw z&R@QF>~x#^fTHqyC~Eb&L2H6KN8HL@GkERE0`VAkn@^t=JU|OG*zH|jG8t0i_;jncX(K<~7bf7Y7|5Zx)d2#O_`*8@+P`J0V|v`C#Mz$1$pru}vr(4E zio#NAI~tO<$t*b^>Br3-|AqsjKB{3A-Wnb*=Xt$2NDi~&*zauJf478XtUvc8N|UlO zE}2FryYTX{ita9j?lKO(Y)j{A*)pvgb7(Zfs5f&up+y|R1F0MPK#l>j3 zq}S-oddx{eUaze?F5FUaWTtUK>FgRomR!?BFgHfk7lOX zXb)s~;FgHC-bRlBUznpOyw|PVbVC>F=lC1VV>h?&v$Dosp3MIyooQ@@>`pKEn6p&RqDFL;_0GIR*ZZ`8@R@vnKSQ||+6J3M zs>fBr2wI|$5UI~+ie57>VV-(Yqco4l<61$K+zS(#yx#l^*mCtaoDCR>wO^{i2C z9A78OUMy6+(fDM$+NRms$q?g6 z6avSTVUh(Q@9#H&OIP{QkGnrA0Q?mk=fZXof|!QBf}ER!`ZPR=ckuU|`S!%vfjci8?ii#|Rgb zp4IZA&dyFqCL^8M(gEzSN#L0oO_{v;aY?v!#r022ow*aaSy^{tOp*eP@g|lf8}Sq&Iq*eL4iI$ zf`0A;)v1r18aT3OqAz=;ZJk5ah}f|0ivL0yOX15FJ<4x14{Xx$;I;Mx2tJiMZ;U}B z*k|c;9X=`gw0vs02gfvoiejZ?2>R~E+aqDq-CgyS?=D1D)0lRdlE!M7pMis~;XK8M zXV3Dt$ewg*OUA&sg&-Vz)i9ve4*Dz0oq`|`lbh8(esW1edxMV!_~8p$T3SEr@2~Y5 zzHb_$UU~0uT@a@M21l-ZP?#-a)dJj*3PsMV1Ju<2PM|7K1~l%oJaa`gp|{UtVswH7 z9m5hGi&s~PHa0e*lB&u!yEfyOC)Hl*q5Q7?IE;Jz*g2Ncrg#PGNzN~)Xu@EEE))HW zh3k=yBXevj++DCRkSV9IXLosAN{pTLGr0HZ!pm(Nz*18}fyBiws3^JaKKGD1;OR6D z!>z4N-vrrC*J4lfxdd+B@;qmV38nWH0@JGI4=Rl|Je?lQN4@eDoZ?3m;@95pB#HBM zdD+Hzn)v3B$_}V z*SG%8^a}sZ&Hm24|NmuV|3b1mNq$QnGC!rF{MF>d&;OM-Z(WxE2q@rRzUPnN!|U>Y zk6->D-I=MMP+OBxSl1t;`v(&W{`Tl1eisUguVz>O&UpW40Iq|H_>21TKN{zMZ8ZO} zfd31ZfGPIQs66o8=20Ld$)U$OS`#&-HN0>RVBsH-;EQ5tGgo7Z0kF|=zWd^y zY1UJHW`z)HPUgaE5JY>1Dt)?W^(i1B)&n^-RA;Uee`T~`*jR}j2gvC4VE&N0U&n0> z8x|IpaP1;UwYSJ{X~E*B7NYtbRBQsch6==2$JOg;Ha#HnO37|a3*vSxu&8#970CwQ zmgWTo_Bg@BE9!iS;GV}|X~KzsB@m=7{f`p#`Lv!w4BG;a0l@0<NDXt)g=z&y56fZj3fDZRP}2;(J{#7GI*~t-t0oAfwVqdZNe!k5i%FgQ zfd)u=3^PE|dGe-!mx>FoQ9rpd>VYNc+q|obeB?1$>W^!~#YclBt;Tmdh2eXx*9q zUB>$P7P*!{2~4={7pa2Po_+X^BExK}K~e{b&eV&lRvjE-uGloD_}kL;X*}9Jj4p5N zn>~_rBc6{-?~6#7tCYO9lsku<8A`uY?~S>Ccnx5)9!y06$kTO@^NHq{hR;~Mf-hv! z_+Bg-tkX`_e2Ef^qT9iVJ1(NEAkR^lz`%HJnpqaIV&3- z{Plp9eSp)MGs7?egV;#}PzO=Tp3s@E_!*@0i^HBcdM!iK4zt|a=lF})=N}D{y_cGR zL0o#AmQ=7z8hy%P;pJ>fZ(Y%f?+l(R6W3b(c5HZSQ+k`NONuX&;xxH1JDe^Fm(pIz z2ZkLHOY+3oM{J*4m-X&u010Z#cI_z>=+HC1OT>0}vHhoBd*J*4l3ubyh_L~$wez~g z*H)uBEw91@h*}!$^t(T}0Db3`DX@|e^k9~N&$$zS&C4@kc#T0rl%L1Lt_6?FCwZ37 zt5N%kdU{C@sN*Pll^!?nsT6};&0ZcXb5DbLxM@l1fm{|(MG*ng-5qz1w@S8|1S4K7 zDMC?FtJxcemxD4V@RTykM&qCH98K<`E2*4ZhQ})gjRNpKSn67G4@KwnK7%H@xX_D6 z+jgP3AFR^!iMoujL3frl&VbnG5PWp#?R&*A*l(F>0S+WTkHXrKVidjhM!*Lzrx`%h zFR~|-{hM74o&APf;}0OJ*M`(h!p1@Rid&2$VTask$F6Tvr+m0^0U$R5kY6u9zJ$Or zH2Z(DujY7Ewl>NIuh#hxhXUxZ6V)$|sq!azf*;NimQ|~71|$GS=|Mr{x}*jj+%{Zq zt>2Oipj?&LunAFD zn%83`3HM&y=aQNLQOfsC(rnz1tP_J$cBXbkbPR+`dz=Kc=7@TnV6YcdSn$0Vdqy#< z=z)^6hy5q#-VE=akvCOh0qiL-GYd9Fcw&!ejN%p0D-U`b=o`D0E z<>zSas@Jcthl+6={Kn}nm(ygOzvAe}f6Cs#D<51VA!=(U+er0aj8ac60=GEV=_Gt( zW?XLrp;7<^(R7EXTDKnvrXVOBY4|${1{d_x0 zK8odDh+{q&jTX>v2tXuneXtd#N++4<&Ak*4$9OSqT*3fk^j~B^9WcR7(k;#{uNFx+ zq60W{NC`D!^;qX6RoqHv5x3*vk1_H_K+sJ|4Vai-APQ|{t?@LhGVx9v8NXM$0V9k) zd&#(nZ2^Ee@!feneGY(5S-rk>psBx~|H;u{zwg?<$)Vszk9hka{`*ISIY^|0(sEvP zT)u?r>WX+DFa1u;g@FMrxoQE$9!oue;orY`-j8(SqaS{-*0W}-mx zjxV1ehS?UTnYUHt;I)gds)N~IBpoxbWF{#hR%OZ7D9vH7cFQ?I&}+l444v81Wd^2N zzWTL=zuBw97iT}5 z2wcfJwj@SY=2mX+(cayW4kpy(R6q@*SB_0an&|RxrK_cL5nEZ5fl2!Xu8#?x*(`84 zCIb?yy(jwe&0I>*c0dj=8@3HQ?tN7wyoTpDHQ6YO8G+OBYL}5}xEYqZOPfEpL+~KM zCxH#@A|9z;;!`Yr^41QA88N7Ob@L8~3jwno2C3+!N8SZjwW0;3`ZSM)q#I9b*lHNX z;FcLct1)H>YRoy@;;J0x2T?MvP)4>sElBsEked`BRq`WMt8OKElxqR`xRWS7)02_<2xFFqx25Qk$sfl$udB6F8+kHxd*i!Ad=$tZpp4@r8*)qc(-W2wD` zaM(%>u(C?JU|z)r=G6Qia3Kj$1Vx`CbINllt^OOUaS^s2>`REasYoKsKKDkZIBfOx zjmEn6(HCC|X&}SRMe|0mA`w;t63XZs=Rv+1lk?-_E>PwG)Et6WCA%vlHHdq>Ns&Rt zz;;V9d@;4IbaW#q~NS9m#6LQdI@!VR$T&AA!>(aIsvab@Z`Fw|`XkYrY|Ymk8q2L#B|R3?A2 z*b}@-)6JR-PveQ}u15D=+qb!dhUjNKDQV*^MXKRBOxpXaXG`>!rl{c&Q}OU1hrr-9 zV^LO5%RU$tDI61=rwc8?X3vKWbM6$2u(2bQdQ zJE-v9#xy{|uAo9g4R3QDt{~aam!T-Woju1pF7s2r(R64XV3Z$f-|D%r?tB zlzW~Km%m+WrHGp1J70jKYmK$`QG$4}qsFJ$RywnOAi+R0mDWWl(Y?A+8$Ps zNESrnO%imqp4io23ntbuUAwb7K>Fg%O2LSU7mWvBIxlyR&F-pWQc;Nh{x50Bb$0hG z!+xg!*&c5IV=&BV1)cfQOI;bQJ6~&F4S6G>J^WyoAK3$2zg_R{%9J3u;wzSl?gE8f zjj|ki5<(*SCQz^6fY`2$RI8e*bV(CC z7v8D%AX*waA7i3Fs1DS>h0)MU2#~nqt0oe2krdZPkTimv|AgMNZKfH(CzCxnGDJPW z+hYgapZASCh%wH$Dx`?RxC^9F6A{5SC1TCDw>ze;JjY5u;dsG+# z*)kJQR@X&v{Ag!>GS{BNbkw>Wiek*$?-W&QDD&u3RbB^#mvtMT$O0r*_*6=(n0_JY zL7RF&=h*uhP_eV}I9E_aX6mG0RoM(6(Yt8915YGi`}t?q@+*hahAl$9EPuEb_@&1v zF>iMA7eBz9zG}b=C`G1s>-9=N^F(mD3`x;lAk%F01Yj}-hU0r7E;r5!mvm6NHgg>&NJR^x=q zhdcHj^D5L24vbK6!|Tnj0<{Brdu7=yt7!45yKkNy*0Zm`UVQ&u)2!a~G)G+~wGoYM z*f$)o@bGGyS|DFoawwRncVJ)Y&NA07XG--ReD01T29v5O04cp%$VGMpxI`F^+9QX` z8JZ-IvK~z&pV7NOEIOf-Yy5+98Og&o>;ACPlZUkK?05%bd^KY!l2}G>ey+;Uk|8Os@5V)7cUuO5m^Fp?Qq>rjbx-IY429 z{8Bu=c-q-+U5Jgoup95_J)f+FoBv>NE5y-{3~*E^CV0xn1XdRKbSo8TjK?0<0@+0s zx5_mY<>cYdSXX*|;;y6>ifPX3tbQ=4x3RKE8!pez0_o)?pRzFN*(773HuUxj0iTuU z_#|k_)#atbzJr-*cl@&Mi%FPF*K?Os-kf_eg1XN1L~ZML!Eda4^1+Ct$(e&q0lCN! zujk(smn0tvTUAhgsah~MScaeO)nQVQg3fqp^wk4#{O;Vtu->#>#zXOl2pzCqw@B`3 zJvH^L{zcDJo=+R6o`I>PAz1c;$t3JhAnEzf1`g;ZVRaW{s?RsdIA(N7_TKoAfT+jm zwj|x&g$^1v{-Kal>e*Gka^+KVbypl~RUG6%=)Fe;bE!IjvaN58pDlrO%TqQ2Wf~M{ zU_o4*9v_yIV71T+YM2GM`N5!N72vI9MZ65X0Z>Xpl-pQWj67EItQa;a#4kF(P!9ZU z;hUXjWjZ&~f9$zI-SQU$KJS*l5FeBu0x#ZpHrObQfdx2VEzzB_PxE$f-dlAva$=(( z=z4xxuc8)Zx`e2Yns$nZEqvUVj`bswk@mg}4TPACltYq$NuqptIsQu-Ow03W4M1**>oGx1Ns5NMWfL}NspBEY zCqN~yXnpQ8pthmrG^{eHJ9nOd3dYw!POsVh&Fhh)a!{iOOrWtn-#=Oil^)+E$yzj! z=s>Y7_(Zl00wQ5sm-{YXzp^pr2ltBP+zaFpuk$)WwI67wlW=tr3Q9= zzPbf@jcII085MBo0_4rdu4b8h8XvQtpY*PlKSQ{GpSvmRJRrPJ=zr69SyU+Bub25FcjKh;n&LgrL1@nbD%fonJhZ{@?;$E?+A1W?Bu9^~h@oS+_==rZ|o?3@LMR|W-HIxd>e8FpG87C--L zsyE*bkv$jj$-cz7^_+?gvjXRMzpv=ZsA-ZFX--Ui21Z$k_d2X#lw4ui__Us~FR*V8 zTjtp%Upm~5GuCBy8$s!;(bdHO6}z?+9Xf#IN65|uDqq6R)Auvtsg__?y;DxZ+_r*R zcPV1pNF_Kp5h`9*G*-AMQiv&DjcOj>{}Pu7qZsQmRu+C*rKv!jUYNi(5U3ij@9GZ` zTT7BM;XyVRn^GoN_6`pE$A!Xw*t2Jk#SwU0OoJ|8RP&UQsR1o7E>%Bh`xlypH%sGMCnPd?J1 zl|V9Yia6k+8Wa6Kr#xI-@GbKRY{Y-S;5xgGcg>k&>NN=4uPgCmZR`1*p z%`h^AJTyt!1o>&h8=j_H_o<+C_hXPBPk?5Iw>xs^S4AP8GyaY0p_}Pf1Ga+p3GAYT zUA(fm9Mf{c>7dL1ynE!z)If<}IFEMZXwkyr!{O0}Czl}*%R}phVUX7u13vVP zz!!vv?duXvmF1>wvK;$XAFX18p5mi+LPl6Yp(dqW=jBQznOTQ>di z>GGfF;p~9$slRW)0KV&w&1$*&_fhvKT?O2j-~!Or#dVc@-Ivhvg3a|?-~xCk#Tc6ej>nuMX9{fJS-Ga+-(Si z@rrgdC~V(f+o`b^(rnJ$^yg75{1lW`dr9Tcyxh7N&35V+mRj$>`h5-M4t|P|vn%Gd z^H_)S++uMNylZZ`QP}>fn*pmu*yfhi>5ZVa^e-)3uN!FVYiVgo{v%{vWYoCO*hbcz z!rif6_5ZwZ=f(wji0O~|o3}!;j-Tatq^3xJzbnPhz>O%j?Dsa>+Jnp%hI~y1Ke#6@ z^<0MJ?&~Ke(|3hv5I}F1spG^m^QZO|LcPjhDnoicUs8a$$Nlx%|3nHseZkwV^fsXT zt@pw_Z+|L1x)suW(h0NeD(H9$I=nCD_im>`2K%o=T=xb@w=!7kK%str@LyCeu6slCM}Jyky`^ATK+Ny8qm#h$D!ePU z`TMefWbJ&jrdkFmay|;q`@P@oL}!Uh;fwL%ddfwxBCq^&w*_n@Z6g@?J?s9HE*4yT zy!%%$?0FkxbdaRih{di?(FWV(pw2fpn4-$){n^|VR` z?`*5ZpRB?lRlEmUlX26r)j^JJn@mim!DW^bmRG@u!Nmgp(rX6%%mmpM4A9@U+6!Y~ zsQznPUryPOgbE2cyIZ0mTH5ZI$Hfh%HtRMJ;-`hNE|18)pM2eC~I zJ}tHFm-XXAj(nfG9nzq&(0b$S6OoTIR!r4)t;+0$*qfLCa`&}o*%xP@*uGJUF(+^o zvLD(m`2VU{#{>BmUTWQ*KT2J9F^5>t^DBKKz#=iS=@d zknv`Zj^f}(V@F4B#RuW8j6=sgNT<=PR~C=-U!Lt37*GX=eylOikAL*`u8r* zKlK9^J`P&5vs`8zo!oH^?U1VpzcLNF)!-d8co!BDcf4fWcEG5KU++8;QZx|S>;^Gu?^Bi&HOE@q8C@rga1<5i$c33G}D7g4i1oCXkRBll5;y8QyO5qFZt}Gx7hJ@Pzby z0nMY*~)cqzNukOO_#W+F1I-(XFU$9T+xxwov4SH z`hxbp$+3(&S74Yg_I-EaozxM&jRpJtL6!?UrpLlN*z#QMS?pU0ZjjQU8s6gxr9fWa zDibI<7R6k$RhkupXVViMk%QCUQx=G>{k`Bu@>Ym#-EbZV^j6=e2JwArVmWaZ{=v<< zJAH4nTr3dR&^;4M&D0nR!l(fl{5lYdPpb_7ynYr)56Ud%ahpgUdo9CnSoSINM}$CG zx2e0+(pId#u;gENf=B%8ffo)xt!|YXQM83|OVRsKHJTDH+OKrrblnS{? z0ET@}&)f2gaz~VEp0Q2J1NAiuhdk~*zG@_74FXTuW49}IJsBIF*oQh#4IF@NMmL{k zWJ1p6?=&gPdSp_ft8vJgq9nZ$<^(FoI6mL=YNe)E)zv|aCM$EXnwrCD+p8=m3wq}G zaEIC!lau+M#jzPM*%u;@=N8kQXj2Kf4K6WU!3ezn9AigFLQE_KgMAUFo zv>+YbY{B!-&C*z1_sfO)Z0)V5#mtvZ=AH@NY$!G?^JquX2{?1ZbumShyJ@v*U|+x8*(K z-`&eC+dB|r!UHx`oftyp zJ(=+unpodoDYd@eJf!%_o)ZBZ+%A;rrq-66h$FkWFkpjyv*>e7+xz`TK7N!k+eLW) zw}Z;2r#Ul%BvUiKh{b%MzyL?6L8hUAR;guK~I7~6%k`s*1dD(%gU{nsd{`lxy<>tC(YbJmWc&STWf zALi^>hATuLdF^KkPRh+UG0<(z(RR3&RmpWQ-+~r_Xr$P`zNd%{^ph$by(_O9yanEL>{0hUN!kQ?9VGwpbgZ48nL&xs`U?F$gx9`!(nKIwr3D=}XE00@-|qD*D1|`8 zzrQbFC$zkZEU*X^n9tiOmfpc4!>BLJ6LM-##D2BP#as2vL_1#P@oOz|qZBj*%)r_M zYH+3XfQJ88^BKGhz+ynS0)WEoA3%yY6I1v=#QqnJ>Y7~Uni|6<-krOa_X3gK8HKCK zeTKKvaOd>Q(e26x{YO}r92{zGCqPz!{)BpTFY#6%Unf=>c2}Th=#&!JeDpBEKn$g1 zvn!|G7viS$ePX-Jk}VkB>a8(&i}7kvH5;rIy=Vbce#1fW_=%Rh!8G}oYB2_`3~rKX zCH3WHPkJ+aZAtYD0{XwMQT=~A3jT*z9Q^xeXZ>vq|Lai1UxCMe2H<};5Aq)i_^)sI z_|Fpfw;7NB_<;X7!T>mnD}FFM7)ZWhHLLz3tVx-v^hi^hW&oed-fH1$VH6UdiRNw2mQX1vmN422^Xo8y z9fp{S0T%4F)UEz3!^!!YrA(uglfx11==vvj7H3Af(&8m!ZOhT)eF_#h9(#GhIPnyE zur%AginSd!ve*z8R`0938ZhvojOM|~-ZhI_ee8L{*yL8PShy#SnIa;Z z(VDEUA{3(03^+`UqnAacp{~8}Z2;(wl)z@37bG2t1DCNVRMW`MUn0l|>ieAsv_Kn+ z5&Q@w?vJqQM4;J4j|h zj*LgY1DuL+>gwp*!@);wIun(x7~X-=<2?bDyA+-v2C9N<0>yShtj{&8e*AlyqxLPk z{fTXvJuTwHJ4vhe+L0zDorE`uPJ56g?~PMN1jZ^j2lV(d%p}B$&e#WaHqZ5wkyNo2 zj{Z&!2Cy%#(>vB1>wY~}Xn_NgvC3Mdnu={_VqD9%{K65&`gxr3wp5FkeK~V)&r`O6 zd;NB#9g-&mI!WicJ;)#4;ae4bt>3TMnU%!tH>zl1==IKbyf+*@?6SL1QBiS?iK8o4 zrCiLTgOc7Xj~fk74AZ?!N_-lg?kjP_;uHHOGi)D>*Ku7FfUrZ>j*`+;PSnt;sdepY z0L5wcD_tggYV>7rd3qB#HE`drARlKe)PzEMa{alaDspLdOkB(6m=_6-Y(i_2hG@FG zVVP}pj`7v%0@p6nP<5&?=w#J!d*lou31iCtT1nz{<9YhcxYKZ~`y>;gqN)~tr6LLEiI|pK8X1OVOPBWLh&1jOKr-wzKFoyO0&!c zBdN(r$=wnXXwVj4RBoJ-*Nzqy6|q8dl&(=fjM}PP-Q!O%12u15wV=}Xayfo1=9y(s zur?@&E_IDr832{ypvx4r53BL7I6IZKxOZe-sYl>>s>>ve8-Zsc%CsXm$8A>3Hb8Qp z1G945^Vqb+d0=@$f_}j+@FlKpd;~i;rmFf8-=AOZuayU`A$MZPcmj+alxQ^mz`}!6 zx*fheK~y?&B-z1wl|2bpwjCO>9CnJW)WuM$PaqI%LZrBUY!k2YP}(PkYkN_}{8L#y z`6of3I(zRR9lX?`@rjIGrg4gDiVpO4`%l^5Jd$;gp5QGMF2-udHf_G{3-~bW*5X7> zLaK%N%R_{x-UPe0)>cEgo2!_7M3XltNb~V778T93x|=i(YCa|S2>yLxP_ZGVPBdM% z#k%bQjhb~|K;>g)j%sepxSYb}ZE(Z%o5j4F=M%syJx+QKWu3{wGaie24X;cOGr+q5 zR&%b@hx<&l*%w_uv!<|f%?mUj*O4{WWx&Ww91+Cm?7(@Wr16$y2Vh-p?*Z1;-XrB#vpxw6ce%8@N>#pS*)v{H z&bWj=NN7dUDP@kK;nQh@PZHE6)s)>j!6LdKR^L?0 z=tT?pJ{QZ5Cvo|M%F|!MfkDdqN<%$gfJgXo(3H11D)FR;{wU@h{>3|C1-$ZEytSNj zwTw@q&1UII4!;SG~tbn8D7)&ohf(g@#b@dZG4LpH9Vvw zKy#f6coD!v%iAWijNQg*A3#yHSlv*G1J7&E)$HWneA~W!E2!QMhXg|Y(3*2=;^f%a zN%!8{d~U$-W2cIg3sI5c88Xi01VY4{Ktgq#s6_Y+m|hFIFVY?K1nj#ecyF^jYZ?m5wQs52f>dHvma8zFl{kITiSA9VtIAcp6Se+0PElOC diff --git a/tests/visual.spec.ts-snapshots/moving-light-chromium-darwin.png b/tests/visual.spec.ts-snapshots/moving-light-chromium-darwin.png index 67143241ec63d9280ada298820ec7f050eba7878..0b9b2ad4f8544c7ef9ed813b83ac7bff06cde6fa 100644 GIT binary patch literal 21668 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 #vaU4tka`(8q|iyce3nMw({v_saUy z>DDPDLDvL`B8uelvgk?Bu)U~Cx-0_eF*dag1I@}AvcK9aTD0$rb>F)Q;UBCZ5OK$i z{Q`)!o<)L7SpVvGMcta!KNon8(rhES^|^3jksF3Q*Y{y39u7jX|L@<~r=R{IG&x^b zebmpSc^QVN)*b$CuF)T||JatjL-zYWnI!wK^{F();QgoD+&uTHqikOli7YH8};|0|^Y zUm@jR%e1e>%Kr)}|8MR3@qa9&{CEBNANl3)yPEuO2>7jF*?=1Ui3s|CwbcK8E%lj{ ziq|$yX*UecjXjNtF$q4HWwQz59}A#2+pBz#fc#U z)|;ZWbr&3u+>yS_x(dl~!WE%HQ9xr+drJd>D5Qu@y%n5u{YwK$TBKnssM(6| zgfk?!;(;&*2)$+rvJz0%kFBjN*AEtIwp^d!<{i|*arSjPV#haCW_U#DOs6_+fI5e_ z!*wIHJH@~Ai2gZ)Nu}j zil1(kOY!Qss(;F30^x`D{0FUtaC{h+*c-<$SrxaKL)7-w$h%PY&-;$SdL{HfhY zu_$tS*@gCSje*KCO!XTh^ZD~D(1<&DF_DId*Wkg0ZjzYR#>&%)R8NuqqpV!$bZCF# z@j-?U>zkl@H2J~K54OQ;YcX<0qOcIDy86=s#dGiJy`gTfRE_s>s z@p}c(!mkMPxi(XfJ}rm|*3VfhufQ4PdRQ=nYrJ$YWRGn$ukMt}a@YQo*C)}3`)-A`2Uncz zeeEFwD*AV}+Sj+ubGfrwDwx$6LZ)Hr(^-doa6>V?W};Ut72ls_v{xGKe_=TH_3PIU zVs^OJq^Meu>-Cvl(_lNAfkIomW3lQUb7lUuytO)TP}H5N6GFyxOC`BKr{8-9vFHZdTovQ)Z>k0!r_8IJuE6Y8N*)A# zq{W%N=Ex49QaNVr`NGof7An^t?DAm-H_clvl{`|=ZZ@N2S9h92%O7R~rZiqr-Lwn`jz+x6ykU>{p)JXYd*V}yV78R$Ck2g4~Rs1nEni=Dh9t$O%=v5m)OH}i)lD^#s znrz44+_`(Vb(mb}H-5L0jCLk*w*Z0ra}y<@u(d`2j93_*q_adO$(8z#xi`Frd*x5o z%gIsNQMY0q4qWeN8^?^yO!MgTkC&%A*vBhlcx+|sF1I9CQvR^4B!$T{!|I|!rV+{H zlJk$=I<|DK`+XQe2qXvNk6W8f(+bcUSywBFMkP4i&cyisu^gbJPCZ%f7wmEy53CpT z=_N2)%?kXn0Flb_hN0Pc5&KsTGz-qsAsqswE)r9WB zerB#u@W8yrxI#{~`vS4(hLm4XP^;}n0~@^6Nv)lt4P9UCnj%we}^U?a|A&tf5GXeMATWlqx6AB)BxXH9@@ zFODnOJs(~x4`oZVbw5llIrKM-hJ3yc?*eTE#R}*@oRv{_)92j_yLzOW=XJXWzHN-V zV*aO+XgBfb*-sO<+Ap2kF5({u^xTS8Wmn#e+|T=dU<&L2gKIo~Dmm5=gS&lI)ACt< z9=#SlV4jQ1>jY|Jl|Fulb)g=ov#igoz^eQ|N4s^pFmzP(xs;dHC0EqC2D@&gy zmL_Fy`l90YU`}l8QE~5}dZp=1!Dmfn2=&e;k%o}x!-C+pKBJLx53R`NDDnB z`OwFqE7yX721fJ^sw;T{sGus`_a%De+7j!OS?>6&-+F@9@K6$$1;mq9?etnFsx_rT z%v?TS{A$@uhTiw!0CleX}wR_B)5ne~?6I zqdsI2GEtv!C=PflA hfKzVWD7QC5PO9jOgiglZ1ZN-@&l~ Date: Tue, 27 Jan 2026 19:07:31 +0000 Subject: [PATCH 11/18] docs: humanize and polish talk post content --- ...-prompts-to-predictable-user-interfaces.md | 179 +++++++----------- 1 file changed, 72 insertions(+), 107 deletions(-) diff --git a/src/content/talks/from-prompts-to-predictable-user-interfaces.md b/src/content/talks/from-prompts-to-predictable-user-interfaces.md index 3b2ee8f..226b52d 100644 --- a/src/content/talks/from-prompts-to-predictable-user-interfaces.md +++ b/src/content/talks/from-prompts-to-predictable-user-interfaces.md @@ -6,31 +6,31 @@ pubDate: "January 25 2026" You give Claude the same prompt twice. You get two completely different UIs. -This isn't a bug—it's the nature of LLMs. Non-determinism is baked into how these models work. Same input, different output. Every time. For code generation, this creates a predictability problem: you can't trust what you'll get. One run generates clean component code. The next? A completely different structure with different naming, different patterns, maybe even a different framework approach. +That's not a bug—it's just how LLMs work. Non-determinism is baked into the core of these models. Same input, different output. Every single time. When you're generating code, this creates a massive predictability problem: you simply don't know what you're going to get. One run gives you clean, modular components. The next? A spaghetti mess with a totally different framework approach. -If you're building tools that use LLMs to generate UIs, you've probably felt this pain. You craft the perfect prompt. It works beautifully. You demo it. Then you run it again for a customer and it produces something entirely different. Not wrong, necessarily—just different. And different is the enemy of predictability. +If you’ve built anything with LLMs, you’ve felt this. You craft the "perfect" prompt, it works beautifully during your demo, and then you run it for a customer only for it to produce something completely unexpected. It’s not necessarily "wrong," it’s just _different_. And in software, "different" is usually the enemy of reliable. -The solution isn't better prompts. It's constraints. +The fix isn’t writing "better" prompts. It’s adding constraints. -## Constraints Enable Predictability +## Constraints Are a Feature, Not a Bug -Limited choices → predictable outputs. This is true for design systems, code architecture, and—crucially—AI-generated UIs. Instead of letting the LLM choose from infinite possibilities, we give it a small, well-defined set of options. +When you limit choices, you get predictable results. This is the secret sauce for design systems, code architecture, and—most importantly—AI-generated UIs. Instead of letting the LLM wander through infinite possibilities, we give it a small, high-quality map to follow. -I presented three techniques at FE.OPO #9 for building predictable AI UIs: +I recently spoke at FE.OPO #9 about three ways to tame this unpredictability: -1. **Design System Contracts (Figma MCP)**: Extract design truth directly from Figma, generate code + stories -2. **Visual Feedback Loops (agent-browser)**: Generate → Validate → Iterate pattern with natural language feedback -3. **Structured Output (json-render)**: AI → JSON → UI pipeline with component catalog as contract +1. **Figma MCP (Design System Contracts)**: Turning Figma into a machine-readable source of truth. +2. **agent-browser (Visual Feedback Loops)**: A "Generate → Validate → Iterate" cycle that actually sees what it built. +3. **json-render (Structured Output)**: Swapping free-form code for a strict component catalog. -Each adds different constraints to tame LLM unpredictability. Let's dig into how they work. +Let’s break down how they work. -## Technique #1: Figma MCP (Design System as Contract) +## 1. Figma MCP: Design as the Ultimate Contract -**The problem**: Traditional design handoff loses fidelity. +**The frustration**: The "telephone game" of design handoff. -Designer creates mockups → Dev interprets visuals → Implementation drifts from design. Colors slightly off. Spacing inconsistent. Typography mismatched. The gap between "what designer intended" and "what developer built" is where quality dies. +A designer builds a beautiful mockup, a developer interprets those visuals, and somewhere along the way, the implementation starts to drift. Colors are a hex code off. Spacing feels "weird." Typography doesn't quite match. This gap—the distance between intent and implementation—is where UI quality goes to die. -**The solution**: Extract design truth directly from Figma, use it as contract. +**The fix**: Stop interpreting. Start extracting. Figma MCP (Model Context Protocol) lets Claude read Figma files programmatically. Extract components, design tokens, variants—everything. Generate code that matches design exactly. No interpretation gap. @@ -207,42 +207,39 @@ export const PrimaryDisabledMedium: Story = { Storybook becomes living documentation that matches Figma exactly. Designers and developers reference the same truth. -**Key benefits**: +**Why this is a game-changer**: -- Design tokens as single source of truth -- Automated variant generation (no manual mapping) -- Living documentation via Storybook -- No interpretation gap between design and code -- Visual validation via `get_screenshot` (compare Figma to rendered) +- **One source of truth**: Design tokens aren't scattered across Slack messages and CSS files—they live in Figma and sync to code. +- **No more manual mapping**: Stop hand-coding 18 different button variants. Let the machine do the grunt work. +- **Sync by default**: When a designer changes a "Primary Blue," the code updates automatically. No "oops, I forgot to update the hex code" moments. +- **Visual proof**: You can actually compare a screenshot of the code against the original Figma node to ensure they’re identical. -**When to use Figma MCP**: +**When to reach for it**: -- Established design system exists in Figma -- Building component library -- Design-dev collaboration critical -- Need living documentation (Storybook) -- Want design as code workflow +- You already have a solid design system in Figma. +- You’re building a component library from scratch. +- The "gap" between design and dev is causing real friction. -- No design system (yet) -- Designs change too frequently (extraction overhead) -- Rate limits matter (Figma MCP has usage caps) +**When to skip it**: -The constraint here is the design system itself. Figma becomes the contract. Code generation follows Figma truth. Predictability through design authority. +- You don't have a design system yet (don't over-engineer a mess). +- Your designs are changing so fast that the extraction becomes a bottleneck. -## Technique #2: Feedback Loops (Visual Validation) +The real power here is the constraint. By making Figma the "boss," you aren't just guessing—you're following a contract. Predictability doesn't come from luck; it comes from authority. -**The problem**: LLMs can reason about code but can't verify visual output without rendering. +## 2. Visual Feedback Loops: Giving the AI Eyes -They understand CSS concepts ("flexbox centers items," "z-index controls stacking"). They know layout principles ("hero section at top," "footer at bottom"). But they can't predict actual browser rendering. Edge cases, browser quirks, visual bugs—invisible to the model. +**The blind spot**: LLMs are great at reasoning about code, but they’re completely blind to how that code actually _looks_. -You may have experienced this: +An LLM knows that `justify-center` should center an item. It understands that a footer belongs at the bottom. But it has no idea about browser quirks, z-index collisions, or parent container constraints. It’s writing code into a void. -- Prompt: "Center the login form" -- Code looks correct -- Renders off-center due to parent container constraints -- LLM had no way to know +We’ve all seen it: -**The solution**: Generate → Validate → Iterate. +- **Prompt**: "Center the login form." +- **Code**: Looks perfect on paper. +- **Reality**: It’s shoved into the top-left corner because of a CSS reset it didn't see coming. + +**The fix**: A "Generate → Validate → Iterate" loop. Build a feedback loop where the LLM generates code, you (or a tool) validate the rendered output, then feed results back for iteration. The constraint here is forcing validation before considering work "done." @@ -339,38 +336,27 @@ Returns full page snapshot (markdown + accessibility tree) plus base64 PNG scree **When to use agent-browser**: -- Validating layout/positioning -- Checking element visibility -- Testing interaction states (hover, focus) -- Iterating rapidly on visual design -- Context window preservation matters (agentic workflows) +- You need to validate layout, positioning, or basic visibility. +- You’re iterating fast and don't want to wait for heavy images to upload. +- You’re worried about blowing your context window budget. **When to use Playwright MCP**: -- Pixel-perfect comparison needed -- Screenshot documentation required -- Complex multi-step flows -- Full browser automation needed -- Visual regression testing - -The feedback loop workflow: +- You need pixel-perfect comparisons. +- You’re testing a complex, multi-step user flow. +- You need actual screenshots for documentation or regression testing. -1. Generate UI code -2. Render in browser (localhost) -3. Validate with agent-browser or Playwright -4. Read feedback (natural language or screenshot) -5. Identify issues -6. Fix code -7. Re-validate -8. Repeat until validation passes +The workflow is simple: Generate → Render → Validate → Fix. By forcing the AI to "look" at its work before it moves on, you kill off 90% of the visual bugs that usually haunt AI-generated UIs. For agentic workflows where Claude is autonomously iterating on designs, agent-browser preserves context budget for actual code changes instead of bloating it with images. -## Technique #3: json-render (Structured Output Format) +## 3. json-render: UI as Data, Not Just Code + +**The chaos**: Free-form code generation is a wild west. -**The problem**: Free-form code generation leads to inconsistent output. Ask Claude to "build a login form" and you'll get React one time, Vue another, different component structures each run, varying class names, inconsistent patterns. +Ask an LLM to "build a login form" and it might give you React today, Vue tomorrow, and a custom CSS-in-JS solution the day after. Even within the same framework, the naming conventions and component structures will shift every time you hit "Regenerate." -**The solution**: Don't generate code. Generate JSON. +**The fix**: Stop asking for code. Start asking for data. json-render is a library that implements this pattern: AI → JSONL → UI. Instead of asking the LLM to output React/Vue/whatever directly, you teach it to output JSON Lines patches describing the UI structure. A separate renderer applies those patches and maps them to your component library. @@ -505,70 +491,49 @@ export const registry: ComponentRegistry = { }; ``` -**Why this matters**: The LLM can't deviate. It knows exactly 3 components. It knows exactly what props they accept. It knows the exact format for patches. Limited choices → predictable outputs. +**Why this is a win**: The LLM literally _cannot_ deviate. It knows it has exactly three components. It knows exactly what props they take. It has a strict recipe to follow. Limited choices lead to predictable results, every single time. **When to use json-render**: -- You have a predefined component library -- You need streaming UI generation -- Visual complexity is limited (simple cards, forms, lists) -- You want runtime validation of generated output - -- You need full design freedom -- You're generating complex layouts with deep nesting -- Your component library changes frequently - -The catalog becomes your design contract. Change it, regenerate the system prompt, done. Predictability through constraints. +- You have a set component library and want the AI to just "assemble" UIs. +- You want that cool, progressive "streaming" UI effect. +- You need to validate the AI's output at runtime before it hits the user. -## Choosing the Right Tool +**When to skip it**: -These three techniques aren't mutually exclusive—they complement each other: +- You need total design freedom (e.g., custom landing pages). +- Your layout has deep, complex nesting that's hard to represent in a flat list. +- Your component library is constantly in flux. -**Figma MCP**: When design is the source of truth - -- Design system extraction -- Component library generation -- Design-dev handoff automation -- Living documentation - -**agent-browser**: When you need visual validation without bloating context - -- Layout/positioning checks -- Quick iteration cycles -- Agentic workflows (context budget critical) -- Semantic validation sufficient - -**json-render**: When you know component structure upfront +The catalog becomes your design contract. Change it, regenerate the system prompt, done. Predictability through constraints. -- Predefined UI patterns (dashboards, forms, cards) -- Streaming generation from prompts -- Limited visual complexity -- Runtime validation needed +## Which One Should You Use? -**Context budget matters**: For agentic workflows where Claude autonomously iterates, choose tools that preserve context: +These aren't competing tools; they’re different layers of the same stack. -- agent-browser (~1KB) over Playwright screenshots (~50KB) -- json-render patches (~2KB) over full component code (~20KB) -- Figma token extraction (~5KB) over full design files (~100KB+) +- **Figma MCP** is for when your design system is the law. If you need your generated UI to be a 1:1 match with your Figma files, this is your tool. +- **agent-browser** is for when speed and cost matter. It gives the AI "semantic vision" so it can fix its own mistakes without burning through your context window with massive screenshots. +- **json-render** is for when you need absolute consistency. It’s perfect for dashboards or internal tools where you want the AI to assemble pre-approved building blocks rather than inventing new ones. -More context = fewer iterations before hitting limits. Choose wisely. +**Pro-tip: Watch your context budget.** If you’re building agentic workflows where Claude is iterating autonomously, every byte counts. -## Key Takeaways +- **agent-browser** (~1KB) wins over **Playwright screenshots** (~50KB). +- **json-render patches** (~2KB) win over **full code generation** (~20KB). -Same prompt, different outputs—that's LLMs. But constraints enable predictability. +The more "expensive" your feedback is, the fewer chances the AI has to get it right. -**Design contracts (Figma MCP)**: Design system as source of truth. Extract tokens, components, variants. Generate code that matches exactly. No interpretation gap. +## The Bottom Line -**Feedback loops (agent-browser)**: LLMs can't predict visual output. Build validation into workflow. Generate → Validate → Iterate. Context budget matters. +Same prompt, different outputs—that's the nature of LLMs. But constraints change the game. -**Structured output (json-render)**: Limit component choices. Teach exact format. Get consistent results. AI → JSON → UI. +By using **design contracts** (Figma MCP), **feedback loops** (agent-browser), and **structured output** (json-render), you can turn a chaotic generator into a predictable engine. -These aren't silver bullets. Figma MCP has rate limits and extraction overhead. agent-browser's semantic validation can't catch pixel-level issues. json-render's limited component set won't work for complex designs. +These aren't silver bullets. Figma MCP has rate limits. agent-browser won't catch every pixel-perfect glitch. json-render isn't built for infinite design freedom. -But they all share one insight: **guardrails are your best friend with LLMs**. Constrain the problem space. Make choices finite. Build contracts the model can't violate. +But they all share one big truth: **guardrails are your best friend**. When you constrain the problem space and make choices finite, you don't just get better code—you get code you can actually trust. Predictability through constraints. Not despite them. --- -All code from this post available at [ubmit/from-prompts-to-predictable-user-interfaces](https://github.com/ubmit/from-prompts-to-predictable-user-interfaces). Slides, demos, full examples. +All code from this post available at [ubmit/from-prompts-to-predictable-user-interfaces](https://github.com/ubmit/from-prompts-to-predictable-user-interfaces). Slides, demos, and full examples are all there. From 532ad64840ad2ae2866bcf443820403f410cc78c Mon Sep 17 00:00:00 2001 From: Guilherme de Andrade Date: Wed, 28 Jan 2026 17:58:44 +0000 Subject: [PATCH 12/18] chore: ignore .worktrees directory --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index fec31df..ca44c56 100644 --- a/.gitignore +++ b/.gitignore @@ -24,3 +24,4 @@ pnpm-debug.log* playwright-report/ test-results/ tests/visual.spec.ts-snapshots/ +.worktrees/ From f43881b4fe21c768dcbd25d662d321c47d944ab4 Mon Sep 17 00:00:00 2001 From: Guilherme de Andrade Date: Wed, 28 Jan 2026 19:32:22 +0000 Subject: [PATCH 13/18] chore: humanize from prompts to UIs talk --- ...-prompts-to-predictable-user-interfaces.md | 154 +++++++----------- 1 file changed, 63 insertions(+), 91 deletions(-) diff --git a/src/content/talks/from-prompts-to-predictable-user-interfaces.md b/src/content/talks/from-prompts-to-predictable-user-interfaces.md index 226b52d..1bc2dff 100644 --- a/src/content/talks/from-prompts-to-predictable-user-interfaces.md +++ b/src/content/talks/from-prompts-to-predictable-user-interfaces.md @@ -4,37 +4,37 @@ description: "Three techniques for building reliable AI-generated UIs: structure pubDate: "January 25 2026" --- -You give Claude the same prompt twice. You get two completely different UIs. +You give a coding agent the same prompt twice. You get two completely different UIs. -That's not a bug—it's just how LLMs work. Non-determinism is baked into the core of these models. Same input, different output. Every single time. When you're generating code, this creates a massive predictability problem: you simply don't know what you're going to get. One run gives you clean, modular components. The next? A spaghetti mess with a totally different framework approach. +That's not a bug, it's just how LLMs work. Non-determinism is baked into these models. Same input, different output. Every time. When you're generating code, this creates a predictability problem: you don't know what you're going to get. One run gives you clean, modular components. The next? A spaghetti mess with a totally different framework approach. -If you’ve built anything with LLMs, you’ve felt this. You craft the "perfect" prompt, it works beautifully during your demo, and then you run it for a customer only for it to produce something completely unexpected. It’s not necessarily "wrong," it’s just _different_. And in software, "different" is usually the enemy of reliable. +If you've built anything with LLMs, you've felt this. You craft the "perfect" prompt, it works during your demo, then you run it for a customer and it produces something completely different. Not necessarily wrong, just _different_. And in software, different usually means unreliable. -The fix isn’t writing "better" prompts. It’s adding constraints. +The fix isn't writing "better" prompts. It's adding constraints. -## Constraints Are a Feature, Not a Bug +## Constraints are features -When you limit choices, you get predictable results. This is the secret sauce for design systems, code architecture, and—most importantly—AI-generated UIs. Instead of letting the LLM wander through infinite possibilities, we give it a small, high-quality map to follow. +When you limit choices, you get predictable results. This works for design systems, code architecture, and AI-generated UIs. Instead of letting the LLM wander through infinite possibilities, give it a small, well-defined map to follow. -I recently spoke at FE.OPO #9 about three ways to tame this unpredictability: +I spoke at [FE.OPO #9](https://www.youtube.com/live/omoDqK2kWKU?si=zsB14TzXFnZyJfKe&t=429) about three ways to tame this unpredictability: -1. **Figma MCP (Design System Contracts)**: Turning Figma into a machine-readable source of truth. -2. **agent-browser (Visual Feedback Loops)**: A "Generate → Validate → Iterate" cycle that actually sees what it built. -3. **json-render (Structured Output)**: Swapping free-form code for a strict component catalog. +1. **Figma MCP (Design System Contracts)**: Turning Figma into a machine-readable source of truth. +2. **agent-browser (Visual Feedback Loops)**: A "Generate → Validate → Iterate" cycle that actually sees what it built. +3. **json-render (Structured Output)**: Swapping free-form code for a strict component catalog. -Let’s break down how they work. +Let's break down how they work. -## 1. Figma MCP: Design as the Ultimate Contract +## 1. Figma MCP: Design as contract **The frustration**: The "telephone game" of design handoff. -A designer builds a beautiful mockup, a developer interprets those visuals, and somewhere along the way, the implementation starts to drift. Colors are a hex code off. Spacing feels "weird." Typography doesn't quite match. This gap—the distance between intent and implementation—is where UI quality goes to die. +A designer builds a mockup, a developer interprets the visuals, and somewhere the implementation drifts. Colors are a hex code off. Spacing feels wrong. Typography doesn't quite match. This gap between intent and implementation is where UI quality dies. **The fix**: Stop interpreting. Start extracting. -Figma MCP (Model Context Protocol) lets Claude read Figma files programmatically. Extract components, design tokens, variants—everything. Generate code that matches design exactly. No interpretation gap. +Figma MCP (Model Context Protocol) lets an agent read Figma files programmatically. Extract components, design tokens, variants. Generate code that matches design exactly. No interpretation gap. -Here's the workflow: +The workflow: ```mermaid graph TD @@ -205,47 +205,40 @@ export const PrimaryDisabledMedium: Story = { // ...15 more variants ``` -Storybook becomes living documentation that matches Figma exactly. Designers and developers reference the same truth. +Storybook becomes documentation that matches Figma exactly. Designers and developers reference the same source. -**Why this is a game-changer**: +**Why this works**: -- **One source of truth**: Design tokens aren't scattered across Slack messages and CSS files—they live in Figma and sync to code. -- **No more manual mapping**: Stop hand-coding 18 different button variants. Let the machine do the grunt work. -- **Sync by default**: When a designer changes a "Primary Blue," the code updates automatically. No "oops, I forgot to update the hex code" moments. -- **Visual proof**: You can actually compare a screenshot of the code against the original Figma node to ensure they’re identical. +- Design tokens aren't scattered across Slack messages and CSS files. They live in Figma and sync to code. +- Stop hand-coding 18 button variants. Let the machine do the grunt work. +- When a designer changes "Primary Blue," the code updates automatically. +- You can compare a screenshot of the code against the original Figma node to verify they match. -**When to reach for it**: +**When to use it**: You have a solid design system in Figma. You're building a component library. The gap between design and dev is causing friction. -- You already have a solid design system in Figma. -- You’re building a component library from scratch. -- The "gap" between design and dev is causing real friction. +**When to skip it**: You don't have a design system yet. Your designs are changing so fast that extraction becomes a bottleneck. -**When to skip it**: +The power is in the constraint. Figma becomes the boss. You're not guessing, you're following a contract. -- You don't have a design system yet (don't over-engineer a mess). -- Your designs are changing so fast that the extraction becomes a bottleneck. +## 2. Visual feedback loops: Giving the AI eyes -The real power here is the constraint. By making Figma the "boss," you aren't just guessing—you're following a contract. Predictability doesn't come from luck; it comes from authority. +**The blind spot**: LLMs reason about code well, but they're blind to how that code actually _looks_. -## 2. Visual Feedback Loops: Giving the AI Eyes +An LLM knows `justify-center` should center an item. It understands a footer belongs at the bottom. But it has no idea about browser quirks, z-index collisions, or parent container constraints. It's writing code into a void. -**The blind spot**: LLMs are great at reasoning about code, but they’re completely blind to how that code actually _looks_. - -An LLM knows that `justify-center` should center an item. It understands that a footer belongs at the bottom. But it has no idea about browser quirks, z-index collisions, or parent container constraints. It’s writing code into a void. - -We’ve all seen it: +We've all seen it: - **Prompt**: "Center the login form." - **Code**: Looks perfect on paper. -- **Reality**: It’s shoved into the top-left corner because of a CSS reset it didn't see coming. +- **Reality**: Shoved into the top-left corner because of a CSS reset it didn't see coming. **The fix**: A "Generate → Validate → Iterate" loop. -Build a feedback loop where the LLM generates code, you (or a tool) validate the rendered output, then feed results back for iteration. The constraint here is forcing validation before considering work "done." +Build a feedback loop: the LLM generates code, you (or a tool) validate the rendered output, then feed results back for iteration. The constraint is forcing validation before considering work done. Two tools enable this: **agent-browser** (natural language) and **Playwright MCP** (screenshots). Different tradeoffs. -Here's a login form I built for the demo: +A login form I built for the demo: ```typescript // examples/feedback-loop-demo/app/page.tsx @@ -306,12 +299,7 @@ agent-browser returns natural language: Overall: Form displays correctly with good UX ``` -This output: - -- Validates all key elements -- Identifies improvement opportunity -- Uses ~500 bytes vs ~50KB for screenshots -- Enables 100+ iterations within typical context window +This output validates all key elements, identifies an improvement opportunity, and uses ~500 bytes vs ~50KB for screenshots. That means 100+ iterations within a typical context window. Compare to **Playwright MCP**: @@ -324,7 +312,7 @@ mcp__playwright__browser_take_screenshot({ filename: "login-form.png" }); Returns full page snapshot (markdown + accessibility tree) plus base64 PNG screenshot. ~50KB+ added to context window per screenshot. -**Context budget comparison:** +Context budget comparison: | Aspect | agent-browser | Playwright MCP | | --------------- | ------------------- | ------------------------ | @@ -334,37 +322,29 @@ Returns full page snapshot (markdown + accessibility tree) plus base64 PNG scree | Iteration speed | Fast (text-based) | Slower (image-heavy) | | Precision | Semantic validation | Pixel-perfect validation | -**When to use agent-browser**: - -- You need to validate layout, positioning, or basic visibility. -- You’re iterating fast and don't want to wait for heavy images to upload. -- You’re worried about blowing your context window budget. +**When to use agent-browser**: Validating layout, positioning, or basic visibility. Iterating fast. Watching your context window budget. -**When to use Playwright MCP**: +**When to use Playwright MCP**: Pixel-perfect comparisons. Complex multi-step user flows. Screenshots for documentation or regression testing. -- You need pixel-perfect comparisons. -- You’re testing a complex, multi-step user flow. -- You need actual screenshots for documentation or regression testing. +The workflow: Generate → Render → Validate → Fix. Forcing the AI to "look" at its work before moving on kills 90% of visual bugs that haunt AI-generated UIs. -The workflow is simple: Generate → Render → Validate → Fix. By forcing the AI to "look" at its work before it moves on, you kill off 90% of the visual bugs that usually haunt AI-generated UIs. +For agentic workflows where an agent iterates autonomously, agent-browser preserves context budget for code changes instead of bloating it with images. -For agentic workflows where Claude is autonomously iterating on designs, agent-browser preserves context budget for actual code changes instead of bloating it with images. - -## 3. json-render: UI as Data, Not Just Code +## 3. json-render: UI as data **The chaos**: Free-form code generation is a wild west. -Ask an LLM to "build a login form" and it might give you React today, Vue tomorrow, and a custom CSS-in-JS solution the day after. Even within the same framework, the naming conventions and component structures will shift every time you hit "Regenerate." +Even within the same framework, naming conventions and component structures shift every time you hit "Regenerate." -**The fix**: Stop asking for code. Start asking for data. +**The fix**: Stop asking for code. Ask for data. -json-render is a library that implements this pattern: AI → JSONL → UI. Instead of asking the LLM to output React/Vue/whatever directly, you teach it to output JSON Lines patches describing the UI structure. A separate renderer applies those patches and maps them to your component library. +json-render implements this pattern: AI → JSONL → UI. Instead of asking the LLM to output React/Vue/whatever directly, you teach it to output JSON Lines patches describing the UI structure. A separate renderer applies those patches and maps them to your component library. -Here's the architecture: +The architecture: ```mermaid graph TD - A[User prompt] --> B[Claude API with system prompt teaching JSONL format] + A[User prompt] --> B[A LLM API with system prompt teaching JSONL format] B --> C[JSONL patches streamed] C --> D[useUIStream hook parses patches] D --> E[Renderer applies patches to tree] @@ -411,7 +391,7 @@ export const catalog = createCatalog({ This catalog serves two purposes: -1. Generates the system prompt teaching Claude the JSONL format +1. Generates the system prompt teaching the LLM the JSONL format 2. Validates runtime props via `@json-render/core` The system prompt becomes your contract: @@ -462,7 +442,7 @@ Notice the constraints: - Children are string keys, not objects - Specific operations (set, add) -When you prompt "Create a welcome card with a button," Claude generates: +When you prompt "Create a welcome card with a button," the model generates: ```jsonl {"op":"set","path":"/root","value":"welcome-card"} @@ -491,49 +471,41 @@ export const registry: ComponentRegistry = { }; ``` -**Why this is a win**: The LLM literally _cannot_ deviate. It knows it has exactly three components. It knows exactly what props they take. It has a strict recipe to follow. Limited choices lead to predictable results, every single time. - -**When to use json-render**: - -- You have a set component library and want the AI to just "assemble" UIs. -- You want that cool, progressive "streaming" UI effect. -- You need to validate the AI's output at runtime before it hits the user. +**Why this works**: The LLM _cannot_ deviate. It knows it has exactly three components. It knows what props they take. It has a strict recipe to follow. Limited choices, predictable results. -**When to skip it**: +**When to use json-render**: You have a set component library and want the AI to assemble UIs. You want progressive streaming. You need to validate output at runtime before it hits the user. -- You need total design freedom (e.g., custom landing pages). -- Your layout has deep, complex nesting that's hard to represent in a flat list. -- Your component library is constantly in flux. +**When to skip it**: You need total design freedom (custom landing pages). Your layout has deep nesting that's hard to represent flat. Your component library is constantly changing. -The catalog becomes your design contract. Change it, regenerate the system prompt, done. Predictability through constraints. +The catalog is your design contract. Change it, regenerate the system prompt, done. -## Which One Should You Use? +## Which one should you use? -These aren't competing tools; they’re different layers of the same stack. +These aren't competing tools. They're different layers of the same stack. -- **Figma MCP** is for when your design system is the law. If you need your generated UI to be a 1:1 match with your Figma files, this is your tool. -- **agent-browser** is for when speed and cost matter. It gives the AI "semantic vision" so it can fix its own mistakes without burning through your context window with massive screenshots. -- **json-render** is for when you need absolute consistency. It’s perfect for dashboards or internal tools where you want the AI to assemble pre-approved building blocks rather than inventing new ones. +- **Figma MCP**: Your design system is law. You need 1:1 match with Figma files. +- **agent-browser**: Speed and cost matter. The AI gets "semantic vision" to fix its own mistakes without burning context on screenshots. +- **json-render**: You need absolute consistency. Dashboards or internal tools where the AI assembles pre-approved building blocks. -**Pro-tip: Watch your context budget.** If you’re building agentic workflows where Claude is iterating autonomously, every byte counts. +**Watch your context budget.** If the agent is iterating autonomously, every byte counts. -- **agent-browser** (~1KB) wins over **Playwright screenshots** (~50KB). -- **json-render patches** (~2KB) win over **full code generation** (~20KB). +- agent-browser (~1KB) beats Playwright screenshots (~50KB) +- json-render patches (~2KB) beat full code generation (~20KB) -The more "expensive" your feedback is, the fewer chances the AI has to get it right. +The more expensive your feedback, the fewer chances the AI gets to iterate. -## The Bottom Line +## The bottom line -Same prompt, different outputs—that's the nature of LLMs. But constraints change the game. +Same prompt, different outputs. That's how LLMs work. Constraints change the game. -By using **design contracts** (Figma MCP), **feedback loops** (agent-browser), and **structured output** (json-render), you can turn a chaotic generator into a predictable engine. +Design contracts (Figma MCP), feedback loops (agent-browser), and structured output (json-render) turn a chaotic generator into something predictable. These aren't silver bullets. Figma MCP has rate limits. agent-browser won't catch every pixel-perfect glitch. json-render isn't built for infinite design freedom. -But they all share one big truth: **guardrails are your best friend**. When you constrain the problem space and make choices finite, you don't just get better code—you get code you can actually trust. +But guardrails work. When you constrain the problem space and make choices finite, you get code you can trust. Predictability through constraints. Not despite them. --- -All code from this post available at [ubmit/from-prompts-to-predictable-user-interfaces](https://github.com/ubmit/from-prompts-to-predictable-user-interfaces). Slides, demos, and full examples are all there. +All code from this post is available at [ubmit/from-prompts-to-predictable-user-interfaces](https://github.com/ubmit/from-prompts-to-predictable-user-interfaces). Slides, demos, and full examples are all there. From 5968efdd95c9bc0a00f39a55dd0254875fdee85e Mon Sep 17 00:00:00 2001 From: Guilherme de Andrade Date: Wed, 28 Jan 2026 18:00:04 +0000 Subject: [PATCH 14/18] fix: switch to remark-mermaidjs for diagram rendering rehype-mermaid runs after Shiki syntax highlighting, causing Mermaid code blocks to be treated as regular code instead of diagrams. remark-mermaidjs runs earlier in the pipeline (on markdown AST) before Shiki, properly converting diagrams to SVG. --- astro.config.mjs | 4 ++-- package.json | 1 + pnpm-lock.yaml | 26 +++++++++++++++++++++++--- 3 files changed, 26 insertions(+), 5 deletions(-) diff --git a/astro.config.mjs b/astro.config.mjs index ad744ec..5feee74 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -1,7 +1,7 @@ import { defineConfig } from "astro/config"; import mdx from "@astrojs/mdx"; import tailwindcss from "@tailwindcss/vite"; -import rehypeMermaid from "rehype-mermaid"; +import remarkMermaid from "remark-mermaidjs"; import sitemap from "@astrojs/sitemap"; @@ -15,7 +15,7 @@ export default defineConfig({ dark: "catppuccin-mocha", }, }, - rehypePlugins: [[rehypeMermaid, { strategy: "inline-svg", dark: true }]], + remarkPlugins: [[remarkMermaid, { launchOptions: { args: ["--no-sandbox"] } }]], }, vite: { plugins: [tailwindcss()], diff --git a/package.json b/package.json index 3b3fe71..7676633 100644 --- a/package.json +++ b/package.json @@ -27,6 +27,7 @@ "chart.js": "^4.5.1", "clsx": "^2.1.0", "rehype-mermaid": "^3.0.0", + "remark-mermaidjs": "^7.0.0", "tailwind-merge": "^3.4.0", "typescript": "^5.9.3" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 48ef90b..f3e6c69 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -35,12 +35,12 @@ importers: clsx: specifier: ^2.1.0 version: 2.1.1 - mermaid: - specifier: ^11.12.2 - version: 11.12.2 rehype-mermaid: specifier: ^3.0.0 version: 3.0.0(playwright@1.57.0) + remark-mermaidjs: + specifier: ^7.0.0 + version: 7.0.0(playwright@1.57.0) tailwind-merge: specifier: ^3.4.0 version: 3.4.0 @@ -2376,6 +2376,15 @@ packages: remark-mdx@3.1.1: resolution: {integrity: sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg==} + remark-mermaidjs@7.0.0: + resolution: {integrity: sha512-daW4LzAX1q3//SdRsTQ0ELyAXdy0yvJJQ2S0he5ddhZmnt8cyTv3QN536ezMY/OY4a3XGDMz+NU1SOSQ5xcYAA==} + deprecated: Use rehype-mermaid instead + peerDependencies: + playwright: '1' + peerDependenciesMeta: + playwright: + optional: true + remark-parse@11.0.0: resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} @@ -5587,6 +5596,17 @@ snapshots: transitivePeerDependencies: - supports-color + remark-mermaidjs@7.0.0(playwright@1.57.0): + dependencies: + '@types/mdast': 4.0.4 + hast-util-from-html-isomorphic: 2.0.0 + mermaid-isomorphic: 3.0.4(playwright@1.57.0) + unified: 11.0.5 + unist-util-visit-parents: 6.0.2 + vfile: 6.0.3 + optionalDependencies: + playwright: 1.57.0 + remark-parse@11.0.0: dependencies: '@types/mdast': 4.0.4 From 682cf94d47396a3ca5ee874ab5a2bd780f253721 Mon Sep 17 00:00:00 2001 From: Guilherme de Andrade Date: Wed, 28 Jan 2026 18:06:53 +0000 Subject: [PATCH 15/18] feat: add light/dark mode theming and center Mermaid diagrams - Center diagrams using flexbox on parent paragraph - Add light mode colors using gray-200 fills with gray-700 strokes - Add dark mode colors using gray-300 fills with gray-600 strokes - Text uses gray-1200 (light) and gray-1100 (dark) for readability - Diagrams now adapt to system color scheme preference --- src/styles/base.css | 70 +++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 64 insertions(+), 6 deletions(-) diff --git a/src/styles/base.css b/src/styles/base.css index 9f4b420..93f523b 100644 --- a/src/styles/base.css +++ b/src/styles/base.css @@ -64,16 +64,45 @@ font-weight: var(--font-weight-light); } - .prose .mermaid { - margin: var(--spacing-6) 0; + /* Mermaid diagrams */ + .prose p:has(svg[id^="mermaid-"]) { display: flex; justify-content: center; + margin: var(--spacing-8) 0; } - .prose pre.mermaid { - background: transparent; - border: none; - padding: 0; + .prose svg[id^="mermaid-"] { + max-width: 100%; + height: auto; + } + + /* Mermaid light mode (default) - !important needed to override inline SVG styles */ + .prose svg[id^="mermaid-"] .node rect, + .prose svg[id^="mermaid-"] .node circle, + .prose svg[id^="mermaid-"] .node ellipse, + .prose svg[id^="mermaid-"] .node polygon { + fill: var(--color-gray-200) !important; + stroke: var(--color-gray-700) !important; + } + + .prose svg[id^="mermaid-"] .label, + .prose svg[id^="mermaid-"] .label text, + .prose svg[id^="mermaid-"] .nodeLabel, + .prose svg[id^="mermaid-"] .nodeLabel p, + .prose svg[id^="mermaid-"] .edgeLabel { + color: var(--color-gray-1200) !important; + fill: var(--color-gray-1200) !important; + } + + .prose svg[id^="mermaid-"] .edgePath .path, + .prose svg[id^="mermaid-"] .flowchart-link { + stroke: var(--color-gray-800) !important; + } + + .prose svg[id^="mermaid-"] .arrowheadPath, + .prose svg[id^="mermaid-"] .marker { + fill: var(--color-gray-800) !important; + stroke: var(--color-gray-800) !important; } } @@ -124,4 +153,33 @@ html { color: var(--shiki-dark) !important; background-color: var(--shiki-dark-bg) !important; } + + /* Mermaid dark mode */ + .prose svg[id^="mermaid-"] .node rect, + .prose svg[id^="mermaid-"] .node circle, + .prose svg[id^="mermaid-"] .node ellipse, + .prose svg[id^="mermaid-"] .node polygon { + fill: var(--color-gray-300) !important; + stroke: var(--color-gray-700) !important; + } + + .prose svg[id^="mermaid-"] .label, + .prose svg[id^="mermaid-"] .label text, + .prose svg[id^="mermaid-"] .nodeLabel, + .prose svg[id^="mermaid-"] .nodeLabel p, + .prose svg[id^="mermaid-"] .edgeLabel { + color: var(--color-gray-1100) !important; + fill: var(--color-gray-1100) !important; + } + + .prose svg[id^="mermaid-"] .edgePath .path, + .prose svg[id^="mermaid-"] .flowchart-link { + stroke: var(--color-gray-600) !important; + } + + .prose svg[id^="mermaid-"] .arrowheadPath, + .prose svg[id^="mermaid-"] .marker { + fill: var(--color-gray-600) !important; + stroke: var(--color-gray-600) !important; + } } From 0cd0823382d892e672c8e8f40ef035f8be043cd5 Mon Sep 17 00:00:00 2001 From: Guilherme de Andrade Date: Wed, 28 Jan 2026 19:55:49 +0000 Subject: [PATCH 16/18] chore: add final touches --- ...-prompts-to-predictable-user-interfaces.md | 97 +++++++++++++++---- 1 file changed, 77 insertions(+), 20 deletions(-) diff --git a/src/content/talks/from-prompts-to-predictable-user-interfaces.md b/src/content/talks/from-prompts-to-predictable-user-interfaces.md index 1bc2dff..18a5005 100644 --- a/src/content/talks/from-prompts-to-predictable-user-interfaces.md +++ b/src/content/talks/from-prompts-to-predictable-user-interfaces.md @@ -1,7 +1,7 @@ --- title: "From Prompts to Predictable User Interfaces" description: "Three techniques for building reliable AI-generated UIs: structured output formats, feedback loops, and design system contracts." -pubDate: "January 25 2026" +pubDate: "January 22 2026" --- You give a coding agent the same prompt twice. You get two completely different UIs. @@ -42,7 +42,7 @@ graph TD A --> C[get_variable_defs extract design tokens] B --> D[Component Code + Design Tokens] C --> D - D --> E[React components with Base UI + Tailwind] + D --> E[React components with Base UI + Tailwind CSS] E --> F[Storybook stories one per variant] ``` @@ -53,6 +53,9 @@ graph TD mcp__figma__get_variable_defs(fileKey, nodeId); // Generates tokens.ts: + +// Design tokens extracted from Figma Simple Design System +// https://www.figma.com/design/dHqyIhebbTxZSzOun8aAaA/Simple-Design-System--Community- export const tokens = { color: { text: { @@ -94,6 +97,46 @@ export const tokens = { } as const; ``` +If you are using Tailwind CSS you could easily ask your coding agent to convert this file to Tailwind's V4 CSS configuration: + +```css +/* don't worry about the variable names */ +/* they are bad, but that's just an example */ +@import "tailwindcss"; + +@theme { + /* Colors - Text */ + --color-brand-on-brand: #f5f5f5; + --color-default: #1e1e1e; + --color-subtle: #666666; + --color-disabled: #a3a3a3; + + /* Colors - Background */ + --color-bg-brand: #2c2c2c; + --color-bg-brand-hover: #1e1e1e; + --color-bg-neutral: #e3e3e3; + --color-bg-neutral-hover: #cdcdcd; + --color-bg-subtle-hover: #f5f5f5; + --color-bg-disabled: #e5e5e5; + + /* Colors - Border */ + --color-border-primary: #2c2c2c; + --color-border-neutral: #767676; + --color-border-subtle: #d9d9d9; + --color-border-disabled: #b3b3b3; + + /* Typography */ + --font-body: "Inter", sans-serif; + + /* Border Radius */ + --radius-md: 8px; + + /* Spacing */ + --spacing-sm: 8px; + --spacing-md: 12px; +} +``` + These become your single source of truth. Change Figma variable, re-extract, update tokens.ts. Design stays in sync with code. **Step 2: Extract component structure** @@ -101,17 +144,19 @@ These become your single source of truth. Change Figma variable, re-extract, upd ```typescript // Extract Button component mcp__figma__get_design_context(fileKey, buttonNodeId); - -// Returns React component code with Tailwind ``` -For a Button component with 18 variants (3 visual styles × 3 states × 2 sizes), Figma MCP extracts all of them. You map to accessible primitives: - -```typescript -// examples/design-system-demo/src/components/button.tsx +```tsx +// Returns React component code with Base UI + Tailwind CSS: +import * as React from "react"; import { Button as BaseButton } from "@base-ui/react/button"; import { cva, type VariantProps } from "class-variance-authority"; +export interface ButtonProps + extends + Omit, "disabled">, + VariantProps {} + const buttonVariants = cva( "inline-flex items-center justify-center gap-2 border font-body font-normal leading-none rounded-md transition-colors", { @@ -155,7 +200,14 @@ const buttonVariants = cva( }, ); -export function Button({ className, variant, size, children, disabled, ...props }: ButtonProps) { +export function Button({ + className, + variant, + size, + children, + disabled, + ...props +}: ButtonProps) { return (

-
-

+
+

Welcome back

-

+

Sign in to your account to continue

-
{/* password, checkbox, button... */} @@ -344,11 +401,11 @@ The architecture: ```mermaid graph TD - A[User prompt] --> B[A LLM API with system prompt teaching JSONL format] + A[User prompt] --> B[LLM receives system prompt teaching JSONL format] B --> C[JSONL patches streamed] C --> D[useUIStream hook parses patches] D --> E[Renderer applies patches to tree] - E --> F[Component registry maps types → React components] + E --> F[Component registry maps types to React components] ``` The key constraint is the **component catalog**. You define available components upfront with Zod schemas: @@ -453,12 +510,12 @@ When you prompt "Create a welcome card with a button," the model generates: These patches stream to the frontend. The `useUIStream` hook parses them. The `Renderer` component applies them to a tree structure. Finally, the component registry maps types to React implementations: -```typescript +```tsx export const registry: ComponentRegistry = { Card: ({ element, children }) => ( -
+
-

{element.props.title}

+

{element.props.title}

{element.props.description && (

{element.props.description}

)} From 6e7166f8d79e144c8d051e161375dd4a1293b895 Mon Sep 17 00:00:00 2001 From: Guilherme de Andrade Date: Wed, 28 Jan 2026 20:02:24 +0000 Subject: [PATCH 17/18] chore: trigger CI From a740f6a4aeb982acedabe94b19132ae0a13c9fa2 Mon Sep 17 00:00:00 2001 From: Guilherme de Andrade Date: Thu, 29 Jan 2026 01:11:26 +0000 Subject: [PATCH 18/18] fix: remove mermaid diagrams --- astro.config.mjs | 4 +- package-lock.json | 9472 ----------------- package.json | 2 - pnpm-lock.yaml | 984 -- ...-prompts-to-predictable-user-interfaces.md | 23 - src/styles/base.css | 41 - 6 files changed, 1 insertion(+), 10525 deletions(-) delete mode 100644 package-lock.json diff --git a/astro.config.mjs b/astro.config.mjs index 5feee74..b18a1d9 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -1,7 +1,6 @@ import { defineConfig } from "astro/config"; import mdx from "@astrojs/mdx"; import tailwindcss from "@tailwindcss/vite"; -import remarkMermaid from "remark-mermaidjs"; import sitemap from "@astrojs/sitemap"; @@ -15,7 +14,6 @@ export default defineConfig({ dark: "catppuccin-mocha", }, }, - remarkPlugins: [[remarkMermaid, { launchOptions: { args: ["--no-sandbox"] } }]], }, vite: { plugins: [tailwindcss()], @@ -40,4 +38,4 @@ export default defineConfig({ "/use-an-object-instead-of-a-switch/": "/writing/use-an-object-instead-of-a-switch/", }, -}); \ No newline at end of file +}); diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 305bad4..0000000 --- a/package-lock.json +++ /dev/null @@ -1,9472 +0,0 @@ -{ - "name": "ubmit-dev", - "version": "0.0.1", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "ubmit-dev", - "version": "0.0.1", - "dependencies": { - "@astrojs/check": "^0.9.6", - "@astrojs/mdx": "^4.3.13", - "@astrojs/rss": "^4.0.15", - "@astrojs/sitemap": "^3.7.0", - "@fontsource/work-sans": "^5.0.18", - "@radix-ui/colors": "^3.0.0", - "astro": "^5.16.14", - "chart.js": "^4.5.1", - "clsx": "^2.1.0", - "mermaid": "^11.12.2", - "rehype-mermaid": "^3.0.0", - "tailwind-merge": "^3.4.0", - "typescript": "^5.9.3" - }, - "devDependencies": { - "@myriaddreamin/typst-ts-node-compiler": "0.7.0-rc2", - "@playwright/test": "^1.57.0", - "@tailwindcss/typography": "^0.5.19", - "@tailwindcss/vite": "^4.1.18", - "prettier": "^3.8.1", - "prettier-plugin-astro": "^0.14.1", - "prettier-plugin-tailwindcss": "^0.7.2", - "tailwindcss": "^4.1.18" - } - }, - "node_modules/@antfu/install-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@antfu/install-pkg/-/install-pkg-1.1.0.tgz", - "integrity": "sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==", - "license": "MIT", - "dependencies": { - "package-manager-detector": "^1.3.0", - "tinyexec": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/@astrojs/check": { - "version": "0.9.6", - "resolved": "https://registry.npmjs.org/@astrojs/check/-/check-0.9.6.tgz", - "integrity": "sha512-jlaEu5SxvSgmfGIFfNgcn5/f+29H61NJzEMfAZ82Xopr4XBchXB1GVlcJsE+elUlsYSbXlptZLX+JMG3b/wZEA==", - "license": "MIT", - "dependencies": { - "@astrojs/language-server": "^2.16.1", - "chokidar": "^4.0.1", - "kleur": "^4.1.5", - "yargs": "^17.7.2" - }, - "bin": { - "astro-check": "bin/astro-check.js" - }, - "peerDependencies": { - "typescript": "^5.0.0" - } - }, - "node_modules/@astrojs/compiler": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-2.13.0.tgz", - "integrity": "sha512-mqVORhUJViA28fwHYaWmsXSzLO9osbdZ5ImUfxBarqsYdMlPbqAqGJCxsNzvppp1BEzc1mJNjOVvQqeDN8Vspw==", - "license": "MIT" - }, - "node_modules/@astrojs/internal-helpers": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/@astrojs/internal-helpers/-/internal-helpers-0.7.5.tgz", - "integrity": "sha512-vreGnYSSKhAjFJCWAwe/CNhONvoc5lokxtRoZims+0wa3KbHBdPHSSthJsKxPd8d/aic6lWKpRTYGY/hsgK6EA==", - "license": "MIT" - }, - "node_modules/@astrojs/language-server": { - "version": "2.16.2", - "resolved": "https://registry.npmjs.org/@astrojs/language-server/-/language-server-2.16.2.tgz", - "integrity": "sha512-J3hVx/mFi3FwEzKf8ExYXQNERogD6RXswtbU+TyrxoXRBiQoBO5ooo7/lRWJ+rlUKUd7+rziMPI9jYB7TRlh0w==", - "license": "MIT", - "dependencies": { - "@astrojs/compiler": "^2.10.3", - "@astrojs/yaml2ts": "^0.2.2", - "@jridgewell/sourcemap-codec": "^1.4.15", - "@volar/kit": "~2.4.23", - "@volar/language-core": "~2.4.23", - "@volar/language-server": "~2.4.23", - "@volar/language-service": "~2.4.23", - "fast-glob": "^3.2.12", - "muggle-string": "^0.4.1", - "volar-service-css": "0.0.67", - "volar-service-emmet": "0.0.67", - "volar-service-html": "0.0.67", - "volar-service-prettier": "0.0.67", - "volar-service-typescript": "0.0.67", - "volar-service-typescript-twoslash-queries": "0.0.67", - "volar-service-yaml": "0.0.67", - "vscode-html-languageservice": "^5.5.2", - "vscode-uri": "^3.1.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-remark": { - "version": "6.3.10", - "resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-6.3.10.tgz", - "integrity": "sha512-kk4HeYR6AcnzC4QV8iSlOfh+N8TZ3MEStxPyenyCtemqn8IpEATBFMTJcfrNW32dgpt6MY3oCkMM/Tv3/I4G3A==", - "license": "MIT", - "dependencies": { - "@astrojs/internal-helpers": "0.7.5", - "@astrojs/prism": "3.3.0", - "github-slugger": "^2.0.0", - "hast-util-from-html": "^2.0.3", - "hast-util-to-text": "^4.0.2", - "import-meta-resolve": "^4.2.0", - "js-yaml": "^4.1.1", - "mdast-util-definitions": "^6.0.0", - "rehype-raw": "^7.0.0", - "rehype-stringify": "^10.0.1", - "remark-gfm": "^4.0.1", - "remark-parse": "^11.0.0", - "remark-rehype": "^11.1.2", - "remark-smartypants": "^3.0.2", - "shiki": "^3.19.0", - "smol-toml": "^1.5.2", - "unified": "^11.0.5", - "unist-util-remove-position": "^5.0.0", - "unist-util-visit": "^5.0.0", - "unist-util-visit-parents": "^6.0.2", - "vfile": "^6.0.3" - } - }, - "node_modules/@astrojs/mdx": { - "version": "4.3.13", - "resolved": "https://registry.npmjs.org/@astrojs/mdx/-/mdx-4.3.13.tgz", - "integrity": "sha512-IHDHVKz0JfKBy3//52JSiyWv089b7GVSChIXLrlUOoTLWowG3wr2/8hkaEgEyd/vysvNQvGk+QhysXpJW5ve6Q==", - "license": "MIT", - "dependencies": { - "@astrojs/markdown-remark": "6.3.10", - "@mdx-js/mdx": "^3.1.1", - "acorn": "^8.15.0", - "es-module-lexer": "^1.7.0", - "estree-util-visit": "^2.0.0", - "hast-util-to-html": "^9.0.5", - "piccolore": "^0.1.3", - "rehype-raw": "^7.0.0", - "remark-gfm": "^4.0.1", - "remark-smartypants": "^3.0.2", - "source-map": "^0.7.6", - "unist-util-visit": "^5.0.0", - "vfile": "^6.0.3" - }, - "engines": { - "node": "18.20.8 || ^20.3.0 || >=22.0.0" - }, - "peerDependencies": { - "astro": "^5.0.0" - } - }, - "node_modules/@astrojs/prism": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@astrojs/prism/-/prism-3.3.0.tgz", - "integrity": "sha512-q8VwfU/fDZNoDOf+r7jUnMC2//H2l0TuQ6FkGJL8vD8nw/q5KiL3DS1KKBI3QhI9UQhpJ5dc7AtqfbXWuOgLCQ==", - "license": "MIT", - "dependencies": { - "prismjs": "^1.30.0" - }, - "engines": { - "node": "18.20.8 || ^20.3.0 || >=22.0.0" - } - }, - "node_modules/@astrojs/rss": { - "version": "4.0.15", - "resolved": "https://registry.npmjs.org/@astrojs/rss/-/rss-4.0.15.tgz", - "integrity": "sha512-uXO/k6AhRkIDXmRoc6xQpoPZrimQNUmS43X4+60yunfuMNHtSRN5e/FiSi7NApcZqmugSMc5+cJi8ovqgO+qIg==", - "license": "MIT", - "dependencies": { - "fast-xml-parser": "^5.3.3", - "piccolore": "^0.1.3" - } - }, - "node_modules/@astrojs/sitemap": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/@astrojs/sitemap/-/sitemap-3.7.0.tgz", - "integrity": "sha512-+qxjUrz6Jcgh+D5VE1gKUJTA3pSthuPHe6Ao5JCxok794Lewx8hBFaWHtOnN0ntb2lfOf7gvOi9TefUswQ/ZVA==", - "license": "MIT", - "dependencies": { - "sitemap": "^8.0.2", - "stream-replace-string": "^2.0.0", - "zod": "^3.25.76" - } - }, - "node_modules/@astrojs/telemetry": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-3.3.0.tgz", - "integrity": "sha512-UFBgfeldP06qu6khs/yY+q1cDAaArM2/7AEIqQ9Cuvf7B1hNLq0xDrZkct+QoIGyjq56y8IaE2I3CTvG99mlhQ==", - "license": "MIT", - "dependencies": { - "ci-info": "^4.2.0", - "debug": "^4.4.0", - "dlv": "^1.1.3", - "dset": "^3.1.4", - "is-docker": "^3.0.0", - "is-wsl": "^3.1.0", - "which-pm-runs": "^1.1.0" - }, - "engines": { - "node": "18.20.8 || ^20.3.0 || >=22.0.0" - } - }, - "node_modules/@astrojs/yaml2ts": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/@astrojs/yaml2ts/-/yaml2ts-0.2.2.tgz", - "integrity": "sha512-GOfvSr5Nqy2z5XiwqTouBBpy5FyI6DEe+/g/Mk5am9SjILN1S5fOEvYK0GuWHg98yS/dobP4m8qyqw/URW35fQ==", - "license": "MIT", - "dependencies": { - "@babel/highlight": "^7.24.2", - "picocolors": "^1.0.0", - "yaml": "^2.5.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", - "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", - "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.25.9.tgz", - "integrity": "sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw==", - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.25.9", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "license": "MIT", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "license": "MIT", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "license": "MIT" - }, - "node_modules/@babel/highlight/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz", - "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.28.5" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/types": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz", - "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==", - "license": "MIT", - "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@braintree/sanitize-url": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-7.1.1.tgz", - "integrity": "sha512-i1L7noDNxtFyL5DmZafWy1wRVhGehQmzZaz1HiN5e7iylJMSZR7ekOV7NsIqa5qBldlLrsKv4HbgFUVlQrz8Mw==", - "license": "MIT" - }, - "node_modules/@capsizecss/unpack": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@capsizecss/unpack/-/unpack-4.0.0.tgz", - "integrity": "sha512-VERIM64vtTP1C4mxQ5thVT9fK0apjPFobqybMtA1UdUujWka24ERHbRHFGmpbbhp73MhV+KSsHQH9C6uOTdEQA==", - "license": "MIT", - "dependencies": { - "fontkitten": "^1.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@chevrotain/cst-dts-gen": { - "version": "11.0.3", - "resolved": "https://registry.npmjs.org/@chevrotain/cst-dts-gen/-/cst-dts-gen-11.0.3.tgz", - "integrity": "sha512-BvIKpRLeS/8UbfxXxgC33xOumsacaeCKAjAeLyOn7Pcp95HiRbrpl14S+9vaZLolnbssPIUuiUd8IvgkRyt6NQ==", - "license": "Apache-2.0", - "dependencies": { - "@chevrotain/gast": "11.0.3", - "@chevrotain/types": "11.0.3", - "lodash-es": "4.17.21" - } - }, - "node_modules/@chevrotain/cst-dts-gen/node_modules/lodash-es": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", - "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", - "license": "MIT" - }, - "node_modules/@chevrotain/gast": { - "version": "11.0.3", - "resolved": "https://registry.npmjs.org/@chevrotain/gast/-/gast-11.0.3.tgz", - "integrity": "sha512-+qNfcoNk70PyS/uxmj3li5NiECO+2YKZZQMbmjTqRI3Qchu8Hig/Q9vgkHpI3alNjr7M+a2St5pw5w5F6NL5/Q==", - "license": "Apache-2.0", - "dependencies": { - "@chevrotain/types": "11.0.3", - "lodash-es": "4.17.21" - } - }, - "node_modules/@chevrotain/gast/node_modules/lodash-es": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", - "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", - "license": "MIT" - }, - "node_modules/@chevrotain/regexp-to-ast": { - "version": "11.0.3", - "resolved": "https://registry.npmjs.org/@chevrotain/regexp-to-ast/-/regexp-to-ast-11.0.3.tgz", - "integrity": "sha512-1fMHaBZxLFvWI067AVbGJav1eRY7N8DDvYCTwGBiE/ytKBgP8azTdgyrKyWZ9Mfh09eHWb5PgTSO8wi7U824RA==", - "license": "Apache-2.0" - }, - "node_modules/@chevrotain/types": { - "version": "11.0.3", - "resolved": "https://registry.npmjs.org/@chevrotain/types/-/types-11.0.3.tgz", - "integrity": "sha512-gsiM3G8b58kZC2HaWR50gu6Y1440cHiJ+i3JUvcp/35JchYejb2+5MVeJK0iKThYpAa/P2PYFV4hoi44HD+aHQ==", - "license": "Apache-2.0" - }, - "node_modules/@chevrotain/utils": { - "version": "11.0.3", - "resolved": "https://registry.npmjs.org/@chevrotain/utils/-/utils-11.0.3.tgz", - "integrity": "sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ==", - "license": "Apache-2.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==", - "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==", - "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==", - "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==", - "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==", - "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==", - "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==", - "license": "MIT" - }, - "node_modules/@emnapi/runtime": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.7.1.tgz", - "integrity": "sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==", - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", - "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", - "cpu": [ - "ppc64" - ], - "license": "MIT", - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", - "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", - "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", - "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", - "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", - "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", - "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", - "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", - "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", - "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", - "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", - "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", - "cpu": [ - "loong64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", - "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", - "cpu": [ - "mips64el" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", - "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", - "cpu": [ - "ppc64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", - "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", - "cpu": [ - "riscv64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", - "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", - "cpu": [ - "s390x" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", - "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", - "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", - "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", - "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", - "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openharmony-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", - "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", - "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", - "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", - "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", - "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@fontsource/work-sans": { - "version": "5.2.8", - "resolved": "https://registry.npmjs.org/@fontsource/work-sans/-/work-sans-5.2.8.tgz", - "integrity": "sha512-6LaHjVVgts+rnrcqvEkP2+iUB/jw1oDSYsGO0+TltAhnWki9Hnf/UGpgMQh2jcm0GEH8VqCPnq4PpmHLFzxXtQ==", - "license": "OFL-1.1", - "funding": { - "url": "https://github.com/sponsors/ayuhito" - } - }, - "node_modules/@fortawesome/fontawesome-free": { - "version": "6.7.2", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.7.2.tgz", - "integrity": "sha512-JUOtgFW6k9u4Y+xeIaEiLr3+cjoUPiAuLXoyKOJSia6Duzb7pq+A76P9ZdPDoAoxHdHzq6gE9/jKBGXlZT8FbA==", - "license": "(CC-BY-4.0 AND OFL-1.1 AND MIT)", - "engines": { - "node": ">=6" - } - }, - "node_modules/@iconify/types": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@iconify/types/-/types-2.0.0.tgz", - "integrity": "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==", - "license": "MIT" - }, - "node_modules/@iconify/utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@iconify/utils/-/utils-3.1.0.tgz", - "integrity": "sha512-Zlzem1ZXhI1iHeeERabLNzBHdOa4VhQbqAcOQaMKuTuyZCpwKbC2R4Dd0Zo3g9EAc+Y4fiarO8HIHRAth7+skw==", - "license": "MIT", - "dependencies": { - "@antfu/install-pkg": "^1.1.0", - "@iconify/types": "^2.0.0", - "mlly": "^1.8.0" - } - }, - "node_modules/@img/colour": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.0.0.tgz", - "integrity": "sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=18" - } - }, - "node_modules/@img/sharp-darwin-arm64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz", - "integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-darwin-arm64": "1.2.4" - } - }, - "node_modules/@img/sharp-darwin-x64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz", - "integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-darwin-x64": "1.2.4" - } - }, - "node_modules/@img/sharp-libvips-darwin-arm64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz", - "integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==", - "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.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz", - "integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==", - "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.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz", - "integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==", - "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.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz", - "integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==", - "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.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz", - "integrity": "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==", - "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.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz", - "integrity": "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==", - "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.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.4.tgz", - "integrity": "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==", - "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.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz", - "integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==", - "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.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz", - "integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==", - "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.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz", - "integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==", - "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.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz", - "integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==", - "cpu": [ - "arm" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-arm": "1.2.4" - } - }, - "node_modules/@img/sharp-linux-arm64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz", - "integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-arm64": "1.2.4" - } - }, - "node_modules/@img/sharp-linux-ppc64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz", - "integrity": "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==", - "cpu": [ - "ppc64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-ppc64": "1.2.4" - } - }, - "node_modules/@img/sharp-linux-riscv64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz", - "integrity": "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==", - "cpu": [ - "riscv64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-riscv64": "1.2.4" - } - }, - "node_modules/@img/sharp-linux-s390x": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.5.tgz", - "integrity": "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==", - "cpu": [ - "s390x" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-s390x": "1.2.4" - } - }, - "node_modules/@img/sharp-linux-x64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz", - "integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-x64": "1.2.4" - } - }, - "node_modules/@img/sharp-linuxmusl-arm64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz", - "integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linuxmusl-arm64": "1.2.4" - } - }, - "node_modules/@img/sharp-linuxmusl-x64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz", - "integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linuxmusl-x64": "1.2.4" - } - }, - "node_modules/@img/sharp-wasm32": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.5.tgz", - "integrity": "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==", - "cpu": [ - "wasm32" - ], - "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", - "optional": true, - "dependencies": { - "@emnapi/runtime": "^1.7.0" - }, - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-win32-arm64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz", - "integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0 AND LGPL-3.0-or-later", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-win32-ia32": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.5.tgz", - "integrity": "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==", - "cpu": [ - "ia32" - ], - "license": "Apache-2.0 AND LGPL-3.0-or-later", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-win32-x64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz", - "integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0 AND LGPL-3.0-or-later", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.13", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", - "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "node_modules/@jridgewell/remapping": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", - "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", - "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.31", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", - "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@kurkle/color": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.4.tgz", - "integrity": "sha512-M5UknZPHRu3DEDWoipU6sE8PdkZ6Z/S+v4dD+Ke8IaNlpdSQah50lz1KtcFBa2vsdOnwbbnxJwVM4wty6udA5w==", - "license": "MIT" - }, - "node_modules/@mdx-js/mdx": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.1.1.tgz", - "integrity": "sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdx": "^2.0.0", - "acorn": "^8.0.0", - "collapse-white-space": "^2.0.0", - "devlop": "^1.0.0", - "estree-util-is-identifier-name": "^3.0.0", - "estree-util-scope": "^1.0.0", - "estree-walker": "^3.0.0", - "hast-util-to-jsx-runtime": "^2.0.0", - "markdown-extensions": "^2.0.0", - "recma-build-jsx": "^1.0.0", - "recma-jsx": "^1.0.0", - "recma-stringify": "^1.0.0", - "rehype-recma": "^1.0.0", - "remark-mdx": "^3.0.0", - "remark-parse": "^11.0.0", - "remark-rehype": "^11.0.0", - "source-map": "^0.7.0", - "unified": "^11.0.0", - "unist-util-position-from-estree": "^2.0.0", - "unist-util-stringify-position": "^4.0.0", - "unist-util-visit": "^5.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/@mermaid-js/parser": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/@mermaid-js/parser/-/parser-0.6.3.tgz", - "integrity": "sha512-lnjOhe7zyHjc+If7yT4zoedx2vo4sHaTmtkl1+or8BRTnCtDmcTpAjpzDSfCZrshM5bCoz0GyidzadJAH1xobA==", - "license": "MIT", - "dependencies": { - "langium": "3.3.1" - } - }, - "node_modules/@myriaddreamin/typst-ts-node-compiler": { - "version": "0.7.0-rc2", - "resolved": "https://registry.npmjs.org/@myriaddreamin/typst-ts-node-compiler/-/typst-ts-node-compiler-0.7.0-rc2.tgz", - "integrity": "sha512-a4Vicil6Tu0S87C3+J2EMtFDdQEmT18zYAW6Srmt32lgjrTq3HLy+WN0lA/bgaBgw2wNEkXdogz3yRg49vXs8w==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">= 10" - }, - "optionalDependencies": { - "@myriaddreamin/typst-ts-node-compiler-android-arm-eabi": "0.7.0-rc2", - "@myriaddreamin/typst-ts-node-compiler-android-arm64": "0.7.0-rc2", - "@myriaddreamin/typst-ts-node-compiler-darwin-arm64": "0.7.0-rc2", - "@myriaddreamin/typst-ts-node-compiler-darwin-x64": "0.7.0-rc2", - "@myriaddreamin/typst-ts-node-compiler-linux-arm-gnueabihf": "0.7.0-rc2", - "@myriaddreamin/typst-ts-node-compiler-linux-arm64-gnu": "0.7.0-rc2", - "@myriaddreamin/typst-ts-node-compiler-linux-arm64-musl": "0.7.0-rc2", - "@myriaddreamin/typst-ts-node-compiler-linux-x64-gnu": "0.7.0-rc2", - "@myriaddreamin/typst-ts-node-compiler-linux-x64-musl": "0.7.0-rc2", - "@myriaddreamin/typst-ts-node-compiler-win32-arm64-msvc": "0.7.0-rc2", - "@myriaddreamin/typst-ts-node-compiler-win32-x64-msvc": "0.7.0-rc2" - } - }, - "node_modules/@myriaddreamin/typst-ts-node-compiler-android-arm-eabi": { - "version": "0.7.0-rc2", - "resolved": "https://registry.npmjs.org/@myriaddreamin/typst-ts-node-compiler-android-arm-eabi/-/typst-ts-node-compiler-android-arm-eabi-0.7.0-rc2.tgz", - "integrity": "sha512-OnfUH3XbGel3+QUZc4G3+V1npXYGCDc3b7WhFw88ihCH/Xpw+NNjidLrFkY6kK2a5vVHnY2AEG0hJSwZzvOw0Q==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "Apache-2.0", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@myriaddreamin/typst-ts-node-compiler-android-arm64": { - "version": "0.7.0-rc2", - "resolved": "https://registry.npmjs.org/@myriaddreamin/typst-ts-node-compiler-android-arm64/-/typst-ts-node-compiler-android-arm64-0.7.0-rc2.tgz", - "integrity": "sha512-LR76t0jXcKp0F0vMViinS6+RBxyTFqBUFiUoZcGRPQD/DhLNBReTS7tJ14Jp5Mwuqe76RUshSeQSrKbJUoaQ3A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "Apache-2.0", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@myriaddreamin/typst-ts-node-compiler-darwin-arm64": { - "version": "0.7.0-rc2", - "resolved": "https://registry.npmjs.org/@myriaddreamin/typst-ts-node-compiler-darwin-arm64/-/typst-ts-node-compiler-darwin-arm64-0.7.0-rc2.tgz", - "integrity": "sha512-xJndoR6Kn6UUYQDui41R7tx/avpfyY6c8dV5udyHP5FkeUSVgRAoFcjOtlI9Lpc84alFusIPwp4QR6V+xjOAhA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "Apache-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@myriaddreamin/typst-ts-node-compiler-darwin-x64": { - "version": "0.7.0-rc2", - "resolved": "https://registry.npmjs.org/@myriaddreamin/typst-ts-node-compiler-darwin-x64/-/typst-ts-node-compiler-darwin-x64-0.7.0-rc2.tgz", - "integrity": "sha512-kmh37eshR40LVAM6P59uLWEYt5ffyUhKWcBOzsd/1QYNtsH28kLRUOShugAdxQN164Re+47z2nkSgd7HejASFg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "Apache-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@myriaddreamin/typst-ts-node-compiler-linux-arm-gnueabihf": { - "version": "0.7.0-rc2", - "resolved": "https://registry.npmjs.org/@myriaddreamin/typst-ts-node-compiler-linux-arm-gnueabihf/-/typst-ts-node-compiler-linux-arm-gnueabihf-0.7.0-rc2.tgz", - "integrity": "sha512-giroa96wdN0mxARN1NbRrKp9t+qqUNUSBzWBQp1RMPqGNPwtahEqJnpf5zmRSrEJYhEzVZbs9+CwxFjj5lw7VQ==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@myriaddreamin/typst-ts-node-compiler-linux-arm64-gnu": { - "version": "0.7.0-rc2", - "resolved": "https://registry.npmjs.org/@myriaddreamin/typst-ts-node-compiler-linux-arm64-gnu/-/typst-ts-node-compiler-linux-arm64-gnu-0.7.0-rc2.tgz", - "integrity": "sha512-pDdc6hQrGdqr0BT+nNe0tJmdcmyp9yhn3WDeGlTi4YpYG2IybP7fBVIwDI3Mzr/IdCMtPbQxew4AfmAoJwIz6A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@myriaddreamin/typst-ts-node-compiler-linux-arm64-musl": { - "version": "0.7.0-rc2", - "resolved": "https://registry.npmjs.org/@myriaddreamin/typst-ts-node-compiler-linux-arm64-musl/-/typst-ts-node-compiler-linux-arm64-musl-0.7.0-rc2.tgz", - "integrity": "sha512-wNEYhpjuwnhd7VrArL4EHd652z8YEGxG6C8haUjkVhGseFBetrL51yD1Ymg5fWEa+3+O4oZ1+IUN0Fu4/fKgHw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@myriaddreamin/typst-ts-node-compiler-linux-x64-gnu": { - "version": "0.7.0-rc2", - "resolved": "https://registry.npmjs.org/@myriaddreamin/typst-ts-node-compiler-linux-x64-gnu/-/typst-ts-node-compiler-linux-x64-gnu-0.7.0-rc2.tgz", - "integrity": "sha512-Z4i78r5MtFDYGHqgYrWfAcvqb3xW49WlLI35l1G818lYmkmGZAjAkVKb946ChOx+bBQIuMWefykCABLOlBkgKA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@myriaddreamin/typst-ts-node-compiler-linux-x64-musl": { - "version": "0.7.0-rc2", - "resolved": "https://registry.npmjs.org/@myriaddreamin/typst-ts-node-compiler-linux-x64-musl/-/typst-ts-node-compiler-linux-x64-musl-0.7.0-rc2.tgz", - "integrity": "sha512-PXteqxa3RITEh5v3lQ4c5VGn16KHvUKVXjSZ2BudCe6C0gEuOO16JS9JU8DZVwd0dbtH0Mky6Q5V7tf6erpXGA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@myriaddreamin/typst-ts-node-compiler-win32-arm64-msvc": { - "version": "0.7.0-rc2", - "resolved": "https://registry.npmjs.org/@myriaddreamin/typst-ts-node-compiler-win32-arm64-msvc/-/typst-ts-node-compiler-win32-arm64-msvc-0.7.0-rc2.tgz", - "integrity": "sha512-wN1tjdRxabJzT8WuDVdOs2QKQuMzKht3QWPU/H7OjuDta1WcrYs/3IKnF67HNiphe/33MU8bKeih2GBVU+AuLg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "Apache-2.0", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@myriaddreamin/typst-ts-node-compiler-win32-x64-msvc": { - "version": "0.7.0-rc2", - "resolved": "https://registry.npmjs.org/@myriaddreamin/typst-ts-node-compiler-win32-x64-msvc/-/typst-ts-node-compiler-win32-x64-msvc-0.7.0-rc2.tgz", - "integrity": "sha512-6DUe2iepqptLkJsOdUC4yHWM3/USCW82YieA+lPAeky37XSJ5KuLuLL6zOQiQt3IWot7jB+m9oKIvBqJh7yriA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "Apache-2.0", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "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/@playwright/test": { - "version": "1.57.0", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.57.0.tgz", - "integrity": "sha512-6TyEnHgd6SArQO8UO2OMTxshln3QMWBtPGrOCgs3wVEmQmwyuNtB10IZMfmYDE0riwNR1cu4q+pPcxMVtaG3TA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright": "1.57.0" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@radix-ui/colors": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@radix-ui/colors/-/colors-3.0.0.tgz", - "integrity": "sha512-FUOsGBkHrYJwCSEtWRCIfQbZG7q1e6DgxCIOe1SUQzDe/7rXXeA47s8yCn6fuTNQAj1Zq4oTFi9Yjp3wzElcxg==", - "license": "MIT" - }, - "node_modules/@rollup/pluginutils": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.3.0.tgz", - "integrity": "sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "estree-walker": "^2.0.2", - "picomatch": "^4.0.2" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, - "node_modules/@rollup/pluginutils/node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "license": "MIT" - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.53.3.tgz", - "integrity": "sha512-mRSi+4cBjrRLoaal2PnqH82Wqyb+d3HsPUN/W+WslCXsZsyHa9ZeQQX/pQsZaVIWDkPcpV6jJ+3KLbTbgnwv8w==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.53.3.tgz", - "integrity": "sha512-CbDGaMpdE9sh7sCmTrTUyllhrg65t6SwhjlMJsLr+J8YjFuPmCEjbBSx4Z/e4SmDyH3aB5hGaJUP2ltV/vcs4w==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.53.3.tgz", - "integrity": "sha512-Nr7SlQeqIBpOV6BHHGZgYBuSdanCXuw09hon14MGOLGmXAFYjx1wNvquVPmpZnl0tLjg25dEdr4IQ6GgyToCUA==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.53.3.tgz", - "integrity": "sha512-DZ8N4CSNfl965CmPktJ8oBnfYr3F8dTTNBQkRlffnUarJ2ohudQD17sZBa097J8xhQ26AwhHJ5mvUyQW8ddTsQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.53.3.tgz", - "integrity": "sha512-yMTrCrK92aGyi7GuDNtGn2sNW+Gdb4vErx4t3Gv/Tr+1zRb8ax4z8GWVRfr3Jw8zJWvpGHNpss3vVlbF58DZ4w==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.53.3.tgz", - "integrity": "sha512-lMfF8X7QhdQzseM6XaX0vbno2m3hlyZFhwcndRMw8fbAGUGL3WFMBdK0hbUBIUYcEcMhVLr1SIamDeuLBnXS+Q==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.53.3.tgz", - "integrity": "sha512-k9oD15soC/Ln6d2Wv/JOFPzZXIAIFLp6B+i14KhxAfnq76ajt0EhYc5YPeX6W1xJkAdItcVT+JhKl1QZh44/qw==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.53.3.tgz", - "integrity": "sha512-vTNlKq+N6CK/8UktsrFuc+/7NlEYVxgaEgRXVUVK258Z5ymho29skzW1sutgYjqNnquGwVUObAaxae8rZ6YMhg==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.53.3.tgz", - "integrity": "sha512-RGrFLWgMhSxRs/EWJMIFM1O5Mzuz3Xy3/mnxJp/5cVhZ2XoCAxJnmNsEyeMJtpK+wu0FJFWz+QF4mjCA7AUQ3w==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.53.3.tgz", - "integrity": "sha512-kASyvfBEWYPEwe0Qv4nfu6pNkITLTb32p4yTgzFCocHnJLAHs+9LjUu9ONIhvfT/5lv4YS5muBHyuV84epBo/A==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-loong64-gnu": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.53.3.tgz", - "integrity": "sha512-JiuKcp2teLJwQ7vkJ95EwESWkNRFJD7TQgYmCnrPtlu50b4XvT5MOmurWNrCj3IFdyjBQ5p9vnrX4JM6I8OE7g==", - "cpu": [ - "loong64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-ppc64-gnu": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.53.3.tgz", - "integrity": "sha512-EoGSa8nd6d3T7zLuqdojxC20oBfNT8nexBbB/rkxgKj5T5vhpAQKKnD+h3UkoMuTyXkP5jTjK/ccNRmQrPNDuw==", - "cpu": [ - "ppc64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.53.3.tgz", - "integrity": "sha512-4s+Wped2IHXHPnAEbIB0YWBv7SDohqxobiiPA1FIWZpX+w9o2i4LezzH/NkFUl8LRci/8udci6cLq+jJQlh+0g==", - "cpu": [ - "riscv64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.53.3.tgz", - "integrity": "sha512-68k2g7+0vs2u9CxDt5ktXTngsxOQkSEV/xBbwlqYcUrAVh6P9EgMZvFsnHy4SEiUl46Xf0IObWVbMvPrr2gw8A==", - "cpu": [ - "riscv64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.53.3.tgz", - "integrity": "sha512-VYsFMpULAz87ZW6BVYw3I6sWesGpsP9OPcyKe8ofdg9LHxSbRMd7zrVrr5xi/3kMZtpWL/wC+UIJWJYVX5uTKg==", - "cpu": [ - "s390x" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.53.3.tgz", - "integrity": "sha512-3EhFi1FU6YL8HTUJZ51imGJWEX//ajQPfqWLI3BQq4TlvHy4X0MOr5q3D2Zof/ka0d5FNdPwZXm3Yyib/UEd+w==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.53.3.tgz", - "integrity": "sha512-eoROhjcc6HbZCJr+tvVT8X4fW3/5g/WkGvvmwz/88sDtSJzO7r/blvoBDgISDiCjDRZmHpwud7h+6Q9JxFwq1Q==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-openharmony-arm64": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.53.3.tgz", - "integrity": "sha512-OueLAWgrNSPGAdUdIjSWXw+u/02BRTcnfw9PN41D2vq/JSEPnJnVuBgw18VkN8wcd4fjUs+jFHVM4t9+kBSNLw==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ] - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.53.3.tgz", - "integrity": "sha512-GOFuKpsxR/whszbF/bzydebLiXIHSgsEUp6M0JI8dWvi+fFa1TD6YQa4aSZHtpmh2/uAlj/Dy+nmby3TJ3pkTw==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.53.3.tgz", - "integrity": "sha512-iah+THLcBJdpfZ1TstDFbKNznlzoxa8fmnFYK4V67HvmuNYkVdAywJSoteUszvBQ9/HqN2+9AZghbajMsFT+oA==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-gnu": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.53.3.tgz", - "integrity": "sha512-J9QDiOIZlZLdcot5NXEepDkstocktoVjkaKUtqzgzpt2yWjGlbYiKyp05rWwk4nypbYUNoFAztEgixoLaSETkg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.53.3.tgz", - "integrity": "sha512-UhTd8u31dXadv0MopwGgNOBpUVROFKWVQgAg5N1ESyCz8AuBcMqm4AuTjrwgQKGDfoFuz02EuMRHQIw/frmYKQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@shikijs/core": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-3.21.0.tgz", - "integrity": "sha512-AXSQu/2n1UIQekY8euBJlvFYZIw0PHY63jUzGbrOma4wPxzznJXTXkri+QcHeBNaFxiiOljKxxJkVSoB3PjbyA==", - "license": "MIT", - "dependencies": { - "@shikijs/types": "3.21.0", - "@shikijs/vscode-textmate": "^10.0.2", - "@types/hast": "^3.0.4", - "hast-util-to-html": "^9.0.5" - } - }, - "node_modules/@shikijs/engine-javascript": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-3.21.0.tgz", - "integrity": "sha512-ATwv86xlbmfD9n9gKRiwuPpWgPENAWCLwYCGz9ugTJlsO2kOzhOkvoyV/UD+tJ0uT7YRyD530x6ugNSffmvIiQ==", - "license": "MIT", - "dependencies": { - "@shikijs/types": "3.21.0", - "@shikijs/vscode-textmate": "^10.0.2", - "oniguruma-to-es": "^4.3.4" - } - }, - "node_modules/@shikijs/engine-oniguruma": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.21.0.tgz", - "integrity": "sha512-OYknTCct6qiwpQDqDdf3iedRdzj6hFlOPv5hMvI+hkWfCKs5mlJ4TXziBG9nyabLwGulrUjHiCq3xCspSzErYQ==", - "license": "MIT", - "dependencies": { - "@shikijs/types": "3.21.0", - "@shikijs/vscode-textmate": "^10.0.2" - } - }, - "node_modules/@shikijs/langs": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-3.21.0.tgz", - "integrity": "sha512-g6mn5m+Y6GBJ4wxmBYqalK9Sp0CFkUqfNzUy2pJglUginz6ZpWbaWjDB4fbQ/8SHzFjYbtU6Ddlp1pc+PPNDVA==", - "license": "MIT", - "dependencies": { - "@shikijs/types": "3.21.0" - } - }, - "node_modules/@shikijs/themes": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-3.21.0.tgz", - "integrity": "sha512-BAE4cr9EDiZyYzwIHEk7JTBJ9CzlPuM4PchfcA5ao1dWXb25nv6hYsoDiBq2aZK9E3dlt3WB78uI96UESD+8Mw==", - "license": "MIT", - "dependencies": { - "@shikijs/types": "3.21.0" - } - }, - "node_modules/@shikijs/types": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.21.0.tgz", - "integrity": "sha512-zGrWOxZ0/+0ovPY7PvBU2gIS9tmhSUUt30jAcNV0Bq0gb2S98gwfjIs1vxlmH5zM7/4YxLamT6ChlqqAJmPPjA==", - "license": "MIT", - "dependencies": { - "@shikijs/vscode-textmate": "^10.0.2", - "@types/hast": "^3.0.4" - } - }, - "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/@tailwindcss/node": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.18.tgz", - "integrity": "sha512-DoR7U1P7iYhw16qJ49fgXUlry1t4CpXeErJHnQ44JgTSKMaZUdf17cfn5mHchfJ4KRBZRFA/Coo+MUF5+gOaCQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/remapping": "^2.3.4", - "enhanced-resolve": "^5.18.3", - "jiti": "^2.6.1", - "lightningcss": "1.30.2", - "magic-string": "^0.30.21", - "source-map-js": "^1.2.1", - "tailwindcss": "4.1.18" - } - }, - "node_modules/@tailwindcss/oxide": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.18.tgz", - "integrity": "sha512-EgCR5tTS5bUSKQgzeMClT6iCY3ToqE1y+ZB0AKldj809QXk1Y+3jB0upOYZrn9aGIzPtUsP7sX4QQ4XtjBB95A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 10" - }, - "optionalDependencies": { - "@tailwindcss/oxide-android-arm64": "4.1.18", - "@tailwindcss/oxide-darwin-arm64": "4.1.18", - "@tailwindcss/oxide-darwin-x64": "4.1.18", - "@tailwindcss/oxide-freebsd-x64": "4.1.18", - "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.18", - "@tailwindcss/oxide-linux-arm64-gnu": "4.1.18", - "@tailwindcss/oxide-linux-arm64-musl": "4.1.18", - "@tailwindcss/oxide-linux-x64-gnu": "4.1.18", - "@tailwindcss/oxide-linux-x64-musl": "4.1.18", - "@tailwindcss/oxide-wasm32-wasi": "4.1.18", - "@tailwindcss/oxide-win32-arm64-msvc": "4.1.18", - "@tailwindcss/oxide-win32-x64-msvc": "4.1.18" - } - }, - "node_modules/@tailwindcss/oxide-android-arm64": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.18.tgz", - "integrity": "sha512-dJHz7+Ugr9U/diKJA0W6N/6/cjI+ZTAoxPf9Iz9BFRF2GzEX8IvXxFIi/dZBloVJX/MZGvRuFA9rqwdiIEZQ0Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-darwin-arm64": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.18.tgz", - "integrity": "sha512-Gc2q4Qhs660bhjyBSKgq6BYvwDz4G+BuyJ5H1xfhmDR3D8HnHCmT/BSkvSL0vQLy/nkMLY20PQ2OoYMO15Jd0A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-darwin-x64": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.18.tgz", - "integrity": "sha512-FL5oxr2xQsFrc3X9o1fjHKBYBMD1QZNyc1Xzw/h5Qu4XnEBi3dZn96HcHm41c/euGV+GRiXFfh2hUCyKi/e+yw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-freebsd-x64": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.18.tgz", - "integrity": "sha512-Fj+RHgu5bDodmV1dM9yAxlfJwkkWvLiRjbhuO2LEtwtlYlBgiAT4x/j5wQr1tC3SANAgD+0YcmWVrj8R9trVMA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.18.tgz", - "integrity": "sha512-Fp+Wzk/Ws4dZn+LV2Nqx3IilnhH51YZoRaYHQsVq3RQvEl+71VGKFpkfHrLM/Li+kt5c0DJe/bHXK1eHgDmdiA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.18.tgz", - "integrity": "sha512-S0n3jboLysNbh55Vrt7pk9wgpyTTPD0fdQeh7wQfMqLPM/Hrxi+dVsLsPrycQjGKEQk85Kgbx+6+QnYNiHalnw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm64-musl": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.18.tgz", - "integrity": "sha512-1px92582HkPQlaaCkdRcio71p8bc8i/ap5807tPRDK/uw953cauQBT8c5tVGkOwrHMfc2Yh6UuxaH4vtTjGvHg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-x64-gnu": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.18.tgz", - "integrity": "sha512-v3gyT0ivkfBLoZGF9LyHmts0Isc8jHZyVcbzio6Wpzifg/+5ZJpDiRiUhDLkcr7f/r38SWNe7ucxmGW3j3Kb/g==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-x64-musl": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.18.tgz", - "integrity": "sha512-bhJ2y2OQNlcRwwgOAGMY0xTFStt4/wyU6pvI6LSuZpRgKQwxTec0/3Scu91O8ir7qCR3AuepQKLU/kX99FouqQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-wasm32-wasi": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.18.tgz", - "integrity": "sha512-LffYTvPjODiP6PT16oNeUQJzNVyJl1cjIebq/rWWBF+3eDst5JGEFSc5cWxyRCJ0Mxl+KyIkqRxk1XPEs9x8TA==", - "bundleDependencies": [ - "@napi-rs/wasm-runtime", - "@emnapi/core", - "@emnapi/runtime", - "@tybys/wasm-util", - "@emnapi/wasi-threads", - "tslib" - ], - "cpu": [ - "wasm32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/core": "^1.7.1", - "@emnapi/runtime": "^1.7.1", - "@emnapi/wasi-threads": "^1.1.0", - "@napi-rs/wasm-runtime": "^1.1.0", - "@tybys/wasm-util": "^0.10.1", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/core": { - "version": "1.7.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/wasi-threads": "1.1.0", - "tslib": "^2.4.0" - } - }, - "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/runtime": { - "version": "1.7.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/wasi-threads": { - "version": "1.1.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@napi-rs/wasm-runtime": { - "version": "1.1.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/core": "^1.7.1", - "@emnapi/runtime": "^1.7.1", - "@tybys/wasm-util": "^0.10.1" - } - }, - "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@tybys/wasm-util": { - "version": "0.10.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/tslib": { - "version": "2.8.1", - "dev": true, - "inBundle": true, - "license": "0BSD", - "optional": true - }, - "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.18.tgz", - "integrity": "sha512-HjSA7mr9HmC8fu6bdsZvZ+dhjyGCLdotjVOgLA2vEqxEBZaQo9YTX4kwgEvPCpRh8o4uWc4J/wEoFzhEmjvPbA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-win32-x64-msvc": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.18.tgz", - "integrity": "sha512-bJWbyYpUlqamC8dpR7pfjA0I7vdF6t5VpUGMWRkXVE3AXgIZjYUYAK7II1GNaxR8J1SSrSrppRar8G++JekE3Q==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/typography": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.19.tgz", - "integrity": "sha512-w31dd8HOx3k9vPtcQh5QHP9GwKcgbMp87j58qi6xgiBnFFtKEAgCWnDw4qUT8aHwkCp8bKvb/KGKWWHedP0AAg==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-selector-parser": "6.0.10" - }, - "peerDependencies": { - "tailwindcss": ">=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1" - } - }, - "node_modules/@tailwindcss/vite": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.1.18.tgz", - "integrity": "sha512-jVA+/UpKL1vRLg6Hkao5jldawNmRo7mQYrZtNHMIVpLfLhDml5nMRUo/8MwoX2vNXvnaXNNMedrMfMugAVX1nA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@tailwindcss/node": "4.1.18", - "@tailwindcss/oxide": "4.1.18", - "tailwindcss": "4.1.18" - }, - "peerDependencies": { - "vite": "^5.2.0 || ^6 || ^7" - } - }, - "node_modules/@types/d3": { - "version": "7.4.3", - "resolved": "https://registry.npmjs.org/@types/d3/-/d3-7.4.3.tgz", - "integrity": "sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==", - "license": "MIT", - "dependencies": { - "@types/d3-array": "*", - "@types/d3-axis": "*", - "@types/d3-brush": "*", - "@types/d3-chord": "*", - "@types/d3-color": "*", - "@types/d3-contour": "*", - "@types/d3-delaunay": "*", - "@types/d3-dispatch": "*", - "@types/d3-drag": "*", - "@types/d3-dsv": "*", - "@types/d3-ease": "*", - "@types/d3-fetch": "*", - "@types/d3-force": "*", - "@types/d3-format": "*", - "@types/d3-geo": "*", - "@types/d3-hierarchy": "*", - "@types/d3-interpolate": "*", - "@types/d3-path": "*", - "@types/d3-polygon": "*", - "@types/d3-quadtree": "*", - "@types/d3-random": "*", - "@types/d3-scale": "*", - "@types/d3-scale-chromatic": "*", - "@types/d3-selection": "*", - "@types/d3-shape": "*", - "@types/d3-time": "*", - "@types/d3-time-format": "*", - "@types/d3-timer": "*", - "@types/d3-transition": "*", - "@types/d3-zoom": "*" - } - }, - "node_modules/@types/d3-array": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.2.tgz", - "integrity": "sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==", - "license": "MIT" - }, - "node_modules/@types/d3-axis": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@types/d3-axis/-/d3-axis-3.0.6.tgz", - "integrity": "sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==", - "license": "MIT", - "dependencies": { - "@types/d3-selection": "*" - } - }, - "node_modules/@types/d3-brush": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@types/d3-brush/-/d3-brush-3.0.6.tgz", - "integrity": "sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==", - "license": "MIT", - "dependencies": { - "@types/d3-selection": "*" - } - }, - "node_modules/@types/d3-chord": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@types/d3-chord/-/d3-chord-3.0.6.tgz", - "integrity": "sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==", - "license": "MIT" - }, - "node_modules/@types/d3-color": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.3.tgz", - "integrity": "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==", - "license": "MIT" - }, - "node_modules/@types/d3-contour": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@types/d3-contour/-/d3-contour-3.0.6.tgz", - "integrity": "sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==", - "license": "MIT", - "dependencies": { - "@types/d3-array": "*", - "@types/geojson": "*" - } - }, - "node_modules/@types/d3-delaunay": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@types/d3-delaunay/-/d3-delaunay-6.0.4.tgz", - "integrity": "sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==", - "license": "MIT" - }, - "node_modules/@types/d3-dispatch": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@types/d3-dispatch/-/d3-dispatch-3.0.7.tgz", - "integrity": "sha512-5o9OIAdKkhN1QItV2oqaE5KMIiXAvDWBDPrD85e58Qlz1c1kI/J0NcqbEG88CoTwJrYe7ntUCVfeUl2UJKbWgA==", - "license": "MIT" - }, - "node_modules/@types/d3-drag": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@types/d3-drag/-/d3-drag-3.0.7.tgz", - "integrity": "sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==", - "license": "MIT", - "dependencies": { - "@types/d3-selection": "*" - } - }, - "node_modules/@types/d3-dsv": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@types/d3-dsv/-/d3-dsv-3.0.7.tgz", - "integrity": "sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==", - "license": "MIT" - }, - "node_modules/@types/d3-ease": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.2.tgz", - "integrity": "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==", - "license": "MIT" - }, - "node_modules/@types/d3-fetch": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@types/d3-fetch/-/d3-fetch-3.0.7.tgz", - "integrity": "sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==", - "license": "MIT", - "dependencies": { - "@types/d3-dsv": "*" - } - }, - "node_modules/@types/d3-force": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/@types/d3-force/-/d3-force-3.0.10.tgz", - "integrity": "sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==", - "license": "MIT" - }, - "node_modules/@types/d3-format": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/d3-format/-/d3-format-3.0.4.tgz", - "integrity": "sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==", - "license": "MIT" - }, - "node_modules/@types/d3-geo": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@types/d3-geo/-/d3-geo-3.1.0.tgz", - "integrity": "sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==", - "license": "MIT", - "dependencies": { - "@types/geojson": "*" - } - }, - "node_modules/@types/d3-hierarchy": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/@types/d3-hierarchy/-/d3-hierarchy-3.1.7.tgz", - "integrity": "sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==", - "license": "MIT" - }, - "node_modules/@types/d3-interpolate": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz", - "integrity": "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==", - "license": "MIT", - "dependencies": { - "@types/d3-color": "*" - } - }, - "node_modules/@types/d3-path": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.1.tgz", - "integrity": "sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==", - "license": "MIT" - }, - "node_modules/@types/d3-polygon": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/d3-polygon/-/d3-polygon-3.0.2.tgz", - "integrity": "sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==", - "license": "MIT" - }, - "node_modules/@types/d3-quadtree": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@types/d3-quadtree/-/d3-quadtree-3.0.6.tgz", - "integrity": "sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==", - "license": "MIT" - }, - "node_modules/@types/d3-random": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/d3-random/-/d3-random-3.0.3.tgz", - "integrity": "sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==", - "license": "MIT" - }, - "node_modules/@types/d3-scale": { - "version": "4.0.9", - "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.9.tgz", - "integrity": "sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==", - "license": "MIT", - "dependencies": { - "@types/d3-time": "*" - } - }, - "node_modules/@types/d3-scale-chromatic": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz", - "integrity": "sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==", - "license": "MIT" - }, - "node_modules/@types/d3-selection": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/@types/d3-selection/-/d3-selection-3.0.11.tgz", - "integrity": "sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==", - "license": "MIT" - }, - "node_modules/@types/d3-shape": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.8.tgz", - "integrity": "sha512-lae0iWfcDeR7qt7rA88BNiqdvPS5pFVPpo5OfjElwNaT2yyekbM0C9vK+yqBqEmHr6lDkRnYNoTBYlAgJa7a4w==", - "license": "MIT", - "dependencies": { - "@types/d3-path": "*" - } - }, - "node_modules/@types/d3-time": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.4.tgz", - "integrity": "sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==", - "license": "MIT" - }, - "node_modules/@types/d3-time-format": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@types/d3-time-format/-/d3-time-format-4.0.3.tgz", - "integrity": "sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==", - "license": "MIT" - }, - "node_modules/@types/d3-timer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.2.tgz", - "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==", - "license": "MIT" - }, - "node_modules/@types/d3-transition": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@types/d3-transition/-/d3-transition-3.0.9.tgz", - "integrity": "sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==", - "license": "MIT", - "dependencies": { - "@types/d3-selection": "*" - } - }, - "node_modules/@types/d3-zoom": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/@types/d3-zoom/-/d3-zoom-3.0.8.tgz", - "integrity": "sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==", - "license": "MIT", - "dependencies": { - "@types/d3-interpolate": "*", - "@types/d3-selection": "*" - } - }, - "node_modules/@types/debug": { - "version": "4.1.12", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", - "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", - "license": "MIT", - "dependencies": { - "@types/ms": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "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/geojson": { - "version": "7946.0.16", - "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.16.tgz", - "integrity": "sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==", - "license": "MIT" - }, - "node_modules/@types/hast": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", - "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", - "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/mdx": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.13.tgz", - "integrity": "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==", - "license": "MIT" - }, - "node_modules/@types/ms": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", - "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", - "license": "MIT" - }, - "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": "24.10.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.1.tgz", - "integrity": "sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==", - "license": "MIT", - "dependencies": { - "undici-types": "~7.16.0" - } - }, - "node_modules/@types/sax": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.7.tgz", - "integrity": "sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/trusted-types": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", - "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", - "license": "MIT", - "optional": true - }, - "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.3.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", - "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", - "license": "ISC" - }, - "node_modules/@volar/kit": { - "version": "2.4.26", - "resolved": "https://registry.npmjs.org/@volar/kit/-/kit-2.4.26.tgz", - "integrity": "sha512-shgNg7PbV8SIxxQLOQh5zMr8KV0JvdG9If0MwJb5L1HMrBU91jBxR0ANi2OJPMMme6/l1vIYm4hCaO6W2JaEcQ==", - "license": "MIT", - "dependencies": { - "@volar/language-service": "2.4.26", - "@volar/typescript": "2.4.26", - "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.26", - "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.26.tgz", - "integrity": "sha512-hH0SMitMxnB43OZpyF1IFPS9bgb2I3bpCh76m2WEK7BE0A0EzpYsRp0CCH2xNKshr7kacU5TQBLYn4zj7CG60A==", - "license": "MIT", - "dependencies": { - "@volar/source-map": "2.4.26" - } - }, - "node_modules/@volar/language-server": { - "version": "2.4.26", - "resolved": "https://registry.npmjs.org/@volar/language-server/-/language-server-2.4.26.tgz", - "integrity": "sha512-Xsyu+VDgM8TyVkQfBz2aIViSEOgH2un0gIJlp0M8rssDDLCqr4ssQzwHOyPf7sT7UIjrlAMnJvRkC/u0mmgtYw==", - "license": "MIT", - "dependencies": { - "@volar/language-core": "2.4.26", - "@volar/language-service": "2.4.26", - "@volar/typescript": "2.4.26", - "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.26", - "resolved": "https://registry.npmjs.org/@volar/language-service/-/language-service-2.4.26.tgz", - "integrity": "sha512-ZBPRR1ytXttSV5X4VPvEQR/glxs+7/4IOJIBCOW3/EJk4z77R4mF2y4wM3fNgOXXZT5h16j3sC5w+LGNkz2VlA==", - "license": "MIT", - "dependencies": { - "@volar/language-core": "2.4.26", - "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.26", - "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.26.tgz", - "integrity": "sha512-JJw0Tt/kSFsIRmgTQF4JSt81AUSI1aEye5Zl65EeZ8H35JHnTvFGmpDOBn5iOxd48fyGE+ZvZBp5FcgAy/1Qhw==", - "license": "MIT" - }, - "node_modules/@volar/typescript": { - "version": "2.4.26", - "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.26.tgz", - "integrity": "sha512-N87ecLD48Sp6zV9zID/5yuS1+5foj0DfuYGdQ6KHj/IbKvyKv1zNX6VCmnKYwtmHadEO6mFc2EKISiu3RDPAvA==", - "license": "MIT", - "dependencies": { - "@volar/language-core": "2.4.26", - "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==", - "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/l10n": { - "version": "0.0.18", - "resolved": "https://registry.npmjs.org/@vscode/l10n/-/l10n-0.0.18.tgz", - "integrity": "sha512-KYSIHVmslkaCDyw013pphY+d7x1qV8IZupYfeIfzNA+nsaWHbn5uPuQRvdRFsa9zFzGeudPuoGoZ1Op4jrJXIQ==", - "license": "MIT" - }, - "node_modules/acorn": { - "version": "8.15.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", - "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - }, - "funding": { - "type": "github", - "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==", - "license": "MIT", - "peerDependencies": { - "ajv": "^8.5.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/ansi-align": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", - "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", - "license": "ISC", - "dependencies": { - "string-width": "^4.1.0" - } - }, - "node_modules/ansi-align/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-align/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "license": "MIT" - }, - "node_modules/ansi-align/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-align/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-regex": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", - "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", - "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==", - "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.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", - "license": "MIT" - }, - "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/array-iterate": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/array-iterate/-/array-iterate-2.0.1.tgz", - "integrity": "sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/astring": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/astring/-/astring-1.9.0.tgz", - "integrity": "sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==", - "license": "MIT", - "bin": { - "astring": "bin/astring" - } - }, - "node_modules/astro": { - "version": "5.16.14", - "resolved": "https://registry.npmjs.org/astro/-/astro-5.16.14.tgz", - "integrity": "sha512-+XtShBCwsL5IezGvSeJTIHoZl3RGDOiB2u54t5phS+3haa0A5kGWXbZAmh5O/xFIv19/1cxHbDFa2i0Ot16SMw==", - "license": "MIT", - "dependencies": { - "@astrojs/compiler": "^2.13.0", - "@astrojs/internal-helpers": "0.7.5", - "@astrojs/markdown-remark": "6.3.10", - "@astrojs/telemetry": "3.3.0", - "@capsizecss/unpack": "^4.0.0", - "@oslojs/encoding": "^1.1.0", - "@rollup/pluginutils": "^5.3.0", - "acorn": "^8.15.0", - "aria-query": "^5.3.2", - "axobject-query": "^4.1.0", - "boxen": "8.0.1", - "ci-info": "^4.3.1", - "clsx": "^2.1.1", - "common-ancestor-path": "^1.0.1", - "cookie": "^1.1.1", - "cssesc": "^3.0.0", - "debug": "^4.4.3", - "deterministic-object-hash": "^2.0.2", - "devalue": "^5.6.2", - "diff": "^8.0.3", - "dlv": "^1.1.3", - "dset": "^3.1.4", - "es-module-lexer": "^1.7.0", - "esbuild": "^0.25.0", - "estree-walker": "^3.0.3", - "flattie": "^1.1.1", - "fontace": "~0.4.0", - "github-slugger": "^2.0.0", - "html-escaper": "3.0.3", - "http-cache-semantics": "^4.2.0", - "import-meta-resolve": "^4.2.0", - "js-yaml": "^4.1.1", - "magic-string": "^0.30.21", - "magicast": "^0.5.1", - "mrmime": "^2.0.1", - "neotraverse": "^0.6.18", - "p-limit": "^6.2.0", - "p-queue": "^8.1.1", - "package-manager-detector": "^1.6.0", - "piccolore": "^0.1.3", - "picomatch": "^4.0.3", - "prompts": "^2.4.2", - "rehype": "^13.0.2", - "semver": "^7.7.3", - "shiki": "^3.21.0", - "smol-toml": "^1.6.0", - "svgo": "^4.0.0", - "tinyexec": "^1.0.2", - "tinyglobby": "^0.2.15", - "tsconfck": "^3.1.6", - "ultrahtml": "^1.6.0", - "unifont": "~0.7.3", - "unist-util-visit": "^5.0.0", - "unstorage": "^1.17.4", - "vfile": "^6.0.3", - "vite": "^6.4.1", - "vitefu": "^1.1.1", - "xxhash-wasm": "^1.1.0", - "yargs-parser": "^21.1.1", - "yocto-spinner": "^0.2.3", - "zod": "^3.25.76", - "zod-to-json-schema": "^3.25.1", - "zod-to-ts": "^1.2.0" - }, - "bin": { - "astro": "astro.js" - }, - "engines": { - "node": "18.20.8 || ^20.3.0 || >=22.0.0", - "npm": ">=9.6.5", - "pnpm": ">=7.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/astrodotbuild" - }, - "optionalDependencies": { - "sharp": "^0.34.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/base-64": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/base-64/-/base-64-1.0.0.tgz", - "integrity": "sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==", - "license": "MIT" - }, - "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/boxen": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-8.0.1.tgz", - "integrity": "sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==", - "license": "MIT", - "dependencies": { - "ansi-align": "^3.0.1", - "camelcase": "^8.0.0", - "chalk": "^5.3.0", - "cli-boxes": "^3.0.0", - "string-width": "^7.2.0", - "type-fest": "^4.21.0", - "widest-line": "^5.0.0", - "wrap-ansi": "^9.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "license": "MIT", - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/camelcase": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-8.0.0.tgz", - "integrity": "sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==", - "license": "MIT", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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/chalk": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", - "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", - "license": "MIT", - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/character-entities": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", - "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "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/character-reference-invalid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", - "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/chart.js": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.5.1.tgz", - "integrity": "sha512-GIjfiT9dbmHRiYi6Nl2yFCq7kkwdkp1W/lp2J99rX0yo9tgJGn3lKQATztIjb5tVtevcBtIdICNWqlq5+E8/Pw==", - "license": "MIT", - "dependencies": { - "@kurkle/color": "^0.3.0" - }, - "engines": { - "pnpm": ">=8" - } - }, - "node_modules/chevrotain": { - "version": "11.0.3", - "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-11.0.3.tgz", - "integrity": "sha512-ci2iJH6LeIkvP9eJW6gpueU8cnZhv85ELY8w8WiFtNjMHA5ad6pQLaJo9mEly/9qUyCpvqX8/POVUTf18/HFdw==", - "license": "Apache-2.0", - "dependencies": { - "@chevrotain/cst-dts-gen": "11.0.3", - "@chevrotain/gast": "11.0.3", - "@chevrotain/regexp-to-ast": "11.0.3", - "@chevrotain/types": "11.0.3", - "@chevrotain/utils": "11.0.3", - "lodash-es": "4.17.21" - } - }, - "node_modules/chevrotain-allstar": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/chevrotain-allstar/-/chevrotain-allstar-0.3.1.tgz", - "integrity": "sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==", - "license": "MIT", - "dependencies": { - "lodash-es": "^4.17.21" - }, - "peerDependencies": { - "chevrotain": "^11.0.0" - } - }, - "node_modules/chevrotain/node_modules/lodash-es": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", - "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", - "license": "MIT" - }, - "node_modules/chokidar": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", - "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", - "license": "MIT", - "dependencies": { - "readdirp": "^4.0.1" - }, - "engines": { - "node": ">= 14.16.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/ci-info": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.1.tgz", - "integrity": "sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-boxes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", - "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/cliui/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/cliui/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/cliui/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "license": "MIT" - }, - "node_modules/cliui/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cliui/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cliui/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "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/collapse-white-space": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz", - "integrity": "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "license": "MIT" - }, - "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": "1.0.1", - "resolved": "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz", - "integrity": "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==", - "license": "ISC" - }, - "node_modules/confbox": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz", - "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", - "license": "MIT" - }, - "node_modules/cookie": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.1.1.tgz", - "integrity": "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/cookie-es": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-1.2.2.tgz", - "integrity": "sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==", - "license": "MIT" - }, - "node_modules/cose-base": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/cose-base/-/cose-base-1.0.3.tgz", - "integrity": "sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==", - "license": "MIT", - "dependencies": { - "layout-base": "^1.0.0" - } - }, - "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": "5.2.2", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz", - "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==", - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.1.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/css-tree": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.1.0.tgz", - "integrity": "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==", - "license": "MIT", - "dependencies": { - "mdn-data": "2.12.2", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" - } - }, - "node_modules/css-what": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", - "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", - "license": "BSD-2-Clause", - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "license": "MIT", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "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/cytoscape": { - "version": "3.33.1", - "resolved": "https://registry.npmjs.org/cytoscape/-/cytoscape-3.33.1.tgz", - "integrity": "sha512-iJc4TwyANnOGR1OmWhsS9ayRS3s+XQ185FmuHObThD+5AeJCakAAbWv8KimMTt08xCCLNgneQwFp+JRJOr9qGQ==", - "license": "MIT", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/cytoscape-cose-bilkent": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cytoscape-cose-bilkent/-/cytoscape-cose-bilkent-4.1.0.tgz", - "integrity": "sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==", - "license": "MIT", - "dependencies": { - "cose-base": "^1.0.0" - }, - "peerDependencies": { - "cytoscape": "^3.2.0" - } - }, - "node_modules/cytoscape-fcose": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cytoscape-fcose/-/cytoscape-fcose-2.2.0.tgz", - "integrity": "sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==", - "license": "MIT", - "dependencies": { - "cose-base": "^2.2.0" - }, - "peerDependencies": { - "cytoscape": "^3.2.0" - } - }, - "node_modules/cytoscape-fcose/node_modules/cose-base": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cose-base/-/cose-base-2.2.0.tgz", - "integrity": "sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==", - "license": "MIT", - "dependencies": { - "layout-base": "^2.0.0" - } - }, - "node_modules/cytoscape-fcose/node_modules/layout-base": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/layout-base/-/layout-base-2.0.1.tgz", - "integrity": "sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==", - "license": "MIT" - }, - "node_modules/d3": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/d3/-/d3-7.9.0.tgz", - "integrity": "sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==", - "license": "ISC", - "dependencies": { - "d3-array": "3", - "d3-axis": "3", - "d3-brush": "3", - "d3-chord": "3", - "d3-color": "3", - "d3-contour": "4", - "d3-delaunay": "6", - "d3-dispatch": "3", - "d3-drag": "3", - "d3-dsv": "3", - "d3-ease": "3", - "d3-fetch": "3", - "d3-force": "3", - "d3-format": "3", - "d3-geo": "3", - "d3-hierarchy": "3", - "d3-interpolate": "3", - "d3-path": "3", - "d3-polygon": "3", - "d3-quadtree": "3", - "d3-random": "3", - "d3-scale": "4", - "d3-scale-chromatic": "3", - "d3-selection": "3", - "d3-shape": "3", - "d3-time": "3", - "d3-time-format": "4", - "d3-timer": "3", - "d3-transition": "3", - "d3-zoom": "3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-array": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", - "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", - "license": "ISC", - "dependencies": { - "internmap": "1 - 2" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-axis": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz", - "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-brush": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz", - "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==", - "license": "ISC", - "dependencies": { - "d3-dispatch": "1 - 3", - "d3-drag": "2 - 3", - "d3-interpolate": "1 - 3", - "d3-selection": "3", - "d3-transition": "3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-chord": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz", - "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==", - "license": "ISC", - "dependencies": { - "d3-path": "1 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-color": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", - "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-contour": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz", - "integrity": "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==", - "license": "ISC", - "dependencies": { - "d3-array": "^3.2.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-delaunay": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz", - "integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==", - "license": "ISC", - "dependencies": { - "delaunator": "5" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-dispatch": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz", - "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-drag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz", - "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", - "license": "ISC", - "dependencies": { - "d3-dispatch": "1 - 3", - "d3-selection": "3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-dsv": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz", - "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==", - "license": "ISC", - "dependencies": { - "commander": "7", - "iconv-lite": "0.6", - "rw": "1" - }, - "bin": { - "csv2json": "bin/dsv2json.js", - "csv2tsv": "bin/dsv2dsv.js", - "dsv2dsv": "bin/dsv2dsv.js", - "dsv2json": "bin/dsv2json.js", - "json2csv": "bin/json2dsv.js", - "json2dsv": "bin/json2dsv.js", - "json2tsv": "bin/json2dsv.js", - "tsv2csv": "bin/dsv2dsv.js", - "tsv2json": "bin/dsv2json.js" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-dsv/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "license": "MIT", - "engines": { - "node": ">= 10" - } - }, - "node_modules/d3-ease": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", - "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-fetch": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz", - "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==", - "license": "ISC", - "dependencies": { - "d3-dsv": "1 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-force": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz", - "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==", - "license": "ISC", - "dependencies": { - "d3-dispatch": "1 - 3", - "d3-quadtree": "1 - 3", - "d3-timer": "1 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-format": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.2.tgz", - "integrity": "sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg==", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-geo": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.1.tgz", - "integrity": "sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==", - "license": "ISC", - "dependencies": { - "d3-array": "2.5.0 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-hierarchy": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz", - "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-interpolate": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", - "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", - "license": "ISC", - "dependencies": { - "d3-color": "1 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-path": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", - "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-polygon": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz", - "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-quadtree": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz", - "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-random": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz", - "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-sankey": { - "version": "0.12.3", - "resolved": "https://registry.npmjs.org/d3-sankey/-/d3-sankey-0.12.3.tgz", - "integrity": "sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==", - "license": "BSD-3-Clause", - "dependencies": { - "d3-array": "1 - 2", - "d3-shape": "^1.2.0" - } - }, - "node_modules/d3-sankey/node_modules/d3-array": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.12.1.tgz", - "integrity": "sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==", - "license": "BSD-3-Clause", - "dependencies": { - "internmap": "^1.0.0" - } - }, - "node_modules/d3-sankey/node_modules/d3-path": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz", - "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==", - "license": "BSD-3-Clause" - }, - "node_modules/d3-sankey/node_modules/d3-shape": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz", - "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==", - "license": "BSD-3-Clause", - "dependencies": { - "d3-path": "1" - } - }, - "node_modules/d3-sankey/node_modules/internmap": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/internmap/-/internmap-1.0.1.tgz", - "integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==", - "license": "ISC" - }, - "node_modules/d3-scale": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", - "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", - "license": "ISC", - "dependencies": { - "d3-array": "2.10.0 - 3", - "d3-format": "1 - 3", - "d3-interpolate": "1.2.0 - 3", - "d3-time": "2.1.1 - 3", - "d3-time-format": "2 - 4" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-scale-chromatic": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz", - "integrity": "sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==", - "license": "ISC", - "dependencies": { - "d3-color": "1 - 3", - "d3-interpolate": "1 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-selection": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", - "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-shape": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", - "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", - "license": "ISC", - "dependencies": { - "d3-path": "^3.1.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-time": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", - "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", - "license": "ISC", - "dependencies": { - "d3-array": "2 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-time-format": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", - "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", - "license": "ISC", - "dependencies": { - "d3-time": "1 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-timer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", - "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-transition": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz", - "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==", - "license": "ISC", - "dependencies": { - "d3-color": "1 - 3", - "d3-dispatch": "1 - 3", - "d3-ease": "1 - 3", - "d3-interpolate": "1 - 3", - "d3-timer": "1 - 3" - }, - "engines": { - "node": ">=12" - }, - "peerDependencies": { - "d3-selection": "2 - 3" - } - }, - "node_modules/d3-zoom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz", - "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==", - "license": "ISC", - "dependencies": { - "d3-dispatch": "1 - 3", - "d3-drag": "2 - 3", - "d3-interpolate": "1 - 3", - "d3-selection": "2 - 3", - "d3-transition": "2 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/dagre-d3-es": { - "version": "7.0.13", - "resolved": "https://registry.npmjs.org/dagre-d3-es/-/dagre-d3-es-7.0.13.tgz", - "integrity": "sha512-efEhnxpSuwpYOKRm/L5KbqoZmNNukHa/Flty4Wp62JRvgH2ojwVgPgdYyr4twpieZnyRDdIH7PY2mopX26+j2Q==", - "license": "MIT", - "dependencies": { - "d3": "^7.9.0", - "lodash-es": "^4.17.21" - } - }, - "node_modules/dayjs": { - "version": "1.11.19", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.19.tgz", - "integrity": "sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==", - "license": "MIT" - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decode-named-character-reference": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.2.0.tgz", - "integrity": "sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==", - "license": "MIT", - "dependencies": { - "character-entities": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/defu": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz", - "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==", - "license": "MIT" - }, - "node_modules/delaunator": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.1.tgz", - "integrity": "sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==", - "license": "ISC", - "dependencies": { - "robust-predicates": "^3.0.2" - } - }, - "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==", - "devOptional": true, - "license": "Apache-2.0", - "engines": { - "node": ">=8" - } - }, - "node_modules/deterministic-object-hash": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/deterministic-object-hash/-/deterministic-object-hash-2.0.2.tgz", - "integrity": "sha512-KxektNH63SrbfUyDiwXqRb1rLwKt33AmMv+5Nhsw1kqZ13SJBRTgZHtGbE+hH3a1mVW1cz+4pqSWVPAtLVXTzQ==", - "license": "MIT", - "dependencies": { - "base-64": "^1.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/devalue": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.6.2.tgz", - "integrity": "sha512-nPRkjWzzDQlsejL1WVifk5rvcFi/y1onBRxjaFMjZeR9mFpqu2gmAZ9xUB9/IEanEP/vBtGeGganC/GO1fmufg==", - "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": "8.0.3", - "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.3.tgz", - "integrity": "sha512-qejHi7bcSD4hQAZE0tNAawRK1ZtafHDmMTMkrrIGgSLl7hTnQHmKCeB45xAcbfTqK2zowkM3j3bHt/4b/ARbYQ==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/dlv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", - "license": "MIT" - }, - "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/dom-serializer/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/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/dompurify": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.3.1.tgz", - "integrity": "sha512-qkdCKzLNtrgPFP1Vo+98FRzJnBRGe4ffyCea9IwHB1fyxPOeNTHpLKYGd4Uk9xvNoH0ZoOjwZxNptyMwqrId1Q==", - "license": "(MPL-2.0 OR Apache-2.0)", - "optionalDependencies": { - "@types/trusted-types": "^2.0.7" - } - }, - "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/emmet": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/emmet/-/emmet-2.4.11.tgz", - "integrity": "sha512-23QPJB3moh/U9sT4rQzGgeyyGIrcM+GH5uVYg2C6wZIxAIJq7Ng3QLT79tl8FUwDXhyq9SusfknOrofAKqvgyQ==", - "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==", - "license": "MIT" - }, - "node_modules/enhanced-resolve": { - "version": "5.18.4", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.4.tgz", - "integrity": "sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/entities": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", - "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/es-module-lexer": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", - "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", - "license": "MIT" - }, - "node_modules/esast-util-from-estree": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/esast-util-from-estree/-/esast-util-from-estree-2.0.0.tgz", - "integrity": "sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "devlop": "^1.0.0", - "estree-util-visit": "^2.0.0", - "unist-util-position-from-estree": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/esast-util-from-js": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/esast-util-from-js/-/esast-util-from-js-2.0.1.tgz", - "integrity": "sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "acorn": "^8.0.0", - "esast-util-from-estree": "^2.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/esbuild": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", - "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.12", - "@esbuild/android-arm": "0.25.12", - "@esbuild/android-arm64": "0.25.12", - "@esbuild/android-x64": "0.25.12", - "@esbuild/darwin-arm64": "0.25.12", - "@esbuild/darwin-x64": "0.25.12", - "@esbuild/freebsd-arm64": "0.25.12", - "@esbuild/freebsd-x64": "0.25.12", - "@esbuild/linux-arm": "0.25.12", - "@esbuild/linux-arm64": "0.25.12", - "@esbuild/linux-ia32": "0.25.12", - "@esbuild/linux-loong64": "0.25.12", - "@esbuild/linux-mips64el": "0.25.12", - "@esbuild/linux-ppc64": "0.25.12", - "@esbuild/linux-riscv64": "0.25.12", - "@esbuild/linux-s390x": "0.25.12", - "@esbuild/linux-x64": "0.25.12", - "@esbuild/netbsd-arm64": "0.25.12", - "@esbuild/netbsd-x64": "0.25.12", - "@esbuild/openbsd-arm64": "0.25.12", - "@esbuild/openbsd-x64": "0.25.12", - "@esbuild/openharmony-arm64": "0.25.12", - "@esbuild/sunos-x64": "0.25.12", - "@esbuild/win32-arm64": "0.25.12", - "@esbuild/win32-ia32": "0.25.12", - "@esbuild/win32-x64": "0.25.12" - } - }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/estree-util-attach-comments": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz", - "integrity": "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/estree-util-build-jsx": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz", - "integrity": "sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "devlop": "^1.0.0", - "estree-util-is-identifier-name": "^3.0.0", - "estree-walker": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/estree-util-is-identifier-name": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", - "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/estree-util-scope": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/estree-util-scope/-/estree-util-scope-1.0.0.tgz", - "integrity": "sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "devlop": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/estree-util-to-js": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz", - "integrity": "sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "astring": "^1.8.0", - "source-map": "^0.7.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/estree-util-visit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-2.0.0.tgz", - "integrity": "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0" - } - }, - "node_modules/eventemitter3": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", - "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", - "license": "MIT" - }, - "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-glob": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", - "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.8" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", - "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fastify" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fastify" - } - ], - "license": "BSD-3-Clause" - }, - "node_modules/fast-xml-parser": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.3.3.tgz", - "integrity": "sha512-2O3dkPAAC6JavuMm8+4+pgTk+5hoAs+CjZ+sWcQLkX9+/tHRuTkQh/Oaifr8qDmZ8iEHb771Ea6G8CdwkrgvYA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/NaturalIntelligence" - } - ], - "license": "MIT", - "dependencies": { - "strnum": "^2.1.0" - }, - "bin": { - "fxparser": "src/cli/cli.js" - } - }, - "node_modules/fastq": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", - "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fdir": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", - "license": "MIT", - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "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.0", - "resolved": "https://registry.npmjs.org/fontace/-/fontace-0.4.0.tgz", - "integrity": "sha512-moThBCItUe2bjZip5PF/iZClpKHGLwMvR79Kp8XpGRBrvoRSnySN4VcILdv3/MJzbhvUA5WeiUXF5o538m5fvg==", - "license": "MIT", - "dependencies": { - "fontkitten": "^1.0.0" - } - }, - "node_modules/fontkitten": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/fontkitten/-/fontkitten-1.0.2.tgz", - "integrity": "sha512-piJxbLnkD9Xcyi7dWJRnqszEURixe7CrF/efBfbffe2DPyabmuIuqraruY8cXTs19QoM8VJzx47BDRVNXETM7Q==", - "license": "MIT", - "dependencies": { - "tiny-inflate": "^1.0.3" - }, - "engines": { - "node": ">=20" - } - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "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==", - "license": "ISC", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-east-asian-width": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.4.0.tgz", - "integrity": "sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/h3": { - "version": "1.15.5", - "resolved": "https://registry.npmjs.org/h3/-/h3-1.15.5.tgz", - "integrity": "sha512-xEyq3rSl+dhGX2Lm0+eFQIAzlDN6Fs0EcC4f7BNUmzaRX/PTzeuM+Tr2lHB8FoXggsQIeXLj8EDVgs5ywxyxmg==", - "license": "MIT", - "dependencies": { - "cookie-es": "^1.2.2", - "crossws": "^0.3.5", - "defu": "^6.1.4", - "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/hachure-fill": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/hachure-fill/-/hachure-fill-0.5.2.tgz", - "integrity": "sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==", - "license": "MIT" - }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/hast-util-from-dom": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/hast-util-from-dom/-/hast-util-from-dom-5.0.1.tgz", - "integrity": "sha512-N+LqofjR2zuzTjCPzyDUdSshy4Ma6li7p/c3pA78uTwzFgENbgbUrm2ugwsOdcjI1muO+o6Dgzp9p8WHtn/39Q==", - "license": "ISC", - "dependencies": { - "@types/hast": "^3.0.0", - "hastscript": "^9.0.0", - "web-namespaces": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-from-html": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.3.tgz", - "integrity": "sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "devlop": "^1.1.0", - "hast-util-from-parse5": "^8.0.0", - "parse5": "^7.0.0", - "vfile": "^6.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-from-html-isomorphic": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hast-util-from-html-isomorphic/-/hast-util-from-html-isomorphic-2.0.0.tgz", - "integrity": "sha512-zJfpXq44yff2hmE0XmwEOzdWin5xwH+QIhMLOScpX91e/NSGPsAzNCvLQDIEPyO2TXi+lBmU6hjLIhV8MwP2kw==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "hast-util-from-dom": "^5.0.0", - "hast-util-from-html": "^2.0.0", - "unist-util-remove-position": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-from-parse5": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.3.tgz", - "integrity": "sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "devlop": "^1.0.0", - "hastscript": "^9.0.0", - "property-information": "^7.0.0", - "vfile": "^6.0.0", - "vfile-location": "^5.0.0", - "web-namespaces": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-is-element": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", - "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-parse-selector": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", - "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-raw": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.1.0.tgz", - "integrity": "sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "@ungap/structured-clone": "^1.0.0", - "hast-util-from-parse5": "^8.0.0", - "hast-util-to-parse5": "^8.0.0", - "html-void-elements": "^3.0.0", - "mdast-util-to-hast": "^13.0.0", - "parse5": "^7.0.0", - "unist-util-position": "^5.0.0", - "unist-util-visit": "^5.0.0", - "vfile": "^6.0.0", - "web-namespaces": "^2.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-estree": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-3.1.3.tgz", - "integrity": "sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "comma-separated-tokens": "^2.0.0", - "devlop": "^1.0.0", - "estree-util-attach-comments": "^3.0.0", - "estree-util-is-identifier-name": "^3.0.0", - "hast-util-whitespace": "^3.0.0", - "mdast-util-mdx-expression": "^2.0.0", - "mdast-util-mdx-jsx": "^3.0.0", - "mdast-util-mdxjs-esm": "^2.0.0", - "property-information": "^7.0.0", - "space-separated-tokens": "^2.0.0", - "style-to-js": "^1.0.0", - "unist-util-position": "^5.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "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-to-jsx-runtime": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz", - "integrity": "sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "comma-separated-tokens": "^2.0.0", - "devlop": "^1.0.0", - "estree-util-is-identifier-name": "^3.0.0", - "hast-util-whitespace": "^3.0.0", - "mdast-util-mdx-expression": "^2.0.0", - "mdast-util-mdx-jsx": "^3.0.0", - "mdast-util-mdxjs-esm": "^2.0.0", - "property-information": "^7.0.0", - "space-separated-tokens": "^2.0.0", - "style-to-js": "^1.0.0", - "unist-util-position": "^5.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-parse5": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.1.tgz", - "integrity": "sha512-MlWT6Pjt4CG9lFCjiz4BH7l9wmrMkfkJYCxFwKQic8+RTZgWPuWxwAfjJElsXkex7DJjfSJsQIt931ilUgmwdA==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "comma-separated-tokens": "^2.0.0", - "devlop": "^1.0.0", - "property-information": "^7.0.0", - "space-separated-tokens": "^2.0.0", - "web-namespaces": "^2.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-text": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz", - "integrity": "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "hast-util-is-element": "^3.0.0", - "unist-util-find-after": "^5.0.0" - }, - "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/hastscript": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-9.0.1.tgz", - "integrity": "sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "comma-separated-tokens": "^2.0.0", - "hast-util-parse-selector": "^4.0.0", - "property-information": "^7.0.0", - "space-separated-tokens": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "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.2.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", - "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", - "license": "BSD-2-Clause" - }, - "node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/import-meta-resolve": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.2.0.tgz", - "integrity": "sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/inline-style-parser": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.7.tgz", - "integrity": "sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==", - "license": "MIT" - }, - "node_modules/internmap": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", - "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "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-alphabetical": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", - "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-alphanumerical": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", - "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", - "license": "MIT", - "dependencies": { - "is-alphabetical": "^2.0.0", - "is-decimal": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-decimal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", - "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-docker": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", - "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", - "license": "MIT", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-hexadecimal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", - "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-inside-container": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", - "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", - "license": "MIT", - "dependencies": { - "is-docker": "^3.0.0" - }, - "bin": { - "is-inside-container": "cli.js" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "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-wsl": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", - "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", - "license": "MIT", - "dependencies": { - "is-inside-container": "^1.0.0" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jiti": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", - "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", - "devOptional": true, - "license": "MIT", - "bin": { - "jiti": "lib/jiti-cli.mjs" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", - "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", - "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", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "license": "MIT" - }, - "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==", - "license": "MIT" - }, - "node_modules/katex": { - "version": "0.16.27", - "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.27.tgz", - "integrity": "sha512-aeQoDkuRWSqQN6nSvVCEFvfXdqo1OQiCmmW1kc9xSdjutPv7BGO7pqY9sQRJpMOGrEdfDgF2TfRXe5eUAD2Waw==", - "funding": [ - "https://opencollective.com/katex", - "https://github.com/sponsors/katex" - ], - "license": "MIT", - "dependencies": { - "commander": "^8.3.0" - }, - "bin": { - "katex": "cli.js" - } - }, - "node_modules/katex/node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "license": "MIT", - "engines": { - "node": ">= 12" - } - }, - "node_modules/khroma": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/khroma/-/khroma-2.1.0.tgz", - "integrity": "sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==" - }, - "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==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/langium": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/langium/-/langium-3.3.1.tgz", - "integrity": "sha512-QJv/h939gDpvT+9SiLVlY7tZC3xB2qK57v0J04Sh9wpMb6MP1q8gB21L3WIo8T5P1MSMg3Ep14L7KkDCFG3y4w==", - "license": "MIT", - "dependencies": { - "chevrotain": "~11.0.3", - "chevrotain-allstar": "~0.3.0", - "vscode-languageserver": "~9.0.1", - "vscode-languageserver-textdocument": "~1.0.11", - "vscode-uri": "~3.0.8" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/langium/node_modules/vscode-uri": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.8.tgz", - "integrity": "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==", - "license": "MIT" - }, - "node_modules/layout-base": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/layout-base/-/layout-base-1.0.2.tgz", - "integrity": "sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==", - "license": "MIT" - }, - "node_modules/lightningcss": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.2.tgz", - "integrity": "sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==", - "devOptional": true, - "license": "MPL-2.0", - "dependencies": { - "detect-libc": "^2.0.3" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "optionalDependencies": { - "lightningcss-android-arm64": "1.30.2", - "lightningcss-darwin-arm64": "1.30.2", - "lightningcss-darwin-x64": "1.30.2", - "lightningcss-freebsd-x64": "1.30.2", - "lightningcss-linux-arm-gnueabihf": "1.30.2", - "lightningcss-linux-arm64-gnu": "1.30.2", - "lightningcss-linux-arm64-musl": "1.30.2", - "lightningcss-linux-x64-gnu": "1.30.2", - "lightningcss-linux-x64-musl": "1.30.2", - "lightningcss-win32-arm64-msvc": "1.30.2", - "lightningcss-win32-x64-msvc": "1.30.2" - } - }, - "node_modules/lightningcss-android-arm64": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.30.2.tgz", - "integrity": "sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-darwin-arm64": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.2.tgz", - "integrity": "sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-darwin-x64": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.2.tgz", - "integrity": "sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-freebsd-x64": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.2.tgz", - "integrity": "sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm-gnueabihf": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.2.tgz", - "integrity": "sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm64-gnu": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.2.tgz", - "integrity": "sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm64-musl": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.2.tgz", - "integrity": "sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-x64-gnu": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.2.tgz", - "integrity": "sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-x64-musl": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.2.tgz", - "integrity": "sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-win32-arm64-msvc": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.2.tgz", - "integrity": "sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-win32-x64-msvc": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.2.tgz", - "integrity": "sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "license": "MIT" - }, - "node_modules/lodash-es": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.23.tgz", - "integrity": "sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==", - "license": "MIT" - }, - "node_modules/longest-streak": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", - "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/lru-cache": { - "version": "11.2.4", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.4.tgz", - "integrity": "sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg==", - "license": "BlueOak-1.0.0", - "engines": { - "node": "20 || >=22" - } - }, - "node_modules/magic-string": { - "version": "0.30.21", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", - "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.5" - } - }, - "node_modules/magicast": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.5.1.tgz", - "integrity": "sha512-xrHS24IxaLrvuo613F719wvOIv9xPHFWQHuvGUBmPnCA/3MQxKI3b+r7n1jAoDHmsbC5bRhTZYR77invLAxVnw==", - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.28.5", - "@babel/types": "^7.28.5", - "source-map-js": "^1.2.1" - } - }, - "node_modules/markdown-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-2.0.0.tgz", - "integrity": "sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==", - "license": "MIT", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/markdown-table": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz", - "integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/marked": { - "version": "16.4.2", - "resolved": "https://registry.npmjs.org/marked/-/marked-16.4.2.tgz", - "integrity": "sha512-TI3V8YYWvkVf3KJe1dRkpnjs68JUPyEa5vjKrp1XEEJUAOaQc+Qj+L1qWbPd0SJuAdQkFU0h73sXXqwDYxsiDA==", - "license": "MIT", - "bin": { - "marked": "bin/marked.js" - }, - "engines": { - "node": ">= 20" - } - }, - "node_modules/mdast-util-definitions": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-6.0.0.tgz", - "integrity": "sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "unist-util-visit": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-find-and-replace": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz", - "integrity": "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "escape-string-regexp": "^5.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/mdast-util-from-markdown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", - "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "mdast-util-to-string": "^4.0.0", - "micromark": "^4.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-decode-string": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unist-util-stringify-position": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz", - "integrity": "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==", - "license": "MIT", - "dependencies": { - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-gfm-autolink-literal": "^2.0.0", - "mdast-util-gfm-footnote": "^2.0.0", - "mdast-util-gfm-strikethrough": "^2.0.0", - "mdast-util-gfm-table": "^2.0.0", - "mdast-util-gfm-task-list-item": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-autolink-literal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz", - "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "ccount": "^2.0.0", - "devlop": "^1.0.0", - "mdast-util-find-and-replace": "^3.0.0", - "micromark-util-character": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-footnote": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.1.0.tgz", - "integrity": "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "devlop": "^1.1.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-strikethrough": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", - "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-table": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", - "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "markdown-table": "^3.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-task-list-item": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", - "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdx": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz", - "integrity": "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==", - "license": "MIT", - "dependencies": { - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-mdx-expression": "^2.0.0", - "mdast-util-mdx-jsx": "^3.0.0", - "mdast-util-mdxjs-esm": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdx-expression": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz", - "integrity": "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdx-jsx": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz", - "integrity": "sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "ccount": "^2.0.0", - "devlop": "^1.1.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0", - "parse-entities": "^4.0.0", - "stringify-entities": "^4.0.0", - "unist-util-stringify-position": "^4.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdxjs-esm": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", - "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-phrasing": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", - "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "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/mdast-util-to-markdown": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", - "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "longest-streak": "^3.0.0", - "mdast-util-phrasing": "^4.0.0", - "mdast-util-to-string": "^4.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-decode-string": "^2.0.0", - "unist-util-visit": "^5.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", - "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdn-data": { - "version": "2.12.2", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.12.2.tgz", - "integrity": "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==", - "license": "CC0-1.0" - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/mermaid": { - "version": "11.12.2", - "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-11.12.2.tgz", - "integrity": "sha512-n34QPDPEKmaeCG4WDMGy0OT6PSyxKCfy2pJgShP+Qow2KLrvWjclwbc3yXfSIf4BanqWEhQEpngWwNp/XhZt6w==", - "license": "MIT", - "dependencies": { - "@braintree/sanitize-url": "^7.1.1", - "@iconify/utils": "^3.0.1", - "@mermaid-js/parser": "^0.6.3", - "@types/d3": "^7.4.3", - "cytoscape": "^3.29.3", - "cytoscape-cose-bilkent": "^4.1.0", - "cytoscape-fcose": "^2.2.0", - "d3": "^7.9.0", - "d3-sankey": "^0.12.3", - "dagre-d3-es": "7.0.13", - "dayjs": "^1.11.18", - "dompurify": "^3.2.5", - "katex": "^0.16.22", - "khroma": "^2.1.0", - "lodash-es": "^4.17.21", - "marked": "^16.2.1", - "roughjs": "^4.6.6", - "stylis": "^4.3.6", - "ts-dedent": "^2.2.0", - "uuid": "^11.1.0" - } - }, - "node_modules/mermaid-isomorphic": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/mermaid-isomorphic/-/mermaid-isomorphic-3.0.4.tgz", - "integrity": "sha512-XQTy7H1XwHK3DPEHf+ZNWiqUEd9BwX3Xws38R9Fj2gx718srmgjlZoUzHr+Tca+O+dqJOJsAJaKzCoP65QDfDg==", - "license": "MIT", - "dependencies": { - "@fortawesome/fontawesome-free": "^6.0.0", - "mermaid": "^11.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/remcohaszing" - }, - "peerDependencies": { - "playwright": "1" - }, - "peerDependenciesMeta": { - "playwright": { - "optional": true - } - } - }, - "node_modules/micromark": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz", - "integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "@types/debug": "^4.0.0", - "debug": "^4.0.0", - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-combine-extensions": "^2.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-encode": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-subtokenize": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-core-commonmark": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz", - "integrity": "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "micromark-factory-destination": "^2.0.0", - "micromark-factory-label": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-factory-title": "^2.0.0", - "micromark-factory-whitespace": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-html-tag-name": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-subtokenize": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-extension-gfm": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", - "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", - "license": "MIT", - "dependencies": { - "micromark-extension-gfm-autolink-literal": "^2.0.0", - "micromark-extension-gfm-footnote": "^2.0.0", - "micromark-extension-gfm-strikethrough": "^2.0.0", - "micromark-extension-gfm-table": "^2.0.0", - "micromark-extension-gfm-tagfilter": "^2.0.0", - "micromark-extension-gfm-task-list-item": "^2.0.0", - "micromark-util-combine-extensions": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-autolink-literal": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz", - "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==", - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-footnote": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz", - "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==", - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-strikethrough": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz", - "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==", - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-table": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz", - "integrity": "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==", - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-tagfilter": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", - "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", - "license": "MIT", - "dependencies": { - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-task-list-item": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz", - "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==", - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-mdx-expression": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.1.tgz", - "integrity": "sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "devlop": "^1.0.0", - "micromark-factory-mdx-expression": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-events-to-acorn": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-extension-mdx-jsx": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.2.tgz", - "integrity": "sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "devlop": "^1.0.0", - "estree-util-is-identifier-name": "^3.0.0", - "micromark-factory-mdx-expression": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-events-to-acorn": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-mdx-md": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz", - "integrity": "sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==", - "license": "MIT", - "dependencies": { - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-mdxjs": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz", - "integrity": "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==", - "license": "MIT", - "dependencies": { - "acorn": "^8.0.0", - "acorn-jsx": "^5.0.0", - "micromark-extension-mdx-expression": "^3.0.0", - "micromark-extension-mdx-jsx": "^3.0.0", - "micromark-extension-mdx-md": "^2.0.0", - "micromark-extension-mdxjs-esm": "^3.0.0", - "micromark-util-combine-extensions": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-mdxjs-esm": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz", - "integrity": "sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "devlop": "^1.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-events-to-acorn": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unist-util-position-from-estree": "^2.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-factory-destination": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", - "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", - "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-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-label": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", - "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-mdx-expression": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.3.tgz", - "integrity": "sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "devlop": "^1.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-events-to-acorn": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unist-util-position-from-estree": "^2.0.0", - "vfile-message": "^4.0.0" - } - }, - "node_modules/micromark-factory-space": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", - "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", - "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-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-title": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", - "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-whitespace": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", - "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "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-chunked": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", - "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", - "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" - } - }, - "node_modules/micromark-util-classify-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", - "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", - "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-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-combine-extensions": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", - "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-chunked": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-decode-numeric-character-reference": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", - "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", - "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" - } - }, - "node_modules/micromark-util-decode-string": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", - "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-symbol": "^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-events-to-acorn": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.3.tgz", - "integrity": "sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "@types/unist": "^3.0.0", - "devlop": "^1.0.0", - "estree-util-visit": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "vfile-message": "^4.0.0" - } - }, - "node_modules/micromark-util-html-tag-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", - "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-normalize-identifier": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", - "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", - "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" - } - }, - "node_modules/micromark-util-resolve-all": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", - "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-types": "^2.0.0" - } - }, - "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-subtokenize": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz", - "integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^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.2", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz", - "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "license": "MIT", - "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/micromatch/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/mini-svg-data-uri": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz", - "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==", - "license": "MIT", - "bin": { - "mini-svg-data-uri": "cli.js" - } - }, - "node_modules/mlly": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.8.0.tgz", - "integrity": "sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==", - "license": "MIT", - "dependencies": { - "acorn": "^8.15.0", - "pathe": "^2.0.3", - "pkg-types": "^1.3.1", - "ufo": "^1.6.1" - } - }, - "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==", - "license": "MIT" - }, - "node_modules/nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/neotraverse": { - "version": "0.6.18", - "resolved": "https://registry.npmjs.org/neotraverse/-/neotraverse-0.6.18.tgz", - "integrity": "sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA==", - "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.4", - "resolved": "https://registry.npmjs.org/node-mock-http/-/node-mock-http-1.0.4.tgz", - "integrity": "sha512-8DY+kFsDkNXy1sJglUfuODx1/opAGJGyrTuFqEoN90oRc2Vk0ZbD4K2qmKXBBEhZQzdKHIVfEJpDU8Ak2NJEvQ==", - "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/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.11", - "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", - "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", - "license": "MIT" - }, - "node_modules/oniguruma-parser": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/oniguruma-parser/-/oniguruma-parser-0.12.1.tgz", - "integrity": "sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w==", - "license": "MIT" - }, - "node_modules/oniguruma-to-es": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-4.3.4.tgz", - "integrity": "sha512-3VhUGN3w2eYxnTzHn+ikMI+fp/96KoRSVK9/kMTcFqj1NRDh2IhQCKvYxDnWePKRXY/AqH+Fuiyb7VHSzBjHfA==", - "license": "MIT", - "dependencies": { - "oniguruma-parser": "^0.12.1", - "regex": "^6.0.1", - "regex-recursion": "^6.0.2" - } - }, - "node_modules/p-limit": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-6.2.0.tgz", - "integrity": "sha512-kuUqqHNUqoIWp/c467RI4X6mmyuojY5jGutNU0wVTmEOOfcuwLqyMVoAi9MKi2Ak+5i9+nhmrK4ufZE8069kHA==", - "license": "MIT", - "dependencies": { - "yocto-queue": "^1.1.1" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-queue": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-8.1.1.tgz", - "integrity": "sha512-aNZ+VfjobsWryoiPnEApGGmf5WmNsCo9xu8dfaYamG5qaLP7ClhLN6NgsFe6SwJ2UbLEBK5dv9x8Mn5+RVhMWQ==", - "license": "MIT", - "dependencies": { - "eventemitter3": "^5.0.1", - "p-timeout": "^6.1.2" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-timeout": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.4.tgz", - "integrity": "sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==", - "license": "MIT", - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/package-manager-detector": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-1.6.0.tgz", - "integrity": "sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==", - "license": "MIT" - }, - "node_modules/parse-entities": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz", - "integrity": "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==", - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "character-entities-legacy": "^3.0.0", - "character-reference-invalid": "^2.0.0", - "decode-named-character-reference": "^1.0.0", - "is-alphanumerical": "^2.0.0", - "is-decimal": "^2.0.0", - "is-hexadecimal": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/parse-entities/node_modules/@types/unist": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", - "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", - "license": "MIT" - }, - "node_modules/parse-latin": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/parse-latin/-/parse-latin-7.0.0.tgz", - "integrity": "sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==", - "license": "MIT", - "dependencies": { - "@types/nlcst": "^2.0.0", - "@types/unist": "^3.0.0", - "nlcst-to-string": "^4.0.0", - "unist-util-modify-children": "^4.0.0", - "unist-util-visit-children": "^3.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/parse5": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", - "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", - "license": "MIT", - "dependencies": { - "entities": "^6.0.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "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==", - "license": "MIT" - }, - "node_modules/path-data-parser": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/path-data-parser/-/path-data-parser-0.1.0.tgz", - "integrity": "sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==", - "license": "MIT" - }, - "node_modules/pathe": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", - "license": "MIT" - }, - "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==", - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pkg-types": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz", - "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==", - "license": "MIT", - "dependencies": { - "confbox": "^0.1.8", - "mlly": "^1.7.4", - "pathe": "^2.0.1" - } - }, - "node_modules/playwright": { - "version": "1.57.0", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.57.0.tgz", - "integrity": "sha512-ilYQj1s8sr2ppEJ2YVadYBN0Mb3mdo9J0wQ+UuDhzYqURwSoW4n1Xs5vs7ORwgDGmyEh33tRMeS8KhdkMoLXQw==", - "devOptional": true, - "license": "Apache-2.0", - "dependencies": { - "playwright-core": "1.57.0" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "fsevents": "2.3.2" - } - }, - "node_modules/playwright-core": { - "version": "1.57.0", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.57.0.tgz", - "integrity": "sha512-agTcKlMw/mjBWOnD6kFZttAAGHgi/Nw0CZ2o6JqWSbMlI219lAFLZZCyqByTsvVAJq5XA5H8cA6PrvBRpBWEuQ==", - "devOptional": true, - "license": "Apache-2.0", - "bin": { - "playwright-core": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/playwright/node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/points-on-curve": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/points-on-curve/-/points-on-curve-0.2.0.tgz", - "integrity": "sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==", - "license": "MIT" - }, - "node_modules/points-on-path": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/points-on-path/-/points-on-path-0.2.1.tgz", - "integrity": "sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g==", - "license": "MIT", - "dependencies": { - "path-data-parser": "0.1.0", - "points-on-curve": "0.2.0" - } - }, - "node_modules/postcss": { - "version": "8.5.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", - "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.11", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", - "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", - "dev": true, - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/prettier": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.1.tgz", - "integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==", - "license": "MIT", - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/prettier-plugin-astro": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/prettier-plugin-astro/-/prettier-plugin-astro-0.14.1.tgz", - "integrity": "sha512-RiBETaaP9veVstE4vUwSIcdATj6dKmXljouXc/DDNwBSPTp8FRkLGDSGFClKsAFeeg+13SB0Z1JZvbD76bigJw==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "@astrojs/compiler": "^2.9.1", - "prettier": "^3.0.0", - "sass-formatter": "^0.7.6" - }, - "engines": { - "node": "^14.15.0 || >=16.0.0" - } - }, - "node_modules/prettier-plugin-tailwindcss": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.7.2.tgz", - "integrity": "sha512-LkphyK3Fw+q2HdMOoiEHWf93fNtYJwfamoKPl7UwtjFQdei/iIBoX11G6j706FzN3ymX9mPVi97qIY8328vdnA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=20.19" - }, - "peerDependencies": { - "@ianvs/prettier-plugin-sort-imports": "*", - "@prettier/plugin-hermes": "*", - "@prettier/plugin-oxc": "*", - "@prettier/plugin-pug": "*", - "@shopify/prettier-plugin-liquid": "*", - "@trivago/prettier-plugin-sort-imports": "*", - "@zackad/prettier-plugin-twig": "*", - "prettier": "^3.0", - "prettier-plugin-astro": "*", - "prettier-plugin-css-order": "*", - "prettier-plugin-jsdoc": "*", - "prettier-plugin-marko": "*", - "prettier-plugin-multiline-arrays": "*", - "prettier-plugin-organize-attributes": "*", - "prettier-plugin-organize-imports": "*", - "prettier-plugin-sort-imports": "*", - "prettier-plugin-svelte": "*" - }, - "peerDependenciesMeta": { - "@ianvs/prettier-plugin-sort-imports": { - "optional": true - }, - "@prettier/plugin-hermes": { - "optional": true - }, - "@prettier/plugin-oxc": { - "optional": true - }, - "@prettier/plugin-pug": { - "optional": true - }, - "@shopify/prettier-plugin-liquid": { - "optional": true - }, - "@trivago/prettier-plugin-sort-imports": { - "optional": true - }, - "@zackad/prettier-plugin-twig": { - "optional": true - }, - "prettier-plugin-astro": { - "optional": true - }, - "prettier-plugin-css-order": { - "optional": true - }, - "prettier-plugin-jsdoc": { - "optional": true - }, - "prettier-plugin-marko": { - "optional": true - }, - "prettier-plugin-multiline-arrays": { - "optional": true - }, - "prettier-plugin-organize-attributes": { - "optional": true - }, - "prettier-plugin-organize-imports": { - "optional": true - }, - "prettier-plugin-sort-imports": { - "optional": true - }, - "prettier-plugin-svelte": { - "optional": true - } - } - }, - "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/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "license": "MIT", - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/prompts/node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/property-information": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz", - "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "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/readdirp": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", - "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", - "license": "MIT", - "engines": { - "node": ">= 14.18.0" - }, - "funding": { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/recma-build-jsx": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/recma-build-jsx/-/recma-build-jsx-1.0.0.tgz", - "integrity": "sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "estree-util-build-jsx": "^3.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/recma-jsx": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/recma-jsx/-/recma-jsx-1.0.1.tgz", - "integrity": "sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w==", - "license": "MIT", - "dependencies": { - "acorn-jsx": "^5.0.0", - "estree-util-to-js": "^2.0.0", - "recma-parse": "^1.0.0", - "recma-stringify": "^1.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - }, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/recma-parse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/recma-parse/-/recma-parse-1.0.0.tgz", - "integrity": "sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "esast-util-from-js": "^2.0.0", - "unified": "^11.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/recma-stringify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/recma-stringify/-/recma-stringify-1.0.0.tgz", - "integrity": "sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "estree-util-to-js": "^2.0.0", - "unified": "^11.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "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/rehype": { - "version": "13.0.2", - "resolved": "https://registry.npmjs.org/rehype/-/rehype-13.0.2.tgz", - "integrity": "sha512-j31mdaRFrwFRUIlxGeuPXXKWQxet52RBQRvCmzl5eCefn/KGbomK5GMHNMsOJf55fgo3qw5tST5neDuarDYR2A==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "rehype-parse": "^9.0.0", - "rehype-stringify": "^10.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/rehype-mermaid": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/rehype-mermaid/-/rehype-mermaid-3.0.0.tgz", - "integrity": "sha512-fxrD5E4Fa1WXUjmjNDvLOMT4XB1WaxcfycFIWiYU0yEMQhcTDElc9aDFnbDFRLxG1Cfo1I3mfD5kg4sjlWaB+Q==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "hast-util-from-html-isomorphic": "^2.0.0", - "hast-util-to-text": "^4.0.0", - "mermaid-isomorphic": "^3.0.0", - "mini-svg-data-uri": "^1.0.0", - "space-separated-tokens": "^2.0.0", - "unified": "^11.0.0", - "unist-util-visit-parents": "^6.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/remcohaszing" - }, - "peerDependencies": { - "playwright": "1" - }, - "peerDependenciesMeta": { - "playwright": { - "optional": true - } - } - }, - "node_modules/rehype-parse": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-9.0.1.tgz", - "integrity": "sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "hast-util-from-html": "^2.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/rehype-raw": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz", - "integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "hast-util-raw": "^9.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/rehype-recma": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rehype-recma/-/rehype-recma-1.0.0.tgz", - "integrity": "sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "@types/hast": "^3.0.0", - "hast-util-to-estree": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/rehype-stringify": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/rehype-stringify/-/rehype-stringify-10.0.1.tgz", - "integrity": "sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "hast-util-to-html": "^9.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-gfm": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz", - "integrity": "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-gfm": "^3.0.0", - "micromark-extension-gfm": "^3.0.0", - "remark-parse": "^11.0.0", - "remark-stringify": "^11.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-mdx": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.1.1.tgz", - "integrity": "sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg==", - "license": "MIT", - "dependencies": { - "mdast-util-mdx": "^3.0.0", - "micromark-extension-mdxjs": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-parse": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", - "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-from-markdown": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-rehype": { - "version": "11.1.2", - "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz", - "integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "mdast-util-to-hast": "^13.0.0", - "unified": "^11.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-smartypants": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/remark-smartypants/-/remark-smartypants-3.0.2.tgz", - "integrity": "sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA==", - "license": "MIT", - "dependencies": { - "retext": "^9.0.0", - "retext-smartypants": "^6.0.0", - "unified": "^11.0.4", - "unist-util-visit": "^5.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/remark-stringify": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", - "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-to-markdown": "^2.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "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==", - "license": "MIT" - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/retext": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/retext/-/retext-9.0.0.tgz", - "integrity": "sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==", - "license": "MIT", - "dependencies": { - "@types/nlcst": "^2.0.0", - "retext-latin": "^4.0.0", - "retext-stringify": "^4.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext-latin": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/retext-latin/-/retext-latin-4.0.0.tgz", - "integrity": "sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==", - "license": "MIT", - "dependencies": { - "@types/nlcst": "^2.0.0", - "parse-latin": "^7.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "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/retext-stringify": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/retext-stringify/-/retext-stringify-4.0.0.tgz", - "integrity": "sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA==", - "license": "MIT", - "dependencies": { - "@types/nlcst": "^2.0.0", - "nlcst-to-string": "^4.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/reusify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", - "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/robust-predicates": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz", - "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==", - "license": "Unlicense" - }, - "node_modules/rollup": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.53.3.tgz", - "integrity": "sha512-w8GmOxZfBmKknvdXU1sdM9NHcoQejwF/4mNgj2JuEEdRaHwwF12K7e9eXn1nLZ07ad+du76mkVsyeb2rKGllsA==", - "license": "MIT", - "dependencies": { - "@types/estree": "1.0.8" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.53.3", - "@rollup/rollup-android-arm64": "4.53.3", - "@rollup/rollup-darwin-arm64": "4.53.3", - "@rollup/rollup-darwin-x64": "4.53.3", - "@rollup/rollup-freebsd-arm64": "4.53.3", - "@rollup/rollup-freebsd-x64": "4.53.3", - "@rollup/rollup-linux-arm-gnueabihf": "4.53.3", - "@rollup/rollup-linux-arm-musleabihf": "4.53.3", - "@rollup/rollup-linux-arm64-gnu": "4.53.3", - "@rollup/rollup-linux-arm64-musl": "4.53.3", - "@rollup/rollup-linux-loong64-gnu": "4.53.3", - "@rollup/rollup-linux-ppc64-gnu": "4.53.3", - "@rollup/rollup-linux-riscv64-gnu": "4.53.3", - "@rollup/rollup-linux-riscv64-musl": "4.53.3", - "@rollup/rollup-linux-s390x-gnu": "4.53.3", - "@rollup/rollup-linux-x64-gnu": "4.53.3", - "@rollup/rollup-linux-x64-musl": "4.53.3", - "@rollup/rollup-openharmony-arm64": "4.53.3", - "@rollup/rollup-win32-arm64-msvc": "4.53.3", - "@rollup/rollup-win32-ia32-msvc": "4.53.3", - "@rollup/rollup-win32-x64-gnu": "4.53.3", - "@rollup/rollup-win32-x64-msvc": "4.53.3", - "fsevents": "~2.3.2" - } - }, - "node_modules/roughjs": { - "version": "4.6.6", - "resolved": "https://registry.npmjs.org/roughjs/-/roughjs-4.6.6.tgz", - "integrity": "sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==", - "license": "MIT", - "dependencies": { - "hachure-fill": "^0.5.2", - "path-data-parser": "^0.1.0", - "points-on-curve": "^0.2.0", - "points-on-path": "^0.2.1" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/rw": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", - "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==", - "license": "BSD-3-Clause" - }, - "node_modules/s.color": { - "version": "0.0.15", - "resolved": "https://registry.npmjs.org/s.color/-/s.color-0.0.15.tgz", - "integrity": "sha512-AUNrbEUHeKY8XsYr/DYpl+qk5+aM+DChopnWOPEzn8YKzOhv4l2zH6LzZms3tOZP3wwdOyc0RmTciyi46HLIuA==", - "devOptional": true, - "license": "MIT" - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "license": "MIT" - }, - "node_modules/sass-formatter": { - "version": "0.7.9", - "resolved": "https://registry.npmjs.org/sass-formatter/-/sass-formatter-0.7.9.tgz", - "integrity": "sha512-CWZ8XiSim+fJVG0cFLStwDvft1VI7uvXdCNJYXhDvowiv+DsbD1nXLiQ4zrE5UBvj5DWZJ93cwN0NX5PMsr1Pw==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "suf-log": "^2.5.3" - } - }, - "node_modules/sax": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.3.tgz", - "integrity": "sha512-yqYn1JhPczigF94DMS+shiDMjDowYO6y9+wB/4WgO0Y19jWYk0lQ4tuG5KI7kj4FTp1wxPj5IFfcrz/s1c3jjQ==", - "license": "BlueOak-1.0.0" - }, - "node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/sharp": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz", - "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==", - "hasInstallScript": true, - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@img/colour": "^1.0.0", - "detect-libc": "^2.1.2", - "semver": "^7.7.3" - }, - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-darwin-arm64": "0.34.5", - "@img/sharp-darwin-x64": "0.34.5", - "@img/sharp-libvips-darwin-arm64": "1.2.4", - "@img/sharp-libvips-darwin-x64": "1.2.4", - "@img/sharp-libvips-linux-arm": "1.2.4", - "@img/sharp-libvips-linux-arm64": "1.2.4", - "@img/sharp-libvips-linux-ppc64": "1.2.4", - "@img/sharp-libvips-linux-riscv64": "1.2.4", - "@img/sharp-libvips-linux-s390x": "1.2.4", - "@img/sharp-libvips-linux-x64": "1.2.4", - "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", - "@img/sharp-libvips-linuxmusl-x64": "1.2.4", - "@img/sharp-linux-arm": "0.34.5", - "@img/sharp-linux-arm64": "0.34.5", - "@img/sharp-linux-ppc64": "0.34.5", - "@img/sharp-linux-riscv64": "0.34.5", - "@img/sharp-linux-s390x": "0.34.5", - "@img/sharp-linux-x64": "0.34.5", - "@img/sharp-linuxmusl-arm64": "0.34.5", - "@img/sharp-linuxmusl-x64": "0.34.5", - "@img/sharp-wasm32": "0.34.5", - "@img/sharp-win32-arm64": "0.34.5", - "@img/sharp-win32-ia32": "0.34.5", - "@img/sharp-win32-x64": "0.34.5" - } - }, - "node_modules/shiki": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-3.21.0.tgz", - "integrity": "sha512-N65B/3bqL/TI2crrXr+4UivctrAGEjmsib5rPMMPpFp1xAx/w03v8WZ9RDDFYteXoEgY7qZ4HGgl5KBIu1153w==", - "license": "MIT", - "dependencies": { - "@shikijs/core": "3.21.0", - "@shikijs/engine-javascript": "3.21.0", - "@shikijs/engine-oniguruma": "3.21.0", - "@shikijs/langs": "3.21.0", - "@shikijs/themes": "3.21.0", - "@shikijs/types": "3.21.0", - "@shikijs/vscode-textmate": "^10.0.2", - "@types/hast": "^3.0.4" - } - }, - "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/sitemap": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-8.0.2.tgz", - "integrity": "sha512-LwktpJcyZDoa0IL6KT++lQ53pbSrx2c9ge41/SeLTyqy2XUNA6uR4+P9u5IVo5lPeL2arAcOKn1aZAxoYbCKlQ==", - "license": "MIT", - "dependencies": { - "@types/node": "^17.0.5", - "@types/sax": "^1.2.1", - "arg": "^5.0.0", - "sax": "^1.4.1" - }, - "bin": { - "sitemap": "dist/cli.js" - }, - "engines": { - "node": ">=14.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/sitemap/node_modules/@types/node": { - "version": "17.0.45", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", - "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==", - "license": "MIT" - }, - "node_modules/smol-toml": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.6.0.tgz", - "integrity": "sha512-4zemZi0HvTnYwLfrpk/CF9LOd9Lt87kAt50GnqhMpyF9U3poDAP2+iukq2bZsO/ufegbYehBkqINbsWxj4l4cw==", - "license": "BSD-3-Clause", - "engines": { - "node": ">= 18" - }, - "funding": { - "url": "https://github.com/sponsors/cyyynthia" - } - }, - "node_modules/source-map": { - "version": "0.7.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", - "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", - "license": "BSD-3-Clause", - "engines": { - "node": ">= 12" - } - }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "license": "BSD-3-Clause", - "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/stream-replace-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/stream-replace-string/-/stream-replace-string-2.0.0.tgz", - "integrity": "sha512-TlnjJ1C0QrmxRNrON00JvaFFlNh5TTG00APw23j74ET7gkQpTASi6/L2fuiav8pzK715HXtUeClpBTw2NPSn6w==", - "license": "MIT" - }, - "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==", - "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/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.1.2", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", - "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/strnum": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/strnum/-/strnum-2.1.2.tgz", - "integrity": "sha512-l63NF9y/cLROq/yqKXSLtcMeeyOfnSQlfMSlzFt/K73oIaD8DGaQWd7Z34X9GPiKqP5rbSh84Hl4bOlLcjiSrQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/NaturalIntelligence" - } - ], - "license": "MIT" - }, - "node_modules/style-to-js": { - "version": "1.1.21", - "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.21.tgz", - "integrity": "sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==", - "license": "MIT", - "dependencies": { - "style-to-object": "1.0.14" - } - }, - "node_modules/style-to-object": { - "version": "1.0.14", - "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.14.tgz", - "integrity": "sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==", - "license": "MIT", - "dependencies": { - "inline-style-parser": "0.2.7" - } - }, - "node_modules/stylis": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.6.tgz", - "integrity": "sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==", - "license": "MIT" - }, - "node_modules/suf-log": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/suf-log/-/suf-log-2.5.3.tgz", - "integrity": "sha512-KvC8OPjzdNOe+xQ4XWJV2whQA0aM1kGVczMQ8+dStAO6KfEB140JEVQ9dE76ONZ0/Ylf67ni4tILPJB41U0eow==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "s.color": "0.0.15" - } - }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "license": "MIT", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/svgo": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-4.0.0.tgz", - "integrity": "sha512-VvrHQ+9uniE+Mvx3+C9IEe/lWasXCU0nXMY2kZeLrHNICuRiC8uMPyM14UEaMOFA5mhyQqEkB02VoQ16n3DLaw==", - "license": "MIT", - "dependencies": { - "commander": "^11.1.0", - "css-select": "^5.1.0", - "css-tree": "^3.0.1", - "css-what": "^6.1.0", - "csso": "^5.0.5", - "picocolors": "^1.1.1", - "sax": "^1.4.1" - }, - "bin": { - "svgo": "bin/svgo.js" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/svgo" - } - }, - "node_modules/tailwind-merge": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.4.0.tgz", - "integrity": "sha512-uSaO4gnW+b3Y2aWoWfFpX62vn2sR3skfhbjsEnaBI81WD1wBLlHZe5sWf0AqjksNdYTbGBEd0UasQMT3SNV15g==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/dcastil" - } - }, - "node_modules/tailwindcss": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.18.tgz", - "integrity": "sha512-4+Z+0yiYyEtUVCScyfHCxOYP06L5Ne+JiHhY2IjR2KWMIWhJOYZKLSGZaP5HkZ8+bY0cxfzwDE5uOmzFXyIwxw==", - "dev": true, - "license": "MIT" - }, - "node_modules/tapable": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", - "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "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/tinyexec": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.2.tgz", - "integrity": "sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==", - "license": "MIT", - "engines": { - "node": ">=18" - } - }, - "node_modules/tinyglobby": { - "version": "0.2.15", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", - "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", - "license": "MIT", - "dependencies": { - "fdir": "^6.5.0", - "picomatch": "^4.0.3" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "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/ts-dedent": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz", - "integrity": "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==", - "license": "MIT", - "engines": { - "node": ">=6.10" - } - }, - "node_modules/tsconfck": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.6.tgz", - "integrity": "sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==", - "license": "MIT", - "bin": { - "tsconfck": "bin/tsconfck.js" - }, - "engines": { - "node": "^18 || >=20" - }, - "peerDependencies": { - "typescript": "^5.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "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==", - "license": "0BSD", - "optional": true - }, - "node_modules/type-fest": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", - "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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==", - "license": "MIT" - }, - "node_modules/typescript": { - "version": "5.9.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", - "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "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==", - "license": "MIT", - "dependencies": { - "semver": "^7.3.8" - } - }, - "node_modules/ufo": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.3.tgz", - "integrity": "sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==", - "license": "MIT" - }, - "node_modules/ultrahtml": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/ultrahtml/-/ultrahtml-1.6.0.tgz", - "integrity": "sha512-R9fBn90VTJrqqLDwyMph+HGne8eqY1iPfYhPzZrvKpIfwkWZbcYlfpsb8B9dTvBfpy1/hqAD7Wi8EKfP9e8zdw==", - "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-types": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", - "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", - "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.3", - "resolved": "https://registry.npmjs.org/unifont/-/unifont-0.7.3.tgz", - "integrity": "sha512-b0GtQzKCyuSHGsfj5vyN8st7muZ6VCI4XD4vFlr7Uy1rlWVYxC3npnfk8MyreHxJYrz1ooLDqDzFe9XqQTlAhA==", - "license": "MIT", - "dependencies": { - "css-tree": "^3.1.0", - "ofetch": "^1.5.1", - "ohash": "^2.0.11" - } - }, - "node_modules/unist-util-find-after": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz", - "integrity": "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "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-modify-children": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-4.0.0.tgz", - "integrity": "sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "array-iterate": "^2.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-position-from-estree": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz", - "integrity": "sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-remove-position": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz", - "integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-visit": "^5.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.0.0", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", - "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", - "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-children": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unist-util-visit-children/-/unist-util-visit-children-3.0.0.tgz", - "integrity": "sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.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/unstorage": { - "version": "1.17.4", - "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.17.4.tgz", - "integrity": "sha512-fHK0yNg38tBiJKp/Vgsq4j0JEsCmgqH58HAn707S7zGkArbZsVr/CwINoi+nh3h98BRCwKvx1K3Xg9u3VV83sw==", - "license": "MIT", - "dependencies": { - "anymatch": "^3.1.3", - "chokidar": "^5.0.0", - "destr": "^2.0.5", - "h3": "^1.15.5", - "lru-cache": "^11.2.0", - "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.0.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz", - "integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==", - "license": "MIT", - "engines": { - "node": ">= 20.19.0" - }, - "funding": { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true, - "license": "MIT" - }, - "node_modules/uuid": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz", - "integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==", - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "license": "MIT", - "bin": { - "uuid": "dist/esm/bin/uuid" - } - }, - "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-location": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.3.tgz", - "integrity": "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "vfile": "^6.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": "6.4.1", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.1.tgz", - "integrity": "sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==", - "license": "MIT", - "dependencies": { - "esbuild": "^0.25.0", - "fdir": "^6.4.4", - "picomatch": "^4.0.2", - "postcss": "^8.5.3", - "rollup": "^4.34.9", - "tinyglobby": "^0.2.13" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", - "jiti": ">=1.21.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "sass-embedded": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.16.0", - "tsx": "^4.8.1", - "yaml": "^2.4.2" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "jiti": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - }, - "tsx": { - "optional": true - }, - "yaml": { - "optional": true - } - } - }, - "node_modules/vitefu": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.1.1.tgz", - "integrity": "sha512-B/Fegf3i8zh0yFbpzZ21amWzHmuNlLlmJT6n7bu5e+pCHUKQIfXSYokrqOBGEMMe9UG2sostKQF9mml/vYaWJQ==", - "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-beta.0" - }, - "peerDependenciesMeta": { - "vite": { - "optional": true - } - } - }, - "node_modules/volar-service-css": { - "version": "0.0.67", - "resolved": "https://registry.npmjs.org/volar-service-css/-/volar-service-css-0.0.67.tgz", - "integrity": "sha512-zV7C6enn9T9tuvQ6iSUyYEs34iPXR69Pf9YYWpbFYPWzVs22w96BtE8p04XYXbmjU6unt5oFt+iLL77bMB5fhA==", - "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.67", - "resolved": "https://registry.npmjs.org/volar-service-emmet/-/volar-service-emmet-0.0.67.tgz", - "integrity": "sha512-UDBL5x7KptmuJZNCCXMlCndMhFult/tj+9jXq3FH1ZGS1E4M/1U5hC06pg1c6e4kn+vnR6bqmvX0vIhL4f98+A==", - "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.67", - "resolved": "https://registry.npmjs.org/volar-service-html/-/volar-service-html-0.0.67.tgz", - "integrity": "sha512-ljREMF79JbcjNvObiv69HK2HCl5UT7WTD10zi6CRFUHMbPfiF2UZ42HGLsEGSzaHGZz6H4IFjSS/qfENRLUviQ==", - "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.67", - "resolved": "https://registry.npmjs.org/volar-service-prettier/-/volar-service-prettier-0.0.67.tgz", - "integrity": "sha512-B4KnPJPNWFTkEDa6Fn08i5PpO6T1CecmLLTFZoXz2eI4Fxwba/3nDaaVSsEP7e/vEe+U5YqV9fBzayJT71G5xg==", - "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.67", - "resolved": "https://registry.npmjs.org/volar-service-typescript/-/volar-service-typescript-0.0.67.tgz", - "integrity": "sha512-rfQBy36Rm1PU9vLWHk8BYJ4r2j/CI024vocJcH4Nb6K2RTc2Irmw6UOVY5DdGiPRV5r+e10wLMK5njj/EcL8sA==", - "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.67", - "resolved": "https://registry.npmjs.org/volar-service-typescript-twoslash-queries/-/volar-service-typescript-twoslash-queries-0.0.67.tgz", - "integrity": "sha512-LD2R7WivDYp1SPgZrxx/0222xVTitDjm36oKo5+bfYG5kEgnw+BOPVHdwmvpJKg/RfssfxDI1ouwD4XkEDEfbA==", - "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.67", - "resolved": "https://registry.npmjs.org/volar-service-yaml/-/volar-service-yaml-0.0.67.tgz", - "integrity": "sha512-jkdP/RF6wPIXEE3Ktnd81oJPn7aAvnVSiaqQHThC2Hrvo6xd9pEcqtbBUI+YfqVgvcMtXAkbtNO61K2GPhAiuA==", - "license": "MIT", - "dependencies": { - "vscode-uri": "^3.0.8", - "yaml-language-server": "~1.19.2" - }, - "peerDependencies": { - "@volar/language-service": "~2.4.0" - }, - "peerDependenciesMeta": { - "@volar/language-service": { - "optional": true - } - } - }, - "node_modules/vscode-css-languageservice": { - "version": "6.3.9", - "resolved": "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-6.3.9.tgz", - "integrity": "sha512-1tLWfp+TDM5ZuVWht3jmaY5y7O6aZmpeXLoHl5bv1QtRsRKt4xYGRMmdJa5Pqx/FTkgRbsna9R+Gn2xE+evVuA==", - "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-html-languageservice": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-5.6.1.tgz", - "integrity": "sha512-5Mrqy5CLfFZUgkyhNZLA1Ye5g12Cb/v6VM7SxUzZUaRKWMDz4md+y26PrfRTSU0/eQAl3XpO9m2og+GGtDMuaA==", - "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==", - "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-json-languageservice/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/vscode-jsonrpc": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz", - "integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==", - "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==", - "license": "MIT", - "dependencies": { - "vscode-languageserver-protocol": "3.17.5" - }, - "bin": { - "installServerIntoExtension": "bin/installServerIntoExtension" - } - }, - "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==", - "license": "MIT", - "dependencies": { - "vscode-jsonrpc": "8.2.0", - "vscode-languageserver-types": "3.17.5" - } - }, - "node_modules/vscode-languageserver-textdocument": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.12.tgz", - "integrity": "sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==", - "license": "MIT" - }, - "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==", - "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==", - "license": "MIT" - }, - "node_modules/vscode-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.1.0.tgz", - "integrity": "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==", - "license": "MIT" - }, - "node_modules/web-namespaces": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", - "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/which-pm-runs": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.1.0.tgz", - "integrity": "sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/widest-line": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-5.0.0.tgz", - "integrity": "sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==", - "license": "MIT", - "dependencies": { - "string-width": "^7.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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==", - "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/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==", - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/yaml": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz", - "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==", - "license": "ISC", - "bin": { - "yaml": "bin.mjs" - }, - "engines": { - "node": ">= 14.6" - }, - "funding": { - "url": "https://github.com/sponsors/eemeli" - } - }, - "node_modules/yaml-language-server": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/yaml-language-server/-/yaml-language-server-1.19.2.tgz", - "integrity": "sha512-9F3myNmJzUN/679jycdMxqtydPSDRAarSj3wPiF7pchEPnO9Dg07Oc+gIYLqXR4L+g+FSEVXXv2+mr54StLFOg==", - "license": "MIT", - "dependencies": { - "@vscode/l10n": "^0.0.18", - "ajv": "^8.17.1", - "ajv-draft-04": "^1.0.0", - "lodash": "4.17.21", - "prettier": "^3.5.0", - "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.7.1" - }, - "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==", - "license": "MIT" - }, - "node_modules/yaml-language-server/node_modules/yaml": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.1.tgz", - "integrity": "sha512-10ULxpnOCQXxJvBgxsn9ptjq6uviG/htZKk9veJGhlqn3w/DxQ631zFF+nlQXLwmImeS5amR2dl2U8sg6U9jsQ==", - "license": "ISC", - "bin": { - "yaml": "bin.mjs" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "license": "MIT", - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "license": "MIT" - }, - "node_modules/yargs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "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/yocto-spinner": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/yocto-spinner/-/yocto-spinner-0.2.3.tgz", - "integrity": "sha512-sqBChb33loEnkoXte1bLg45bEBsOP9N1kzQh5JZNKj/0rik4zAPTNSAVPj3uQAdc6slYJ0Ksc403G2XgxsJQFQ==", - "license": "MIT", - "dependencies": { - "yoctocolors": "^2.1.1" - }, - "engines": { - "node": ">=18.19" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/yoctocolors": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.2.tgz", - "integrity": "sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/zod": { - "version": "3.25.76", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", - "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/colinhacks" - } - }, - "node_modules/zod-to-json-schema": { - "version": "3.25.1", - "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.1.tgz", - "integrity": "sha512-pM/SU9d3YAggzi6MtR4h7ruuQlqKtad8e9S0fmxcMi+ueAK5Korys/aWcV9LIIHTVbj01NdzxcnXSN+O74ZIVA==", - "license": "ISC", - "peerDependencies": { - "zod": "^3.25 || ^4" - } - }, - "node_modules/zod-to-ts": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/zod-to-ts/-/zod-to-ts-1.2.0.tgz", - "integrity": "sha512-x30XE43V+InwGpvTySRNz9kB7qFU8DlyEy7BsSTCHPH1R0QasMmHWZDCzYm6bVXtj/9NNJAZF3jW8rzFvH5OFA==", - "peerDependencies": { - "typescript": "^4.9.4 || ^5.0.2", - "zod": "^3" - } - }, - "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" - } - } - } -} diff --git a/package.json b/package.json index 7676633..8fa0002 100644 --- a/package.json +++ b/package.json @@ -26,8 +26,6 @@ "astro": "^5.16.14", "chart.js": "^4.5.1", "clsx": "^2.1.0", - "rehype-mermaid": "^3.0.0", - "remark-mermaidjs": "^7.0.0", "tailwind-merge": "^3.4.0", "typescript": "^5.9.3" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f3e6c69..f965a87 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -35,12 +35,6 @@ importers: clsx: specifier: ^2.1.0 version: 2.1.1 - rehype-mermaid: - specifier: ^3.0.0 - version: 3.0.0(playwright@1.57.0) - remark-mermaidjs: - specifier: ^7.0.0 - version: 7.0.0(playwright@1.57.0) tailwind-merge: specifier: ^3.4.0 version: 3.4.0 @@ -75,9 +69,6 @@ importers: packages: - '@antfu/install-pkg@1.1.0': - resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==} - '@astrojs/check@0.9.6': resolution: {integrity: sha512-jlaEu5SxvSgmfGIFfNgcn5/f+29H61NJzEMfAZ82Xopr4XBchXB1GVlcJsE+elUlsYSbXlptZLX+JMG3b/wZEA==} hasBin: true @@ -145,28 +136,10 @@ packages: resolution: {integrity: sha512-0ZrskXVEHSWIqZM/sQZ4EV3jZJXRkio/WCxaqKZP1g//CEWEPSfeZFcms4XeKBCHU0ZKnIkdJeU/kF+eRp5lBg==} engines: {node: '>=6.9.0'} - '@braintree/sanitize-url@7.1.1': - resolution: {integrity: sha512-i1L7noDNxtFyL5DmZafWy1wRVhGehQmzZaz1HiN5e7iylJMSZR7ekOV7NsIqa5qBldlLrsKv4HbgFUVlQrz8Mw==} - '@capsizecss/unpack@4.0.0': resolution: {integrity: sha512-VERIM64vtTP1C4mxQ5thVT9fK0apjPFobqybMtA1UdUujWka24ERHbRHFGmpbbhp73MhV+KSsHQH9C6uOTdEQA==} engines: {node: '>=18'} - '@chevrotain/cst-dts-gen@11.0.3': - resolution: {integrity: sha512-BvIKpRLeS/8UbfxXxgC33xOumsacaeCKAjAeLyOn7Pcp95HiRbrpl14S+9vaZLolnbssPIUuiUd8IvgkRyt6NQ==} - - '@chevrotain/gast@11.0.3': - resolution: {integrity: sha512-+qNfcoNk70PyS/uxmj3li5NiECO+2YKZZQMbmjTqRI3Qchu8Hig/Q9vgkHpI3alNjr7M+a2St5pw5w5F6NL5/Q==} - - '@chevrotain/regexp-to-ast@11.0.3': - resolution: {integrity: sha512-1fMHaBZxLFvWI067AVbGJav1eRY7N8DDvYCTwGBiE/ytKBgP8azTdgyrKyWZ9Mfh09eHWb5PgTSO8wi7U824RA==} - - '@chevrotain/types@11.0.3': - resolution: {integrity: sha512-gsiM3G8b58kZC2HaWR50gu6Y1440cHiJ+i3JUvcp/35JchYejb2+5MVeJK0iKThYpAa/P2PYFV4hoi44HD+aHQ==} - - '@chevrotain/utils@11.0.3': - resolution: {integrity: sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ==} - '@emmetio/abbreviation@2.3.3': resolution: {integrity: sha512-mgv58UrU3rh4YgbE/TzgLQwJ3pFsHHhCLqY20aJq+9comytTXUDNGG/SMtSeMJdkpxgXSXunBGLD8Boka3JyVA==} @@ -350,16 +323,6 @@ packages: '@fontsource/work-sans@5.2.8': resolution: {integrity: sha512-6LaHjVVgts+rnrcqvEkP2+iUB/jw1oDSYsGO0+TltAhnWki9Hnf/UGpgMQh2jcm0GEH8VqCPnq4PpmHLFzxXtQ==} - '@fortawesome/fontawesome-free@6.7.2': - resolution: {integrity: sha512-JUOtgFW6k9u4Y+xeIaEiLr3+cjoUPiAuLXoyKOJSia6Duzb7pq+A76P9ZdPDoAoxHdHzq6gE9/jKBGXlZT8FbA==} - engines: {node: '>=6'} - - '@iconify/types@2.0.0': - resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} - - '@iconify/utils@3.1.0': - resolution: {integrity: sha512-Zlzem1ZXhI1iHeeERabLNzBHdOa4VhQbqAcOQaMKuTuyZCpwKbC2R4Dd0Zo3g9EAc+Y4fiarO8HIHRAth7+skw==} - '@img/colour@1.0.0': resolution: {integrity: sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==} engines: {node: '>=18'} @@ -535,9 +498,6 @@ packages: '@mdx-js/mdx@3.1.1': resolution: {integrity: sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==} - '@mermaid-js/parser@0.6.3': - resolution: {integrity: sha512-lnjOhe7zyHjc+If7yT4zoedx2vo4sHaTmtkl1+or8BRTnCtDmcTpAjpzDSfCZrshM5bCoz0GyidzadJAH1xobA==} - '@myriaddreamin/typst-ts-node-compiler-android-arm-eabi@0.7.0-rc2': resolution: {integrity: sha512-OnfUH3XbGel3+QUZc4G3+V1npXYGCDc3b7WhFw88ihCH/Xpw+NNjidLrFkY6kK2a5vVHnY2AEG0hJSwZzvOw0Q==} engines: {node: '>= 10'} @@ -902,99 +862,6 @@ packages: peerDependencies: vite: ^5.2.0 || ^6 || ^7 - '@types/d3-array@3.2.2': - resolution: {integrity: sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==} - - '@types/d3-axis@3.0.6': - resolution: {integrity: sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==} - - '@types/d3-brush@3.0.6': - resolution: {integrity: sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==} - - '@types/d3-chord@3.0.6': - resolution: {integrity: sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==} - - '@types/d3-color@3.1.3': - resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==} - - '@types/d3-contour@3.0.6': - resolution: {integrity: sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==} - - '@types/d3-delaunay@6.0.4': - resolution: {integrity: sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==} - - '@types/d3-dispatch@3.0.7': - resolution: {integrity: sha512-5o9OIAdKkhN1QItV2oqaE5KMIiXAvDWBDPrD85e58Qlz1c1kI/J0NcqbEG88CoTwJrYe7ntUCVfeUl2UJKbWgA==} - - '@types/d3-drag@3.0.7': - resolution: {integrity: sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==} - - '@types/d3-dsv@3.0.7': - resolution: {integrity: sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==} - - '@types/d3-ease@3.0.2': - resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==} - - '@types/d3-fetch@3.0.7': - resolution: {integrity: sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==} - - '@types/d3-force@3.0.10': - resolution: {integrity: sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==} - - '@types/d3-format@3.0.4': - resolution: {integrity: sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==} - - '@types/d3-geo@3.1.0': - resolution: {integrity: sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==} - - '@types/d3-hierarchy@3.1.7': - resolution: {integrity: sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==} - - '@types/d3-interpolate@3.0.4': - resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==} - - '@types/d3-path@3.1.1': - resolution: {integrity: sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==} - - '@types/d3-polygon@3.0.2': - resolution: {integrity: sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==} - - '@types/d3-quadtree@3.0.6': - resolution: {integrity: sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==} - - '@types/d3-random@3.0.3': - resolution: {integrity: sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==} - - '@types/d3-scale-chromatic@3.1.0': - resolution: {integrity: sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==} - - '@types/d3-scale@4.0.9': - resolution: {integrity: sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==} - - '@types/d3-selection@3.0.11': - resolution: {integrity: sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==} - - '@types/d3-shape@3.1.8': - resolution: {integrity: sha512-lae0iWfcDeR7qt7rA88BNiqdvPS5pFVPpo5OfjElwNaT2yyekbM0C9vK+yqBqEmHr6lDkRnYNoTBYlAgJa7a4w==} - - '@types/d3-time-format@4.0.3': - resolution: {integrity: sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==} - - '@types/d3-time@3.0.4': - resolution: {integrity: sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==} - - '@types/d3-timer@3.0.2': - resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==} - - '@types/d3-transition@3.0.9': - resolution: {integrity: sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==} - - '@types/d3-zoom@3.0.8': - resolution: {integrity: sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==} - - '@types/d3@7.4.3': - resolution: {integrity: sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==} - '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} @@ -1004,9 +871,6 @@ packages: '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} - '@types/geojson@7946.0.16': - resolution: {integrity: sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==} - '@types/hast@3.0.4': resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} @@ -1031,9 +895,6 @@ packages: '@types/sax@1.2.7': resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==} - '@types/trusted-types@2.0.7': - resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} - '@types/unist@2.0.11': resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} @@ -1183,14 +1044,6 @@ packages: resolution: {integrity: sha512-GIjfiT9dbmHRiYi6Nl2yFCq7kkwdkp1W/lp2J99rX0yo9tgJGn3lKQATztIjb5tVtevcBtIdICNWqlq5+E8/Pw==} engines: {pnpm: '>=8'} - chevrotain-allstar@0.3.1: - resolution: {integrity: sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==} - peerDependencies: - chevrotain: ^11.0.0 - - chevrotain@11.0.3: - resolution: {integrity: sha512-ci2iJH6LeIkvP9eJW6gpueU8cnZhv85ELY8w8WiFtNjMHA5ad6pQLaJo9mEly/9qUyCpvqX8/POVUTf18/HFdw==} - chokidar@4.0.3: resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} engines: {node: '>= 14.16.0'} @@ -1232,20 +1085,9 @@ packages: resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} engines: {node: '>=16'} - commander@7.2.0: - resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} - engines: {node: '>= 10'} - - commander@8.3.0: - resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} - engines: {node: '>= 12'} - common-ancestor-path@1.0.1: resolution: {integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==} - confbox@0.1.8: - resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} - cookie-es@1.2.2: resolution: {integrity: sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==} @@ -1253,12 +1095,6 @@ packages: resolution: {integrity: sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==} engines: {node: '>=18'} - cose-base@1.0.3: - resolution: {integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==} - - cose-base@2.2.0: - resolution: {integrity: sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==} - crossws@0.3.5: resolution: {integrity: sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==} @@ -1286,165 +1122,6 @@ packages: resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} - cytoscape-cose-bilkent@4.1.0: - resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==} - peerDependencies: - cytoscape: ^3.2.0 - - cytoscape-fcose@2.2.0: - resolution: {integrity: sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==} - peerDependencies: - cytoscape: ^3.2.0 - - cytoscape@3.33.1: - resolution: {integrity: sha512-iJc4TwyANnOGR1OmWhsS9ayRS3s+XQ185FmuHObThD+5AeJCakAAbWv8KimMTt08xCCLNgneQwFp+JRJOr9qGQ==} - engines: {node: '>=0.10'} - - d3-array@2.12.1: - resolution: {integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==} - - d3-array@3.2.4: - resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==} - engines: {node: '>=12'} - - d3-axis@3.0.0: - resolution: {integrity: sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==} - engines: {node: '>=12'} - - d3-brush@3.0.0: - resolution: {integrity: sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==} - engines: {node: '>=12'} - - d3-chord@3.0.1: - resolution: {integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==} - engines: {node: '>=12'} - - d3-color@3.1.0: - resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==} - engines: {node: '>=12'} - - d3-contour@4.0.2: - resolution: {integrity: sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==} - engines: {node: '>=12'} - - d3-delaunay@6.0.4: - resolution: {integrity: sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==} - engines: {node: '>=12'} - - d3-dispatch@3.0.1: - resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==} - engines: {node: '>=12'} - - d3-drag@3.0.0: - resolution: {integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==} - engines: {node: '>=12'} - - d3-dsv@3.0.1: - resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==} - engines: {node: '>=12'} - hasBin: true - - d3-ease@3.0.1: - resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==} - engines: {node: '>=12'} - - d3-fetch@3.0.1: - resolution: {integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==} - engines: {node: '>=12'} - - d3-force@3.0.0: - resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==} - engines: {node: '>=12'} - - d3-format@3.1.2: - resolution: {integrity: sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg==} - engines: {node: '>=12'} - - d3-geo@3.1.1: - resolution: {integrity: sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==} - engines: {node: '>=12'} - - d3-hierarchy@3.1.2: - resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==} - engines: {node: '>=12'} - - d3-interpolate@3.0.1: - resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} - engines: {node: '>=12'} - - d3-path@1.0.9: - resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==} - - d3-path@3.1.0: - resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==} - engines: {node: '>=12'} - - d3-polygon@3.0.1: - resolution: {integrity: sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==} - engines: {node: '>=12'} - - d3-quadtree@3.0.1: - resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==} - engines: {node: '>=12'} - - d3-random@3.0.1: - resolution: {integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==} - engines: {node: '>=12'} - - d3-sankey@0.12.3: - resolution: {integrity: sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==} - - d3-scale-chromatic@3.1.0: - resolution: {integrity: sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==} - engines: {node: '>=12'} - - d3-scale@4.0.2: - resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==} - engines: {node: '>=12'} - - d3-selection@3.0.0: - resolution: {integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==} - engines: {node: '>=12'} - - d3-shape@1.3.7: - resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==} - - d3-shape@3.2.0: - resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==} - engines: {node: '>=12'} - - d3-time-format@4.1.0: - resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==} - engines: {node: '>=12'} - - d3-time@3.1.0: - resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==} - engines: {node: '>=12'} - - d3-timer@3.0.1: - resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==} - engines: {node: '>=12'} - - d3-transition@3.0.1: - resolution: {integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==} - engines: {node: '>=12'} - peerDependencies: - d3-selection: 2 - 3 - - d3-zoom@3.0.0: - resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==} - engines: {node: '>=12'} - - d3@7.9.0: - resolution: {integrity: sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==} - engines: {node: '>=12'} - - dagre-d3-es@7.0.13: - resolution: {integrity: sha512-efEhnxpSuwpYOKRm/L5KbqoZmNNukHa/Flty4Wp62JRvgH2ojwVgPgdYyr4twpieZnyRDdIH7PY2mopX26+j2Q==} - - dayjs@1.11.19: - resolution: {integrity: sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==} - debug@4.4.3: resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} engines: {node: '>=6.0'} @@ -1460,9 +1137,6 @@ packages: defu@6.1.4: resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} - delaunator@5.0.1: - resolution: {integrity: sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==} - dequal@2.0.3: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} @@ -1501,9 +1175,6 @@ packages: resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} engines: {node: '>= 4'} - dompurify@3.3.1: - resolution: {integrity: sha512-qkdCKzLNtrgPFP1Vo+98FRzJnBRGe4ffyCea9IwHB1fyxPOeNTHpLKYGd4Uk9xvNoH0ZoOjwZxNptyMwqrId1Q==} - domutils@3.2.2: resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} @@ -1656,15 +1327,6 @@ packages: h3@1.15.5: resolution: {integrity: sha512-xEyq3rSl+dhGX2Lm0+eFQIAzlDN6Fs0EcC4f7BNUmzaRX/PTzeuM+Tr2lHB8FoXggsQIeXLj8EDVgs5ywxyxmg==} - hachure-fill@0.5.2: - resolution: {integrity: sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==} - - hast-util-from-dom@5.0.1: - resolution: {integrity: sha512-N+LqofjR2zuzTjCPzyDUdSshy4Ma6li7p/c3pA78uTwzFgENbgbUrm2ugwsOdcjI1muO+o6Dgzp9p8WHtn/39Q==} - - hast-util-from-html-isomorphic@2.0.0: - resolution: {integrity: sha512-zJfpXq44yff2hmE0XmwEOzdWin5xwH+QIhMLOScpX91e/NSGPsAzNCvLQDIEPyO2TXi+lBmU6hjLIhV8MwP2kw==} - hast-util-from-html@2.0.3: resolution: {integrity: sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==} @@ -1710,23 +1372,12 @@ packages: http-cache-semantics@4.2.0: resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==} - iconv-lite@0.6.3: - resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} - engines: {node: '>=0.10.0'} - import-meta-resolve@4.2.0: resolution: {integrity: sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==} inline-style-parser@0.2.7: resolution: {integrity: sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==} - internmap@1.0.1: - resolution: {integrity: sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==} - - internmap@2.0.3: - resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} - engines: {node: '>=12'} - iron-webcrypto@1.2.1: resolution: {integrity: sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==} @@ -1793,13 +1444,6 @@ packages: jsonc-parser@3.3.1: resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} - katex@0.16.27: - resolution: {integrity: sha512-aeQoDkuRWSqQN6nSvVCEFvfXdqo1OQiCmmW1kc9xSdjutPv7BGO7pqY9sQRJpMOGrEdfDgF2TfRXe5eUAD2Waw==} - hasBin: true - - khroma@2.1.0: - resolution: {integrity: sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==} - kleur@3.0.3: resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} engines: {node: '>=6'} @@ -1808,16 +1452,6 @@ packages: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} engines: {node: '>=6'} - langium@3.3.1: - resolution: {integrity: sha512-QJv/h939gDpvT+9SiLVlY7tZC3xB2qK57v0J04Sh9wpMb6MP1q8gB21L3WIo8T5P1MSMg3Ep14L7KkDCFG3y4w==} - engines: {node: '>=16.0.0'} - - layout-base@1.0.2: - resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==} - - layout-base@2.0.1: - resolution: {integrity: sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==} - lightningcss-android-arm64@1.30.2: resolution: {integrity: sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==} engines: {node: '>= 12.0.0'} @@ -1892,12 +1526,6 @@ packages: resolution: {integrity: sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==} engines: {node: '>= 12.0.0'} - lodash-es@4.17.21: - resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} - - lodash-es@4.17.23: - resolution: {integrity: sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==} - lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} @@ -1921,11 +1549,6 @@ packages: markdown-table@3.0.4: resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} - marked@16.4.2: - resolution: {integrity: sha512-TI3V8YYWvkVf3KJe1dRkpnjs68JUPyEa5vjKrp1XEEJUAOaQc+Qj+L1qWbPd0SJuAdQkFU0h73sXXqwDYxsiDA==} - engines: {node: '>= 20'} - hasBin: true - mdast-util-definitions@6.0.0: resolution: {integrity: sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ==} @@ -1987,17 +1610,6 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - mermaid-isomorphic@3.0.4: - resolution: {integrity: sha512-XQTy7H1XwHK3DPEHf+ZNWiqUEd9BwX3Xws38R9Fj2gx718srmgjlZoUzHr+Tca+O+dqJOJsAJaKzCoP65QDfDg==} - peerDependencies: - playwright: '1' - peerDependenciesMeta: - playwright: - optional: true - - mermaid@11.12.2: - resolution: {integrity: sha512-n34QPDPEKmaeCG4WDMGy0OT6PSyxKCfy2pJgShP+Qow2KLrvWjclwbc3yXfSIf4BanqWEhQEpngWwNp/XhZt6w==} - micromark-core-commonmark@2.0.3: resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==} @@ -2107,13 +1719,6 @@ packages: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} - mini-svg-data-uri@1.4.4: - resolution: {integrity: sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==} - hasBin: true - - mlly@1.8.0: - resolution: {integrity: sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==} - mrmime@2.0.1: resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} engines: {node: '>=10'} @@ -2188,12 +1793,6 @@ packages: path-browserify@1.0.1: resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} - path-data-parser@0.1.0: - resolution: {integrity: sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==} - - pathe@2.0.3: - resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} - piccolore@0.1.3: resolution: {integrity: sha512-o8bTeDWjE086iwKrROaDf31K0qC/BENdm15/uH9usSC/uZjJOKb2YGiVHfLY4GhwsERiPI1jmwI2XrA7ACOxVw==} @@ -2208,9 +1807,6 @@ packages: resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} engines: {node: '>=12'} - pkg-types@1.3.1: - resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} - playwright-core@1.57.0: resolution: {integrity: sha512-agTcKlMw/mjBWOnD6kFZttAAGHgi/Nw0CZ2o6JqWSbMlI219lAFLZZCyqByTsvVAJq5XA5H8cA6PrvBRpBWEuQ==} engines: {node: '>=18'} @@ -2221,12 +1817,6 @@ packages: engines: {node: '>=18'} hasBin: true - points-on-curve@0.2.0: - resolution: {integrity: sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==} - - points-on-path@0.2.1: - resolution: {integrity: sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g==} - postcss-selector-parser@6.0.10: resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} engines: {node: '>=4'} @@ -2347,14 +1937,6 @@ packages: regex@6.1.0: resolution: {integrity: sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==} - rehype-mermaid@3.0.0: - resolution: {integrity: sha512-fxrD5E4Fa1WXUjmjNDvLOMT4XB1WaxcfycFIWiYU0yEMQhcTDElc9aDFnbDFRLxG1Cfo1I3mfD5kg4sjlWaB+Q==} - peerDependencies: - playwright: '1' - peerDependenciesMeta: - playwright: - optional: true - rehype-parse@9.0.1: resolution: {integrity: sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag==} @@ -2376,15 +1958,6 @@ packages: remark-mdx@3.1.1: resolution: {integrity: sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg==} - remark-mermaidjs@7.0.0: - resolution: {integrity: sha512-daW4LzAX1q3//SdRsTQ0ELyAXdy0yvJJQ2S0he5ddhZmnt8cyTv3QN536ezMY/OY4a3XGDMz+NU1SOSQ5xcYAA==} - deprecated: Use rehype-mermaid instead - peerDependencies: - playwright: '1' - peerDependenciesMeta: - playwright: - optional: true - remark-parse@11.0.0: resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} @@ -2428,29 +2001,17 @@ packages: resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - robust-predicates@3.0.2: - resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} - rollup@4.56.0: resolution: {integrity: sha512-9FwVqlgUHzbXtDg9RCMgodF3Ua4Na6Gau+Sdt9vyCN4RhHfVKX2DCHy3BjMLTDd47ITDhYAnTwGulWTblJSDLg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true - roughjs@4.6.6: - resolution: {integrity: sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==} - run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - rw@1.3.3: - resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==} - s.color@0.0.15: resolution: {integrity: sha512-AUNrbEUHeKY8XsYr/DYpl+qk5+aM+DChopnWOPEzn8YKzOhv4l2zH6LzZms3tOZP3wwdOyc0RmTciyi46HLIuA==} - safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - sass-formatter@0.7.9: resolution: {integrity: sha512-CWZ8XiSim+fJVG0cFLStwDvft1VI7uvXdCNJYXhDvowiv+DsbD1nXLiQ4zrE5UBvj5DWZJ93cwN0NX5PMsr1Pw==} @@ -2524,9 +2085,6 @@ packages: style-to-object@1.0.14: resolution: {integrity: sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==} - stylis@4.3.6: - resolution: {integrity: sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==} - suf-log@2.5.3: resolution: {integrity: sha512-KvC8OPjzdNOe+xQ4XWJV2whQA0aM1kGVczMQ8+dStAO6KfEB140JEVQ9dE76ONZ0/Ylf67ni4tILPJB41U0eow==} @@ -2566,10 +2124,6 @@ packages: trough@2.2.0: resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} - ts-dedent@2.2.0: - resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==} - engines: {node: '>=6.10'} - tsconfck@3.1.6: resolution: {integrity: sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==} engines: {node: ^18 || >=20} @@ -2714,10 +2268,6 @@ packages: util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - uuid@11.1.0: - resolution: {integrity: sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==} - hasBin: true - vfile-location@5.0.3: resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==} @@ -2864,9 +2414,6 @@ packages: vscode-nls@5.2.0: resolution: {integrity: sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==} - vscode-uri@3.0.8: - resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} - vscode-uri@3.1.0: resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==} @@ -2949,11 +2496,6 @@ packages: snapshots: - '@antfu/install-pkg@1.1.0': - dependencies: - package-manager-detector: 1.6.0 - tinyexec: 1.0.2 - '@astrojs/check@0.9.6(prettier-plugin-astro@0.14.1)(prettier@3.8.1)(typescript@5.9.3)': dependencies: '@astrojs/language-server': 2.16.2(prettier-plugin-astro@0.14.1)(prettier@3.8.1)(typescript@5.9.3) @@ -3084,29 +2626,10 @@ snapshots: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.28.5 - '@braintree/sanitize-url@7.1.1': {} - '@capsizecss/unpack@4.0.0': dependencies: fontkitten: 1.0.2 - '@chevrotain/cst-dts-gen@11.0.3': - dependencies: - '@chevrotain/gast': 11.0.3 - '@chevrotain/types': 11.0.3 - lodash-es: 4.17.21 - - '@chevrotain/gast@11.0.3': - dependencies: - '@chevrotain/types': 11.0.3 - lodash-es: 4.17.21 - - '@chevrotain/regexp-to-ast@11.0.3': {} - - '@chevrotain/types@11.0.3': {} - - '@chevrotain/utils@11.0.3': {} - '@emmetio/abbreviation@2.3.3': dependencies: '@emmetio/scanner': 1.0.4 @@ -3215,16 +2738,6 @@ snapshots: '@fontsource/work-sans@5.2.8': {} - '@fortawesome/fontawesome-free@6.7.2': {} - - '@iconify/types@2.0.0': {} - - '@iconify/utils@3.1.0': - dependencies: - '@antfu/install-pkg': 1.1.0 - '@iconify/types': 2.0.0 - mlly: 1.8.0 - '@img/colour@1.0.0': optional: true @@ -3373,10 +2886,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@mermaid-js/parser@0.6.3': - dependencies: - langium: 3.3.1 - '@myriaddreamin/typst-ts-node-compiler-android-arm-eabi@0.7.0-rc2': optional: true @@ -3633,123 +3142,6 @@ snapshots: tailwindcss: 4.1.18 vite: 6.4.1(@types/node@25.0.10)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2) - '@types/d3-array@3.2.2': {} - - '@types/d3-axis@3.0.6': - dependencies: - '@types/d3-selection': 3.0.11 - - '@types/d3-brush@3.0.6': - dependencies: - '@types/d3-selection': 3.0.11 - - '@types/d3-chord@3.0.6': {} - - '@types/d3-color@3.1.3': {} - - '@types/d3-contour@3.0.6': - dependencies: - '@types/d3-array': 3.2.2 - '@types/geojson': 7946.0.16 - - '@types/d3-delaunay@6.0.4': {} - - '@types/d3-dispatch@3.0.7': {} - - '@types/d3-drag@3.0.7': - dependencies: - '@types/d3-selection': 3.0.11 - - '@types/d3-dsv@3.0.7': {} - - '@types/d3-ease@3.0.2': {} - - '@types/d3-fetch@3.0.7': - dependencies: - '@types/d3-dsv': 3.0.7 - - '@types/d3-force@3.0.10': {} - - '@types/d3-format@3.0.4': {} - - '@types/d3-geo@3.1.0': - dependencies: - '@types/geojson': 7946.0.16 - - '@types/d3-hierarchy@3.1.7': {} - - '@types/d3-interpolate@3.0.4': - dependencies: - '@types/d3-color': 3.1.3 - - '@types/d3-path@3.1.1': {} - - '@types/d3-polygon@3.0.2': {} - - '@types/d3-quadtree@3.0.6': {} - - '@types/d3-random@3.0.3': {} - - '@types/d3-scale-chromatic@3.1.0': {} - - '@types/d3-scale@4.0.9': - dependencies: - '@types/d3-time': 3.0.4 - - '@types/d3-selection@3.0.11': {} - - '@types/d3-shape@3.1.8': - dependencies: - '@types/d3-path': 3.1.1 - - '@types/d3-time-format@4.0.3': {} - - '@types/d3-time@3.0.4': {} - - '@types/d3-timer@3.0.2': {} - - '@types/d3-transition@3.0.9': - dependencies: - '@types/d3-selection': 3.0.11 - - '@types/d3-zoom@3.0.8': - dependencies: - '@types/d3-interpolate': 3.0.4 - '@types/d3-selection': 3.0.11 - - '@types/d3@7.4.3': - dependencies: - '@types/d3-array': 3.2.2 - '@types/d3-axis': 3.0.6 - '@types/d3-brush': 3.0.6 - '@types/d3-chord': 3.0.6 - '@types/d3-color': 3.1.3 - '@types/d3-contour': 3.0.6 - '@types/d3-delaunay': 6.0.4 - '@types/d3-dispatch': 3.0.7 - '@types/d3-drag': 3.0.7 - '@types/d3-dsv': 3.0.7 - '@types/d3-ease': 3.0.2 - '@types/d3-fetch': 3.0.7 - '@types/d3-force': 3.0.10 - '@types/d3-format': 3.0.4 - '@types/d3-geo': 3.1.0 - '@types/d3-hierarchy': 3.1.7 - '@types/d3-interpolate': 3.0.4 - '@types/d3-path': 3.1.1 - '@types/d3-polygon': 3.0.2 - '@types/d3-quadtree': 3.0.6 - '@types/d3-random': 3.0.3 - '@types/d3-scale': 4.0.9 - '@types/d3-scale-chromatic': 3.1.0 - '@types/d3-selection': 3.0.11 - '@types/d3-shape': 3.1.8 - '@types/d3-time': 3.0.4 - '@types/d3-time-format': 4.0.3 - '@types/d3-timer': 3.0.2 - '@types/d3-transition': 3.0.9 - '@types/d3-zoom': 3.0.8 - '@types/debug@4.1.12': dependencies: '@types/ms': 2.1.0 @@ -3760,8 +3152,6 @@ snapshots: '@types/estree@1.0.8': {} - '@types/geojson@7946.0.16': {} - '@types/hast@3.0.4': dependencies: '@types/unist': 3.0.3 @@ -3789,9 +3179,6 @@ snapshots: dependencies: '@types/node': 17.0.45 - '@types/trusted-types@2.0.7': - optional: true - '@types/unist@2.0.11': {} '@types/unist@3.0.3': {} @@ -4037,20 +3424,6 @@ snapshots: dependencies: '@kurkle/color': 0.3.4 - chevrotain-allstar@0.3.1(chevrotain@11.0.3): - dependencies: - chevrotain: 11.0.3 - lodash-es: 4.17.23 - - chevrotain@11.0.3: - dependencies: - '@chevrotain/cst-dts-gen': 11.0.3 - '@chevrotain/gast': 11.0.3 - '@chevrotain/regexp-to-ast': 11.0.3 - '@chevrotain/types': 11.0.3 - '@chevrotain/utils': 11.0.3 - lodash-es: 4.17.21 - chokidar@4.0.3: dependencies: readdirp: 4.1.2 @@ -4083,26 +3456,12 @@ snapshots: commander@11.1.0: {} - commander@7.2.0: {} - - commander@8.3.0: {} - common-ancestor-path@1.0.1: {} - confbox@0.1.8: {} - cookie-es@1.2.2: {} cookie@1.1.1: {} - cose-base@1.0.3: - dependencies: - layout-base: 1.0.2 - - cose-base@2.2.0: - dependencies: - layout-base: 2.0.1 - crossws@0.3.5: dependencies: uncrypto: 0.1.3 @@ -4133,192 +3492,6 @@ snapshots: dependencies: css-tree: 2.2.1 - cytoscape-cose-bilkent@4.1.0(cytoscape@3.33.1): - dependencies: - cose-base: 1.0.3 - cytoscape: 3.33.1 - - cytoscape-fcose@2.2.0(cytoscape@3.33.1): - dependencies: - cose-base: 2.2.0 - cytoscape: 3.33.1 - - cytoscape@3.33.1: {} - - d3-array@2.12.1: - dependencies: - internmap: 1.0.1 - - d3-array@3.2.4: - dependencies: - internmap: 2.0.3 - - d3-axis@3.0.0: {} - - d3-brush@3.0.0: - dependencies: - d3-dispatch: 3.0.1 - d3-drag: 3.0.0 - d3-interpolate: 3.0.1 - d3-selection: 3.0.0 - d3-transition: 3.0.1(d3-selection@3.0.0) - - d3-chord@3.0.1: - dependencies: - d3-path: 3.1.0 - - d3-color@3.1.0: {} - - d3-contour@4.0.2: - dependencies: - d3-array: 3.2.4 - - d3-delaunay@6.0.4: - dependencies: - delaunator: 5.0.1 - - d3-dispatch@3.0.1: {} - - d3-drag@3.0.0: - dependencies: - d3-dispatch: 3.0.1 - d3-selection: 3.0.0 - - d3-dsv@3.0.1: - dependencies: - commander: 7.2.0 - iconv-lite: 0.6.3 - rw: 1.3.3 - - d3-ease@3.0.1: {} - - d3-fetch@3.0.1: - dependencies: - d3-dsv: 3.0.1 - - d3-force@3.0.0: - dependencies: - d3-dispatch: 3.0.1 - d3-quadtree: 3.0.1 - d3-timer: 3.0.1 - - d3-format@3.1.2: {} - - d3-geo@3.1.1: - dependencies: - d3-array: 3.2.4 - - d3-hierarchy@3.1.2: {} - - d3-interpolate@3.0.1: - dependencies: - d3-color: 3.1.0 - - d3-path@1.0.9: {} - - d3-path@3.1.0: {} - - d3-polygon@3.0.1: {} - - d3-quadtree@3.0.1: {} - - d3-random@3.0.1: {} - - d3-sankey@0.12.3: - dependencies: - d3-array: 2.12.1 - d3-shape: 1.3.7 - - d3-scale-chromatic@3.1.0: - dependencies: - d3-color: 3.1.0 - d3-interpolate: 3.0.1 - - d3-scale@4.0.2: - dependencies: - d3-array: 3.2.4 - d3-format: 3.1.2 - d3-interpolate: 3.0.1 - d3-time: 3.1.0 - d3-time-format: 4.1.0 - - d3-selection@3.0.0: {} - - d3-shape@1.3.7: - dependencies: - d3-path: 1.0.9 - - d3-shape@3.2.0: - dependencies: - d3-path: 3.1.0 - - d3-time-format@4.1.0: - dependencies: - d3-time: 3.1.0 - - d3-time@3.1.0: - dependencies: - d3-array: 3.2.4 - - d3-timer@3.0.1: {} - - d3-transition@3.0.1(d3-selection@3.0.0): - dependencies: - d3-color: 3.1.0 - d3-dispatch: 3.0.1 - d3-ease: 3.0.1 - d3-interpolate: 3.0.1 - d3-selection: 3.0.0 - d3-timer: 3.0.1 - - d3-zoom@3.0.0: - dependencies: - d3-dispatch: 3.0.1 - d3-drag: 3.0.0 - d3-interpolate: 3.0.1 - d3-selection: 3.0.0 - d3-transition: 3.0.1(d3-selection@3.0.0) - - d3@7.9.0: - dependencies: - d3-array: 3.2.4 - d3-axis: 3.0.0 - d3-brush: 3.0.0 - d3-chord: 3.0.1 - d3-color: 3.1.0 - d3-contour: 4.0.2 - d3-delaunay: 6.0.4 - d3-dispatch: 3.0.1 - d3-drag: 3.0.0 - d3-dsv: 3.0.1 - d3-ease: 3.0.1 - d3-fetch: 3.0.1 - d3-force: 3.0.0 - d3-format: 3.1.2 - d3-geo: 3.1.1 - d3-hierarchy: 3.1.2 - d3-interpolate: 3.0.1 - d3-path: 3.1.0 - d3-polygon: 3.0.1 - d3-quadtree: 3.0.1 - d3-random: 3.0.1 - d3-scale: 4.0.2 - d3-scale-chromatic: 3.1.0 - d3-selection: 3.0.0 - d3-shape: 3.2.0 - d3-time: 3.1.0 - d3-time-format: 4.1.0 - d3-timer: 3.0.1 - d3-transition: 3.0.1(d3-selection@3.0.0) - d3-zoom: 3.0.0 - - dagre-d3-es@7.0.13: - dependencies: - d3: 7.9.0 - lodash-es: 4.17.23 - - dayjs@1.11.19: {} - debug@4.4.3: dependencies: ms: 2.1.3 @@ -4329,10 +3502,6 @@ snapshots: defu@6.1.4: {} - delaunator@5.0.1: - dependencies: - robust-predicates: 3.0.2 - dequal@2.0.3: {} destr@2.0.5: {} @@ -4365,10 +3534,6 @@ snapshots: dependencies: domelementtype: 2.3.0 - dompurify@3.3.1: - optionalDependencies: - '@types/trusted-types': 2.0.7 - domutils@3.2.2: dependencies: dom-serializer: 2.0.0 @@ -4551,21 +3716,6 @@ snapshots: ufo: 1.6.3 uncrypto: 0.1.3 - hachure-fill@0.5.2: {} - - hast-util-from-dom@5.0.1: - dependencies: - '@types/hast': 3.0.4 - hastscript: 9.0.1 - web-namespaces: 2.0.1 - - hast-util-from-html-isomorphic@2.0.0: - dependencies: - '@types/hast': 3.0.4 - hast-util-from-dom: 5.0.1 - hast-util-from-html: 2.0.3 - unist-util-remove-position: 5.0.0 - hast-util-from-html@2.0.3: dependencies: '@types/hast': 3.0.4 @@ -4700,18 +3850,10 @@ snapshots: http-cache-semantics@4.2.0: {} - iconv-lite@0.6.3: - dependencies: - safer-buffer: 2.1.2 - import-meta-resolve@4.2.0: {} inline-style-parser@0.2.7: {} - internmap@1.0.1: {} - - internmap@2.0.3: {} - iron-webcrypto@1.2.1: {} is-alphabetical@2.0.1: {} @@ -4759,28 +3901,10 @@ snapshots: jsonc-parser@3.3.1: {} - katex@0.16.27: - dependencies: - commander: 8.3.0 - - khroma@2.1.0: {} - kleur@3.0.3: {} kleur@4.1.5: {} - langium@3.3.1: - dependencies: - chevrotain: 11.0.3 - chevrotain-allstar: 0.3.1(chevrotain@11.0.3) - vscode-languageserver: 9.0.1 - vscode-languageserver-textdocument: 1.0.12 - vscode-uri: 3.0.8 - - layout-base@1.0.2: {} - - layout-base@2.0.1: {} - lightningcss-android-arm64@1.30.2: optional: true @@ -4830,10 +3954,6 @@ snapshots: lightningcss-win32-arm64-msvc: 1.30.2 lightningcss-win32-x64-msvc: 1.30.2 - lodash-es@4.17.21: {} - - lodash-es@4.17.23: {} - lodash@4.17.21: {} longest-streak@3.1.0: {} @@ -4854,8 +3974,6 @@ snapshots: markdown-table@3.0.4: {} - marked@16.4.2: {} - mdast-util-definitions@6.0.0: dependencies: '@types/mdast': 4.0.4 @@ -5031,36 +4149,6 @@ snapshots: merge2@1.4.1: {} - mermaid-isomorphic@3.0.4(playwright@1.57.0): - dependencies: - '@fortawesome/fontawesome-free': 6.7.2 - mermaid: 11.12.2 - optionalDependencies: - playwright: 1.57.0 - - mermaid@11.12.2: - dependencies: - '@braintree/sanitize-url': 7.1.1 - '@iconify/utils': 3.1.0 - '@mermaid-js/parser': 0.6.3 - '@types/d3': 7.4.3 - cytoscape: 3.33.1 - cytoscape-cose-bilkent: 4.1.0(cytoscape@3.33.1) - cytoscape-fcose: 2.2.0(cytoscape@3.33.1) - d3: 7.9.0 - d3-sankey: 0.12.3 - dagre-d3-es: 7.0.13 - dayjs: 1.11.19 - dompurify: 3.3.1 - katex: 0.16.27 - khroma: 2.1.0 - lodash-es: 4.17.23 - marked: 16.4.2 - roughjs: 4.6.6 - stylis: 4.3.6 - ts-dedent: 2.2.0 - uuid: 11.1.0 - micromark-core-commonmark@2.0.3: dependencies: decode-named-character-reference: 1.3.0 @@ -5330,15 +4418,6 @@ snapshots: braces: 3.0.3 picomatch: 2.3.1 - mini-svg-data-uri@1.4.4: {} - - mlly@1.8.0: - dependencies: - acorn: 8.15.0 - pathe: 2.0.3 - pkg-types: 1.3.1 - ufo: 1.6.3 - mrmime@2.0.1: {} ms@2.1.3: {} @@ -5417,10 +4496,6 @@ snapshots: path-browserify@1.0.1: {} - path-data-parser@0.1.0: {} - - pathe@2.0.3: {} - piccolore@0.1.3: {} picocolors@1.1.1: {} @@ -5429,12 +4504,6 @@ snapshots: picomatch@4.0.3: {} - pkg-types@1.3.1: - dependencies: - confbox: 0.1.8 - mlly: 1.8.0 - pathe: 2.0.3 - playwright-core@1.57.0: {} playwright@1.57.0: @@ -5443,13 +4512,6 @@ snapshots: optionalDependencies: fsevents: 2.3.2 - points-on-curve@0.2.0: {} - - points-on-path@0.2.1: - dependencies: - path-data-parser: 0.1.0 - points-on-curve: 0.2.0 - postcss-selector-parser@6.0.10: dependencies: cssesc: 3.0.0 @@ -5531,20 +4593,6 @@ snapshots: dependencies: regex-utilities: 2.3.0 - rehype-mermaid@3.0.0(playwright@1.57.0): - dependencies: - '@types/hast': 3.0.4 - hast-util-from-html-isomorphic: 2.0.0 - hast-util-to-text: 4.0.2 - mermaid-isomorphic: 3.0.4(playwright@1.57.0) - mini-svg-data-uri: 1.4.4 - space-separated-tokens: 2.0.2 - unified: 11.0.5 - unist-util-visit-parents: 6.0.2 - vfile: 6.0.3 - optionalDependencies: - playwright: 1.57.0 - rehype-parse@9.0.1: dependencies: '@types/hast': 3.0.4 @@ -5596,17 +4644,6 @@ snapshots: transitivePeerDependencies: - supports-color - remark-mermaidjs@7.0.0(playwright@1.57.0): - dependencies: - '@types/mdast': 4.0.4 - hast-util-from-html-isomorphic: 2.0.0 - mermaid-isomorphic: 3.0.4(playwright@1.57.0) - unified: 11.0.5 - unist-util-visit-parents: 6.0.2 - vfile: 6.0.3 - optionalDependencies: - playwright: 1.57.0 - remark-parse@11.0.0: dependencies: '@types/mdast': 4.0.4 @@ -5672,8 +4709,6 @@ snapshots: reusify@1.1.0: {} - robust-predicates@3.0.2: {} - rollup@4.56.0: dependencies: '@types/estree': 1.0.8 @@ -5705,23 +4740,12 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.56.0 fsevents: 2.3.3 - roughjs@4.6.6: - dependencies: - hachure-fill: 0.5.2 - path-data-parser: 0.1.0 - points-on-curve: 0.2.0 - points-on-path: 0.2.1 - run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 - rw@1.3.3: {} - s.color@0.0.15: {} - safer-buffer@2.1.2: {} - sass-formatter@0.7.9: dependencies: suf-log: 2.5.3 @@ -5827,8 +4851,6 @@ snapshots: dependencies: inline-style-parser: 0.2.7 - stylis@4.3.6: {} - suf-log@2.5.3: dependencies: s.color: 0.0.15 @@ -5866,8 +4888,6 @@ snapshots: trough@2.2.0: {} - ts-dedent@2.2.0: {} - tsconfck@3.1.6(typescript@5.9.3): optionalDependencies: typescript: 5.9.3 @@ -5975,8 +4995,6 @@ snapshots: util-deprecate@1.0.2: {} - uuid@11.1.0: {} - vfile-location@5.0.3: dependencies: '@types/unist': 3.0.3 @@ -6106,8 +5124,6 @@ snapshots: vscode-nls@5.2.0: {} - vscode-uri@3.0.8: {} - vscode-uri@3.1.0: {} web-namespaces@2.0.1: {} diff --git a/src/content/talks/from-prompts-to-predictable-user-interfaces.md b/src/content/talks/from-prompts-to-predictable-user-interfaces.md index 18a5005..854c296 100644 --- a/src/content/talks/from-prompts-to-predictable-user-interfaces.md +++ b/src/content/talks/from-prompts-to-predictable-user-interfaces.md @@ -34,18 +34,6 @@ A designer builds a mockup, a developer interprets the visuals, and somewhere th Figma MCP (Model Context Protocol) lets an agent read Figma files programmatically. Extract components, design tokens, variants. Generate code that matches design exactly. No interpretation gap. -The workflow: - -```mermaid -graph TD - A[Figma Design System] --> B[get_design_context extract component structure] - A --> C[get_variable_defs extract design tokens] - B --> D[Component Code + Design Tokens] - C --> D - D --> E[React components with Base UI + Tailwind CSS] - E --> F[Storybook stories one per variant] -``` - **Step 1: Extract design tokens** ```typescript @@ -397,17 +385,6 @@ Even within the same framework, naming conventions and component structures shif json-render implements this pattern: AI → JSONL → UI. Instead of asking the LLM to output React/Vue/whatever directly, you teach it to output JSON Lines patches describing the UI structure. A separate renderer applies those patches and maps them to your component library. -The architecture: - -```mermaid -graph TD - A[User prompt] --> B[LLM receives system prompt teaching JSONL format] - B --> C[JSONL patches streamed] - C --> D[useUIStream hook parses patches] - D --> E[Renderer applies patches to tree] - E --> F[Component registry maps types to React components] -``` - The key constraint is the **component catalog**. You define available components upfront with Zod schemas: ```typescript diff --git a/src/styles/base.css b/src/styles/base.css index 93f523b..8c2e181 100644 --- a/src/styles/base.css +++ b/src/styles/base.css @@ -63,47 +63,6 @@ font-size: var(--text-sm); font-weight: var(--font-weight-light); } - - /* Mermaid diagrams */ - .prose p:has(svg[id^="mermaid-"]) { - display: flex; - justify-content: center; - margin: var(--spacing-8) 0; - } - - .prose svg[id^="mermaid-"] { - max-width: 100%; - height: auto; - } - - /* Mermaid light mode (default) - !important needed to override inline SVG styles */ - .prose svg[id^="mermaid-"] .node rect, - .prose svg[id^="mermaid-"] .node circle, - .prose svg[id^="mermaid-"] .node ellipse, - .prose svg[id^="mermaid-"] .node polygon { - fill: var(--color-gray-200) !important; - stroke: var(--color-gray-700) !important; - } - - .prose svg[id^="mermaid-"] .label, - .prose svg[id^="mermaid-"] .label text, - .prose svg[id^="mermaid-"] .nodeLabel, - .prose svg[id^="mermaid-"] .nodeLabel p, - .prose svg[id^="mermaid-"] .edgeLabel { - color: var(--color-gray-1200) !important; - fill: var(--color-gray-1200) !important; - } - - .prose svg[id^="mermaid-"] .edgePath .path, - .prose svg[id^="mermaid-"] .flowchart-link { - stroke: var(--color-gray-800) !important; - } - - .prose svg[id^="mermaid-"] .arrowheadPath, - .prose svg[id^="mermaid-"] .marker { - fill: var(--color-gray-800) !important; - stroke: var(--color-gray-800) !important; - } } @utility scrollbar-hide {