A design system in a box. hip-ui.tngl.io/docs/introduction
0
fork

Configure Feed

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

markdown content

+619 -86
+3
apps/docs/package.json
··· 46 46 "react-aria-components": "^1.13.0", 47 47 "react-docgen-typescript": "^2.4.0", 48 48 "react-dom": "catalog:", 49 + "react-markdown": "^10.1.0", 49 50 "react-stately": "^3.42.0", 50 51 "rehype-autolink-headings": "^7.1.0", 52 + "rehype-sanitize": "^6.0.0", 51 53 "rehype-slug": "^6.0.0", 52 54 "remark-frontmatter": "^5.0.0", 55 + "remark-gfm": "^4.0.1", 53 56 "shiki": "^3.13.0", 54 57 "tailwindcss": "^4.1.16", 55 58 "tldraw": "^4.1.2",
+3 -3
apps/docs/src/components/lightbox/index.tsx
··· 83 83 display: "flex", 84 84 flexGrow: 1, 85 85 justifyContent: "center", 86 + overflow: "hidden", 86 87 maxHeight: "100%", 88 + position: "relative", 87 89 maxWidth: "100%", 88 - overflow: "hidden", 89 90 minWidth: 0, 90 - position: "relative", 91 91 }, 92 92 image: { 93 93 objectFit: "contain", ··· 121 121 display: "none", 122 122 }, 123 123 contentRow: { 124 - alignItems: "center", 125 124 gap: spacing["4"], 125 + alignItems: "center", 126 126 display: "flex", 127 127 flexGrow: 1, 128 128 justifyContent: "center",
+101
apps/docs/src/components/markdown-content/index.tsx
··· 1 + "use client"; 2 + 3 + import type { Components } from "react-markdown"; 4 + 5 + import * as stylex from "@stylexjs/stylex"; 6 + import ReactMarkdown from "react-markdown"; 7 + import rehypeSanitize from "rehype-sanitize"; 8 + import remarkGfm from "remark-gfm"; 9 + 10 + import type { StyleXComponentProps } from "../theme/types"; 11 + 12 + import { Link } from "../link"; 13 + import { uiColor } from "../theme/color.stylex"; 14 + import { radius } from "../theme/radius.stylex"; 15 + import { spacing } from "../theme/spacing.stylex"; 16 + import { fontFamily, fontSize } from "../theme/typography.stylex"; 17 + import { Text } from "../typography/text"; 18 + 19 + const styles = stylex.create({ 20 + root: {}, 21 + italic: { 22 + fontStyle: "italic", 23 + }, 24 + paragraph: { 25 + margin: 0, 26 + }, 27 + list: { 28 + margin: `${spacing["1"]} 0`, 29 + paddingLeft: spacing["5"], 30 + }, 31 + code: { 32 + borderRadius: radius["sm"], 33 + backgroundColor: uiColor.component2, 34 + fontFamily: fontFamily["mono"], 35 + fontSize: fontSize["sm"], 36 + paddingBottom: spacing["0.5"], 37 + paddingLeft: spacing["1"], 38 + paddingRight: spacing["1"], 39 + paddingTop: spacing["0.5"], 40 + }, 41 + }); 42 + 43 + const components: Components = { 44 + p: ({ children }) => ( 45 + <p {...stylex.props(styles.paragraph)}> 46 + <Text leading="base">{children}</Text> 47 + </p> 48 + ), 49 + strong: ({ children }) => <Text weight="semibold">{children}</Text>, 50 + em: ({ children }) => <em {...stylex.props(styles.italic)}>{children}</em>, 51 + a: ({ href, children }) => ( 52 + <Link href={href ?? "#"} target="_blank" rel="noopener noreferrer"> 53 + {children} 54 + </Link> 55 + ), 56 + ul: ({ children }) => <ul {...stylex.props(styles.list)}>{children}</ul>, 57 + ol: ({ children }) => <ol {...stylex.props(styles.list)}>{children}</ol>, 58 + li: ({ children }) => ( 59 + <li> 60 + <Text size="sm" variant="secondary"> 61 + {children} 62 + </Text> 63 + </li> 64 + ), 65 + code: ({ children }) => ( 66 + <code {...stylex.props(styles.code)}>{children}</code> 67 + ), 68 + }; 69 + 70 + /** 71 + * Props for the MarkdownContent component. 72 + */ 73 + export interface MarkdownContentProps extends StyleXComponentProps< 74 + React.ComponentProps<"div"> 75 + > { 76 + /** 77 + * The markdown string to render. 78 + */ 79 + content: string; 80 + } 81 + 82 + /** 83 + * Renders GitHub-flavored markdown with sanitization to prevent XSS. 84 + */ 85 + export function MarkdownContent({ 86 + content, 87 + style, 88 + ...props 89 + }: MarkdownContentProps) { 90 + return ( 91 + <div {...stylex.props(styles.root, style)} {...props}> 92 + <ReactMarkdown 93 + remarkPlugins={[remarkGfm]} 94 + rehypePlugins={[rehypeSanitize]} 95 + components={components} 96 + > 97 + {content} 98 + </ReactMarkdown> 99 + </div> 100 + ); 101 + }
+1
apps/docs/src/docs/components/content/content.mdx
··· 48 48 49 49 ## Related Components 50 50 51 + - [MarkdownContent](/docs/components/content/markdown-content) - For rendering markdown content 51 52 - [Typography](/docs/components/content/typography) - For semantic typography components 52 53 - [Text](/docs/components/content/text) - For flexible text styling 53 54 - [Card](/docs/components/content/card) - For grouping content in containers
+38
apps/docs/src/docs/components/content/markdown-content.mdx
··· 1 + --- 2 + title: MarkdownContent 3 + description: Renders GitHub-flavored markdown with sanitization to prevent XSS. 4 + --- 5 + 6 + import { PropDocs } from "../../../lib/PropDocs"; 7 + import { Example } from "../../../lib/Example"; 8 + import { Basic } from "../../../examples/markdown-content/basic"; 9 + 10 + <Example src={Basic} /> 11 + 12 + ## Installation 13 + 14 + Run the following command to add the markdown-content component to your project. 15 + 16 + ```bash 17 + pnpm hip install markdown-content 18 + ``` 19 + 20 + ## Props 21 + 22 + <PropDocs components={["MarkdownContent"]} /> 23 + 24 + ## Features 25 + 26 + ### GitHub-Flavored Markdown 27 + 28 + The component supports GitHub-flavored markdown including tables, strikethrough, and autolinks. 29 + 30 + ### Sanitization 31 + 32 + Content is sanitized via rehype-sanitize to prevent XSS attacks. 33 + 34 + ## Related Components 35 + 36 + - [Typography](/docs/components/content/typography) - For semantic typography components 37 + - [Link](/docs/components/link) - For links within markdown 38 + - [Content](/docs/components/content) - For consistent content spacing
+5
apps/docs/src/examples/markdown-content/basic.tsx
··· 1 + import { MarkdownContent } from "@/components/markdown-content"; 2 + 3 + export function Basic() { 4 + return <MarkdownContent content="This is **bold** and this is *italic*." />; 5 + }
+4 -1
packages/hip-ui/package.json
··· 47 47 "react-aria": "catalog:", 48 48 "react-aria-components": "catalog:", 49 49 "react-dom": "catalog:", 50 - "react-stately": "catalog:" 50 + "react-stately": "catalog:", 51 + "react-markdown": "^10.1.0", 52 + "rehype-sanitize": "^6.0.0", 53 + "remark-gfm": "^4.0.0" 51 54 } 52 55 }
+2
packages/hip-ui/src/cli/install.tsx
··· 59 59 import { lightboxConfig } from "../components/lightbox/lightbox-config.js"; 60 60 import { linkConfig } from "../components/link/link-config.js"; 61 61 import { listboxConfig } from "../components/listbox/listbox-config.js"; 62 + import { markdownContentConfig } from "../components/markdown-content/markdown-content-config.js"; 62 63 import { menuConfig } from "../components/menu/menu-config.js"; 63 64 import { menubarConfig } from "../components/menubar/menubar-config.js"; 64 65 import { meterConfig } from "../components/meter/meter-config.js"; ··· 114 115 labelConfig, 115 116 lightboxConfig, 116 117 linkConfig, 118 + markdownContentConfig, 117 119 checkboxConfig, 118 120 radioConfig, 119 121 separatorConfig,
+101
packages/hip-ui/src/components/markdown-content/index.tsx
··· 1 + "use client"; 2 + 3 + import type { Components } from "react-markdown"; 4 + 5 + import * as stylex from "@stylexjs/stylex"; 6 + import ReactMarkdown from "react-markdown"; 7 + import rehypeSanitize from "rehype-sanitize"; 8 + import remarkGfm from "remark-gfm"; 9 + 10 + import type { StyleXComponentProps } from "../theme/types"; 11 + 12 + import { Link } from "../link"; 13 + import { uiColor } from "../theme/color.stylex"; 14 + import { radius } from "../theme/radius.stylex"; 15 + import { spacing } from "../theme/spacing.stylex"; 16 + import { fontFamily, fontSize } from "../theme/typography.stylex"; 17 + import { Text } from "../typography/text"; 18 + 19 + const styles = stylex.create({ 20 + root: {}, 21 + italic: { 22 + fontStyle: "italic", 23 + }, 24 + paragraph: { 25 + margin: 0, 26 + }, 27 + list: { 28 + margin: `${spacing["1"]} 0`, 29 + paddingLeft: spacing["5"], 30 + }, 31 + code: { 32 + borderRadius: radius["sm"], 33 + backgroundColor: uiColor.component2, 34 + fontFamily: fontFamily["mono"], 35 + fontSize: fontSize["sm"], 36 + paddingBottom: spacing["0.5"], 37 + paddingLeft: spacing["1"], 38 + paddingRight: spacing["1"], 39 + paddingTop: spacing["0.5"], 40 + }, 41 + }); 42 + 43 + const components: Components = { 44 + p: ({ children }) => ( 45 + <p {...stylex.props(styles.paragraph)}> 46 + <Text leading="base">{children}</Text> 47 + </p> 48 + ), 49 + strong: ({ children }) => <Text weight="semibold">{children}</Text>, 50 + em: ({ children }) => <em {...stylex.props(styles.italic)}>{children}</em>, 51 + a: ({ href, children }) => ( 52 + <Link href={href ?? "#"} target="_blank" rel="noopener noreferrer"> 53 + {children} 54 + </Link> 55 + ), 56 + ul: ({ children }) => <ul {...stylex.props(styles.list)}>{children}</ul>, 57 + ol: ({ children }) => <ol {...stylex.props(styles.list)}>{children}</ol>, 58 + li: ({ children }) => ( 59 + <li> 60 + <Text size="sm" variant="secondary"> 61 + {children} 62 + </Text> 63 + </li> 64 + ), 65 + code: ({ children }) => ( 66 + <code {...stylex.props(styles.code)}>{children}</code> 67 + ), 68 + }; 69 + 70 + /** 71 + * Props for the MarkdownContent component. 72 + */ 73 + export interface MarkdownContentProps extends StyleXComponentProps< 74 + React.ComponentProps<"div"> 75 + > { 76 + /** 77 + * The markdown string to render. 78 + */ 79 + content: string; 80 + } 81 + 82 + /** 83 + * Renders GitHub-flavored markdown with sanitization to prevent XSS. 84 + */ 85 + export function MarkdownContent({ 86 + content, 87 + style, 88 + ...props 89 + }: MarkdownContentProps) { 90 + return ( 91 + <div {...stylex.props(styles.root, style)} {...props}> 92 + <ReactMarkdown 93 + remarkPlugins={[remarkGfm]} 94 + rehypePlugins={[rehypeSanitize]} 95 + components={components} 96 + > 97 + {content} 98 + </ReactMarkdown> 99 + </div> 100 + ); 101 + }
+21
packages/hip-ui/src/components/markdown-content/markdown-content-config.ts
··· 1 + import type { ComponentConfig } from "../../types"; 2 + 3 + export const markdownContentConfig: ComponentConfig = { 4 + name: "markdown-content", 5 + filepath: "./index.tsx", 6 + hipDependencies: [ 7 + "../theme/color.stylex.tsx", 8 + "../theme/radius.stylex.tsx", 9 + "../theme/spacing.stylex.tsx", 10 + "../theme/typography.stylex.tsx", 11 + "../theme/types.ts", 12 + "../link/index.tsx", 13 + "../link/link-context.ts", 14 + "../typography/text.tsx", 15 + ], 16 + dependencies: { 17 + "react-markdown": "^10.1.0", 18 + "rehype-sanitize": "^6.0.0", 19 + "remark-gfm": "^4.0.0", 20 + }, 21 + };
+2 -1
packages/hip-ui/src/components/star-rating/index.tsx
··· 5 5 import { useCallback, useRef, useState } from "react"; 6 6 import { mergeProps, useKeyboard, usePress } from "react-aria"; 7 7 8 + import type { FlexProps } from "../flex"; 8 9 import type { StyleXComponentProps } from "../theme/types"; 9 10 10 - import { Flex, FlexProps } from "../flex"; 11 + import { Flex } from "../flex"; 11 12 import { primaryColor, uiColor } from "../theme/color.stylex"; 12 13 import { spacing } from "../theme/spacing.stylex"; 13 14 import { Text } from "../typography/text";
+2 -1
packages/hip-ui/src/components/typography/index.tsx
··· 10 10 } from "react"; 11 11 import { useHover } from "react-aria"; 12 12 13 + import type { FlexProps } from "../flex"; 13 14 import type { StyleXComponentProps, TextVariant } from "../theme/types"; 14 15 15 16 import { CopyToClipboardButton } from "../copy-to-clipboard-button"; 16 - import { Flex, FlexProps } from "../flex"; 17 + import { Flex } from "../flex"; 17 18 import { LinkContext } from "../link/link-context"; 18 19 import { animationDuration } from "../theme/animations.stylex"; 19 20 import { uiColor } from "../theme/color.stylex";
+336 -80
pnpm-lock.yaml
··· 94 94 version: 61.0.2(eslint@9.38.0(jiti@2.6.1)) 95 95 oxfmt: 96 96 specifier: latest 97 - version: 0.35.0 97 + version: 0.36.0 98 98 oxlint: 99 99 specifier: ^1.48.0 100 100 version: 1.50.0 ··· 218 218 react-dom: 219 219 specifier: 'catalog:' 220 220 version: 19.2.0(react@19.2.0) 221 + react-markdown: 222 + specifier: ^10.1.0 223 + version: 10.1.0(@types/react@19.2.0)(react@19.2.0) 221 224 react-stately: 222 225 specifier: ^3.42.0 223 226 version: 3.42.0(react@19.2.0) 224 227 rehype-autolink-headings: 225 228 specifier: ^7.1.0 226 229 version: 7.1.0 230 + rehype-sanitize: 231 + specifier: ^6.0.0 232 + version: 6.0.0 227 233 rehype-slug: 228 234 specifier: ^6.0.0 229 235 version: 6.0.0 230 236 remark-frontmatter: 231 237 specifier: ^5.0.0 232 238 version: 5.0.0 239 + remark-gfm: 240 + specifier: ^4.0.1 241 + version: 4.0.1 233 242 shiki: 234 243 specifier: ^3.13.0 235 244 version: 3.13.0 ··· 488 497 react-dom: 489 498 specifier: 'catalog:' 490 499 version: 19.2.0(react@19.2.0) 500 + react-markdown: 501 + specifier: ^10.1.0 502 + version: 10.1.0(@types/react@19.2.0)(react@19.2.0) 491 503 react-stately: 492 504 specifier: 'catalog:' 493 505 version: 3.42.0(react@19.2.0) 506 + rehype-sanitize: 507 + specifier: ^6.0.0 508 + version: 6.0.0 509 + remark-gfm: 510 + specifier: ^4.0.0 511 + version: 4.0.1 494 512 devDependencies: 495 513 '@repo/eslint-config': 496 514 specifier: workspace:* ··· 1204 1222 react: ^19.1.0 1205 1223 react-dom: ^19.1.0 1206 1224 1207 - '@oxfmt/binding-android-arm-eabi@0.35.0': 1208 - resolution: {integrity: sha512-BaRKlM3DyG81y/xWTsE6gZiv89F/3pHe2BqX2H4JbiB8HNVlWWtplzgATAE5IDSdwChdeuWLDTQzJ92Lglw3ZA==} 1225 + '@oxfmt/binding-android-arm-eabi@0.36.0': 1226 + resolution: {integrity: sha512-Z4yVHJWx/swHHjtr0dXrBZb6LxS+qNz1qdza222mWwPTUK4L790+5i3LTgjx3KYGBzcYpjaiZBw4vOx94dH7MQ==} 1209 1227 engines: {node: ^20.19.0 || >=22.12.0} 1210 1228 cpu: [arm] 1211 1229 os: [android] 1212 1230 1213 - '@oxfmt/binding-android-arm64@0.35.0': 1214 - resolution: {integrity: sha512-/O+EbuAJYs6nde/anv+aID6uHsGQApyE9JtYBo/79KyU8e6RBN3DMbT0ix97y1SOnCglurmL2iZ+hlohjP2PnQ==} 1231 + '@oxfmt/binding-android-arm64@0.36.0': 1232 + resolution: {integrity: sha512-3ElCJRFNPQl7jexf2CAa9XmAm8eC5JPrIDSjc9jSchkVSFTEqyL0NtZinBB2h1a4i4JgP1oGl/5G5n8YR4FN8Q==} 1215 1233 engines: {node: ^20.19.0 || >=22.12.0} 1216 1234 cpu: [arm64] 1217 1235 os: [android] 1218 1236 1219 - '@oxfmt/binding-darwin-arm64@0.35.0': 1220 - resolution: {integrity: sha512-pGqRtqlNdn9d4VrmGUWVyQjkw79ryhI6je9y2jfqNUIZCfqceob+R97YYAoG7C5TFyt8ILdLVoN+L2vw/hSFyA==} 1237 + '@oxfmt/binding-darwin-arm64@0.36.0': 1238 + resolution: {integrity: sha512-nak4znWCqIExKhYSY/mz/lWsqWIpdsS7o0+SRzXR1Q0m7GrMcG1UrF1pS7TLGZhhkf7nTfEF7q6oZzJiodRDuw==} 1221 1239 engines: {node: ^20.19.0 || >=22.12.0} 1222 1240 cpu: [arm64] 1223 1241 os: [darwin] 1224 1242 1225 - '@oxfmt/binding-darwin-x64@0.35.0': 1226 - resolution: {integrity: sha512-8GmsDcSozTPjrCJeGpp+sCmS9+9V5yRrdEZ1p/sTWxPG5nYeAfSLuS0nuEYjXSO+CtdSbStIW6dxa+4NM58yRw==} 1243 + '@oxfmt/binding-darwin-x64@0.36.0': 1244 + resolution: {integrity: sha512-V4GP96thDnpKx6ADnMDnhIXNdtV+Ql9D4HUU+a37VTeVbs5qQSF/s6hhUP1b3xUqU7iRcwh72jUU2Y12rtGHAw==} 1227 1245 engines: {node: ^20.19.0 || >=22.12.0} 1228 1246 cpu: [x64] 1229 1247 os: [darwin] 1230 1248 1231 - '@oxfmt/binding-freebsd-x64@0.35.0': 1232 - resolution: {integrity: sha512-QyfKfTe0ytHpFKHAcHCGQEzN45QSqq1AHJOYYxQMgLM3KY4xu8OsXHpCnINjDsV4XGnQzczJDU9e04Zmd8XqIQ==} 1249 + '@oxfmt/binding-freebsd-x64@0.36.0': 1250 + resolution: {integrity: sha512-/xapWCADfI5wrhxpEUjhI9fnw7MV5BUZizVa8e24n3VSK6A3Y1TB/ClOP1tfxNspykFKXp4NBWl6NtDJP3osqQ==} 1233 1251 engines: {node: ^20.19.0 || >=22.12.0} 1234 1252 cpu: [x64] 1235 1253 os: [freebsd] 1236 1254 1237 - '@oxfmt/binding-linux-arm-gnueabihf@0.35.0': 1238 - resolution: {integrity: sha512-u+kv3JD6P3J38oOyUaiCqgY5TNESzBRZJ5lyZQ6c2czUW2v5SIN9E/KWWa9vxoc+P8AFXQFUVrdzGy1tK+nbPQ==} 1255 + '@oxfmt/binding-linux-arm-gnueabihf@0.36.0': 1256 + resolution: {integrity: sha512-1lOmv61XMFIH5uNm27620kRRzWt/RK6tdn250BRDoG9W7OXGOQ5UyI1HVT+SFkoOoKztBiinWgi68+NA1MjBVQ==} 1239 1257 engines: {node: ^20.19.0 || >=22.12.0} 1240 1258 cpu: [arm] 1241 1259 os: [linux] 1242 1260 1243 - '@oxfmt/binding-linux-arm-musleabihf@0.35.0': 1244 - resolution: {integrity: sha512-1NiZroCiV57I7Pf8kOH4XGR366kW5zir3VfSMBU2D0V14GpYjiYmPYFAoJboZvp8ACnZKUReWyMkNKSa5ad58A==} 1261 + '@oxfmt/binding-linux-arm-musleabihf@0.36.0': 1262 + resolution: {integrity: sha512-vMH23AskdR1ujUS9sPck2Df9rBVoZUnCVY86jisILzIQ/QQ/yKUTi7tgnIvydPx7TyB/48wsQ5QMr5Knq5p/aw==} 1245 1263 engines: {node: ^20.19.0 || >=22.12.0} 1246 1264 cpu: [arm] 1247 1265 os: [linux] 1248 1266 1249 - '@oxfmt/binding-linux-arm64-gnu@0.35.0': 1250 - resolution: {integrity: sha512-7Q0Xeg7ZnW2nxnZ4R7aF6DEbCFls4skgHZg+I63XitpNvJCbVIU8MFOTZlvZGRsY9+rPgWPQGeUpLHlyx0wvMA==} 1267 + '@oxfmt/binding-linux-arm64-gnu@0.36.0': 1268 + resolution: {integrity: sha512-Hy1V+zOBHpBiENRx77qrUTt5aPDHeCASRc8K5KwwAHkX2AKP0nV89eL17hsZrE9GmnXFjsNmd80lyf7aRTXsbw==} 1251 1269 engines: {node: ^20.19.0 || >=22.12.0} 1252 1270 cpu: [arm64] 1253 1271 os: [linux] 1254 1272 1255 - '@oxfmt/binding-linux-arm64-musl@0.35.0': 1256 - resolution: {integrity: sha512-5Okqi+uhYFxwKz8hcnUftNNwdm8BCkf6GSCbcz9xJxYMm87k1E4p7PEmAAbhLTk7cjSdDre6TDL0pDzNX+Y22Q==} 1273 + '@oxfmt/binding-linux-arm64-musl@0.36.0': 1274 + resolution: {integrity: sha512-SPGLJkOIHSIC6ABUQ5V8NqJpvYhMJueJv26NYqfCnwi/Mn6A61amkpJJ9Suy0Nmvs+OWESJpcebrBUbXPGZyQQ==} 1257 1275 engines: {node: ^20.19.0 || >=22.12.0} 1258 1276 cpu: [arm64] 1259 1277 os: [linux] 1260 1278 1261 - '@oxfmt/binding-linux-ppc64-gnu@0.35.0': 1262 - resolution: {integrity: sha512-9k66pbZQXM/lBJWys3Xbc5yhl4JexyfqkEf/tvtq8976VIJnLAAL3M127xHA3ifYSqxdVHfVGTg84eiBHCGcNw==} 1279 + '@oxfmt/binding-linux-ppc64-gnu@0.36.0': 1280 + resolution: {integrity: sha512-3EuoyB8x9x8ysYJjbEO/M9fkSk72zQKnXCvpZMDHXlnY36/1qMp55Nm0PrCwjGO/1pen5hdOVkz9WmP3nAp2IQ==} 1263 1281 engines: {node: ^20.19.0 || >=22.12.0} 1264 1282 cpu: [ppc64] 1265 1283 os: [linux] 1266 1284 1267 - '@oxfmt/binding-linux-riscv64-gnu@0.35.0': 1268 - resolution: {integrity: sha512-aUcY9ofKPtjO52idT6t0SAQvEF6ctjzUQa1lLp7GDsRpSBvuTrBQGeq0rYKz3gN8dMIQ7mtMdGD9tT4LhR8jAQ==} 1285 + '@oxfmt/binding-linux-riscv64-gnu@0.36.0': 1286 + resolution: {integrity: sha512-MpY3itLwpGh8dnywtrZtaZ604T1m715SydCKy0+qTxetv+IHzuA+aO/AGzrlzUNYZZmtWtmDBrChZGibvZxbRQ==} 1269 1287 engines: {node: ^20.19.0 || >=22.12.0} 1270 1288 cpu: [riscv64] 1271 1289 os: [linux] 1272 1290 1273 - '@oxfmt/binding-linux-riscv64-musl@0.35.0': 1274 - resolution: {integrity: sha512-C6yhY5Hvc2sGM+mCPek9ZLe5xRUOC/BvhAt2qIWFAeXMn4il04EYIjl3DsWiJr0xDMTJhvMOmD55xTRPlNp39w==} 1291 + '@oxfmt/binding-linux-riscv64-musl@0.36.0': 1292 + resolution: {integrity: sha512-mmDhe4Vtx+XwQPRPn/V25+APnkApYgZ23q+6GVsNYY98pf3aU0aI3Me96pbRs/AfJ1jIiGC+/6q71FEu8dHcHw==} 1275 1293 engines: {node: ^20.19.0 || >=22.12.0} 1276 1294 cpu: [riscv64] 1277 1295 os: [linux] 1278 1296 1279 - '@oxfmt/binding-linux-s390x-gnu@0.35.0': 1280 - resolution: {integrity: sha512-RG2hlvOMK4OMZpO3mt8MpxLQ0AAezlFqhn5mI/g5YrVbPFyoCv9a34AAvbSJS501ocOxlFIRcKEuw5hFvddf9g==} 1297 + '@oxfmt/binding-linux-s390x-gnu@0.36.0': 1298 + resolution: {integrity: sha512-AYXhU+DmNWLSnvVwkHM92fuYhogtVHab7UQrPNaDf1sxadugg9gWVmcgJDlIwxJdpk5CVW/TFvwUKwI432zhhA==} 1281 1299 engines: {node: ^20.19.0 || >=22.12.0} 1282 1300 cpu: [s390x] 1283 1301 os: [linux] 1284 1302 1285 - '@oxfmt/binding-linux-x64-gnu@0.35.0': 1286 - resolution: {integrity: sha512-wzmh90Pwvqj9xOKHJjkQYBpydRkaXG77ZvDz+iFDRRQpnqIEqGm5gmim2s6vnZIkDGsvKCuTdtxm0GFmBjM1+w==} 1303 + '@oxfmt/binding-linux-x64-gnu@0.36.0': 1304 + resolution: {integrity: sha512-H16QhhQ3usoakMleiAAQ2mg0NsBDAdyE9agUgfC8IHHh3jZEbr0rIKwjEqwbOHK5M0EmfhJmr+aGO/MgZPsneA==} 1287 1305 engines: {node: ^20.19.0 || >=22.12.0} 1288 1306 cpu: [x64] 1289 1307 os: [linux] 1290 1308 1291 - '@oxfmt/binding-linux-x64-musl@0.35.0': 1292 - resolution: {integrity: sha512-+HCqYCJPCUy5I+b2cf+gUVaApfgtoQT3HdnSg/l7NIcLHOhKstlYaGyrFZLmUpQt4WkFbpGKZZayG6zjRU0KFA==} 1309 + '@oxfmt/binding-linux-x64-musl@0.36.0': 1310 + resolution: {integrity: sha512-EFFGkixA39BcmHiCe2ECdrq02D6FCve5ka6ObbvrheXl4V+R0U/E+/uLyVx1X65LW8TA8QQHdnbdDallRekohw==} 1293 1311 engines: {node: ^20.19.0 || >=22.12.0} 1294 1312 cpu: [x64] 1295 1313 os: [linux] 1296 1314 1297 - '@oxfmt/binding-openharmony-arm64@0.35.0': 1298 - resolution: {integrity: sha512-kFYmWfR9YL78XyO5ws+1dsxNvZoD973qfVMNFOS4e9bcHXGF7DvGC2tY5UDFwyMCeB33t3sDIuGONKggnVNSJA==} 1315 + '@oxfmt/binding-openharmony-arm64@0.36.0': 1316 + resolution: {integrity: sha512-zr/t369wZWFOj1qf06Z5gGNjFymfUNDrxKMmr7FKiDRVI1sNsdKRCuRL4XVjtcptKQ+ao3FfxLN1vrynivmCYg==} 1299 1317 engines: {node: ^20.19.0 || >=22.12.0} 1300 1318 cpu: [arm64] 1301 1319 os: [openharmony] 1302 1320 1303 - '@oxfmt/binding-win32-arm64-msvc@0.35.0': 1304 - resolution: {integrity: sha512-uD/NGdM65eKNCDGyTGdO8e9n3IHX+wwuorBvEYrPJXhDXL9qz6gzddmXH8EN04ejUXUujlq4FsoSeCfbg0Y+Jg==} 1321 + '@oxfmt/binding-win32-arm64-msvc@0.36.0': 1322 + resolution: {integrity: sha512-FxO7UksTv8h4olzACgrqAXNF6BP329+H322323iDrMB5V/+a1kcAw07fsOsUmqNrb9iJBsCQgH/zqcqp5903ag==} 1305 1323 engines: {node: ^20.19.0 || >=22.12.0} 1306 1324 cpu: [arm64] 1307 1325 os: [win32] 1308 1326 1309 - '@oxfmt/binding-win32-ia32-msvc@0.35.0': 1310 - resolution: {integrity: sha512-oSRD2k8J2uxYDEKR2nAE/YTY9PobOEnhZgCmspHu0+yBQ665yH8lFErQVSTE7fcGJmJp/cC6322/gc8VFuQf7g==} 1327 + '@oxfmt/binding-win32-ia32-msvc@0.36.0': 1328 + resolution: {integrity: sha512-OjoMQ89H01M0oLMfr/CPNH1zi48ZIwxAKObUl57oh7ssUBNDp/2Vjf7E1TQ8M4oj4VFQ/byxl2SmcPNaI2YNDg==} 1311 1329 engines: {node: ^20.19.0 || >=22.12.0} 1312 1330 cpu: [ia32] 1313 1331 os: [win32] 1314 1332 1315 - '@oxfmt/binding-win32-x64-msvc@0.35.0': 1316 - resolution: {integrity: sha512-WCDJjlS95NboR0ugI2BEwzt1tYvRDorDRM9Lvctls1SLyKYuNRCyrPwp1urUPFBnwgBNn9p2/gnmo7gFMySRoQ==} 1333 + '@oxfmt/binding-win32-x64-msvc@0.36.0': 1334 + resolution: {integrity: sha512-MoyeQ9S36ZTz/4bDhOKJgOBIDROd4dQ5AkT9iezhEaUBxAPdNX9Oq0jD8OSnCj3G4wam/XNxVWKMA52kmzmPtQ==} 1317 1335 engines: {node: ^20.19.0 || >=22.12.0} 1318 1336 cpu: [x64] 1319 1337 os: [win32] ··· 5467 5485 hast-util-is-element@3.0.0: 5468 5486 resolution: {integrity: sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==} 5469 5487 5488 + hast-util-sanitize@5.0.2: 5489 + resolution: {integrity: sha512-3yTWghByc50aGS7JlGhk61SPenfE/p1oaFeNwkOOyrscaOkMGrcW9+Cy/QAIOBpZxP1yqDIzFMR0+Np0i0+usg==} 5490 + 5470 5491 hast-util-to-estree@3.1.3: 5471 5492 resolution: {integrity: sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==} 5472 5493 ··· 5513 5534 5514 5535 html-escaper@2.0.2: 5515 5536 resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} 5537 + 5538 + html-url-attributes@3.0.1: 5539 + resolution: {integrity: sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ==} 5516 5540 5517 5541 html-void-elements@3.0.0: 5518 5542 resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} ··· 6140 6164 resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==} 6141 6165 hasBin: true 6142 6166 6167 + markdown-table@3.0.4: 6168 + resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} 6169 + 6143 6170 match-container@0.1.0: 6144 6171 resolution: {integrity: sha512-ZVPQUtnh/8Gx0mwwlnDfnl224A9GxVoV5LRlxF9fWs6AnBQ0TsFSaGVwSAwj6aD7LFOGuVTeI8KuBGBDTtbX4g==} 6145 6172 ··· 6147 6174 resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} 6148 6175 engines: {node: '>= 0.4'} 6149 6176 6177 + mdast-util-find-and-replace@3.0.2: 6178 + resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==} 6179 + 6150 6180 mdast-util-from-markdown@2.0.2: 6151 6181 resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==} 6152 6182 6153 6183 mdast-util-frontmatter@2.0.1: 6154 6184 resolution: {integrity: sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==} 6185 + 6186 + mdast-util-gfm-autolink-literal@2.0.1: 6187 + resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==} 6188 + 6189 + mdast-util-gfm-footnote@2.1.0: 6190 + resolution: {integrity: sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==} 6191 + 6192 + mdast-util-gfm-strikethrough@2.0.0: 6193 + resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} 6194 + 6195 + mdast-util-gfm-table@2.0.0: 6196 + resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} 6197 + 6198 + mdast-util-gfm-task-list-item@2.0.0: 6199 + resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} 6200 + 6201 + mdast-util-gfm@3.1.0: 6202 + resolution: {integrity: sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==} 6155 6203 6156 6204 mdast-util-mdx-expression@2.0.1: 6157 6205 resolution: {integrity: sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==} ··· 6205 6253 micromark-extension-frontmatter@2.0.0: 6206 6254 resolution: {integrity: sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==} 6207 6255 6256 + micromark-extension-gfm-autolink-literal@2.1.0: 6257 + resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==} 6258 + 6259 + micromark-extension-gfm-footnote@2.1.0: 6260 + resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==} 6261 + 6262 + micromark-extension-gfm-strikethrough@2.1.0: 6263 + resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==} 6264 + 6265 + micromark-extension-gfm-table@2.1.1: 6266 + resolution: {integrity: sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==} 6267 + 6268 + micromark-extension-gfm-tagfilter@2.0.0: 6269 + resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} 6270 + 6271 + micromark-extension-gfm-task-list-item@2.1.0: 6272 + resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==} 6273 + 6274 + micromark-extension-gfm@3.0.0: 6275 + resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} 6276 + 6208 6277 micromark-extension-mdx-expression@3.0.1: 6209 6278 resolution: {integrity: sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==} 6210 6279 ··· 6500 6569 resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} 6501 6570 engines: {node: '>= 0.4'} 6502 6571 6503 - oxfmt@0.35.0: 6504 - resolution: {integrity: sha512-QYeXWkP+aLt7utt5SLivNIk09glWx9QE235ODjgcEZ3sd1VMaUBSpLymh6ZRCA76gD2rMP4bXanUz/fx+nLM9Q==} 6572 + oxfmt@0.36.0: 6573 + resolution: {integrity: sha512-/ejJ+KoSW6J9bcNT9a9UtJSJNWhJ3yOLSBLbkoFHJs/8CZjmaZVZAJe4YgO1KMJlKpNQasrn/G9JQUEZI3p0EQ==} 6505 6574 engines: {node: ^20.19.0 || >=22.12.0} 6506 6575 hasBin: true 6507 6576 ··· 6791 6860 react-is@17.0.2: 6792 6861 resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} 6793 6862 6863 + react-markdown@10.1.0: 6864 + resolution: {integrity: sha512-qKxVopLT/TyA6BX3Ue5NwabOsAzm0Q7kAPwq6L+wWDwisYs7R8vZ0nRXqq6rkueboxpkjvLGU9fWifiX/ZZFxQ==} 6865 + peerDependencies: 6866 + '@types/react': '>=18' 6867 + react: '>=18' 6868 + 6794 6869 react-reconciler@0.32.0: 6795 6870 resolution: {integrity: sha512-2NPMOzgTlG0ZWdIf3qG+dcbLSoAc/uLfOwckc3ofy5sSK0pLJqnQLpUFxvGcN2rlXSjnVtGeeFLNimCQEj5gOQ==} 6796 6871 engines: {node: '>=0.10.0'} ··· 6932 7007 rehype-recma@1.0.0: 6933 7008 resolution: {integrity: sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==} 6934 7009 7010 + rehype-sanitize@6.0.0: 7011 + resolution: {integrity: sha512-CsnhKNsyI8Tub6L4sm5ZFsme4puGfc6pYylvXo1AeqaGbjOYyzNv3qZPwvs0oMJ39eryyeOdmxwUIo94IpEhqg==} 7012 + 6935 7013 rehype-slug@6.0.0: 6936 7014 resolution: {integrity: sha512-lWyvf/jwu+oS5+hL5eClVd3hNdmwM1kAC0BUvEGD19pajQMIzcNUd/k9GsfQ+FfECvX+JE+e9/btsKH0EjJT6A==} 6937 7015 6938 7016 remark-frontmatter@5.0.0: 6939 7017 resolution: {integrity: sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==} 6940 7018 7019 + remark-gfm@4.0.1: 7020 + resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==} 7021 + 6941 7022 remark-mdx-frontmatter@4.0.0: 6942 7023 resolution: {integrity: sha512-PZzAiDGOEfv1Ua7exQ8S5kKxkD8CDaSb4nM+1Mprs6u8dyvQifakh+kCj6NovfGXW+bTvrhjaR3srzjS2qJHKg==} 6943 7024 ··· 6949 7030 6950 7031 remark-rehype@11.1.2: 6951 7032 resolution: {integrity: sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==} 7033 + 7034 + remark-stringify@11.0.0: 7035 + resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} 6952 7036 6953 7037 remove-markdown@0.3.0: 6954 7038 resolution: {integrity: sha512-5392eIuy1mhjM74739VunOlsOYKjsH82rQcTBlJ1bkICVC3dQ3ksQzTHh4jGHQFnM+1xzLzcFOMH+BofqXhroQ==} ··· 8970 9054 react: 19.2.0 8971 9055 react-dom: 19.2.0(react@19.2.0) 8972 9056 8973 - '@oxfmt/binding-android-arm-eabi@0.35.0': 9057 + '@oxfmt/binding-android-arm-eabi@0.36.0': 8974 9058 optional: true 8975 9059 8976 - '@oxfmt/binding-android-arm64@0.35.0': 9060 + '@oxfmt/binding-android-arm64@0.36.0': 8977 9061 optional: true 8978 9062 8979 - '@oxfmt/binding-darwin-arm64@0.35.0': 9063 + '@oxfmt/binding-darwin-arm64@0.36.0': 8980 9064 optional: true 8981 9065 8982 - '@oxfmt/binding-darwin-x64@0.35.0': 9066 + '@oxfmt/binding-darwin-x64@0.36.0': 8983 9067 optional: true 8984 9068 8985 - '@oxfmt/binding-freebsd-x64@0.35.0': 9069 + '@oxfmt/binding-freebsd-x64@0.36.0': 8986 9070 optional: true 8987 9071 8988 - '@oxfmt/binding-linux-arm-gnueabihf@0.35.0': 9072 + '@oxfmt/binding-linux-arm-gnueabihf@0.36.0': 8989 9073 optional: true 8990 9074 8991 - '@oxfmt/binding-linux-arm-musleabihf@0.35.0': 9075 + '@oxfmt/binding-linux-arm-musleabihf@0.36.0': 8992 9076 optional: true 8993 9077 8994 - '@oxfmt/binding-linux-arm64-gnu@0.35.0': 9078 + '@oxfmt/binding-linux-arm64-gnu@0.36.0': 8995 9079 optional: true 8996 9080 8997 - '@oxfmt/binding-linux-arm64-musl@0.35.0': 9081 + '@oxfmt/binding-linux-arm64-musl@0.36.0': 8998 9082 optional: true 8999 9083 9000 - '@oxfmt/binding-linux-ppc64-gnu@0.35.0': 9084 + '@oxfmt/binding-linux-ppc64-gnu@0.36.0': 9001 9085 optional: true 9002 9086 9003 - '@oxfmt/binding-linux-riscv64-gnu@0.35.0': 9087 + '@oxfmt/binding-linux-riscv64-gnu@0.36.0': 9004 9088 optional: true 9005 9089 9006 - '@oxfmt/binding-linux-riscv64-musl@0.35.0': 9090 + '@oxfmt/binding-linux-riscv64-musl@0.36.0': 9007 9091 optional: true 9008 9092 9009 - '@oxfmt/binding-linux-s390x-gnu@0.35.0': 9093 + '@oxfmt/binding-linux-s390x-gnu@0.36.0': 9010 9094 optional: true 9011 9095 9012 - '@oxfmt/binding-linux-x64-gnu@0.35.0': 9096 + '@oxfmt/binding-linux-x64-gnu@0.36.0': 9013 9097 optional: true 9014 9098 9015 - '@oxfmt/binding-linux-x64-musl@0.35.0': 9099 + '@oxfmt/binding-linux-x64-musl@0.36.0': 9016 9100 optional: true 9017 9101 9018 - '@oxfmt/binding-openharmony-arm64@0.35.0': 9102 + '@oxfmt/binding-openharmony-arm64@0.36.0': 9019 9103 optional: true 9020 9104 9021 - '@oxfmt/binding-win32-arm64-msvc@0.35.0': 9105 + '@oxfmt/binding-win32-arm64-msvc@0.36.0': 9022 9106 optional: true 9023 9107 9024 - '@oxfmt/binding-win32-ia32-msvc@0.35.0': 9108 + '@oxfmt/binding-win32-ia32-msvc@0.36.0': 9025 9109 optional: true 9026 9110 9027 - '@oxfmt/binding-win32-x64-msvc@0.35.0': 9111 + '@oxfmt/binding-win32-x64-msvc@0.36.0': 9028 9112 optional: true 9029 9113 9030 9114 '@oxlint/binding-android-arm-eabi@1.50.0': ··· 14097 14181 dependencies: 14098 14182 '@types/hast': 3.0.4 14099 14183 14184 + hast-util-sanitize@5.0.2: 14185 + dependencies: 14186 + '@types/hast': 3.0.4 14187 + '@ungap/structured-clone': 1.3.0 14188 + unist-util-position: 5.0.0 14189 + 14100 14190 hast-util-to-estree@3.1.3: 14101 14191 dependencies: 14102 14192 '@types/estree': 1.0.8 ··· 14183 14273 whatwg-encoding: 3.1.1 14184 14274 14185 14275 html-escaper@2.0.2: {} 14276 + 14277 + html-url-attributes@3.0.1: {} 14186 14278 14187 14279 html-void-elements@3.0.0: {} 14188 14280 ··· 14818 14910 punycode.js: 2.3.1 14819 14911 uc.micro: 2.1.0 14820 14912 14913 + markdown-table@3.0.4: {} 14914 + 14821 14915 match-container@0.1.0: {} 14822 14916 14823 14917 math-intrinsics@1.1.0: {} 14918 + 14919 + mdast-util-find-and-replace@3.0.2: 14920 + dependencies: 14921 + '@types/mdast': 4.0.4 14922 + escape-string-regexp: 5.0.0 14923 + unist-util-is: 6.0.1 14924 + unist-util-visit-parents: 6.0.2 14824 14925 14825 14926 mdast-util-from-markdown@2.0.2: 14826 14927 dependencies: ··· 14847 14948 mdast-util-from-markdown: 2.0.2 14848 14949 mdast-util-to-markdown: 2.1.2 14849 14950 micromark-extension-frontmatter: 2.0.0 14951 + transitivePeerDependencies: 14952 + - supports-color 14953 + 14954 + mdast-util-gfm-autolink-literal@2.0.1: 14955 + dependencies: 14956 + '@types/mdast': 4.0.4 14957 + ccount: 2.0.1 14958 + devlop: 1.1.0 14959 + mdast-util-find-and-replace: 3.0.2 14960 + micromark-util-character: 2.1.1 14961 + 14962 + mdast-util-gfm-footnote@2.1.0: 14963 + dependencies: 14964 + '@types/mdast': 4.0.4 14965 + devlop: 1.1.0 14966 + mdast-util-from-markdown: 2.0.2 14967 + mdast-util-to-markdown: 2.1.2 14968 + micromark-util-normalize-identifier: 2.0.1 14969 + transitivePeerDependencies: 14970 + - supports-color 14971 + 14972 + mdast-util-gfm-strikethrough@2.0.0: 14973 + dependencies: 14974 + '@types/mdast': 4.0.4 14975 + mdast-util-from-markdown: 2.0.2 14976 + mdast-util-to-markdown: 2.1.2 14977 + transitivePeerDependencies: 14978 + - supports-color 14979 + 14980 + mdast-util-gfm-table@2.0.0: 14981 + dependencies: 14982 + '@types/mdast': 4.0.4 14983 + devlop: 1.1.0 14984 + markdown-table: 3.0.4 14985 + mdast-util-from-markdown: 2.0.2 14986 + mdast-util-to-markdown: 2.1.2 14987 + transitivePeerDependencies: 14988 + - supports-color 14989 + 14990 + mdast-util-gfm-task-list-item@2.0.0: 14991 + dependencies: 14992 + '@types/mdast': 4.0.4 14993 + devlop: 1.1.0 14994 + mdast-util-from-markdown: 2.0.2 14995 + mdast-util-to-markdown: 2.1.2 14996 + transitivePeerDependencies: 14997 + - supports-color 14998 + 14999 + mdast-util-gfm@3.1.0: 15000 + dependencies: 15001 + mdast-util-from-markdown: 2.0.2 15002 + mdast-util-gfm-autolink-literal: 2.0.1 15003 + mdast-util-gfm-footnote: 2.1.0 15004 + mdast-util-gfm-strikethrough: 2.0.0 15005 + mdast-util-gfm-table: 2.0.0 15006 + mdast-util-gfm-task-list-item: 2.0.0 15007 + mdast-util-to-markdown: 2.1.2 14850 15008 transitivePeerDependencies: 14851 15009 - supports-color 14852 15010 ··· 14983 15141 micromark-util-symbol: 2.0.1 14984 15142 micromark-util-types: 2.0.2 14985 15143 15144 + micromark-extension-gfm-autolink-literal@2.1.0: 15145 + dependencies: 15146 + micromark-util-character: 2.1.1 15147 + micromark-util-sanitize-uri: 2.0.1 15148 + micromark-util-symbol: 2.0.1 15149 + micromark-util-types: 2.0.2 15150 + 15151 + micromark-extension-gfm-footnote@2.1.0: 15152 + dependencies: 15153 + devlop: 1.1.0 15154 + micromark-core-commonmark: 2.0.3 15155 + micromark-factory-space: 2.0.1 15156 + micromark-util-character: 2.1.1 15157 + micromark-util-normalize-identifier: 2.0.1 15158 + micromark-util-sanitize-uri: 2.0.1 15159 + micromark-util-symbol: 2.0.1 15160 + micromark-util-types: 2.0.2 15161 + 15162 + micromark-extension-gfm-strikethrough@2.1.0: 15163 + dependencies: 15164 + devlop: 1.1.0 15165 + micromark-util-chunked: 2.0.1 15166 + micromark-util-classify-character: 2.0.1 15167 + micromark-util-resolve-all: 2.0.1 15168 + micromark-util-symbol: 2.0.1 15169 + micromark-util-types: 2.0.2 15170 + 15171 + micromark-extension-gfm-table@2.1.1: 15172 + dependencies: 15173 + devlop: 1.1.0 15174 + micromark-factory-space: 2.0.1 15175 + micromark-util-character: 2.1.1 15176 + micromark-util-symbol: 2.0.1 15177 + micromark-util-types: 2.0.2 15178 + 15179 + micromark-extension-gfm-tagfilter@2.0.0: 15180 + dependencies: 15181 + micromark-util-types: 2.0.2 15182 + 15183 + micromark-extension-gfm-task-list-item@2.1.0: 15184 + dependencies: 15185 + devlop: 1.1.0 15186 + micromark-factory-space: 2.0.1 15187 + micromark-util-character: 2.1.1 15188 + micromark-util-symbol: 2.0.1 15189 + micromark-util-types: 2.0.2 15190 + 15191 + micromark-extension-gfm@3.0.0: 15192 + dependencies: 15193 + micromark-extension-gfm-autolink-literal: 2.1.0 15194 + micromark-extension-gfm-footnote: 2.1.0 15195 + micromark-extension-gfm-strikethrough: 2.1.0 15196 + micromark-extension-gfm-table: 2.1.1 15197 + micromark-extension-gfm-tagfilter: 2.0.0 15198 + micromark-extension-gfm-task-list-item: 2.1.0 15199 + micromark-util-combine-extensions: 2.0.1 15200 + micromark-util-types: 2.0.2 15201 + 14986 15202 micromark-extension-mdx-expression@3.0.1: 14987 15203 dependencies: 14988 15204 '@types/estree': 1.0.8 ··· 15463 15679 object-keys: 1.1.1 15464 15680 safe-push-apply: 1.0.0 15465 15681 15466 - oxfmt@0.35.0: 15682 + oxfmt@0.36.0: 15467 15683 dependencies: 15468 15684 tinypool: 2.1.0 15469 15685 optionalDependencies: 15470 - '@oxfmt/binding-android-arm-eabi': 0.35.0 15471 - '@oxfmt/binding-android-arm64': 0.35.0 15472 - '@oxfmt/binding-darwin-arm64': 0.35.0 15473 - '@oxfmt/binding-darwin-x64': 0.35.0 15474 - '@oxfmt/binding-freebsd-x64': 0.35.0 15475 - '@oxfmt/binding-linux-arm-gnueabihf': 0.35.0 15476 - '@oxfmt/binding-linux-arm-musleabihf': 0.35.0 15477 - '@oxfmt/binding-linux-arm64-gnu': 0.35.0 15478 - '@oxfmt/binding-linux-arm64-musl': 0.35.0 15479 - '@oxfmt/binding-linux-ppc64-gnu': 0.35.0 15480 - '@oxfmt/binding-linux-riscv64-gnu': 0.35.0 15481 - '@oxfmt/binding-linux-riscv64-musl': 0.35.0 15482 - '@oxfmt/binding-linux-s390x-gnu': 0.35.0 15483 - '@oxfmt/binding-linux-x64-gnu': 0.35.0 15484 - '@oxfmt/binding-linux-x64-musl': 0.35.0 15485 - '@oxfmt/binding-openharmony-arm64': 0.35.0 15486 - '@oxfmt/binding-win32-arm64-msvc': 0.35.0 15487 - '@oxfmt/binding-win32-ia32-msvc': 0.35.0 15488 - '@oxfmt/binding-win32-x64-msvc': 0.35.0 15686 + '@oxfmt/binding-android-arm-eabi': 0.36.0 15687 + '@oxfmt/binding-android-arm64': 0.36.0 15688 + '@oxfmt/binding-darwin-arm64': 0.36.0 15689 + '@oxfmt/binding-darwin-x64': 0.36.0 15690 + '@oxfmt/binding-freebsd-x64': 0.36.0 15691 + '@oxfmt/binding-linux-arm-gnueabihf': 0.36.0 15692 + '@oxfmt/binding-linux-arm-musleabihf': 0.36.0 15693 + '@oxfmt/binding-linux-arm64-gnu': 0.36.0 15694 + '@oxfmt/binding-linux-arm64-musl': 0.36.0 15695 + '@oxfmt/binding-linux-ppc64-gnu': 0.36.0 15696 + '@oxfmt/binding-linux-riscv64-gnu': 0.36.0 15697 + '@oxfmt/binding-linux-riscv64-musl': 0.36.0 15698 + '@oxfmt/binding-linux-s390x-gnu': 0.36.0 15699 + '@oxfmt/binding-linux-x64-gnu': 0.36.0 15700 + '@oxfmt/binding-linux-x64-musl': 0.36.0 15701 + '@oxfmt/binding-openharmony-arm64': 0.36.0 15702 + '@oxfmt/binding-win32-arm64-msvc': 0.36.0 15703 + '@oxfmt/binding-win32-ia32-msvc': 0.36.0 15704 + '@oxfmt/binding-win32-x64-msvc': 0.36.0 15489 15705 15490 15706 oxlint@1.50.0: 15491 15707 optionalDependencies: ··· 15929 16145 15930 16146 react-is@17.0.2: {} 15931 16147 16148 + react-markdown@10.1.0(@types/react@19.2.0)(react@19.2.0): 16149 + dependencies: 16150 + '@types/hast': 3.0.4 16151 + '@types/mdast': 4.0.4 16152 + '@types/react': 19.2.0 16153 + devlop: 1.1.0 16154 + hast-util-to-jsx-runtime: 2.3.6 16155 + html-url-attributes: 3.0.1 16156 + mdast-util-to-hast: 13.2.0 16157 + react: 19.2.0 16158 + remark-parse: 11.0.0 16159 + remark-rehype: 11.1.2 16160 + unified: 11.0.5 16161 + unist-util-visit: 5.0.0 16162 + vfile: 6.0.3 16163 + transitivePeerDependencies: 16164 + - supports-color 16165 + 15932 16166 react-reconciler@0.32.0(react@19.2.0): 15933 16167 dependencies: 15934 16168 react: 19.2.0 ··· 16132 16366 transitivePeerDependencies: 16133 16367 - supports-color 16134 16368 16369 + rehype-sanitize@6.0.0: 16370 + dependencies: 16371 + '@types/hast': 3.0.4 16372 + hast-util-sanitize: 5.0.2 16373 + 16135 16374 rehype-slug@6.0.0: 16136 16375 dependencies: 16137 16376 '@types/hast': 3.0.4 ··· 16145 16384 '@types/mdast': 4.0.4 16146 16385 mdast-util-frontmatter: 2.0.1 16147 16386 micromark-extension-frontmatter: 2.0.0 16387 + unified: 11.0.5 16388 + transitivePeerDependencies: 16389 + - supports-color 16390 + 16391 + remark-gfm@4.0.1: 16392 + dependencies: 16393 + '@types/mdast': 4.0.4 16394 + mdast-util-gfm: 3.1.0 16395 + micromark-extension-gfm: 3.0.0 16396 + remark-parse: 11.0.0 16397 + remark-stringify: 11.0.0 16148 16398 unified: 11.0.5 16149 16399 transitivePeerDependencies: 16150 16400 - supports-color ··· 16181 16431 mdast-util-to-hast: 13.2.0 16182 16432 unified: 11.0.5 16183 16433 vfile: 6.0.3 16434 + 16435 + remark-stringify@11.0.0: 16436 + dependencies: 16437 + '@types/mdast': 4.0.4 16438 + mdast-util-to-markdown: 2.1.2 16439 + unified: 11.0.5 16184 16440 16185 16441 remove-markdown@0.3.0: {} 16186 16442